66f731bffe2b780bec97f54dc5376aafd1c1837e
[bpt/coccinelle.git] / parsing_cocci / parser_cocci_menhir.ml
1
2 # 23 "parser_cocci_menhir.mly"
3
4
5 (* Not clear how to allow function declarations to specify a return type
6 and how to allow both to be specified as static, because they are in
7 different rules. The rules seem to have to be combined, which would allow
8 functions to be declared as local variables *)
9
10 (* Not clear how to let a function have a parameter of type void. At the
11 moment, void is allowed to be the type of a variable, which is wrong, and a
12 parameter needs both a type and an identifier *)
13 module Ast0 = Ast0_cocci
14 module Ast = Ast_cocci
15 module P = Parse_aux
16
17 # 18 "parser_cocci_menhir.ml"
18 exception Error
19
20 type token =
21 | Tvolatile of (
22 # 54 "parser_cocci_menhir.mly"
23 (Data.clt)
24 # 25 "parser_cocci_menhir.ml"
25 )
26 | Tvoid of (
27 # 50 "parser_cocci_menhir.mly"
28 (Data.clt)
29 # 30 "parser_cocci_menhir.ml"
30 )
31 | Tunsigned of (
32 # 51 "parser_cocci_menhir.mly"
33 (Data.clt)
34 # 35 "parser_cocci_menhir.ml"
35 )
36 | Tunion of (
37 # 50 "parser_cocci_menhir.mly"
38 (Data.clt)
39 # 40 "parser_cocci_menhir.ml"
40 )
41 | Ttypedef of (
42 # 53 "parser_cocci_menhir.mly"
43 (Data.clt)
44 # 45 "parser_cocci_menhir.ml"
45 )
46 | Tstruct of (
47 # 50 "parser_cocci_menhir.mly"
48 (Data.clt)
49 # 50 "parser_cocci_menhir.ml"
50 )
51 | Tstatic of (
52 # 53 "parser_cocci_menhir.mly"
53 (Data.clt)
54 # 55 "parser_cocci_menhir.ml"
55 )
56 | Tsigned of (
57 # 51 "parser_cocci_menhir.mly"
58 (Data.clt)
59 # 60 "parser_cocci_menhir.ml"
60 )
61 | Tshort of (
62 # 49 "parser_cocci_menhir.mly"
63 (Data.clt)
64 # 65 "parser_cocci_menhir.ml"
65 )
66 | Tregister of (
67 # 53 "parser_cocci_menhir.mly"
68 (Data.clt)
69 # 70 "parser_cocci_menhir.ml"
70 )
71 | Tlong of (
72 # 49 "parser_cocci_menhir.mly"
73 (Data.clt)
74 # 75 "parser_cocci_menhir.ml"
75 )
76 | Tlist
77 | Tint of (
78 # 49 "parser_cocci_menhir.mly"
79 (Data.clt)
80 # 81 "parser_cocci_menhir.ml"
81 )
82 | Tinline of (
83 # 53 "parser_cocci_menhir.mly"
84 (Data.clt)
85 # 86 "parser_cocci_menhir.ml"
86 )
87 | Tfloat of (
88 # 49 "parser_cocci_menhir.mly"
89 (Data.clt)
90 # 91 "parser_cocci_menhir.ml"
91 )
92 | Textern of (
93 # 53 "parser_cocci_menhir.mly"
94 (Data.clt)
95 # 96 "parser_cocci_menhir.ml"
96 )
97 | Tenum of (
98 # 50 "parser_cocci_menhir.mly"
99 (Data.clt)
100 # 101 "parser_cocci_menhir.ml"
101 )
102 | Tdouble of (
103 # 49 "parser_cocci_menhir.mly"
104 (Data.clt)
105 # 106 "parser_cocci_menhir.ml"
106 )
107 | Tconst of (
108 # 54 "parser_cocci_menhir.mly"
109 (Data.clt)
110 # 111 "parser_cocci_menhir.ml"
111 )
112 | Tchar of (
113 # 49 "parser_cocci_menhir.mly"
114 (Data.clt)
115 # 116 "parser_cocci_menhir.ml"
116 )
117 | Tauto of (
118 # 53 "parser_cocci_menhir.mly"
119 (Data.clt)
120 # 121 "parser_cocci_menhir.ml"
121 )
122 | Tattr of (
123 # 55 "parser_cocci_menhir.mly"
124 (string * Data.clt)
125 # 126 "parser_cocci_menhir.ml"
126 )
127 | TXor of (
128 # 92 "parser_cocci_menhir.mly"
129 (Data.clt)
130 # 131 "parser_cocci_menhir.ml"
131 )
132 | TWords
133 | TWhy0
134 | TWhy of (
135 # 76 "parser_cocci_menhir.mly"
136 (Data.clt)
137 # 138 "parser_cocci_menhir.ml"
138 )
139 | TWhile of (
140 # 57 "parser_cocci_menhir.mly"
141 (Data.clt)
142 # 143 "parser_cocci_menhir.ml"
143 )
144 | TWhenTrue of (
145 # 74 "parser_cocci_menhir.mly"
146 (Data.clt)
147 # 148 "parser_cocci_menhir.ml"
148 )
149 | TWhenFalse of (
150 # 74 "parser_cocci_menhir.mly"
151 (Data.clt)
152 # 153 "parser_cocci_menhir.ml"
153 )
154 | TWhen of (
155 # 74 "parser_cocci_menhir.mly"
156 (Data.clt)
157 # 158 "parser_cocci_menhir.ml"
158 )
159 | TUsing
160 | TTypedef
161 | TTypeId of (
162 # 59 "parser_cocci_menhir.mly"
163 (string * Data.clt)
164 # 165 "parser_cocci_menhir.ml"
165 )
166 | TType
167 | TTilde of (
168 # 99 "parser_cocci_menhir.mly"
169 (Data.clt)
170 # 171 "parser_cocci_menhir.ml"
171 )
172 | TSwitch of (
173 # 57 "parser_cocci_menhir.mly"
174 (Data.clt)
175 # 176 "parser_cocci_menhir.ml"
176 )
177 | TString of (
178 # 87 "parser_cocci_menhir.mly"
179 (string * Data.clt)
180 # 181 "parser_cocci_menhir.ml"
181 )
182 | TStrict of (
183 # 74 "parser_cocci_menhir.mly"
184 (Data.clt)
185 # 186 "parser_cocci_menhir.ml"
186 )
187 | TStatement
188 | TSizeof of (
189 # 58 "parser_cocci_menhir.mly"
190 (Data.clt)
191 # 192 "parser_cocci_menhir.ml"
192 )
193 | TShOp of (
194 # 96 "parser_cocci_menhir.mly"
195 (Ast_cocci.arithOp * Data.clt)
196 # 197 "parser_cocci_menhir.ml"
197 )
198 | TScriptData of (
199 # 71 "parser_cocci_menhir.mly"
200 (string)
201 # 202 "parser_cocci_menhir.ml"
202 )
203 | TScript
204 | TRuleName of (
205 # 47 "parser_cocci_menhir.mly"
206 (string)
207 # 208 "parser_cocci_menhir.ml"
208 )
209 | TRightIso
210 | TReverse
211 | TReturn of (
212 # 57 "parser_cocci_menhir.mly"
213 (Data.clt)
214 # 215 "parser_cocci_menhir.ml"
215 )
216 | TPure
217 | TPtrOp of (
218 # 104 "parser_cocci_menhir.mly"
219 (Data.clt)
220 # 221 "parser_cocci_menhir.ml"
221 )
222 | TPtVirg of (
223 # 107 "parser_cocci_menhir.mly"
224 (Data.clt)
225 # 226 "parser_cocci_menhir.ml"
226 )
227 | TPragma of (
228 # 59 "parser_cocci_menhir.mly"
229 (string * Data.clt)
230 # 231 "parser_cocci_menhir.ml"
231 )
232 | TPosition
233 | TPosAny
234 | TPlusFile of (
235 # 83 "parser_cocci_menhir.mly"
236 (string * Data.clt)
237 # 238 "parser_cocci_menhir.ml"
238 )
239 | TPlus0
240 | TPlus of (
241 # 98 "parser_cocci_menhir.mly"
242 (Data.clt)
243 # 244 "parser_cocci_menhir.ml"
244 )
245 | TPathIsoFile of (
246 # 79 "parser_cocci_menhir.mly"
247 (string)
248 # 249 "parser_cocci_menhir.ml"
249 )
250 | TParameter
251 | TPOEllipsis of (
252 # 73 "parser_cocci_menhir.mly"
253 (Data.clt)
254 # 255 "parser_cocci_menhir.ml"
255 )
256 | TPCEllipsis of (
257 # 73 "parser_cocci_menhir.mly"
258 (Data.clt)
259 # 260 "parser_cocci_menhir.ml"
260 )
261 | TPArob
262 | TOrLog of (
263 # 89 "parser_cocci_menhir.mly"
264 (Data.clt)
265 # 266 "parser_cocci_menhir.ml"
266 )
267 | TOr of (
268 # 91 "parser_cocci_menhir.mly"
269 (Data.clt)
270 # 271 "parser_cocci_menhir.ml"
271 )
272 | TOn
273 | TOPar0 of (
274 # 76 "parser_cocci_menhir.mly"
275 (Data.clt)
276 # 277 "parser_cocci_menhir.ml"
277 )
278 | TOPar of (
279 # 76 "parser_cocci_menhir.mly"
280 (Data.clt)
281 # 282 "parser_cocci_menhir.ml"
282 )
283 | TOInit of (
284 # 101 "parser_cocci_menhir.mly"
285 (Data.clt)
286 # 287 "parser_cocci_menhir.ml"
287 )
288 | TOEllipsis of (
289 # 73 "parser_cocci_menhir.mly"
290 (Data.clt)
291 # 292 "parser_cocci_menhir.ml"
292 )
293 | TOCro of (
294 # 102 "parser_cocci_menhir.mly"
295 (Data.clt)
296 # 297 "parser_cocci_menhir.ml"
297 )
298 | TOBrace of (
299 # 101 "parser_cocci_menhir.mly"
300 (Data.clt)
301 # 302 "parser_cocci_menhir.ml"
302 )
303 | TNothing
304 | TNotEq of (
305 # 94 "parser_cocci_menhir.mly"
306 (Data.clt)
307 # 308 "parser_cocci_menhir.ml"
308 )
309 | TNever
310 | TName
311 | TMul of (
312 # 99 "parser_cocci_menhir.mly"
313 (Data.clt)
314 # 315 "parser_cocci_menhir.ml"
315 )
316 | TMinusFile of (
317 # 83 "parser_cocci_menhir.mly"
318 (string * Data.clt)
319 # 320 "parser_cocci_menhir.ml"
320 )
321 | TMinus of (
322 # 98 "parser_cocci_menhir.mly"
323 (Data.clt)
324 # 325 "parser_cocci_menhir.ml"
325 )
326 | TMid0 of (
327 # 77 "parser_cocci_menhir.mly"
328 (Data.clt)
329 # 330 "parser_cocci_menhir.ml"
330 )
331 | TMetaType of (
332 # 64 "parser_cocci_menhir.mly"
333 (Parse_aux.info)
334 # 335 "parser_cocci_menhir.ml"
335 )
336 | TMetaStmList of (
337 # 64 "parser_cocci_menhir.mly"
338 (Parse_aux.info)
339 # 340 "parser_cocci_menhir.ml"
340 )
341 | TMetaStm of (
342 # 64 "parser_cocci_menhir.mly"
343 (Parse_aux.info)
344 # 345 "parser_cocci_menhir.ml"
345 )
346 | TMetaPos of (
347 # 68 "parser_cocci_menhir.mly"
348 (Parse_aux.pos_info)
349 # 350 "parser_cocci_menhir.ml"
350 )
351 | TMetaParamList of (
352 # 66 "parser_cocci_menhir.mly"
353 (Parse_aux.list_info)
354 # 355 "parser_cocci_menhir.ml"
355 )
356 | TMetaParam of (
357 # 64 "parser_cocci_menhir.mly"
358 (Parse_aux.info)
359 # 360 "parser_cocci_menhir.ml"
360 )
361 | TMetaLocalIdExp of (
362 # 67 "parser_cocci_menhir.mly"
363 (Parse_aux.typed_info)
364 # 365 "parser_cocci_menhir.ml"
365 )
366 | TMetaLocalFunc of (
367 # 61 "parser_cocci_menhir.mly"
368 (Parse_aux.idinfo)
369 # 370 "parser_cocci_menhir.ml"
370 )
371 | TMetaIterator of (
372 # 62 "parser_cocci_menhir.mly"
373 (Parse_aux.idinfo)
374 # 375 "parser_cocci_menhir.ml"
375 )
376 | TMetaInit of (
377 # 65 "parser_cocci_menhir.mly"
378 (Parse_aux.info)
379 # 380 "parser_cocci_menhir.ml"
380 )
381 | TMetaIdExp of (
382 # 67 "parser_cocci_menhir.mly"
383 (Parse_aux.typed_info)
384 # 385 "parser_cocci_menhir.ml"
385 )
386 | TMetaId of (
387 # 61 "parser_cocci_menhir.mly"
388 (Parse_aux.idinfo)
389 # 390 "parser_cocci_menhir.ml"
390 )
391 | TMetaFunc of (
392 # 61 "parser_cocci_menhir.mly"
393 (Parse_aux.idinfo)
394 # 395 "parser_cocci_menhir.ml"
395 )
396 | TMetaExpList of (
397 # 66 "parser_cocci_menhir.mly"
398 (Parse_aux.list_info)
399 # 400 "parser_cocci_menhir.ml"
400 )
401 | TMetaExp of (
402 # 67 "parser_cocci_menhir.mly"
403 (Parse_aux.typed_info)
404 # 405 "parser_cocci_menhir.ml"
405 )
406 | TMetaErr of (
407 # 63 "parser_cocci_menhir.mly"
408 (Parse_aux.expinfo)
409 # 410 "parser_cocci_menhir.ml"
410 )
411 | TMetaDeclarer of (
412 # 62 "parser_cocci_menhir.mly"
413 (Parse_aux.idinfo)
414 # 415 "parser_cocci_menhir.ml"
415 )
416 | TMetaConst of (
417 # 67 "parser_cocci_menhir.mly"
418 (Parse_aux.typed_info)
419 # 420 "parser_cocci_menhir.ml"
420 )
421 | TMPtVirg
422 | TLogOp of (
423 # 95 "parser_cocci_menhir.mly"
424 (Ast_cocci.logicalOp * Data.clt)
425 # 426 "parser_cocci_menhir.ml"
426 )
427 | TLocal
428 | TLineEnd of (
429 # 74 "parser_cocci_menhir.mly"
430 (Data.clt)
431 # 432 "parser_cocci_menhir.ml"
432 )
433 | TIteratorId of (
434 # 59 "parser_cocci_menhir.mly"
435 (string * Data.clt)
436 # 437 "parser_cocci_menhir.ml"
437 )
438 | TIterator
439 | TIsoType
440 | TIsoTopLevel
441 | TIsoTestExpression
442 | TIsoStatement
443 | TIsoExpression
444 | TIsoDeclaration
445 | TIsoArgExpression
446 | TIso
447 | TInvalid
448 | TInt of (
449 # 87 "parser_cocci_menhir.mly"
450 (string * Data.clt)
451 # 452 "parser_cocci_menhir.ml"
452 )
453 | TInitialize
454 | TInitialiser
455 | TIncludeNL of (
456 # 80 "parser_cocci_menhir.mly"
457 (string * Data.clt)
458 # 459 "parser_cocci_menhir.ml"
459 )
460 | TIncludeL of (
461 # 80 "parser_cocci_menhir.mly"
462 (string * Data.clt)
463 # 464 "parser_cocci_menhir.ml"
464 )
465 | TInc of (
466 # 85 "parser_cocci_menhir.mly"
467 (Data.clt)
468 # 469 "parser_cocci_menhir.ml"
469 )
470 | TIf of (
471 # 57 "parser_cocci_menhir.mly"
472 (Data.clt)
473 # 474 "parser_cocci_menhir.ml"
474 )
475 | TIdentifier
476 | TIdent of (
477 # 59 "parser_cocci_menhir.mly"
478 (string * Data.clt)
479 # 480 "parser_cocci_menhir.ml"
480 )
481 | TIdExpression
482 | TGoto of (
483 # 58 "parser_cocci_menhir.mly"
484 (Data.clt)
485 # 486 "parser_cocci_menhir.ml"
486 )
487 | TGenerated
488 | TFunction
489 | TFunDecl of (
490 # 58 "parser_cocci_menhir.mly"
491 (Data.clt)
492 # 493 "parser_cocci_menhir.ml"
493 )
494 | TFresh
495 | TForall
496 | TFor of (
497 # 57 "parser_cocci_menhir.mly"
498 (Data.clt)
499 # 500 "parser_cocci_menhir.ml"
500 )
501 | TFloat of (
502 # 87 "parser_cocci_menhir.mly"
503 (string * Data.clt)
504 # 505 "parser_cocci_menhir.ml"
505 )
506 | TFinalize
507 | TExtends
508 | TExpression
509 | TExists
510 | TEver
511 | TError
512 | TEqEq of (
513 # 94 "parser_cocci_menhir.mly"
514 (Data.clt)
515 # 516 "parser_cocci_menhir.ml"
516 )
517 | TEq of (
518 # 107 "parser_cocci_menhir.mly"
519 (Data.clt)
520 # 521 "parser_cocci_menhir.ml"
521 )
522 | TElse of (
523 # 57 "parser_cocci_menhir.mly"
524 (Data.clt)
525 # 526 "parser_cocci_menhir.ml"
526 )
527 | TEllipsis of (
528 # 73 "parser_cocci_menhir.mly"
529 (Data.clt)
530 # 531 "parser_cocci_menhir.ml"
531 )
532 | TDotDot of (
533 # 76 "parser_cocci_menhir.mly"
534 (Data.clt)
535 # 536 "parser_cocci_menhir.ml"
536 )
537 | TDot of (
538 # 107 "parser_cocci_menhir.mly"
539 (Data.clt)
540 # 541 "parser_cocci_menhir.ml"
541 )
542 | TDo of (
543 # 57 "parser_cocci_menhir.mly"
544 (Data.clt)
545 # 546 "parser_cocci_menhir.ml"
546 )
547 | TDmOp of (
548 # 97 "parser_cocci_menhir.mly"
549 (Ast_cocci.arithOp * Data.clt)
550 # 551 "parser_cocci_menhir.ml"
551 )
552 | TDisable
553 | TDepends
554 | TDefineParam of (
555 # 82 "parser_cocci_menhir.mly"
556 (Data.clt * token * int)
557 # 558 "parser_cocci_menhir.ml"
558 )
559 | TDefine of (
560 # 81 "parser_cocci_menhir.mly"
561 (Data.clt * token)
562 # 563 "parser_cocci_menhir.ml"
563 )
564 | TDefault of (
565 # 57 "parser_cocci_menhir.mly"
566 (Data.clt)
567 # 568 "parser_cocci_menhir.ml"
568 )
569 | TDeclarerId of (
570 # 59 "parser_cocci_menhir.mly"
571 (string * Data.clt)
572 # 573 "parser_cocci_menhir.ml"
573 )
574 | TDeclarer
575 | TDec of (
576 # 85 "parser_cocci_menhir.mly"
577 (Data.clt)
578 # 579 "parser_cocci_menhir.ml"
579 )
580 | TContinue of (
581 # 58 "parser_cocci_menhir.mly"
582 (Data.clt)
583 # 584 "parser_cocci_menhir.ml"
584 )
585 | TContext
586 | TConstant
587 | TComma of (
588 # 107 "parser_cocci_menhir.mly"
589 (Data.clt)
590 # 591 "parser_cocci_menhir.ml"
591 )
592 | TChar of (
593 # 87 "parser_cocci_menhir.mly"
594 (string * Data.clt)
595 # 596 "parser_cocci_menhir.ml"
596 )
597 | TCase of (
598 # 57 "parser_cocci_menhir.mly"
599 (Data.clt)
600 # 601 "parser_cocci_menhir.ml"
601 )
602 | TCPar0 of (
603 # 77 "parser_cocci_menhir.mly"
604 (Data.clt)
605 # 606 "parser_cocci_menhir.ml"
606 )
607 | TCPar of (
608 # 77 "parser_cocci_menhir.mly"
609 (Data.clt)
610 # 611 "parser_cocci_menhir.ml"
611 )
612 | TCEllipsis of (
613 # 73 "parser_cocci_menhir.mly"
614 (Data.clt)
615 # 616 "parser_cocci_menhir.ml"
616 )
617 | TCCro of (
618 # 102 "parser_cocci_menhir.mly"
619 (Data.clt)
620 # 621 "parser_cocci_menhir.ml"
621 )
622 | TCBrace of (
623 # 101 "parser_cocci_menhir.mly"
624 (Data.clt)
625 # 626 "parser_cocci_menhir.ml"
626 )
627 | TBreak of (
628 # 58 "parser_cocci_menhir.mly"
629 (Data.clt)
630 # 631 "parser_cocci_menhir.ml"
631 )
632 | TBang0
633 | TBang of (
634 # 76 "parser_cocci_menhir.mly"
635 (Data.clt)
636 # 637 "parser_cocci_menhir.ml"
637 )
638 | TAssign of (
639 # 108 "parser_cocci_menhir.mly"
640 (Ast_cocci.assignOp * Data.clt)
641 # 642 "parser_cocci_menhir.ml"
642 )
643 | TArobArob
644 | TArob
645 | TAny of (
646 # 74 "parser_cocci_menhir.mly"
647 (Data.clt)
648 # 649 "parser_cocci_menhir.ml"
649 )
650 | TAndLog of (
651 # 90 "parser_cocci_menhir.mly"
652 (Data.clt)
653 # 654 "parser_cocci_menhir.ml"
654 )
655 | TAnd of (
656 # 93 "parser_cocci_menhir.mly"
657 (Data.clt)
658 # 659 "parser_cocci_menhir.ml"
659 )
660 | EOF
661
662 and _menhir_jeton = token
663
664 let _eRR =
665 Error
666
667 module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
668
669 exception Error = Error
670
671 type token = _menhir_jeton
672
673 let token2terminal : token -> int =
674 fun _tok ->
675 match _tok with
676 | EOF ->
677 172
678 | TAnd _ ->
679 171
680 | TAndLog _ ->
681 170
682 | TAny _ ->
683 169
684 | TArob ->
685 168
686 | TArobArob ->
687 167
688 | TAssign _ ->
689 166
690 | TBang _ ->
691 165
692 | TBang0 ->
693 164
694 | TBreak _ ->
695 163
696 | TCBrace _ ->
697 162
698 | TCCro _ ->
699 161
700 | TCEllipsis _ ->
701 160
702 | TCPar _ ->
703 159
704 | TCPar0 _ ->
705 158
706 | TCase _ ->
707 157
708 | TChar _ ->
709 156
710 | TComma _ ->
711 155
712 | TConstant ->
713 154
714 | TContext ->
715 153
716 | TContinue _ ->
717 152
718 | TDec _ ->
719 151
720 | TDeclarer ->
721 150
722 | TDeclarerId _ ->
723 149
724 | TDefault _ ->
725 148
726 | TDefine _ ->
727 147
728 | TDefineParam _ ->
729 146
730 | TDepends ->
731 145
732 | TDisable ->
733 144
734 | TDmOp _ ->
735 143
736 | TDo _ ->
737 142
738 | TDot _ ->
739 141
740 | TDotDot _ ->
741 140
742 | TEllipsis _ ->
743 139
744 | TElse _ ->
745 138
746 | TEq _ ->
747 137
748 | TEqEq _ ->
749 136
750 | TError ->
751 135
752 | TEver ->
753 134
754 | TExists ->
755 133
756 | TExpression ->
757 132
758 | TExtends ->
759 131
760 | TFinalize ->
761 130
762 | TFloat _ ->
763 129
764 | TFor _ ->
765 128
766 | TForall ->
767 127
768 | TFresh ->
769 126
770 | TFunDecl _ ->
771 125
772 | TFunction ->
773 124
774 | TGenerated ->
775 123
776 | TGoto _ ->
777 122
778 | TIdExpression ->
779 121
780 | TIdent _ ->
781 120
782 | TIdentifier ->
783 119
784 | TIf _ ->
785 118
786 | TInc _ ->
787 117
788 | TIncludeL _ ->
789 116
790 | TIncludeNL _ ->
791 115
792 | TInitialiser ->
793 114
794 | TInitialize ->
795 113
796 | TInt _ ->
797 112
798 | TInvalid ->
799 111
800 | TIso ->
801 110
802 | TIsoArgExpression ->
803 109
804 | TIsoDeclaration ->
805 108
806 | TIsoExpression ->
807 107
808 | TIsoStatement ->
809 106
810 | TIsoTestExpression ->
811 105
812 | TIsoTopLevel ->
813 104
814 | TIsoType ->
815 103
816 | TIterator ->
817 102
818 | TIteratorId _ ->
819 101
820 | TLineEnd _ ->
821 100
822 | TLocal ->
823 99
824 | TLogOp _ ->
825 98
826 | TMPtVirg ->
827 97
828 | TMetaConst _ ->
829 96
830 | TMetaDeclarer _ ->
831 95
832 | TMetaErr _ ->
833 94
834 | TMetaExp _ ->
835 93
836 | TMetaExpList _ ->
837 92
838 | TMetaFunc _ ->
839 91
840 | TMetaId _ ->
841 90
842 | TMetaIdExp _ ->
843 89
844 | TMetaInit _ ->
845 88
846 | TMetaIterator _ ->
847 87
848 | TMetaLocalFunc _ ->
849 86
850 | TMetaLocalIdExp _ ->
851 85
852 | TMetaParam _ ->
853 84
854 | TMetaParamList _ ->
855 83
856 | TMetaPos _ ->
857 82
858 | TMetaStm _ ->
859 81
860 | TMetaStmList _ ->
861 80
862 | TMetaType _ ->
863 79
864 | TMid0 _ ->
865 78
866 | TMinus _ ->
867 77
868 | TMinusFile _ ->
869 76
870 | TMul _ ->
871 75
872 | TName ->
873 74
874 | TNever ->
875 73
876 | TNotEq _ ->
877 72
878 | TNothing ->
879 71
880 | TOBrace _ ->
881 70
882 | TOCro _ ->
883 69
884 | TOEllipsis _ ->
885 68
886 | TOInit _ ->
887 67
888 | TOPar _ ->
889 66
890 | TOPar0 _ ->
891 65
892 | TOn ->
893 64
894 | TOr _ ->
895 63
896 | TOrLog _ ->
897 62
898 | TPArob ->
899 61
900 | TPCEllipsis _ ->
901 60
902 | TPOEllipsis _ ->
903 59
904 | TParameter ->
905 58
906 | TPathIsoFile _ ->
907 57
908 | TPlus _ ->
909 56
910 | TPlus0 ->
911 55
912 | TPlusFile _ ->
913 54
914 | TPosAny ->
915 53
916 | TPosition ->
917 52
918 | TPragma _ ->
919 51
920 | TPtVirg _ ->
921 50
922 | TPtrOp _ ->
923 49
924 | TPure ->
925 48
926 | TReturn _ ->
927 47
928 | TReverse ->
929 46
930 | TRightIso ->
931 45
932 | TRuleName _ ->
933 44
934 | TScript ->
935 43
936 | TScriptData _ ->
937 42
938 | TShOp _ ->
939 41
940 | TSizeof _ ->
941 40
942 | TStatement ->
943 39
944 | TStrict _ ->
945 38
946 | TString _ ->
947 37
948 | TSwitch _ ->
949 36
950 | TTilde _ ->
951 35
952 | TType ->
953 34
954 | TTypeId _ ->
955 33
956 | TTypedef ->
957 32
958 | TUsing ->
959 31
960 | TWhen _ ->
961 30
962 | TWhenFalse _ ->
963 29
964 | TWhenTrue _ ->
965 28
966 | TWhile _ ->
967 27
968 | TWhy _ ->
969 26
970 | TWhy0 ->
971 25
972 | TWords ->
973 24
974 | TXor _ ->
975 23
976 | Tattr _ ->
977 22
978 | Tauto _ ->
979 21
980 | Tchar _ ->
981 20
982 | Tconst _ ->
983 19
984 | Tdouble _ ->
985 18
986 | Tenum _ ->
987 17
988 | Textern _ ->
989 16
990 | Tfloat _ ->
991 15
992 | Tinline _ ->
993 14
994 | Tint _ ->
995 13
996 | Tlist ->
997 12
998 | Tlong _ ->
999 11
1000 | Tregister _ ->
1001 10
1002 | Tshort _ ->
1003 9
1004 | Tsigned _ ->
1005 8
1006 | Tstatic _ ->
1007 7
1008 | Tstruct _ ->
1009 6
1010 | Ttypedef _ ->
1011 5
1012 | Tunion _ ->
1013 4
1014 | Tunsigned _ ->
1015 3
1016 | Tvoid _ ->
1017 2
1018 | Tvolatile _ ->
1019 1
1020
1021 let error_terminal =
1022 0
1023
1024 let token2value : token -> Obj.t =
1025 fun _tok ->
1026 match _tok with
1027 | EOF ->
1028 Obj.repr ()
1029 | TAnd _v ->
1030 Obj.repr _v
1031 | TAndLog _v ->
1032 Obj.repr _v
1033 | TAny _v ->
1034 Obj.repr _v
1035 | TArob ->
1036 Obj.repr ()
1037 | TArobArob ->
1038 Obj.repr ()
1039 | TAssign _v ->
1040 Obj.repr _v
1041 | TBang _v ->
1042 Obj.repr _v
1043 | TBang0 ->
1044 Obj.repr ()
1045 | TBreak _v ->
1046 Obj.repr _v
1047 | TCBrace _v ->
1048 Obj.repr _v
1049 | TCCro _v ->
1050 Obj.repr _v
1051 | TCEllipsis _v ->
1052 Obj.repr _v
1053 | TCPar _v ->
1054 Obj.repr _v
1055 | TCPar0 _v ->
1056 Obj.repr _v
1057 | TCase _v ->
1058 Obj.repr _v
1059 | TChar _v ->
1060 Obj.repr _v
1061 | TComma _v ->
1062 Obj.repr _v
1063 | TConstant ->
1064 Obj.repr ()
1065 | TContext ->
1066 Obj.repr ()
1067 | TContinue _v ->
1068 Obj.repr _v
1069 | TDec _v ->
1070 Obj.repr _v
1071 | TDeclarer ->
1072 Obj.repr ()
1073 | TDeclarerId _v ->
1074 Obj.repr _v
1075 | TDefault _v ->
1076 Obj.repr _v
1077 | TDefine _v ->
1078 Obj.repr _v
1079 | TDefineParam _v ->
1080 Obj.repr _v
1081 | TDepends ->
1082 Obj.repr ()
1083 | TDisable ->
1084 Obj.repr ()
1085 | TDmOp _v ->
1086 Obj.repr _v
1087 | TDo _v ->
1088 Obj.repr _v
1089 | TDot _v ->
1090 Obj.repr _v
1091 | TDotDot _v ->
1092 Obj.repr _v
1093 | TEllipsis _v ->
1094 Obj.repr _v
1095 | TElse _v ->
1096 Obj.repr _v
1097 | TEq _v ->
1098 Obj.repr _v
1099 | TEqEq _v ->
1100 Obj.repr _v
1101 | TError ->
1102 Obj.repr ()
1103 | TEver ->
1104 Obj.repr ()
1105 | TExists ->
1106 Obj.repr ()
1107 | TExpression ->
1108 Obj.repr ()
1109 | TExtends ->
1110 Obj.repr ()
1111 | TFinalize ->
1112 Obj.repr ()
1113 | TFloat _v ->
1114 Obj.repr _v
1115 | TFor _v ->
1116 Obj.repr _v
1117 | TForall ->
1118 Obj.repr ()
1119 | TFresh ->
1120 Obj.repr ()
1121 | TFunDecl _v ->
1122 Obj.repr _v
1123 | TFunction ->
1124 Obj.repr ()
1125 | TGenerated ->
1126 Obj.repr ()
1127 | TGoto _v ->
1128 Obj.repr _v
1129 | TIdExpression ->
1130 Obj.repr ()
1131 | TIdent _v ->
1132 Obj.repr _v
1133 | TIdentifier ->
1134 Obj.repr ()
1135 | TIf _v ->
1136 Obj.repr _v
1137 | TInc _v ->
1138 Obj.repr _v
1139 | TIncludeL _v ->
1140 Obj.repr _v
1141 | TIncludeNL _v ->
1142 Obj.repr _v
1143 | TInitialiser ->
1144 Obj.repr ()
1145 | TInitialize ->
1146 Obj.repr ()
1147 | TInt _v ->
1148 Obj.repr _v
1149 | TInvalid ->
1150 Obj.repr ()
1151 | TIso ->
1152 Obj.repr ()
1153 | TIsoArgExpression ->
1154 Obj.repr ()
1155 | TIsoDeclaration ->
1156 Obj.repr ()
1157 | TIsoExpression ->
1158 Obj.repr ()
1159 | TIsoStatement ->
1160 Obj.repr ()
1161 | TIsoTestExpression ->
1162 Obj.repr ()
1163 | TIsoTopLevel ->
1164 Obj.repr ()
1165 | TIsoType ->
1166 Obj.repr ()
1167 | TIterator ->
1168 Obj.repr ()
1169 | TIteratorId _v ->
1170 Obj.repr _v
1171 | TLineEnd _v ->
1172 Obj.repr _v
1173 | TLocal ->
1174 Obj.repr ()
1175 | TLogOp _v ->
1176 Obj.repr _v
1177 | TMPtVirg ->
1178 Obj.repr ()
1179 | TMetaConst _v ->
1180 Obj.repr _v
1181 | TMetaDeclarer _v ->
1182 Obj.repr _v
1183 | TMetaErr _v ->
1184 Obj.repr _v
1185 | TMetaExp _v ->
1186 Obj.repr _v
1187 | TMetaExpList _v ->
1188 Obj.repr _v
1189 | TMetaFunc _v ->
1190 Obj.repr _v
1191 | TMetaId _v ->
1192 Obj.repr _v
1193 | TMetaIdExp _v ->
1194 Obj.repr _v
1195 | TMetaInit _v ->
1196 Obj.repr _v
1197 | TMetaIterator _v ->
1198 Obj.repr _v
1199 | TMetaLocalFunc _v ->
1200 Obj.repr _v
1201 | TMetaLocalIdExp _v ->
1202 Obj.repr _v
1203 | TMetaParam _v ->
1204 Obj.repr _v
1205 | TMetaParamList _v ->
1206 Obj.repr _v
1207 | TMetaPos _v ->
1208 Obj.repr _v
1209 | TMetaStm _v ->
1210 Obj.repr _v
1211 | TMetaStmList _v ->
1212 Obj.repr _v
1213 | TMetaType _v ->
1214 Obj.repr _v
1215 | TMid0 _v ->
1216 Obj.repr _v
1217 | TMinus _v ->
1218 Obj.repr _v
1219 | TMinusFile _v ->
1220 Obj.repr _v
1221 | TMul _v ->
1222 Obj.repr _v
1223 | TName ->
1224 Obj.repr ()
1225 | TNever ->
1226 Obj.repr ()
1227 | TNotEq _v ->
1228 Obj.repr _v
1229 | TNothing ->
1230 Obj.repr ()
1231 | TOBrace _v ->
1232 Obj.repr _v
1233 | TOCro _v ->
1234 Obj.repr _v
1235 | TOEllipsis _v ->
1236 Obj.repr _v
1237 | TOInit _v ->
1238 Obj.repr _v
1239 | TOPar _v ->
1240 Obj.repr _v
1241 | TOPar0 _v ->
1242 Obj.repr _v
1243 | TOn ->
1244 Obj.repr ()
1245 | TOr _v ->
1246 Obj.repr _v
1247 | TOrLog _v ->
1248 Obj.repr _v
1249 | TPArob ->
1250 Obj.repr ()
1251 | TPCEllipsis _v ->
1252 Obj.repr _v
1253 | TPOEllipsis _v ->
1254 Obj.repr _v
1255 | TParameter ->
1256 Obj.repr ()
1257 | TPathIsoFile _v ->
1258 Obj.repr _v
1259 | TPlus _v ->
1260 Obj.repr _v
1261 | TPlus0 ->
1262 Obj.repr ()
1263 | TPlusFile _v ->
1264 Obj.repr _v
1265 | TPosAny ->
1266 Obj.repr ()
1267 | TPosition ->
1268 Obj.repr ()
1269 | TPragma _v ->
1270 Obj.repr _v
1271 | TPtVirg _v ->
1272 Obj.repr _v
1273 | TPtrOp _v ->
1274 Obj.repr _v
1275 | TPure ->
1276 Obj.repr ()
1277 | TReturn _v ->
1278 Obj.repr _v
1279 | TReverse ->
1280 Obj.repr ()
1281 | TRightIso ->
1282 Obj.repr ()
1283 | TRuleName _v ->
1284 Obj.repr _v
1285 | TScript ->
1286 Obj.repr ()
1287 | TScriptData _v ->
1288 Obj.repr _v
1289 | TShOp _v ->
1290 Obj.repr _v
1291 | TSizeof _v ->
1292 Obj.repr _v
1293 | TStatement ->
1294 Obj.repr ()
1295 | TStrict _v ->
1296 Obj.repr _v
1297 | TString _v ->
1298 Obj.repr _v
1299 | TSwitch _v ->
1300 Obj.repr _v
1301 | TTilde _v ->
1302 Obj.repr _v
1303 | TType ->
1304 Obj.repr ()
1305 | TTypeId _v ->
1306 Obj.repr _v
1307 | TTypedef ->
1308 Obj.repr ()
1309 | TUsing ->
1310 Obj.repr ()
1311 | TWhen _v ->
1312 Obj.repr _v
1313 | TWhenFalse _v ->
1314 Obj.repr _v
1315 | TWhenTrue _v ->
1316 Obj.repr _v
1317 | TWhile _v ->
1318 Obj.repr _v
1319 | TWhy _v ->
1320 Obj.repr _v
1321 | TWhy0 ->
1322 Obj.repr ()
1323 | TWords ->
1324 Obj.repr ()
1325 | TXor _v ->
1326 Obj.repr _v
1327 | Tattr _v ->
1328 Obj.repr _v
1329 | Tauto _v ->
1330 Obj.repr _v
1331 | Tchar _v ->
1332 Obj.repr _v
1333 | Tconst _v ->
1334 Obj.repr _v
1335 | Tdouble _v ->
1336 Obj.repr _v
1337 | Tenum _v ->
1338 Obj.repr _v
1339 | Textern _v ->
1340 Obj.repr _v
1341 | Tfloat _v ->
1342 Obj.repr _v
1343 | Tinline _v ->
1344 Obj.repr _v
1345 | Tint _v ->
1346 Obj.repr _v
1347 | Tlist ->
1348 Obj.repr ()
1349 | Tlong _v ->
1350 Obj.repr _v
1351 | Tregister _v ->
1352 Obj.repr _v
1353 | Tshort _v ->
1354 Obj.repr _v
1355 | Tsigned _v ->
1356 Obj.repr _v
1357 | Tstatic _v ->
1358 Obj.repr _v
1359 | Tstruct _v ->
1360 Obj.repr _v
1361 | Ttypedef _v ->
1362 Obj.repr _v
1363 | Tunion _v ->
1364 Obj.repr _v
1365 | Tunsigned _v ->
1366 Obj.repr _v
1367 | Tvoid _v ->
1368 Obj.repr _v
1369 | Tvolatile _v ->
1370 Obj.repr _v
1371
1372 let default_reduction =
1373 (16, "\000\000\000\000\0015\0016\000\000\0018\0017\000\001\000\000\001q\000\000\000\000\000\137\000\000\000\000\001\237\000\143\000\000\001\025\000\000\001$\001\028\001\022\001.\002\226\002\225\000\000\001\026\000\000\001%\001\029\001\023\001/\001\027\000\000\001&\001\030\001 \000\000\0012\002\134\0011\001'\001\031\000\136\001\024\001-\000\000\000\000\001,\000\000\000\000\000\000\000\000\000\000\001c\000\241\002\216\000\000\000\000\000\000\000\000\000\000\002\221\000\000\001)\000\000\002\223\000\000\000\000\000\000\003\029\002P\000\000\003\027\000\000\002j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\026\003\028\002V\001\013\002U\001\011\001\012\002T\002S\002R\002N\000\000\000\000\002O\000\214\000\000\002Q\000\000\003\025\000\000\000c\001\n\0021\000\000\000\000\0024\000\000\000\015\000\000\000\000\000\000\000\000\000\215\002M\002Y\000[\000\021\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\000\000\000\023\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\131\002\018\000R\000\224\000^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\\\000T\000\000\000S\001\021\000\000\000\000\000\141\000\225\000\000\0027\000\226\000\014\000\016\000\000\000\000\000\144\000\000\000\142\000\000\000\000\000\229\000\000\000\000\0022\0025\000\000\0023\0026\003\000\003\001\002\255\000\000\002W\002\254\000\000\002q\000\000\000\000\002p\002o\002n\002m\002l\002h\000\000\000\000\002i\000\000\002k\000\000\000\000\000g\002?\000\000\000\000\002B\000\000\000\000\002E\000\000\000\000\002@\002C\000\000\002A\002D\002s\002g\003\014\003\015\003\013\003\012\000h\000\000\000\000\000W\000\000\000V\000\236\000\000\001\229\000\000\000\000\000\000\000\000\000\000\000\219\001\235\000\000\000\000\001\137\000U\0001\000\212\000_\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\000\000\0003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002X\000\000\000\145\000\000\000\000\001\213\000\000\001\127\001\194\000\000\000\000\001\212\000\000\001}\001\193\000\000\000\000\000d\000\000\002r\000\000\000\000\003\017\003\016\000\000\001\230\000\000\000\000\003\003\003\002\000\000\000Q\000\151\000\000\001e\000\000\002\219\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\249\000\155\000\000\000\000\000n\000o\001\248\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\166\001\218\000\000\000\152\000\161\000\000\001\220\000\000\000\000\000\000\000\000\000\153\000\167\000\000\001k\000\000\000\000\002\218\000\000\000\000\000\139\000\000\000\000\002\217\000\000\000\000\000\000\002\220\002\224\000\000\000\000\000\000\001*\000\000\000\223\000\000\001+\000\000\000\000\001N\000\000\001M\000\000\001[\000\000\001s\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\000\148\000\000\000\000\000\000\000\000\000\150\000\000\000\146\000\000\002\252\000\000\000\195\002\251\000\000\000\000\000\149\000\000\000\147\002\212\002\214\002\215\002\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002w\000\000\000\000\000\000\000\000\002~\000\000\000\000\002}\002|\002{\002z\002y\001J\002u\000\000\000\000\002v\000\000\002x\000\000\000\000\000i\002F\000\000\000\000\002I\000\000\000\000\002L\000\000\000\000\002G\002J\000\000\002H\002K\002\128\002t\003\021\003\022\003\020\003\019\000j\000\000\000\000\000Z\000\000\000Y\000\000\002\127\000\000\001\195\000X\000?\000\235\000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\135\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\024\003\023\000\000\002\203\000\000\002\202\000\000\000\000\000\000\000\000\003$\000\000\000\000\000\000\003%\000\000\000\018\000\000\000\000\000\000\003 \000\000\001\139\000\000\000\000\000\000\000\168\002\193\001a\000\000\000\157\001`\001:\0019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\207\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\216\000\217\000\201\000\000\001o\000\000\000\000\000\200\000\196\000\000\000\203\000\197\000\202\000\000\002\205\000\000\002\204\002\190\000\000\000\000\000\000\000\000\000\000\002\199\000\000\000\000\000\000\000\000\000\000\002\200\002\192\000\000\002\206\000\000\002\194\000\000\000\172\000\000\002\209\000\156\000\000\001<\000\000\000\000\000\000\000\000\000\000\000\000\001\018\000\000\000w\000\000\000\000\000\000\002]\000\000\000\000\000\000\002e\000\000\000\000\002d\000\000\003\n\002c\002b\002a\002`\002_\002[\000\000\000\000\002\\\000\000\002^\000\000\000\000\000\000\000\000\000\000\000e\0028\000\000\000\000\002;\000\000\000\000\002>\000\000\000\000\0029\002<\000\000\002:\002=\002f\002Z\000f\003\007\003\008\003\006\003\005\003\t\000\000\000\000\000\000\000\000\000\211\000\210\000\000\000\000\000\000\000\000\001@\000\000\000\221\001=\000\000\000\209\001C\000\000\000\000\001D\000\000\000\000\001E\000\000\001m\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\000\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\001B\000\000\000\000\001H\000\000\000\000\000\000\000\000\000\000\000\000\000t\000q\000r\001I\001?\000\000\001>\000\000\000\188\000\000\002\169\000\000\000\000\000\184\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\191\000\000\000\000\000\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\016\000\000\000\000\000\000\000\181\000\000\000\178\000\000\000\000\000\000\000\000\000\000\000\189\000\000\000\185\000\000\000\000\002\230\000\000\002\237\000\174\000\000\000\000\000\000\000\000\000\186\000\000\000\182\000\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\190\000\000\000\000\000\193\000\000\002\231\000\173\000\000\002\232\000\000\002\239\000\000\000\000\000\000\000\000\000\192\000\000\000\176\000\000\000\000\000\000\000\000\001\015\000\000\000\000\000\000\000\180\000\000\000\177\000\000\000\000\000\000\000\000\000\000\000\187\000\000\000\183\000\170\000\169\000\000\002\240\002\241\000\000\002\242\000\000\002\243\000\000\001;\002\197\000\000\000\000\001\217\000\000\001\135\001\199\000\000\002\191\000\000\000\000\000\000\002\196\000\000\000\000\000\000\001\003\000\000\000\253\000\000\000\254\000\000\001\008\000\252\001\007\000\000\002\208\001\t\000\000\000\175\000\000\000\000\000\000\000\000\001\005\001\000\001\214\000\000\001\001\000\000\001\002\000\000\001\129\001\196\000\000\000\000\000\000\001\225\000\000\001\223\000\000\000\000\001\227\001\221\000\000\001\228\001\222\000\000\002\210\001\231\000\000\000\171\000\000\000\000\001\215\000\000\001\131\001\197\000\000\003!\000\000\003\030\000\000\003\031\000\019\000\020\000\000\000\000\002\151\000\000\002\150\000\000\000\000\002\153\000\000\002\152\000\000\000\000\000\000\002\002\000\000\000\000\002\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\t\000\000\000\000\002\012\000\000\000\000\001\252\000\000\000\000\001\255\000\000\000\000\000\000\002\003\000\000\000\000\002\007\000\000\000\000\001\216\000\000\000\000\002\000\000\000\000\000\002\004\002\148\001\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\008\000\000\000\000\002\011\000\000\002\149\000\000\000\000\000\000\000\000\002\n\000\000\001\250\000\000\001\251\000\000\000\000\001\254\000\000\000\000\000\000\002\001\000\000\000\000\002\005\000\000\001\133\001\198\000\000\002\154\000\000\000\000\000\000\003\"\000\017\000u\000\000\003#\000\000\000\000\002\165\000\000\000\000\002\211\000a\000\000\000\000\000\000\000b\000\000\002\201\000\000\001g\002\198\000\000\000\000\001T\000\000\001S\000\000\001\\\000\000\001y\000\000\000\000\000\000\001R\000\000\001Q\000\000\001Y\000\000\001w\000\000\000\000\000\000\001V\000\000\001U\000\000\001Z\000\000\001{\000\000\000\000\000\000\001W\000\000\000\000\000\000\000\000\001P\000\000\001O\000\000\001]\000\000\001u\000\000\000\000\000\000\001X\000\002\000\000\000N\000O\000\000\000\000\002\137\002\139\000\000\000\000\001\162\002\140\002\138\000\129\000\000\000\000\002\189\000\000\000\000\002\146\002\135\002\136\000\000\001\174\000M\001^\000\003\000\000\000\000\002\131\000\000\002\016\000\000\000\128\000\000\000\000\002\187\000\000\000\000\000\000\000z\000\000\000\000\002\175\000\000\001\245\001\244\001\157\002\144\000\000\001\190\000\000\002\132\000\000\000\000\000|\000\000\000\000\002\179\000\000\001\171\000\000\000\000\001\167\000\000\000\000\000\000\001\170\000\000\001\169\000\000\000\000\000\000\000\000\000\000\000\000\001\191\000\000\001\165\000\000\001\164\000\000\000v\000\000\000\000\002\167\000\000\000\000\001\161\000\000\000\000\000~\000\000\000\000\002\183\000\000\000\000\000\000\000{\000\000\000\000\002\177\000\000\001\241\001\240\001\153\002\142\000\000\001\177\000\000\000\000\000\000\001\173\000\000\001\179\000\000\000\000\001\168\000\000\000\000\001\175\000\000\000\000\001\176\000\000\000\000\000\000\000\000\000\000\000\000\001\192\000\000\001\166\000}\000\000\000\000\002\181\000\000\000\000\000\000\0014\000y\0013\000\000\000\000\002\173\000\000\001\239\001\238\001\151\002\141\000\000\000\127\000\000\000\000\002\185\000\000\000\000\000\000\000\000\001\243\001\242\001\155\002\143\000\000\001\184\000\000\001\188\000\000\000\000\001\180\000\000\000\000\000\000\001\172\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\001\187\001\160\000\000\001\186\000\000\000\000\000\000\000\000\001\183\000\000\000\000\001\182\000\000\001\181\000\000\000\000\000\000\000\000\001\185\000\000\001\189\000\000\000\000\001_\000\004\000\000\001\163\000\005\000\000\000\000\000\239\000\006\000\000\001\203\001\204\001\202\000\000\000\000\000\000\000\000\000\000\000\000\000x\000\000\000\000\002\171\000\000\000\230\001\201\001\145\002\227\001\147\000\000\000\007\000\000\001\206\001\207\001\205\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000\243\000\000\000\000\000\000\000\000\000\248\000\250\000\249\000\244\000\246\000\245\000\000\000\000\000\000\000\000\000\000\002\233\002\246\000\000\002\234\000\000\002\235\000\000\000\000\002\228\000\000\000\000\000\000\000\000\002\245\000\000\000\000\002\244\001\211\001\210\000\000\000\000\001\149\000\000\001\200\001\208\000\000\000\000\000\000\000\000\001\247\000\000\000\000\000l\000m\000\000\000\000\000\000\001\246\000\000\000\164\000\000\001i\000\000\000\000\000\163\000\159\000\000\000\000\000\000\000\000\001\014\000\000\000\000\002\249\000\000\002\250\000\000\000\000\001\234\001\232\000\000\001\233\000\008\000\000\000\t\000\000\002!\002\"\002 \000\000\000\000\002\031\000\000\000\n\000\000\002$\002%\002#\000\000\002'\000\000\000\000\000\000\002\025\000\000\000\000\002\027\000\000\002\021\000\000\002\023\000\000\002\028\000\000\002\029\002\022\002\020\002(\001\159\000\000\002\030\000\000\002*\000\000\002)\000\000\002+\000\000\002\147\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002,\000\000\000\000\002/\000\000\002.\000\000\002-\000\204\000\000\000\000\000\000\000\000\000\205\0020\000\000\000\000\002\158\000\000\000\000\000\000\002\159\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\000\002\163\000k\000\000\000\000\000\213\000\000\000\000\000\233\000\232\000\231\000\000\001L\000\000\002\157\001\143\001\141\000\000\000\000\000\000\002\160\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\156\000\000\000\000\000\000\000\000\000\000\000\000\002\155\000\000\000\013\000\000\000\000\000\000\000\000\000\000\002\161")
1374
1375 let error =
1376 (173, "\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\000\000\000\000\000\000\000\000\245\170\240\000\128\016\000\000\128\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\1280\128\000\016\204\008\192 \008\002\000\004\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\244p\001\000a\000\001!\152\017\128@\016\004 \008\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002u\012\000@\024@\000Hf\004`\016\004\001\008\002\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000_\163\128\008\003\008\000\t\012\192\140\002\000\128!\000@\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\019\168`\002\000\194\000\002C0#\000\128 \008@\016\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000N\161\128\008\003\008\000\t\012\192\140\002\000\128!\000@\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\016\002\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\002U\012\000@\024@\000Lf\004`\016\004\001\008\002\000\000&C\023\173W\128\004\000\128\000\004\016\016\000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\000\000\000\000\016\008\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\000\128\000\128H\008\192 \000\002\016\004\000\000L\006 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\144\002\000\000\016@@\000\000\000\000 \000\000\000\000\008\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\004\000\128\000\004\016\016\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\016\000\000\000@\000\000\000\000\000\001\235U\224\001\000 \000\001\004\004\000\000\000\000\002\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\016\002\000\000\016@@\000\000\000\000 \000\004\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000 \000\008\128\000\000\000\000\000R\000\002A\160P\025\218\000\002\018\001\000@\004!\016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\128\008@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128\000\002\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n@\000H4\n\003;@\000B@ \000\000\132\002\008\000\000\000\000R\000\002A\160P\025\218\000\002\018\001\000@\004 \016@\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\002\000!\000\130z\213x\000T\136\000\144h\021\006v\128\000\132\128@\016\001\008\004\019\214\171\192\002\164@\004\131@\1683\180\000\004$\002\000\128\008@ \128\000\000\000\005 \000$\026\005\001\157\160\000! \016\000\000B\001\004\245\170\240\000\169\016\001 \208*\012\237\000\001\t\000\128 \002\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\002\000!\000\130\000\000\000\000\020\128\000\144h\020\006v\128\000\132\128@\016\001\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128 \002\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n@\000H4\n\003;@\000B@ \008\000\132\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\002\000!\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\136\1936Y,\000\000P\004\008\000\003\186\002'\135p\000\000\000\000\000\000\000\000\000\000\002\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\001R \002A\160T\025\250\000\002\018\001\000@\004$\016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000@ \131\000\150\000\000(\000\000\000\001\217\000\019C\184\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\128\008@ \128\000\000H\000\017\008&\194%\128\000\n\000\128\000\000v@\004\240\238\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128 \002\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\017\008&\194%\128\000\n\000\128\000\000f@\004\240n\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128 \002\016\008 \000\000\018\000\004B\t\176\137`\000\002\128 \000\000\025\144\001<\027\128\000\000\000\n@\000H4\n\003;@\000B@ \008\000\132\002\008\000\000\004\128\001\016\130l\"X\000\000\160\008\000\000\006d\000O\006\224\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\002\000!\000\130\000\000\001 \000D \155\008\150\000\000(\002\000\000\001\153\000\019\193\184\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\128\008@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128 \002\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n@\000H4\n\003;@\000B@ \008\000\132\002\008\000\000\004\128\001\016\130l\"X\000\000\160\008\000\000\006d\000O\006\224\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\002\000!\000\130\000\000\001 \000D \155\008\150\000\000(\002\000\000\001\153\000\019\193\184\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\128\008@ \128\000\000H\000\017\008&\194%\128\000\n\000\128\000\000f@\004\240n\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128 \002\016\008 \000\000\018\000\004B\t\176\137`\000\002\128 \000\000\025\144\001<\027\128\000\000\000\n@\000H4\n\003;@\000B@ \008\000\132\002\008\000\000\004\128\001\016\130l\"X\000\000\160\008\000\000\006d\000O\006\224\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\003\000!\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\128\008@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\002\000!\000\130\000\000\001 \000D \155\008\150\000\000(\002\000\000\001\153\000\019\193\184\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\128\008@ \128\000\000H\000\017\008&\194%\128\000\n\000\128\000\000f@\004\240n\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128 \002\016\008 \000\000\018\000\004B\t\176\137`\000\002\128 \000\000\025\144\001<\027\128\000\000\000\n@\000H4\n\003;@\000B@ \008\000\132\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\000\144h\020\006v\128\000\132\128@\016\001\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000@\024\000\000\008d\000\000\000\004\001\000\002\000\000&@\016\018\168`\002\000\194\000\002C0#\000\128 \008@\016\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\173V\128\004\000\128\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\004\001\132\000\000\134@F\001\000@\016\000 \000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\030\181^\000\021\"\000$\026\005A\159\160\000! \016\004\000B\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\t\006\129@gh\000\008H\004\001\000\016\128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\001H\000\t\006\129@gh\000\008H\004\000\000\016\128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128\000\002\016\008 \000\000\000\001H\000\t\006\129@gh\000\008H\004\001\000\016\128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\002A\160P\025\218\000\002\018\001\000\000\004 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\000\144h\020\006v\128\000\132\128@\000\001\008\004\016\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\000\008@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\004D\008\178I@\000\002\000 @\000\013P\017\012#\128\000\000\000\000\000\000\000\000\000\000\016\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\n\145\000\018\013\002\160\207\208\000\016\144\008\002\000! \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000$\026\005\001\157\160\000! \016\004\000B\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000D\000\139\000\148\000\000 \002\000\000\000\209\000\016\1948\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\128\008@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128 \002\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\016\000\000\128\000\000\000\000\016\164\000\004\131@\1603\180\000\004$\002\000\000\008@ \128\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128 \002\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\000\000!\000\130\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\016\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\001\016\002,\002P\000\000\128\008\000\000\002D\000C\000\224\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\000\000!\000\130\000\000\001 \000D\000\139\000\148\000\000 \002\000\000\000\145\000\016\1928\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\000\008@ \128\000\000H\000\017\000\"\192%\000\000\008\000\128\000\000$@\0040\014\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128\000\002\016\008 \000\000\018\000\004@\008\176\t@\000\002\000 \000\000\t\016\001\012\003\128\000\000\000\n@\000H4\n\003;@\000B@ \000\000\132\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\000\000!\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\000\008@ \128\000\000H\000\017\000\"\192%\000\000\008\000\128\000\000$@\0040\014\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128\000\002\016\008 \000\000\018\000\004@\008\176\t@\000\002\000 \000\000\t\016\001\012\003\128\000\000\000\n@\000H4\n\003;@\000B@ \000\000\132\002\008\000\000\004\128\001\016\002,\002P\000\000\128\008\000\000\002D\000C\000\224\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\000\000!\000\130\000\000\001 \000D\000\139\000\148\000\000 \002\000\000\000\145\000\016\1928\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\000\008@ \128\000\000H\000\017\000\"\192%\000\000\008\000\128\000\000$@\0040\014\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\1280\002\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\n@\000H4\n\003;@\000B@ \000\000\132\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\000\000!\000\130\000\000\001 \000D\000\139\000\148\000\000 \002\000\000\000\145\000\016\1928\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\000\008@ \128\000\000H\000\017\000\"\192%\000\000\008\000\128\000\000$@\0040\014\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128\000\002\016\008 \000\000\018\000\004@\008\176\t@\000\002\000 \000\000\t\016\001\012\003\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\005 \000$\026\005\001\157\160\000! \016\004\000B\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000@\000z\213x\000@\008\000\000@\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000R\000\002A\160P\025\218\000\002\018\001\000@\004 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\021\"\000$\026\005A\157\160\000! \016\004\000B\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000T\136\000\144h\021\006v\128\000\132\128@\016\001\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\128\000\000\000\000\000\000\000\008\000\002 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\000@\000@$\004`\016\000\001\008\002\000\000&\003\016\018(`\000\000\002\000\002\000 #\000\128\000\008@\016\000\0010\024\128\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\016\002\000\000\016\000F\000\000\000\000\000\000\004\000\000@\000\000\000\000\000\000\000\000\000@ \000\000\000\000\000\000\000\000\000\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\015Z\175\000\008\001\000\000\008\000#\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000@\000\000\000\000\128\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\008\001\000\000\008\000#\000\000\000\000\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\003\214\171\192\002\000@\000\002\000\008\192\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\008\000\000\000\001\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000\128\016\000\000\128\0020\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\004\000\128\000\004\016\016\000\000\000\000\008\000\000\000\000\002\000=j\188\000 \004\000\000 \128\128\000\000\000\000@\000\008\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\181Z\000\016\002\000\000\000\000@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%P\192\004\001\132\000\004\198`F\001\000@\016\128 \000\002d1z\213x\000@\008\000\000A\001\000\000\000\000\000\128\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000@\000\000\000\000\000\000\001z\213x\000@\008\000\000@\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\016\002\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\\\137\000\128c\021\199w\132\001\158\160\192\0025\136\020\016\t\0200\000\000\000\000\001\000\128\017\128\000\000\004 \000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000\128\016\000\000\128\0020\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\008\001\000\000\008\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\002\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\168\016\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\004\000\128\000\004\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\235U\160\001\000 \000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\000\144h\020\006v\128\000\132\128@\016\001\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\004\007 @ \024\133\017\221\161\000g\1680\000\140b\005\004\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\t\006\129@gh\000\008H\004\001\000\016\128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\003\255\175\224\130\228H\004\131P\174;\188 \012\245\006\000\145\236a\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\001\000\192(\012\237\000\003\t\000\128\000\002\016\008 \000\000\000\001H\000\008\006\001@gh\000\024H\004\000\000\016\128A=j\188\000*D\000H4\n\131;@\000B@ \008\000\132\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\164\000\004\003\000\1603\180\000\012$\002\000\000\008@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\004\003\000\1603\180\000\012$\002\000\000\008@ \128\000\000\000\005 \000$\026\005\001\157\160\000! \016\004\000B\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\008\006\001@gh\000\024H\004\000\000\016\128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\002\001\128P\025\218\000\006\018\001\000\000\004 \016@\000\000\000\002\144\000\016\012\002\128\206\208\0000\144\008\000\000!\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\017\024&\203%\128\000\n\000\129\000\000u@@\160\238\000\000\000\000\000\000\000\000\000\000\000@\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000*D\000H4\n\131?@\000B@ \008\000\132\130\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\000\144h\020\006v\128\000\132\128@\016\001\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\001\016\130l\"X\000\000\160\008\000\000\007D\000\n\014\224\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\002\000!\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\128\008@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\136A6\017,\000\000P\004\000\000\003\"\000\005\003p\000\000\000\001H\000\008\006\001@gh\000\024H\004\000\000\016\128A\000\000\000\144\000\"\016M\132K\000\000\020\001\000\000\000\200\128\001@\220\000\000\000\000R\000\002\001\128P\025\218\000\006\018\001\000\000\004 \016@\000\000$\000\008\132\019a\018\192\000\005\000@\000\0002 \000P7\000\000\000\000\020\128\000\128`\020\006v\128\001\132\128@\000\001\008\004\016\000\000\t\000\002!\004\216D\176\000\001@\016\000\000\012\136\000\020\013\192\000\000\000\005 \000 \024\005\001\157\160\000a \016\000\000B\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\008\006\001@gh\000\024H\004\000\000\016\128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\002\001\128P\025\218\000\006\018\001\000\000\004 \016@\000\000$\000\008\132\019a\018\192\000\005\000@\000\0002 \000P7\000\000\000\000\020\128\000\128`\020\006v\128\001\132\128@\000\001\008\004\016\000\000\t\000\002!\004\216D\176\000\001@\016\000\000\012\136\000\020\013\192\000\000\000\005 \000 \024\005\001\157\160\000a \016\000\000B\001\004\000\000\002@\000\136A6\017,\000\000P\004\000\000\003\"\000\005\003p\000\000\000\001H\000\008\006\001@gh\000\024H\004\000\000\016\128A\000\000\000\144\000\"\016M\132K\000\000\020\001\000\000\000\200\128\001@\220\000\000\000\000R\000\002\001\128P\025\218\000\006\018\001\000\000\004 \016@\000\000$\000\008\132\019a\018\192\000\005\000@\000\0002 \000P7\000\000\000\000\020\128\000\144h\020\006v\128\000\132\128@\024\001\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\005 \000 \024\005\001\157\160\000a \016\000\000B\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\008\006\001@gh\000\024H\004\000\000\016\128A\000\000\000\144\000\"\016M\132K\000\000\020\001\000\000\000\200\128\001@\220\000\000\000\000R\000\002\001\128P\025\218\000\006\018\001\000\000\004 \016@\000\000$\000\008\132\019a\018\192\000\005\000@\000\0002 \000P7\000\000\000\000\020\128\000\128`\020\006v\128\001\132\128@\000\001\008\004\016\000\000\t\000\002!\004\216D\176\000\001@\016\000\000\012\136\000\020\013\222\181^\000\021\"\000$\026\005A\157\160\000! \016\004\000B\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\130A\160P\025\218\000\002\018\001\000@\004 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\007\151\"@ \024\197q\221\225\000g\1680\000\141b\005\004\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\t\006\129@gh\000\008H\004\001\000\016\128A\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\000\144h\020\006v\128\000\132\128@\016\001\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\001\000\000\000\000\000\000\002\008\128\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\008.D\128@1\n\227\187\194\000\207P`\001\026\196\n\t\255\215\240Ar$\002A\168_\029\222\016\006z\131\000H\214(PO\254\191\131\203\145 \016\012b\184\238\240\1283\212\024\000F\177\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\191\240\242\228H\004\003\024\190;\188`\012\245&\008\017\236q\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 \185\018\001\000\198+\142\239\008\003=A\128\004k\016('\255_\193\005\200\144\t\006\161|wx@\025\234\012\001#X\161A?\250\254\008.D\128H5\n\227\187\194\000\207P`\t\026\196\026\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\000\002#\004\217d\176\000\001@\016 \000\014\232\008\148\029\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\002\000!\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\128\228\008\004\003\016\162;\180 \012\245\006\000\017\140@\160\128\000\000\004\007 @ \024\133\017\221\161\000g\1680\000\140b\005\004\000\000\000\000\000\000\000\000\000\000\000@\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\004\018\013\002\128\206\208\000\016\144\008\002\000!\000\130\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\001\004\131@\1603\180\000\004$\002\000\128\008@ \128\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128 \002\018\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\008\014@\128@1\n#\187B\000\207P`\001\024\196\n\008\000\000\000@r\004\002\001\136Q\029\218\016\006z\131\000\008\198 P@\000\000\000\000\000\000\000\000\000\000\004\000\000\000\016\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\004\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\128\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\002A\160P\025\218\000\002\018\001\000@\004 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\016\024 \201%\128\000\008\000\001\000\0003@D\128\140\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\005H\128\t\006\129Pg\232\000\008H\004\001\000\016\144A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000@r\004\002\001\136Q\029\218\016\006z\131\000\008\198 P@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\008.D\128H5\n\227\187\194\000\207P`\t\026\196\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\254\255\195\203\145 \016\012b\248\238\241\1283\212\152 G\177\198\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\004\000\128\000\004\000\016\000\000\000\000\008\000\000\000\000\000\000\000\145C\000\000\000\000\000\016\008\001\024\000\000\000B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\008\001\000\000\008\000#\000\000\000\000\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000 \000\008\000\000\000\000\000\000R\000\002A\168P\027\218\000\002\018\001\000@\004 \016@\000\000\000\002\144\000\016\012\194\128\206\208\0000\144\008\n\128!\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\004\003\000\1603\180\000\012$\002\000\000\008@ \128\000\000\000\005 \000$\026\005\001\157\160\000! \016\004\000B\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000*D\000H4\n\131;@\000B@ \008\000\132\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\000\128`\020\006v\128\001\132\128@\000\001\008\004\016\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\128\008@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\001\000\192(\012\237\000\003\t\000\128\000\002\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n@\000@0\n\003;@\000\194@ \000\000\132\002\008\000\000\000\000R\000\002\001\128P\025\218\000\006\018\001\000\000\004 \016OZ\175\000\n\145\000\018\013\002\160\206\208\000\016\144\008\002\000!\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\164\000\004\003\000\1603\180\000\012$\002\000\000\008@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\004\004\0082I@\000\002\000\000@\000\008P\017\000\003\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\n\145\000\018\013\002\160\207\208\000\016\144\008\002\000! \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000$\026\005\001\157\160\000! \016\004\000B\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\128\008@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\016\000\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128 \002\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000\016\012\194\128\206\208\0000\144\008\n\128!\004\130\000\000\000\002\020\128\000\128f\020\006v\128\001\132\128@T\001\008$\016\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000$\026\133\001\189\160\000! \016\004\000B\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000)\000\001\000\204(\012\237\000\003\t\000\128\136\002\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000R\000\002\001\152P\025\218\000\006\018\001\001\016\004 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000D\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\128\001\006\001(\000\000@\000\000\000\001\002\000 \000`\000\000\000\001H\000\008\006\001@gh\000\024H\004\000\000\016\128A\000\000\000\128\000 \000A\128J\000\000\016\000\000\000\000@\128\008\000\024\000\000\000\000R\000\002\001\128P\025\218\000\006\018\001\000\000\004 \016@\000\000 \000\008\000\016`\018\128\000\004\000\000\000\000\016 \002\000\006\000\000\000\000\020\128\000\128`\020\006v\128\001\132\128@\000\001\008\004\016\000\000\008\000\002\000\004\024\004\160\000\001\000\000\000\000\004\008\000\128\001\128\000\000\000\005 \000 \024\005\001\157\160\000a \016\000\000B\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\008\006\001@gh\000\024H\004\000\000\016\128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\002\001\128P\025\218\000\006\018\001\000\000\004 \016@\000\000 \000\008\000\016`\018\128\000\004\000\000\000\000\016 \002\000\006\000\000\000\000\020\128\000\128`\020\006v\128\001\132\128@\000\001\008\004\016\000\000\008\000\002\000\004\024\004\160\000\001\000\000\000\000\004\008\000\128\001\128\000\000\000\005 \000 \024\005\001\157\160\000a \016\000\000B\001\004\000\000\002\000\000\128\001\006\001(\000\000@\000\000\000\001\002\000 \000`\000\000\000\001H\000\008\006\001@gh\000\024H\004\000\000\016\128A\000\000\000\128\000 \000A\128J\000\000\016\000\000\000\000@\128\008\000\024\000\000\000\000R\000\002\001\128P\025\218\000\006\018\001\000\000\004 \016@\000\000 \000\008\000\016`\018\128\000\004\000\000\000\000\016 \002\000\006\000\000\000\000\020\128\000\128`\020\006v\128\001\132\128@\000\001\008\004\016\000\000\008\000\002\000\004\024\004\160\000\001\000\000\000\000\004\008\000\128\001\128\000\000\000\005 \000 \024\005\001\157\160\000a \016\000\000B\001\004\000\000\002\000\000\128\001\006\001(\000\000@\000\000\000\001\002\000 \000`\000\000\000\001H\000\008\006\001@gh\000\024H\004\000\000\016\128A\000\000\000\128\000 \000A\128J\000\000\016\000\000\000\000@\128\008\000\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\005 \000 \025\133\001\157\160\000a \016\021\000B\t\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\008\006a@gh\000\024H\004\005@\016\130A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000R\000\002\001\152P\025\218\000\006\018\001\001P\004 \144@\000\000\000\002\144\000\016\012\194\128\206\208\0000\144\008\008\128!\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\164\000\004\0030\1603\180\000\012$\002\002\160\008A \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000 \004\000\000 \000\140\000\000\000\000\000\000\008\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\004\131P\1607\180\000\004$\002\000\128\008@ \128\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000#\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\016\000\018\000\000\000\000\000\000\000\000 \000\008\000\000\000\000\000\000\000\000\128\000\144\000\000\000\000\000\000\000\001\000\000@\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000@\008\000\000@\001\024\000\000\000\000\000\000\016\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\004\000\001\000\000\000\000\000\000\n@\000H5\n\003{@\000B@ \008\000\132\002\008\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\181Z\000\016\002\000\000\000\000@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\004\000\001\000\000\000\000\000\000\n@\000H5\n\003{@\000B@ \008\000\132\002\008\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\023\"@ \024\197q\221\227\000g\1680\000\141b\005\004\000\000\000\000\000\000\000 \016\000\000\000\016\000\000\000\002 \000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\008.D\128@1\138\227\187\198\000\207P`\129\026\196\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000D`\155,\150\000 (\002\004\128\001\221\001\002\131\184\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\002\000\000\128\000\000\000\000\000\005 \000$\026\133\001\189\160\000! \016\004\000B\001\004\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000 \004\000\000 \000\140\000\000\000\000\000\000\008\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\004\131P\1607\180\000\004$\002\000\128\008@ \128\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\001\000\128\000\000\000\128\000\000\000\017\000\000\000\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\254\191\130\011\145 \018\013B\184\238\241\1283\212\024\"F\177\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\130\228H\004\003\024\174;\188`\012\245\006\008\017\172@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\005H\128\t\006\129Pg\232\000\008H\004\001\000\016\144A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\0020\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000\128\016\000\000\128\0020\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\008\000\002\000\000\000\000\000\000\020\128\000\144j\020\006\246\128\000\132\128@\016\001\008\004\016\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029j\180\000 \004\000\000\000\000\128\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\008\000\002\000\000\000\000\000\000\020\128\000\144j\020\006\246\128\000\132\128@\016\001\008\004\016\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\254\191\130\011\145 \018\013B\184\238\241\1283\212\024\"F\177\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\004\002\000\000\000\002\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\005\200\144\t\006\161\\wx\192\025\234\012\001#X\129A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\008\192 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\016\000\000\000\000\004\007 @ \024\133\017\221\161\000g\1680\000\140b\005\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\016\000\000\000\000\000\000\000\000\000\016\000\031\253\255\132\023#@&\026\133\241\221\227\000\231\1690L\143c\173f\000\000\000 9\002\001\000\196(\142\237\008\003=A\128\004c\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\008.D\128@1\139\227\187\194\000\207P`\001\030\199\026\008\000\000\000\000\000\000\000@ \000\000\000\000\000\000\000\000@\000\000\000\015\254\191\130\011\145 \016\012b\248\238\240\1283\212\024\000G\177\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 \185\018\001 \212/\142\239\008\003=A\128${\028h \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\008.D\128H5\011\227\187\194\000\207P`\t\030\199\026\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\008\000\015\254\191\130\011\145 \016\012b\248\238\240\1283\212\024\000F\177B\130\000\000\000\000\000\000\000\016\008\002\000\000\000\000\000\000\000\016\000\002\000\003\255\175\224\130\228H\004\003\024\190;\188 \012\245\006\000\017\172P\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\008\004\001\000\000\000\000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\254\191\130\011\145 \018\013B\248\238\240\1283\212\024\002F\177B\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000 #\000\000\000\008\000\000\000\000 \000\000\000\000\000\000\002\000\012\004\000\000\000\000\001\000\000\000\008\000\000@\005\255\215\240Ar$\002\001\140W\029\222\016\006z\131\000\008\214 P@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004 \024\008\000\000\000\000\002\000\000\000\016\000\000\128\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\023#@&\026\133q\221\225\000\231\1680\004\141b%\006\255\235\248 \185\018\001\000\198+\142\239\008\003=A\128\004k\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240Ar4\002a\168W\029\222\016\014z\131\000H\214\"P`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\008\000\015\254\191\130\011\145 \018\013B\248\238\240\1283\212\024\002F\177B\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128@ \000\000\000 \000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\\\137\000\144j\021\199w\140\001\158\160\192\0185\136\020\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\191_\192\005H\144\008\006\001Pgx\000\024H\004\000\000X\129A\000\000\000\000\n@\016H4\n\003;@\000B@ \008\000\132\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\223\175\224\002\164H\004\003\000\1683\188\000\012$\002\000\000,@\160\128\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\001\000 \000\001\000\004\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000$\026\133\001\189\160\000! \016\004\000B\001\004\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\016\002\000\000\016\000F\000\000\000\000\000\000\004\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\002A\168P\027\218\000\002\018\001\000@\004 \016@\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\128\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\t\006\161@oh\000\008H\004\001\000\016\128A\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007Z\173\000\008\001\000\000\000\000 \000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\001 \212(\013\237\000\001\t\000\128 \002\016\008 \000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\008\000\015~\191\128\n\145 \016\012\002\160\206\240\0000\144\008\000\000\177\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\000\002\003\004\025$\176\001\001\000\000$\000\006(\008\016\017\128\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\t\006\161@oh\000\008H\004\001\000\016\128A\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\001\000 \000\001\000\004`\000\000\000\000\000\000@\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000$\026\133\001\189\160\000! \016\004\000B\001\004\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000T\136\000\144h\021\006~\128\000\132\128@\016\001\t\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000#\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\000\144j\020\006\246\128\000\132\128@\016\001\008\004\016\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\170\208\000\128\016\000\000\000\002\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000\018\013B\128\222\208\000\016\144\008\002\000!\000\130\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000@\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000 \000\000\002\0020\000\000\000\128\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\002\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\001\004\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\023\"@ \024\197q\221\225\000g\1680\000\141b\005\004\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\002A\160P\025\218\000\002\018\001\000@\004 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\127\245\252\016\\\137\000\144j\021\199w\132\001\158\160\192\018=\1404\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000@\000\000\000\000\000\000\001\127\245\252\016\\\137\000\128c\021\199w\132\001\158\160\192\0025\136\020\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\023\"@ \024\197q\221\225\000g\1680\000\141b\005\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\000\144h\020\006v\128\000\132\128@\000\001\008\004\016\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000@\000\000\000\005 \000$\026\005\001\157\160\000! \016\000\000B\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\t\006\129@gh\000\008H\004\000\000\016\128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\007 @ \024\133\017\221\161\000g\1680\000\140b\005\004\000\000\000\000\000\008\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\016\000\000\001\001\200\016\008\006!Dwh@\025\234\012\000#\024\129A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@r\004\002\001\136Q\029\218\016\006z\131\000\008\198 P@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\t\006\129@gh\000\008H\004\000\000\016\128A\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000@\008\000\000@\001\000\001\000\000\000\128\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\255\235\248\000\128\016\000\000\128\002\000\002\000\000\001\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\000 \004\000\000 \000\128\000\128\000\000@\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128\000\002\016\008 \000\000\000\000\000@\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x@\225\008\137 B\001\000\000\018\000!J\t\000\002`\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\128\000\002\000\128\000\000\002\000\000\000\000\000\008\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\008\000\000\000 \000\000\128 \000\000\000\128\000\000\000\000\002\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000@\000\016\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\0008B\"\008\016\128@\000\004\128\008R\002@\000\152\000\000\245\170\240\001\194\016\000@\132\002\000\000$\000B\144\018\000\004\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\016\004\002\000\000\016\000\000\000\000\000@\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\004\001\000\000\000\004\000\000\000\000\000\016\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\128\000\000\002\000\000\008\002\000\000\000\008\000\000\000\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\004\000\000\000\000\000\000\001\000\000\000\000\000\000\000\004\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016 \000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\0008B \008\016\128@\000\004\128\008R\002@\000\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\014\016\128\002\004 \016\000\001 \002\020\128\144\000\"\000\000\000\004\000\000\016\004\000\000\000\016\000\000\000\000\000@\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\002\000\000\000\008\000\000 \008\000\000\000 \000\000\000\000\000\128\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\002\000\128\000\000\002\000\000\000\000\000\008\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\004\001\000\000\000\004\000\000\000\000\000\016\000 \000\000\000\000\000\008\000\000 \008\000\000\000 \000\000@\000\000\128\001\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\016\004\000\000\000\016\000\000\000\000\000@\000\128\000\000\000\000\000 \000\000\128 \000\000\016\128\000\001\000\000\002\000\004\000\000@\000\000\001\000\000\004\001\000\000\000\004\000\000\000\000\000\016\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000@\000\001\000@\000\000\001\000\000\000\000\000\004\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000@\008\000\000@\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\008\000\245\170\240\000\128\016\000\000\128\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000 \000\000\128 \000\000\016\192\000\000\000\000\002\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\000\000\000\000\000\000@\000\001\000@\000\000\001\000\000\000\000\000\004\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000 \000\000\000\128\000\002\000\128\000\000\002\000\000\000\000\000\008\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\001\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000C\000\000\004\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\002\000\128\000\000\002\000\000\000\000\000\008\000\016\000\000\000\000\000\004\000\000\016\004\000\000\000P\000\000 \000\000@\000\128\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\008\002\000\000\000\008\000\000\000\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\016\004\000\000\000\016\000\000\000\000\000@\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000 \008\000\000\000 \000\000\000\000\000\128\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000@\016\000\000\000`\000\000\000\000\001\000\002\000\000\000\000\000\000\128\000\002\000\128\000\000J\000\000\004\000\000\008\000\016\000\001\000\000\000\004\000\000\016\004\000\000\000\016\000\000\000\000\000@\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\001\000\000\004\001\000\000\000\004\000\000\000\000\000\016\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\008\000\000\000 \000\000\128 \000\000\000\128\000\000\000\000\002\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000@\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\004\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\128 \000\000\000\128\000\000\000\000\002\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\016\000\000\000@\000\001\000@\000\000\001\000\000\000\000\000\004\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\128\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\004\001\000\000\000\004\000\000\000\000\000\016\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\008\002\000\000\000\008\000\000\000\000\000 \000@\000\000\000\000\000\016\000\000@\016\000\000\001@\000\000\128\000\001\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\221x\000`\008\000\000B!\000\000\000\000\000\128\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000@\016\000\000\001`\000\000\128\000\001\000\002\000\000 \000\000\000\128\000\002\000\128\000\000\002\000\000\000\000\000\008\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\245\186\240\000\192\016\000\000\132b\000\000\000\000\001\000\002\000\000\000\000\000\000\128\000\002\000\128\000\000\002\000\000\000\000\000\008\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\004\001\000\000\000\004\000\000\000\000\000\016\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\002\000\128\000\000B\000\000\000\000\000\008\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000 \000\000\128 \000\000\000\128\000\000\000\000\002\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\008\028!\017$\008@ \000\002@\004)A \000L\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000$\026\007\001\157\160\000! \016\004\000B\001\004\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000$\026\005\001\157\160\000! \016\004\000B\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\003\016\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\000\000!\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\130\000\000\000\000\000\005 \000$\026\005\001\157\160\000! \016\000\000B\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\255\132\023\"@$\030\135q\221\225\000g\1690D\141b\005f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\\\137\000\144z\021\199w\132\001\158\164\193\0185\136\021\153\223\191p\002\000@\000\000\000\008\000\000\000\000\000 \000\000\000\000\000\000H\161\128\000\000\000\000\000\004\000\000\000\000\000\001\000\000\000\000\000\000w\239\220\000\128\016\000\000\000\002\000\000\000\000\000\008\000\000\000\000\000\003\191~\224\004\000\128\000\000\000\016\000\000\000\000\000@\000\000\000\000\000\000\145C\000\000\000\000\000\000\008\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\t\0200\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000H\161\128\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\002E\012\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\007\151\"@ \024\197q\221\225\000g\1680\000\141b\005\004\255\235\248 \185\018\001\000\198+\142\239\008\003=A\128\004k\016( \000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\008.D\128@1\138\227\187\194\000\207P`\129\026\196\n\204\000\000\000\000\000\000\000@ \000\000\000\000\000\000\000\004@\000\000\006 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\008\128\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 \185\018\001 \212+\142\239\008\003=A\130$k\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n@\000@3\n\003;@\000\194@ *\000\132\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\030\\\137\000\128c\021\199w\132\001\158\160\192\0025\136\020\019\255\175\224\130\228H\004\003\024\174;\188 \012\245\006\000\017\172@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\255\235\248 \185\018\001\000\198+\142\239\008\003=A\130\004k\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\015.D\128@1\138\227\187\194\000\207P`\001\026\196\n\t\255\215\240Ar$\002\001\140W\029\222\016\006z\131\000\008\214 P@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\253\255\128\016\002\000\000\016\000@\000\000\000\000!\000\000\000\000\000\000\002E\012\000\000\000\000\000@\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\128\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000\128\016\000\000\128\0020\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\128\001\235U\224\001\000 \000\001\000\004`\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\030\181^\000\016\002\000\000\016\000F\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\015\254\191\130\011\145 \018\013B\184\238\240\1283\212\024\002F\177\006\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\000\000\008\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000@ \016\000\000\000\000\000\000\000\002 \000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\008.D\128H5\n\227\187\194\000\207P`\137\026\196\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000F\000\000\000\016\000 \000\000\0001\000\000\000\000\000 \016\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\002A\160p\025\218\000\002\018\001\000@\004 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\t\006\129@gh\000\008H\004\001\000\016\128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\254\255\194\011\145 \018\015C\184\238\240\1283\212\152\"F\177\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\251\255\008.D\128H=\n\227\187\194\000\207R`\137\026\196\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\254\255\194\011\145 \016\012b\184\238\240\1283\212\152 F\177\002\179\000\000\000\000\000\000\000\016\008\000\000\000\000\000\000\000\001\016\000\000\001\139\255\191\240\130\228H\004\003\024\174;\188 \012\245&\008\017\172@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\239\252 \185\018\001 \212+\142\239\008\003=I\130$k\016+7\255\127\225\005\200\144\008\0061\\wx@\025\234L\016#X\129Y\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128@ \000\000\000\000\000\000\000\004@\000\000\006 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\\\137\000\144j\021\199w\132\001\158\164\193\0185\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\255\132\023\"@$\026\133q\221\225\000g\1690D\141b\005f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\127\225\005\200\144\t\006\161\\wx@\025\234L\017#X\129Y\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\127\225\005\200\144\t\006\161\\wx@\025\234L\017#X\129Y\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128@ \000\000\000\000\000\000\000\004@\000\000\006 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\\\137\000\144j\021\199w\132\001\158\164\193\0185\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\140\000\000\000 \000@\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\t\000\000\000\000\000\000\000\000 H\158\000`\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\128\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\008\016\000\000\000\000\000\000\000\128\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\002\004\000\000\000\000\000\000\000 \000\000\000@\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\016\002\000\000\000\000\000\004\000\000\016 \000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\004\000\008\000\008\000\000\000\000\000\000\000\0040\002\000\004\002\128\000\000\000\000\001\000\000\004\008\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\128\000\128\000\000\000\000\000\000\000C\000 \000\000(\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\016\000\000\000\000\000\000\000\000\000\008\224\006\000\000\004\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000 \000\000\000\000\000\000\000\000\000\016\192\012\000\000\008\000\000\000\000\128\001\000\000\000\000\000\000\000\000\000\000\134\000@\000\000@\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000!\128\016\002\000\016\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\002\024\001\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\0040\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\008\000\000\000\000\000\000\000\000\000\004p\003\000\000\002\000\000\000\000 \000@\000\000\000\000\000\000\000\000\000!\128\024\000\000\016\000\000\000\001\000\002\000\000\000\000\000\000\000\000\000\001\012\000\128\000\000\128\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\008`\004\000\000\004\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000C\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\008\000\000\000\000\000\000\000\000\000\0040\003\000\000\002\000\000\000\000 \000@\000\000\000\000\000\000\000\000\000!\128\016\000\000\016\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\001\012\000\128\000\000\128\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\008`\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")
1377
1378 let action =
1379 ((16, "\001\146\000\006\000\000\000\000\000\241\000\000\000\000\000\000\001\146\000\000\002B)\234\000\000\000[B\146\000\000\000\000\025x\000\000\029\170\000\000\000\000\000\000\000\000\000\000\000\000\0266\000\000\030h\000\000\000\000\000\000\000\000\000\000\031&\000\000\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\000L\000\000)\234\031\228\028\224\000\176C\218\000\000\000\000\000\000D\170\001\140\028\224\001J\028\224\000\000\001\030\000\000\028\224\000\000\000\133\001\2348\246\000\000\000\000:\252\000\000=f\000\000=\2388\2468\246\018^\018^=f\018^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000;\1328\246\000\000\000\000;\132\000\000;\132\000\0008\246\000\000\000\000\000\000\020\196\000\133\000\000\018^\000\0000P8\246\02708\246\000\000\000\000\000\000\000\000\000\000\000\000 28\246!*8\246!\1548\246\"\1468\246\000\0008\246\000\0008\246#\0028\246#\2508\246$j8\246%b8\246%\2108\246\001^8\246\000\000\000\000\000\000\000\000\000\0008\246&\2028\246':8\246(28\246\000\000\000\0008\246\000\000\000\000\017\244*f\000\000\000\000\001X\000\000\000\000\000\000\000\000\025F\000[\000\000*\014\000\000\000\179\018^\000\0008\246\001\170\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\001\176\000\000\000\000\002h\000\000\002\252=f\000\000\000\000\000\000\000\000\000\000\000\000>\1508\246\000\000>\150\000\000>\150=f\000\000\000\000/6\000\133\000\000\018^\003\006\000\0008\246\003,\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\0228\246\000\0008\246\000\000\000\000\0034\000\000\000G<,\004\0068\246\004\004\000\000\000\000=f\000G\000\000\000\000\000\000\000\000\000\000D\236=fEB=fE\246=fFL=f\000\000=f\000\000=fG\000=fGV=fH\n=fH`=fI\0208\246\003\210=f\000\000=fIj=fJ\030=fJt\003\194\000\000\003\212\000\000\000\1358\246\000\000\000\135\000\000\000\000\000\210)\234\000\000\000\210\000\000\000\000\003\2308\246\000\000\003\234\000\000\018^\003\254\000\000\000\000\005d\000\000\018^\004\160\000\000\000\000\004\228\000\000\000\000\001\234\000\000\005\204\000\000*fJ\248\005\174\005\160\000\133\005\004\005\214K\218\000\176\000\000\000\000\000tM$\000\000\000\000\000\000\005\224\005\216\0026\005\238K\218\001\030K\218\000\000\000\000\000\031\000\000\000\000\005:\000\000\005@\006\012K\218\005^\000\000\000\000\000t\000\000\005b\006>\000\000MhL\130\000\000\000\133\006F\000\000\025F\000\133\006L\000\000\000\000)\008\028\224\005n\000\000\006\006\000\000\005\160\000\000\000\t)\234\000\000)\234\000\000\005\144\000\000\000\t\000\000\016\030\026X\006fK\218\005\180\006\144\000\000N\182\000[\000\000\003\210\004B)\234\005\186\000\000\000i\000\000\001z\000\000\006\150\000\000\000\000;\192\000[\000\000\000i\000\000\000\000\000\000\000\000\000\000\006\1288\246\005\202\019\012\006\1368\246\005\210\006\134\000\136\005\254\006\182\000\000?\142?\224\018^\005\218\000\000\005\220?\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\1628\246\000\000@\162\000\000@\162?\224\000\000\000\000\024\154\000\133\000\000\018^\005\224\000\0008\246\005\224\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000,\0068\246\000\0008\246\000\000\005\232\000\000\000\135\000\000\000\000\000\000\000\000\000\0000\174?\2241\166?\2242\022?\2243\014?\224\000\000?\224\000\000?\2243~?\2244v?\2244\230?\2245\222?\2246N8\246\006\024?\224\000\000?\2247F?\2247\182?\2248\174\018^\005\248\000\000\000\0008\246\000\000\006\216\000\000\001V\006\1768\246\006|\000\000\006\1828\246\006\134\000\000\001:\000\000\006\182\006\182\001V\000\000\001V\000\000\016\030\006\182\006\182\000\000\000\000\000\000\023\162\000\000\000\000\000\000\000\000\006\2148\246\006\030\019\012\019\218\000\133\006\250\000\000\006\2269\204\007\n9\204\007\0208\246\006>\019\012\019\012\001J\001L\000\133\000\000\000\000\000\000\001L\000\000\001\236\001\012\000\000\000\000\006D\000\000\000\000\000\000\007 \000\000\007\"\000\000\000\000\007V\007\n8\246\006R\0074\000\000<\182\007\022\018^\006j\019\012\000\000\000\000\006\148\000\000\0012\000\000\005^\000\000\001V\000\000\000\000\006\230\000\000\021\164\026X\007.K\218\006|\007Z\000\000\000\133\000\000\003\0128\246,N\000\000@\2448\246\006\132\000\000\018^\006\136\000\000\006\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000A\1828\246\000\000A\182\000\000A\182B\008\018^\006\140B\008\000\000\000\000M\198\000\133\000\000\018^\006\144\000\0008\246\006\142\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0008\246\000W8\246\006\146\000\000\000\000-\028+6\007F8\246\000\000\007\016\000\000\000\000\000\133\000\000\000\000\006\208,N\000\000\006\208,N\000\000\000\004\000\000\000\000\030\144B\008:\026B\008<\246B\008A\000B\008\000\000B\008\000\000B\008NrB\008N\164B\008N\252B\008O<B\008OlB\008O\190B\008O\238B\008P\016\000\000\006\166\000\000\006\182-\196\000\000.l\006\194.l/~\006\204.l\000\000\000\000\000\000\000\000\000\000\006\196\000\000\007\166\000\000\000\133\000\000\000^\007\194\000\000\000F\007\148\000\133\007\000\007\188K\218\007\004\000\172\000\0008\246\007\226\000\000\000,\000\166\003\252\007\196K\218\007\012\007\232\000\000\003\1568\246\007\234\000\000\007\238\000\000\025F\000\133\003\2268\246\007\248\000\000\007\252\000\000\012\022\000K\000\000\012\022\000\000\000\000\021\188\004\0048\246\007\254\000\000\008\004\000\000\000\000\001\168\007\212\000\133\0076\007\242K\218\007:\002\200\000\0008\246\008\022\000\000\003\246\000\000\000\000\008\014\000\000\012\022\000\000\007\248\018^\007B\008*\000\000\000,\000\000\008\016K\218\007Z\0088\000\000\004d8\246\008:\000\000\008<\000\000\025F\000\133\004\1868\246\008>\000\000\008B\000\000\000\000\000\000\008\014\000\000\000\000\0012\000\000\006\182\000\000\000,\000\000\000\000\000\236\019\218\000\000\000\236\000\000\000\000\007n\000\000\001\182\000\003\019\012\000\000\004\006\000K\004\006\000\000\0012\000\000\006\182\000\000\006\182\000\000\000\000\000\000\007n\000\000\000\000\007x\000\000\002*\005^\0012\004\006\000\000\000\000\000\000\0012\000\000\006\182\000\000\002*\000\000\000\000\000\238\000\015\016\030\000\000\016\218\000\000\tf\016\030\000\000\000\000\tf\000\000\000\000\007~\000\000\000\000\007\148\000\000\002\166\006\182\000\000\002\166\000\000\000\000\008\n\000\000\0012\000\000\006\182\000\000\000\000\000\000\017j:T\000\000\008p\000\000\017j\008v\000\000\008x\000\000\021\164\000\133\002\216\000\0008\246\008z\000\000\008\\\008L\000\133\007\166\008bK\218\007\170\004F\000\0008\246\008\134\000\000\000,\004H\000\0008\246\008\140\000\000\025F\000\133\004\158\000\0008\246\008\142\000\000\003\022\017j\000\000\021\188\004\196\000\0008\246\008\156\000\000\000\000\000\000\008\134\008v\000\133\007\214\008\146K\218\007\218\004\228\000\0008\246\008\182\000\000\003\014\000\000\008\158\018^\007\232\008\196\000\000\003\018\000\000\005.\000\0008\246\008\200\000\000\025F\000\133\005^\000\0008\246\008\202\000\000\003\022\000\000\000\000\007\244\000\000\003\014\007\214\008n\000\000\000\000\000\000\008r\000\000\002\150\001:\000\000\016\030\008\200\000\000\000\0008\246\008*\006\182\000\000\008\000\000\000\000\136\000\000\000\000\001R\016\030\000\000\016\030\000\000\007\240\000\000\001R\000\000=f\003\134=f\000\000=f\000\000\007\242\000\000\003\134\000\000\019\012\0046\019\012\000\000\019\012\000\000\007\244\000\000\0046\000\000=f\003\134\007\248\000\000?\152\000\133\004D?\152\000\000?\152\000\000\007\250\000\000\004D\000\000=f\003\134\007\254\000\000\000\000\022\220\000\000\000\000\008l\n\226\000\000\000\000\008F\000\133\000\000\000\000\000\000\000\000\002\028\n\226\000\000\002~\t\024\000\000\000\000\000\000\008\188\000\000\000\000\000\000\000\000\027\024\028\136\000\000\006\018\000\000\n\226\000\000\004\144\n\226\000\000\000G\000J\000J\000\000\002N\000J\000\000\008>\000\000\000\000\000\000\000\000\008\208\000\000\029\024\000\000)\234\n\226\000\000\004\224\n\226\000\000\008\210\000\000\n\226\008\212\000\000\011B\011\174\008\214\000\000\008\216\000\000\012:\022\022\n\226\008\\\n\226\008\222\000\000\008\224\000\000\008\228\000\000)\234\000\000\004t)\234\000\000\008f\013\178\000\000\000\004\n\226\000\000\005\022\n\226\000\000\0030\004*\000\133\000\000\001(\000\133\000\000\008n\000\000\000\000\000\000\000\000\008\242\000\000\013B\027f\008\246\000\000\008\248\000\000\n\226\t\004\000\000\n\226\t\006\000\000\n\226\t\008\000\000\n\006\018\226\n\226\008\138\n\226\t\012\000\000\t\014\000\000\000\000\005&\n\226\000\000\0050\001z\001z\000\000\000\000\000\000\005\030\001z\000\000\008\142\000\000\000\000\000\000\000\000\n\226\000\000\005@\n\226\000\000\005^\004H\000\133\008\144\000\000\000\000\000\000\000\000\t\022\000\000\t\024\000\000\n\226\t\030\000\000\014\"\027f\t \000\000\t\"\000\000\023l\008\204\008\252\020Z\n\226\t.\000\000\000\000\t2\000\000\t\004\023l\n\226\t6\000\000\n\226\t8\000\000\t<\000\000\012\202\008\192\n\226\tH\000\000\tJ\000\000\000\133\008\190\000\000\000\000\022\220\000\000\000\000\002N\t\170\000\000\000\000\001\023\000\000\000\000\000\0008\246\000\171\t\248\t\024\t\162=f\000\000\002\140=f\000\000\008\236\000\000\000\000\000\000\000\000\000\000\002\174\000\000\001\024\000\000\000\000\000\000\004\006\024\130\005\158\024\130\024\130\005\158\000\000\000\000\000F\000F\000F\000F\000\000\000\000\000\000\000\000\000\000\000\000\001V\016\030\t\186\013n\000K\000\000\000\000\003\246\000\000\008\014\000\000,N\008\240\000\000\001V\016\030\008\246\014\198\000\000\001V\013n\000\000\000\000\000\000\021\164\000F\000\000\000\171\000\000\000\000\t>\0014\t\182L\186\000\000\002DM\252\000\000\000\000\t\184\t\168\000\133\000\000\000\133\000\000\002D\000\000\005TL\186\000\000\000\000\t\002\t\200\006\182\t\020\000\000\001\168\003\246\000\000\008\014\000\000\003\138\004\130\000\000\000\000\t\188\000\000\000\000\002N\000\000\004\182\000\000\000\000\000\0008\246\000\171\000\000\002\174\000\000\004\212\000\000\000\000\000\000\005^\000\000\n\190\004\130\n\190\000\000\006\182\n\190\000\000\006\166\000\000\006\182\000\000\006\182\000\000\006\182\000\000\000\000\000\000\000\000\000\000\000\171\000\000\006\182\000\000\006\166\000\000\006\182\000\000\006:\000\000\000\000\tf\tJ\000\133\004t\t\242\003(\000\000\003(\n\028\000\000\n\030\000\000\n \000\000\000\000\004`\003(\025\162\003(\000\000\000\000\003z\t*\000\000\tf\000\133\t0\000\000\007\254\n,\000\000\007f\006*\nD\002\128\nD\000\000\000\000\0050\000\133\000\000\002L\t\148\000\000\000\000\000\000\002\232\000\000\tH\000\000\000\000\000\000\t\136\000\133\tR\000\000\000\000\007\254\007f\006*\0050\002L\002\232\tT\000\000\007f\006*\0050\002L\002\232\tX\000\000\000\133\000\000\nX\nV\t\152\000\133\t\242\000\000"), (16, "\011\t\011\t\011\t\011\t\011\t\011\t\011\t\011\t\011\t\011\t\011\t\004\138\011\t\011\t\011\t\011\t\011\t\011\t\011\t\011\t\011\t\011\t\008J\002\146\000\158\006\029\011\t\005\133\020\159\020\163\000:\008~\011\t\020\167\011\t\011\t\011\t\017\214\007}\011\t\000\n\006\002\006\142\011\t\011\t\006\146\011\t\000\023\000\027\021&\020\178\006\150\008J\007}\000\162\011\t\006\154\021*\011\t\011\t\000\014\008~\006m\011\173\011\t\011\t\002\202\011\t\005\133\011\t\003\141\n\166\013\006\t\n\011\t\000\158\011\t\011\t\011\t\011\t\011\t\017^\006=\006=\011\t\011\t\011\t\006=\011\t\011\t\011\t\005\245\011\t\011\t\011\t\011\t\n\174\n\157\011\173\011\t\011\t\011\230\t\158\007}\003\198\000\162\006\n\017\218\001^\011\t\011\t\011\t\012\022\001j\011\t\011\t\011\t\011\t\n\186\011\t\006m\011\t\013~\0085\011\t\006\029\018\166\011\t\011\t\000\194\011\173\011\173\t\158\004\197\011\t\011\173\012\002\013\174\011\t\005\173\007i\011\t\000\162\n\222\007i\011\t\011\t\011\t\011\t\004)\011\t\011\t\004\197\007}\005\133\011\t\011\t\011\t\000\198\011\t\003\217\011\t\011\t\000\218\011\t\007}\011\t\011\t\005\197\013\006\011\t\011\t\006%\006%\006%\006%\006%\006%\006%\006%\006%\006%\006%\004\162\006%\006%\006%\006%\006%\006%\006%\006%\006%\006%\n\189\008r\013\138\004\162\006%\008N\008^\008n\011\206\t\146\006%\001^\006%\006%\006%\012\022\001j\006%\008J\005>\016\130\006%\006\194\005\165\006%\006\142\004\197\008~\006\146\012\006\000\158\016Z\021&\006%\006\150\008v\005\149\004\013\000\006\006\154\021*\000\250\006%\006%\004\197\000\162\001^\006%\006%\002e\001f\001j\006%\002e\006%\006%\006%\006%\006%\011\173\000\162\000\158\006%\006%\006%\019j\006%\006%\006%\005\237\006%\006%\006%\006%\006j\t\146\000\242\006%\006%\t\002\000\162\n\189\006\021\005\237\012\166\016\138\n\189\n\189\006%\006%\014\170\000\162\006%\006%\006%\006%\014\174\006%\t\158\006%\014\178\005\141\006%\004\138\005f\006%\006%\019n\002\145\018\206\t\002\001\006\006%\020\247\020\251\000\162\n\189\004\013\020\255\006%\001\026\002F\n\189\006%\006%\006%\006%\t\006\006%\006%\003\021\005\181\016.\006%\006%\006%\006E\002\162\006E\006%\006%\006E\006%\003\217\006%\006%\023\190\005\221\006%\006%\006E\006E\006E\006E\006E\006E\006E\006E\006E\006E\006E\013\254\006E\006E\006E\006E\006E\006E\006E\006E\006E\006E\n\133\n\237\005\189\005\189\006E\020\142\006E\000\158\002\218\002\254\006E\005\245\006E\006E\006E\006E\005\141\006E\006E\006E\006E\006E\006E\006E\006E\006E\000.\006\"\016\162\016\202\016\242\017\002\017.\006E\005\141\t\"\006E\000\162\005\141\003\025\012\194\006E\006E\006E\006E\006E\006E\006E\014\230\006E\nA\014~\006E\020\142\006E\023\198\006E\006E\006E\017z\003\165\023\202\006E\006E\006E\n\141\006E\006E\006E\005\253\006E\006E\006E\006E\n\157\015\186\005Z\015\214\006E\021\218\006E\n\133\023.\005\157\017\230\006E\n\133\n\133\006E\006E\017\134\n\181\006E\006E\006E\006E\003\165\006E\n\133\006E\006E\003\n\006E\004\138\0232\006E\006E\015^\nA\023\162\003=\0236\006E\001^\018\190\020\202\006E\012\022\001j\006E\016B\n\165\n\133\006E\006E\003=\006E\012\198\006E\006E\016\170\006\005\000J\006E\000N\014\234\000V\013\006\023\210\006]\006E\023V\006E\000Z\006E\006E\n\157\000\162\006E\006E\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\t\218\000\146\021\006\000\150\006\150\000\154\000\174\000\178\000\182\006\154\021\014\023>\001^\005)\003\018\006\158\012\022\001j\011\206\003f\n\157\000\186\005\245\001\030\006\174\006\202\006\013\000n\006\206\000r\t\146\000z\000\190\004\193\016\178\008:\006]\n\157\000~\008J\003r\000^\023F\003\190\001*\003=\000\162\021J\008~\004%\003=\003=\004\193\008\146\006\214\021v\021\130\016\210\008\150\013\186\003\206\007A\003=\001R\017\014\001V\003\233\000\206\t\154\008\158\015\022\015.\0126\006\234\001^\008\162\018\194\006\238\008\166\001j\011\173\006\242\006\246\008\170\006\250\n\157\003=\003\214\023^\008\174\011\206\019\182\022G\007A\007A\023V\005\213\000\130\007A\006\254\007\002\022K\004V\008\178\008\182\007\006\008\186\012V\000\162\008J\008\206\022N\004z\003\197\015J\011\173\008\218\007\014\008~\t\158\004\193\004\130\016\218\006M\012\138\011\206\000\162\021\150\n\157\017\022\008\250\004\186\004\198\015n\008\254\t:\003\233\t\166\004\193\007\018\t>\000\162\011\206\004\210\007\022\003\233\003\233\011\173\011\173\015\166\003\233\tF\011\173\007\026\n\229\006M\006M\015\026\0152\001\154\006M\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\013\"\000\146\021\006\000\150\006\150\000\154\000\174\000\178\000\182\006\154\021\014\0065\005\229\008]\015\222\006\158\023&\t\158\011\206\005\205\023f\000\186\n\197\001\030\006\174\006\202\018\142\005\133\006\206\015N\005\133\023^\000\190\n\149\005\133\008:\005\133\019f\015\250\0039\017\202\005\133\005\133\013B\001*\008]\008]\008J\015r\n\213\008]\004\222\004\234\008\146\006\214\021v\008~\n\205\008\150\014\002\019\178\011\206\006U\001R\015\170\001V\003\249\000\206\t\154\008\158\n\221\022g\022k\006\234\001^\008\162\022o\006\238\008\166\001j\018\"\006\242\006\246\008\170\006\250\006e\022\139\022\143\004\246\008\174\0089\022\147\0065\005\n\005\026\002\146\005\030\0065\0065\006\254\007\002\015\226\005&\008\178\008\182\007\006\008\186\018\178\000\162\023\178\008\206\019~\0089\003\197\005*\019Z\008\218\007\014\n\173\005R\006U\023\154\0089\006u\005V\015\254\005^\t\158\019\166\005\130\008\250\017\186\005\138\0065\008\254\t:\006-\t\166\022\n\007\018\t>\005\142\002\133\006e\007\022\005\133\003\249\005\150\013\006\005\170\005\174\tF\0089\007\026\005\198\006u\006u\005\214\005\234\001\154\006u\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\005\242\000\146\021\006\000\150\006\150\000\154\000\174\000\178\000\182\006\154\021\014\005\250\001^\006\023\006.\006\158\012\022\001j\0066\006:\006Z\000\186\006r\001\030\006\174\006\202\0089\006\162\006\206\006\170\t\146\006\178\000\190\006\186\006\190\008:\006\198\006\222\006\230\008J\007>\0089\007J\007\146\001*\006-\000\162\008J\008~\008\n\006-\006-\0082\008z\006\214\008F\008~\008R\008\150\008Z\008b\008\149\006-\001R\008j\001V\004\021\000\206\008\154\008\158\008\190\008\198\008\214\006\234\001^\008\162\008\222\006\238\008\166\001j\008\230\006\242\006\246\008\170\006\250\008\238\006-\008\246\011\181\008\174\t2\tB\tJ\008\149\008\149\tV\tZ\tb\008\149\006\254\007\002\tf\tr\008\178\008\182\007\006\008\186\0039\000\162\tz\008\206\t\138\t\174\003\197\t\190\008]\008\218\007\014\t\198\t\158\t\202\t\242\0039\008e\t\254\n\006\nF\t\158\nf\nr\008\250\n\182\n\202\n\214\008\254\t:\004\021\t\166\n\238\007\018\t>\n\250\011\130\011\138\007\022\004\021\004\021\008]\008]\011\154\004\021\tF\008]\007\026\011\166\008e\008e\011\194\011\202\001\154\008e\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\011\222\000\146\011\234\000\150\006\150\000\154\000\174\000\178\000\182\006\154\015\214\003\177\011\242\011\246\011\254\006\158\012\014\012\"\012*\012.\012>\000\186\012F\001\030\006\174\006\202\003\177\012^\006\206\012f\012\146\0039\000\190\012\154\012\170\008:\0039\0039\004\162\012\178\012\182\012\190\012\206\012\242\001*\012\250\001^\008J\0039\023&\012\022\001j\012\254\008z\006\214\013\014\008~\013\022\008\150\013\026\013*\0132\013J\001R\013R\001V\013\162\000\206\008\154\008\158\013\234\013\246\0039\006\234\001^\008\162\014j\006\238\008\166\001j\000\162\006\242\006\246\008\170\006\250\014v\014\150\014\194\011\181\008\174\014\206\014\214\014\242\014\250\014\254\015\006\015\n\015\018\015\"\006\254\007\002\015:\015V\008\178\008\182\007\006\008\186\003\177\000\162\015z\008\206\023\138\003\177\003\177\015\138\015\142\008\218\007\014\005\237\015\150\015\154\015\162\015\178\011\181\003\177\003\177\015\194\t\158\015\202\015\206\008\250\015\234\016\006\016\026\008\254\t:\016*\t\166\016:\007\018\t>\016R\016b\016n\007\022\016\151\016\191\016\231\003\177\016\255\017#\tF\017;\007\026\017R\011\181\011\181\017b\017\138\001\154\011\181\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\017\155\000\146\017\242\000\150\006\150\000\154\000\174\000\178\000\182\006\154\018\007\018/\018;\018K\018S\006\158\018f\018o\018w\003\177\018\127\000\186\018\154\001\030\006\174\006\202\018\218\018\239\006\206\018\255\019\007\023\026\000\190\007\133\003\177\008:\019\019\019\031\019+\019>\019G\019O\019\138\019\190\001*\019\211\019\219\008J\007\133\019\231\019\247\019\255\020\n\008z\006\214\020\014\008~\020\027\008\150\020'\020.\020;\020G\001R\020O\001V\020Z\000\206\008\154\008\158\020c\020k\020w\006\234\001^\008\162\020\146\006\238\008\166\001j\0192\006\242\006\246\008\170\006\250\020\182\020\186\020\190\020\214\008\174\021V\021~\021\142\021\198\021\206\021\234\021\238\022\026\007\133\006\254\007\002\023v\017Z\008\178\008\182\007\006\008\186\022\030\000\162\022&\008\206\023\134\017^\022S\023\030\003\177\008\218\007\014\023\230\023\138\003\177\003\177\023*\023:\023B\023J\023s\t\158\023z\023\131\008\250\023\142\003\177\003\177\008\254\t:\023\158\t\166\023\194\007\018\t>\023\219\017j\000:\007\022\023\234\023\243\024\023\007\133\0243\024B\tF\024F\007\026\024J\024S\003\177\000\000\000\000\001\154\007\133\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\000\000\000\146\021\006\000\150\006\150\000\154\000\174\000\178\000\182\006\154\021\014\000\000\000\000\000\000\000\000\006\158\000\162\000\000\017V\000\000\000\000\000\186\000\000\001\030\006\174\006\202\000\000\000\000\006\206\000\000\000\000\017n\000\190\000\000\000\000\008:\000\000\000\000\000\000\000\000\017Z\000\000\000\000\000\000\001*\000\000\000\000\000\000\000\000\000\000\017^\000\000\000\000\008\146\006\214\000\000\000\000\000\000\008\150\022\162\000\000\000\000\000\000\001R\000\000\001V\018B\000\206\t\154\008\158\000\000\000\000\000\000\006\234\001^\008\162\000\000\006\238\008\166\001j\017j\006\242\006\246\008\170\006\250\000\000\000\000\000\000\017Z\008\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017^\006\254\007\002\000\000\000\000\008\178\008\182\007\006\008\186\000\000\000\162\000\000\008\206\000\000\000\000\003\197\000\000\000\000\008\218\007\014\000\000\000\000\017V\000\000\000\000\008I\000\000\000\000\000\162\000\000\017j\000\000\008\250\000\000\000\000\000\000\008\254\t:\000\000\t\166\000\000\007\018\t>\017n\017Z\000\000\007\022\000\000\000\000\000\000\000\000\000\000\000\000\tF\017^\007\026\000\000\008I\008I\000\000\000\000\001\154\008I\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\000\000\000\146\000\162\000\150\006\150\000\154\000\174\000\178\000\182\006\154\017j\000\000\000\000\000\000\000\000\006\158\000\000\017n\018Z\000\000\000\000\000\186\000\000\001\030\006\174\006\202\000\000\000\000\006\206\000\000\000\000\000\000\000\190\n!\000\000\008:\000\000\000\000\000\000\000\000\017Z\000\000\000\000\000\000\001*\000\000\000\000\000\000\000\000\000\000\017^\000\000\000\000\008\146\006\214\000\000\000\162\000\000\008\150\012n\000\000\000\000\000\000\001R\000\000\001V\000\000\000\206\t\154\008\158\000\000\017n\000\000\006\234\001^\008\162\000\000\006\238\008\166\001j\017j\006\242\006\246\008\170\006\250\000\000\000\000\000\000\011\145\008\174\017V\n!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\254\007\002\000\000\000\000\008\178\008\182\007\006\008\186\000\000\000\162\000\000\008\206\000\000\017Z\000\000\000\000\000\000\008\218\007\014\000\000\000\000\000\000\000\000\017^\011\145\000\000\000\000\000\162\000\000\000\000\000\000\008\250\000\000\000\000\000\000\008\254\t:\000\000\t\166\000\000\007\018\t>\017n\000\000\000\000\007\022\000\000\000\000\020V\000\000\000\000\017V\tF\017j\007\026\000\000\011\145\011\145\000\000\000\000\001\154\011\145\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\017Z\000\146\000\000\000\150\006\150\000\154\000\174\000\178\000\182\006\154\017^\000\000\000\000\000\000\000\000\006\158\000\000\000\000\000\000\000\000\000\000\000\186\000\000\001\030\006\174\006\202\000\162\000\000\006\206\000\000\000\000\000\000\000\190\000\000\005\133\008:\000\000\000\000\000\000\000\000\018\246\017n\000\000\000\000\001*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\146\006\214\000\000\005\133\000\000\008\150\021Z\000\000\000\000\000\000\001R\000\000\001V\005\133\000\206\t\154\008\158\000\000\000\000\000\000\006\234\001^\008\162\000\000\006\238\008\166\001j\000\000\006\242\006\246\008\170\006\250\000\000\000\162\000\000\000\000\008\174\017V\005\133\000\000\000\000\000\000\000\000\005\133\002\146\000\000\006\254\007\002\017n\000\000\008\178\008\182\007\006\008\186\000\000\000\162\000\000\008\206\000\000\017Z\000\000\000\000\000\000\008\218\007\014\000\000\000\000\000\000\000\000\017^\011\221\000\000\000\000\000\000\000\000\000\000\000\000\008\250\000\000\000\000\000\000\008\254\t:\000\000\t\166\000\000\007\018\t>\000\000\005\133\000\000\007\022\000\000\000\000\000\000\000\000\000\000\000\000\tF\019\238\007\026\000\000\011\221\011\221\005\133\000\000\001\154\011\221\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\000\000\000\146\000\000\000\150\006\150\000\154\000\174\000\178\000\182\006\154\000\000\000\000\000\000\000\000\000\000\006\158\000\000\000\000\000\000\000\000\000\000\000\186\000\000\001\030\006\174\006\202\000\162\000\000\006\206\000\000\000\000\000\000\000\190\000\000\000\000\008:\000\000\000\000\000\000\000\000\000\000\017n\000\000\000\000\001*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\146\006\214\000\000\000\000\000\000\008\150\021Z\000\000\000\000\000\000\001R\000\000\001V\000\000\000\206\t\154\008\158\000\000\000\000\000\000\006\234\001^\008\162\000\000\006\238\008\166\001j\000\000\006\242\006\246\008\170\006\250\000\000\000\000\000\000\000\000\008\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\254\007\002\000\000\000\000\008\178\008\182\007\006\008\186\000\000\000\162\000\000\008\206\000\000\000\000\000\000\000\000\000\000\008\218\007\014\000\000\000\000\000\000\000\000\000\000\011\217\000\000\000\000\000\000\000\000\000\000\000\000\008\250\000\000\000\000\000\000\008\254\t:\000\000\t\166\000\000\007\018\t>\000\000\000\000\000\000\007\022\000\000\000\000\000\000\000\000\000\000\000\000\tF\000\000\007\026\000\000\011\217\011\217\000\000\000\000\001\154\011\217\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\000\000\000\146\000\000\000\150\006\150\000\154\000\174\000\178\000\182\006\154\000\000\000\000\000\000\000\000\000\000\006\158\000\000\000\000\000\000\000\000\000\000\000\186\000\000\001\030\006\174\006\202\000\000\000\000\006\206\000\000\000\000\000\000\000\190\000\000\000\000\008:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\146\006\214\000\000\000\000\000\000\008\150\0146\000\000\000\000\000\000\001R\000\000\001V\000\000\000\206\t\154\008\158\000\000\000\000\000\000\006\234\001^\008\162\000\000\006\238\008\166\001j\000\000\006\242\006\246\008\170\006\250\000\000\000\000\000\000\000\000\008\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\254\007\002\000\000\000\000\008\178\008\182\007\006\008\186\000\000\000\162\000\000\008\206\000\000\000\000\000\000\000\000\000\000\008\218\007\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007}\000\000\000\000\008\250\000\000\t\146\000\000\008\254\t:\000\000\t\166\000\000\007\018\t>\008J\007}\000\000\007\022\000\000\000\000\000\000\000\000\000\000\008~\tF\000\000\007\026\000\000\0002\006&\000F\000b\001\154\000f\006\142\000j\000\134\006\146\000\138\000\000\000\146\000\000\000\150\006\150\000\154\000\174\000\178\000\182\006\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\186\000\000\001\030\000\000\006\202\007}\000\000\006\206\000\000\000\000\000\000\000\190\000\000\000\000\014\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\198\006\214\t\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001R\000\000\001V\000\000\000\206\000\000\005\133\000\000\000\000\000\000\006\234\001^\000\000\007}\006\238\001f\001j\000\000\006\242\006\246\008\170\006\250\000\000\000\000\000\000\007}\000\000\000\000\005\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\254\007\002\005\133\005\133\000\000\000\000\007\006\000\000\000\000\000\162\000\000\000\000\0002\0006\000F\000b\000\000\000f\007\014\000j\000\134\000\000\000\138\000\000\000\146\000\000\000\150\005\133\000\154\000\174\000\178\000\182\005\133\002\146\000\000\000\000\005\133\000\000\t\166\000\000\007\018\014\202\000\000\000\000\000\186\007\022\001\030\000\000\001\"\000\000\000\000\001&\014\210\000\000\007\026\000\190\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\000\000\000\000\001*\005\133\000\000\001.\000\000\000\000\000\000\000\000\000\000\001F\001B\005\133\001J\000\000\000\000\000\000\000\000\000\000\000\000\001R\000\000\001V\017V\000\206\000\000\000\000\005\133\000\000\000\000\001Z\001^\000\000\000\000\001b\001f\001j\001\190\001n\001r\000\000\001v\000\000\000\000\000\000\017Z\000\000\005\133\000\000\000\000\005\133\005\133\000\000\000\000\005\133\017^\000\000\001z\000\000\006\158\000\000\000\000\001~\000\000\005\133\000\162\000\000\001\030\006\174\006\202\000\000\000\000\006\206\000\000\001\134\000\000\000\000\000\000\000\000\008:\0196\000\000\000\000\n!\001\138\017j\000\000\000\000\001*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\142\008\202\006\214\000\000\000\000\001\146\008\150\000\000\003\137\000\000\000\000\001R\n!\001V\001\150\000\000\000\000\008\158\000\000\000\000\001\154\006\234\001^\008\162\000\000\006\238\008\166\001j\000\000\006\242\006\246\000\000\006\250\000\000\000\000\000\162\000\000\008\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\254\007\002\000\000\017n\008\178\008\182\007\006\008\186\000\000\000\162\000\000\008\206\000\000\000\000\000\000\000\000\000\000\008\218\007\014\006\158\000\000\000\000\000\000\n!\000\000\000\000\000\000\001\030\006\174\006\202\000\000\008\250\006\206\000\000\000\000\008\254\t:\000\000\000\000\008:\007\018\t>\000\000\000\000\000\000\007\022\000\000\000\000\001*\000\000\000\000\000\000\tF\000\000\007\026\000\000\000\000\006\210\006\214\000\000\001\154\000\000\008\150\000\000\000\000\000\000\000\000\001R\004\173\001V\000\000\000\000\000\000\008\158\000\000\000\000\000\000\006\234\001^\008\162\000\000\006\238\008\166\001j\000\000\006\242\006\246\000\000\006\250\000\000\004\173\000\000\000\000\008\174\000\000\000\000\000\000\000\000\000\000\000\000\004\173\000\000\000\000\006\254\007\002\000\000\000\000\008\178\008\182\007\006\008\186\000\000\000\162\000\000\008\206\000\000\000\000\000\000\000\000\000\000\008\218\007\014\000\000\000\000\000\000\000\000\000\000\000\000\n\021\000\000\004\173\004\173\011\241\000\000\008\250\011\241\000\000\000\000\008\254\t:\000\000\000\000\000\000\007\018\t>\000\000\000\000\000\000\007\022\000\000\011\241\000\000\000\000\n\021\011\241\tF\000\000\007\026\001\178\011\241\000\000\000\000\000\000\001\154\000\000\011\241\000\000\000\000\011\241\011\241\000\000\011\241\011\241\000\000\000\000\001\186\004\173\011\241\002\210\000\000\000\000\011\241\000\000\000\000\011\241\000\000\011\241\011\241\000\000\000\000\000\000\004\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\241\000\000\011\241\000\000\n\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\241\000\000\000\000\0002\t\182\000F\000b\002\222\000f\006\142\000j\000\134\006\146\000\138\000\000\000\146\021\006\000\150\006\150\000\154\000\174\000\178\000\182\006\154\021\014\011\241\011\241\011\241\000\000\011\241\011\241\002\226\000\000\011\241\000\000\000\186\000\000\004%\000\000\000\000\004%\002\234\000\000\000\000\000\000\011\241\000\190\000\000\011\241\011\241\011\241\011\241\000\000\000\000\000\000\004%\011\241\011\241\011\241\004%\011\241\011\241\011\241\004%\004%\000\000\000\000\000\202\000\000\000\000\004%\017V\000\000\004%\004%\000\000\004%\004%\000\000\000\000\004%\000\206\004%\004%\000\000\000\000\004%\000\000\000\000\004%\000\000\004%\004%\017Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017^\000\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004%\000\000\004%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\162\000\000\004%\000\000\000\000\003\197\018^\000\000\000\000\004%\000\000\017j\000\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004%\004%\004%\000\000\004%\004\193\004%\n!\004%\000\000\001=\001=\001=\001=\000\000\001=\004%\001=\001=\000\000\001=\000\000\001=\004%\001=\004%\001=\001=\001=\001=\000\162\004%\004%\004%\017F\004%\004%\004%\000\000\000\000\000\000\001=\001=\001=\000\000\017n\000\000\000\000\001=\000\000\000\000\000\000\000\000\001=\000\000\000\000\000\000\001=\000\000\000\000\000\000\001=\000\000\000\000\017J\n!\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\001=\000\000\000\000\000\000\000\000\001=\000\000\000\000\0002\0006\000F\000b\000\000\000f\001=\000j\000\134\000\000\000\138\017V\000\146\000\000\000\150\000\000\000\154\000\174\000\178\000\182\000\000\000\000\000\000\000\000\000\000\000\000\001=\000\000\000\000\001=\000\000\000\000\000\186\017Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001=\000\000\020\006\000\000\000\000\001=\000\000\001=\004)\000\000\001=\004)\017N\000\000\000\000\000\000\000\000\000\000\001=\000\000\000\000\001=\000\000\000\202\000\000\000\000\004)\000\000\018\130\000\000\004)\000\000\017j\000:\004)\004)\001=\000\206\000\000\001=\001=\004)\000\000\000\000\004)\004)\000\000\004)\004)\000\000\017\158\004)\000\000\004)\004)\000\000\000\000\004)\000\000\000\000\004)\000\000\004)\004)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\162\000\000\000\000\000\000\000\000\004)\000\000\004)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017n\000\000\004)\000\000\000\000\000\000\021\n\000F\000b\004)\000f\006\142\000j\000\134\006\146\000\138\000\000\000\146\021\006\000\150\006\150\000\154\000\174\000\000\000\182\006\154\021\014\004)\004)\004)\000\000\004)\004\197\004)\000\000\004)\000\000\000\186\000\000\012E\000\000\000\000\012E\004)\000\000\000\000\000\000\004)\000\190\000\000\004)\000\000\004)\000\000\000\000\000\000\000\000\012E\004)\004)\004)\012E\004)\004)\004)\007.\012E\000\000\000\000\000\000\000\000\000\000\012E\000\000\000\000\012E\012E\000\000\012E\012E\000\000\000\000\0076\000\206\012E\007B\000\000\000\000\012E\000\000\000\000\012E\000\000\012E\012E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000F\000b\000\000\000f\000\000\000j\000\134\000\000\000\138\012E\000\146\012E\000\150\000\000\000\154\000\174\000\000\000\182\000\000\000\000\000\000\012E\000\000\000\000\003\197\000\000\000\000\000\000\007N\004I\000\186\000J\004I\000N\004I\000V\004I\000\000\004I\000\000\000\000\000\190\000Z\004I\004I\000\000\012E\012E\012E\000\000\012E\000\000\007R\000\000\012E\000\000\004I\000\000\000\000\000\000\000\000\000\000\007Z\000\000\000\000\000\000\004I\004I\000\000\012E\000\000\012E\004I\000\000\0035\000\000\000\206\012E\012E\012E\000\000\012E\012E\012E\000\000\000\000\000\000\000\000\004I\0035\000\000\004I\000\000\000\000\000\000\000\000\004I\004I\000\000\000\000\004I\000^\000\000\000\000\000\000\0035\000\000\000\000\004I\000\000\000\000\000\000\004I\004I\000\000\000\000\000\000\000\162\000\000\000\000\000\000\000\000\004I\000\000\004M\000\000\000n\004M\000r\004M\000z\004M\004I\004M\000\000\000\000\000\000\000~\004M\004M\000\000\005\133\004I\000\000\005\133\000\000\000\000\004I\005\133\000\000\005\133\004M\000\000\000\000\000\000\005\133\005\133\004I\000\000\000\000\000\000\004M\004M\000\000\000\000\000\000\000\000\004M\000\000\000\000\0035\000\000\000\000\000\000\000\000\0035\0035\004I\000\000\000\000\004I\004I\000\000\004M\004I\000\000\004M\0035\000\000\004I\004I\004M\004M\000\000\004I\004M\000\130\000\000\000\000\000\000\005\133\000\000\0035\004M\000\000\000\000\000\000\004M\004M\000\218\000\000\0035\000\000\023^\000\000\000\000\000\000\004M\000\000\000\000\001^\000\000\000\000\000\000\001f\001j\000\000\004M\000\000\000\000\000\000\n\017\n\017\n\017\n\017\000\000\n\017\004M\n\017\n\017\000\000\n\017\004M\n\017\000\000\n\017\000\000\n\017\n\017\n\017\n\017\000\000\004M\000\000\000\162\000\000\000\000\000\000\000\000\005\133\000\000\000\000\n\017\n\017\n\017\001\137\000\000\000\000\001\137\n\017\000\000\000\000\004M\000\000\n\017\004M\004M\000\000\017\174\004M\000\000\017V\017\182\001\137\004M\004M\000\000\001\137\n\017\004M\000\000\000\000\001\137\000\000\000\000\n\017\000\000\000\000\001\137\000\000\n\017\001\137\001\137\017Z\001\137\001\137\000\000\000\000\000\000\n\017\001\137\000\000\000\000\017^\001\137\000\000\000\000\001\137\000\000\001\137\001\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\017\000\000\000\000\n\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\n-\001\137\017j\n\017\000\000\000\000\000\000\000\000\n\017\000\000\n\017\001\137\000\000\n\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\017\000\000\000\000\n\017\n-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\001\137\001\206\n\017\001\137\001\137\018\n\n\017\001\137\000\000\000\000\000\000\000\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\001\137\001\137\001\137\001\137\017n\000\000\000\000\000\000\002v\001\137\001\137\000\000\001\137\001\137\001\137\n\001\n\001\n\001\n\001\000\000\n\001\000\000\n\001\n\001\n-\n\001\000\000\n\001\000\000\n\001\000\000\n\001\n\001\n\001\n\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\001\n\001\n\001\000\000\000\000\000\000\000\000\n\001\000\000\000\000\000\000\000\000\n\001\0002\000\214\000F\000b\000\000\000f\000\000\000j\000\134\000\000\000\138\000\000\000\146\n\001\000\150\000\000\000\154\000\174\000\178\000\182\n\001\000\000\000\000\000\000\000\000\n\001\000\000\000\000\n\005\n\005\n\005\n\005\000\186\n\005\n\001\n\005\n\005\000\000\n\005\000\000\n\005\000\000\n\005\000\190\n\005\n\005\n\005\n\005\000\000\000\000\000\000\000\000\000\000\000\000\n\001\000\000\000\000\n\001\000\000\n\005\n\005\n\005\000\000\000\000\000\202\000\000\n\005\000\000\000\000\n\001\000\230\n\005\000\000\000\000\n\001\018\014\n\001\000\000\000\206\n\001\000\000\000\000\000\000\000\000\000\000\n\005\000\000\n\001\000\000\000\000\n\001\000\000\n\005\000\000\000\000\000\000\000\000\n\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\001\n\005\004\129\017\178\n\001\004\129\000R\004\129\000\000\004\129\000\000\004\129\000\000\000\000\000\162\000\000\004\129\004\129\000\000\000\000\000\000\n\005\000\000\000\000\n\005\000\000\000\000\000\000\000\000\004\129\000\000\000\000\000\000\000\234\000\000\000\000\n\005\000\000\000\000\004\129\004\129\n\005\000\000\n\005\000\000\004\129\n\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\005\000\000\011u\n\005\000\000\000\000\000\000\004\129\000\000\000\000\004\129\000\000\000\000\000\000\000\000\004\129\004\129\000\000\n\005\004\129\004\129\000\000\n\005\000\000\000\000\000\000\000\000\004\129\000\000\000\000\000\000\004\129\004\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\129\000\000\004\133\000\000\000\000\004\133\000v\004\133\000\000\004\133\004\129\004\133\000\000\000\000\000\000\000\000\004\133\004\133\000\000\000\000\004\129\000\000\000\000\000\000\000\000\004\129\000\000\000\000\000\000\004\133\000\000\000\000\000\000\000\000\000\000\004\129\000\000\000\000\011\018\004\133\004\133\000\000\000\000\000\000\000\000\004\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\129\011\026\000\000\004\129\004\129\000\000\004\133\004\129\000\000\004\133\000\000\000\000\004\129\004\129\004\133\004\133\011\"\004\129\004\133\004\133\000\000\000\000\011b\011j\000\000\000\000\004\133\000\000\000\000\000\000\004\133\004\133\011B\000\000\000\000\011*\000\000\011:\000\000\000\000\004\133\000\000\004\137\000\000\000\000\004\137\000\142\004\137\000\000\004\137\004\133\004\137\000\000\000\000\000\000\000\000\004\137\004\137\011J\000\000\004\133\000\000\000\000\000\000\000\000\004\133\000\000\000\000\000\000\004\137\000\000\000\000\000\000\000\000\000\000\004\133\000\000\000\000\000\000\004\137\004\137\000\000\000\000\000\000\000\000\004\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\133\011R\000\000\004\133\004\133\000\000\004\137\004\133\0112\004\137\000\000\000\000\004\133\004\133\004\137\004\137\000\000\004\133\004\137\004\137\005\001\000\000\000\000\000\000\000\000\000\000\004\137\000\000\000\000\000\000\004\137\004\137\000\000\000\000\000\000\011r\011Z\000\000\000\000\000\000\004\137\000\000\004\189\000\000\000\000\004\189\000\000\004\189\000\000\004\189\004\137\004\189\000\000\000\000\000\000\000\000\004\189\004\189\000\000\000\000\004\137\000\000\000\000\000\000\000\000\004\137\000\000\000\000\000\000\004\189\000\000\000\000\000\000\000\000\000\000\004\137\000\000\000\000\000\000\004\189\004\189\000\000\000\000\000\000\000\000\004\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\137\000\000\001\238\004\137\004\137\002>\004\189\004\137\000\000\004\189\000\210\000\000\004\137\004\137\004\189\004\189\000\000\004\137\004\189\004\189\001\246\000\000\000\000\000\000\002\005\000\000\004\189\000\000\000\000\002\005\004\189\004\189\000\000\000\000\000\000\001\254\000\000\000\000\002\005\002\005\004\189\002^\002f\000\000\000\000\000\000\000\000\002\005\000\000\000\000\004\189\002\030\000\000\000\000\002\006\000\000\002\022\002\005\000\000\000\000\004\189\000\000\000\000\000\000\000\000\004\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\189\000\000\002&\000\000\002\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\005\000\000\000\000\000\000\000\000\000\000\004\189\000\000\000\000\004\189\004\189\000\000\000\000\004\189\000\000\000\000\000\000\000\000\004\189\004\189\000\000\000\000\000\000\004\189\000\000\002\005\002.\000\000\000\000\002\005\002\005\000\000\000\000\002\014\000\000\000\000\000\000\000}\000\000\000\000\000}\000\000\000\000\000\000\000\000\002\005\000\000\000\000\002\005\002\005\002\005\002\005\000\000\000\000\000\000\001\246\000\000\002\005\002\005\000}\002n\0026\002\005\000\000\000}\000\000\000\000\000\000\000\000\000\000\001\254\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000\000\000\000\000\000\000}\000\000\000\000\000\000\002\030\000\000\000\000\002\006\000\000\002\022\000}\000e\000\000\000\000\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\002&\000\000\000}\000e\000\000\000\000\000\000\000\000\000e\000\000\000\000\000\000\000}\000\000\001\254\000\000\000\000\000e\000e\000\000\000e\000e\000\000\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\002\006\000\000\002\022\000e\000}\002.\000\000\000\000\000}\000}\000\000\000\000\002\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000}\000e\000\000\000}\000}\000}\000}\000\000\000\000\000\000\000\000\000e\000}\000}\000\000\000}\0026\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000e\000\000\000\000\000e\000e\000\000\000\000\002\014\000\000\000\000\000\000\000]\000\000\000\000\000]\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000e\000e\000\000\000\000\000\000\000]\000\000\000e\000e\000]\000e\000e\000e\000\000\000]\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000]\000]\000\000\000\000\000\000\000\000\000]\000\000\000\000\000\000\000]\000\000\000\000\002\006\000\000\000]\000]\000a\000\000\000\000\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000]\000\000\000]\000a\000\000\000\000\000\000\000\000\000a\000\000\000\000\000\000\000]\000\000\000a\000\000\000\000\000a\000a\000\000\000a\000a\000\000\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\002\006\000\000\000a\000a\000]\000]\000\000\000\000\000]\000]\000\000\000\000\002\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000]\000a\000\000\000]\000]\000]\000]\000\000\000\000\000\000\000\000\000a\000]\000]\000\000\000]\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000a\000\000\000\000\000a\000a\000\000\000\000\002\014\000\000\000\000\000\000\000q\000\000\000\000\000q\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000a\000a\000\000\000\000\000\000\001\246\000\000\000a\000a\000q\000a\000a\000a\000\000\000q\000\000\000\000\000\000\000\000\000\000\001\254\000\000\000\000\000q\000q\000\000\000q\000q\000\000\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000\000\000\000\002\006\000\000\002\022\000q\000i\000\000\000\000\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\246\002&\000\000\000q\000i\000\000\000\000\000\000\000\000\000i\000\000\000\000\000\000\000q\000\000\001\254\000\000\000\000\000i\000i\000\000\000i\000i\000\000\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\002\006\000\000\002\022\000i\000q\000q\000\000\000\000\000q\000q\000\000\000\000\002\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000q\000i\000\000\000q\000q\000q\000q\000\000\000\000\000\000\000\000\000i\000q\000q\000\000\000q\000q\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000i\000\000\000\000\000i\000i\000\000\000\000\002\014\000\000\000\000\000\000\000m\000\000\000\000\000m\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000i\000i\000\000\000\000\000\000\001\246\000\000\000i\000i\000m\000i\000i\000i\000\000\000m\000\000\000\000\000\000\000\000\000\000\001\254\000\000\000\000\000m\000m\000\000\000m\000m\000\000\000\000\000\000\000\000\000m\000\000\000\000\000\000\000m\000\000\000\000\002\006\000\000\002\022\000m\000u\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\246\002&\000\000\000m\000u\000\000\000\000\000\000\000\000\000u\000\000\000\000\000\000\000m\000\000\001\254\000\000\000\000\000u\000u\000\000\000u\000u\000\000\000\000\000\000\000\000\000u\000\000\000\000\000\000\002\030\000\000\000\000\002\006\000\000\002\022\000u\000m\000m\000\000\000\000\000m\000m\000\000\000\000\002\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002&\000m\000u\000\000\000m\000m\000m\000m\000\000\000\000\000\000\000\000\000u\000m\000m\000\000\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\002.\000\000\000\000\000u\000u\000\000\000\000\002\014\000\000\000\000\000\000\001\238\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000u\000\000\000\000\000u\000u\000u\000u\000\000\000\000\000\000\001\246\000\000\000u\000u\000\133\000u\000u\000u\000\000\000\133\000\000\000\000\000\000\000\000\000\000\001\254\000\000\000\000\000\133\000\133\000\000\000\133\002f\000\000\000\000\000\000\000\000\000\133\000\000\000\000\000\000\002\030\000\000\000\000\002\006\000\000\002\022\000\133\001\238\000\000\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\246\002&\000\000\000\133\000y\000\000\000\000\000\000\000\000\000y\000\000\000\000\000\000\000\133\000\000\001\254\000\000\000\000\000y\000y\000\000\000y\000y\000\000\000\000\000\000\000\000\000y\000\000\000\000\000\000\002\030\000\000\000\000\002\006\000\000\002\022\000y\000\133\002.\000\000\000\000\000\133\000\133\000\000\000\000\002\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002&\000\133\000y\000\000\000\133\000\133\000\133\000\133\000\000\000\000\000\000\000\000\000y\000\133\000\133\000\000\002n\0026\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\002.\000\000\000\000\000y\000y\000\000\000\000\002\014\000\000\000\000\000\000\001\238\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000y\000\000\000\000\000y\000y\000y\000y\000\000\000\000\000\000\001\246\000\000\000y\000y\000\129\000y\0026\000y\000\000\000\129\000\000\000\000\000\000\000\000\000\000\001\254\000\000\000\000\000\129\000\129\000\000\000\129\002f\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\002\030\000\000\000\000\002\006\000\000\002\022\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002&\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\004\157\000\000\000\000\004\157\000\000\004\157\000\000\004\157\000\000\004\157\000\000\000\000\000\000\000\000\004\157\004\157\000\000\000\000\000\000\000\000\000\000\000\129\002.\000\000\000\000\000\129\000\129\004\157\000\000\002\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\157\004\157\000\000\000\000\000\129\000\000\004\157\000\129\000\129\000\129\000\129\000\000\000\000\000\000\000\000\000\000\000\129\000\129\000\000\000\129\0026\000\129\004\157\000\000\000\000\004\157\005\226\000\000\000\000\000\000\004\157\004\157\000\000\000\000\004\157\004\157\000\000\000\000\000\000\000\000\000\000\000\000\004\157\000\000\000\000\000\000\004\157\004\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\157\000\000\000\000\000\000\0002\0006\000F\000b\000\000\000f\004\157\000j\000\134\000\000\000\138\004\157\000\146\000\000\000\150\000\000\000\154\000\174\000\178\000\182\000\000\004\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\133\000\000\018\022\000\186\0182\000\000\000\000\000\000\000\000\018>\000\000\000\000\004\157\000\000\000\190\004\157\004\157\000\000\000\000\004\157\000\000\000\000\005\133\000\000\004\157\004\157\000\000\000\000\018V\004\157\000\000\000\000\005\133\005\133\000\000\000\202\000\000\000\000\005\133\005\133\018\130\000\000\005\133\000\000\005\133\000\000\005\133\000\000\005\133\000\206\000\000\000\000\000\000\005\133\005\133\000\000\000\000\005\133\000\000\000\000\000\000\000\000\005\133\002\146\000\000\000\000\005\133\000\000\000\000\018\162\000\000\000\000\018\242\000\000\005\133\000\000\005\133\005\133\005\133\005\133\000\000\000\000\005\133\000\000\019\n\000\000\000\000\000\000\005\133\019\022\000\000\0081\000\000\000\000\019\"\000\000\000\000\000\000\005\133\000\000\000\000\005\133\019.\000\000\000\000\019\222\005\133\002\146\005\133\000\000\005\133\005\133\000\000\000\000\000\000\000\000\000\000\000\000\005\133\000\000\019\234\000\000\005\133\005\133\020\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\133\005\133\000\000\000\000\005\133\005\133\000\000\000\000\005\133\000\000\005\133\000\000\000\000\005\133\005\133\005\133\000\000\000\000\005\133\000\000\000\000\000\000\000\000\000\000\n\198\005\133\000\000\000\000\000\000\003m\000\000\003m\000\000\000\000\003m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\133\000\000\000\000\005\133\005\133\003m\000\000\005\133\000\000\000\000\000\000\000\000\005\133\005\133\003m\003m\000\000\005\133\003m\003m\000\000\000\000\000\000\000\000\003m\000\000\003m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003m\003m\000\000\000\000\003m\003m\003m\000\000\003m\003m\000\000\003m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003m\003m\000\000\000\000\000\000\000\000\003m\000\000\000\000\003m\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000\000\003m\001\161\000\000\000\000\000\000\000\000\000\000\000\000\003m\000\000\003m\000\000\003m\000\000\000\000\000\000\001\161\000\000\000\000\000\000\001\161\000\000\003m\000\000\000\000\001\161\000\000\003m\000\000\000\000\000\000\001\161\000\000\003m\001\161\001\161\003m\001\161\001\161\000\000\000\000\000\000\003m\001\161\000\000\000\000\001\030\001\161\t\226\000\000\001\161\t\230\001\161\001\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001*\000\000\000\000\000\000\000\000\000\000\001\161\000\000\001\161\t\234\n>\000\000\000\000\n\166\n\190\000\000\000\000\000\000\001\161\001R\000\000\001V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\n\001^\000\000\000\000\n\014\008\166\001j\000\000\n\018\n\022\000\000\n\026\000\000\000\000\001\161\001\161\007~\000\000\001\161\000\000\000\000\000\000\001\161\000\000\000\000\000\000\006\254\n\030\000\000\000\000\000\000\000\000\n\"\000\000\000\000\000\162\000\000\001\161\000\000\001\161\000\000\000\000\000\000\000\000\n*\007\134\001\161\001\161\000\000\001\161\001\161\001\161\005\173\001\030\n\194\t\226\n\222\000\000\t\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n.\000\000\000\000\000\000\000\000\n2\000\000\000\000\001*\000\000\000\000\011\186\000\000\000\000\n6\000\000\000\000\t\234\n>\000\000\001\154\n\166\n\190\000\000\000\000\000\000\000\000\001R\000\000\001V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\n\001^\000\000\000\000\n\014\008\166\001j\000\000\n\018\n\022\000\000\n\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\254\n\030\000\000\000\000\000\000\000\000\n\"\000\000\001\030\000\162\t\226\000\000\000\000\t\230\000\000\000\000\000\000\000\000\n*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\173\000\000\n\194\001*\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\234\n>\n.\000\000\n\166\n\190\000\000\n2\000\000\000\000\001R\000\000\001V\n\230\000\000\000\000\n6\000\000\000\000\000\000\n\n\001^\001\154\000\000\n\014\008\166\001j\000\000\n\018\n\022\000\000\n\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\254\n\030\000\000\000\000\000\000\000\000\n\"\000\000\001\030\000\162\t\226\000\000\000\000\t\230\000\000\000\000\000\000\000\000\n*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\173\000\000\n\194\001*\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\234\n>\n.\000\000\n\166\n\190\000\000\n2\000\000\000\000\001R\000\000\001V\005\025\000\000\000\000\n6\000\000\000\000\000\000\n\n\001^\001\154\000\000\n\014\008\166\001j\000\000\n\018\n\022\000\000\n\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\254\n\030\000\000\000\000\000\000\000\000\n\"\000\000\000\000\000\162\000\000\000\000\000\000\012)\000\000\000\000\012)\000\000\n*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\173\000\000\n\194\000\000\n\222\012)\000\000\000\000\000\000\012)\000\000\000\000\000\000\003V\n.\000\000\000\000\000\000\000\000\n2\012)\000\000\000\000\000\000\012)\001\189\012)\012)\n6\000\000\003^\000\000\000\000\003j\001\154\001\030\012)\t\226\000\000\012)\t\230\012)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001*\000\000\000\000\000\000\000\000\000\000\012)\000\000\000\000\t\234\n>\000\000\000\000\n\166\n\190\000\000\000\000\000\000\012)\001R\000\000\001V\000\000\000\000\000\000\003v\000\000\000\000\000\000\n\n\001^\000\000\000\000\n\014\008\166\001j\000\000\n\018\n\022\000\000\n\026\000\000\000\000\000\000\012)\012)\000\000\012)\000\000\003z\000\000\012)\000\000\000\000\000\000\006\254\n\030\000\000\000\000\003\130\000\000\n\"\000\000\012)\000\162\000\000\000\000\000\000\012)\012)\000\000\000\000\001\137\n*\012)\001\137\000\000\000\000\012)\012)\012)\005\173\000\000\000\000\000\000\n\222\000\000\000\000\000\000\000\000\001\137\000\000\000\000\000\000\000\000\n.\000\000\000\000\000\000\001\137\n2\000\000\000\000\000\000\000\000\001\137\001\201\000\000\000\000\n6\000\000\001\137\001\137\000\000\000\000\001\154\000\000\000\000\000\000\007\178\000\000\001\137\008\002\000\000\001\137\000\000\001\137\001\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\186\000\000\000\000\000\000\002\021\000\000\000\000\000\000\000\000\002\021\001\137\000\000\001\137\000\000\000\000\007\194\000\000\000\000\002\021\002\021\000\000\008\018\008\026\000\000\000\000\000\000\000\000\002\021\000\000\000\000\000\000\007\226\000\000\000\000\007\202\000\000\007\218\002\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\001\137\001\198\000\000\001\137\001\137\000\000\000\000\001\137\000\000\007\234\000\000\002\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\002\021\001\137\001\137\000\000\001\137\000\000\000\000\000\000\000\000\002\130\001\137\001\137\000\000\001\137\001\137\001\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\021\007\242\000\000\000\000\002\021\000\000\000\000\000\000\007\210\000\000\000\000\000\000\001%\000\000\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\021\000\000\002\021\000\000\000\000\000\000\000\000\007\186\000\000\002\021\002\021\001%\008\"\007\250\002\021\000\000\001%\000\000\000\000\000\000\000\000\000\000\007\194\000\000\000\000\001%\001%\000\000\001%\001%\000\000\000\000\000\000\000\000\001%\000\000\000\000\000\000\007\226\000\000\000\000\007\202\000\000\007\218\001%\001\013\000\000\000\000\001\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\007\234\000\000\001%\001\013\000\000\000\000\000\000\000\000\001\013\000\000\000\000\000\000\001%\000\000\007\194\000\000\000\000\001\013\001\013\000\000\001\013\001\013\000\000\000\000\000\000\000\000\001\013\000\000\000\000\000\000\001\013\000\000\000\000\007\202\000\000\007\218\001\013\001%\007\242\000\000\000\000\001%\000\000\000\000\000\000\007\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\000\000\001\013\000\000\001%\000\000\001%\000\000\000\000\000\000\000\000\000\000\001\013\001%\001%\000\000\001%\007\250\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\001\013\000\000\000\000\001\013\000\000\000\000\000\000\007\210\000\000\000\000\000\000\001\005\000\000\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\000\000\001\013\000\000\000\000\000\000\000\000\001\005\000\000\001\013\001\013\001\005\001\013\001\013\001\013\000\000\001\005\000\000\000\000\000\000\000\000\000\000\001\005\000\000\000\000\001\005\001\005\000\000\001\005\001\005\000\000\000\000\000\000\000\000\001\005\000\000\000\000\000\000\001\005\000\000\000\000\007\202\000\000\001\005\001\005\001\t\000\000\000\000\001\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\001\005\000\000\001\005\001\t\000\000\000\000\000\000\000\000\001\t\000\000\000\000\000\000\001\005\000\000\001\t\000\000\000\000\001\t\001\t\000\000\001\t\001\t\000\000\000\000\000\000\000\000\001\t\000\000\000\000\000\000\001\t\000\000\000\000\007\202\000\000\001\t\001\t\001\005\001\005\000\000\000\000\001\005\000\000\000\000\000\000\007\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\000\000\001\t\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\000\000\001\t\001\005\001\005\000\000\001\005\001\005\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\001\t\000\000\000\000\001\t\000\000\000\000\000\000\007\210\000\000\000\000\000\000\001\025\000\000\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\000\000\001\t\000\000\000\000\000\000\000\000\007\186\000\000\001\t\001\t\001\025\001\t\001\t\001\t\000\000\001\025\000\000\000\000\000\000\000\000\000\000\007\194\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\007\202\000\000\007\218\001\025\001\017\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\186\007\234\000\000\001\025\001\017\000\000\000\000\000\000\000\000\001\017\000\000\000\000\000\000\001\025\000\000\007\194\000\000\000\000\001\017\001\017\000\000\001\017\001\017\000\000\000\000\000\000\000\000\001\017\000\000\000\000\000\000\001\017\000\000\000\000\007\202\000\000\007\218\001\017\001\025\001\025\000\000\000\000\001\025\000\000\000\000\000\000\007\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\001\017\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\001\017\001\025\001\025\000\000\001\025\001\025\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\017\000\000\000\000\001\017\000\000\000\000\000\000\007\210\000\000\000\000\000\000\001\021\000\000\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\001\017\000\000\000\000\000\000\000\000\007\186\000\000\001\017\001\017\001\021\001\017\001\017\001\017\000\000\001\021\000\000\000\000\000\000\000\000\000\000\007\194\000\000\000\000\001\021\001\021\000\000\001\021\001\021\000\000\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\000\000\007\202\000\000\007\218\001\021\001\029\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\186\007\234\000\000\001\021\001\029\000\000\000\000\000\000\000\000\001\029\000\000\000\000\000\000\001\021\000\000\007\194\000\000\000\000\001\029\001\029\000\000\001\029\001\029\000\000\000\000\000\000\000\000\001\029\000\000\000\000\000\000\007\226\000\000\000\000\007\202\000\000\007\218\001\029\001\021\001\021\000\000\000\000\001\021\000\000\000\000\000\000\007\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\234\000\000\001\029\000\000\001\021\000\000\001\021\000\000\000\000\000\000\000\000\000\000\001\029\001\021\001\021\000\000\001\021\001\021\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\007\242\000\000\000\000\001\029\000\000\000\000\000\000\007\210\000\000\000\000\000\000\007\178\000\000\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\001\029\000\000\000\000\000\000\000\000\007\186\000\000\001\029\001\029\001-\001\029\001\029\001\029\000\000\001-\000\000\000\000\000\000\000\000\000\000\007\194\000\000\000\000\001-\001-\000\000\001-\008\026\000\000\000\000\000\000\000\000\001-\000\000\000\000\000\000\007\226\000\000\000\000\007\202\000\000\007\218\001-\007\178\000\000\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\186\007\234\000\000\001-\001!\000\000\000\000\000\000\000\000\001!\000\000\000\000\000\000\001-\000\000\007\194\000\000\000\000\001!\001!\000\000\001!\001!\000\000\000\000\000\000\000\000\001!\000\000\000\000\000\000\007\226\000\000\000\000\007\202\000\000\007\218\001!\001-\007\242\000\000\000\000\001-\000\000\000\000\000\000\007\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\234\000\000\001!\000\000\001-\000\000\001-\000\000\000\000\000\000\000\000\000\000\001!\001-\001-\000\000\008\"\007\250\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\007\242\000\000\000\000\001!\000\000\000\000\000\000\007\210\000\000\000\000\000\000\007\178\000\000\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\001!\000\000\000\000\000\000\000\000\007\186\000\000\001!\001!\001)\001!\007\250\001!\000\000\001)\000\000\000\000\000\000\000\000\000\000\007\194\000\000\000\000\001)\001)\000\000\001)\008\026\000\000\000\000\000\000\000\000\001)\000\000\000\000\001\030\007\226\001\"\000\000\007\202\001&\007\218\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008>\000\000\000\000\000\000\000\000\000\000\001*\000\000\000\000\001.\000\000\000\000\007\234\000\000\001)\001>\001B\000\000\001J\000\000\t\222\000\000\000\000\000\000\001)\001R\000\000\001V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Z\001^\000\000\n\206\001b\001f\001j\000\000\001n\001r\000\000\001v\000\000\000\000\001)\007\242\000\000\000\000\001)\000\000\000\000\000\000\007\210\000\000\000\000\000\000\000\000\001z\000\000\000\000\000\000\000\000\001~\000\000\000\000\000\162\000\000\001)\000\000\001)\000\000\000\000\000\000\000\000\001\134\000\000\001)\001)\000\000\001)\007\250\001)\000\000\000\000\001\138\008A\000\000\001\030\000\000\001\"\000\000\000\000\001&\000\000\000\000\000\000\001\142\000\000\000\000\000\000\000\000\001\146\008A\000\000\008A\000\000\008A\000\000\001*\000\000\001\150\001.\000\000\000\000\000\181\000\000\001\154\001>\001B\000\000\001J\000\000\000\000\000\000\000\000\000\000\000\000\001R\000\000\001V\000\000\000\000\011\026\000\000\000\000\000\000\000\000\001Z\001^\000\000\000\000\001b\001f\001j\000\000\001n\001r\011\"\001v\000\000\000\000\000\000\000\000\000\181\000\181\001\030\000\000\001\"\000\000\000\000\001&\000\000\000\000\011B\001z\000\000\011*\000\000\011:\001~\014\186\000\000\000\162\000\000\000\000\000\000\001*\000\000\000\000\001.\000\000\001\134\000\000\000\000\000\000\001>\001B\000\000\001J\011J\000\000\001\138\000\000\000\000\000\000\001R\000\000\001V\000\000\000\000\000\000\000\000\000\000\001\142\000\000\001Z\001^\000\000\001\146\001b\001f\001j\000\000\001n\001r\000\000\001v\001\150\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\011R\000\000\000\000\000\000\000\000\001z\000\000\0112\000\000\000\000\001~\000\000\001\030\000\162\001\"\000\000\000\000\001&\000\000\000\181\000\000\000\000\001\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\138\001*\000\181\011Z\001.\000\000\000\000\000\000\000\000\000\000\001>\004\226\001\142\001J\000\000\000\000\000\000\001\146\000\000\000\000\001R\000\000\001V\000\000\000\000\000\000\001\150\000\000\000\000\000\000\001Z\001^\001\154\000\000\001b\001f\001j\000\000\001n\001r\000\000\001v\000\000\000\000\000\000\006~\006J\000b\001\030\000f\001\"\006N\000\134\001&\000\138\000\000\000\146\001z\000\150\000\000\000\154\000\174\001~\000\182\000\000\000\162\000\000\000\000\000\000\001*\000\000\000\000\001.\000\000\001\134\000\000\000\186\000\000\001>\001\130\000\000\001J\000\000\000\000\001\138\000\000\000\000\000\190\001R\000\000\001V\000\000\000\000\000\000\000\000\000\000\001\142\000\000\001Z\001^\000\000\001\146\001b\001f\001j\000\000\001n\001r\000\000\001v\001\150\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\000\000\000\206\000\000\000\000\001z\000\000\003\202\000\000\000\000\001~\000\000\003e\000\162\003e\000\000\000\000\003e\000\000\000\000\000\000\000\000\001\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\138\003e\000\000\000\000\003e\000\000\000\000\000\000\000\000\000\000\003e\003e\001\142\003e\000\000\000\000\000\000\001\146\000\000\000\000\003e\000\000\003e\000\000\000\000\000\000\001\150\000\000\000\000\000\000\003e\003e\001\154\000\000\003e\003e\003e\004%\003e\003e\004%\003e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004%\000\000\003e\000\000\000\000\000\000\000\000\003e\004%\004%\003e\000\000\000\000\000\000\000\157\004%\000\000\000\000\000\000\003e\000\000\004%\004%\000\000\000\000\004%\000\000\000\000\004%\000\000\000\000\004%\000\157\000\000\004%\000\000\004%\004%\000\000\000\000\000\000\003e\000\000\000\000\000\000\000\000\003e\011\"\000\000\000\000\000\000\000\000\000\000\000\157\000\157\003e\000\000\004%\000\000\000\000\000\000\003e\000\000\000\157\000\000\000\000\011*\000\000\011:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004%\000\000\000\000\000\000\000\000\000\000\001\030\000\000\0012\000\000\000\000\0016\000\000\000\157\000\000\000\000\000\000\000\000\000\000\004%\004%\000\000\000\000\004\193\004%\000\000\004%\001*\000\000\000\000\001.\000\000\000\000\000\000\004%\000\000\001:\001N\004%\001J\000\000\004%\000\000\000\000\000\000\000\000\001R\000\000\001V\004%\000\000\000\157\000\000\004%\004%\000\000\003\022\001^\0112\000\000\003\026\001f\001j\000\000\003\030\003\"\000\000\003&\000\000\000\000\000\157\000\000\000\000\000\000\001\030\000\000\0012\000\000\000\000\0016\000\000\000\000\000\000\003*\000\000\000\157\000\157\000\000\003.\000\000\000\000\000\162\000\000\000\000\000\000\001*\000\000\000\000\001.\000\000\0036\000\000\000\000\000\000\001:\004\202\000\000\001J\000\000\000\000\000\000\000\000\000\000\000\000\001R\000\000\001V\000\000\000\000\000\000\000\000\000\000\003:\000\000\003\022\001^\000\000\003>\003\026\001f\001j\000\000\003\030\003\"\000\000\003&\003B\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003*\000\000\000\000\000\000\000\000\003.\000\000\001\030\000\162\0012\000\000\000\000\0016\000\000\000\000\000\000\000\000\0036\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001*\000\000\000\000\001.\000\000\000\000\000\000\000\000\000\000\001:\0032\003:\001J\000\000\000\000\000\000\003>\000\000\000\000\001R\000\000\001V\000\000\000\000\000\000\003B\000\000\000\000\000\000\003\022\001^\001\154\000\000\003\026\001f\001j\000\000\003\030\003\"\000\000\003&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003*\000\000\000\000\000\000\000\000\003.\000\000\000\000\000\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0036\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\000\000\000\146\000\000\000\150\006\150\000\154\000\174\000\178\000\182\006\154\003:\000\000\000\000\000\000\000\000\003>\000\000\000\000\001\030\000\000\006\202\000\186\000\000\006\206\003B\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\190\000\000\000\000\000\000\000\000\000\000\000\000\001*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\210\008*\000\000\000\000\000\000\000\202\000\000\000\000\000\000\000\000\001R\001\030\001V\006\202\000\000\000\000\006\206\000\000\000\000\000\206\006\234\001^\000\000\000\000\006\238\001f\001j\000\000\006\242\006\246\000\000\006\250\001*\000\000\000\000\008\170\000\000\000\000\000\000\000\000\000\000\006\210\006\214\000\000\000\000\000\000\006\254\007\002\000\000\000\000\000\000\001R\007\006\001V\000\000\000\162\000\000\000\000\000\000\000\000\000\162\006\234\001^\000\000\007\014\006\238\001f\001j\000\000\006\242\006\246\000\000\006\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\018\006\254\007\002\t\166\000\000\007\022\000\000\007\006\000\000\000\000\000\162\000\000\000\000\000\000\007\026\000\000\000\000\000\000\000\000\007\014\001\154\000\000\001\030\000\000\006\202\000\000\000\000\006\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\018\000\000\001*\000\000\000\000\007\022\000\000\000\000\000\000\000\000\000\000\006\210\007\n\000\000\007\026\000\000\000\149\000\000\000\000\000\000\001\154\001R\001\030\001V\t\226\000\000\000\000\t\230\000\000\000\000\000\000\006\234\001^\000\000\000\149\006\238\001f\001j\000\000\006\242\006\246\000\000\006\250\001*\000\000\000\000\000\000\000\000\000\000\000\149\000\000\000\000\t\234\t\246\000\000\000\149\000\149\006\254\007\002\000\000\000\000\000\000\001R\007\006\001V\000\149\000\162\000\000\011*\000\000\000\149\000\000\n\n\001^\000\000\007\014\n\014\001f\001j\000\000\n\018\n\022\000\000\n\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\149\000\000\000\000\000\000\000\000\000\000\007\018\006\254\n\030\000\000\000\000\007\022\000\000\n\"\000\000\000\000\000\162\000\000\000\000\000\000\007\026\000\000\000\000\000\000\000\000\n*\001\154\000\000\001\030\000\000\t\226\000\000\000\000\t\230\000\000\000\000\000\000\000\000\000\149\000\000\000\000\000\000\000\000\000\000\000\000\0112\000\000\n.\000\000\001*\000\000\000\000\n2\000\000\000\000\000\000\000\000\000\149\t\234\n&\000\000\n6\000\000\000\000\000\000\000\000\000\000\001\154\001R\001\030\001V\t\226\000\149\000\149\t\230\000\000\000\000\000\000\n\n\001^\000\000\000\000\n\014\001f\001j\000\000\n\018\n\022\000\000\n\026\001*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\234\n>\000\000\000\000\000\000\006\254\n\030\000\000\000\000\000\000\001R\n\"\001V\000\000\000\162\000\000\007\173\000\000\000\000\000\000\n\n\001^\000\000\n*\n\014\001f\001j\000\000\n\018\n\022\000\000\n\026\000\000\000\000\000\000\000\000\000\000\000\000\007\173\000\000\000\000\000\000\000\000\000\000\000\000\n.\006\254\n\030\007\173\007\173\n2\000\000\n\"\000\000\007\173\000\162\000\000\000\000\000\000\n6\000\000\000\000\000\000\000\000\n*\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173\000\000\000\000\000\000\000\000\007\173\000:\000\000\000\000\007\173\007\173\000\000\000\000\n.\000\000\000\000\000\000\007\173\n2\000\000\001\153\007\173\007\173\001\153\000\000\000\000\000\000\n6\000\000\000\000\000\000\007\173\000\000\001\154\000\000\000\000\000\000\000\000\001\153\000\000\000\000\007\173\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173\000\000\001\153\000\000\000\000\000\000\001\153\000\000\001\153\001\153\000\000\000\000\000\000\000\000\000\000\007\173\000\000\000\000\001\153\000\000\000\000\001\153\000\000\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173\000\000\000\000\007\173\007\173\000\000\000\000\007\173\000\000\001\153\000\000\000\000\007\173\007\173\000\000\000\000\005\133\007\173\000\000\005\133\000\000\001\153\000\000\005\133\000\000\005\133\000\000\000\000\000\000\000\000\005\133\005\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\003\166\000\000\001\153\000\000\000\000\000\000\001\153\000\000\000\000\000\000\000\000\007\173\000\000\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\000\000\000\000\001\153\001\153\000\000\000\000\005\133\000\000\003\174\000\000\000\000\000\000\001\153\001\153\001\153\000\218\000\000\000\000\007\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173\000\000\000\000\000\000\007\173\007\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173\000\000\000\000\000\000\000\000\003u\003u\003u\003u\000\000\003u\000\000\003u\003u\000\000\003u\000\000\003u\000\000\003u\007\173\003u\003u\003u\003u\005\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\238\007\173\000\000\003u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003u\000\000\000\000\000\000\000\000\000\000\000\000\007\173\000\000\000\000\007\173\007\173\003\254\000\000\000\000\004N\000\000\000\000\000\000\007\173\007\173\003u\000\000\000\000\007\173\000\000\000\000\003u\000\000\000\000\004\006\000\000\000\000\000\000\002\013\003u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\014\000\000\000\000\000\000\002\013\000\000\004^\004f\000\000\000\000\000\237\000\000\000\000\000\237\000\000\000\000\004.\000\000\000\000\004\022\000\000\004&\000\000\000\000\000\000\000\000\000\000\000\000\004\006\000\000\000\000\003u\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0046\004\014\000\000\000\000\000\000\000\237\000\000\000\237\000\237\000\000\000\000\000\000\002\013\000\000\000\000\000\000\000\000\004.\000\000\000\000\004\022\000\000\004&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003u\000\000\000\000\000\000\000\000\000\000\000\000\004>\000\000\000\000\002\013\000\000\0046\000\000\004\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\000\002\013\000\213\000\000\000\000\000\213\002\013\002\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004n\004F\002\013\000\000\000\213\000\000\000\000\000\000\000\213\004>\000\000\000\000\000\237\000\000\000\000\000\000\004\030\000\000\000\000\004\014\000\000\000\000\000\000\000\213\000\000\000\213\000\213\000\000\000\237\000\205\000\000\000\000\000\205\000\237\000\237\000\213\000\000\000\000\004\022\000\000\004&\000\000\000\000\000\237\004F\000\237\000\000\000\205\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\205\000\000\000\000\000\000\000\205\000\000\000\205\000\205\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\205\000\000\000\000\004\022\000\000\000\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\213\000\000\000\205\000\000\004\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\205\000\000\000\213\000\209\000\000\000\000\000\209\000\213\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\213\000\213\000\000\000\209\000\000\000\000\000\000\000\209\000\205\000\000\000\000\000\205\000\000\000\000\000\000\004\030\000\000\000\000\000\209\000\000\000\000\000\000\000\209\000\000\000\209\000\209\000\000\000\205\000\225\000\000\000\000\000\225\000\205\000\205\000\209\000\000\000\000\004\022\000\000\000\209\000\000\000\000\000\205\000\205\000\205\000\000\004\006\000\000\000\000\000\000\000\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\004\014\000\000\000\000\000\000\000\225\000\000\000\225\000\225\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\225\000\000\000\000\004\022\000\000\004&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\209\000\000\0046\000\000\004\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\225\000\000\000\209\000\217\000\000\000\000\000\217\000\209\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\209\000\209\000\000\004\006\000\000\000\000\000\000\000\217\000\225\000\000\000\000\000\225\000\000\000\000\000\000\004\030\000\000\000\000\004\014\000\000\000\000\000\000\000\217\000\000\000\217\000\217\000\000\000\225\000\221\000\000\000\000\000\221\000\225\000\225\000\217\000\000\000\000\004\022\000\000\004&\000\000\000\000\000\225\000\225\000\225\000\000\004\006\000\000\000\000\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\004\014\000\000\000\000\000\000\000\221\000\000\000\221\000\221\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\221\000\000\000\000\004\022\000\000\004&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\217\000\000\0046\000\000\004\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\217\000\229\000\000\000\000\000\229\000\217\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\217\000\217\000\000\004\006\000\000\000\000\000\000\000\229\000\221\000\000\000\000\000\221\000\000\000\000\000\000\004\030\000\000\000\000\004\014\000\000\000\000\000\000\000\229\000\000\000\229\000\229\000\000\000\221\003\254\000\000\000\000\000\245\000\221\000\221\004.\000\000\000\000\004\022\000\000\004&\000\000\000\000\000\221\000\221\000\221\000\000\004\006\000\000\000\000\000\000\000\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0046\004\014\000\000\000\000\000\000\000\245\000\000\000\245\004f\000\000\000\000\000\000\000\229\000\000\000\000\000\000\000\000\004.\000\000\000\000\004\022\000\000\004&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004>\000\000\000\000\000\229\000\000\0046\000\000\004\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\000\000\000\229\003\254\000\000\000\000\000\233\000\229\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\229\000\229\000\229\000\000\004\006\000\000\000\000\000\000\000\233\004>\000\000\000\000\000\245\000\000\000\000\000\000\004\030\000\000\000\000\004\014\000\000\000\000\000\000\000\233\000\000\000\233\000\233\000\000\000\245\003\254\000\000\000\000\000\241\000\245\000\245\004.\000\000\000\000\004\022\000\000\004&\000\000\000\000\004n\004F\000\245\000\000\004\006\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0046\004\014\000\000\000\000\000\000\000\241\000\000\000\241\004f\000\000\000\000\000\000\000\233\000\000\000\000\000\000\000\000\004.\003\189\000\000\004\022\003\189\004&\000\000\000\000\003\189\000\000\003\189\000\000\000\000\000\000\000\000\003\189\003\189\000\000\000\000\000\000\000\000\004>\000\000\000\000\000\233\000\000\0046\000\000\004\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\233\000\000\000\000\000\000\0021\000\233\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\233\004F\000\233\000\000\000\000\003\189\000\000\000\000\000\000\004>\000\000\000\000\000\241\000\000\000\000\000\000\004\030\0021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0021\000\000\000\000\000\241\0021\0021\000\000\000\000\000\241\000\241\000\000\000\000\000\000\000\000\0021\000\000\000\000\000\000\000\241\004F\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\005.\000F\000b\000\000\000f\0021\000j\000\134\000\000\000\138\003\189\000\146\000\000\000\150\000\000\000\154\000\174\000\178\000\182\000\000\0021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0021\000\000\000\190\0021\0021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0021\0021\000\000\000\000\000\000\0021\000\000\000\000\000\000\000\000\000\000\000\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\000\000\000\000\000\000\0052\0056\0002\000\214\000F\000b\000\000\000f\000\000\000j\000\134\000\000\000\138\000\000\000\146\000\000\000\150\000\000\000\154\000\174\000\178\000\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\005.\000F\000b\000\186\000f\000\000\000j\000\134\000\000\000\138\000\000\000\146\000\000\000\150\000\190\000\154\000\174\000\178\000\182\000\000\000\000\000\000\000\000\000\000\000\000\005:\000\000\000\000\000\000\000\000\000\000\000\186\000\000\000\000\000\000\000\202\000\000\000\000\000\000\000\000\000\000\000\230\000\190\000\000\000\000\002}\000\000\000\000\000\000\000\206\000\000\000\000\0002\005.\000F\000b\000\000\000f\000\000\000j\000\134\000\000\000\138\000\202\000\146\000\000\000\150\000\000\000\154\000\174\000\178\000\182\000\000\000\000\000\000\000\000\000\000\000\206\000\000\000\000\000\000\021\210\0056\000\000\000\186\000\000\0002\000\214\000F\000b\000\162\000f\000\000\000j\000\134\000\190\000\138\000\000\000\146\000\000\000\150\000\000\000\154\000\174\000\178\000\182\000\000\000\000\000\000\000\234\000\000\000\000\000\000\000\000\000\000\000\000\000\202\000\000\000\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\190\000\206\000\000\002-\000\000\0052\0056\000\000\021\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\202\000\000\000\000\000\000\000\000\012\013\000\230\002u\000\000\000\000\0002\005.\000F\000b\000\206\000f\000\000\000j\000\134\000\000\000\138\000\000\000\146\012\013\000\150\000\000\000\154\000\174\000\178\000\182\000\000\nV\000\000\000\000\000\000\000\000\000\000\000\000\012\013\000\000\005B\000\000\000\186\000\000\012\013\012\013\000\000\000\000\n^\000\000\000\000\nj\000\000\000\190\012\013\000\162\000\000\012\013\000\000\012\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\202\000\000\000\000\000\000\000\000\000\000\012\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\000\000\000\000\000\153\021\210\0056\000\000\000\000\000\000\002%\000\000\nv\000\000\000\000\000\000\0002\006B\006J\000b\000\000\000f\000\153\006N\000\134\000\000\000\138\000\000\000\146\000\169\000\150\012\013\000\154\000\174\000\178\000\182\nz\000\153\012\013\000\000\000\000\000\000\000\000\000\153\000\153\000\000\n\130\011\026\000\186\000\000\012\013\000\000\000\000\000\153\000\000\000\000\011*\000\000\000\153\000\190\000\000\021\222\011\"\000\000\000\000\012\013\012\013\000\000\000\169\000\169\000\000\000\000\000\000\000\161\000\000\000\000\000\000\000\000\000\169\000\153\006R\011*\000\000\011:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\026\000\000\000\000\000\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011J\000\165\011\"\000\000\000\000\000\000\000\000\000\000\000\161\000\161\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\161\011\026\0112\011*\000\000\011:\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\011\"\000\000\000\000\000\000\000\169\000\000\000\165\000\165\000\000\011\026\000\161\0112\000\000\000\153\000\153\000\000\000\165\000\000\000\000\011*\000\000\011:\000\000\000\169\011\"\000\000\000\000\000\000\000\000\000\000\000\173\000\173\011\018\000\000\000\000\000\000\000\000\000\000\000\169\000\169\011B\000\000\011J\011*\000\000\011:\000\000\000\000\000\161\000\000\011\026\000\000\000\000\000\000\000\000\0112\011\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\"\011J\000\161\000\000\000\000\000\000\000\189\011j\011\018\011\026\000\000\000\000\000\000\000\000\000\000\000\165\011B\000\161\000\161\011*\000\000\011:\0112\000\000\011\"\000\000\011\026\000\000\000\000\000\000\000\177\000\177\000\000\000\000\000\165\000\000\000\000\000\000\000\000\011R\011B\011\"\011J\011*\000\000\011:\0112\000\185\011j\000\165\000\165\000\000\000\000\000\000\000\000\000\000\000\000\011B\000\173\000\000\011*\000\000\011:\000\000\000\000\000\000\011J\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\173\000\000\000\000\000\000\000\000\000\000\011R\000\000\000\000\011J\000\000\000\000\000\000\0112\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\189\000\000\000\000\000\000\000\000\011R\000\000\000\000\000\000\000\000\000\000\000\000\0112\000\000\000\000\011r\011Z\000\000\000\000\000\000\000\000\000\000\011R\000\000\000\177\000\000\000\000\000\000\000\000\0112\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\011Z\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\011Z"))
1380
1381 let lhs =
1382 (16, "\000\012\000\011\000\n\000\t\000\008\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\001\t\001\t\001\t\001\008\001\008\001\008\001\008\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\003\001\003\001\003\001\003\001\002\001\001\001\001\001\001\001\000\001\000\001\000\000\255\000\255\000\255\000\254\000\254\000\254\000\253\000\252\000\251\000\250\000\250\000\249\000\249\000\248\000\248\000\247\000\247\000\246\000\246\000\245\000\244\000\244\000\243\000\243\000\242\000\242\000\242\000\241\000\241\000\240\000\239\000\238\000\237\000\236\000\235\000\234\000\233\000\232\000\231\000\230\000\229\000\228\000\227\000\227\000\226\000\226\000\225\000\225\000\224\000\224\000\223\000\223\000\223\000\222\000\222\000\222\000\222\000\222\000\221\000\221\000\221\000\221\000\221\000\220\000\219\000\219\000\219\000\219\000\218\000\218\000\217\000\217\000\216\000\216\000\215\000\215\000\215\000\214\000\214\000\214\000\213\000\213\000\213\000\213\000\212\000\212\000\212\000\212\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\210\000\209\000\209\000\208\000\208\000\208\000\207\000\207\000\206\000\206\000\206\000\205\000\205\000\204\000\204\000\204\000\203\000\202\000\201\000\201\000\200\000\200\000\199\000\199\000\198\000\198\000\197\000\197\000\196\000\195\000\194\000\194\000\193\000\193\000\192\000\191\000\191\000\191\000\191\000\190\000\189\000\188\000\188\000\187\000\186\000\186\000\185\000\185\000\185\000\185\000\185\000\184\000\184\000\184\000\184\000\183\000\183\000\183\000\183\000\182\000\182\000\182\000\182\000\181\000\180\000\180\000\179\000\179\000\179\000\178\000\177\000\177\000\177\000\177\000\176\000\175\000\175\000\175\000\175\000\174\000\174\000\174\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\172\000\172\000\171\000\171\000\170\000\170\000\169\000\169\000\168\000\168\000\168\000\168\000\167\000\167\000\167\000\167\000\166\000\166\000\166\000\166\000\166\000\165\000\164\000\164\000\164\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\156\000\156\000\156\000\156\000\156\000\155\000\154\000\153\000\153\000\152\000\152\000\151\000\151\000\150\000\150\000\149\000\149\000\148\000\148\000\147\000\147\000\146\000\146\000\145\000\145\000\144\000\144\000\143\000\143\000\142\000\142\000\141\000\141\000\140\000\140\000\139\000\139\000\138\000\138\000\137\000\137\000\136\000\136\000\135\000\135\000\134\000\134\000\133\000\133\000\132\000\132\000\131\000\131\000\130\000\130\000\129\000\129\000\128\000\128\000\127\000\127\000~\000~\000}\000}\000|\000|\000{\000{\000z\000z\000y\000y\000x\000w\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000u\000t\000s\000r\000q\000p\000o\000n\000m\000l\000l\000l\000k\000k\000k\000j\000j\000j\000j\000i\000h\000g\000f\000e\000d\000c\000c\000c\000b\000b\000b\000a\000a\000`\000`\000`\000_\000_\000^\000]\000]\000]\000\\\000[\000[\000Z\000Z\000Y\000Y\000X\000X\000W\000W\000V\000V\000U\000U\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000S\000S\000R\000R\000Q\000Q\000P\000P\000P\000P\000P\000O\000O\000N\000N\000N\000N\000M\000L\000K\000K\000K\000J\000J\000J\000I\000I\000I\000I\000I\000I\000H\000H\000H\000H\000H\000G\000G\000G\000G\000G\000G\000G\000F\000F\000F\000F\000F\000F\000F\000E\000E\000E\000E\000E\000E\000E\000D\000D\000D\000D\000D\000D\000D\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000B\000B\000B\000B\000B\000B\000B\000B\000B\000B\000B\000B\000B\000A\000A\000A\000A\000A\000A\000A\000A\000A\000A\000A\000A\000A\000@\000@\000@\000@\000@\000@\000@\000@\000@\000@\000@\000@\000@\000?\000?\000?\000?\000?\000>\000=\000=\000=\000=\000=\000=\000<\000;\000:\0009\0008\0008\0007\0006\0006\0006\0006\0006\0006\0006\0005\0005\0005\0005\0005\0005\0004\0003\0003\0002\0002\0001\0001\0000\0000\000/\000/\000.\000.\000-\000-\000,\000,\000+\000+\000*\000*\000)\000)\000(\000(\000'\000'\000&\000&\000%\000%\000$\000$\000$\000$\000$\000$\000$\000$\000$\000$\000$\000$\000$\000$\000$\000$\000$\000#\000#\000#\000\"\000\"\000\"\000\"\000!\000!\000!\000!\000!\000 \000\031\000\031\000\031\000\030\000\030\000\029\000\028\000\027\000\027\000\027\000\027\000\026\000\026\000\026\000\025\000\025\000\024\000\024\000\024\000\023\000\023\000\023\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\021\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\016\000\016\000\016\000\016\000\016\000\015\000\015\000\014\000\013\000\013\000\013\000\013\000\013")
1383
1384 let goto =
1385 ((16, "\001.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\159\002\206\000\000\000\179\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000[\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\011\000\179\000u\000\000\000\000\000\000\000\000\000\000\012\226\000\128\006\208\000\000\000\000\000\000\004\232\000\000\0004\001!\0024\000\000\000\000\015\168\000\000\003\244\000\000\000B\013\"\018('x&\138\005\028'\156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000'\012'x\000\000\000\0000$\000\0004\200\000\000\t\216\000\000\000\000\000\000\000\000\001r\000\000\"\014\000\000\000\000\000\236\000\000\n\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018T\000\000\020L\000\000\020\244\000\000\021\178\000\000\024R\000\000\026J\000\000\028B\000\000\028\212\000\000\030\204\000\000\",\000\000\007\178\000\000\011\166\000\000\000\000\000\000\000\000\000\0009\170\000\0009\176\000\000:\128\000\000\"z\000\000\000\000\"\162\000\000\000\000\000#\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004F\000Z\000\000\000\230\000\000\000\000%\176\000\0004N\000\000\000\000\000\000\001\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0006\000\000\000\000\000\000\000\000\000\000\000\000\003\254'\156\000\000\n\186\000\000\018\160\005n\000\000\000\000\000\000\002\026\000\000\"\160\000\000\000\0004n\000\000\000\000\000\000\002.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\012\000\0008 \000\000\000\000\000\000\000\000\0006\000\000\000\0004\198\000\000\000\000\000\000\tz\000\248\000\000\000\000\000\000\000\000\000\000\000\000\016&\000\000\021\232\000\000\022\188\000\000\023\224\000\000\026\128\000\000\027T\000\000\027\208\000\000\029 \000\000\029L\000\000\031\024\000\000\023h\000\000\005V\000\000\031D\000\000%\250\000\000(b\000\000\000\000\000\000\000\000\000\000\000\1314\240\000\000\000\006\000\000\000\000\000C\003@\000\000\002@\000\000\000\000\000\000\013N\000\000\000\000\000\000'\236\000\000\000\000\000\000\000\000\000\000(`\000\000\000\000\000\000\000\000\000\000\000\000\000F\000\000\000\000\000\000\0014\000\000\000\000\000\000\000\168\000\000\000\000\0004\000\179\000\000\000\000\001\023\008\208\000\000\000\000\000\000\000\000\000\000\002\164\000\000\007j\000\000\0064\000\000\000\000\003x\000\000\000\000\000\000\000\000\000\000\000\000)\\\000\000\000\000\000\000\0008\000\000\000\000\000\000\000\000\008\244\012\212\000\000\002P\000\000\000\000\004\212\003\006\000\000\000\000\000\000\000\000\014\190\000\000\000\000\000\000\000\000\000\000\000\000\001\132\003\134\000\000\005D\000\000\000\000\000\000\002*\000\000\011\152\000-\000\000.\016\000\000\000\000\000\000\000\182\002$\000\000\000\000\000\000\001\210\000\000\000\000\002\030\000\000\002j\000\000\000\000\000\000\000\000\000\"\002\170\000\000\003\"\000\000\000\000\000\000\000\000\000\000\000\0005\016\000\000)\008\000\0005:\000\000\000\000\002\194\000\000\006\172\000\000\007\252\018\204)N\000\000\000\000\000\000\000&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\130)N\000\000\020\028\000\000\023:\nL\000\000\000\000\000\000\003\218\000\000#\\\000\000\000\0005>\000\000\000\000\000\000\004\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0008,\000\0008\180\000\000\000\000\000\000\002\164\000\000\000\000\000\000\000\000\000\000\000\000\012\180\000\000\019t\000\000\022\146\000\000\022\234\000\000\029\202\000\000 \136\000\000#\030\000\000$l\000\000(\154\000\000+\n\000\000\025`\000\000\000f\000\000+\164\000\000/\016\000\0001\206\000\000)\158\000\000\000\000\000\0005\232\000\000\000\000\000\000\000\017\000\0006\030\000\000\000\000\000\0006\"\000\000\000\000\000]\000\000\0244\000!\000\007\000\000\003\150\000\000\012\166\001\234\007B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0006h\000\000)\246&\252\004<\000\000\000\000\000\000 \030\000\000.L\000\000.z\000\000*F*\154\000V\002\176\004~\000\000\000\000\000\000\004\168\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0006\212\000\000\000\000\000\000\000\000\000\000#\238\000\000+2\000\000\000\000\000\000\000\000\000\000\000\000\013f\000\000\005\148\000\000\000\000\000\000\000\000\004\140\000\025\000\0006B\000\000\000\000\000\000\006\138\000\000\000\000\001v\003z\000\000\014X.\242\000\000\000\000+B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \208+B\000\000$\254\000\000)4\008\168+`\000\000\027\022\000\000\000\000\000\000\004\186\000\000$\128\000\000\000\0006\252\000\000\000\000\000\000\005N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0007\002\000\0007\026\000\000\000\000\000\000.\026\000\000\000\000\016D\000\000\000\000\000\000\000\000\005\160\000\000\000\000\000\000&X\000\000\000\0007\236\000\000\003l\000\000\000\000\000\000\002x\000\000\024\154\000\000\025\216\000\000\025\234\000\000 b\000\000\"\234\000\000%\144\000\000&\222\000\000-F\000\0000\018\000\0008\218\000\0009\166\000\000:^\000\000\000\000\000\000\000\000\000\000/n\000\000\013\160\000\000/|%\n\000\000/\244\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\012\000\000\000\000\000\000\000\000\000\000\000\000\003\160\000\000\000\0008\176\000\000\000\000\000\000.\202\000\000\000\000\003\002\000\000\000\000\000\0008\238\000\000\000\000\000\000\000\000/\220\000\000\000\000\000\000\000\000\0050\nZ\000\0000j\000\000\000\000\000\000\000\000\024\220\000&\000\000\025\132\000\000\000\000\0128\000\0000\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\226\000\000\000\0009\024\000\000\000\000\000\0000\192\000\000\000\000\004\220\000\000\000\000\013\238\000\000\026,\000\000\000\000%<\000\000\000\000\000\000\000C\000\000\000\00098\000\000\000\000\000\000\000\0000\234\000\000\000\000\000\000\000\000\t\190\0146\000\0001x\000\000\000\000\000\000\000\000\000\000\000\000\014\174\000\000\000\000\006\000\000\000\0156\000\000\000C\000\000\000\000\005^-\174\000\000\005\134\000\000\000\000\000\000\000\000\002\164\000\000,*\000\000\026\212\002D\027|\000\000\004&\000\000\015\180\000\000\016<\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006d\028$\002\164\028\204\000\000\000\000\000\000\003\020\000\000\016\252\000\000\006\178\000\000\000\000\000C\005\"\029t\000\000\005\150\000\000\017\164\030\028\000\000\000\000\018L\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\184\007\246\000\000\006\216\000\000\000\000\000\000\000\000\006\208\000\000\018\244\000\000\000\000\000\000!\"7\182\000\000\000\000\000\000 \252\000\000\000\000\000\000\000\000\014\004\004\248\000\000\000\0001\154\000\000\000\000\000\000\000\000\005\006\000\000\000\0009\164\000\000\000\000\000\0001\160\000\000\000\000\000m\000\000\000\0002x\000\000\000\000\011b\006\246\000\000\000\0002~\000\000\000\000\0078!\184\000\000\0072\000\000\000\0002\150\000\000\000\000\000\000\000\000\000\000\000\000\007j\000\000\000\0009\186\000\000\000\000\000\0002\190\000\000\000\000\000\000\000\000\000\000%\206\000\000\000\000\000\000\001f\000\000\000\000\000\0003<\000\000\000\000\013\188\t\004\000\000\000\0003n\000\000\000\000\007B\000\000\000\000\000\000\000\000\002\164\001f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000d\000\000\019\156\000\000\000\000\000\0008\002\000\000\008t\000\000\000\000\000\000\0040\000\000\000\000\005:\020D\000\000\020\236\000\000\000\000\000\000\005\226\000\000!\232\006^\"\204\000\000#\204\000\000\000\000\000\000\006\220\000\000,\194\007\014-\022\000\000-6\000\000\000\000\000\000\007L\000\000'\234\007\164\000\000\000\000\005\008\0128\007\174\012\030\000\000 :\000\000\000\000\000\000\007\178\000\000,\002\007\222\000\000\000\000\000\000\003\200\000\000\000\000\000\000\004Z\000\000\000\000\000\000\004n\000\000\000\000\000\000\000\000\000\000\000^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\014\000\000\000\000\005J\000\000\002\168\000\000\000\000\007\\\000\000\006\192\005:\003J\000\000\000\000\004J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\224\000Q\000\000\000\000\002\172\000\000\000\000\000\000\008\\\000\000\000\000\t\148\n\166\000\000\000\000\000\000\000\000\011v\012\248\002\156\000\000\015,\000\000\000\000\000\000\000\000\000\000\000\000\015\236\000\000\000\000\0150\000\000\000\000\005*\000\000\000\000\007\226\000\000\000\000\tj\000\000\007\208\006\012\003\004\000\000\000\000\008\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\022\015\134\000\000\000\000\000\000\000\000\015\190\000\000\000\000\017\004\000\000\000\000\019\n\000\000\000\000\000\000\0188\004\216\000\000\020\188\000\000\000\000\000\000\000\000\000\000\000\000\000=\000\000\008d\006\008\003\248\000\000\000\000\000\000\000\000\002d\000\000\000\000\000\000\000\000\000\000\000\000\000\007\000\000\000\000\003\150\000\000\t$\006:\007\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\000\000\000\000\021\170\020\216\000\000\000\000\000\000\000\000\0202\000\000\004n\000\000\002\196\000\000\000\000\000\000\000\000\000\000\000\000\019\138\008\140\000\000\000\000\011 \000\000\000\000\000\000\000\000\000\222\000\000\014\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\191\000\000\000\000\002z\000\000\000\000\000\000\000\000\000\000\000\000\000\0003\150\004\008\000\000\000\000\000\000\008\234\000\000\000\000\017F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\189\000\000\000\000\000\000\000\000\000\000\000`\012\012\000\179\012J\021\164\005\150\000\000\000\000\005R\007\n\007\136\008\030\000\000\000\000\000\000\000\000\000\000\000\000\006t\021\148\000\000\030\196\007\138\000\000\000\000\007\142\000\000\022<\000\000.\156\000\000\000\000\007x\022\228\000\000\031l\000\000\008\008 \020\000\000\000\000\000\000\006>\005R\000\000\004<\000\000\000\000\000\000\001\158\000\000\016Z\000\000\005\184\013\022\000\000\000\000\000\000\000\000\002\164\000\000\003x\000\000\005\222\000\000\000\000\005\138\000\000\000\000\000\000\000\000\tB\000\000\000\000\005R\008\236\000\000\023\140\000\000\000C\006h\000\000\000\000\000\000\000\000\000\000\001\226\000\000\000\000\000\000\000\000\000\0004 \008\130\000\000\005\016\000\000\000\000\000\000\000\000\000\000\000\230\000\000\n\002\008\160\n\138\000\000\002p\011\016\000\000\t\016\000\000\002\238\000\000\003\188\000\000\004\172\000\000\000\000\000\000\000\000\000\000\008\150\000\000\005z\000\000\t(\000\000\005\248\000\000\000C\006\194\000\000\003n\000\000\006\198\006B\000\000\004\024\000\000\008\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\136\000\000\t\144\000\000\000\000\000\000\000\000\000\000\000\000\007p\000\000\000\000\006\190\000\000\000\000\007\018\008\216\008n\000\000\008t\000\000\000\000\008\014\t\218\000\000\007\248\000\000\000\000\000\000\000\000\008\174\000\000\000\000\000\000\000\000\000\000\000\000\t\140\000\000\000\000\000\000\008\174\008\162\t\006\t<\008\196\t\004\000\000\000\000\008\184\t\014\t^\008\230\t,\000\000\000\000\t`\000\000\000\000\000\000\000\000\t\250\000\000\000\000"), (16, "\001\200\001\223\000\017\004\135\004\013\002!\002\"\001?\003\007\001g\002!\002\"\004\216\005<\000>\002u\005=\000*\002m\003n\003V\004\136\004d\005!\005\"\000>\000@\001~\000C\003\007\004\214\004\217\004d\000\016\005A\001\200\001\201\004\232\000*\001%\000j\000\n\004\213\000\210\003\029\000\211\003!\000>\001\202\000\210\000j\0016\001\203\004\232\003\030\004\233\000>\000E\004\236\004d\004\214\004\217\004d\0009\001\200\001\223\000\t\001\200\001\201\000\017\005i\004\233\001+\001'\004\236\004d\005j\004P\000>\000\017\004e\000j\005k\001\202\003 \004`\005\029\001\203\000*\000j\004e\004\231\000\212\005:\0008\000j\000\213\003\157\000\212\001\228\004\018\001 \000\213\004^\001h\000*\001-\001%\004a\004d\003!\001Y\001\202\000j\001@\001\202\001\203\004e\000F\001\203\004e\000>\000\226\003\008\004\019\001S\000*\000+\000\226\002$\0009\001\200\001\223\004e\000h\000\166\000\175\002\\\000s\000F\0009\001&\000>\005\167\003C\000>\000*\001\216\002H\005k\005\168\003 \002a\004\213\005m\001\139\002b\000\163\001D\003(\000\247\001\217\003\159\003|\004k\002o\003\203\004e\000\163\001D\003)\004\214\004\217\004d\003j\005n\001i\003!\005\031\001\202\000j\001F\001\216\001\203\002J\000k\001A\003H\005\186\000l\001\162\002f\001m\004\139\004\014\003W\001\217\003v\000F\000\163\001D\002\\\003<\000h\000\227\003L\003\141\000q\003N\001\232\000\227\001\216\001T\000u\001\216\002H\002a\001p\004\016\001s\002b\000\163\001D\003(\005p\001\217\000\248\004\244\001\217\001 \001\233\004e\004\246\005q\005\139\001\234\001x\005\187\005\140\001\235\001_\003\007\001j\004\249\001\236\001\\\001B\000*\001]\000j\000\173\002K\002L\002N\000k\002f\000F\000\250\000l\0037\005\142\001\200\001\223\000>\001\152\001\222\003<\000\177\002\\\000j\005\144\001h\003N\001\232\000\232\000>\002\004\000*\001\216\002m\003n\003V\000u\002a\001+\000\163\000\164\002b\000\163\001D\003(\005\189\001\217\001@\001\233\000v\000\005\001\233\000h\001\234\005q\005\139\000q\001\235\001I\005\191\001E\003!\001\236\001\202\002\245\001\236\001\154\001\203\004\016\001\159\005\152\005\153\001-\000w\000\008\000\t\002f\000\248\000*\003p\0037\005\193\001\200\001\223\001\156\000*\002\143\003<\001(\002\147\000\173\005\195\001\133\003N\001\232\000*\000>\005\026\000j\000x\005k\005\173\003V\000k\001\150\000F\004\225\000l\002\242\001\135\003C\000n\000*\003}\001\228\001\233\001 \001=\000v\001\146\001\234\000y\004\222\005\157\001\235\001\158\000\160\003\130\003!\001\236\001\202\000u\000j\004q\001\203\000{\002\148\002\183\005s\004\138\002\149\000\186\000w\000>\005\183\001\200\001\223\001+\004\232\004\153\004d\004r\002\\\003\247\000*\004u\004d\004\136\004d\000>\000\163\000\164\001\216\005k\005\173\003V\004\233\002a\000\149\004\236\004d\002b\000\163\001D\003(\001\136\001\217\001\153\003\127\005&\005'\001,\005:\003\130\004\178\003)\001\161\002u\000F\003j\000y\003!\001\135\001\202\000\150\000\215\001%\001\203\000\151\005+\000>\003\007\004\179\000*\000{\000\224\002f\005\178\004e\001(\003W\000\173\003v\000v\004e\002\143\004e\003<\002\147\002\\\004x\003\141\000F\003N\001\232\003x\002!\002\"\004e\001\216\001\231\004\223\000\148\002\162\002a\000>\002\246\000w\002b\000\163\001D\003(\005\179\001\217\002E\001\233\005\254\002\163\001\200\001\223\001\234\005q\005\139\004\235\001\235\005\255\002d\004\027\005:\001\236\000*\002[\000>\000\149\001b\002\148\005k\005\173\003V\002\149\001q\004\233\003\132\002f\004\236\004d\000\210\003W\000\233\005\181\000*\000\210\002\\\000\231\003<\000y\000\163\000\164\003A\000\150\003N\001\232\001\216\000\151\003!\004y\001\202\002a\002F\000{\001\203\002b\000\163\001D\003(\005\179\001\217\001\163\004\221\000*\005\180\000F\001\233\000F\005q\005\139\003\008\001\234\002\195\002d\003p\001\235\000j\004\129\004\222\000\212\001\236\000j\003\135\000\213\000\212\000>\002\198\004e\000\213\001\128\002f\000\173\005\006\002\194\003W\000*\005\181\000\163\000\164\002#\002\187\003<\004{\004]\005\212\003A\000\238\003N\001\232\000\226\004i\004\029\000*\003\013\000\226\001u\002\162\002\223\002\240\002\226\000>\004^\001\200\001\223\001^\002\190\004a\004d\004\182\001\233\002\163\003\017\000\163\000\164\001\234\006\007\000>\004Z\001\235\002\\\005k\005\173\003V\001\236\000F\000*\001*\004j\000\173\001\216\002\193\002\229\002t\0057\002a\0036\000>\002\193\002b\000\163\001D\003(\005\179\001\217\004|\003\030\000>\000D\003!\000C\001\202\005q\005\139\001\205\001\203\000*\002d\004y\000\210\005o\000\233\001\130\000>\000\173\005\182\004e\002m\004\223\001t\004\207\004d\000\227\002\252\002f\004\030\000*\000\227\003W\000E\005\181\003\143\002\195\000>\0017\003<\001\214\000*\000\210\003A\000\211\003N\001\232\000>\000*\004B\002\196\0058\000\241\004\133\000\210\003s\000\211\0025\005L\000j\001\200\001\223\000\212\000\163\000\176\005\161\000\213\001\233\005\162\003\020\002!\002\"\001\234\005\219\000>\000\251\001\235\0058\005k\005\173\003V\001\236\000>\004e\000*\002G\004k\004\226\000j\000\238\002D\000\212\000\226\003\143\002\\\000\213\000\252\003\153\000\163\001D\000j\000\253\004p\000\212\001\216\000\254\003!\000\213\001\202\002a\000\255\002\249\001\203\002b\000\163\001D\003(\005\179\001\217\005\166\002\151\000\226\005\190\001\200\001\223\000*\005q\005\139\004f\004\029\003e\002d\004~\000\226\000\163\000\176\003\\\000>\005\130\002F\000F\005k\005\173\003V\000\163\001D\003\030\003\005\002f\003\019\003e\000F\003W\004%\005\181\003\146\004\168\001F\000F\003<\000\163\001D\003(\003A\003g\003N\001\232\000>\001m\003!\004'\001\202\000>\003)\000\227\001\203\005E\004\222\005:\004\184\000\163\000\176\002!\002\"\003f\005\194\000\239\001\233\003,\002i\000\163\000\164\001\234\001p\002\160\001s\001\235\002\\\004C\003\185\000\241\001\236\004\241\000\227\002t\003<\003\193\001\216\005P\003A\005G\003N\002a\001\200\001\223\000\227\002b\000\163\001D\003(\005\179\001\217\001Y\000\251\005\127\000\163\001D\000>\002u\005q\005\139\002m\003n\003V\002d\002\185\001S\004(\005z\001\132\003\168\000\173\000*\005\129\000\252\000>\000@\000A\000C\000\253\003\030\002f\001\023\000\254\004'\003W\005\150\005\181\000\255\003!\002\\\001\202\003<\005\197\003\138\001\203\003A\005\132\003N\001\232\001\216\005}\005\201\000\252\005~\002a\000\173\000E\005L\002b\000\163\001D\003(\005\179\001\217\000\228\004\228\000\255\001\200\001\223\001\233\004\178\005q\005\139\004\127\001\234\000*\002d\003\140\001\235\004/\005T\000>\003\138\001\236\003\162\002m\003n\003V\004\179\000\163\001D\002!\002\"\002f\000\163\001D\0041\003W\005\128\005\181\003\162\000>\001T\004t\003<\000*\005H\005l\003A\004\128\003N\001\232\005X\003!\005[\001\202\003\139\005\128\003\164\001\203\005L\004r\003\030\000h\003\030\004u\004d\000q\005\220\002\\\001[\000F\001\233\000*\003\163\001\\\005\224\001\234\001]\001\216\000\173\001\235\0042\003\005\002a\003\019\001\236\004\003\002b\000\163\001D\003(\004\003\001\217\004\022\003|\001Y\001\200\001\223\0041\001\200\002\014\003)\002!\002\"\0049\002d\000\163\001D\000j\001S\000>\004\171\005\229\000k\002m\003n\003V\000l\002v\001F\004\005\004;\002f\004e\000F\004\004\003W\000\145\003v\004\172\001m\004\175\004d\003<\005L\004<\002\247\003A\004\181\003N\001\232\000u\003!\002\\\001\202\000j\005O\001\202\001\203\005b\004\185\001\203\004;\001\216\000F\001p\004\179\001s\002a\001\200\001\223\001\233\002b\000\163\001D\003(\001\234\001\217\003z\003|\001\235\005\230\003\210\000>\004\135\001\236\003)\002m\003n\003V\002d\004?\000F\000\163\001D\002\143\004\186\004H\002\147\004K\004e\005\235\004\136\004d\005\234\004\232\001T\002f\0041\004\239\005\170\003W\003\219\003v\004J\003!\004J\001\202\003<\005N\004N\001\203\003A\004\233\003N\001\232\004\236\004d\000\210\000>\000\233\005g\005\239\000v\001_\004\229\001`\0041\005\141\001\\\003\229\000j\001]\002\\\000\173\002\148\001\233\000>\003\030\002\149\001n\001\234\000\148\001\216\005\184\001\235\001\216\000w\002a\0051\001\236\004e\002b\000\163\001D\003(\005\170\001\217\003\161\003|\001\217\004\230\001\200\001\223\000j\004\171\003)\000\212\005\170\000E\002d\000\213\005\244\000\149\001R\004e\000>\000*\005\212\005\159\002m\003n\003V\004\172\005M\004\175\004d\002f\001S\005\188\000\210\003W\000\233\003v\005\248\000y\002\\\000\226\003<\000\150\005\176\004\187\003A\000\151\003N\001\232\001\216\004\174\003!\000{\001\202\002a\005\192\006\015\001\203\002b\000\163\001D\003(\004\242\001\217\004\026\003|\006\016\005\236\004\172\001\233\004\175\004d\003)\004\135\001\234\002\162\002d\005\246\001\235\000j\000h\000>\000\212\001\236\000i\0058\000\213\004e\005\252\002\163\006\002\004\136\004d\002f\006\t\0058\005\212\003W\004\243\003v\005\212\001\200\001\223\006\000\003<\000\163\001D\004\142\003A\005\238\003N\001\232\000\226\003O\006\001\000>\006\003\006\004\001T\005k\006\005\003 \000\227\000\163\001D\006\008\000j\004\179\005\014\004e\000F\000k\001\233\006\n\006\011\000l\001F\001\234\001\200\001\201\006\012\001\235\002\\\006\020\000\000\000\000\001\236\003!\0052\001\202\004e\001\\\001\216\001\203\001]\005\213\000\173\002a\000\000\000u\002\165\002b\000\163\001D\003(\005\185\001\217\005\137\003|\001\200\001\223\000\251\001p\001w\001s\003)\000h\002u\003\254\002d\000s\005\249\0055\000>\000j\000\000\001\202\005k\005\248\003 \001\203\000*\000\252\000\210\000\227\000\230\002f\000\253\004\193\000\000\003W\000\254\003v\000\000\005\249\005\248\000\255\003<\005\249\000\000\004\135\003A\000\000\003N\001\232\003!\000\000\001\202\000\000\000\000\000\249\001\203\000j\000\000\000\163\000\176\000>\000k\004\136\004d\005\215\000l\000\000\005\171\005\217\001\233\001\200\001\223\002\\\000j\001\234\000v\000\212\000\251\001\235\000\000\000\213\000\000\001\216\001\236\000>\000\000\000\000\002a\005k\000u\003 \002b\000\163\001D\003(\005\172\001\217\004\148\000\252\000w\000\000\000\000\004\232\000\253\005q\005\139\000\226\000\254\000\000\005\175\000\000\000\000\000\255\005\011\000\000\000\000\003!\000\000\001\202\001\216\004\233\004e\001\203\004\236\004d\000>\002f\000\000\000\000\000\000\0037\005\177\000\000\001\217\005\174\000F\000\000\003<\001\200\001\223\002\\\003A\000\000\003N\001\232\000h\000\000\000\188\004\135\000i\001\216\005\021\000>\000\000\000\000\002a\002m\003\209\003 \002b\000\163\001D\003(\005\172\001\217\001\233\004\136\004d\000\000\000\000\001\234\000v\005q\005\139\001\235\000\000\000\000\005\175\000\000\001\236\000\000\000\000\004e\003\021\003!\000\000\001\202\000\000\000\227\000\000\001\203\000j\000\000\000\000\002f\000w\000k\000\000\0037\005\177\000l\003\025\001\218\000\163\000\164\003<\000\000\002\\\000\000\003A\000>\003N\001\232\000\000\005E\000\000\004 \001\216\000\000\000>\003\156\000x\002a\002m\000u\004e\002b\000\163\001D\003(\005\172\001\217\000\000\001\233\004\146\000\000\000\000\000\000\001\234\005q\005\139\000>\001\235\000y\005\175\005E\000\000\001\236\000z\000\000\002u\004B\005\008\000\000\000\173\001\200\001\221\000{\000\000\000\000\000\000\002f\000\000\000\000\000*\0037\005\177\000\000\000\163\000\176\000\000\000\000\003<\001\200\001\223\002\\\003A\000\000\003N\001\232\001\200\001\201\000\000\000\000\000\000\001\216\000\000\000>\000\000\000\000\002a\002m\005\017\003 \002b\000\163\001D\003(\000\000\001\217\001\233\000j\000\000\001\202\000\000\001\234\000v\001\203\003)\001\235\000>\001o\003\145\000C\001\236\000\000\000\000\000>\000\000\003!\001|\001\202\000\000\000\000\000\000\001\203\000j\000\000\001\202\002f\000w\000\000\001\203\0037\003\147\000h\000\000\000\000\004\159\000q\003<\004\135\000E\000>\003A\000\000\003N\001\232\000\000\000E\000\000\003\154\000\000\000\163\005F\003\156\000\147\000h\000\000\004\136\004d\000i\000\163\001D\003(\005R\005I\000\000\001\233\001\200\001\223\000\000\000\000\001\234\000F\003)\002k\001\235\000y\000\000\000\000\000j\001\236\000>\000\163\005F\000k\002m\003\027\003 \000l\000\000\000{\000\000\000\000\000\000\005Q\005I\002\143\005y\004E\002\147\001\216\000j\000\000\000\000\000\000\003<\000k\000\000\002\\\003A\000l\003N\000u\003!\001\217\001\202\004e\000\000\001\216\001\203\003\"\000\000\000\000\002a\000>\001\216\000\000\002b\000\163\001D\003(\000\000\001\217\0011\000u\001\200\001\223\000\000\003&\001\217\000\000\003)\002[\0039\000\000\003\145\002\148\000\000\000\000\000>\002\149\000\163\001D\002m\003:\003V\003\253\000\000\000\163\001D\000>\000\000\002f\000\000\001F\000\000\0037\003\147\004\232\000\000\000\000\001F\000\000\003<\000\000\001m\000\000\003A\000\000\003N\001\232\003!\000\000\001\202\000\163\001D\004\233\001\203\002\143\004\236\004d\002\169\003\184\000\000\000v\000\000\000\000\005z\000\000\000\000\001p\001\233\001s\002u\002\\\000\000\001\234\001p\001\233\001s\001\235\000\000\000\000\001\"\001\216\001\236\000v\000*\000w\002a\000\000\000\000\001\238\002b\000\163\001D\003(\002\187\001\217\004\157\005}\001\200\001\223\005~\000j\000\173\000\000\003)\002\148\003Y\000w\003[\002\149\002\162\000\149\000>\002\230\000\000\004e\002m\003:\003V\002\190\000>\000@\001z\000C\002\163\002f\000\000\000\000\000\000\0037\003]\000\000\000\000\000y\000\163\000\176\003<\000\150\000\000\002\\\003_\000\151\003N\001\232\003!\002\232\001\202\000{\000\000\001\216\001\203\002\193\000E\000\000\002a\0010\000\000\000\000\002b\000\163\001D\003(\000\000\001\217\001\233\000\000\001\200\001\223\000\000\001\234\000\163\001D\003)\001\235\003^\000\000\002d\000>\001\236\000\000\000>\000\000\000\000\003\190\002m\003:\003V\000\000\004\135\002\238\000\000\000\000\000\000\002f\000F\002\195\004\165\003W\000\000\003X\000\000\000\000\002\162\000\000\003<\000\000\004\136\004d\003A\002\196\003N\001\232\003!\000\000\001\202\000\000\002\163\000\000\001\203\003\202\000\000\003\208\000\000\000h\000\000\005\024\000\000\001<\000\000\001\200\001\223\000\000\001\233\004\135\000\000\002\\\000\000\001\234\000\000\000\000\000\000\001\235\003P\000>\000\000\001\216\001\236\002m\003n\003V\002a\004\136\004d\000\000\002b\000\163\001D\003(\000\000\001\217\003T\004\135\000\000\000\163\001D\004e\000\000\000\000\003)\000j\000\000\000>\002d\000\000\000k\003!\001F\001\202\000l\004\136\004d\001\203\000\000\000\000\000\000\000\000\000\210\001m\000\211\002f\004\162\000\000\000\000\003W\000\000\003X\000\000\001\200\001\223\000\000\003<\000h\000u\002\\\003A\000q\003N\001\232\000\000\000\000\004e\000>\001p\001\216\001s\002m\003n\003V\002a\000\000\000\163\000\164\002b\000\163\001D\003(\000>\001\217\001\233\000\000\000\000\000\000\000j\001\234\000\000\000\212\003)\001\235\004e\000\213\002d\000\000\001\236\003!\000\000\001\202\000\000\000j\000\000\001\203\000\000\000\000\000k\000\000\000\000\000\000\000l\002f\000\000\000\000\000\000\003W\000\000\003X\000\000\000\226\002\\\000\000\003<\004\163\000\000\000\173\003A\000\000\003N\001\232\001\216\000\000\004\155\000\000\000u\002a\005\130\000\000\000v\002b\000\163\001D\003(\000\000\001\217\000\000\003u\001\200\001\223\000\000\001\233\000\000\000\000\003)\000\000\001\234\000\000\002d\000\000\001\235\000\000\000>\000w\000\000\001\236\002m\003n\003V\000\163\000\164\000\000\000\000\000\000\000\000\002f\000\000\004\171\004\191\003W\000\000\003v\000\000\000\000\000\000\000\210\003<\000\233\000\000\002\\\003A\000\000\003N\001\232\003!\004\172\001\202\004\175\004d\001\216\001\203\000\000\000\227\000\000\002a\000\000\004\196\002\181\002b\000\163\001D\003(\000\000\001\217\001\233\003w\0054\000v\004\163\001\234\000\173\000\000\003)\001\235\000\163\001D\002d\000\000\001\236\000\000\000\000\000j\001\200\001\223\000\212\004\166\002\183\005z\000\213\000\000\000\000\000w\000\000\002f\000\000\000\000\000>\003W\000\000\003v\002m\003\148\003V\000\000\003<\000\000\004e\000\000\003A\000\000\003N\001\232\000\000\000\000\000\226\000\000\005\133\000\149\005\134\000\000\005}\000\000\000\252\005~\000\000\000\173\000\000\000\000\003!\000\000\001\202\000\000\001\233\000\000\001\203\002\\\001\001\001\234\000\000\000y\000\000\001\235\000\000\000\150\000\000\001\216\001\236\000\151\000h\000\000\002a\000\000\000q\000{\002b\000\163\001D\003(\000\000\001\217\000\000\003\137\003\150\000\000\000\000\000\000\001\200\001\223\003)\000\000\000h\000\000\002d\000\000\000i\000\000\000\000\000\000\000\000\000\000\000>\000\000\000\000\004\135\002m\003\148\003V\000\000\000\000\002f\000\000\000\000\000\000\003W\000j\003v\000\227\000\000\000\000\000k\003<\004\136\004d\000l\003A\000\000\003N\001\232\000\210\000\000\000\229\000\000\003!\000\000\001\202\000\000\000j\004\199\001\203\002\\\000\000\000k\0052\000\000\000\000\000l\000\000\000u\001\233\001\216\001\200\001\223\000\000\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\251\003\152\000\000\001\030\000u\001\200\001\223\003)\000\000\000j\000\000\002d\000\212\003\170\000\000\004e\000\213\000\000\000\000\000>\000\000\000\252\000\000\002m\003:\003V\000\253\000\000\002f\000\000\000\254\000j\003W\001\202\003\151\000\255\000\000\001\203\000\000\003<\000\000\004\171\000\226\003A\000\000\003N\001\232\000\000\000\000\000\000\000\000\003!\000\000\001\202\000\000\000\000\000\000\001\203\002\\\004\172\000\000\004\175\004d\000\000\000v\000\000\000\000\001\233\001\216\001\200\001\201\000\000\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\001\"\001\228\000\000\000v\000\000\000w\001\200\001\223\003)\000\000\000\000\000>\002d\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000>\004\232\000\000\000\000\002m\000\000\003 \000w\000\000\002f\000\000\000\149\000j\003W\001\202\003\151\000\000\004e\001\203\004\233\003<\000\227\004\236\004d\003A\004\211\003N\001\232\000\000\001\216\000\000\000\000\003!\000y\001\202\000\000\000\000\000\150\001\203\002\\\000\000\000\151\000\000\001\217\000\000\000\000\000\000\000{\001\233\001\216\001\200\001\220\005\013\001\234\002a\000y\001\230\001\235\002b\000\163\001D\003(\001\236\001\217\004\020\000\000\000\000\000\000\003\156\000}\001\200\001\223\003)\000\000\000h\000>\002d\000\000\000i\000\000\000\000\004e\005\016\000\000\000>\004\232\000\000\000\000\002m\000\000\003 \001\232\000\000\002f\000\000\000\000\000j\003W\001\202\003X\000\000\000\000\001\203\004\233\003<\000\000\004\236\004d\003A\000\000\003N\001\232\001\233\001\216\000\000\000\000\003!\001\234\001\202\000\000\000j\001\235\001\203\002\\\000\000\000k\001\236\001\217\004\202\000l\000\000\000\000\001\233\001\216\000\163\000\164\000\000\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\004\"\000\000\000\000\000\000\003\156\000u\001\200\001\223\003)\004\135\000h\000\000\003\145\000\000\000i\000\000\000\000\004e\005\005\000\000\000>\000\000\000\000\004\135\002m\000\000\003 \004\136\004d\002f\000\000\000\000\000\000\0037\003\147\005\008\000\000\000\173\000\000\000\000\003<\004\136\004d\005\019\003A\000\000\003N\001\232\001\233\001\216\000\000\000\000\003!\000\000\001\202\000\000\000j\000\000\001\203\002\\\000\000\000k\001\240\001\217\000\000\000l\000\000\000\000\001\233\001\216\000\163\000\164\000\000\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\004$\000\000\004e\000v\003\156\000u\001\200\001\223\003)\000\000\000\000\000\000\003\145\000\000\000\000\000\000\004e\000\000\000\000\000\000\000>\000h\000\000\000\000\002m\000i\003 \000w\000>\002f\000\000\000\000\005E\0037\003\147\005\008\000\000\000\173\000\000\000\000\003<\000\000\004\171\005\t\003A\000\000\003N\001\232\000\210\000\000\000\211\000\000\003!\000\000\001\202\000\000\000\000\000\000\001\203\002\\\004\172\000\000\004\175\004d\000\000\000\000\000\000\000j\001\233\001\216\000\000\000\000\000k\001\234\002a\000y\000l\001\235\002b\000\163\001D\003(\001\236\001\217\005U\000\000\000\000\000v\003\156\000\127\001\200\001\223\003)\000\000\000j\000\000\003\145\000\212\005]\000\000\000u\000\213\000\000\000\000\000>\000\000\000\000\000\000\002m\003:\003V\000w\000\000\002f\000\000\004\209\000\000\0037\003\147\000\000\000\000\004e\000\000\000\000\003<\000\000\000\000\000\226\003A\004\253\003N\001\232\000\000\001\200\001\201\000\000\003!\000\000\001\202\000\000\000\000\000\000\001\203\002\\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\233\001\216\000\210\000\000\000\211\001\234\002a\000y\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\000\000\000\163\005F\000\129\001\200\001\223\003)\001\200\001\201\000j\003\145\001\202\000v\005H\005I\001\203\000\000\000\000\000>\000\000\000\000\000\000\002m\000\000\003 \000\000\000\000\002f\000\000\000\000\000j\0037\003\147\000\212\000\000\000\000\000w\000\213\003<\000\227\000\000\000\000\003A\000\000\003N\001\232\000\000\001\200\001\219\000\000\003!\000\000\001\202\000j\000\000\001\202\001\203\002\\\000\000\001\203\000\000\000\000\004\255\000\226\000\000\000\000\001\233\001\216\000\000\000\000\000h\001\234\002a\000\000\000q\001\235\002b\000\163\001D\003(\001\236\001\217\005c\000\000\000y\000\000\003\156\000\000\001\200\001\223\003)\000\000\000\000\000j\002d\001\202\005\143\000\000\000\131\001\203\000\000\000\000\000>\000\000\000\000\000\000\002m\003:\003V\000\252\001\216\002f\000\000\000\000\000\000\003W\000j\003X\000\000\000\000\000\000\000k\003<\001\003\001\217\000l\003A\000\000\003N\001\232\000\210\000\000\000\211\000\000\003!\001\021\001\202\000\000\000\000\000\000\001\203\002\\\000\000\000\000\000\000\000\227\000\000\000\000\000\000\000u\001\233\001\216\000\000\000\000\001\216\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\001\217\000\000\000\000\003\165\001\200\001\223\003)\000\000\000j\000\000\003\145\000\212\000\000\000\000\000\000\000\213\000\000\000\000\000>\000h\000\000\000\000\002m\000i\003V\001\233\001\216\002f\000\000\000\000\000\000\0037\003\147\000\000\000\000\000\000\000\000\000\000\003<\001\242\001\217\000\226\003A\000\000\003N\001\232\000\000\000\252\000\000\000\000\003!\000\000\001\202\000\000\000\000\002\143\001\203\002\\\002\147\000\000\000\000\001\005\000\000\000v\000\000\000j\001\233\001\216\000\000\001\233\000k\001\234\002a\000\000\000l\001\235\002b\000\163\001D\003(\001\236\001\217\000\148\001\244\000\000\000\000\000\000\000w\001\200\001\223\003)\000\000\000\000\000\000\002d\000\000\000\000\000\000\000u\003Z\000\000\000j\000>\000\000\000\000\002\148\002m\000\000\003 \002\149\000\000\002f\000\000\000\149\000\000\003W\000\000\003X\000\000\000\000\000\000\000\000\003<\000\227\000\000\000\000\003A\000\000\003N\001\232\000\000\000\000\000\000\000\000\003!\000y\001\202\000\000\000\000\000\150\001\203\002\\\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000{\001\233\001\216\000\000\000\000\000h\001\234\002a\000\000\000q\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\000\000\000\000\000\000\000\000\001\200\001\223\003)\000\000\000\000\000\000\003\167\000\000\000v\000\000\000\000\003\031\000\000\000\000\000>\000\000\000\000\000\000\002m\000\000\003 \000\252\000\000\002f\000\000\000\000\000\000\003W\000j\003\169\002\162\000\000\000w\000k\003<\001\007\000\000\000l\003A\000\000\003N\001\232\002\143\000\000\002\163\002\147\003!\002\002\001\202\000\000\000\000\002\143\001\203\002\\\002\147\000\000\000\000\000\000\000\000\000\000\000\000\000u\001\233\001\216\000\000\000\000\000\000\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\000y\000\000\000\000\000\000\001\200\001\223\003)\000\000\000j\000\000\0035\000\000\002\148\000\000\000\133\003;\002\149\000j\000>\000h\000\000\002\148\002m\000i\003 \002\149\000\000\002f\000\000\000\000\000\000\0037\0038\000\000\000\000\002\195\000\000\000\000\003<\000\000\000\000\000\000\003A\000\000\003N\001\232\000\210\000\000\000\211\002\200\003!\000\000\001\202\000\000\000\000\000\000\001\203\002\\\000\000\000\000\000\000\000\000\000\000\000v\000\000\000j\001\233\001\216\000\000\000\000\000k\001\234\002a\000\000\000l\001\235\002b\000\163\001D\003(\001\236\001\217\000\148\000\000\000\000\000\000\000\000\000w\001\200\001\223\003)\000\000\000j\000\000\0035\000\212\000\000\000\000\000u\000\213\000\000\000\000\000>\000\000\000\000\000\000\002m\000\000\003 \002\162\000\000\002f\000\000\000\149\000\000\0037\0038\000\000\002\162\000\000\000\000\002\143\003<\002\163\002\147\000\226\003A\000\000\003N\001\232\000\000\000\000\002\163\000\000\003!\000y\001\202\000\000\000\000\000\150\001\203\002\\\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000{\001\233\001\216\000\210\000\000\000\211\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000j\000\000\000\000\000\000\002\148\001\200\001\223\003)\002\149\000\000\000\000\0035\000\000\000v\000\000\000\000\000\000\000\000\000\000\000>\000\000\000\000\000\000\002m\000\000\003 \000\000\002\195\002f\000\000\000\000\000j\0037\0038\000\212\000\000\002\195\000w\000\213\003<\000\227\002\202\000\000\003A\000\000\003N\001\232\000\210\000\000\000\211\002\204\003!\000\000\001\202\000\000\000\000\000\000\001\203\002\\\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\001\233\001\216\000\000\000\000\000\000\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\000y\000\000\000\000\003y\001\200\001\223\003)\000\000\000j\000\000\003r\000\212\000\000\000\000\000\135\000\213\002\162\000\000\000>\000h\000\000\000\000\002m\000i\003 \000\252\000\000\002f\000\000\000\000\002\163\0037\003t\000\000\000\000\000\000\000\000\000\000\003<\001\t\000\000\000\226\003A\000\000\003N\001\232\000\000\000\000\000\000\000\000\003!\000\000\001\202\000\000\000\000\000\000\001\203\002\\\000\000\000\000\000\000\000\227\000\000\000\000\000\000\000j\001\233\001\216\000\000\000\000\000k\001\234\002a\000\000\000l\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\000\000\000\000\000\000\003q\001\200\001\223\003)\000\000\000h\000\000\003r\000\000\000i\000\000\000u\000\000\000\000\002\164\000>\000\000\000\000\000\000\002m\000\000\003 \000\000\000\000\002f\000\000\000\000\000\000\0037\003t\000\000\000\000\000\000\000\000\000\000\003<\000\227\000\000\000\000\003A\000\000\003N\001\232\000\210\000\252\000\211\000\000\003!\000\000\001\202\000\000\000j\000\000\001\203\002\\\000\000\000k\000\000\001\011\000\000\000l\000\000\000\000\001\233\001\216\000\210\000\000\000\211\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\000\000\000\000\003\133\000u\001\200\001\223\003)\000\000\000j\000\000\003\134\000\212\000v\000\000\000\000\000\213\000\000\000\000\000>\000\000\000\000\000\000\002m\000\000\003 \000\252\000\000\002f\000\000\000\000\000j\0037\003\136\000\212\000\000\000\000\000w\000\213\003<\001\013\000\000\000\226\003A\000\000\003N\001\232\000\000\001\200\001\201\000\000\003!\000\000\001\202\000\000\000\000\000\000\001\203\002\\\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\001\233\001\216\000\000\000\000\000\000\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\000y\000v\003\144\003\131\001\200\001\223\003)\000\000\000\000\000j\003r\001\202\000\000\000\000\000\137\001\203\000\000\000\000\000>\000\000\000\000\000\000\002m\000\000\003 \000w\000\000\002f\000\000\000\000\000\000\0037\003t\000\000\000\000\000\000\000\000\000\000\003<\000\227\000\000\000\000\003A\000\000\003N\001\232\000\000\000\000\000\000\000\000\003!\000\000\001\202\000\000\000\000\000\000\001\203\002\\\000\000\000\000\000\000\000\227\000\000\000\000\000\000\000\000\001\233\001\216\000\000\000\000\000\000\001\234\002a\000y\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\000\000\000\000\003\149\000\139\001\200\001\223\003)\000\000\000h\000\000\003\145\000\000\000i\000\000\005Y\000\000\000\000\000\000\000>\000\000\000\000\000\000\002m\000\000\003 \000\252\001\216\002f\000\000\000\000\000\000\0037\003\147\000\000\000\000\000\000\000\000\000\000\003<\001\015\001\217\000\000\003A\000\000\003N\001\232\000\210\000\252\000\211\000\000\003!\000\000\001\202\000\000\000j\000\000\001\203\002\\\000\000\000k\000\000\001\017\000\000\000l\000\000\000\000\001\233\001\216\000\210\000\000\000\211\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\000\000\000\000\000\000\000u\001\200\001\223\003)\000\000\000j\000\000\003\145\000\212\000\000\000\000\005e\000\213\000\000\000\000\000>\000\000\000\000\000\000\002m\000\000\003 \001\233\000\000\002f\000\000\000\000\000j\0037\003\147\000\212\000\000\000\000\000\000\000\213\003<\001\246\000\000\000\226\003A\000\000\003N\001\232\000\000\000\000\000\000\000\000\003!\000\000\001\202\000\000\000\000\000\000\001\203\002\\\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\001\233\001\216\000\000\000\000\000\000\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\000\000\000v\000\000\000\000\001\200\001\223\003)\000\000\000\000\000h\005Z\000\000\000\000\000q\005h\000\000\000\000\000\000\000>\000\000\000\000\000\000\002m\000\000\003 \000w\000\000\002f\000\000\000\000\000\000\0037\005\\\000\000\000\000\000\000\000\000\000>\003<\000\227\000\000\002m\003A\002\143\003N\001\232\002\147\000\000\000\000\000\000\003!\000\000\001\202\000\000\000\000\000j\001\203\002\\\000\000\000\000\000k\000\227\001\200\001\201\000l\000\000\001\233\001\216\000\000\004B\000\000\001\234\002a\000y\0029\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\000\000\000\000\000\000\000\141\000u\000j\003)\000\000\000\000\002\148\005Z\000\000\000\000\002\149\002\143\000\000\000\000\002\168\000\000\000\000\000\000\000\000\000\000\000\000\000j\000\252\001\202\002f\000\000\000\000\001\203\0037\005\\\000\000\000\000\000\000\001\200\001\223\003<\001\019\000\000\000\000\003A\000\000\003N\001\232\000\000\000\252\000\000\000\000\000>\000\000\000\000\000\000\003\183\001\200\001\223\002\\\000\000\000\000\000j\001\025\000\000\000\000\002\148\000\000\001\233\001\216\002\149\000>\000\000\001\234\002a\003\183\003\215\001\235\002b\000\163\001D\003(\001\236\001\217\003\218\000\000\001\202\000\000\000v\000\000\001\203\000\000\003)\000\000\000\000\004\n\005Z\000\000\000\163\001D\003(\000\000\000\000\003\218\000\000\001\202\003\224\000\148\002\162\001\203\000\000\003)\000w\002f\000\000\000\000\000\000\0037\005\\\000\000\000\000\000\000\002\163\000\000\003<\003\224\000\000\001\216\003A\000\000\003N\001\232\001\200\001\223\004\006\000\000\004G\001\228\000\149\001 \000\000\001\217\000\000\003<\000\000\000\000\000>\003A\000\000\003N\003\183\000\000\001\233\000\000\000\000\000\000\000\210\001\234\000\233\000\000\000y\001\235\000\000\002\162\000\150\000\000\001\236\000\000\000\151\000\000\003\217\000\000\000\000\000\000\000{\000h\000\000\002\163\003\218\000q\001\202\000\000\000\000\000\000\001\203\001\216\000\000\000\000\000\000\000>\000h\000\000\000\000\002\195\000i\000\163\001D\003\225\000\000\001\217\003\224\000\000\000j\000\000\001\216\000\212\000\000\002\206\003\226\000\213\001\233\000\000\004\008\000\000\000\163\001D\003\225\000\000\001\217\000\000\000\000\000j\000\000\000\000\001\248\000\000\000k\003\226\000\000\000h\000l\003\238\000\000\000s\000\000\000\226\000j\000\000\000\000\000\000\003\240\000k\000\000\000\000\004\t\000l\003\252\001\232\000h\000h\000\000\000\000\000q\000s\000u\000\000\000\000\000\000\000\000\003\240\000\000\000\000\000>\003\245\000\000\003\252\001\232\000\000\001\233\000u\000\210\000\000\000\233\001\234\000\000\000j\000\000\001\235\000\000\001\216\000k\000\000\001\236\000\000\000l\002\143\000\000\001\233\002\147\000\163\001D\003\225\001\234\001\217\000j\000j\001\235\000\000\000\000\000k\000k\001\236\003\226\000l\000l\000\000\003\238\000\000\000u\000\000\000\000\001\200\001\201\000\000\000\000\000\000\000j\000\227\000\000\000\212\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000u\000u\000\000\000\000\000j\000\163\000\164\003\240\002\148\000v\000\000\003\245\002\149\003\252\001\232\000h\004*\000\000\000\000\000q\000\000\000\000\000\226\000\000\000v\000\167\000\168\000\170\000\171\000>\000j\000\000\001\202\000w\000\000\001\233\001\203\000\000\000\000\000\251\001\234\000\000\000\000\000\000\001\235\000\000\000\000\000\000\000w\001\236\000\000\000\000\000\000\000\000\000\172\000\000\000\173\000\000\000\000\000\149\000\252\000j\000\000\000v\000\000\000\253\000k\000\000\000\000\000\254\000l\000\210\000\000\000\233\000\255\000\000\000\000\000\000\000\163\000\164\000\000\000y\000v\000v\000\000\000\150\000\000\000w\000h\000\151\000\000\000\000\000q\000\000\000u\000{\000y\000\178\000\167\000\217\000\170\000\171\000>\000\000\000\227\002\162\000w\000w\000\000\000\000\000\143\000\000\000\000\000x\000\000\000\000\000\000\000j\000\000\002\163\000\212\000\000\000\000\000\000\000\213\000\000\000\000\000\172\000\000\000\173\004,\001\216\000\149\000x\000j\000y\000\000\000\000\000\000\000k\000\159\000\000\000\000\000l\000\000\001\217\000\000\000\000\000\000\000{\000\226\001\200\001\201\000\251\000y\000y\000\000\000\000\000\150\000\000\000\162\000h\000\151\000\000\000\000\000q\000\000\000u\000{\000{\000\178\000\000\000\163\000\164\000\252\000>\000v\000\000\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\000\000\255\000\000\002\195\000\000\000\167\001\207\000\170\000\171\000\000\000j\000\000\001\202\000w\000\000\000\000\001\203\002\208\000\000\000\000\000j\000\000\000\000\000\000\000\000\000k\000\000\001\233\000\000\000l\000\000\000\000\000\000\000\000\000\172\000\000\000\173\002\143\000\000\000\149\002\167\001\250\000\000\002\143\000\000\000\227\002\147\000\000\000\000\000\000\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\163\000\164\000\000\000y\000v\000\000\000\000\000\150\000\000\000\000\000h\000\151\000\000\004.\000q\000\000\000\000\000{\000\000\000\178\000\167\002^\000\170\000\171\000>\000j\000\000\000\000\000w\002\148\000\000\002[\000\000\002\149\000\000\002\148\000\251\000\000\000\000\002\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\172\000\000\000\173\002\143\001\216\000\149\002\147\000j\000\252\000\000\000\000\000\000\000k\000\253\000\000\000\000\000l\000\254\001\217\000h\000\000\000\000\000\255\000q\000\163\000\164\000\000\000y\000v\000\000\000\000\000\150\000\000\000>\000h\000\151\000\000\000\000\000q\000\000\000u\000{\000\000\000\178\000\167\002\153\000\170\000\171\000>\000j\000\000\000\000\000w\002\148\000\000\000\000\000\210\002\149\000\211\000\000\000\000\000\000\000\000\000\000\000\000\000j\000\000\002\187\000\000\000\000\000k\000\000\000\000\000\172\000l\000\173\000\000\002\162\000\149\000\000\000j\000\000\000\000\002\162\000\000\000k\002\233\001\233\000\000\000l\000\000\002\163\002\190\000\000\000\000\000\000\000\000\002\163\000u\000\000\000y\001\252\000j\002\143\000\150\000\212\002\147\000\000\000\151\000\213\000\000\000\000\000\000\000u\000{\000\000\000\178\000\000\000\163\000\164\000\000\000\000\000v\000\000\002\193\000\000\000\000\000\000\000h\000\000\000\000\000\000\000q\000\000\000\000\000\226\000\000\000\000\000\167\003>\000\170\000\171\000>\000\000\000\000\000\000\000w\000\000\000\000\002[\002\162\000\000\000\000\002\148\000\000\000\000\000\000\002\149\000\000\000\000\000\000\002\236\000\000\000\000\002\163\000\000\000\000\000\172\002\195\000\173\002\143\000\000\000\149\002\147\000j\000\000\000\163\000\164\000\000\000k\000v\000\000\002\196\000l\000\000\001\200\001\223\000\000\000\000\000\000\000\000\000\163\000\164\000h\000y\000v\000\180\000\193\000\150\000\171\000\000\000\000\000\151\000\000\000w\003b\000\000\000u\000{\000\000\000\178\000\167\003\242\000\170\000\171\000\000\000j\000\227\000\000\000w\002\148\000\000\000\000\000\000\002\149\000\172\000\000\000\173\001\030\001 \000\149\002[\000\000\001\202\002\187\002\195\000\000\001\203\000\000\000j\000\172\000\000\000\173\000\000\000k\000\149\000\000\000h\000l\002\210\002\162\000q\000y\002\189\000\000\000\000\000\150\000\000\000\000\002\190\000\151\000>\000\000\000\000\002\163\000h\000{\000y\000\178\000q\000\000\000\150\000u\000\000\000\000\000\151\000\000\000\000\000\000\000>\003h\000{\000\000\000\178\001\228\000\163\000\164\000\252\000\000\000v\000\000\002\193\000\000\000j\000\000\000\000\000\000\000\000\000k\000\000\000\000\001\027\000l\000\000\000\210\000h\000\233\000\000\001\"\000q\000\000\000j\000\000\000w\000\000\000\000\000k\002\162\000\000\000>\000l\000\000\002\\\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\002\163\001\216\000\000\001(\002\195\000\173\002a\000\000\000\149\000\000\002b\000\000\000\000\000u\000\000\001\217\000\000\000\000\002\196\000j\000j\000\000\000\212\000v\000\000\000k\000\213\000\000\003j\000l\000y\000\000\000h\000\210\000\150\000\211\000q\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000{\002f\000>\000w\000\000\000\000\000\000\000\000\000\226\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\200\001\201\001\232\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\195\000\000\000\163\000\164\000\000\000\000\000v\000j\000j\000\000\000\000\000\212\000k\001\233\002\212\000\213\000l\000\000\001\234\000\000\000\163\000\164\001\235\000\000\000v\000\191\000\000\001\236\000\000\000\000\000w\000\000\000\000\000\000\000\000\000\000\000j\000\000\001\202\000\000\000u\000\226\001\203\000\194\000\000\001\200\001\223\000\000\000w\000\000\000\000\001.\000\000\000\173\000\000\000\000\000\149\000\000\000\000\000\000\000\163\000\164\000\000\000\227\000v\002T\004\031\002\143\000\000\000\196\002\166\000\173\000\000\000\000\000\149\000\000\000\000\000\000\000y\000\000\000h\000\000\000\150\000\194\000q\000\000\000\151\000\000\000w\004>\000\000\002[\000{\001\202\000>\000\000\000y\001\203\000\000\000\000\000\150\000>\000\000\000\000\000\151\000\000\000\000\000\000\000\000\0014\000{\000\173\000\251\000j\000\149\000\000\000\000\002\148\000\163\000\164\000h\002\149\000v\000\227\000q\000\000\000j\000\000\000\000\000\000\000\000\000k\000\000\000\252\000>\000l\000y\001\216\000\253\000\000\000\150\000\191\000\254\000\000\000\151\000\000\000w\000\255\000\000\000\000\000{\001\217\000\000\000\000\000\000\000\000\001Y\000\000\000\000\000u\000\000\000\000\000\000\000\000\001\200\001\223\000j\001:\000\000\000\173\001S\000k\000\149\000\000\000\000\000l\000\000\000\000\000\000\000\000\000\000\000\000\002\\\000\000\002T\003k\000\000\000\000\000\000\000\000\000\000\000\000\001\216\000\252\000y\000\000\000\000\002a\000\150\000u\000\000\002b\000\151\000\000\001\200\001\223\001\217\001\029\000{\000\000\002[\000\000\001\202\000\000\002\162\000\000\001\203\000\000\000\000\002d\001\233\000\000\000\000\000\000\002T\003a\000\000\000\000\002\163\000\000\000\000\000\000\000\000\000\000\001\254\000\000\002f\000\163\000\164\000\000\000\000\000v\000\000\000\000\000\163\001D\001\200\001\223\000\000\000\000\002[\000\000\001\202\000\000\001\232\000\000\001\203\001T\000\000\000\000\001\183\000\000\000\000\000\000\000\000\000w\002T\002U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\233\000\000\000\163\000\164\000\000\001\234\000v\000\000\000\000\001\235\001_\001\185\001e\000\173\001\236\001\\\000\149\002[\001]\001\202\000\173\000\000\000\000\001\203\000\000\001\183\002\\\001\200\001\201\000\000\000w\000\000\000\000\000\000\000\000\000\000\001\216\000\000\000y\000\000\000\000\002a\000\150\000\000\000\000\002b\000\151\001\200\001\223\000\000\001\217\002\012\000{\000\173\000\000\000h\000\149\000\000\000\000\000q\000\000\000\000\000\000\002d\000\000\000\000\002\\\002T\002`\000>\000h\000\000\000\000\000j\000q\001\202\001\216\000\000\000y\001\203\002f\002a\000\150\000\000\000>\002b\000\151\000\000\000\000\000\000\001\217\000\000\000{\002[\000\000\001\202\000\000\000\000\001\232\001\203\000\000\000j\000\000\002d\001\200\001\201\000k\000\000\002\\\000\000\000l\000\000\000\000\000\000\000\000\000\000\000j\000\000\001\216\001\233\002f\000k\000\000\002a\001\234\000l\000\000\002b\001\235\000\000\000\000\000\000\001\217\001\236\000u\000\000\000\000\000\000\001\232\000\000\000\000\000\000\000\000\000\000\000\000\002d\000\000\000\000\000\000\000u\000j\000\210\001\202\000\233\000\000\000\000\001\203\000\000\000\000\001\233\000\000\000\000\002f\000\000\001\234\000\000\000\000\000\000\001\235\000\000\000\000\001\200\001\223\001\236\001\216\000\000\000\000\000\000\000\000\000\000\001\232\000\000\000\000\000\000\002\\\000\000\000\000\000\000\001\217\000\000\000\000\002T\003m\000\000\001\216\000\000\000\000\000j\000\000\002a\000\212\001\233\000\000\002b\000\213\000\000\001\234\000\000\001\217\000\000\001\235\000\000\000\163\000\164\000\000\001\236\000v\002[\000\000\001\202\000\000\002d\000\000\001\203\000\000\000\000\000\000\000\163\000\164\000\000\000\226\000v\000\000\000\000\000\000\002\127\000\000\000\000\002f\000\000\000w\000\000\000\000\000\000\000\000\000\000\000\000\001\200\001\223\000\000\002\127\001\216\000\000\000\000\000\000\000w\001\232\001\233\000\000\000\000\000\000\002\129\000\000\000\173\000\000\001\217\000\149\002T\0044\000\000\000\000\002\000\000\000\000\000\000\000\000\000\002\145\001\233\000\173\000\000\000\000\000\149\001\234\000\000\000\000\000\000\001\235\000\000\000y\001\200\001\223\001\236\000\150\002[\000\000\001\202\000\151\000\000\000\000\001\203\000\000\000\000\000{\000y\000\000\001\200\001\223\000\150\002\\\002T\0046\000\151\000\227\002\143\000\000\000\000\002\147\000{\001\216\000\000\000\000\000\000\000\000\002a\000\000\002T\0048\002b\000\000\000\000\000\000\000\000\001\217\000\000\001\233\002[\000\000\001\202\004M\000\000\000\000\001\203\000\000\000\000\000\000\002d\000\000\000\000\002\006\000\000\000\000\002[\000\000\001\202\000\000\000\000\000\000\001\203\000\000\000j\000\000\000\251\002f\002\148\000\000\001\200\001\223\002\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\232\000\000\000\252\000\000\002\\\003d\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\000\001\216\000\000\000\255\000\000\000\000\002a\000\000\001\233\000\000\002b\000\000\000\000\001\234\000\000\001\217\000\000\001\235\002[\000\000\001\202\000\000\001\236\000\000\001\203\000\000\002\143\000\000\002d\002\147\000\000\000\000\000\000\002\\\000\000\000>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\216\000\000\002f\000\000\000\000\002a\002\\\000\000\000h\002b\000\000\000\000\000q\000\000\001\217\000\000\001\216\000\000\000\000\000\000\001\232\002a\000\000\000\000\002\162\002b\000\000\002d\000\000\002[\001\217\000h\000\000\002\148\000\000\000q\000\000\002\149\002\163\000\000\000\000\001\233\000\000\002d\002f\000\000\001\234\001Y\002\143\000\000\001\235\002\147\000\000\000\000\000j\001\236\000\000\000\000\000\000\000k\002f\001S\001\232\000l\000\000\000\000\002\\\000\000\000\000\000\000\000\000\000h\000\000\002;\000\000\000q\001\216\000j\001\232\000\000\000\000\002a\000k\001\233\000\000\002b\000l\000u\001\234\000\000\001\217\000h\001\235\000\000\002[\000q\002=\001\236\002\148\001\233\000\000\000\000\002\149\002d\001\234\000\000\001\200\001\201\001\235\002\195\000u\000\000\000\000\001\236\002\187\000\000\000\000\000j\000\000\000\000\002f\000\000\000k\002\214\000\000\000\000\000l\000\000\000\000\000\000\002\162\002\223\002\224\002\226\000\000\000\163\001D\000j\001\232\002\190\000\000\000\000\000k\000\000\002\163\000\000\000l\000\000\001T\000\000\000u\000\000\000j\002\143\001\202\000\000\002\147\000\000\001\203\001\233\002\143\000\000\000\000\002\147\001\234\002\229\000\000\000\000\001\235\000v\000u\002\193\000\000\001\236\000\000\000\000\001_\000\000\001\141\002\187\000\000\001\\\000\000\000\000\001]\000\000\000\173\000\000\000\148\000\000\000\000\002|\000v\000w\000\000\002\162\002\223\005_\002\226\002[\000\000\000\000\000\000\002\148\002\190\000\000\002[\002\149\000h\002\163\002\148\000\148\000q\000\000\002\149\002\195\000w\000\000\000\000\000\149\002\143\000\000\003\003\002\147\000\000\000\000\000\000\000\000\000\000\002\196\002\229\000\000\000v\000\000\000\000\002\143\002\193\000\000\002\147\000\000\000\000\000y\000\149\000\000\000h\000\150\000\000\000\000\000\190\000\151\000\000\002\183\000v\001\216\000j\000{\000w\000\000\000\000\000k\000\000\000\000\000\000\000l\000y\000\000\002[\001\217\000\150\000\000\002\148\001\"\000\151\000\000\002\149\000\000\000w\000\000\000{\000h\002\195\000j\000\149\000q\002\187\002\148\000\000\000u\000\000\002\149\000j\002\187\000\000\000\000\002\196\000k\000\000\000\000\000\000\000l\002\162\002\228\000\149\002\226\000y\000\000\000\000\002\162\000\150\002\190\002\230\000h\000\151\000\000\002\163\000q\002\190\000\000\000{\000\000\000\000\002\163\000h\000u\000y\000j\000q\000\000\000\150\000\000\000k\000\000\000\151\000\000\000l\002\229\001\233\000\000\000{\000\000\000\000\002\193\002\232\000h\000\000\000\000\000\000\000q\002\193\000\000\002\008\002\187\000\000\000\000\000\000\000\000\000\000\000j\000u\003\015\000\000\000\000\000k\000\000\000\000\000\000\000l\002\162\000j\000v\002\230\000\000\000\000\000k\000\000\000\000\002\190\000l\000\000\000\000\000\000\002\163\002\162\000\000\000\000\002\195\002\237\000\000\002\183\000j\000u\000\000\002\195\000w\000k\000\000\002\163\000\000\000l\002\196\000\000\000u\002\232\000\000\000\000\000v\002\196\000\000\002\193\000\000\000\000\000\000\000\000\000\000\000h\000\000\000\000\000\000\000q\000\149\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000w\003\023\000h\000\000\000\000\000h\000q\000\000\000\000\000q\000\000\000v\000y\000\000\000\000\000\000\000\150\002\235\000\000\000\000\000\151\000\000\000\000\002\195\000\000\000\000\000{\000\000\001\200\001\201\002\183\000j\000\000\003$\000\000\000w\000k\002\196\002\195\000\000\000l\000\000\000\000\000v\0033\000\000\000\000\000\000\000j\000\000\000\000\000j\002\216\000k\000v\000\000\000k\000l\000\000\000h\000l\000\149\002\183\000s\000u\003J\000\000\000w\000\000\000\000\000\000\000\000\000\000\002\183\000j\000v\001\202\000\000\000w\000\000\001\203\000u\000\000\000y\000u\000\000\000\000\000\150\000\000\000\000\000\000\000\151\000\000\000\149\002\183\000\000\000\000\000{\000\000\000w\000\000\000\000\000\000\000\000\000\149\000j\000\000\000\000\000\000\000\000\000k\000\000\000\000\000h\000l\000y\000h\000q\000\000\000\150\000q\000\000\000\000\000\151\000\000\000\149\000y\000\000\000h\000{\000\150\000\000\000q\000\000\000\151\000\000\003R\000\000\000u\000\000\000{\000\000\000\000\000\000\000\000\000\000\000v\000y\000h\000\000\000\000\000\150\000q\003\188\000\000\000\151\003\200\000\000\000\000\000j\000\000\000{\000j\000v\000k\002\183\000v\000k\000l\000\000\000w\000l\000\000\000\000\000j\001\216\000\000\000\000\000\000\000k\000\000\000\000\002\183\000l\000\000\002\183\000\000\000w\000\000\001\217\000w\000\000\000u\000\000\000j\000u\000\149\000\000\000\000\000k\000\000\000\000\000\000\000l\000\000\000\000\000\000\000u\000\000\000\000\000\000\000h\000\000\000\149\000\000\000q\000\149\000\000\000y\000\000\000v\000\000\000\150\000\000\000\000\000\000\000\151\000u\000\000\000\000\000\000\000\000\000{\000\000\000\000\000y\000h\000\000\000y\000\150\000q\000\000\000\150\000\151\000w\000\000\000\151\000\000\000\000\000{\000\000\000\000\000{\000\000\000\000\000\000\000h\000j\001\233\000\000\000q\000\000\000k\000\000\003\206\000\000\000l\003\213\000\000\005,\000x\000\000\002\n\000\000\000v\000\000\000\000\000v\000\000\003\222\000\000\000\000\000j\000\000\000\000\000\000\000\000\000k\000\000\000v\000u\000l\000y\002\183\000\000\000\000\002\183\000\235\000w\003\236\000\000\000w\000j\000\000\000\000\000\000\000{\000k\002\183\000v\000\000\000l\000\000\000w\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\149\000h\000\000\000\149\002\183\000q\000\000\000\000\000\000\000w\000\000\000u\000\000\000\000\005\158\000\149\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000h\000y\000\150\000\000\000q\000\150\000\151\000\000\000\000\000\151\000\000\000\149\000{\000y\003\250\000{\000h\000\150\000\000\000\000\000q\000\151\000\000\000j\000v\000\000\000\000\000{\000k\000\000\000\000\000\000\000l\000y\000\000\000\000\000\000\000\150\000\000\004\001\000\000\000\151\000\000\002\183\000\000\000\000\000j\000{\000w\000v\000\000\000k\000\000\000\000\000\000\000l\000u\000\000\000\000\000\000\000h\000h\000j\000\000\000q\000\189\000\000\000k\002\183\000v\000\000\000l\000\000\000w\000\149\000\000\000\000\000\000\000\000\000u\000\000\000h\000\000\000\000\000\000\000q\000\000\000\000\0059\000\000\000\000\000\000\000\000\000w\000\000\000u\000y\000h\000\000\000\149\000\150\000q\000\000\000\000\000\151\000\000\000j\000j\000\000\000\000\000{\000k\000k\000\000\000\000\000l\000l\000\000\000h\000\149\000h\000y\000q\000\000\000q\000\150\000\000\000j\000\000\000\151\000\000\000\000\000k\000\000\000\000\000{\000l\000\000\000v\000u\000u\000y\000\000\000j\000\000\000\150\000\000\000\000\000k\000\151\000\000\000\000\000l\000\000\000\000\000{\000\000\0059\000\000\000\000\000u\000v\000w\000\000\000j\000\000\000j\000\000\000\000\000k\000\000\000k\000\000\000l\000\000\000l\000u\000v\000\000\000\000\000\182\000\000\000\000\000\000\000\000\000w\000\000\000\000\000\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\220\000u\000\000\000u\000\000\000w\000\000\000\000\000\000\000h\000\000\000\000\000\000\000q\000y\000\149\000\000\000\000\000\150\000\000\000\000\000\000\000\151\000\000\000\000\000v\000v\000\000\000{\000\000\000\000\000\149\000\000\000\000\000\000\000\000\000h\000y\000h\000\000\000q\000\150\000q\000\000\000\245\000\151\000v\000\000\000\000\000w\000w\000{\000\000\000y\000\000\000j\000\000\000\150\000\000\000\000\000k\000\151\000v\000\000\000l\001$\000\000\000{\000>\000\000\000w\000\000\000\000\000h\000\000\000\149\000\000\000q\000\000\000\000\000\000\001\170\000j\000v\000j\000v\000w\000k\000u\000k\000\000\000l\000\000\000l\000\000\000\000\000\149\000y\000\000\000\000\000\000\000\150\001\174\000\000\001\210\000\151\000\000\000w\000\000\000w\000\000\000{\000\149\000\000\000\000\000u\000\000\000u\000y\000j\000\000\000\000\000\150\001Y\000k\000\000\000\151\000h\000l\000\000\000\000\000q\000{\000\149\000y\000\149\000\000\001S\000\150\000\000\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000h\000{\000\000\000h\000q\000u\000\000\000q\000y\000\000\000y\000\000\000\150\000\000\000\150\000h\000\151\000\000\000\151\000q\000\000\000\000\000{\000v\000{\000\000\000j\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\000l\000\000\000\000\000\000\000\000\000\000\000\000\002\017\000\000\000\000\000\000\000j\000w\000\000\000j\000v\000k\000v\000\000\000k\000l\000\000\000\000\000l\000u\000\000\000j\000\000\000\000\000\163\001D\000k\000\000\000\000\002\022\000l\002\026\000\000\000\149\000w\000\000\000w\001T\000\000\000u\000\000\000\000\000u\000\000\000\000\000\000\000\000\000v\000\000\000\000\000\000\000\000\000\000\000h\000u\000y\000\000\000q\000\000\000\150\000\149\000\000\000\149\000\151\000\000\001_\0021\002q\000\000\000{\001\\\000w\000\000\001]\000\000\000\173\000\000\000\000\000\000\000\000\002\143\000\000\000y\002\147\000y\000\000\000\150\000\000\000\150\000\000\000\151\000h\000\151\000\000\000\000\000q\000{\000\149\000{\000j\000\000\000v\000\000\000\000\000k\000\000\000h\000\000\000l\000\000\000s\000\000\000h\000\000\000\000\000\000\000s\000\000\000\000\000y\002X\000v\000\000\000\150\000v\000w\002[\000\151\000\000\000\000\002\148\000\000\000u\000{\002\149\000\000\000v\000j\000\000\000\000\002\156\000\000\000k\002\171\000\000\000w\000l\000\000\000w\000\000\000\000\000\149\000j\000\000\000\000\002\173\000\000\000k\000j\000\000\000w\000l\000\000\000k\000\000\000\000\000\000\000l\000\000\000\000\000u\000\149\000\000\000y\000\149\000\000\000\000\000\150\000\000\000\000\000h\000\151\000\000\000\000\000s\000u\000\149\000{\000\000\000\000\000\000\000u\000>\000y\000\000\000\000\000y\000\150\000\000\002\143\000\150\000\151\002\147\000\000\000\151\000\000\000\000\000{\000y\000\000\000{\002\187\000\150\000\000\000v\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000{\000>\000\000\000\000\000j\002\162\000\000\000\000\002\192\000k\000\000\003\176\000\000\000l\002\190\000\000\000w\000\000\000\000\002\163\000\000\000\000\000>\000j\000\000\001Y\000\000\002\148\000\000\000\000\000v\002\149\000\000\000\000\000\000\000\000\000\000\000u\000>\001S\000\000\000\000\000\149\000\000\000\000\000v\002\193\000\000\000\000\004\024\000\000\000v\000\000\000\000\000w\000\000\001Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000\000\000\150\000w\001S\000\000\000\151\000\000\000\000\000w\000\000\001Y\000{\002\143\000\149\000h\002\147\000\000\000h\000i\000\000\000\000\000i\000\000\002\195\001S\000>\001Y\000\000\000x\000\000\000\000\000\000\000\000\000\000\000x\000y\000>\002\196\000\000\000\150\001S\000\000\000\000\000\151\000\000\000\000\000\163\001D\000\000\000{\000y\000\000\000v\000\000\000\000\000\237\000y\002\162\000j\001T\000j\001\225\002\148\000j\000{\000k\002\149\000\000\000k\000l\000{\002\163\000l\000\000\000\000\000\000\000w\000\163\001D\000\000\001Y\000\000\000\000\000\000\000\000\000\000\000\000\001_\000\000\002\255\001T\001Y\001\\\000u\001S\001]\000u\000\173\000\163\001D\000\000\000\000\000x\000\000\002\143\001S\000\000\002\147\000\000\000\000\000\000\001T\000\000\000\000\000\163\001D\000\000\000\000\001_\000\000\003\n\000h\000\000\001\\\000y\000i\001]\001T\000\173\001\227\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\001_\000\000\003/\002\195\000\000\001\\\000\000\000\000\001]\000\000\000\173\000j\000\000\000\000\000\000\002\148\001_\002\218\003E\002\149\002\162\001\\\000\000\000\000\001]\000\000\000\173\000\000\000j\000\163\001D\000\000\000\000\000k\002\163\000\000\000v\000l\000\000\000v\000\163\001D\001T\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001T\000\000\000\000\000\000\000\000\000\000\000\000\000w\000u\000\000\000w\000\000\000\000\000\000\000\000\000\000\000\000\001_\000\000\003\196\000\000\000\000\001\\\000\000\000\000\001]\000\000\000\173\001_\000\000\003\232\000\000\000\000\001\\\000\000\000\000\001]\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\195\000\000\000\000\000y\000\000\000\000\000y\002\162\000\000\000\000\000\000\000\000\000\000\000\000\002\220\000\000\000\000\000\153\000\000\000\000\000\155\002\163\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000w\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\195\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\222\000\000\000\000\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\157"))
1386
1387 let semantic_action =
1388 [|
1389 (fun _menhir_env ->
1390 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1391 let {
1392 MenhirLib.EngineTypes.state = _menhir_s;
1393 MenhirLib.EngineTypes.semv = _1;
1394 MenhirLib.EngineTypes.startp = _startpos__1_;
1395 MenhirLib.EngineTypes.endp = _endpos__1_;
1396 MenhirLib.EngineTypes.next = _menhir_stack;
1397 } = _menhir_stack in
1398 raise (MenhirLib.TableInterpreter.Accept _1));
1399 (fun _menhir_env ->
1400 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1401 let {
1402 MenhirLib.EngineTypes.state = _menhir_s;
1403 MenhirLib.EngineTypes.semv = _1;
1404 MenhirLib.EngineTypes.startp = _startpos__1_;
1405 MenhirLib.EngineTypes.endp = _endpos__1_;
1406 MenhirLib.EngineTypes.next = _menhir_stack;
1407 } = _menhir_stack in
1408 raise (MenhirLib.TableInterpreter.Accept _1));
1409 (fun _menhir_env ->
1410 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1411 let {
1412 MenhirLib.EngineTypes.state = _menhir_s;
1413 MenhirLib.EngineTypes.semv = _1;
1414 MenhirLib.EngineTypes.startp = _startpos__1_;
1415 MenhirLib.EngineTypes.endp = _endpos__1_;
1416 MenhirLib.EngineTypes.next = _menhir_stack;
1417 } = _menhir_stack in
1418 raise (MenhirLib.TableInterpreter.Accept _1));
1419 (fun _menhir_env ->
1420 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1421 let {
1422 MenhirLib.EngineTypes.state = _menhir_s;
1423 MenhirLib.EngineTypes.semv = _1;
1424 MenhirLib.EngineTypes.startp = _startpos__1_;
1425 MenhirLib.EngineTypes.endp = _endpos__1_;
1426 MenhirLib.EngineTypes.next = _menhir_stack;
1427 } = _menhir_stack in
1428 raise (MenhirLib.TableInterpreter.Accept _1));
1429 (fun _menhir_env ->
1430 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1431 let {
1432 MenhirLib.EngineTypes.state = _menhir_s;
1433 MenhirLib.EngineTypes.semv = _1;
1434 MenhirLib.EngineTypes.startp = _startpos__1_;
1435 MenhirLib.EngineTypes.endp = _endpos__1_;
1436 MenhirLib.EngineTypes.next = _menhir_stack;
1437 } = _menhir_stack in
1438 raise (MenhirLib.TableInterpreter.Accept _1));
1439 (fun _menhir_env ->
1440 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1441 let {
1442 MenhirLib.EngineTypes.state = _menhir_s;
1443 MenhirLib.EngineTypes.semv = _1;
1444 MenhirLib.EngineTypes.startp = _startpos__1_;
1445 MenhirLib.EngineTypes.endp = _endpos__1_;
1446 MenhirLib.EngineTypes.next = _menhir_stack;
1447 } = _menhir_stack in
1448 raise (MenhirLib.TableInterpreter.Accept _1));
1449 (fun _menhir_env ->
1450 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1451 let {
1452 MenhirLib.EngineTypes.state = _menhir_s;
1453 MenhirLib.EngineTypes.semv = _1;
1454 MenhirLib.EngineTypes.startp = _startpos__1_;
1455 MenhirLib.EngineTypes.endp = _endpos__1_;
1456 MenhirLib.EngineTypes.next = _menhir_stack;
1457 } = _menhir_stack in
1458 raise (MenhirLib.TableInterpreter.Accept _1));
1459 (fun _menhir_env ->
1460 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1461 let {
1462 MenhirLib.EngineTypes.state = _menhir_s;
1463 MenhirLib.EngineTypes.semv = _1;
1464 MenhirLib.EngineTypes.startp = _startpos__1_;
1465 MenhirLib.EngineTypes.endp = _endpos__1_;
1466 MenhirLib.EngineTypes.next = _menhir_stack;
1467 } = _menhir_stack in
1468 raise (MenhirLib.TableInterpreter.Accept _1));
1469 (fun _menhir_env ->
1470 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1471 let {
1472 MenhirLib.EngineTypes.state = _menhir_s;
1473 MenhirLib.EngineTypes.semv = _1;
1474 MenhirLib.EngineTypes.startp = _startpos__1_;
1475 MenhirLib.EngineTypes.endp = _endpos__1_;
1476 MenhirLib.EngineTypes.next = _menhir_stack;
1477 } = _menhir_stack in
1478 raise (MenhirLib.TableInterpreter.Accept _1));
1479 (fun _menhir_env ->
1480 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1481 let {
1482 MenhirLib.EngineTypes.state = _menhir_s;
1483 MenhirLib.EngineTypes.semv = _1;
1484 MenhirLib.EngineTypes.startp = _startpos__1_;
1485 MenhirLib.EngineTypes.endp = _endpos__1_;
1486 MenhirLib.EngineTypes.next = _menhir_stack;
1487 } = _menhir_stack in
1488 raise (MenhirLib.TableInterpreter.Accept _1));
1489 (fun _menhir_env ->
1490 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1491 let {
1492 MenhirLib.EngineTypes.state = _menhir_s;
1493 MenhirLib.EngineTypes.semv = _1;
1494 MenhirLib.EngineTypes.startp = _startpos__1_;
1495 MenhirLib.EngineTypes.endp = _endpos__1_;
1496 MenhirLib.EngineTypes.next = _menhir_stack;
1497 } = _menhir_stack in
1498 raise (MenhirLib.TableInterpreter.Accept _1));
1499 (fun _menhir_env ->
1500 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1501 let {
1502 MenhirLib.EngineTypes.state = _menhir_s;
1503 MenhirLib.EngineTypes.semv = _1;
1504 MenhirLib.EngineTypes.startp = _startpos__1_;
1505 MenhirLib.EngineTypes.endp = _endpos__1_;
1506 MenhirLib.EngineTypes.next = _menhir_stack;
1507 } = _menhir_stack in
1508 raise (MenhirLib.TableInterpreter.Accept _1));
1509 (fun _menhir_env ->
1510 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1511 let {
1512 MenhirLib.EngineTypes.state = _menhir_s;
1513 MenhirLib.EngineTypes.semv = _1;
1514 MenhirLib.EngineTypes.startp = _startpos__1_;
1515 MenhirLib.EngineTypes.endp = _endpos__1_;
1516 MenhirLib.EngineTypes.next = _menhir_stack;
1517 } = _menhir_stack in
1518 raise (MenhirLib.TableInterpreter.Accept _1));
1519 (fun _menhir_env ->
1520 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1521 let {
1522 MenhirLib.EngineTypes.state = _menhir_s;
1523 MenhirLib.EngineTypes.semv = _1;
1524 MenhirLib.EngineTypes.startp = _startpos__1_;
1525 MenhirLib.EngineTypes.endp = _endpos__1_;
1526 MenhirLib.EngineTypes.next = _menhir_stack;
1527 } = _menhir_stack in
1528 let _1 : 'tv_eexpr = Obj.magic _1 in
1529 let _startpos = _startpos__1_ in
1530 let _endpos = _endpos__1_ in
1531 let _v : 'tv_aexpr =
1532 # 1766 "parser_cocci_menhir.mly"
1533 ( Ast0.set_arg_exp _1 )
1534 # 1535 "parser_cocci_menhir.ml"
1535 in
1536 _menhir_env.MenhirLib.EngineTypes.stack <- {
1537 MenhirLib.EngineTypes.state = _menhir_s;
1538 MenhirLib.EngineTypes.semv = Obj.repr _v;
1539 MenhirLib.EngineTypes.startp = _startpos;
1540 MenhirLib.EngineTypes.endp = _endpos;
1541 MenhirLib.EngineTypes.next = _menhir_stack;
1542 });
1543 (fun _menhir_env ->
1544 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1545 let {
1546 MenhirLib.EngineTypes.state = _menhir_s;
1547 MenhirLib.EngineTypes.semv = _1;
1548 MenhirLib.EngineTypes.startp = _startpos__1_;
1549 MenhirLib.EngineTypes.endp = _endpos__1_;
1550 MenhirLib.EngineTypes.next = _menhir_stack;
1551 } = _menhir_stack in
1552 let _1 : (
1553 # 66 "parser_cocci_menhir.mly"
1554 (Parse_aux.list_info)
1555 # 1556 "parser_cocci_menhir.ml"
1556 ) = Obj.magic _1 in
1557 let _startpos = _startpos__1_ in
1558 let _endpos = _endpos__1_ in
1559 let _v : 'tv_aexpr =
1560 # 1768 "parser_cocci_menhir.mly"
1561 ( let (nm,lenname,pure,clt) = _1 in
1562 let nm = P.clt2mcode nm clt in
1563 let lenname =
1564 match lenname with
1565 Some nm -> Some(P.clt2mcode nm clt)
1566 | None -> None in
1567 Ast0.wrap(Ast0.MetaExprList(nm,lenname,pure)) )
1568 # 1569 "parser_cocci_menhir.ml"
1569 in
1570 _menhir_env.MenhirLib.EngineTypes.stack <- {
1571 MenhirLib.EngineTypes.state = _menhir_s;
1572 MenhirLib.EngineTypes.semv = Obj.repr _v;
1573 MenhirLib.EngineTypes.startp = _startpos;
1574 MenhirLib.EngineTypes.endp = _endpos;
1575 MenhirLib.EngineTypes.next = _menhir_stack;
1576 });
1577 (fun _menhir_env ->
1578 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1579 let {
1580 MenhirLib.EngineTypes.state = _menhir_s;
1581 MenhirLib.EngineTypes.semv = _1;
1582 MenhirLib.EngineTypes.startp = _startpos__1_;
1583 MenhirLib.EngineTypes.endp = _endpos__1_;
1584 MenhirLib.EngineTypes.next = _menhir_stack;
1585 } = _menhir_stack in
1586 let _1 : 'tv_ctype = Obj.magic _1 in
1587 let _startpos = _startpos__1_ in
1588 let _endpos = _endpos__1_ in
1589 let _v : 'tv_aexpr =
1590 # 1776 "parser_cocci_menhir.mly"
1591 ( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) )
1592 # 1593 "parser_cocci_menhir.ml"
1593 in
1594 _menhir_env.MenhirLib.EngineTypes.stack <- {
1595 MenhirLib.EngineTypes.state = _menhir_s;
1596 MenhirLib.EngineTypes.semv = Obj.repr _v;
1597 MenhirLib.EngineTypes.startp = _startpos;
1598 MenhirLib.EngineTypes.endp = _endpos;
1599 MenhirLib.EngineTypes.next = _menhir_stack;
1600 });
1601 (fun _menhir_env ->
1602 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1603 let {
1604 MenhirLib.EngineTypes.state = _menhir_s;
1605 MenhirLib.EngineTypes.startp = _startpos__1_;
1606 MenhirLib.EngineTypes.endp = _endpos__1_;
1607 MenhirLib.EngineTypes.next = _menhir_stack;
1608 } = _menhir_stack in
1609 let _startpos = _startpos__1_ in
1610 let _endpos = _endpos__1_ in
1611 let _v : 'tv_any_strict =
1612 # 1820 "parser_cocci_menhir.mly"
1613 ( Ast.WhenAny )
1614 # 1615 "parser_cocci_menhir.ml"
1615 in
1616 _menhir_env.MenhirLib.EngineTypes.stack <- {
1617 MenhirLib.EngineTypes.state = _menhir_s;
1618 MenhirLib.EngineTypes.semv = Obj.repr _v;
1619 MenhirLib.EngineTypes.startp = _startpos;
1620 MenhirLib.EngineTypes.endp = _endpos;
1621 MenhirLib.EngineTypes.next = _menhir_stack;
1622 });
1623 (fun _menhir_env ->
1624 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1625 let {
1626 MenhirLib.EngineTypes.state = _menhir_s;
1627 MenhirLib.EngineTypes.startp = _startpos__1_;
1628 MenhirLib.EngineTypes.endp = _endpos__1_;
1629 MenhirLib.EngineTypes.next = _menhir_stack;
1630 } = _menhir_stack in
1631 let _startpos = _startpos__1_ in
1632 let _endpos = _endpos__1_ in
1633 let _v : 'tv_any_strict =
1634 # 1821 "parser_cocci_menhir.mly"
1635 ( Ast.WhenStrict )
1636 # 1637 "parser_cocci_menhir.ml"
1637 in
1638 _menhir_env.MenhirLib.EngineTypes.stack <- {
1639 MenhirLib.EngineTypes.state = _menhir_s;
1640 MenhirLib.EngineTypes.semv = Obj.repr _v;
1641 MenhirLib.EngineTypes.startp = _startpos;
1642 MenhirLib.EngineTypes.endp = _endpos;
1643 MenhirLib.EngineTypes.next = _menhir_stack;
1644 });
1645 (fun _menhir_env ->
1646 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1647 let {
1648 MenhirLib.EngineTypes.state = _menhir_s;
1649 MenhirLib.EngineTypes.startp = _startpos__1_;
1650 MenhirLib.EngineTypes.endp = _endpos__1_;
1651 MenhirLib.EngineTypes.next = _menhir_stack;
1652 } = _menhir_stack in
1653 let _startpos = _startpos__1_ in
1654 let _endpos = _endpos__1_ in
1655 let _v : 'tv_any_strict =
1656 # 1822 "parser_cocci_menhir.mly"
1657 ( Ast.WhenForall )
1658 # 1659 "parser_cocci_menhir.ml"
1659 in
1660 _menhir_env.MenhirLib.EngineTypes.stack <- {
1661 MenhirLib.EngineTypes.state = _menhir_s;
1662 MenhirLib.EngineTypes.semv = Obj.repr _v;
1663 MenhirLib.EngineTypes.startp = _startpos;
1664 MenhirLib.EngineTypes.endp = _endpos;
1665 MenhirLib.EngineTypes.next = _menhir_stack;
1666 });
1667 (fun _menhir_env ->
1668 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1669 let {
1670 MenhirLib.EngineTypes.state = _menhir_s;
1671 MenhirLib.EngineTypes.startp = _startpos__1_;
1672 MenhirLib.EngineTypes.endp = _endpos__1_;
1673 MenhirLib.EngineTypes.next = _menhir_stack;
1674 } = _menhir_stack in
1675 let _startpos = _startpos__1_ in
1676 let _endpos = _endpos__1_ in
1677 let _v : 'tv_any_strict =
1678 # 1823 "parser_cocci_menhir.mly"
1679 ( Ast.WhenExists )
1680 # 1681 "parser_cocci_menhir.ml"
1681 in
1682 _menhir_env.MenhirLib.EngineTypes.stack <- {
1683 MenhirLib.EngineTypes.state = _menhir_s;
1684 MenhirLib.EngineTypes.semv = Obj.repr _v;
1685 MenhirLib.EngineTypes.startp = _startpos;
1686 MenhirLib.EngineTypes.endp = _endpos;
1687 MenhirLib.EngineTypes.next = _menhir_stack;
1688 });
1689 (fun _menhir_env ->
1690 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1691 let {
1692 MenhirLib.EngineTypes.state = _menhir_s;
1693 MenhirLib.EngineTypes.semv = _1;
1694 MenhirLib.EngineTypes.startp = _startpos__1_;
1695 MenhirLib.EngineTypes.endp = _endpos__1_;
1696 MenhirLib.EngineTypes.next = _menhir_stack;
1697 } = _menhir_stack in
1698 let _1 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1699 let _startpos = _startpos__1_ in
1700 let _endpos = _endpos__1_ in
1701 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1702 # 1263 "parser_cocci_menhir.mly"
1703 ( _1 )
1704 # 1705 "parser_cocci_menhir.ml"
1705 in
1706 _menhir_env.MenhirLib.EngineTypes.stack <- {
1707 MenhirLib.EngineTypes.state = _menhir_s;
1708 MenhirLib.EngineTypes.semv = Obj.repr _v;
1709 MenhirLib.EngineTypes.startp = _startpos;
1710 MenhirLib.EngineTypes.endp = _endpos;
1711 MenhirLib.EngineTypes.next = _menhir_stack;
1712 });
1713 (fun _menhir_env ->
1714 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1715 let {
1716 MenhirLib.EngineTypes.semv = _3;
1717 MenhirLib.EngineTypes.startp = _startpos__3_;
1718 MenhirLib.EngineTypes.endp = _endpos__3_;
1719 MenhirLib.EngineTypes.next = {
1720 MenhirLib.EngineTypes.semv = _2;
1721 MenhirLib.EngineTypes.startp = _startpos__2_;
1722 MenhirLib.EngineTypes.endp = _endpos__2_;
1723 MenhirLib.EngineTypes.next = {
1724 MenhirLib.EngineTypes.state = _menhir_s;
1725 MenhirLib.EngineTypes.semv = _1;
1726 MenhirLib.EngineTypes.startp = _startpos__1_;
1727 MenhirLib.EngineTypes.endp = _endpos__1_;
1728 MenhirLib.EngineTypes.next = _menhir_stack;
1729 };
1730 };
1731 } = _menhir_stack in
1732 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1733 let _2 : (
1734 # 99 "parser_cocci_menhir.mly"
1735 (Data.clt)
1736 # 1737 "parser_cocci_menhir.ml"
1737 ) = Obj.magic _2 in
1738 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1739 let _startpos = _startpos__1_ in
1740 let _endpos = _endpos__3_ in
1741 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1742 # 1265 "parser_cocci_menhir.mly"
1743 ( P.arith_op Ast.Mul _1 _2 _3 )
1744 # 1745 "parser_cocci_menhir.ml"
1745 in
1746 _menhir_env.MenhirLib.EngineTypes.stack <- {
1747 MenhirLib.EngineTypes.state = _menhir_s;
1748 MenhirLib.EngineTypes.semv = Obj.repr _v;
1749 MenhirLib.EngineTypes.startp = _startpos;
1750 MenhirLib.EngineTypes.endp = _endpos;
1751 MenhirLib.EngineTypes.next = _menhir_stack;
1752 });
1753 (fun _menhir_env ->
1754 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1755 let {
1756 MenhirLib.EngineTypes.semv = _3;
1757 MenhirLib.EngineTypes.startp = _startpos__3_;
1758 MenhirLib.EngineTypes.endp = _endpos__3_;
1759 MenhirLib.EngineTypes.next = {
1760 MenhirLib.EngineTypes.semv = _2;
1761 MenhirLib.EngineTypes.startp = _startpos__2_;
1762 MenhirLib.EngineTypes.endp = _endpos__2_;
1763 MenhirLib.EngineTypes.next = {
1764 MenhirLib.EngineTypes.state = _menhir_s;
1765 MenhirLib.EngineTypes.semv = _1;
1766 MenhirLib.EngineTypes.startp = _startpos__1_;
1767 MenhirLib.EngineTypes.endp = _endpos__1_;
1768 MenhirLib.EngineTypes.next = _menhir_stack;
1769 };
1770 };
1771 } = _menhir_stack in
1772 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1773 let _2 : (
1774 # 97 "parser_cocci_menhir.mly"
1775 (Ast_cocci.arithOp * Data.clt)
1776 # 1777 "parser_cocci_menhir.ml"
1777 ) = Obj.magic _2 in
1778 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1779 let _startpos = _startpos__1_ in
1780 let _endpos = _endpos__3_ in
1781 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1782 # 1267 "parser_cocci_menhir.mly"
1783 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
1784 # 1785 "parser_cocci_menhir.ml"
1785 in
1786 _menhir_env.MenhirLib.EngineTypes.stack <- {
1787 MenhirLib.EngineTypes.state = _menhir_s;
1788 MenhirLib.EngineTypes.semv = Obj.repr _v;
1789 MenhirLib.EngineTypes.startp = _startpos;
1790 MenhirLib.EngineTypes.endp = _endpos;
1791 MenhirLib.EngineTypes.next = _menhir_stack;
1792 });
1793 (fun _menhir_env ->
1794 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1795 let {
1796 MenhirLib.EngineTypes.semv = _3;
1797 MenhirLib.EngineTypes.startp = _startpos__3_;
1798 MenhirLib.EngineTypes.endp = _endpos__3_;
1799 MenhirLib.EngineTypes.next = {
1800 MenhirLib.EngineTypes.semv = _2;
1801 MenhirLib.EngineTypes.startp = _startpos__2_;
1802 MenhirLib.EngineTypes.endp = _endpos__2_;
1803 MenhirLib.EngineTypes.next = {
1804 MenhirLib.EngineTypes.state = _menhir_s;
1805 MenhirLib.EngineTypes.semv = _1;
1806 MenhirLib.EngineTypes.startp = _startpos__1_;
1807 MenhirLib.EngineTypes.endp = _endpos__1_;
1808 MenhirLib.EngineTypes.next = _menhir_stack;
1809 };
1810 };
1811 } = _menhir_stack in
1812 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1813 let _2 : (
1814 # 98 "parser_cocci_menhir.mly"
1815 (Data.clt)
1816 # 1817 "parser_cocci_menhir.ml"
1817 ) = Obj.magic _2 in
1818 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1819 let _startpos = _startpos__1_ in
1820 let _endpos = _endpos__3_ in
1821 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1822 # 1269 "parser_cocci_menhir.mly"
1823 ( P.arith_op Ast.Plus _1 _2 _3 )
1824 # 1825 "parser_cocci_menhir.ml"
1825 in
1826 _menhir_env.MenhirLib.EngineTypes.stack <- {
1827 MenhirLib.EngineTypes.state = _menhir_s;
1828 MenhirLib.EngineTypes.semv = Obj.repr _v;
1829 MenhirLib.EngineTypes.startp = _startpos;
1830 MenhirLib.EngineTypes.endp = _endpos;
1831 MenhirLib.EngineTypes.next = _menhir_stack;
1832 });
1833 (fun _menhir_env ->
1834 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1835 let {
1836 MenhirLib.EngineTypes.semv = _3;
1837 MenhirLib.EngineTypes.startp = _startpos__3_;
1838 MenhirLib.EngineTypes.endp = _endpos__3_;
1839 MenhirLib.EngineTypes.next = {
1840 MenhirLib.EngineTypes.semv = _2;
1841 MenhirLib.EngineTypes.startp = _startpos__2_;
1842 MenhirLib.EngineTypes.endp = _endpos__2_;
1843 MenhirLib.EngineTypes.next = {
1844 MenhirLib.EngineTypes.state = _menhir_s;
1845 MenhirLib.EngineTypes.semv = _1;
1846 MenhirLib.EngineTypes.startp = _startpos__1_;
1847 MenhirLib.EngineTypes.endp = _endpos__1_;
1848 MenhirLib.EngineTypes.next = _menhir_stack;
1849 };
1850 };
1851 } = _menhir_stack in
1852 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1853 let _2 : (
1854 # 98 "parser_cocci_menhir.mly"
1855 (Data.clt)
1856 # 1857 "parser_cocci_menhir.ml"
1857 ) = Obj.magic _2 in
1858 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1859 let _startpos = _startpos__1_ in
1860 let _endpos = _endpos__3_ in
1861 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1862 # 1271 "parser_cocci_menhir.mly"
1863 ( P.arith_op Ast.Minus _1 _2 _3 )
1864 # 1865 "parser_cocci_menhir.ml"
1865 in
1866 _menhir_env.MenhirLib.EngineTypes.stack <- {
1867 MenhirLib.EngineTypes.state = _menhir_s;
1868 MenhirLib.EngineTypes.semv = Obj.repr _v;
1869 MenhirLib.EngineTypes.startp = _startpos;
1870 MenhirLib.EngineTypes.endp = _endpos;
1871 MenhirLib.EngineTypes.next = _menhir_stack;
1872 });
1873 (fun _menhir_env ->
1874 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1875 let {
1876 MenhirLib.EngineTypes.semv = _3;
1877 MenhirLib.EngineTypes.startp = _startpos__3_;
1878 MenhirLib.EngineTypes.endp = _endpos__3_;
1879 MenhirLib.EngineTypes.next = {
1880 MenhirLib.EngineTypes.semv = _2;
1881 MenhirLib.EngineTypes.startp = _startpos__2_;
1882 MenhirLib.EngineTypes.endp = _endpos__2_;
1883 MenhirLib.EngineTypes.next = {
1884 MenhirLib.EngineTypes.state = _menhir_s;
1885 MenhirLib.EngineTypes.semv = _1;
1886 MenhirLib.EngineTypes.startp = _startpos__1_;
1887 MenhirLib.EngineTypes.endp = _endpos__1_;
1888 MenhirLib.EngineTypes.next = _menhir_stack;
1889 };
1890 };
1891 } = _menhir_stack in
1892 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1893 let _2 : (
1894 # 96 "parser_cocci_menhir.mly"
1895 (Ast_cocci.arithOp * Data.clt)
1896 # 1897 "parser_cocci_menhir.ml"
1897 ) = Obj.magic _2 in
1898 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1899 let _startpos = _startpos__1_ in
1900 let _endpos = _endpos__3_ in
1901 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1902 # 1273 "parser_cocci_menhir.mly"
1903 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
1904 # 1905 "parser_cocci_menhir.ml"
1905 in
1906 _menhir_env.MenhirLib.EngineTypes.stack <- {
1907 MenhirLib.EngineTypes.state = _menhir_s;
1908 MenhirLib.EngineTypes.semv = Obj.repr _v;
1909 MenhirLib.EngineTypes.startp = _startpos;
1910 MenhirLib.EngineTypes.endp = _endpos;
1911 MenhirLib.EngineTypes.next = _menhir_stack;
1912 });
1913 (fun _menhir_env ->
1914 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1915 let {
1916 MenhirLib.EngineTypes.semv = _3;
1917 MenhirLib.EngineTypes.startp = _startpos__3_;
1918 MenhirLib.EngineTypes.endp = _endpos__3_;
1919 MenhirLib.EngineTypes.next = {
1920 MenhirLib.EngineTypes.semv = _2;
1921 MenhirLib.EngineTypes.startp = _startpos__2_;
1922 MenhirLib.EngineTypes.endp = _endpos__2_;
1923 MenhirLib.EngineTypes.next = {
1924 MenhirLib.EngineTypes.state = _menhir_s;
1925 MenhirLib.EngineTypes.semv = _1;
1926 MenhirLib.EngineTypes.startp = _startpos__1_;
1927 MenhirLib.EngineTypes.endp = _endpos__1_;
1928 MenhirLib.EngineTypes.next = _menhir_stack;
1929 };
1930 };
1931 } = _menhir_stack in
1932 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1933 let _2 : (
1934 # 95 "parser_cocci_menhir.mly"
1935 (Ast_cocci.logicalOp * Data.clt)
1936 # 1937 "parser_cocci_menhir.ml"
1937 ) = Obj.magic _2 in
1938 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1939 let _startpos = _startpos__1_ in
1940 let _endpos = _endpos__3_ in
1941 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1942 # 1275 "parser_cocci_menhir.mly"
1943 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
1944 # 1945 "parser_cocci_menhir.ml"
1945 in
1946 _menhir_env.MenhirLib.EngineTypes.stack <- {
1947 MenhirLib.EngineTypes.state = _menhir_s;
1948 MenhirLib.EngineTypes.semv = Obj.repr _v;
1949 MenhirLib.EngineTypes.startp = _startpos;
1950 MenhirLib.EngineTypes.endp = _endpos;
1951 MenhirLib.EngineTypes.next = _menhir_stack;
1952 });
1953 (fun _menhir_env ->
1954 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1955 let {
1956 MenhirLib.EngineTypes.semv = _3;
1957 MenhirLib.EngineTypes.startp = _startpos__3_;
1958 MenhirLib.EngineTypes.endp = _endpos__3_;
1959 MenhirLib.EngineTypes.next = {
1960 MenhirLib.EngineTypes.semv = _2;
1961 MenhirLib.EngineTypes.startp = _startpos__2_;
1962 MenhirLib.EngineTypes.endp = _endpos__2_;
1963 MenhirLib.EngineTypes.next = {
1964 MenhirLib.EngineTypes.state = _menhir_s;
1965 MenhirLib.EngineTypes.semv = _1;
1966 MenhirLib.EngineTypes.startp = _startpos__1_;
1967 MenhirLib.EngineTypes.endp = _endpos__1_;
1968 MenhirLib.EngineTypes.next = _menhir_stack;
1969 };
1970 };
1971 } = _menhir_stack in
1972 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1973 let _2 : (
1974 # 94 "parser_cocci_menhir.mly"
1975 (Data.clt)
1976 # 1977 "parser_cocci_menhir.ml"
1977 ) = Obj.magic _2 in
1978 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1979 let _startpos = _startpos__1_ in
1980 let _endpos = _endpos__3_ in
1981 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1982 # 1277 "parser_cocci_menhir.mly"
1983 ( P.logic_op Ast.Eq _1 _2 _3 )
1984 # 1985 "parser_cocci_menhir.ml"
1985 in
1986 _menhir_env.MenhirLib.EngineTypes.stack <- {
1987 MenhirLib.EngineTypes.state = _menhir_s;
1988 MenhirLib.EngineTypes.semv = Obj.repr _v;
1989 MenhirLib.EngineTypes.startp = _startpos;
1990 MenhirLib.EngineTypes.endp = _endpos;
1991 MenhirLib.EngineTypes.next = _menhir_stack;
1992 });
1993 (fun _menhir_env ->
1994 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1995 let {
1996 MenhirLib.EngineTypes.semv = _3;
1997 MenhirLib.EngineTypes.startp = _startpos__3_;
1998 MenhirLib.EngineTypes.endp = _endpos__3_;
1999 MenhirLib.EngineTypes.next = {
2000 MenhirLib.EngineTypes.semv = _2;
2001 MenhirLib.EngineTypes.startp = _startpos__2_;
2002 MenhirLib.EngineTypes.endp = _endpos__2_;
2003 MenhirLib.EngineTypes.next = {
2004 MenhirLib.EngineTypes.state = _menhir_s;
2005 MenhirLib.EngineTypes.semv = _1;
2006 MenhirLib.EngineTypes.startp = _startpos__1_;
2007 MenhirLib.EngineTypes.endp = _endpos__1_;
2008 MenhirLib.EngineTypes.next = _menhir_stack;
2009 };
2010 };
2011 } = _menhir_stack in
2012 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2013 let _2 : (
2014 # 94 "parser_cocci_menhir.mly"
2015 (Data.clt)
2016 # 2017 "parser_cocci_menhir.ml"
2017 ) = Obj.magic _2 in
2018 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2019 let _startpos = _startpos__1_ in
2020 let _endpos = _endpos__3_ in
2021 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2022 # 1279 "parser_cocci_menhir.mly"
2023 ( P.logic_op Ast.NotEq _1 _2 _3 )
2024 # 2025 "parser_cocci_menhir.ml"
2025 in
2026 _menhir_env.MenhirLib.EngineTypes.stack <- {
2027 MenhirLib.EngineTypes.state = _menhir_s;
2028 MenhirLib.EngineTypes.semv = Obj.repr _v;
2029 MenhirLib.EngineTypes.startp = _startpos;
2030 MenhirLib.EngineTypes.endp = _endpos;
2031 MenhirLib.EngineTypes.next = _menhir_stack;
2032 });
2033 (fun _menhir_env ->
2034 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2035 let {
2036 MenhirLib.EngineTypes.semv = _3;
2037 MenhirLib.EngineTypes.startp = _startpos__3_;
2038 MenhirLib.EngineTypes.endp = _endpos__3_;
2039 MenhirLib.EngineTypes.next = {
2040 MenhirLib.EngineTypes.semv = _2;
2041 MenhirLib.EngineTypes.startp = _startpos__2_;
2042 MenhirLib.EngineTypes.endp = _endpos__2_;
2043 MenhirLib.EngineTypes.next = {
2044 MenhirLib.EngineTypes.state = _menhir_s;
2045 MenhirLib.EngineTypes.semv = _1;
2046 MenhirLib.EngineTypes.startp = _startpos__1_;
2047 MenhirLib.EngineTypes.endp = _endpos__1_;
2048 MenhirLib.EngineTypes.next = _menhir_stack;
2049 };
2050 };
2051 } = _menhir_stack in
2052 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2053 let _2 : (
2054 # 93 "parser_cocci_menhir.mly"
2055 (Data.clt)
2056 # 2057 "parser_cocci_menhir.ml"
2057 ) = Obj.magic _2 in
2058 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2059 let _startpos = _startpos__1_ in
2060 let _endpos = _endpos__3_ in
2061 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2062 # 1281 "parser_cocci_menhir.mly"
2063 ( P.arith_op Ast.And _1 _2 _3 )
2064 # 2065 "parser_cocci_menhir.ml"
2065 in
2066 _menhir_env.MenhirLib.EngineTypes.stack <- {
2067 MenhirLib.EngineTypes.state = _menhir_s;
2068 MenhirLib.EngineTypes.semv = Obj.repr _v;
2069 MenhirLib.EngineTypes.startp = _startpos;
2070 MenhirLib.EngineTypes.endp = _endpos;
2071 MenhirLib.EngineTypes.next = _menhir_stack;
2072 });
2073 (fun _menhir_env ->
2074 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2075 let {
2076 MenhirLib.EngineTypes.semv = _3;
2077 MenhirLib.EngineTypes.startp = _startpos__3_;
2078 MenhirLib.EngineTypes.endp = _endpos__3_;
2079 MenhirLib.EngineTypes.next = {
2080 MenhirLib.EngineTypes.semv = _2;
2081 MenhirLib.EngineTypes.startp = _startpos__2_;
2082 MenhirLib.EngineTypes.endp = _endpos__2_;
2083 MenhirLib.EngineTypes.next = {
2084 MenhirLib.EngineTypes.state = _menhir_s;
2085 MenhirLib.EngineTypes.semv = _1;
2086 MenhirLib.EngineTypes.startp = _startpos__1_;
2087 MenhirLib.EngineTypes.endp = _endpos__1_;
2088 MenhirLib.EngineTypes.next = _menhir_stack;
2089 };
2090 };
2091 } = _menhir_stack in
2092 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2093 let _2 : (
2094 # 91 "parser_cocci_menhir.mly"
2095 (Data.clt)
2096 # 2097 "parser_cocci_menhir.ml"
2097 ) = Obj.magic _2 in
2098 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2099 let _startpos = _startpos__1_ in
2100 let _endpos = _endpos__3_ in
2101 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2102 # 1283 "parser_cocci_menhir.mly"
2103 ( P.arith_op Ast.Or _1 _2 _3 )
2104 # 2105 "parser_cocci_menhir.ml"
2105 in
2106 _menhir_env.MenhirLib.EngineTypes.stack <- {
2107 MenhirLib.EngineTypes.state = _menhir_s;
2108 MenhirLib.EngineTypes.semv = Obj.repr _v;
2109 MenhirLib.EngineTypes.startp = _startpos;
2110 MenhirLib.EngineTypes.endp = _endpos;
2111 MenhirLib.EngineTypes.next = _menhir_stack;
2112 });
2113 (fun _menhir_env ->
2114 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2115 let {
2116 MenhirLib.EngineTypes.semv = _3;
2117 MenhirLib.EngineTypes.startp = _startpos__3_;
2118 MenhirLib.EngineTypes.endp = _endpos__3_;
2119 MenhirLib.EngineTypes.next = {
2120 MenhirLib.EngineTypes.semv = _2;
2121 MenhirLib.EngineTypes.startp = _startpos__2_;
2122 MenhirLib.EngineTypes.endp = _endpos__2_;
2123 MenhirLib.EngineTypes.next = {
2124 MenhirLib.EngineTypes.state = _menhir_s;
2125 MenhirLib.EngineTypes.semv = _1;
2126 MenhirLib.EngineTypes.startp = _startpos__1_;
2127 MenhirLib.EngineTypes.endp = _endpos__1_;
2128 MenhirLib.EngineTypes.next = _menhir_stack;
2129 };
2130 };
2131 } = _menhir_stack in
2132 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2133 let _2 : (
2134 # 92 "parser_cocci_menhir.mly"
2135 (Data.clt)
2136 # 2137 "parser_cocci_menhir.ml"
2137 ) = Obj.magic _2 in
2138 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2139 let _startpos = _startpos__1_ in
2140 let _endpos = _endpos__3_ in
2141 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2142 # 1285 "parser_cocci_menhir.mly"
2143 ( P.arith_op Ast.Xor _1 _2 _3 )
2144 # 2145 "parser_cocci_menhir.ml"
2145 in
2146 _menhir_env.MenhirLib.EngineTypes.stack <- {
2147 MenhirLib.EngineTypes.state = _menhir_s;
2148 MenhirLib.EngineTypes.semv = Obj.repr _v;
2149 MenhirLib.EngineTypes.startp = _startpos;
2150 MenhirLib.EngineTypes.endp = _endpos;
2151 MenhirLib.EngineTypes.next = _menhir_stack;
2152 });
2153 (fun _menhir_env ->
2154 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2155 let {
2156 MenhirLib.EngineTypes.semv = _3;
2157 MenhirLib.EngineTypes.startp = _startpos__3_;
2158 MenhirLib.EngineTypes.endp = _endpos__3_;
2159 MenhirLib.EngineTypes.next = {
2160 MenhirLib.EngineTypes.semv = _2;
2161 MenhirLib.EngineTypes.startp = _startpos__2_;
2162 MenhirLib.EngineTypes.endp = _endpos__2_;
2163 MenhirLib.EngineTypes.next = {
2164 MenhirLib.EngineTypes.state = _menhir_s;
2165 MenhirLib.EngineTypes.semv = _1;
2166 MenhirLib.EngineTypes.startp = _startpos__1_;
2167 MenhirLib.EngineTypes.endp = _endpos__1_;
2168 MenhirLib.EngineTypes.next = _menhir_stack;
2169 };
2170 };
2171 } = _menhir_stack in
2172 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2173 let _2 : (
2174 # 90 "parser_cocci_menhir.mly"
2175 (Data.clt)
2176 # 2177 "parser_cocci_menhir.ml"
2177 ) = Obj.magic _2 in
2178 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2179 let _startpos = _startpos__1_ in
2180 let _endpos = _endpos__3_ in
2181 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2182 # 1287 "parser_cocci_menhir.mly"
2183 ( P.logic_op Ast.AndLog _1 _2 _3 )
2184 # 2185 "parser_cocci_menhir.ml"
2185 in
2186 _menhir_env.MenhirLib.EngineTypes.stack <- {
2187 MenhirLib.EngineTypes.state = _menhir_s;
2188 MenhirLib.EngineTypes.semv = Obj.repr _v;
2189 MenhirLib.EngineTypes.startp = _startpos;
2190 MenhirLib.EngineTypes.endp = _endpos;
2191 MenhirLib.EngineTypes.next = _menhir_stack;
2192 });
2193 (fun _menhir_env ->
2194 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2195 let {
2196 MenhirLib.EngineTypes.semv = _3;
2197 MenhirLib.EngineTypes.startp = _startpos__3_;
2198 MenhirLib.EngineTypes.endp = _endpos__3_;
2199 MenhirLib.EngineTypes.next = {
2200 MenhirLib.EngineTypes.semv = _2;
2201 MenhirLib.EngineTypes.startp = _startpos__2_;
2202 MenhirLib.EngineTypes.endp = _endpos__2_;
2203 MenhirLib.EngineTypes.next = {
2204 MenhirLib.EngineTypes.state = _menhir_s;
2205 MenhirLib.EngineTypes.semv = _1;
2206 MenhirLib.EngineTypes.startp = _startpos__1_;
2207 MenhirLib.EngineTypes.endp = _endpos__1_;
2208 MenhirLib.EngineTypes.next = _menhir_stack;
2209 };
2210 };
2211 } = _menhir_stack in
2212 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2213 let _2 : (
2214 # 89 "parser_cocci_menhir.mly"
2215 (Data.clt)
2216 # 2217 "parser_cocci_menhir.ml"
2217 ) = Obj.magic _2 in
2218 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2219 let _startpos = _startpos__1_ in
2220 let _endpos = _endpos__3_ in
2221 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2222 # 1289 "parser_cocci_menhir.mly"
2223 ( P.logic_op Ast.OrLog _1 _2 _3 )
2224 # 2225 "parser_cocci_menhir.ml"
2225 in
2226 _menhir_env.MenhirLib.EngineTypes.stack <- {
2227 MenhirLib.EngineTypes.state = _menhir_s;
2228 MenhirLib.EngineTypes.semv = Obj.repr _v;
2229 MenhirLib.EngineTypes.startp = _startpos;
2230 MenhirLib.EngineTypes.endp = _endpos;
2231 MenhirLib.EngineTypes.next = _menhir_stack;
2232 });
2233 (fun _menhir_env ->
2234 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2235 let {
2236 MenhirLib.EngineTypes.state = _menhir_s;
2237 MenhirLib.EngineTypes.semv = _1;
2238 MenhirLib.EngineTypes.startp = _startpos__1_;
2239 MenhirLib.EngineTypes.endp = _endpos__1_;
2240 MenhirLib.EngineTypes.next = _menhir_stack;
2241 } = _menhir_stack in
2242 let _1 : 'tv_cast_expr_eexpr_invalid_ = Obj.magic _1 in
2243 let _startpos = _startpos__1_ in
2244 let _endpos = _endpos__1_ in
2245 let _v : 'tv_arith_expr_eexpr_invalid_ =
2246 # 1263 "parser_cocci_menhir.mly"
2247 ( _1 )
2248 # 2249 "parser_cocci_menhir.ml"
2249 in
2250 _menhir_env.MenhirLib.EngineTypes.stack <- {
2251 MenhirLib.EngineTypes.state = _menhir_s;
2252 MenhirLib.EngineTypes.semv = Obj.repr _v;
2253 MenhirLib.EngineTypes.startp = _startpos;
2254 MenhirLib.EngineTypes.endp = _endpos;
2255 MenhirLib.EngineTypes.next = _menhir_stack;
2256 });
2257 (fun _menhir_env ->
2258 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2259 let {
2260 MenhirLib.EngineTypes.semv = _3;
2261 MenhirLib.EngineTypes.startp = _startpos__3_;
2262 MenhirLib.EngineTypes.endp = _endpos__3_;
2263 MenhirLib.EngineTypes.next = {
2264 MenhirLib.EngineTypes.semv = _2;
2265 MenhirLib.EngineTypes.startp = _startpos__2_;
2266 MenhirLib.EngineTypes.endp = _endpos__2_;
2267 MenhirLib.EngineTypes.next = {
2268 MenhirLib.EngineTypes.state = _menhir_s;
2269 MenhirLib.EngineTypes.semv = _1;
2270 MenhirLib.EngineTypes.startp = _startpos__1_;
2271 MenhirLib.EngineTypes.endp = _endpos__1_;
2272 MenhirLib.EngineTypes.next = _menhir_stack;
2273 };
2274 };
2275 } = _menhir_stack in
2276 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2277 let _2 : (
2278 # 99 "parser_cocci_menhir.mly"
2279 (Data.clt)
2280 # 2281 "parser_cocci_menhir.ml"
2281 ) = Obj.magic _2 in
2282 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2283 let _startpos = _startpos__1_ in
2284 let _endpos = _endpos__3_ in
2285 let _v : 'tv_arith_expr_eexpr_invalid_ =
2286 # 1265 "parser_cocci_menhir.mly"
2287 ( P.arith_op Ast.Mul _1 _2 _3 )
2288 # 2289 "parser_cocci_menhir.ml"
2289 in
2290 _menhir_env.MenhirLib.EngineTypes.stack <- {
2291 MenhirLib.EngineTypes.state = _menhir_s;
2292 MenhirLib.EngineTypes.semv = Obj.repr _v;
2293 MenhirLib.EngineTypes.startp = _startpos;
2294 MenhirLib.EngineTypes.endp = _endpos;
2295 MenhirLib.EngineTypes.next = _menhir_stack;
2296 });
2297 (fun _menhir_env ->
2298 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2299 let {
2300 MenhirLib.EngineTypes.semv = _3;
2301 MenhirLib.EngineTypes.startp = _startpos__3_;
2302 MenhirLib.EngineTypes.endp = _endpos__3_;
2303 MenhirLib.EngineTypes.next = {
2304 MenhirLib.EngineTypes.semv = _2;
2305 MenhirLib.EngineTypes.startp = _startpos__2_;
2306 MenhirLib.EngineTypes.endp = _endpos__2_;
2307 MenhirLib.EngineTypes.next = {
2308 MenhirLib.EngineTypes.state = _menhir_s;
2309 MenhirLib.EngineTypes.semv = _1;
2310 MenhirLib.EngineTypes.startp = _startpos__1_;
2311 MenhirLib.EngineTypes.endp = _endpos__1_;
2312 MenhirLib.EngineTypes.next = _menhir_stack;
2313 };
2314 };
2315 } = _menhir_stack in
2316 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2317 let _2 : (
2318 # 97 "parser_cocci_menhir.mly"
2319 (Ast_cocci.arithOp * Data.clt)
2320 # 2321 "parser_cocci_menhir.ml"
2321 ) = Obj.magic _2 in
2322 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2323 let _startpos = _startpos__1_ in
2324 let _endpos = _endpos__3_ in
2325 let _v : 'tv_arith_expr_eexpr_invalid_ =
2326 # 1267 "parser_cocci_menhir.mly"
2327 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2328 # 2329 "parser_cocci_menhir.ml"
2329 in
2330 _menhir_env.MenhirLib.EngineTypes.stack <- {
2331 MenhirLib.EngineTypes.state = _menhir_s;
2332 MenhirLib.EngineTypes.semv = Obj.repr _v;
2333 MenhirLib.EngineTypes.startp = _startpos;
2334 MenhirLib.EngineTypes.endp = _endpos;
2335 MenhirLib.EngineTypes.next = _menhir_stack;
2336 });
2337 (fun _menhir_env ->
2338 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2339 let {
2340 MenhirLib.EngineTypes.semv = _3;
2341 MenhirLib.EngineTypes.startp = _startpos__3_;
2342 MenhirLib.EngineTypes.endp = _endpos__3_;
2343 MenhirLib.EngineTypes.next = {
2344 MenhirLib.EngineTypes.semv = _2;
2345 MenhirLib.EngineTypes.startp = _startpos__2_;
2346 MenhirLib.EngineTypes.endp = _endpos__2_;
2347 MenhirLib.EngineTypes.next = {
2348 MenhirLib.EngineTypes.state = _menhir_s;
2349 MenhirLib.EngineTypes.semv = _1;
2350 MenhirLib.EngineTypes.startp = _startpos__1_;
2351 MenhirLib.EngineTypes.endp = _endpos__1_;
2352 MenhirLib.EngineTypes.next = _menhir_stack;
2353 };
2354 };
2355 } = _menhir_stack in
2356 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2357 let _2 : (
2358 # 98 "parser_cocci_menhir.mly"
2359 (Data.clt)
2360 # 2361 "parser_cocci_menhir.ml"
2361 ) = Obj.magic _2 in
2362 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2363 let _startpos = _startpos__1_ in
2364 let _endpos = _endpos__3_ in
2365 let _v : 'tv_arith_expr_eexpr_invalid_ =
2366 # 1269 "parser_cocci_menhir.mly"
2367 ( P.arith_op Ast.Plus _1 _2 _3 )
2368 # 2369 "parser_cocci_menhir.ml"
2369 in
2370 _menhir_env.MenhirLib.EngineTypes.stack <- {
2371 MenhirLib.EngineTypes.state = _menhir_s;
2372 MenhirLib.EngineTypes.semv = Obj.repr _v;
2373 MenhirLib.EngineTypes.startp = _startpos;
2374 MenhirLib.EngineTypes.endp = _endpos;
2375 MenhirLib.EngineTypes.next = _menhir_stack;
2376 });
2377 (fun _menhir_env ->
2378 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2379 let {
2380 MenhirLib.EngineTypes.semv = _3;
2381 MenhirLib.EngineTypes.startp = _startpos__3_;
2382 MenhirLib.EngineTypes.endp = _endpos__3_;
2383 MenhirLib.EngineTypes.next = {
2384 MenhirLib.EngineTypes.semv = _2;
2385 MenhirLib.EngineTypes.startp = _startpos__2_;
2386 MenhirLib.EngineTypes.endp = _endpos__2_;
2387 MenhirLib.EngineTypes.next = {
2388 MenhirLib.EngineTypes.state = _menhir_s;
2389 MenhirLib.EngineTypes.semv = _1;
2390 MenhirLib.EngineTypes.startp = _startpos__1_;
2391 MenhirLib.EngineTypes.endp = _endpos__1_;
2392 MenhirLib.EngineTypes.next = _menhir_stack;
2393 };
2394 };
2395 } = _menhir_stack in
2396 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2397 let _2 : (
2398 # 98 "parser_cocci_menhir.mly"
2399 (Data.clt)
2400 # 2401 "parser_cocci_menhir.ml"
2401 ) = Obj.magic _2 in
2402 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2403 let _startpos = _startpos__1_ in
2404 let _endpos = _endpos__3_ in
2405 let _v : 'tv_arith_expr_eexpr_invalid_ =
2406 # 1271 "parser_cocci_menhir.mly"
2407 ( P.arith_op Ast.Minus _1 _2 _3 )
2408 # 2409 "parser_cocci_menhir.ml"
2409 in
2410 _menhir_env.MenhirLib.EngineTypes.stack <- {
2411 MenhirLib.EngineTypes.state = _menhir_s;
2412 MenhirLib.EngineTypes.semv = Obj.repr _v;
2413 MenhirLib.EngineTypes.startp = _startpos;
2414 MenhirLib.EngineTypes.endp = _endpos;
2415 MenhirLib.EngineTypes.next = _menhir_stack;
2416 });
2417 (fun _menhir_env ->
2418 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2419 let {
2420 MenhirLib.EngineTypes.semv = _3;
2421 MenhirLib.EngineTypes.startp = _startpos__3_;
2422 MenhirLib.EngineTypes.endp = _endpos__3_;
2423 MenhirLib.EngineTypes.next = {
2424 MenhirLib.EngineTypes.semv = _2;
2425 MenhirLib.EngineTypes.startp = _startpos__2_;
2426 MenhirLib.EngineTypes.endp = _endpos__2_;
2427 MenhirLib.EngineTypes.next = {
2428 MenhirLib.EngineTypes.state = _menhir_s;
2429 MenhirLib.EngineTypes.semv = _1;
2430 MenhirLib.EngineTypes.startp = _startpos__1_;
2431 MenhirLib.EngineTypes.endp = _endpos__1_;
2432 MenhirLib.EngineTypes.next = _menhir_stack;
2433 };
2434 };
2435 } = _menhir_stack in
2436 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2437 let _2 : (
2438 # 96 "parser_cocci_menhir.mly"
2439 (Ast_cocci.arithOp * Data.clt)
2440 # 2441 "parser_cocci_menhir.ml"
2441 ) = Obj.magic _2 in
2442 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2443 let _startpos = _startpos__1_ in
2444 let _endpos = _endpos__3_ in
2445 let _v : 'tv_arith_expr_eexpr_invalid_ =
2446 # 1273 "parser_cocci_menhir.mly"
2447 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2448 # 2449 "parser_cocci_menhir.ml"
2449 in
2450 _menhir_env.MenhirLib.EngineTypes.stack <- {
2451 MenhirLib.EngineTypes.state = _menhir_s;
2452 MenhirLib.EngineTypes.semv = Obj.repr _v;
2453 MenhirLib.EngineTypes.startp = _startpos;
2454 MenhirLib.EngineTypes.endp = _endpos;
2455 MenhirLib.EngineTypes.next = _menhir_stack;
2456 });
2457 (fun _menhir_env ->
2458 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2459 let {
2460 MenhirLib.EngineTypes.semv = _3;
2461 MenhirLib.EngineTypes.startp = _startpos__3_;
2462 MenhirLib.EngineTypes.endp = _endpos__3_;
2463 MenhirLib.EngineTypes.next = {
2464 MenhirLib.EngineTypes.semv = _2;
2465 MenhirLib.EngineTypes.startp = _startpos__2_;
2466 MenhirLib.EngineTypes.endp = _endpos__2_;
2467 MenhirLib.EngineTypes.next = {
2468 MenhirLib.EngineTypes.state = _menhir_s;
2469 MenhirLib.EngineTypes.semv = _1;
2470 MenhirLib.EngineTypes.startp = _startpos__1_;
2471 MenhirLib.EngineTypes.endp = _endpos__1_;
2472 MenhirLib.EngineTypes.next = _menhir_stack;
2473 };
2474 };
2475 } = _menhir_stack in
2476 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2477 let _2 : (
2478 # 95 "parser_cocci_menhir.mly"
2479 (Ast_cocci.logicalOp * Data.clt)
2480 # 2481 "parser_cocci_menhir.ml"
2481 ) = Obj.magic _2 in
2482 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2483 let _startpos = _startpos__1_ in
2484 let _endpos = _endpos__3_ in
2485 let _v : 'tv_arith_expr_eexpr_invalid_ =
2486 # 1275 "parser_cocci_menhir.mly"
2487 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
2488 # 2489 "parser_cocci_menhir.ml"
2489 in
2490 _menhir_env.MenhirLib.EngineTypes.stack <- {
2491 MenhirLib.EngineTypes.state = _menhir_s;
2492 MenhirLib.EngineTypes.semv = Obj.repr _v;
2493 MenhirLib.EngineTypes.startp = _startpos;
2494 MenhirLib.EngineTypes.endp = _endpos;
2495 MenhirLib.EngineTypes.next = _menhir_stack;
2496 });
2497 (fun _menhir_env ->
2498 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2499 let {
2500 MenhirLib.EngineTypes.semv = _3;
2501 MenhirLib.EngineTypes.startp = _startpos__3_;
2502 MenhirLib.EngineTypes.endp = _endpos__3_;
2503 MenhirLib.EngineTypes.next = {
2504 MenhirLib.EngineTypes.semv = _2;
2505 MenhirLib.EngineTypes.startp = _startpos__2_;
2506 MenhirLib.EngineTypes.endp = _endpos__2_;
2507 MenhirLib.EngineTypes.next = {
2508 MenhirLib.EngineTypes.state = _menhir_s;
2509 MenhirLib.EngineTypes.semv = _1;
2510 MenhirLib.EngineTypes.startp = _startpos__1_;
2511 MenhirLib.EngineTypes.endp = _endpos__1_;
2512 MenhirLib.EngineTypes.next = _menhir_stack;
2513 };
2514 };
2515 } = _menhir_stack in
2516 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2517 let _2 : (
2518 # 94 "parser_cocci_menhir.mly"
2519 (Data.clt)
2520 # 2521 "parser_cocci_menhir.ml"
2521 ) = Obj.magic _2 in
2522 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2523 let _startpos = _startpos__1_ in
2524 let _endpos = _endpos__3_ in
2525 let _v : 'tv_arith_expr_eexpr_invalid_ =
2526 # 1277 "parser_cocci_menhir.mly"
2527 ( P.logic_op Ast.Eq _1 _2 _3 )
2528 # 2529 "parser_cocci_menhir.ml"
2529 in
2530 _menhir_env.MenhirLib.EngineTypes.stack <- {
2531 MenhirLib.EngineTypes.state = _menhir_s;
2532 MenhirLib.EngineTypes.semv = Obj.repr _v;
2533 MenhirLib.EngineTypes.startp = _startpos;
2534 MenhirLib.EngineTypes.endp = _endpos;
2535 MenhirLib.EngineTypes.next = _menhir_stack;
2536 });
2537 (fun _menhir_env ->
2538 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2539 let {
2540 MenhirLib.EngineTypes.semv = _3;
2541 MenhirLib.EngineTypes.startp = _startpos__3_;
2542 MenhirLib.EngineTypes.endp = _endpos__3_;
2543 MenhirLib.EngineTypes.next = {
2544 MenhirLib.EngineTypes.semv = _2;
2545 MenhirLib.EngineTypes.startp = _startpos__2_;
2546 MenhirLib.EngineTypes.endp = _endpos__2_;
2547 MenhirLib.EngineTypes.next = {
2548 MenhirLib.EngineTypes.state = _menhir_s;
2549 MenhirLib.EngineTypes.semv = _1;
2550 MenhirLib.EngineTypes.startp = _startpos__1_;
2551 MenhirLib.EngineTypes.endp = _endpos__1_;
2552 MenhirLib.EngineTypes.next = _menhir_stack;
2553 };
2554 };
2555 } = _menhir_stack in
2556 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2557 let _2 : (
2558 # 94 "parser_cocci_menhir.mly"
2559 (Data.clt)
2560 # 2561 "parser_cocci_menhir.ml"
2561 ) = Obj.magic _2 in
2562 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2563 let _startpos = _startpos__1_ in
2564 let _endpos = _endpos__3_ in
2565 let _v : 'tv_arith_expr_eexpr_invalid_ =
2566 # 1279 "parser_cocci_menhir.mly"
2567 ( P.logic_op Ast.NotEq _1 _2 _3 )
2568 # 2569 "parser_cocci_menhir.ml"
2569 in
2570 _menhir_env.MenhirLib.EngineTypes.stack <- {
2571 MenhirLib.EngineTypes.state = _menhir_s;
2572 MenhirLib.EngineTypes.semv = Obj.repr _v;
2573 MenhirLib.EngineTypes.startp = _startpos;
2574 MenhirLib.EngineTypes.endp = _endpos;
2575 MenhirLib.EngineTypes.next = _menhir_stack;
2576 });
2577 (fun _menhir_env ->
2578 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2579 let {
2580 MenhirLib.EngineTypes.semv = _3;
2581 MenhirLib.EngineTypes.startp = _startpos__3_;
2582 MenhirLib.EngineTypes.endp = _endpos__3_;
2583 MenhirLib.EngineTypes.next = {
2584 MenhirLib.EngineTypes.semv = _2;
2585 MenhirLib.EngineTypes.startp = _startpos__2_;
2586 MenhirLib.EngineTypes.endp = _endpos__2_;
2587 MenhirLib.EngineTypes.next = {
2588 MenhirLib.EngineTypes.state = _menhir_s;
2589 MenhirLib.EngineTypes.semv = _1;
2590 MenhirLib.EngineTypes.startp = _startpos__1_;
2591 MenhirLib.EngineTypes.endp = _endpos__1_;
2592 MenhirLib.EngineTypes.next = _menhir_stack;
2593 };
2594 };
2595 } = _menhir_stack in
2596 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2597 let _2 : (
2598 # 93 "parser_cocci_menhir.mly"
2599 (Data.clt)
2600 # 2601 "parser_cocci_menhir.ml"
2601 ) = Obj.magic _2 in
2602 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2603 let _startpos = _startpos__1_ in
2604 let _endpos = _endpos__3_ in
2605 let _v : 'tv_arith_expr_eexpr_invalid_ =
2606 # 1281 "parser_cocci_menhir.mly"
2607 ( P.arith_op Ast.And _1 _2 _3 )
2608 # 2609 "parser_cocci_menhir.ml"
2609 in
2610 _menhir_env.MenhirLib.EngineTypes.stack <- {
2611 MenhirLib.EngineTypes.state = _menhir_s;
2612 MenhirLib.EngineTypes.semv = Obj.repr _v;
2613 MenhirLib.EngineTypes.startp = _startpos;
2614 MenhirLib.EngineTypes.endp = _endpos;
2615 MenhirLib.EngineTypes.next = _menhir_stack;
2616 });
2617 (fun _menhir_env ->
2618 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2619 let {
2620 MenhirLib.EngineTypes.semv = _3;
2621 MenhirLib.EngineTypes.startp = _startpos__3_;
2622 MenhirLib.EngineTypes.endp = _endpos__3_;
2623 MenhirLib.EngineTypes.next = {
2624 MenhirLib.EngineTypes.semv = _2;
2625 MenhirLib.EngineTypes.startp = _startpos__2_;
2626 MenhirLib.EngineTypes.endp = _endpos__2_;
2627 MenhirLib.EngineTypes.next = {
2628 MenhirLib.EngineTypes.state = _menhir_s;
2629 MenhirLib.EngineTypes.semv = _1;
2630 MenhirLib.EngineTypes.startp = _startpos__1_;
2631 MenhirLib.EngineTypes.endp = _endpos__1_;
2632 MenhirLib.EngineTypes.next = _menhir_stack;
2633 };
2634 };
2635 } = _menhir_stack in
2636 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2637 let _2 : (
2638 # 91 "parser_cocci_menhir.mly"
2639 (Data.clt)
2640 # 2641 "parser_cocci_menhir.ml"
2641 ) = Obj.magic _2 in
2642 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2643 let _startpos = _startpos__1_ in
2644 let _endpos = _endpos__3_ in
2645 let _v : 'tv_arith_expr_eexpr_invalid_ =
2646 # 1283 "parser_cocci_menhir.mly"
2647 ( P.arith_op Ast.Or _1 _2 _3 )
2648 # 2649 "parser_cocci_menhir.ml"
2649 in
2650 _menhir_env.MenhirLib.EngineTypes.stack <- {
2651 MenhirLib.EngineTypes.state = _menhir_s;
2652 MenhirLib.EngineTypes.semv = Obj.repr _v;
2653 MenhirLib.EngineTypes.startp = _startpos;
2654 MenhirLib.EngineTypes.endp = _endpos;
2655 MenhirLib.EngineTypes.next = _menhir_stack;
2656 });
2657 (fun _menhir_env ->
2658 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2659 let {
2660 MenhirLib.EngineTypes.semv = _3;
2661 MenhirLib.EngineTypes.startp = _startpos__3_;
2662 MenhirLib.EngineTypes.endp = _endpos__3_;
2663 MenhirLib.EngineTypes.next = {
2664 MenhirLib.EngineTypes.semv = _2;
2665 MenhirLib.EngineTypes.startp = _startpos__2_;
2666 MenhirLib.EngineTypes.endp = _endpos__2_;
2667 MenhirLib.EngineTypes.next = {
2668 MenhirLib.EngineTypes.state = _menhir_s;
2669 MenhirLib.EngineTypes.semv = _1;
2670 MenhirLib.EngineTypes.startp = _startpos__1_;
2671 MenhirLib.EngineTypes.endp = _endpos__1_;
2672 MenhirLib.EngineTypes.next = _menhir_stack;
2673 };
2674 };
2675 } = _menhir_stack in
2676 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2677 let _2 : (
2678 # 92 "parser_cocci_menhir.mly"
2679 (Data.clt)
2680 # 2681 "parser_cocci_menhir.ml"
2681 ) = Obj.magic _2 in
2682 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2683 let _startpos = _startpos__1_ in
2684 let _endpos = _endpos__3_ in
2685 let _v : 'tv_arith_expr_eexpr_invalid_ =
2686 # 1285 "parser_cocci_menhir.mly"
2687 ( P.arith_op Ast.Xor _1 _2 _3 )
2688 # 2689 "parser_cocci_menhir.ml"
2689 in
2690 _menhir_env.MenhirLib.EngineTypes.stack <- {
2691 MenhirLib.EngineTypes.state = _menhir_s;
2692 MenhirLib.EngineTypes.semv = Obj.repr _v;
2693 MenhirLib.EngineTypes.startp = _startpos;
2694 MenhirLib.EngineTypes.endp = _endpos;
2695 MenhirLib.EngineTypes.next = _menhir_stack;
2696 });
2697 (fun _menhir_env ->
2698 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2699 let {
2700 MenhirLib.EngineTypes.semv = _3;
2701 MenhirLib.EngineTypes.startp = _startpos__3_;
2702 MenhirLib.EngineTypes.endp = _endpos__3_;
2703 MenhirLib.EngineTypes.next = {
2704 MenhirLib.EngineTypes.semv = _2;
2705 MenhirLib.EngineTypes.startp = _startpos__2_;
2706 MenhirLib.EngineTypes.endp = _endpos__2_;
2707 MenhirLib.EngineTypes.next = {
2708 MenhirLib.EngineTypes.state = _menhir_s;
2709 MenhirLib.EngineTypes.semv = _1;
2710 MenhirLib.EngineTypes.startp = _startpos__1_;
2711 MenhirLib.EngineTypes.endp = _endpos__1_;
2712 MenhirLib.EngineTypes.next = _menhir_stack;
2713 };
2714 };
2715 } = _menhir_stack in
2716 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2717 let _2 : (
2718 # 90 "parser_cocci_menhir.mly"
2719 (Data.clt)
2720 # 2721 "parser_cocci_menhir.ml"
2721 ) = Obj.magic _2 in
2722 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2723 let _startpos = _startpos__1_ in
2724 let _endpos = _endpos__3_ in
2725 let _v : 'tv_arith_expr_eexpr_invalid_ =
2726 # 1287 "parser_cocci_menhir.mly"
2727 ( P.logic_op Ast.AndLog _1 _2 _3 )
2728 # 2729 "parser_cocci_menhir.ml"
2729 in
2730 _menhir_env.MenhirLib.EngineTypes.stack <- {
2731 MenhirLib.EngineTypes.state = _menhir_s;
2732 MenhirLib.EngineTypes.semv = Obj.repr _v;
2733 MenhirLib.EngineTypes.startp = _startpos;
2734 MenhirLib.EngineTypes.endp = _endpos;
2735 MenhirLib.EngineTypes.next = _menhir_stack;
2736 });
2737 (fun _menhir_env ->
2738 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2739 let {
2740 MenhirLib.EngineTypes.semv = _3;
2741 MenhirLib.EngineTypes.startp = _startpos__3_;
2742 MenhirLib.EngineTypes.endp = _endpos__3_;
2743 MenhirLib.EngineTypes.next = {
2744 MenhirLib.EngineTypes.semv = _2;
2745 MenhirLib.EngineTypes.startp = _startpos__2_;
2746 MenhirLib.EngineTypes.endp = _endpos__2_;
2747 MenhirLib.EngineTypes.next = {
2748 MenhirLib.EngineTypes.state = _menhir_s;
2749 MenhirLib.EngineTypes.semv = _1;
2750 MenhirLib.EngineTypes.startp = _startpos__1_;
2751 MenhirLib.EngineTypes.endp = _endpos__1_;
2752 MenhirLib.EngineTypes.next = _menhir_stack;
2753 };
2754 };
2755 } = _menhir_stack in
2756 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2757 let _2 : (
2758 # 89 "parser_cocci_menhir.mly"
2759 (Data.clt)
2760 # 2761 "parser_cocci_menhir.ml"
2761 ) = Obj.magic _2 in
2762 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2763 let _startpos = _startpos__1_ in
2764 let _endpos = _endpos__3_ in
2765 let _v : 'tv_arith_expr_eexpr_invalid_ =
2766 # 1289 "parser_cocci_menhir.mly"
2767 ( P.logic_op Ast.OrLog _1 _2 _3 )
2768 # 2769 "parser_cocci_menhir.ml"
2769 in
2770 _menhir_env.MenhirLib.EngineTypes.stack <- {
2771 MenhirLib.EngineTypes.state = _menhir_s;
2772 MenhirLib.EngineTypes.semv = Obj.repr _v;
2773 MenhirLib.EngineTypes.startp = _startpos;
2774 MenhirLib.EngineTypes.endp = _endpos;
2775 MenhirLib.EngineTypes.next = _menhir_stack;
2776 });
2777 (fun _menhir_env ->
2778 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2779 let {
2780 MenhirLib.EngineTypes.state = _menhir_s;
2781 MenhirLib.EngineTypes.semv = _1;
2782 MenhirLib.EngineTypes.startp = _startpos__1_;
2783 MenhirLib.EngineTypes.endp = _endpos__1_;
2784 MenhirLib.EngineTypes.next = _menhir_stack;
2785 } = _menhir_stack in
2786 let _1 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2787 let _startpos = _startpos__1_ in
2788 let _endpos = _endpos__1_ in
2789 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2790 # 1263 "parser_cocci_menhir.mly"
2791 ( _1 )
2792 # 2793 "parser_cocci_menhir.ml"
2793 in
2794 _menhir_env.MenhirLib.EngineTypes.stack <- {
2795 MenhirLib.EngineTypes.state = _menhir_s;
2796 MenhirLib.EngineTypes.semv = Obj.repr _v;
2797 MenhirLib.EngineTypes.startp = _startpos;
2798 MenhirLib.EngineTypes.endp = _endpos;
2799 MenhirLib.EngineTypes.next = _menhir_stack;
2800 });
2801 (fun _menhir_env ->
2802 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2803 let {
2804 MenhirLib.EngineTypes.semv = _3;
2805 MenhirLib.EngineTypes.startp = _startpos__3_;
2806 MenhirLib.EngineTypes.endp = _endpos__3_;
2807 MenhirLib.EngineTypes.next = {
2808 MenhirLib.EngineTypes.semv = _2;
2809 MenhirLib.EngineTypes.startp = _startpos__2_;
2810 MenhirLib.EngineTypes.endp = _endpos__2_;
2811 MenhirLib.EngineTypes.next = {
2812 MenhirLib.EngineTypes.state = _menhir_s;
2813 MenhirLib.EngineTypes.semv = _1;
2814 MenhirLib.EngineTypes.startp = _startpos__1_;
2815 MenhirLib.EngineTypes.endp = _endpos__1_;
2816 MenhirLib.EngineTypes.next = _menhir_stack;
2817 };
2818 };
2819 } = _menhir_stack in
2820 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
2821 let _2 : (
2822 # 99 "parser_cocci_menhir.mly"
2823 (Data.clt)
2824 # 2825 "parser_cocci_menhir.ml"
2825 ) = Obj.magic _2 in
2826 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2827 let _startpos = _startpos__1_ in
2828 let _endpos = _endpos__3_ in
2829 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2830 # 1265 "parser_cocci_menhir.mly"
2831 ( P.arith_op Ast.Mul _1 _2 _3 )
2832 # 2833 "parser_cocci_menhir.ml"
2833 in
2834 _menhir_env.MenhirLib.EngineTypes.stack <- {
2835 MenhirLib.EngineTypes.state = _menhir_s;
2836 MenhirLib.EngineTypes.semv = Obj.repr _v;
2837 MenhirLib.EngineTypes.startp = _startpos;
2838 MenhirLib.EngineTypes.endp = _endpos;
2839 MenhirLib.EngineTypes.next = _menhir_stack;
2840 });
2841 (fun _menhir_env ->
2842 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2843 let {
2844 MenhirLib.EngineTypes.semv = _3;
2845 MenhirLib.EngineTypes.startp = _startpos__3_;
2846 MenhirLib.EngineTypes.endp = _endpos__3_;
2847 MenhirLib.EngineTypes.next = {
2848 MenhirLib.EngineTypes.semv = _2;
2849 MenhirLib.EngineTypes.startp = _startpos__2_;
2850 MenhirLib.EngineTypes.endp = _endpos__2_;
2851 MenhirLib.EngineTypes.next = {
2852 MenhirLib.EngineTypes.state = _menhir_s;
2853 MenhirLib.EngineTypes.semv = _1;
2854 MenhirLib.EngineTypes.startp = _startpos__1_;
2855 MenhirLib.EngineTypes.endp = _endpos__1_;
2856 MenhirLib.EngineTypes.next = _menhir_stack;
2857 };
2858 };
2859 } = _menhir_stack in
2860 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
2861 let _2 : (
2862 # 97 "parser_cocci_menhir.mly"
2863 (Ast_cocci.arithOp * Data.clt)
2864 # 2865 "parser_cocci_menhir.ml"
2865 ) = Obj.magic _2 in
2866 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2867 let _startpos = _startpos__1_ in
2868 let _endpos = _endpos__3_ in
2869 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2870 # 1267 "parser_cocci_menhir.mly"
2871 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2872 # 2873 "parser_cocci_menhir.ml"
2873 in
2874 _menhir_env.MenhirLib.EngineTypes.stack <- {
2875 MenhirLib.EngineTypes.state = _menhir_s;
2876 MenhirLib.EngineTypes.semv = Obj.repr _v;
2877 MenhirLib.EngineTypes.startp = _startpos;
2878 MenhirLib.EngineTypes.endp = _endpos;
2879 MenhirLib.EngineTypes.next = _menhir_stack;
2880 });
2881 (fun _menhir_env ->
2882 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2883 let {
2884 MenhirLib.EngineTypes.semv = _3;
2885 MenhirLib.EngineTypes.startp = _startpos__3_;
2886 MenhirLib.EngineTypes.endp = _endpos__3_;
2887 MenhirLib.EngineTypes.next = {
2888 MenhirLib.EngineTypes.semv = _2;
2889 MenhirLib.EngineTypes.startp = _startpos__2_;
2890 MenhirLib.EngineTypes.endp = _endpos__2_;
2891 MenhirLib.EngineTypes.next = {
2892 MenhirLib.EngineTypes.state = _menhir_s;
2893 MenhirLib.EngineTypes.semv = _1;
2894 MenhirLib.EngineTypes.startp = _startpos__1_;
2895 MenhirLib.EngineTypes.endp = _endpos__1_;
2896 MenhirLib.EngineTypes.next = _menhir_stack;
2897 };
2898 };
2899 } = _menhir_stack in
2900 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
2901 let _2 : (
2902 # 98 "parser_cocci_menhir.mly"
2903 (Data.clt)
2904 # 2905 "parser_cocci_menhir.ml"
2905 ) = Obj.magic _2 in
2906 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2907 let _startpos = _startpos__1_ in
2908 let _endpos = _endpos__3_ in
2909 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2910 # 1269 "parser_cocci_menhir.mly"
2911 ( P.arith_op Ast.Plus _1 _2 _3 )
2912 # 2913 "parser_cocci_menhir.ml"
2913 in
2914 _menhir_env.MenhirLib.EngineTypes.stack <- {
2915 MenhirLib.EngineTypes.state = _menhir_s;
2916 MenhirLib.EngineTypes.semv = Obj.repr _v;
2917 MenhirLib.EngineTypes.startp = _startpos;
2918 MenhirLib.EngineTypes.endp = _endpos;
2919 MenhirLib.EngineTypes.next = _menhir_stack;
2920 });
2921 (fun _menhir_env ->
2922 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2923 let {
2924 MenhirLib.EngineTypes.semv = _3;
2925 MenhirLib.EngineTypes.startp = _startpos__3_;
2926 MenhirLib.EngineTypes.endp = _endpos__3_;
2927 MenhirLib.EngineTypes.next = {
2928 MenhirLib.EngineTypes.semv = _2;
2929 MenhirLib.EngineTypes.startp = _startpos__2_;
2930 MenhirLib.EngineTypes.endp = _endpos__2_;
2931 MenhirLib.EngineTypes.next = {
2932 MenhirLib.EngineTypes.state = _menhir_s;
2933 MenhirLib.EngineTypes.semv = _1;
2934 MenhirLib.EngineTypes.startp = _startpos__1_;
2935 MenhirLib.EngineTypes.endp = _endpos__1_;
2936 MenhirLib.EngineTypes.next = _menhir_stack;
2937 };
2938 };
2939 } = _menhir_stack in
2940 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
2941 let _2 : (
2942 # 98 "parser_cocci_menhir.mly"
2943 (Data.clt)
2944 # 2945 "parser_cocci_menhir.ml"
2945 ) = Obj.magic _2 in
2946 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2947 let _startpos = _startpos__1_ in
2948 let _endpos = _endpos__3_ in
2949 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2950 # 1271 "parser_cocci_menhir.mly"
2951 ( P.arith_op Ast.Minus _1 _2 _3 )
2952 # 2953 "parser_cocci_menhir.ml"
2953 in
2954 _menhir_env.MenhirLib.EngineTypes.stack <- {
2955 MenhirLib.EngineTypes.state = _menhir_s;
2956 MenhirLib.EngineTypes.semv = Obj.repr _v;
2957 MenhirLib.EngineTypes.startp = _startpos;
2958 MenhirLib.EngineTypes.endp = _endpos;
2959 MenhirLib.EngineTypes.next = _menhir_stack;
2960 });
2961 (fun _menhir_env ->
2962 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2963 let {
2964 MenhirLib.EngineTypes.semv = _3;
2965 MenhirLib.EngineTypes.startp = _startpos__3_;
2966 MenhirLib.EngineTypes.endp = _endpos__3_;
2967 MenhirLib.EngineTypes.next = {
2968 MenhirLib.EngineTypes.semv = _2;
2969 MenhirLib.EngineTypes.startp = _startpos__2_;
2970 MenhirLib.EngineTypes.endp = _endpos__2_;
2971 MenhirLib.EngineTypes.next = {
2972 MenhirLib.EngineTypes.state = _menhir_s;
2973 MenhirLib.EngineTypes.semv = _1;
2974 MenhirLib.EngineTypes.startp = _startpos__1_;
2975 MenhirLib.EngineTypes.endp = _endpos__1_;
2976 MenhirLib.EngineTypes.next = _menhir_stack;
2977 };
2978 };
2979 } = _menhir_stack in
2980 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
2981 let _2 : (
2982 # 96 "parser_cocci_menhir.mly"
2983 (Ast_cocci.arithOp * Data.clt)
2984 # 2985 "parser_cocci_menhir.ml"
2985 ) = Obj.magic _2 in
2986 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2987 let _startpos = _startpos__1_ in
2988 let _endpos = _endpos__3_ in
2989 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2990 # 1273 "parser_cocci_menhir.mly"
2991 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2992 # 2993 "parser_cocci_menhir.ml"
2993 in
2994 _menhir_env.MenhirLib.EngineTypes.stack <- {
2995 MenhirLib.EngineTypes.state = _menhir_s;
2996 MenhirLib.EngineTypes.semv = Obj.repr _v;
2997 MenhirLib.EngineTypes.startp = _startpos;
2998 MenhirLib.EngineTypes.endp = _endpos;
2999 MenhirLib.EngineTypes.next = _menhir_stack;
3000 });
3001 (fun _menhir_env ->
3002 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3003 let {
3004 MenhirLib.EngineTypes.semv = _3;
3005 MenhirLib.EngineTypes.startp = _startpos__3_;
3006 MenhirLib.EngineTypes.endp = _endpos__3_;
3007 MenhirLib.EngineTypes.next = {
3008 MenhirLib.EngineTypes.semv = _2;
3009 MenhirLib.EngineTypes.startp = _startpos__2_;
3010 MenhirLib.EngineTypes.endp = _endpos__2_;
3011 MenhirLib.EngineTypes.next = {
3012 MenhirLib.EngineTypes.state = _menhir_s;
3013 MenhirLib.EngineTypes.semv = _1;
3014 MenhirLib.EngineTypes.startp = _startpos__1_;
3015 MenhirLib.EngineTypes.endp = _endpos__1_;
3016 MenhirLib.EngineTypes.next = _menhir_stack;
3017 };
3018 };
3019 } = _menhir_stack in
3020 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3021 let _2 : (
3022 # 95 "parser_cocci_menhir.mly"
3023 (Ast_cocci.logicalOp * Data.clt)
3024 # 3025 "parser_cocci_menhir.ml"
3025 ) = Obj.magic _2 in
3026 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3027 let _startpos = _startpos__1_ in
3028 let _endpos = _endpos__3_ in
3029 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3030 # 1275 "parser_cocci_menhir.mly"
3031 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
3032 # 3033 "parser_cocci_menhir.ml"
3033 in
3034 _menhir_env.MenhirLib.EngineTypes.stack <- {
3035 MenhirLib.EngineTypes.state = _menhir_s;
3036 MenhirLib.EngineTypes.semv = Obj.repr _v;
3037 MenhirLib.EngineTypes.startp = _startpos;
3038 MenhirLib.EngineTypes.endp = _endpos;
3039 MenhirLib.EngineTypes.next = _menhir_stack;
3040 });
3041 (fun _menhir_env ->
3042 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3043 let {
3044 MenhirLib.EngineTypes.semv = _3;
3045 MenhirLib.EngineTypes.startp = _startpos__3_;
3046 MenhirLib.EngineTypes.endp = _endpos__3_;
3047 MenhirLib.EngineTypes.next = {
3048 MenhirLib.EngineTypes.semv = _2;
3049 MenhirLib.EngineTypes.startp = _startpos__2_;
3050 MenhirLib.EngineTypes.endp = _endpos__2_;
3051 MenhirLib.EngineTypes.next = {
3052 MenhirLib.EngineTypes.state = _menhir_s;
3053 MenhirLib.EngineTypes.semv = _1;
3054 MenhirLib.EngineTypes.startp = _startpos__1_;
3055 MenhirLib.EngineTypes.endp = _endpos__1_;
3056 MenhirLib.EngineTypes.next = _menhir_stack;
3057 };
3058 };
3059 } = _menhir_stack in
3060 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3061 let _2 : (
3062 # 94 "parser_cocci_menhir.mly"
3063 (Data.clt)
3064 # 3065 "parser_cocci_menhir.ml"
3065 ) = Obj.magic _2 in
3066 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3067 let _startpos = _startpos__1_ in
3068 let _endpos = _endpos__3_ in
3069 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3070 # 1277 "parser_cocci_menhir.mly"
3071 ( P.logic_op Ast.Eq _1 _2 _3 )
3072 # 3073 "parser_cocci_menhir.ml"
3073 in
3074 _menhir_env.MenhirLib.EngineTypes.stack <- {
3075 MenhirLib.EngineTypes.state = _menhir_s;
3076 MenhirLib.EngineTypes.semv = Obj.repr _v;
3077 MenhirLib.EngineTypes.startp = _startpos;
3078 MenhirLib.EngineTypes.endp = _endpos;
3079 MenhirLib.EngineTypes.next = _menhir_stack;
3080 });
3081 (fun _menhir_env ->
3082 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3083 let {
3084 MenhirLib.EngineTypes.semv = _3;
3085 MenhirLib.EngineTypes.startp = _startpos__3_;
3086 MenhirLib.EngineTypes.endp = _endpos__3_;
3087 MenhirLib.EngineTypes.next = {
3088 MenhirLib.EngineTypes.semv = _2;
3089 MenhirLib.EngineTypes.startp = _startpos__2_;
3090 MenhirLib.EngineTypes.endp = _endpos__2_;
3091 MenhirLib.EngineTypes.next = {
3092 MenhirLib.EngineTypes.state = _menhir_s;
3093 MenhirLib.EngineTypes.semv = _1;
3094 MenhirLib.EngineTypes.startp = _startpos__1_;
3095 MenhirLib.EngineTypes.endp = _endpos__1_;
3096 MenhirLib.EngineTypes.next = _menhir_stack;
3097 };
3098 };
3099 } = _menhir_stack in
3100 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3101 let _2 : (
3102 # 94 "parser_cocci_menhir.mly"
3103 (Data.clt)
3104 # 3105 "parser_cocci_menhir.ml"
3105 ) = Obj.magic _2 in
3106 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3107 let _startpos = _startpos__1_ in
3108 let _endpos = _endpos__3_ in
3109 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3110 # 1279 "parser_cocci_menhir.mly"
3111 ( P.logic_op Ast.NotEq _1 _2 _3 )
3112 # 3113 "parser_cocci_menhir.ml"
3113 in
3114 _menhir_env.MenhirLib.EngineTypes.stack <- {
3115 MenhirLib.EngineTypes.state = _menhir_s;
3116 MenhirLib.EngineTypes.semv = Obj.repr _v;
3117 MenhirLib.EngineTypes.startp = _startpos;
3118 MenhirLib.EngineTypes.endp = _endpos;
3119 MenhirLib.EngineTypes.next = _menhir_stack;
3120 });
3121 (fun _menhir_env ->
3122 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3123 let {
3124 MenhirLib.EngineTypes.semv = _3;
3125 MenhirLib.EngineTypes.startp = _startpos__3_;
3126 MenhirLib.EngineTypes.endp = _endpos__3_;
3127 MenhirLib.EngineTypes.next = {
3128 MenhirLib.EngineTypes.semv = _2;
3129 MenhirLib.EngineTypes.startp = _startpos__2_;
3130 MenhirLib.EngineTypes.endp = _endpos__2_;
3131 MenhirLib.EngineTypes.next = {
3132 MenhirLib.EngineTypes.state = _menhir_s;
3133 MenhirLib.EngineTypes.semv = _1;
3134 MenhirLib.EngineTypes.startp = _startpos__1_;
3135 MenhirLib.EngineTypes.endp = _endpos__1_;
3136 MenhirLib.EngineTypes.next = _menhir_stack;
3137 };
3138 };
3139 } = _menhir_stack in
3140 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3141 let _2 : (
3142 # 93 "parser_cocci_menhir.mly"
3143 (Data.clt)
3144 # 3145 "parser_cocci_menhir.ml"
3145 ) = Obj.magic _2 in
3146 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3147 let _startpos = _startpos__1_ in
3148 let _endpos = _endpos__3_ in
3149 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3150 # 1281 "parser_cocci_menhir.mly"
3151 ( P.arith_op Ast.And _1 _2 _3 )
3152 # 3153 "parser_cocci_menhir.ml"
3153 in
3154 _menhir_env.MenhirLib.EngineTypes.stack <- {
3155 MenhirLib.EngineTypes.state = _menhir_s;
3156 MenhirLib.EngineTypes.semv = Obj.repr _v;
3157 MenhirLib.EngineTypes.startp = _startpos;
3158 MenhirLib.EngineTypes.endp = _endpos;
3159 MenhirLib.EngineTypes.next = _menhir_stack;
3160 });
3161 (fun _menhir_env ->
3162 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3163 let {
3164 MenhirLib.EngineTypes.semv = _3;
3165 MenhirLib.EngineTypes.startp = _startpos__3_;
3166 MenhirLib.EngineTypes.endp = _endpos__3_;
3167 MenhirLib.EngineTypes.next = {
3168 MenhirLib.EngineTypes.semv = _2;
3169 MenhirLib.EngineTypes.startp = _startpos__2_;
3170 MenhirLib.EngineTypes.endp = _endpos__2_;
3171 MenhirLib.EngineTypes.next = {
3172 MenhirLib.EngineTypes.state = _menhir_s;
3173 MenhirLib.EngineTypes.semv = _1;
3174 MenhirLib.EngineTypes.startp = _startpos__1_;
3175 MenhirLib.EngineTypes.endp = _endpos__1_;
3176 MenhirLib.EngineTypes.next = _menhir_stack;
3177 };
3178 };
3179 } = _menhir_stack in
3180 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3181 let _2 : (
3182 # 91 "parser_cocci_menhir.mly"
3183 (Data.clt)
3184 # 3185 "parser_cocci_menhir.ml"
3185 ) = Obj.magic _2 in
3186 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3187 let _startpos = _startpos__1_ in
3188 let _endpos = _endpos__3_ in
3189 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3190 # 1283 "parser_cocci_menhir.mly"
3191 ( P.arith_op Ast.Or _1 _2 _3 )
3192 # 3193 "parser_cocci_menhir.ml"
3193 in
3194 _menhir_env.MenhirLib.EngineTypes.stack <- {
3195 MenhirLib.EngineTypes.state = _menhir_s;
3196 MenhirLib.EngineTypes.semv = Obj.repr _v;
3197 MenhirLib.EngineTypes.startp = _startpos;
3198 MenhirLib.EngineTypes.endp = _endpos;
3199 MenhirLib.EngineTypes.next = _menhir_stack;
3200 });
3201 (fun _menhir_env ->
3202 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3203 let {
3204 MenhirLib.EngineTypes.semv = _3;
3205 MenhirLib.EngineTypes.startp = _startpos__3_;
3206 MenhirLib.EngineTypes.endp = _endpos__3_;
3207 MenhirLib.EngineTypes.next = {
3208 MenhirLib.EngineTypes.semv = _2;
3209 MenhirLib.EngineTypes.startp = _startpos__2_;
3210 MenhirLib.EngineTypes.endp = _endpos__2_;
3211 MenhirLib.EngineTypes.next = {
3212 MenhirLib.EngineTypes.state = _menhir_s;
3213 MenhirLib.EngineTypes.semv = _1;
3214 MenhirLib.EngineTypes.startp = _startpos__1_;
3215 MenhirLib.EngineTypes.endp = _endpos__1_;
3216 MenhirLib.EngineTypes.next = _menhir_stack;
3217 };
3218 };
3219 } = _menhir_stack in
3220 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3221 let _2 : (
3222 # 92 "parser_cocci_menhir.mly"
3223 (Data.clt)
3224 # 3225 "parser_cocci_menhir.ml"
3225 ) = Obj.magic _2 in
3226 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3227 let _startpos = _startpos__1_ in
3228 let _endpos = _endpos__3_ in
3229 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3230 # 1285 "parser_cocci_menhir.mly"
3231 ( P.arith_op Ast.Xor _1 _2 _3 )
3232 # 3233 "parser_cocci_menhir.ml"
3233 in
3234 _menhir_env.MenhirLib.EngineTypes.stack <- {
3235 MenhirLib.EngineTypes.state = _menhir_s;
3236 MenhirLib.EngineTypes.semv = Obj.repr _v;
3237 MenhirLib.EngineTypes.startp = _startpos;
3238 MenhirLib.EngineTypes.endp = _endpos;
3239 MenhirLib.EngineTypes.next = _menhir_stack;
3240 });
3241 (fun _menhir_env ->
3242 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3243 let {
3244 MenhirLib.EngineTypes.semv = _3;
3245 MenhirLib.EngineTypes.startp = _startpos__3_;
3246 MenhirLib.EngineTypes.endp = _endpos__3_;
3247 MenhirLib.EngineTypes.next = {
3248 MenhirLib.EngineTypes.semv = _2;
3249 MenhirLib.EngineTypes.startp = _startpos__2_;
3250 MenhirLib.EngineTypes.endp = _endpos__2_;
3251 MenhirLib.EngineTypes.next = {
3252 MenhirLib.EngineTypes.state = _menhir_s;
3253 MenhirLib.EngineTypes.semv = _1;
3254 MenhirLib.EngineTypes.startp = _startpos__1_;
3255 MenhirLib.EngineTypes.endp = _endpos__1_;
3256 MenhirLib.EngineTypes.next = _menhir_stack;
3257 };
3258 };
3259 } = _menhir_stack in
3260 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3261 let _2 : (
3262 # 90 "parser_cocci_menhir.mly"
3263 (Data.clt)
3264 # 3265 "parser_cocci_menhir.ml"
3265 ) = Obj.magic _2 in
3266 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3267 let _startpos = _startpos__1_ in
3268 let _endpos = _endpos__3_ in
3269 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3270 # 1287 "parser_cocci_menhir.mly"
3271 ( P.logic_op Ast.AndLog _1 _2 _3 )
3272 # 3273 "parser_cocci_menhir.ml"
3273 in
3274 _menhir_env.MenhirLib.EngineTypes.stack <- {
3275 MenhirLib.EngineTypes.state = _menhir_s;
3276 MenhirLib.EngineTypes.semv = Obj.repr _v;
3277 MenhirLib.EngineTypes.startp = _startpos;
3278 MenhirLib.EngineTypes.endp = _endpos;
3279 MenhirLib.EngineTypes.next = _menhir_stack;
3280 });
3281 (fun _menhir_env ->
3282 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3283 let {
3284 MenhirLib.EngineTypes.semv = _3;
3285 MenhirLib.EngineTypes.startp = _startpos__3_;
3286 MenhirLib.EngineTypes.endp = _endpos__3_;
3287 MenhirLib.EngineTypes.next = {
3288 MenhirLib.EngineTypes.semv = _2;
3289 MenhirLib.EngineTypes.startp = _startpos__2_;
3290 MenhirLib.EngineTypes.endp = _endpos__2_;
3291 MenhirLib.EngineTypes.next = {
3292 MenhirLib.EngineTypes.state = _menhir_s;
3293 MenhirLib.EngineTypes.semv = _1;
3294 MenhirLib.EngineTypes.startp = _startpos__1_;
3295 MenhirLib.EngineTypes.endp = _endpos__1_;
3296 MenhirLib.EngineTypes.next = _menhir_stack;
3297 };
3298 };
3299 } = _menhir_stack in
3300 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3301 let _2 : (
3302 # 89 "parser_cocci_menhir.mly"
3303 (Data.clt)
3304 # 3305 "parser_cocci_menhir.ml"
3305 ) = Obj.magic _2 in
3306 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3307 let _startpos = _startpos__1_ in
3308 let _endpos = _endpos__3_ in
3309 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3310 # 1289 "parser_cocci_menhir.mly"
3311 ( P.logic_op Ast.OrLog _1 _2 _3 )
3312 # 3313 "parser_cocci_menhir.ml"
3313 in
3314 _menhir_env.MenhirLib.EngineTypes.stack <- {
3315 MenhirLib.EngineTypes.state = _menhir_s;
3316 MenhirLib.EngineTypes.semv = Obj.repr _v;
3317 MenhirLib.EngineTypes.startp = _startpos;
3318 MenhirLib.EngineTypes.endp = _endpos;
3319 MenhirLib.EngineTypes.next = _menhir_stack;
3320 });
3321 (fun _menhir_env ->
3322 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3323 let {
3324 MenhirLib.EngineTypes.state = _menhir_s;
3325 MenhirLib.EngineTypes.semv = _1;
3326 MenhirLib.EngineTypes.startp = _startpos__1_;
3327 MenhirLib.EngineTypes.endp = _endpos__1_;
3328 MenhirLib.EngineTypes.next = _menhir_stack;
3329 } = _menhir_stack in
3330 let _1 : 'tv_cast_expr_expr_invalid_ = Obj.magic _1 in
3331 let _startpos = _startpos__1_ in
3332 let _endpos = _endpos__1_ in
3333 let _v : 'tv_arith_expr_expr_invalid_ =
3334 # 1263 "parser_cocci_menhir.mly"
3335 ( _1 )
3336 # 3337 "parser_cocci_menhir.ml"
3337 in
3338 _menhir_env.MenhirLib.EngineTypes.stack <- {
3339 MenhirLib.EngineTypes.state = _menhir_s;
3340 MenhirLib.EngineTypes.semv = Obj.repr _v;
3341 MenhirLib.EngineTypes.startp = _startpos;
3342 MenhirLib.EngineTypes.endp = _endpos;
3343 MenhirLib.EngineTypes.next = _menhir_stack;
3344 });
3345 (fun _menhir_env ->
3346 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3347 let {
3348 MenhirLib.EngineTypes.semv = _3;
3349 MenhirLib.EngineTypes.startp = _startpos__3_;
3350 MenhirLib.EngineTypes.endp = _endpos__3_;
3351 MenhirLib.EngineTypes.next = {
3352 MenhirLib.EngineTypes.semv = _2;
3353 MenhirLib.EngineTypes.startp = _startpos__2_;
3354 MenhirLib.EngineTypes.endp = _endpos__2_;
3355 MenhirLib.EngineTypes.next = {
3356 MenhirLib.EngineTypes.state = _menhir_s;
3357 MenhirLib.EngineTypes.semv = _1;
3358 MenhirLib.EngineTypes.startp = _startpos__1_;
3359 MenhirLib.EngineTypes.endp = _endpos__1_;
3360 MenhirLib.EngineTypes.next = _menhir_stack;
3361 };
3362 };
3363 } = _menhir_stack in
3364 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3365 let _2 : (
3366 # 99 "parser_cocci_menhir.mly"
3367 (Data.clt)
3368 # 3369 "parser_cocci_menhir.ml"
3369 ) = Obj.magic _2 in
3370 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3371 let _startpos = _startpos__1_ in
3372 let _endpos = _endpos__3_ in
3373 let _v : 'tv_arith_expr_expr_invalid_ =
3374 # 1265 "parser_cocci_menhir.mly"
3375 ( P.arith_op Ast.Mul _1 _2 _3 )
3376 # 3377 "parser_cocci_menhir.ml"
3377 in
3378 _menhir_env.MenhirLib.EngineTypes.stack <- {
3379 MenhirLib.EngineTypes.state = _menhir_s;
3380 MenhirLib.EngineTypes.semv = Obj.repr _v;
3381 MenhirLib.EngineTypes.startp = _startpos;
3382 MenhirLib.EngineTypes.endp = _endpos;
3383 MenhirLib.EngineTypes.next = _menhir_stack;
3384 });
3385 (fun _menhir_env ->
3386 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3387 let {
3388 MenhirLib.EngineTypes.semv = _3;
3389 MenhirLib.EngineTypes.startp = _startpos__3_;
3390 MenhirLib.EngineTypes.endp = _endpos__3_;
3391 MenhirLib.EngineTypes.next = {
3392 MenhirLib.EngineTypes.semv = _2;
3393 MenhirLib.EngineTypes.startp = _startpos__2_;
3394 MenhirLib.EngineTypes.endp = _endpos__2_;
3395 MenhirLib.EngineTypes.next = {
3396 MenhirLib.EngineTypes.state = _menhir_s;
3397 MenhirLib.EngineTypes.semv = _1;
3398 MenhirLib.EngineTypes.startp = _startpos__1_;
3399 MenhirLib.EngineTypes.endp = _endpos__1_;
3400 MenhirLib.EngineTypes.next = _menhir_stack;
3401 };
3402 };
3403 } = _menhir_stack in
3404 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3405 let _2 : (
3406 # 97 "parser_cocci_menhir.mly"
3407 (Ast_cocci.arithOp * Data.clt)
3408 # 3409 "parser_cocci_menhir.ml"
3409 ) = Obj.magic _2 in
3410 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3411 let _startpos = _startpos__1_ in
3412 let _endpos = _endpos__3_ in
3413 let _v : 'tv_arith_expr_expr_invalid_ =
3414 # 1267 "parser_cocci_menhir.mly"
3415 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3416 # 3417 "parser_cocci_menhir.ml"
3417 in
3418 _menhir_env.MenhirLib.EngineTypes.stack <- {
3419 MenhirLib.EngineTypes.state = _menhir_s;
3420 MenhirLib.EngineTypes.semv = Obj.repr _v;
3421 MenhirLib.EngineTypes.startp = _startpos;
3422 MenhirLib.EngineTypes.endp = _endpos;
3423 MenhirLib.EngineTypes.next = _menhir_stack;
3424 });
3425 (fun _menhir_env ->
3426 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3427 let {
3428 MenhirLib.EngineTypes.semv = _3;
3429 MenhirLib.EngineTypes.startp = _startpos__3_;
3430 MenhirLib.EngineTypes.endp = _endpos__3_;
3431 MenhirLib.EngineTypes.next = {
3432 MenhirLib.EngineTypes.semv = _2;
3433 MenhirLib.EngineTypes.startp = _startpos__2_;
3434 MenhirLib.EngineTypes.endp = _endpos__2_;
3435 MenhirLib.EngineTypes.next = {
3436 MenhirLib.EngineTypes.state = _menhir_s;
3437 MenhirLib.EngineTypes.semv = _1;
3438 MenhirLib.EngineTypes.startp = _startpos__1_;
3439 MenhirLib.EngineTypes.endp = _endpos__1_;
3440 MenhirLib.EngineTypes.next = _menhir_stack;
3441 };
3442 };
3443 } = _menhir_stack in
3444 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3445 let _2 : (
3446 # 98 "parser_cocci_menhir.mly"
3447 (Data.clt)
3448 # 3449 "parser_cocci_menhir.ml"
3449 ) = Obj.magic _2 in
3450 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3451 let _startpos = _startpos__1_ in
3452 let _endpos = _endpos__3_ in
3453 let _v : 'tv_arith_expr_expr_invalid_ =
3454 # 1269 "parser_cocci_menhir.mly"
3455 ( P.arith_op Ast.Plus _1 _2 _3 )
3456 # 3457 "parser_cocci_menhir.ml"
3457 in
3458 _menhir_env.MenhirLib.EngineTypes.stack <- {
3459 MenhirLib.EngineTypes.state = _menhir_s;
3460 MenhirLib.EngineTypes.semv = Obj.repr _v;
3461 MenhirLib.EngineTypes.startp = _startpos;
3462 MenhirLib.EngineTypes.endp = _endpos;
3463 MenhirLib.EngineTypes.next = _menhir_stack;
3464 });
3465 (fun _menhir_env ->
3466 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3467 let {
3468 MenhirLib.EngineTypes.semv = _3;
3469 MenhirLib.EngineTypes.startp = _startpos__3_;
3470 MenhirLib.EngineTypes.endp = _endpos__3_;
3471 MenhirLib.EngineTypes.next = {
3472 MenhirLib.EngineTypes.semv = _2;
3473 MenhirLib.EngineTypes.startp = _startpos__2_;
3474 MenhirLib.EngineTypes.endp = _endpos__2_;
3475 MenhirLib.EngineTypes.next = {
3476 MenhirLib.EngineTypes.state = _menhir_s;
3477 MenhirLib.EngineTypes.semv = _1;
3478 MenhirLib.EngineTypes.startp = _startpos__1_;
3479 MenhirLib.EngineTypes.endp = _endpos__1_;
3480 MenhirLib.EngineTypes.next = _menhir_stack;
3481 };
3482 };
3483 } = _menhir_stack in
3484 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3485 let _2 : (
3486 # 98 "parser_cocci_menhir.mly"
3487 (Data.clt)
3488 # 3489 "parser_cocci_menhir.ml"
3489 ) = Obj.magic _2 in
3490 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3491 let _startpos = _startpos__1_ in
3492 let _endpos = _endpos__3_ in
3493 let _v : 'tv_arith_expr_expr_invalid_ =
3494 # 1271 "parser_cocci_menhir.mly"
3495 ( P.arith_op Ast.Minus _1 _2 _3 )
3496 # 3497 "parser_cocci_menhir.ml"
3497 in
3498 _menhir_env.MenhirLib.EngineTypes.stack <- {
3499 MenhirLib.EngineTypes.state = _menhir_s;
3500 MenhirLib.EngineTypes.semv = Obj.repr _v;
3501 MenhirLib.EngineTypes.startp = _startpos;
3502 MenhirLib.EngineTypes.endp = _endpos;
3503 MenhirLib.EngineTypes.next = _menhir_stack;
3504 });
3505 (fun _menhir_env ->
3506 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3507 let {
3508 MenhirLib.EngineTypes.semv = _3;
3509 MenhirLib.EngineTypes.startp = _startpos__3_;
3510 MenhirLib.EngineTypes.endp = _endpos__3_;
3511 MenhirLib.EngineTypes.next = {
3512 MenhirLib.EngineTypes.semv = _2;
3513 MenhirLib.EngineTypes.startp = _startpos__2_;
3514 MenhirLib.EngineTypes.endp = _endpos__2_;
3515 MenhirLib.EngineTypes.next = {
3516 MenhirLib.EngineTypes.state = _menhir_s;
3517 MenhirLib.EngineTypes.semv = _1;
3518 MenhirLib.EngineTypes.startp = _startpos__1_;
3519 MenhirLib.EngineTypes.endp = _endpos__1_;
3520 MenhirLib.EngineTypes.next = _menhir_stack;
3521 };
3522 };
3523 } = _menhir_stack in
3524 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3525 let _2 : (
3526 # 96 "parser_cocci_menhir.mly"
3527 (Ast_cocci.arithOp * Data.clt)
3528 # 3529 "parser_cocci_menhir.ml"
3529 ) = Obj.magic _2 in
3530 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3531 let _startpos = _startpos__1_ in
3532 let _endpos = _endpos__3_ in
3533 let _v : 'tv_arith_expr_expr_invalid_ =
3534 # 1273 "parser_cocci_menhir.mly"
3535 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3536 # 3537 "parser_cocci_menhir.ml"
3537 in
3538 _menhir_env.MenhirLib.EngineTypes.stack <- {
3539 MenhirLib.EngineTypes.state = _menhir_s;
3540 MenhirLib.EngineTypes.semv = Obj.repr _v;
3541 MenhirLib.EngineTypes.startp = _startpos;
3542 MenhirLib.EngineTypes.endp = _endpos;
3543 MenhirLib.EngineTypes.next = _menhir_stack;
3544 });
3545 (fun _menhir_env ->
3546 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3547 let {
3548 MenhirLib.EngineTypes.semv = _3;
3549 MenhirLib.EngineTypes.startp = _startpos__3_;
3550 MenhirLib.EngineTypes.endp = _endpos__3_;
3551 MenhirLib.EngineTypes.next = {
3552 MenhirLib.EngineTypes.semv = _2;
3553 MenhirLib.EngineTypes.startp = _startpos__2_;
3554 MenhirLib.EngineTypes.endp = _endpos__2_;
3555 MenhirLib.EngineTypes.next = {
3556 MenhirLib.EngineTypes.state = _menhir_s;
3557 MenhirLib.EngineTypes.semv = _1;
3558 MenhirLib.EngineTypes.startp = _startpos__1_;
3559 MenhirLib.EngineTypes.endp = _endpos__1_;
3560 MenhirLib.EngineTypes.next = _menhir_stack;
3561 };
3562 };
3563 } = _menhir_stack in
3564 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3565 let _2 : (
3566 # 95 "parser_cocci_menhir.mly"
3567 (Ast_cocci.logicalOp * Data.clt)
3568 # 3569 "parser_cocci_menhir.ml"
3569 ) = Obj.magic _2 in
3570 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3571 let _startpos = _startpos__1_ in
3572 let _endpos = _endpos__3_ in
3573 let _v : 'tv_arith_expr_expr_invalid_ =
3574 # 1275 "parser_cocci_menhir.mly"
3575 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
3576 # 3577 "parser_cocci_menhir.ml"
3577 in
3578 _menhir_env.MenhirLib.EngineTypes.stack <- {
3579 MenhirLib.EngineTypes.state = _menhir_s;
3580 MenhirLib.EngineTypes.semv = Obj.repr _v;
3581 MenhirLib.EngineTypes.startp = _startpos;
3582 MenhirLib.EngineTypes.endp = _endpos;
3583 MenhirLib.EngineTypes.next = _menhir_stack;
3584 });
3585 (fun _menhir_env ->
3586 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3587 let {
3588 MenhirLib.EngineTypes.semv = _3;
3589 MenhirLib.EngineTypes.startp = _startpos__3_;
3590 MenhirLib.EngineTypes.endp = _endpos__3_;
3591 MenhirLib.EngineTypes.next = {
3592 MenhirLib.EngineTypes.semv = _2;
3593 MenhirLib.EngineTypes.startp = _startpos__2_;
3594 MenhirLib.EngineTypes.endp = _endpos__2_;
3595 MenhirLib.EngineTypes.next = {
3596 MenhirLib.EngineTypes.state = _menhir_s;
3597 MenhirLib.EngineTypes.semv = _1;
3598 MenhirLib.EngineTypes.startp = _startpos__1_;
3599 MenhirLib.EngineTypes.endp = _endpos__1_;
3600 MenhirLib.EngineTypes.next = _menhir_stack;
3601 };
3602 };
3603 } = _menhir_stack in
3604 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3605 let _2 : (
3606 # 94 "parser_cocci_menhir.mly"
3607 (Data.clt)
3608 # 3609 "parser_cocci_menhir.ml"
3609 ) = Obj.magic _2 in
3610 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3611 let _startpos = _startpos__1_ in
3612 let _endpos = _endpos__3_ in
3613 let _v : 'tv_arith_expr_expr_invalid_ =
3614 # 1277 "parser_cocci_menhir.mly"
3615 ( P.logic_op Ast.Eq _1 _2 _3 )
3616 # 3617 "parser_cocci_menhir.ml"
3617 in
3618 _menhir_env.MenhirLib.EngineTypes.stack <- {
3619 MenhirLib.EngineTypes.state = _menhir_s;
3620 MenhirLib.EngineTypes.semv = Obj.repr _v;
3621 MenhirLib.EngineTypes.startp = _startpos;
3622 MenhirLib.EngineTypes.endp = _endpos;
3623 MenhirLib.EngineTypes.next = _menhir_stack;
3624 });
3625 (fun _menhir_env ->
3626 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3627 let {
3628 MenhirLib.EngineTypes.semv = _3;
3629 MenhirLib.EngineTypes.startp = _startpos__3_;
3630 MenhirLib.EngineTypes.endp = _endpos__3_;
3631 MenhirLib.EngineTypes.next = {
3632 MenhirLib.EngineTypes.semv = _2;
3633 MenhirLib.EngineTypes.startp = _startpos__2_;
3634 MenhirLib.EngineTypes.endp = _endpos__2_;
3635 MenhirLib.EngineTypes.next = {
3636 MenhirLib.EngineTypes.state = _menhir_s;
3637 MenhirLib.EngineTypes.semv = _1;
3638 MenhirLib.EngineTypes.startp = _startpos__1_;
3639 MenhirLib.EngineTypes.endp = _endpos__1_;
3640 MenhirLib.EngineTypes.next = _menhir_stack;
3641 };
3642 };
3643 } = _menhir_stack in
3644 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3645 let _2 : (
3646 # 94 "parser_cocci_menhir.mly"
3647 (Data.clt)
3648 # 3649 "parser_cocci_menhir.ml"
3649 ) = Obj.magic _2 in
3650 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3651 let _startpos = _startpos__1_ in
3652 let _endpos = _endpos__3_ in
3653 let _v : 'tv_arith_expr_expr_invalid_ =
3654 # 1279 "parser_cocci_menhir.mly"
3655 ( P.logic_op Ast.NotEq _1 _2 _3 )
3656 # 3657 "parser_cocci_menhir.ml"
3657 in
3658 _menhir_env.MenhirLib.EngineTypes.stack <- {
3659 MenhirLib.EngineTypes.state = _menhir_s;
3660 MenhirLib.EngineTypes.semv = Obj.repr _v;
3661 MenhirLib.EngineTypes.startp = _startpos;
3662 MenhirLib.EngineTypes.endp = _endpos;
3663 MenhirLib.EngineTypes.next = _menhir_stack;
3664 });
3665 (fun _menhir_env ->
3666 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3667 let {
3668 MenhirLib.EngineTypes.semv = _3;
3669 MenhirLib.EngineTypes.startp = _startpos__3_;
3670 MenhirLib.EngineTypes.endp = _endpos__3_;
3671 MenhirLib.EngineTypes.next = {
3672 MenhirLib.EngineTypes.semv = _2;
3673 MenhirLib.EngineTypes.startp = _startpos__2_;
3674 MenhirLib.EngineTypes.endp = _endpos__2_;
3675 MenhirLib.EngineTypes.next = {
3676 MenhirLib.EngineTypes.state = _menhir_s;
3677 MenhirLib.EngineTypes.semv = _1;
3678 MenhirLib.EngineTypes.startp = _startpos__1_;
3679 MenhirLib.EngineTypes.endp = _endpos__1_;
3680 MenhirLib.EngineTypes.next = _menhir_stack;
3681 };
3682 };
3683 } = _menhir_stack in
3684 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3685 let _2 : (
3686 # 93 "parser_cocci_menhir.mly"
3687 (Data.clt)
3688 # 3689 "parser_cocci_menhir.ml"
3689 ) = Obj.magic _2 in
3690 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3691 let _startpos = _startpos__1_ in
3692 let _endpos = _endpos__3_ in
3693 let _v : 'tv_arith_expr_expr_invalid_ =
3694 # 1281 "parser_cocci_menhir.mly"
3695 ( P.arith_op Ast.And _1 _2 _3 )
3696 # 3697 "parser_cocci_menhir.ml"
3697 in
3698 _menhir_env.MenhirLib.EngineTypes.stack <- {
3699 MenhirLib.EngineTypes.state = _menhir_s;
3700 MenhirLib.EngineTypes.semv = Obj.repr _v;
3701 MenhirLib.EngineTypes.startp = _startpos;
3702 MenhirLib.EngineTypes.endp = _endpos;
3703 MenhirLib.EngineTypes.next = _menhir_stack;
3704 });
3705 (fun _menhir_env ->
3706 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3707 let {
3708 MenhirLib.EngineTypes.semv = _3;
3709 MenhirLib.EngineTypes.startp = _startpos__3_;
3710 MenhirLib.EngineTypes.endp = _endpos__3_;
3711 MenhirLib.EngineTypes.next = {
3712 MenhirLib.EngineTypes.semv = _2;
3713 MenhirLib.EngineTypes.startp = _startpos__2_;
3714 MenhirLib.EngineTypes.endp = _endpos__2_;
3715 MenhirLib.EngineTypes.next = {
3716 MenhirLib.EngineTypes.state = _menhir_s;
3717 MenhirLib.EngineTypes.semv = _1;
3718 MenhirLib.EngineTypes.startp = _startpos__1_;
3719 MenhirLib.EngineTypes.endp = _endpos__1_;
3720 MenhirLib.EngineTypes.next = _menhir_stack;
3721 };
3722 };
3723 } = _menhir_stack in
3724 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3725 let _2 : (
3726 # 91 "parser_cocci_menhir.mly"
3727 (Data.clt)
3728 # 3729 "parser_cocci_menhir.ml"
3729 ) = Obj.magic _2 in
3730 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3731 let _startpos = _startpos__1_ in
3732 let _endpos = _endpos__3_ in
3733 let _v : 'tv_arith_expr_expr_invalid_ =
3734 # 1283 "parser_cocci_menhir.mly"
3735 ( P.arith_op Ast.Or _1 _2 _3 )
3736 # 3737 "parser_cocci_menhir.ml"
3737 in
3738 _menhir_env.MenhirLib.EngineTypes.stack <- {
3739 MenhirLib.EngineTypes.state = _menhir_s;
3740 MenhirLib.EngineTypes.semv = Obj.repr _v;
3741 MenhirLib.EngineTypes.startp = _startpos;
3742 MenhirLib.EngineTypes.endp = _endpos;
3743 MenhirLib.EngineTypes.next = _menhir_stack;
3744 });
3745 (fun _menhir_env ->
3746 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3747 let {
3748 MenhirLib.EngineTypes.semv = _3;
3749 MenhirLib.EngineTypes.startp = _startpos__3_;
3750 MenhirLib.EngineTypes.endp = _endpos__3_;
3751 MenhirLib.EngineTypes.next = {
3752 MenhirLib.EngineTypes.semv = _2;
3753 MenhirLib.EngineTypes.startp = _startpos__2_;
3754 MenhirLib.EngineTypes.endp = _endpos__2_;
3755 MenhirLib.EngineTypes.next = {
3756 MenhirLib.EngineTypes.state = _menhir_s;
3757 MenhirLib.EngineTypes.semv = _1;
3758 MenhirLib.EngineTypes.startp = _startpos__1_;
3759 MenhirLib.EngineTypes.endp = _endpos__1_;
3760 MenhirLib.EngineTypes.next = _menhir_stack;
3761 };
3762 };
3763 } = _menhir_stack in
3764 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3765 let _2 : (
3766 # 92 "parser_cocci_menhir.mly"
3767 (Data.clt)
3768 # 3769 "parser_cocci_menhir.ml"
3769 ) = Obj.magic _2 in
3770 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3771 let _startpos = _startpos__1_ in
3772 let _endpos = _endpos__3_ in
3773 let _v : 'tv_arith_expr_expr_invalid_ =
3774 # 1285 "parser_cocci_menhir.mly"
3775 ( P.arith_op Ast.Xor _1 _2 _3 )
3776 # 3777 "parser_cocci_menhir.ml"
3777 in
3778 _menhir_env.MenhirLib.EngineTypes.stack <- {
3779 MenhirLib.EngineTypes.state = _menhir_s;
3780 MenhirLib.EngineTypes.semv = Obj.repr _v;
3781 MenhirLib.EngineTypes.startp = _startpos;
3782 MenhirLib.EngineTypes.endp = _endpos;
3783 MenhirLib.EngineTypes.next = _menhir_stack;
3784 });
3785 (fun _menhir_env ->
3786 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3787 let {
3788 MenhirLib.EngineTypes.semv = _3;
3789 MenhirLib.EngineTypes.startp = _startpos__3_;
3790 MenhirLib.EngineTypes.endp = _endpos__3_;
3791 MenhirLib.EngineTypes.next = {
3792 MenhirLib.EngineTypes.semv = _2;
3793 MenhirLib.EngineTypes.startp = _startpos__2_;
3794 MenhirLib.EngineTypes.endp = _endpos__2_;
3795 MenhirLib.EngineTypes.next = {
3796 MenhirLib.EngineTypes.state = _menhir_s;
3797 MenhirLib.EngineTypes.semv = _1;
3798 MenhirLib.EngineTypes.startp = _startpos__1_;
3799 MenhirLib.EngineTypes.endp = _endpos__1_;
3800 MenhirLib.EngineTypes.next = _menhir_stack;
3801 };
3802 };
3803 } = _menhir_stack in
3804 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3805 let _2 : (
3806 # 90 "parser_cocci_menhir.mly"
3807 (Data.clt)
3808 # 3809 "parser_cocci_menhir.ml"
3809 ) = Obj.magic _2 in
3810 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3811 let _startpos = _startpos__1_ in
3812 let _endpos = _endpos__3_ in
3813 let _v : 'tv_arith_expr_expr_invalid_ =
3814 # 1287 "parser_cocci_menhir.mly"
3815 ( P.logic_op Ast.AndLog _1 _2 _3 )
3816 # 3817 "parser_cocci_menhir.ml"
3817 in
3818 _menhir_env.MenhirLib.EngineTypes.stack <- {
3819 MenhirLib.EngineTypes.state = _menhir_s;
3820 MenhirLib.EngineTypes.semv = Obj.repr _v;
3821 MenhirLib.EngineTypes.startp = _startpos;
3822 MenhirLib.EngineTypes.endp = _endpos;
3823 MenhirLib.EngineTypes.next = _menhir_stack;
3824 });
3825 (fun _menhir_env ->
3826 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3827 let {
3828 MenhirLib.EngineTypes.semv = _3;
3829 MenhirLib.EngineTypes.startp = _startpos__3_;
3830 MenhirLib.EngineTypes.endp = _endpos__3_;
3831 MenhirLib.EngineTypes.next = {
3832 MenhirLib.EngineTypes.semv = _2;
3833 MenhirLib.EngineTypes.startp = _startpos__2_;
3834 MenhirLib.EngineTypes.endp = _endpos__2_;
3835 MenhirLib.EngineTypes.next = {
3836 MenhirLib.EngineTypes.state = _menhir_s;
3837 MenhirLib.EngineTypes.semv = _1;
3838 MenhirLib.EngineTypes.startp = _startpos__1_;
3839 MenhirLib.EngineTypes.endp = _endpos__1_;
3840 MenhirLib.EngineTypes.next = _menhir_stack;
3841 };
3842 };
3843 } = _menhir_stack in
3844 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3845 let _2 : (
3846 # 89 "parser_cocci_menhir.mly"
3847 (Data.clt)
3848 # 3849 "parser_cocci_menhir.ml"
3849 ) = Obj.magic _2 in
3850 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3851 let _startpos = _startpos__1_ in
3852 let _endpos = _endpos__3_ in
3853 let _v : 'tv_arith_expr_expr_invalid_ =
3854 # 1289 "parser_cocci_menhir.mly"
3855 ( P.logic_op Ast.OrLog _1 _2 _3 )
3856 # 3857 "parser_cocci_menhir.ml"
3857 in
3858 _menhir_env.MenhirLib.EngineTypes.stack <- {
3859 MenhirLib.EngineTypes.state = _menhir_s;
3860 MenhirLib.EngineTypes.semv = Obj.repr _v;
3861 MenhirLib.EngineTypes.startp = _startpos;
3862 MenhirLib.EngineTypes.endp = _endpos;
3863 MenhirLib.EngineTypes.next = _menhir_stack;
3864 });
3865 (fun _menhir_env ->
3866 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3867 let {
3868 MenhirLib.EngineTypes.state = _menhir_s;
3869 MenhirLib.EngineTypes.startp = _startpos__1_;
3870 MenhirLib.EngineTypes.endp = _endpos__1_;
3871 MenhirLib.EngineTypes.next = _menhir_stack;
3872 } = _menhir_stack in
3873 let _startpos = _startpos__1_ in
3874 let _endpos = _endpos__1_ in
3875 let _v : 'tv_arity =
3876 # 459 "parser_cocci_menhir.mly"
3877 ( Ast.UNIQUE )
3878 # 3879 "parser_cocci_menhir.ml"
3879 in
3880 _menhir_env.MenhirLib.EngineTypes.stack <- {
3881 MenhirLib.EngineTypes.state = _menhir_s;
3882 MenhirLib.EngineTypes.semv = Obj.repr _v;
3883 MenhirLib.EngineTypes.startp = _startpos;
3884 MenhirLib.EngineTypes.endp = _endpos;
3885 MenhirLib.EngineTypes.next = _menhir_stack;
3886 });
3887 (fun _menhir_env ->
3888 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3889 let {
3890 MenhirLib.EngineTypes.state = _menhir_s;
3891 MenhirLib.EngineTypes.startp = _startpos__1_;
3892 MenhirLib.EngineTypes.endp = _endpos__1_;
3893 MenhirLib.EngineTypes.next = _menhir_stack;
3894 } = _menhir_stack in
3895 let _startpos = _startpos__1_ in
3896 let _endpos = _endpos__1_ in
3897 let _v : 'tv_arity =
3898 # 460 "parser_cocci_menhir.mly"
3899 ( Ast.OPT )
3900 # 3901 "parser_cocci_menhir.ml"
3901 in
3902 _menhir_env.MenhirLib.EngineTypes.stack <- {
3903 MenhirLib.EngineTypes.state = _menhir_s;
3904 MenhirLib.EngineTypes.semv = Obj.repr _v;
3905 MenhirLib.EngineTypes.startp = _startpos;
3906 MenhirLib.EngineTypes.endp = _endpos;
3907 MenhirLib.EngineTypes.next = _menhir_stack;
3908 });
3909 (fun _menhir_env ->
3910 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3911 let {
3912 MenhirLib.EngineTypes.state = _menhir_s;
3913 MenhirLib.EngineTypes.startp = _startpos__1_;
3914 MenhirLib.EngineTypes.endp = _endpos__1_;
3915 MenhirLib.EngineTypes.next = _menhir_stack;
3916 } = _menhir_stack in
3917 let _startpos = _startpos__1_ in
3918 let _endpos = _endpos__1_ in
3919 let _v : 'tv_arity =
3920 # 461 "parser_cocci_menhir.mly"
3921 ( Ast.MULTI )
3922 # 3923 "parser_cocci_menhir.ml"
3923 in
3924 _menhir_env.MenhirLib.EngineTypes.stack <- {
3925 MenhirLib.EngineTypes.state = _menhir_s;
3926 MenhirLib.EngineTypes.semv = Obj.repr _v;
3927 MenhirLib.EngineTypes.startp = _startpos;
3928 MenhirLib.EngineTypes.endp = _endpos;
3929 MenhirLib.EngineTypes.next = _menhir_stack;
3930 });
3931 (fun _menhir_env ->
3932 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3933 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
3934 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
3935 let _endpos = _startpos in
3936 let _v : 'tv_arity =
3937 # 462 "parser_cocci_menhir.mly"
3938 ( Ast.NONE )
3939 # 3940 "parser_cocci_menhir.ml"
3940 in
3941 _menhir_env.MenhirLib.EngineTypes.stack <- {
3942 MenhirLib.EngineTypes.state = _menhir_s;
3943 MenhirLib.EngineTypes.semv = Obj.repr _v;
3944 MenhirLib.EngineTypes.startp = _startpos;
3945 MenhirLib.EngineTypes.endp = _endpos;
3946 MenhirLib.EngineTypes.next = _menhir_stack;
3947 });
3948 (fun _menhir_env ->
3949 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3950 let {
3951 MenhirLib.EngineTypes.semv = r;
3952 MenhirLib.EngineTypes.startp = _startpos_r_;
3953 MenhirLib.EngineTypes.endp = _endpos_r_;
3954 MenhirLib.EngineTypes.next = {
3955 MenhirLib.EngineTypes.semv = i;
3956 MenhirLib.EngineTypes.startp = _startpos_i_;
3957 MenhirLib.EngineTypes.endp = _endpos_i_;
3958 MenhirLib.EngineTypes.next = {
3959 MenhirLib.EngineTypes.state = _menhir_s;
3960 MenhirLib.EngineTypes.semv = l;
3961 MenhirLib.EngineTypes.startp = _startpos_l_;
3962 MenhirLib.EngineTypes.endp = _endpos_l_;
3963 MenhirLib.EngineTypes.next = _menhir_stack;
3964 };
3965 };
3966 } = _menhir_stack in
3967 let r : (
3968 # 102 "parser_cocci_menhir.mly"
3969 (Data.clt)
3970 # 3971 "parser_cocci_menhir.ml"
3971 ) = Obj.magic r in
3972 let i : 'tv_option_eexpr_ = Obj.magic i in
3973 let l : (
3974 # 102 "parser_cocci_menhir.mly"
3975 (Data.clt)
3976 # 3977 "parser_cocci_menhir.ml"
3977 ) = Obj.magic l in
3978 let _startpos = _startpos_l_ in
3979 let _endpos = _endpos_r_ in
3980 let _v : 'tv_array_dec =
3981 # 1070 "parser_cocci_menhir.mly"
3982 ( (l,i,r) )
3983 # 3984 "parser_cocci_menhir.ml"
3984 in
3985 _menhir_env.MenhirLib.EngineTypes.stack <- {
3986 MenhirLib.EngineTypes.state = _menhir_s;
3987 MenhirLib.EngineTypes.semv = Obj.repr _v;
3988 MenhirLib.EngineTypes.startp = _startpos;
3989 MenhirLib.EngineTypes.endp = _endpos;
3990 MenhirLib.EngineTypes.next = _menhir_stack;
3991 });
3992 (fun _menhir_env ->
3993 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3994 let {
3995 MenhirLib.EngineTypes.state = _menhir_s;
3996 MenhirLib.EngineTypes.semv = _1;
3997 MenhirLib.EngineTypes.startp = _startpos__1_;
3998 MenhirLib.EngineTypes.endp = _endpos__1_;
3999 MenhirLib.EngineTypes.next = _menhir_stack;
4000 } = _menhir_stack in
4001 let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4002 let _startpos = _startpos__1_ in
4003 let _endpos = _endpos__1_ in
4004 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4005 # 1235 "parser_cocci_menhir.mly"
4006 ( _1 )
4007 # 4008 "parser_cocci_menhir.ml"
4008 in
4009 _menhir_env.MenhirLib.EngineTypes.stack <- {
4010 MenhirLib.EngineTypes.state = _menhir_s;
4011 MenhirLib.EngineTypes.semv = Obj.repr _v;
4012 MenhirLib.EngineTypes.startp = _startpos;
4013 MenhirLib.EngineTypes.endp = _endpos;
4014 MenhirLib.EngineTypes.next = _menhir_stack;
4015 });
4016 (fun _menhir_env ->
4017 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4018 let {
4019 MenhirLib.EngineTypes.semv = _3;
4020 MenhirLib.EngineTypes.startp = _startpos__3_;
4021 MenhirLib.EngineTypes.endp = _endpos__3_;
4022 MenhirLib.EngineTypes.next = {
4023 MenhirLib.EngineTypes.semv = _2;
4024 MenhirLib.EngineTypes.startp = _startpos__2_;
4025 MenhirLib.EngineTypes.endp = _endpos__2_;
4026 MenhirLib.EngineTypes.next = {
4027 MenhirLib.EngineTypes.state = _menhir_s;
4028 MenhirLib.EngineTypes.semv = _1;
4029 MenhirLib.EngineTypes.startp = _startpos__1_;
4030 MenhirLib.EngineTypes.endp = _endpos__1_;
4031 MenhirLib.EngineTypes.next = _menhir_stack;
4032 };
4033 };
4034 } = _menhir_stack in
4035 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4036 let _2 : (
4037 # 108 "parser_cocci_menhir.mly"
4038 (Ast_cocci.assignOp * Data.clt)
4039 # 4040 "parser_cocci_menhir.ml"
4040 ) = Obj.magic _2 in
4041 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4042 let _startpos = _startpos__1_ in
4043 let _endpos = _endpos__3_ in
4044 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4045 # 1237 "parser_cocci_menhir.mly"
4046 ( let (op,clt) = _2 in
4047 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4048 Ast0.set_arg_exp _3,false)) )
4049 # 4050 "parser_cocci_menhir.ml"
4050 in
4051 _menhir_env.MenhirLib.EngineTypes.stack <- {
4052 MenhirLib.EngineTypes.state = _menhir_s;
4053 MenhirLib.EngineTypes.semv = Obj.repr _v;
4054 MenhirLib.EngineTypes.startp = _startpos;
4055 MenhirLib.EngineTypes.endp = _endpos;
4056 MenhirLib.EngineTypes.next = _menhir_stack;
4057 });
4058 (fun _menhir_env ->
4059 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4060 let {
4061 MenhirLib.EngineTypes.semv = _3;
4062 MenhirLib.EngineTypes.startp = _startpos__3_;
4063 MenhirLib.EngineTypes.endp = _endpos__3_;
4064 MenhirLib.EngineTypes.next = {
4065 MenhirLib.EngineTypes.semv = _2;
4066 MenhirLib.EngineTypes.startp = _startpos__2_;
4067 MenhirLib.EngineTypes.endp = _endpos__2_;
4068 MenhirLib.EngineTypes.next = {
4069 MenhirLib.EngineTypes.state = _menhir_s;
4070 MenhirLib.EngineTypes.semv = _1;
4071 MenhirLib.EngineTypes.startp = _startpos__1_;
4072 MenhirLib.EngineTypes.endp = _endpos__1_;
4073 MenhirLib.EngineTypes.next = _menhir_stack;
4074 };
4075 };
4076 } = _menhir_stack in
4077 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4078 let _2 : (
4079 # 107 "parser_cocci_menhir.mly"
4080 (Data.clt)
4081 # 4082 "parser_cocci_menhir.ml"
4082 ) = Obj.magic _2 in
4083 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4084 let _startpos = _startpos__1_ in
4085 let _endpos = _endpos__3_ in
4086 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4087 # 1241 "parser_cocci_menhir.mly"
4088 ( Ast0.wrap
4089 (Ast0.Assignment
4090 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4091 # 4092 "parser_cocci_menhir.ml"
4092 in
4093 _menhir_env.MenhirLib.EngineTypes.stack <- {
4094 MenhirLib.EngineTypes.state = _menhir_s;
4095 MenhirLib.EngineTypes.semv = Obj.repr _v;
4096 MenhirLib.EngineTypes.startp = _startpos;
4097 MenhirLib.EngineTypes.endp = _endpos;
4098 MenhirLib.EngineTypes.next = _menhir_stack;
4099 });
4100 (fun _menhir_env ->
4101 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4102 let {
4103 MenhirLib.EngineTypes.state = _menhir_s;
4104 MenhirLib.EngineTypes.semv = _1;
4105 MenhirLib.EngineTypes.startp = _startpos__1_;
4106 MenhirLib.EngineTypes.endp = _endpos__1_;
4107 MenhirLib.EngineTypes.next = _menhir_stack;
4108 } = _menhir_stack in
4109 let _1 : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4110 let _startpos = _startpos__1_ in
4111 let _endpos = _endpos__1_ in
4112 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
4113 # 1235 "parser_cocci_menhir.mly"
4114 ( _1 )
4115 # 4116 "parser_cocci_menhir.ml"
4116 in
4117 _menhir_env.MenhirLib.EngineTypes.stack <- {
4118 MenhirLib.EngineTypes.state = _menhir_s;
4119 MenhirLib.EngineTypes.semv = Obj.repr _v;
4120 MenhirLib.EngineTypes.startp = _startpos;
4121 MenhirLib.EngineTypes.endp = _endpos;
4122 MenhirLib.EngineTypes.next = _menhir_stack;
4123 });
4124 (fun _menhir_env ->
4125 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4126 let {
4127 MenhirLib.EngineTypes.semv = _3;
4128 MenhirLib.EngineTypes.startp = _startpos__3_;
4129 MenhirLib.EngineTypes.endp = _endpos__3_;
4130 MenhirLib.EngineTypes.next = {
4131 MenhirLib.EngineTypes.semv = _2;
4132 MenhirLib.EngineTypes.startp = _startpos__2_;
4133 MenhirLib.EngineTypes.endp = _endpos__2_;
4134 MenhirLib.EngineTypes.next = {
4135 MenhirLib.EngineTypes.state = _menhir_s;
4136 MenhirLib.EngineTypes.semv = _1;
4137 MenhirLib.EngineTypes.startp = _startpos__1_;
4138 MenhirLib.EngineTypes.endp = _endpos__1_;
4139 MenhirLib.EngineTypes.next = _menhir_stack;
4140 };
4141 };
4142 } = _menhir_stack in
4143 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4144 let _2 : (
4145 # 108 "parser_cocci_menhir.mly"
4146 (Ast_cocci.assignOp * Data.clt)
4147 # 4148 "parser_cocci_menhir.ml"
4148 ) = Obj.magic _2 in
4149 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4150 let _startpos = _startpos__1_ in
4151 let _endpos = _endpos__3_ in
4152 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
4153 # 1237 "parser_cocci_menhir.mly"
4154 ( let (op,clt) = _2 in
4155 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4156 Ast0.set_arg_exp _3,false)) )
4157 # 4158 "parser_cocci_menhir.ml"
4158 in
4159 _menhir_env.MenhirLib.EngineTypes.stack <- {
4160 MenhirLib.EngineTypes.state = _menhir_s;
4161 MenhirLib.EngineTypes.semv = Obj.repr _v;
4162 MenhirLib.EngineTypes.startp = _startpos;
4163 MenhirLib.EngineTypes.endp = _endpos;
4164 MenhirLib.EngineTypes.next = _menhir_stack;
4165 });
4166 (fun _menhir_env ->
4167 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4168 let {
4169 MenhirLib.EngineTypes.semv = _3;
4170 MenhirLib.EngineTypes.startp = _startpos__3_;
4171 MenhirLib.EngineTypes.endp = _endpos__3_;
4172 MenhirLib.EngineTypes.next = {
4173 MenhirLib.EngineTypes.semv = _2;
4174 MenhirLib.EngineTypes.startp = _startpos__2_;
4175 MenhirLib.EngineTypes.endp = _endpos__2_;
4176 MenhirLib.EngineTypes.next = {
4177 MenhirLib.EngineTypes.state = _menhir_s;
4178 MenhirLib.EngineTypes.semv = _1;
4179 MenhirLib.EngineTypes.startp = _startpos__1_;
4180 MenhirLib.EngineTypes.endp = _endpos__1_;
4181 MenhirLib.EngineTypes.next = _menhir_stack;
4182 };
4183 };
4184 } = _menhir_stack in
4185 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4186 let _2 : (
4187 # 107 "parser_cocci_menhir.mly"
4188 (Data.clt)
4189 # 4190 "parser_cocci_menhir.ml"
4190 ) = Obj.magic _2 in
4191 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4192 let _startpos = _startpos__1_ in
4193 let _endpos = _endpos__3_ in
4194 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
4195 # 1241 "parser_cocci_menhir.mly"
4196 ( Ast0.wrap
4197 (Ast0.Assignment
4198 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4199 # 4200 "parser_cocci_menhir.ml"
4200 in
4201 _menhir_env.MenhirLib.EngineTypes.stack <- {
4202 MenhirLib.EngineTypes.state = _menhir_s;
4203 MenhirLib.EngineTypes.semv = Obj.repr _v;
4204 MenhirLib.EngineTypes.startp = _startpos;
4205 MenhirLib.EngineTypes.endp = _endpos;
4206 MenhirLib.EngineTypes.next = _menhir_stack;
4207 });
4208 (fun _menhir_env ->
4209 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4210 let {
4211 MenhirLib.EngineTypes.state = _menhir_s;
4212 MenhirLib.EngineTypes.semv = _1;
4213 MenhirLib.EngineTypes.startp = _startpos__1_;
4214 MenhirLib.EngineTypes.endp = _endpos__1_;
4215 MenhirLib.EngineTypes.next = _menhir_stack;
4216 } = _menhir_stack in
4217 let _1 : 'tv_cond_expr_expr_invalid_ = Obj.magic _1 in
4218 let _startpos = _startpos__1_ in
4219 let _endpos = _endpos__1_ in
4220 let _v : 'tv_assign_expr_expr_invalid_ =
4221 # 1235 "parser_cocci_menhir.mly"
4222 ( _1 )
4223 # 4224 "parser_cocci_menhir.ml"
4224 in
4225 _menhir_env.MenhirLib.EngineTypes.stack <- {
4226 MenhirLib.EngineTypes.state = _menhir_s;
4227 MenhirLib.EngineTypes.semv = Obj.repr _v;
4228 MenhirLib.EngineTypes.startp = _startpos;
4229 MenhirLib.EngineTypes.endp = _endpos;
4230 MenhirLib.EngineTypes.next = _menhir_stack;
4231 });
4232 (fun _menhir_env ->
4233 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4234 let {
4235 MenhirLib.EngineTypes.semv = _3;
4236 MenhirLib.EngineTypes.startp = _startpos__3_;
4237 MenhirLib.EngineTypes.endp = _endpos__3_;
4238 MenhirLib.EngineTypes.next = {
4239 MenhirLib.EngineTypes.semv = _2;
4240 MenhirLib.EngineTypes.startp = _startpos__2_;
4241 MenhirLib.EngineTypes.endp = _endpos__2_;
4242 MenhirLib.EngineTypes.next = {
4243 MenhirLib.EngineTypes.state = _menhir_s;
4244 MenhirLib.EngineTypes.semv = _1;
4245 MenhirLib.EngineTypes.startp = _startpos__1_;
4246 MenhirLib.EngineTypes.endp = _endpos__1_;
4247 MenhirLib.EngineTypes.next = _menhir_stack;
4248 };
4249 };
4250 } = _menhir_stack in
4251 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4252 let _2 : (
4253 # 108 "parser_cocci_menhir.mly"
4254 (Ast_cocci.assignOp * Data.clt)
4255 # 4256 "parser_cocci_menhir.ml"
4256 ) = Obj.magic _2 in
4257 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
4258 let _startpos = _startpos__1_ in
4259 let _endpos = _endpos__3_ in
4260 let _v : 'tv_assign_expr_expr_invalid_ =
4261 # 1237 "parser_cocci_menhir.mly"
4262 ( let (op,clt) = _2 in
4263 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4264 Ast0.set_arg_exp _3,false)) )
4265 # 4266 "parser_cocci_menhir.ml"
4266 in
4267 _menhir_env.MenhirLib.EngineTypes.stack <- {
4268 MenhirLib.EngineTypes.state = _menhir_s;
4269 MenhirLib.EngineTypes.semv = Obj.repr _v;
4270 MenhirLib.EngineTypes.startp = _startpos;
4271 MenhirLib.EngineTypes.endp = _endpos;
4272 MenhirLib.EngineTypes.next = _menhir_stack;
4273 });
4274 (fun _menhir_env ->
4275 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4276 let {
4277 MenhirLib.EngineTypes.semv = _3;
4278 MenhirLib.EngineTypes.startp = _startpos__3_;
4279 MenhirLib.EngineTypes.endp = _endpos__3_;
4280 MenhirLib.EngineTypes.next = {
4281 MenhirLib.EngineTypes.semv = _2;
4282 MenhirLib.EngineTypes.startp = _startpos__2_;
4283 MenhirLib.EngineTypes.endp = _endpos__2_;
4284 MenhirLib.EngineTypes.next = {
4285 MenhirLib.EngineTypes.state = _menhir_s;
4286 MenhirLib.EngineTypes.semv = _1;
4287 MenhirLib.EngineTypes.startp = _startpos__1_;
4288 MenhirLib.EngineTypes.endp = _endpos__1_;
4289 MenhirLib.EngineTypes.next = _menhir_stack;
4290 };
4291 };
4292 } = _menhir_stack in
4293 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4294 let _2 : (
4295 # 107 "parser_cocci_menhir.mly"
4296 (Data.clt)
4297 # 4298 "parser_cocci_menhir.ml"
4298 ) = Obj.magic _2 in
4299 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
4300 let _startpos = _startpos__1_ in
4301 let _endpos = _endpos__3_ in
4302 let _v : 'tv_assign_expr_expr_invalid_ =
4303 # 1241 "parser_cocci_menhir.mly"
4304 ( Ast0.wrap
4305 (Ast0.Assignment
4306 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4307 # 4308 "parser_cocci_menhir.ml"
4308 in
4309 _menhir_env.MenhirLib.EngineTypes.stack <- {
4310 MenhirLib.EngineTypes.state = _menhir_s;
4311 MenhirLib.EngineTypes.semv = Obj.repr _v;
4312 MenhirLib.EngineTypes.startp = _startpos;
4313 MenhirLib.EngineTypes.endp = _endpos;
4314 MenhirLib.EngineTypes.next = _menhir_stack;
4315 });
4316 (fun _menhir_env ->
4317 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4318 let {
4319 MenhirLib.EngineTypes.state = _menhir_s;
4320 MenhirLib.EngineTypes.semv = _1;
4321 MenhirLib.EngineTypes.startp = _startpos__1_;
4322 MenhirLib.EngineTypes.endp = _endpos__1_;
4323 MenhirLib.EngineTypes.next = _menhir_stack;
4324 } = _menhir_stack in
4325 let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4326 let _startpos = _startpos__1_ in
4327 let _endpos = _endpos__1_ in
4328 let _v : 'tv_assign_expr_bis =
4329 # 1246 "parser_cocci_menhir.mly"
4330 ( _1 )
4331 # 4332 "parser_cocci_menhir.ml"
4332 in
4333 _menhir_env.MenhirLib.EngineTypes.stack <- {
4334 MenhirLib.EngineTypes.state = _menhir_s;
4335 MenhirLib.EngineTypes.semv = Obj.repr _v;
4336 MenhirLib.EngineTypes.startp = _startpos;
4337 MenhirLib.EngineTypes.endp = _endpos;
4338 MenhirLib.EngineTypes.next = _menhir_stack;
4339 });
4340 (fun _menhir_env ->
4341 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4342 let {
4343 MenhirLib.EngineTypes.semv = _3;
4344 MenhirLib.EngineTypes.startp = _startpos__3_;
4345 MenhirLib.EngineTypes.endp = _endpos__3_;
4346 MenhirLib.EngineTypes.next = {
4347 MenhirLib.EngineTypes.semv = _2;
4348 MenhirLib.EngineTypes.startp = _startpos__2_;
4349 MenhirLib.EngineTypes.endp = _endpos__2_;
4350 MenhirLib.EngineTypes.next = {
4351 MenhirLib.EngineTypes.state = _menhir_s;
4352 MenhirLib.EngineTypes.semv = _1;
4353 MenhirLib.EngineTypes.startp = _startpos__1_;
4354 MenhirLib.EngineTypes.endp = _endpos__1_;
4355 MenhirLib.EngineTypes.next = _menhir_stack;
4356 };
4357 };
4358 } = _menhir_stack in
4359 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4360 let _2 : (
4361 # 108 "parser_cocci_menhir.mly"
4362 (Ast_cocci.assignOp * Data.clt)
4363 # 4364 "parser_cocci_menhir.ml"
4364 ) = Obj.magic _2 in
4365 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4366 let _startpos = _startpos__1_ in
4367 let _endpos = _endpos__3_ in
4368 let _v : 'tv_assign_expr_bis =
4369 # 1248 "parser_cocci_menhir.mly"
4370 ( let (op,clt) = _2 in
4371 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4372 Ast0.set_arg_exp _3,false)) )
4373 # 4374 "parser_cocci_menhir.ml"
4374 in
4375 _menhir_env.MenhirLib.EngineTypes.stack <- {
4376 MenhirLib.EngineTypes.state = _menhir_s;
4377 MenhirLib.EngineTypes.semv = Obj.repr _v;
4378 MenhirLib.EngineTypes.startp = _startpos;
4379 MenhirLib.EngineTypes.endp = _endpos;
4380 MenhirLib.EngineTypes.next = _menhir_stack;
4381 });
4382 (fun _menhir_env ->
4383 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4384 let {
4385 MenhirLib.EngineTypes.semv = _3;
4386 MenhirLib.EngineTypes.startp = _startpos__3_;
4387 MenhirLib.EngineTypes.endp = _endpos__3_;
4388 MenhirLib.EngineTypes.next = {
4389 MenhirLib.EngineTypes.semv = _2;
4390 MenhirLib.EngineTypes.startp = _startpos__2_;
4391 MenhirLib.EngineTypes.endp = _endpos__2_;
4392 MenhirLib.EngineTypes.next = {
4393 MenhirLib.EngineTypes.state = _menhir_s;
4394 MenhirLib.EngineTypes.semv = _1;
4395 MenhirLib.EngineTypes.startp = _startpos__1_;
4396 MenhirLib.EngineTypes.endp = _endpos__1_;
4397 MenhirLib.EngineTypes.next = _menhir_stack;
4398 };
4399 };
4400 } = _menhir_stack in
4401 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4402 let _2 : (
4403 # 107 "parser_cocci_menhir.mly"
4404 (Data.clt)
4405 # 4406 "parser_cocci_menhir.ml"
4406 ) = Obj.magic _2 in
4407 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4408 let _startpos = _startpos__1_ in
4409 let _endpos = _endpos__3_ in
4410 let _v : 'tv_assign_expr_bis =
4411 # 1252 "parser_cocci_menhir.mly"
4412 ( Ast0.wrap
4413 (Ast0.Assignment
4414 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4415 # 4416 "parser_cocci_menhir.ml"
4416 in
4417 _menhir_env.MenhirLib.EngineTypes.stack <- {
4418 MenhirLib.EngineTypes.state = _menhir_s;
4419 MenhirLib.EngineTypes.semv = Obj.repr _v;
4420 MenhirLib.EngineTypes.startp = _startpos;
4421 MenhirLib.EngineTypes.endp = _endpos;
4422 MenhirLib.EngineTypes.next = _menhir_stack;
4423 });
4424 (fun _menhir_env ->
4425 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4426 let {
4427 MenhirLib.EngineTypes.state = _menhir_s;
4428 MenhirLib.EngineTypes.semv = _1;
4429 MenhirLib.EngineTypes.startp = _startpos__1_;
4430 MenhirLib.EngineTypes.endp = _endpos__1_;
4431 MenhirLib.EngineTypes.next = _menhir_stack;
4432 } = _menhir_stack in
4433 let _1 : 'tv_assign_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4434 let _startpos = _startpos__1_ in
4435 let _endpos = _endpos__1_ in
4436 let _v : 'tv_basic_expr_eexpr_dot_expressions_ =
4437 # 1232 "parser_cocci_menhir.mly"
4438 ( _1 )
4439 # 4440 "parser_cocci_menhir.ml"
4440 in
4441 _menhir_env.MenhirLib.EngineTypes.stack <- {
4442 MenhirLib.EngineTypes.state = _menhir_s;
4443 MenhirLib.EngineTypes.semv = Obj.repr _v;
4444 MenhirLib.EngineTypes.startp = _startpos;
4445 MenhirLib.EngineTypes.endp = _endpos;
4446 MenhirLib.EngineTypes.next = _menhir_stack;
4447 });
4448 (fun _menhir_env ->
4449 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4450 let {
4451 MenhirLib.EngineTypes.state = _menhir_s;
4452 MenhirLib.EngineTypes.semv = _1;
4453 MenhirLib.EngineTypes.startp = _startpos__1_;
4454 MenhirLib.EngineTypes.endp = _endpos__1_;
4455 MenhirLib.EngineTypes.next = _menhir_stack;
4456 } = _menhir_stack in
4457 let _1 : 'tv_assign_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4458 let _startpos = _startpos__1_ in
4459 let _endpos = _endpos__1_ in
4460 let _v : 'tv_basic_expr_eexpr_nest_expressions_ =
4461 # 1232 "parser_cocci_menhir.mly"
4462 ( _1 )
4463 # 4464 "parser_cocci_menhir.ml"
4464 in
4465 _menhir_env.MenhirLib.EngineTypes.stack <- {
4466 MenhirLib.EngineTypes.state = _menhir_s;
4467 MenhirLib.EngineTypes.semv = Obj.repr _v;
4468 MenhirLib.EngineTypes.startp = _startpos;
4469 MenhirLib.EngineTypes.endp = _endpos;
4470 MenhirLib.EngineTypes.next = _menhir_stack;
4471 });
4472 (fun _menhir_env ->
4473 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4474 let {
4475 MenhirLib.EngineTypes.state = _menhir_s;
4476 MenhirLib.EngineTypes.semv = _1;
4477 MenhirLib.EngineTypes.startp = _startpos__1_;
4478 MenhirLib.EngineTypes.endp = _endpos__1_;
4479 MenhirLib.EngineTypes.next = _menhir_stack;
4480 } = _menhir_stack in
4481 let _1 : 'tv_assign_expr_expr_invalid_ = Obj.magic _1 in
4482 let _startpos = _startpos__1_ in
4483 let _endpos = _endpos__1_ in
4484 let _v : 'tv_basic_expr_expr_invalid_ =
4485 # 1232 "parser_cocci_menhir.mly"
4486 ( _1 )
4487 # 4488 "parser_cocci_menhir.ml"
4488 in
4489 _menhir_env.MenhirLib.EngineTypes.stack <- {
4490 MenhirLib.EngineTypes.state = _menhir_s;
4491 MenhirLib.EngineTypes.semv = Obj.repr _v;
4492 MenhirLib.EngineTypes.startp = _startpos;
4493 MenhirLib.EngineTypes.endp = _endpos;
4494 MenhirLib.EngineTypes.next = _menhir_stack;
4495 });
4496 (fun _menhir_env ->
4497 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4498 let {
4499 MenhirLib.EngineTypes.semv = _3;
4500 MenhirLib.EngineTypes.startp = _startpos__3_;
4501 MenhirLib.EngineTypes.endp = _endpos__3_;
4502 MenhirLib.EngineTypes.next = {
4503 MenhirLib.EngineTypes.semv = _2;
4504 MenhirLib.EngineTypes.startp = _startpos__2_;
4505 MenhirLib.EngineTypes.endp = _endpos__2_;
4506 MenhirLib.EngineTypes.next = {
4507 MenhirLib.EngineTypes.state = _menhir_s;
4508 MenhirLib.EngineTypes.semv = _1;
4509 MenhirLib.EngineTypes.startp = _startpos__1_;
4510 MenhirLib.EngineTypes.endp = _endpos__1_;
4511 MenhirLib.EngineTypes.next = _menhir_stack;
4512 };
4513 };
4514 } = _menhir_stack in
4515 let _3 : 'tv_fun_start = Obj.magic _3 in
4516 let _2 : (
4517 # 76 "parser_cocci_menhir.mly"
4518 (Data.clt)
4519 # 4520 "parser_cocci_menhir.ml"
4520 ) = Obj.magic _2 in
4521 let _1 : (
4522 # 57 "parser_cocci_menhir.mly"
4523 (Data.clt)
4524 # 4525 "parser_cocci_menhir.ml"
4525 ) = Obj.magic _1 in
4526 let _startpos = _startpos__1_ in
4527 let _endpos = _endpos__3_ in
4528 let _v : 'tv_case_line =
4529 # 942 "parser_cocci_menhir.mly"
4530 ( Ast0.wrap(Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) )
4531 # 4532 "parser_cocci_menhir.ml"
4532 in
4533 _menhir_env.MenhirLib.EngineTypes.stack <- {
4534 MenhirLib.EngineTypes.state = _menhir_s;
4535 MenhirLib.EngineTypes.semv = Obj.repr _v;
4536 MenhirLib.EngineTypes.startp = _startpos;
4537 MenhirLib.EngineTypes.endp = _endpos;
4538 MenhirLib.EngineTypes.next = _menhir_stack;
4539 });
4540 (fun _menhir_env ->
4541 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4542 let {
4543 MenhirLib.EngineTypes.semv = _4;
4544 MenhirLib.EngineTypes.startp = _startpos__4_;
4545 MenhirLib.EngineTypes.endp = _endpos__4_;
4546 MenhirLib.EngineTypes.next = {
4547 MenhirLib.EngineTypes.semv = _3;
4548 MenhirLib.EngineTypes.startp = _startpos__3_;
4549 MenhirLib.EngineTypes.endp = _endpos__3_;
4550 MenhirLib.EngineTypes.next = {
4551 MenhirLib.EngineTypes.semv = _2;
4552 MenhirLib.EngineTypes.startp = _startpos__2_;
4553 MenhirLib.EngineTypes.endp = _endpos__2_;
4554 MenhirLib.EngineTypes.next = {
4555 MenhirLib.EngineTypes.state = _menhir_s;
4556 MenhirLib.EngineTypes.semv = _1;
4557 MenhirLib.EngineTypes.startp = _startpos__1_;
4558 MenhirLib.EngineTypes.endp = _endpos__1_;
4559 MenhirLib.EngineTypes.next = _menhir_stack;
4560 };
4561 };
4562 };
4563 } = _menhir_stack in
4564 let _4 : 'tv_fun_start = Obj.magic _4 in
4565 let _3 : (
4566 # 76 "parser_cocci_menhir.mly"
4567 (Data.clt)
4568 # 4569 "parser_cocci_menhir.ml"
4569 ) = Obj.magic _3 in
4570 let _2 : 'tv_eexpr = Obj.magic _2 in
4571 let _1 : (
4572 # 57 "parser_cocci_menhir.mly"
4573 (Data.clt)
4574 # 4575 "parser_cocci_menhir.ml"
4575 ) = Obj.magic _1 in
4576 let _startpos = _startpos__1_ in
4577 let _endpos = _endpos__4_ in
4578 let _v : 'tv_case_line =
4579 # 944 "parser_cocci_menhir.mly"
4580 ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) )
4581 # 4582 "parser_cocci_menhir.ml"
4582 in
4583 _menhir_env.MenhirLib.EngineTypes.stack <- {
4584 MenhirLib.EngineTypes.state = _menhir_s;
4585 MenhirLib.EngineTypes.semv = Obj.repr _v;
4586 MenhirLib.EngineTypes.startp = _startpos;
4587 MenhirLib.EngineTypes.endp = _endpos;
4588 MenhirLib.EngineTypes.next = _menhir_stack;
4589 });
4590 (fun _menhir_env ->
4591 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4592 let {
4593 MenhirLib.EngineTypes.state = _menhir_s;
4594 MenhirLib.EngineTypes.semv = _1;
4595 MenhirLib.EngineTypes.startp = _startpos__1_;
4596 MenhirLib.EngineTypes.endp = _endpos__1_;
4597 MenhirLib.EngineTypes.next = _menhir_stack;
4598 } = _menhir_stack in
4599 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4600 let _startpos = _startpos__1_ in
4601 let _endpos = _endpos__1_ in
4602 let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
4603 # 1292 "parser_cocci_menhir.mly"
4604 ( _1 )
4605 # 4606 "parser_cocci_menhir.ml"
4606 in
4607 _menhir_env.MenhirLib.EngineTypes.stack <- {
4608 MenhirLib.EngineTypes.state = _menhir_s;
4609 MenhirLib.EngineTypes.semv = Obj.repr _v;
4610 MenhirLib.EngineTypes.startp = _startpos;
4611 MenhirLib.EngineTypes.endp = _endpos;
4612 MenhirLib.EngineTypes.next = _menhir_stack;
4613 });
4614 (fun _menhir_env ->
4615 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4616 let {
4617 MenhirLib.EngineTypes.semv = e;
4618 MenhirLib.EngineTypes.startp = _startpos_e_;
4619 MenhirLib.EngineTypes.endp = _endpos_e_;
4620 MenhirLib.EngineTypes.next = {
4621 MenhirLib.EngineTypes.semv = rp;
4622 MenhirLib.EngineTypes.startp = _startpos_rp_;
4623 MenhirLib.EngineTypes.endp = _endpos_rp_;
4624 MenhirLib.EngineTypes.next = {
4625 MenhirLib.EngineTypes.semv = t;
4626 MenhirLib.EngineTypes.startp = _startpos_t_;
4627 MenhirLib.EngineTypes.endp = _endpos_t_;
4628 MenhirLib.EngineTypes.next = {
4629 MenhirLib.EngineTypes.state = _menhir_s;
4630 MenhirLib.EngineTypes.semv = lp;
4631 MenhirLib.EngineTypes.startp = _startpos_lp_;
4632 MenhirLib.EngineTypes.endp = _endpos_lp_;
4633 MenhirLib.EngineTypes.next = _menhir_stack;
4634 };
4635 };
4636 };
4637 } = _menhir_stack in
4638 let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in
4639 let rp : (
4640 # 77 "parser_cocci_menhir.mly"
4641 (Data.clt)
4642 # 4643 "parser_cocci_menhir.ml"
4643 ) = Obj.magic rp in
4644 let t : 'tv_ctype = Obj.magic t in
4645 let lp : (
4646 # 76 "parser_cocci_menhir.mly"
4647 (Data.clt)
4648 # 4649 "parser_cocci_menhir.ml"
4649 ) = Obj.magic lp in
4650 let _startpos = _startpos_lp_ in
4651 let _endpos = _endpos_e_ in
4652 let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
4653 # 1294 "parser_cocci_menhir.mly"
4654 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
4655 P.clt2mcode ")" rp, e)) )
4656 # 4657 "parser_cocci_menhir.ml"
4657 in
4658 _menhir_env.MenhirLib.EngineTypes.stack <- {
4659 MenhirLib.EngineTypes.state = _menhir_s;
4660 MenhirLib.EngineTypes.semv = Obj.repr _v;
4661 MenhirLib.EngineTypes.startp = _startpos;
4662 MenhirLib.EngineTypes.endp = _endpos;
4663 MenhirLib.EngineTypes.next = _menhir_stack;
4664 });
4665 (fun _menhir_env ->
4666 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4667 let {
4668 MenhirLib.EngineTypes.state = _menhir_s;
4669 MenhirLib.EngineTypes.semv = _1;
4670 MenhirLib.EngineTypes.startp = _startpos__1_;
4671 MenhirLib.EngineTypes.endp = _endpos__1_;
4672 MenhirLib.EngineTypes.next = _menhir_stack;
4673 } = _menhir_stack in
4674 let _1 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _1 in
4675 let _startpos = _startpos__1_ in
4676 let _endpos = _endpos__1_ in
4677 let _v : 'tv_cast_expr_eexpr_invalid_ =
4678 # 1292 "parser_cocci_menhir.mly"
4679 ( _1 )
4680 # 4681 "parser_cocci_menhir.ml"
4681 in
4682 _menhir_env.MenhirLib.EngineTypes.stack <- {
4683 MenhirLib.EngineTypes.state = _menhir_s;
4684 MenhirLib.EngineTypes.semv = Obj.repr _v;
4685 MenhirLib.EngineTypes.startp = _startpos;
4686 MenhirLib.EngineTypes.endp = _endpos;
4687 MenhirLib.EngineTypes.next = _menhir_stack;
4688 });
4689 (fun _menhir_env ->
4690 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4691 let {
4692 MenhirLib.EngineTypes.semv = e;
4693 MenhirLib.EngineTypes.startp = _startpos_e_;
4694 MenhirLib.EngineTypes.endp = _endpos_e_;
4695 MenhirLib.EngineTypes.next = {
4696 MenhirLib.EngineTypes.semv = rp;
4697 MenhirLib.EngineTypes.startp = _startpos_rp_;
4698 MenhirLib.EngineTypes.endp = _endpos_rp_;
4699 MenhirLib.EngineTypes.next = {
4700 MenhirLib.EngineTypes.semv = t;
4701 MenhirLib.EngineTypes.startp = _startpos_t_;
4702 MenhirLib.EngineTypes.endp = _endpos_t_;
4703 MenhirLib.EngineTypes.next = {
4704 MenhirLib.EngineTypes.state = _menhir_s;
4705 MenhirLib.EngineTypes.semv = lp;
4706 MenhirLib.EngineTypes.startp = _startpos_lp_;
4707 MenhirLib.EngineTypes.endp = _endpos_lp_;
4708 MenhirLib.EngineTypes.next = _menhir_stack;
4709 };
4710 };
4711 };
4712 } = _menhir_stack in
4713 let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in
4714 let rp : (
4715 # 77 "parser_cocci_menhir.mly"
4716 (Data.clt)
4717 # 4718 "parser_cocci_menhir.ml"
4718 ) = Obj.magic rp in
4719 let t : 'tv_ctype = Obj.magic t in
4720 let lp : (
4721 # 76 "parser_cocci_menhir.mly"
4722 (Data.clt)
4723 # 4724 "parser_cocci_menhir.ml"
4724 ) = Obj.magic lp in
4725 let _startpos = _startpos_lp_ in
4726 let _endpos = _endpos_e_ in
4727 let _v : 'tv_cast_expr_eexpr_invalid_ =
4728 # 1294 "parser_cocci_menhir.mly"
4729 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
4730 P.clt2mcode ")" rp, e)) )
4731 # 4732 "parser_cocci_menhir.ml"
4732 in
4733 _menhir_env.MenhirLib.EngineTypes.stack <- {
4734 MenhirLib.EngineTypes.state = _menhir_s;
4735 MenhirLib.EngineTypes.semv = Obj.repr _v;
4736 MenhirLib.EngineTypes.startp = _startpos;
4737 MenhirLib.EngineTypes.endp = _endpos;
4738 MenhirLib.EngineTypes.next = _menhir_stack;
4739 });
4740 (fun _menhir_env ->
4741 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4742 let {
4743 MenhirLib.EngineTypes.state = _menhir_s;
4744 MenhirLib.EngineTypes.semv = _1;
4745 MenhirLib.EngineTypes.startp = _startpos__1_;
4746 MenhirLib.EngineTypes.endp = _endpos__1_;
4747 MenhirLib.EngineTypes.next = _menhir_stack;
4748 } = _menhir_stack in
4749 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4750 let _startpos = _startpos__1_ in
4751 let _endpos = _endpos__1_ in
4752 let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
4753 # 1292 "parser_cocci_menhir.mly"
4754 ( _1 )
4755 # 4756 "parser_cocci_menhir.ml"
4756 in
4757 _menhir_env.MenhirLib.EngineTypes.stack <- {
4758 MenhirLib.EngineTypes.state = _menhir_s;
4759 MenhirLib.EngineTypes.semv = Obj.repr _v;
4760 MenhirLib.EngineTypes.startp = _startpos;
4761 MenhirLib.EngineTypes.endp = _endpos;
4762 MenhirLib.EngineTypes.next = _menhir_stack;
4763 });
4764 (fun _menhir_env ->
4765 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4766 let {
4767 MenhirLib.EngineTypes.semv = e;
4768 MenhirLib.EngineTypes.startp = _startpos_e_;
4769 MenhirLib.EngineTypes.endp = _endpos_e_;
4770 MenhirLib.EngineTypes.next = {
4771 MenhirLib.EngineTypes.semv = rp;
4772 MenhirLib.EngineTypes.startp = _startpos_rp_;
4773 MenhirLib.EngineTypes.endp = _endpos_rp_;
4774 MenhirLib.EngineTypes.next = {
4775 MenhirLib.EngineTypes.semv = t;
4776 MenhirLib.EngineTypes.startp = _startpos_t_;
4777 MenhirLib.EngineTypes.endp = _endpos_t_;
4778 MenhirLib.EngineTypes.next = {
4779 MenhirLib.EngineTypes.state = _menhir_s;
4780 MenhirLib.EngineTypes.semv = lp;
4781 MenhirLib.EngineTypes.startp = _startpos_lp_;
4782 MenhirLib.EngineTypes.endp = _endpos_lp_;
4783 MenhirLib.EngineTypes.next = _menhir_stack;
4784 };
4785 };
4786 };
4787 } = _menhir_stack in
4788 let e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in
4789 let rp : (
4790 # 77 "parser_cocci_menhir.mly"
4791 (Data.clt)
4792 # 4793 "parser_cocci_menhir.ml"
4793 ) = Obj.magic rp in
4794 let t : 'tv_ctype = Obj.magic t in
4795 let lp : (
4796 # 76 "parser_cocci_menhir.mly"
4797 (Data.clt)
4798 # 4799 "parser_cocci_menhir.ml"
4799 ) = Obj.magic lp in
4800 let _startpos = _startpos_lp_ in
4801 let _endpos = _endpos_e_ in
4802 let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
4803 # 1294 "parser_cocci_menhir.mly"
4804 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
4805 P.clt2mcode ")" rp, e)) )
4806 # 4807 "parser_cocci_menhir.ml"
4807 in
4808 _menhir_env.MenhirLib.EngineTypes.stack <- {
4809 MenhirLib.EngineTypes.state = _menhir_s;
4810 MenhirLib.EngineTypes.semv = Obj.repr _v;
4811 MenhirLib.EngineTypes.startp = _startpos;
4812 MenhirLib.EngineTypes.endp = _endpos;
4813 MenhirLib.EngineTypes.next = _menhir_stack;
4814 });
4815 (fun _menhir_env ->
4816 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4817 let {
4818 MenhirLib.EngineTypes.state = _menhir_s;
4819 MenhirLib.EngineTypes.semv = _1;
4820 MenhirLib.EngineTypes.startp = _startpos__1_;
4821 MenhirLib.EngineTypes.endp = _endpos__1_;
4822 MenhirLib.EngineTypes.next = _menhir_stack;
4823 } = _menhir_stack in
4824 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
4825 let _startpos = _startpos__1_ in
4826 let _endpos = _endpos__1_ in
4827 let _v : 'tv_cast_expr_expr_invalid_ =
4828 # 1292 "parser_cocci_menhir.mly"
4829 ( _1 )
4830 # 4831 "parser_cocci_menhir.ml"
4831 in
4832 _menhir_env.MenhirLib.EngineTypes.stack <- {
4833 MenhirLib.EngineTypes.state = _menhir_s;
4834 MenhirLib.EngineTypes.semv = Obj.repr _v;
4835 MenhirLib.EngineTypes.startp = _startpos;
4836 MenhirLib.EngineTypes.endp = _endpos;
4837 MenhirLib.EngineTypes.next = _menhir_stack;
4838 });
4839 (fun _menhir_env ->
4840 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4841 let {
4842 MenhirLib.EngineTypes.semv = e;
4843 MenhirLib.EngineTypes.startp = _startpos_e_;
4844 MenhirLib.EngineTypes.endp = _endpos_e_;
4845 MenhirLib.EngineTypes.next = {
4846 MenhirLib.EngineTypes.semv = rp;
4847 MenhirLib.EngineTypes.startp = _startpos_rp_;
4848 MenhirLib.EngineTypes.endp = _endpos_rp_;
4849 MenhirLib.EngineTypes.next = {
4850 MenhirLib.EngineTypes.semv = t;
4851 MenhirLib.EngineTypes.startp = _startpos_t_;
4852 MenhirLib.EngineTypes.endp = _endpos_t_;
4853 MenhirLib.EngineTypes.next = {
4854 MenhirLib.EngineTypes.state = _menhir_s;
4855 MenhirLib.EngineTypes.semv = lp;
4856 MenhirLib.EngineTypes.startp = _startpos_lp_;
4857 MenhirLib.EngineTypes.endp = _endpos_lp_;
4858 MenhirLib.EngineTypes.next = _menhir_stack;
4859 };
4860 };
4861 };
4862 } = _menhir_stack in
4863 let e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in
4864 let rp : (
4865 # 77 "parser_cocci_menhir.mly"
4866 (Data.clt)
4867 # 4868 "parser_cocci_menhir.ml"
4868 ) = Obj.magic rp in
4869 let t : 'tv_ctype = Obj.magic t in
4870 let lp : (
4871 # 76 "parser_cocci_menhir.mly"
4872 (Data.clt)
4873 # 4874 "parser_cocci_menhir.ml"
4874 ) = Obj.magic lp in
4875 let _startpos = _startpos_lp_ in
4876 let _endpos = _endpos_e_ in
4877 let _v : 'tv_cast_expr_expr_invalid_ =
4878 # 1294 "parser_cocci_menhir.mly"
4879 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
4880 P.clt2mcode ")" rp, e)) )
4881 # 4882 "parser_cocci_menhir.ml"
4882 in
4883 _menhir_env.MenhirLib.EngineTypes.stack <- {
4884 MenhirLib.EngineTypes.state = _menhir_s;
4885 MenhirLib.EngineTypes.semv = Obj.repr _v;
4886 MenhirLib.EngineTypes.startp = _startpos;
4887 MenhirLib.EngineTypes.endp = _endpos;
4888 MenhirLib.EngineTypes.next = _menhir_stack;
4889 });
4890 (fun _menhir_env ->
4891 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4892 let {
4893 MenhirLib.EngineTypes.semv = _2;
4894 MenhirLib.EngineTypes.startp = _startpos__2_;
4895 MenhirLib.EngineTypes.endp = _endpos__2_;
4896 MenhirLib.EngineTypes.next = {
4897 MenhirLib.EngineTypes.state = _menhir_s;
4898 MenhirLib.EngineTypes.startp = _startpos__1_;
4899 MenhirLib.EngineTypes.endp = _endpos__1_;
4900 MenhirLib.EngineTypes.next = _menhir_stack;
4901 };
4902 } = _menhir_stack in
4903 let _2 : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic _2 in
4904 let _startpos = _startpos__1_ in
4905 let _endpos = _endpos__2_ in
4906 let _v : 'tv_choose_iso =
4907 # 237 "parser_cocci_menhir.mly"
4908 ( List.map P.id2name _2 )
4909 # 4910 "parser_cocci_menhir.ml"
4910 in
4911 _menhir_env.MenhirLib.EngineTypes.stack <- {
4912 MenhirLib.EngineTypes.state = _menhir_s;
4913 MenhirLib.EngineTypes.semv = Obj.repr _v;
4914 MenhirLib.EngineTypes.startp = _startpos;
4915 MenhirLib.EngineTypes.endp = _endpos;
4916 MenhirLib.EngineTypes.next = _menhir_stack;
4917 });
4918 (fun _menhir_env ->
4919 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4920 let {
4921 MenhirLib.EngineTypes.semv = _2;
4922 MenhirLib.EngineTypes.startp = _startpos__2_;
4923 MenhirLib.EngineTypes.endp = _endpos__2_;
4924 MenhirLib.EngineTypes.next = {
4925 MenhirLib.EngineTypes.state = _menhir_s;
4926 MenhirLib.EngineTypes.semv = _1;
4927 MenhirLib.EngineTypes.startp = _startpos__1_;
4928 MenhirLib.EngineTypes.endp = _endpos__1_;
4929 MenhirLib.EngineTypes.next = _menhir_stack;
4930 };
4931 } = _menhir_stack in
4932 let _2 : (
4933 # 73 "parser_cocci_menhir.mly"
4934 (Data.clt)
4935 # 4936 "parser_cocci_menhir.ml"
4936 ) = Obj.magic _2 in
4937 let _1 : (
4938 # 107 "parser_cocci_menhir.mly"
4939 (Data.clt)
4940 # 4941 "parser_cocci_menhir.ml"
4941 ) = Obj.magic _1 in
4942 let _startpos = _startpos__1_ in
4943 let _endpos = _endpos__2_ in
4944 let _v : 'tv_comma_decls_TEllipsis_decl_ =
4945 # 1567 "parser_cocci_menhir.mly"
4946 ( function dot_builder ->
4947 [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
4948 dot_builder _2] )
4949 # 4950 "parser_cocci_menhir.ml"
4950 in
4951 _menhir_env.MenhirLib.EngineTypes.stack <- {
4952 MenhirLib.EngineTypes.state = _menhir_s;
4953 MenhirLib.EngineTypes.semv = Obj.repr _v;
4954 MenhirLib.EngineTypes.startp = _startpos;
4955 MenhirLib.EngineTypes.endp = _endpos;
4956 MenhirLib.EngineTypes.next = _menhir_stack;
4957 });
4958 (fun _menhir_env ->
4959 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4960 let {
4961 MenhirLib.EngineTypes.semv = _2;
4962 MenhirLib.EngineTypes.startp = _startpos__2_;
4963 MenhirLib.EngineTypes.endp = _endpos__2_;
4964 MenhirLib.EngineTypes.next = {
4965 MenhirLib.EngineTypes.state = _menhir_s;
4966 MenhirLib.EngineTypes.semv = _1;
4967 MenhirLib.EngineTypes.startp = _startpos__1_;
4968 MenhirLib.EngineTypes.endp = _endpos__1_;
4969 MenhirLib.EngineTypes.next = _menhir_stack;
4970 };
4971 } = _menhir_stack in
4972 let _2 : 'tv_one_dec_decl_ = Obj.magic _2 in
4973 let _1 : (
4974 # 107 "parser_cocci_menhir.mly"
4975 (Data.clt)
4976 # 4977 "parser_cocci_menhir.ml"
4977 ) = Obj.magic _1 in
4978 let _startpos = _startpos__1_ in
4979 let _endpos = _endpos__2_ in
4980 let _v : 'tv_comma_decls_TEllipsis_decl_ =
4981 # 1571 "parser_cocci_menhir.mly"
4982 ( function dot_builder ->
4983 [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
4984 # 4985 "parser_cocci_menhir.ml"
4985 in
4986 _menhir_env.MenhirLib.EngineTypes.stack <- {
4987 MenhirLib.EngineTypes.state = _menhir_s;
4988 MenhirLib.EngineTypes.semv = Obj.repr _v;
4989 MenhirLib.EngineTypes.startp = _startpos;
4990 MenhirLib.EngineTypes.endp = _endpos;
4991 MenhirLib.EngineTypes.next = _menhir_stack;
4992 });
4993 (fun _menhir_env ->
4994 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4995 let {
4996 MenhirLib.EngineTypes.semv = _2;
4997 MenhirLib.EngineTypes.startp = _startpos__2_;
4998 MenhirLib.EngineTypes.endp = _endpos__2_;
4999 MenhirLib.EngineTypes.next = {
5000 MenhirLib.EngineTypes.state = _menhir_s;
5001 MenhirLib.EngineTypes.semv = _1;
5002 MenhirLib.EngineTypes.startp = _startpos__1_;
5003 MenhirLib.EngineTypes.endp = _endpos__1_;
5004 MenhirLib.EngineTypes.next = _menhir_stack;
5005 };
5006 } = _menhir_stack in
5007 let _2 : (
5008 # 73 "parser_cocci_menhir.mly"
5009 (Data.clt)
5010 # 5011 "parser_cocci_menhir.ml"
5011 ) = Obj.magic _2 in
5012 let _1 : (
5013 # 107 "parser_cocci_menhir.mly"
5014 (Data.clt)
5015 # 5016 "parser_cocci_menhir.ml"
5016 ) = Obj.magic _1 in
5017 let _startpos = _startpos__1_ in
5018 let _endpos = _endpos__2_ in
5019 let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ =
5020 # 1567 "parser_cocci_menhir.mly"
5021 ( function dot_builder ->
5022 [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
5023 dot_builder _2] )
5024 # 5025 "parser_cocci_menhir.ml"
5025 in
5026 _menhir_env.MenhirLib.EngineTypes.stack <- {
5027 MenhirLib.EngineTypes.state = _menhir_s;
5028 MenhirLib.EngineTypes.semv = Obj.repr _v;
5029 MenhirLib.EngineTypes.startp = _startpos;
5030 MenhirLib.EngineTypes.endp = _endpos;
5031 MenhirLib.EngineTypes.next = _menhir_stack;
5032 });
5033 (fun _menhir_env ->
5034 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5035 let {
5036 MenhirLib.EngineTypes.semv = _2;
5037 MenhirLib.EngineTypes.startp = _startpos__2_;
5038 MenhirLib.EngineTypes.endp = _endpos__2_;
5039 MenhirLib.EngineTypes.next = {
5040 MenhirLib.EngineTypes.state = _menhir_s;
5041 MenhirLib.EngineTypes.semv = _1;
5042 MenhirLib.EngineTypes.startp = _startpos__1_;
5043 MenhirLib.EngineTypes.endp = _endpos__1_;
5044 MenhirLib.EngineTypes.next = _menhir_stack;
5045 };
5046 } = _menhir_stack in
5047 let _2 : 'tv_one_dec_name_opt_decl_ = Obj.magic _2 in
5048 let _1 : (
5049 # 107 "parser_cocci_menhir.mly"
5050 (Data.clt)
5051 # 5052 "parser_cocci_menhir.ml"
5052 ) = Obj.magic _1 in
5053 let _startpos = _startpos__1_ in
5054 let _endpos = _endpos__2_ in
5055 let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ =
5056 # 1571 "parser_cocci_menhir.mly"
5057 ( function dot_builder ->
5058 [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
5059 # 5060 "parser_cocci_menhir.ml"
5060 in
5061 _menhir_env.MenhirLib.EngineTypes.stack <- {
5062 MenhirLib.EngineTypes.state = _menhir_s;
5063 MenhirLib.EngineTypes.semv = Obj.repr _v;
5064 MenhirLib.EngineTypes.startp = _startpos;
5065 MenhirLib.EngineTypes.endp = _endpos;
5066 MenhirLib.EngineTypes.next = _menhir_stack;
5067 });
5068 (fun _menhir_env ->
5069 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5070 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
5071 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
5072 let _endpos = _startpos in
5073 let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
5074 # 1123 "parser_cocci_menhir.mly"
5075 ( [] )
5076 # 5077 "parser_cocci_menhir.ml"
5077 in
5078 _menhir_env.MenhirLib.EngineTypes.stack <- {
5079 MenhirLib.EngineTypes.state = _menhir_s;
5080 MenhirLib.EngineTypes.semv = Obj.repr _v;
5081 MenhirLib.EngineTypes.startp = _startpos;
5082 MenhirLib.EngineTypes.endp = _endpos;
5083 MenhirLib.EngineTypes.next = _menhir_stack;
5084 });
5085 (fun _menhir_env ->
5086 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5087 let {
5088 MenhirLib.EngineTypes.semv = r;
5089 MenhirLib.EngineTypes.startp = _startpos_r_;
5090 MenhirLib.EngineTypes.endp = _endpos_r_;
5091 MenhirLib.EngineTypes.next = {
5092 MenhirLib.EngineTypes.state = _menhir_s;
5093 MenhirLib.EngineTypes.semv = d;
5094 MenhirLib.EngineTypes.startp = _startpos_d_;
5095 MenhirLib.EngineTypes.endp = _endpos_d_;
5096 MenhirLib.EngineTypes.next = _menhir_stack;
5097 };
5098 } = _menhir_stack in
5099 let r : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ = Obj.magic r in
5100 let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
5101 let _startpos = _startpos_d_ in
5102 let _endpos = _endpos_r_ in
5103 let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
5104 # 1125 "parser_cocci_menhir.mly"
5105 ( (function dot_builder -> [dot_builder d])::r )
5106 # 5107 "parser_cocci_menhir.ml"
5107 in
5108 _menhir_env.MenhirLib.EngineTypes.stack <- {
5109 MenhirLib.EngineTypes.state = _menhir_s;
5110 MenhirLib.EngineTypes.semv = Obj.repr _v;
5111 MenhirLib.EngineTypes.startp = _startpos;
5112 MenhirLib.EngineTypes.endp = _endpos;
5113 MenhirLib.EngineTypes.next = _menhir_stack;
5114 });
5115 (fun _menhir_env ->
5116 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5117 let {
5118 MenhirLib.EngineTypes.semv = r;
5119 MenhirLib.EngineTypes.startp = _startpos_r_;
5120 MenhirLib.EngineTypes.endp = _endpos_r_;
5121 MenhirLib.EngineTypes.next = {
5122 MenhirLib.EngineTypes.semv = c;
5123 MenhirLib.EngineTypes.startp = _startpos_c_;
5124 MenhirLib.EngineTypes.endp = _endpos_c_;
5125 MenhirLib.EngineTypes.next = {
5126 MenhirLib.EngineTypes.state = _menhir_s;
5127 MenhirLib.EngineTypes.semv = i;
5128 MenhirLib.EngineTypes.startp = _startpos_i_;
5129 MenhirLib.EngineTypes.endp = _endpos_i_;
5130 MenhirLib.EngineTypes.next = _menhir_stack;
5131 };
5132 };
5133 } = _menhir_stack in
5134 let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
5135 let c : (
5136 # 107 "parser_cocci_menhir.mly"
5137 (Data.clt)
5138 # 5139 "parser_cocci_menhir.ml"
5139 ) = Obj.magic c in
5140 let i : 'tv_initialize2 = Obj.magic i in
5141 let _startpos = _startpos_i_ in
5142 let _endpos = _endpos_r_ in
5143 let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
5144 # 1127 "parser_cocci_menhir.mly"
5145 ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
5146 r )
5147 # 5148 "parser_cocci_menhir.ml"
5148 in
5149 _menhir_env.MenhirLib.EngineTypes.stack <- {
5150 MenhirLib.EngineTypes.state = _menhir_s;
5151 MenhirLib.EngineTypes.semv = Obj.repr _v;
5152 MenhirLib.EngineTypes.startp = _startpos;
5153 MenhirLib.EngineTypes.endp = _endpos;
5154 MenhirLib.EngineTypes.next = _menhir_stack;
5155 });
5156 (fun _menhir_env ->
5157 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5158 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
5159 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
5160 let _endpos = _startpos in
5161 let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ =
5162 # 1131 "parser_cocci_menhir.mly"
5163 ( [] )
5164 # 5165 "parser_cocci_menhir.ml"
5165 in
5166 _menhir_env.MenhirLib.EngineTypes.stack <- {
5167 MenhirLib.EngineTypes.state = _menhir_s;
5168 MenhirLib.EngineTypes.semv = Obj.repr _v;
5169 MenhirLib.EngineTypes.startp = _startpos;
5170 MenhirLib.EngineTypes.endp = _endpos;
5171 MenhirLib.EngineTypes.next = _menhir_stack;
5172 });
5173 (fun _menhir_env ->
5174 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5175 let {
5176 MenhirLib.EngineTypes.semv = r;
5177 MenhirLib.EngineTypes.startp = _startpos_r_;
5178 MenhirLib.EngineTypes.endp = _endpos_r_;
5179 MenhirLib.EngineTypes.next = {
5180 MenhirLib.EngineTypes.semv = c;
5181 MenhirLib.EngineTypes.startp = _startpos_c_;
5182 MenhirLib.EngineTypes.endp = _endpos_c_;
5183 MenhirLib.EngineTypes.next = {
5184 MenhirLib.EngineTypes.state = _menhir_s;
5185 MenhirLib.EngineTypes.semv = i;
5186 MenhirLib.EngineTypes.startp = _startpos_i_;
5187 MenhirLib.EngineTypes.endp = _endpos_i_;
5188 MenhirLib.EngineTypes.next = _menhir_stack;
5189 };
5190 };
5191 } = _menhir_stack in
5192 let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
5193 let c : (
5194 # 107 "parser_cocci_menhir.mly"
5195 (Data.clt)
5196 # 5197 "parser_cocci_menhir.ml"
5197 ) = Obj.magic c in
5198 let i : 'tv_initialize2 = Obj.magic i in
5199 let _startpos = _startpos_i_ in
5200 let _endpos = _endpos_r_ in
5201 let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ =
5202 # 1133 "parser_cocci_menhir.mly"
5203 ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
5204 r )
5205 # 5206 "parser_cocci_menhir.ml"
5206 in
5207 _menhir_env.MenhirLib.EngineTypes.stack <- {
5208 MenhirLib.EngineTypes.state = _menhir_s;
5209 MenhirLib.EngineTypes.semv = Obj.repr _v;
5210 MenhirLib.EngineTypes.startp = _startpos;
5211 MenhirLib.EngineTypes.endp = _endpos;
5212 MenhirLib.EngineTypes.next = _menhir_stack;
5213 });
5214 (fun _menhir_env ->
5215 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5216 let {
5217 MenhirLib.EngineTypes.state = _menhir_s;
5218 MenhirLib.EngineTypes.semv = _1;
5219 MenhirLib.EngineTypes.startp = _startpos__1_;
5220 MenhirLib.EngineTypes.endp = _endpos__1_;
5221 MenhirLib.EngineTypes.next = _menhir_stack;
5222 } = _menhir_stack in
5223 let _1 : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic _1 in
5224 let _startpos = _startpos__1_ in
5225 let _endpos = _endpos__1_ in
5226 let _v : 'tv_comma_list_any_strict_ =
5227 # 1798 "parser_cocci_menhir.mly"
5228 ( _1 )
5229 # 5230 "parser_cocci_menhir.ml"
5230 in
5231 _menhir_env.MenhirLib.EngineTypes.stack <- {
5232 MenhirLib.EngineTypes.state = _menhir_s;
5233 MenhirLib.EngineTypes.semv = Obj.repr _v;
5234 MenhirLib.EngineTypes.startp = _startpos;
5235 MenhirLib.EngineTypes.endp = _endpos;
5236 MenhirLib.EngineTypes.next = _menhir_stack;
5237 });
5238 (fun _menhir_env ->
5239 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5240 let {
5241 MenhirLib.EngineTypes.state = _menhir_s;
5242 MenhirLib.EngineTypes.semv = _1;
5243 MenhirLib.EngineTypes.startp = _startpos__1_;
5244 MenhirLib.EngineTypes.endp = _endpos__1_;
5245 MenhirLib.EngineTypes.next = _menhir_stack;
5246 } = _menhir_stack in
5247 let _1 : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic _1 in
5248 let _startpos = _startpos__1_ in
5249 let _endpos = _endpos__1_ in
5250 let _v : 'tv_comma_list_ctype_ =
5251 # 1798 "parser_cocci_menhir.mly"
5252 ( _1 )
5253 # 5254 "parser_cocci_menhir.ml"
5254 in
5255 _menhir_env.MenhirLib.EngineTypes.stack <- {
5256 MenhirLib.EngineTypes.state = _menhir_s;
5257 MenhirLib.EngineTypes.semv = Obj.repr _v;
5258 MenhirLib.EngineTypes.startp = _startpos;
5259 MenhirLib.EngineTypes.endp = _endpos;
5260 MenhirLib.EngineTypes.next = _menhir_stack;
5261 });
5262 (fun _menhir_env ->
5263 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5264 let {
5265 MenhirLib.EngineTypes.state = _menhir_s;
5266 MenhirLib.EngineTypes.semv = _1;
5267 MenhirLib.EngineTypes.startp = _startpos__1_;
5268 MenhirLib.EngineTypes.endp = _endpos__1_;
5269 MenhirLib.EngineTypes.next = _menhir_stack;
5270 } = _menhir_stack in
5271 let _1 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic _1 in
5272 let _startpos = _startpos__1_ in
5273 let _endpos = _endpos__1_ in
5274 let _v : 'tv_comma_list_d_ident_ =
5275 # 1798 "parser_cocci_menhir.mly"
5276 ( _1 )
5277 # 5278 "parser_cocci_menhir.ml"
5278 in
5279 _menhir_env.MenhirLib.EngineTypes.stack <- {
5280 MenhirLib.EngineTypes.state = _menhir_s;
5281 MenhirLib.EngineTypes.semv = Obj.repr _v;
5282 MenhirLib.EngineTypes.startp = _startpos;
5283 MenhirLib.EngineTypes.endp = _endpos;
5284 MenhirLib.EngineTypes.next = _menhir_stack;
5285 });
5286 (fun _menhir_env ->
5287 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5288 let {
5289 MenhirLib.EngineTypes.state = _menhir_s;
5290 MenhirLib.EngineTypes.semv = _1;
5291 MenhirLib.EngineTypes.startp = _startpos__1_;
5292 MenhirLib.EngineTypes.endp = _endpos__1_;
5293 MenhirLib.EngineTypes.next = _menhir_stack;
5294 } = _menhir_stack in
5295 let _1 : 'tv_separated_nonempty_list_TComma_dexpr_ = Obj.magic _1 in
5296 let _startpos = _startpos__1_ in
5297 let _endpos = _endpos__1_ in
5298 let _v : 'tv_comma_list_dexpr_ =
5299 # 1798 "parser_cocci_menhir.mly"
5300 ( _1 )
5301 # 5302 "parser_cocci_menhir.ml"
5302 in
5303 _menhir_env.MenhirLib.EngineTypes.stack <- {
5304 MenhirLib.EngineTypes.state = _menhir_s;
5305 MenhirLib.EngineTypes.semv = Obj.repr _v;
5306 MenhirLib.EngineTypes.startp = _startpos;
5307 MenhirLib.EngineTypes.endp = _endpos;
5308 MenhirLib.EngineTypes.next = _menhir_stack;
5309 });
5310 (fun _menhir_env ->
5311 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5312 let {
5313 MenhirLib.EngineTypes.state = _menhir_s;
5314 MenhirLib.EngineTypes.semv = _1;
5315 MenhirLib.EngineTypes.startp = _startpos__1_;
5316 MenhirLib.EngineTypes.endp = _endpos__1_;
5317 MenhirLib.EngineTypes.next = _menhir_stack;
5318 } = _menhir_stack in
5319 let _1 : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic _1 in
5320 let _startpos = _startpos__1_ in
5321 let _endpos = _endpos__1_ in
5322 let _v : 'tv_comma_list_ident_or_const_ =
5323 # 1798 "parser_cocci_menhir.mly"
5324 ( _1 )
5325 # 5326 "parser_cocci_menhir.ml"
5326 in
5327 _menhir_env.MenhirLib.EngineTypes.stack <- {
5328 MenhirLib.EngineTypes.state = _menhir_s;
5329 MenhirLib.EngineTypes.semv = Obj.repr _v;
5330 MenhirLib.EngineTypes.startp = _startpos;
5331 MenhirLib.EngineTypes.endp = _endpos;
5332 MenhirLib.EngineTypes.next = _menhir_stack;
5333 });
5334 (fun _menhir_env ->
5335 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5336 let {
5337 MenhirLib.EngineTypes.state = _menhir_s;
5338 MenhirLib.EngineTypes.semv = _1;
5339 MenhirLib.EngineTypes.startp = _startpos__1_;
5340 MenhirLib.EngineTypes.endp = _endpos__1_;
5341 MenhirLib.EngineTypes.next = _menhir_stack;
5342 } = _menhir_stack in
5343 let _1 : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic _1 in
5344 let _startpos = _startpos__1_ in
5345 let _endpos = _endpos__1_ in
5346 let _v : 'tv_comma_list_meta_ident_ =
5347 # 1798 "parser_cocci_menhir.mly"
5348 ( _1 )
5349 # 5350 "parser_cocci_menhir.ml"
5350 in
5351 _menhir_env.MenhirLib.EngineTypes.stack <- {
5352 MenhirLib.EngineTypes.state = _menhir_s;
5353 MenhirLib.EngineTypes.semv = Obj.repr _v;
5354 MenhirLib.EngineTypes.startp = _startpos;
5355 MenhirLib.EngineTypes.endp = _endpos;
5356 MenhirLib.EngineTypes.next = _menhir_stack;
5357 });
5358 (fun _menhir_env ->
5359 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5360 let {
5361 MenhirLib.EngineTypes.state = _menhir_s;
5362 MenhirLib.EngineTypes.semv = _1;
5363 MenhirLib.EngineTypes.startp = _startpos__1_;
5364 MenhirLib.EngineTypes.endp = _endpos__1_;
5365 MenhirLib.EngineTypes.next = _menhir_stack;
5366 } = _menhir_stack in
5367 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _1 in
5368 let _startpos = _startpos__1_ in
5369 let _endpos = _endpos__1_ in
5370 let _v : 'tv_comma_list_pure_ident_ =
5371 # 1798 "parser_cocci_menhir.mly"
5372 ( _1 )
5373 # 5374 "parser_cocci_menhir.ml"
5374 in
5375 _menhir_env.MenhirLib.EngineTypes.stack <- {
5376 MenhirLib.EngineTypes.state = _menhir_s;
5377 MenhirLib.EngineTypes.semv = Obj.repr _v;
5378 MenhirLib.EngineTypes.startp = _startpos;
5379 MenhirLib.EngineTypes.endp = _endpos;
5380 MenhirLib.EngineTypes.next = _menhir_stack;
5381 });
5382 (fun _menhir_env ->
5383 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5384 let {
5385 MenhirLib.EngineTypes.state = _menhir_s;
5386 MenhirLib.EngineTypes.semv = _1;
5387 MenhirLib.EngineTypes.startp = _startpos__1_;
5388 MenhirLib.EngineTypes.endp = _endpos__1_;
5389 MenhirLib.EngineTypes.next = _menhir_stack;
5390 } = _menhir_stack in
5391 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic _1 in
5392 let _startpos = _startpos__1_ in
5393 let _endpos = _endpos__1_ in
5394 let _v : 'tv_comma_list_pure_ident_or_meta_ident_ =
5395 # 1798 "parser_cocci_menhir.mly"
5396 ( _1 )
5397 # 5398 "parser_cocci_menhir.ml"
5398 in
5399 _menhir_env.MenhirLib.EngineTypes.stack <- {
5400 MenhirLib.EngineTypes.state = _menhir_s;
5401 MenhirLib.EngineTypes.semv = Obj.repr _v;
5402 MenhirLib.EngineTypes.startp = _startpos;
5403 MenhirLib.EngineTypes.endp = _endpos;
5404 MenhirLib.EngineTypes.next = _menhir_stack;
5405 });
5406 (fun _menhir_env ->
5407 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5408 let {
5409 MenhirLib.EngineTypes.state = _menhir_s;
5410 MenhirLib.EngineTypes.semv = _1;
5411 MenhirLib.EngineTypes.startp = _startpos__1_;
5412 MenhirLib.EngineTypes.endp = _endpos__1_;
5413 MenhirLib.EngineTypes.next = _menhir_stack;
5414 } = _menhir_stack in
5415 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_ceq__ = Obj.magic _1 in
5416 let _startpos = _startpos__1_ in
5417 let _endpos = _endpos__1_ in
5418 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_ceq__ =
5419 # 1798 "parser_cocci_menhir.mly"
5420 ( _1 )
5421 # 5422 "parser_cocci_menhir.ml"
5422 in
5423 _menhir_env.MenhirLib.EngineTypes.stack <- {
5424 MenhirLib.EngineTypes.state = _menhir_s;
5425 MenhirLib.EngineTypes.semv = Obj.repr _v;
5426 MenhirLib.EngineTypes.startp = _startpos;
5427 MenhirLib.EngineTypes.endp = _endpos;
5428 MenhirLib.EngineTypes.next = _menhir_stack;
5429 });
5430 (fun _menhir_env ->
5431 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5432 let {
5433 MenhirLib.EngineTypes.state = _menhir_s;
5434 MenhirLib.EngineTypes.semv = _1;
5435 MenhirLib.EngineTypes.startp = _startpos__1_;
5436 MenhirLib.EngineTypes.endp = _endpos__1_;
5437 MenhirLib.EngineTypes.next = _menhir_stack;
5438 } = _menhir_stack in
5439 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_eq__ = Obj.magic _1 in
5440 let _startpos = _startpos__1_ in
5441 let _endpos = _endpos__1_ in
5442 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eq__ =
5443 # 1798 "parser_cocci_menhir.mly"
5444 ( _1 )
5445 # 5446 "parser_cocci_menhir.ml"
5446 in
5447 _menhir_env.MenhirLib.EngineTypes.stack <- {
5448 MenhirLib.EngineTypes.state = _menhir_s;
5449 MenhirLib.EngineTypes.semv = Obj.repr _v;
5450 MenhirLib.EngineTypes.startp = _startpos;
5451 MenhirLib.EngineTypes.endp = _endpos;
5452 MenhirLib.EngineTypes.next = _menhir_stack;
5453 });
5454 (fun _menhir_env ->
5455 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5456 let {
5457 MenhirLib.EngineTypes.state = _menhir_s;
5458 MenhirLib.EngineTypes.semv = _1;
5459 MenhirLib.EngineTypes.startp = _startpos__1_;
5460 MenhirLib.EngineTypes.endp = _endpos__1_;
5461 MenhirLib.EngineTypes.next = _menhir_stack;
5462 } = _menhir_stack in
5463 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic _1 in
5464 let _startpos = _startpos__1_ in
5465 let _endpos = _endpos__1_ in
5466 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ =
5467 # 1798 "parser_cocci_menhir.mly"
5468 ( _1 )
5469 # 5470 "parser_cocci_menhir.ml"
5470 in
5471 _menhir_env.MenhirLib.EngineTypes.stack <- {
5472 MenhirLib.EngineTypes.state = _menhir_s;
5473 MenhirLib.EngineTypes.semv = Obj.repr _v;
5474 MenhirLib.EngineTypes.startp = _startpos;
5475 MenhirLib.EngineTypes.endp = _endpos;
5476 MenhirLib.EngineTypes.next = _menhir_stack;
5477 });
5478 (fun _menhir_env ->
5479 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5480 let {
5481 MenhirLib.EngineTypes.state = _menhir_s;
5482 MenhirLib.EngineTypes.semv = _1;
5483 MenhirLib.EngineTypes.startp = _startpos__1_;
5484 MenhirLib.EngineTypes.endp = _endpos__1_;
5485 MenhirLib.EngineTypes.next = _menhir_stack;
5486 } = _menhir_stack in
5487 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_pos__ = Obj.magic _1 in
5488 let _startpos = _startpos__1_ in
5489 let _endpos = _endpos__1_ in
5490 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_pos__ =
5491 # 1798 "parser_cocci_menhir.mly"
5492 ( _1 )
5493 # 5494 "parser_cocci_menhir.ml"
5494 in
5495 _menhir_env.MenhirLib.EngineTypes.stack <- {
5496 MenhirLib.EngineTypes.state = _menhir_s;
5497 MenhirLib.EngineTypes.semv = Obj.repr _v;
5498 MenhirLib.EngineTypes.startp = _startpos;
5499 MenhirLib.EngineTypes.endp = _endpos;
5500 MenhirLib.EngineTypes.next = _menhir_stack;
5501 });
5502 (fun _menhir_env ->
5503 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5504 let {
5505 MenhirLib.EngineTypes.state = _menhir_s;
5506 MenhirLib.EngineTypes.semv = _1;
5507 MenhirLib.EngineTypes.startp = _startpos__1_;
5508 MenhirLib.EngineTypes.endp = _endpos__1_;
5509 MenhirLib.EngineTypes.next = _menhir_stack;
5510 } = _menhir_stack in
5511 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic _1 in
5512 let _startpos = _startpos__1_ in
5513 let _endpos = _endpos__1_ in
5514 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ =
5515 # 1798 "parser_cocci_menhir.mly"
5516 ( _1 )
5517 # 5518 "parser_cocci_menhir.ml"
5518 in
5519 _menhir_env.MenhirLib.EngineTypes.stack <- {
5520 MenhirLib.EngineTypes.state = _menhir_s;
5521 MenhirLib.EngineTypes.semv = Obj.repr _v;
5522 MenhirLib.EngineTypes.startp = _startpos;
5523 MenhirLib.EngineTypes.endp = _endpos;
5524 MenhirLib.EngineTypes.next = _menhir_stack;
5525 });
5526 (fun _menhir_env ->
5527 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5528 let {
5529 MenhirLib.EngineTypes.state = _menhir_s;
5530 MenhirLib.EngineTypes.semv = _1;
5531 MenhirLib.EngineTypes.startp = _startpos__1_;
5532 MenhirLib.EngineTypes.endp = _endpos__1_;
5533 MenhirLib.EngineTypes.next = _menhir_stack;
5534 } = _menhir_stack in
5535 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
5536 let _startpos = _startpos__1_ in
5537 let _endpos = _endpos__1_ in
5538 let _v : 'tv_cond_expr_eexpr_dot_expressions_ =
5539 # 1257 "parser_cocci_menhir.mly"
5540 ( _1 )
5541 # 5542 "parser_cocci_menhir.ml"
5542 in
5543 _menhir_env.MenhirLib.EngineTypes.stack <- {
5544 MenhirLib.EngineTypes.state = _menhir_s;
5545 MenhirLib.EngineTypes.semv = Obj.repr _v;
5546 MenhirLib.EngineTypes.startp = _startpos;
5547 MenhirLib.EngineTypes.endp = _endpos;
5548 MenhirLib.EngineTypes.next = _menhir_stack;
5549 });
5550 (fun _menhir_env ->
5551 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5552 let {
5553 MenhirLib.EngineTypes.semv = r;
5554 MenhirLib.EngineTypes.startp = _startpos_r_;
5555 MenhirLib.EngineTypes.endp = _endpos_r_;
5556 MenhirLib.EngineTypes.next = {
5557 MenhirLib.EngineTypes.semv = dd;
5558 MenhirLib.EngineTypes.startp = _startpos_dd_;
5559 MenhirLib.EngineTypes.endp = _endpos_dd_;
5560 MenhirLib.EngineTypes.next = {
5561 MenhirLib.EngineTypes.semv = t;
5562 MenhirLib.EngineTypes.startp = _startpos_t_;
5563 MenhirLib.EngineTypes.endp = _endpos_t_;
5564 MenhirLib.EngineTypes.next = {
5565 MenhirLib.EngineTypes.semv = w;
5566 MenhirLib.EngineTypes.startp = _startpos_w_;
5567 MenhirLib.EngineTypes.endp = _endpos_w_;
5568 MenhirLib.EngineTypes.next = {
5569 MenhirLib.EngineTypes.state = _menhir_s;
5570 MenhirLib.EngineTypes.semv = l;
5571 MenhirLib.EngineTypes.startp = _startpos_l_;
5572 MenhirLib.EngineTypes.endp = _endpos_l_;
5573 MenhirLib.EngineTypes.next = _menhir_stack;
5574 };
5575 };
5576 };
5577 };
5578 } = _menhir_stack in
5579 let r : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic r in
5580 let dd : (
5581 # 76 "parser_cocci_menhir.mly"
5582 (Data.clt)
5583 # 5584 "parser_cocci_menhir.ml"
5584 ) = Obj.magic dd in
5585 let t : 'tv_option_eexpr_ = Obj.magic t in
5586 let w : (
5587 # 76 "parser_cocci_menhir.mly"
5588 (Data.clt)
5589 # 5590 "parser_cocci_menhir.ml"
5590 ) = Obj.magic w in
5591 let l : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic l in
5592 let _startpos = _startpos_l_ in
5593 let _endpos = _endpos_r_ in
5594 let _v : 'tv_cond_expr_eexpr_dot_expressions_ =
5595 # 1259 "parser_cocci_menhir.mly"
5596 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
5597 P.clt2mcode ":" dd, r)) )
5598 # 5599 "parser_cocci_menhir.ml"
5599 in
5600 _menhir_env.MenhirLib.EngineTypes.stack <- {
5601 MenhirLib.EngineTypes.state = _menhir_s;
5602 MenhirLib.EngineTypes.semv = Obj.repr _v;
5603 MenhirLib.EngineTypes.startp = _startpos;
5604 MenhirLib.EngineTypes.endp = _endpos;
5605 MenhirLib.EngineTypes.next = _menhir_stack;
5606 });
5607 (fun _menhir_env ->
5608 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5609 let {
5610 MenhirLib.EngineTypes.state = _menhir_s;
5611 MenhirLib.EngineTypes.semv = _1;
5612 MenhirLib.EngineTypes.startp = _startpos__1_;
5613 MenhirLib.EngineTypes.endp = _endpos__1_;
5614 MenhirLib.EngineTypes.next = _menhir_stack;
5615 } = _menhir_stack in
5616 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
5617 let _startpos = _startpos__1_ in
5618 let _endpos = _endpos__1_ in
5619 let _v : 'tv_cond_expr_eexpr_nest_expressions_ =
5620 # 1257 "parser_cocci_menhir.mly"
5621 ( _1 )
5622 # 5623 "parser_cocci_menhir.ml"
5623 in
5624 _menhir_env.MenhirLib.EngineTypes.stack <- {
5625 MenhirLib.EngineTypes.state = _menhir_s;
5626 MenhirLib.EngineTypes.semv = Obj.repr _v;
5627 MenhirLib.EngineTypes.startp = _startpos;
5628 MenhirLib.EngineTypes.endp = _endpos;
5629 MenhirLib.EngineTypes.next = _menhir_stack;
5630 });
5631 (fun _menhir_env ->
5632 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5633 let {
5634 MenhirLib.EngineTypes.semv = r;
5635 MenhirLib.EngineTypes.startp = _startpos_r_;
5636 MenhirLib.EngineTypes.endp = _endpos_r_;
5637 MenhirLib.EngineTypes.next = {
5638 MenhirLib.EngineTypes.semv = dd;
5639 MenhirLib.EngineTypes.startp = _startpos_dd_;
5640 MenhirLib.EngineTypes.endp = _endpos_dd_;
5641 MenhirLib.EngineTypes.next = {
5642 MenhirLib.EngineTypes.semv = t;
5643 MenhirLib.EngineTypes.startp = _startpos_t_;
5644 MenhirLib.EngineTypes.endp = _endpos_t_;
5645 MenhirLib.EngineTypes.next = {
5646 MenhirLib.EngineTypes.semv = w;
5647 MenhirLib.EngineTypes.startp = _startpos_w_;
5648 MenhirLib.EngineTypes.endp = _endpos_w_;
5649 MenhirLib.EngineTypes.next = {
5650 MenhirLib.EngineTypes.state = _menhir_s;
5651 MenhirLib.EngineTypes.semv = l;
5652 MenhirLib.EngineTypes.startp = _startpos_l_;
5653 MenhirLib.EngineTypes.endp = _endpos_l_;
5654 MenhirLib.EngineTypes.next = _menhir_stack;
5655 };
5656 };
5657 };
5658 };
5659 } = _menhir_stack in
5660 let r : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic r in
5661 let dd : (
5662 # 76 "parser_cocci_menhir.mly"
5663 (Data.clt)
5664 # 5665 "parser_cocci_menhir.ml"
5665 ) = Obj.magic dd in
5666 let t : 'tv_option_eexpr_ = Obj.magic t in
5667 let w : (
5668 # 76 "parser_cocci_menhir.mly"
5669 (Data.clt)
5670 # 5671 "parser_cocci_menhir.ml"
5671 ) = Obj.magic w in
5672 let l : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic l in
5673 let _startpos = _startpos_l_ in
5674 let _endpos = _endpos_r_ in
5675 let _v : 'tv_cond_expr_eexpr_nest_expressions_ =
5676 # 1259 "parser_cocci_menhir.mly"
5677 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
5678 P.clt2mcode ":" dd, r)) )
5679 # 5680 "parser_cocci_menhir.ml"
5680 in
5681 _menhir_env.MenhirLib.EngineTypes.stack <- {
5682 MenhirLib.EngineTypes.state = _menhir_s;
5683 MenhirLib.EngineTypes.semv = Obj.repr _v;
5684 MenhirLib.EngineTypes.startp = _startpos;
5685 MenhirLib.EngineTypes.endp = _endpos;
5686 MenhirLib.EngineTypes.next = _menhir_stack;
5687 });
5688 (fun _menhir_env ->
5689 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5690 let {
5691 MenhirLib.EngineTypes.state = _menhir_s;
5692 MenhirLib.EngineTypes.semv = _1;
5693 MenhirLib.EngineTypes.startp = _startpos__1_;
5694 MenhirLib.EngineTypes.endp = _endpos__1_;
5695 MenhirLib.EngineTypes.next = _menhir_stack;
5696 } = _menhir_stack in
5697 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
5698 let _startpos = _startpos__1_ in
5699 let _endpos = _endpos__1_ in
5700 let _v : 'tv_cond_expr_expr_invalid_ =
5701 # 1257 "parser_cocci_menhir.mly"
5702 ( _1 )
5703 # 5704 "parser_cocci_menhir.ml"
5704 in
5705 _menhir_env.MenhirLib.EngineTypes.stack <- {
5706 MenhirLib.EngineTypes.state = _menhir_s;
5707 MenhirLib.EngineTypes.semv = Obj.repr _v;
5708 MenhirLib.EngineTypes.startp = _startpos;
5709 MenhirLib.EngineTypes.endp = _endpos;
5710 MenhirLib.EngineTypes.next = _menhir_stack;
5711 });
5712 (fun _menhir_env ->
5713 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5714 let {
5715 MenhirLib.EngineTypes.semv = r;
5716 MenhirLib.EngineTypes.startp = _startpos_r_;
5717 MenhirLib.EngineTypes.endp = _endpos_r_;
5718 MenhirLib.EngineTypes.next = {
5719 MenhirLib.EngineTypes.semv = dd;
5720 MenhirLib.EngineTypes.startp = _startpos_dd_;
5721 MenhirLib.EngineTypes.endp = _endpos_dd_;
5722 MenhirLib.EngineTypes.next = {
5723 MenhirLib.EngineTypes.semv = t;
5724 MenhirLib.EngineTypes.startp = _startpos_t_;
5725 MenhirLib.EngineTypes.endp = _endpos_t_;
5726 MenhirLib.EngineTypes.next = {
5727 MenhirLib.EngineTypes.semv = w;
5728 MenhirLib.EngineTypes.startp = _startpos_w_;
5729 MenhirLib.EngineTypes.endp = _endpos_w_;
5730 MenhirLib.EngineTypes.next = {
5731 MenhirLib.EngineTypes.state = _menhir_s;
5732 MenhirLib.EngineTypes.semv = l;
5733 MenhirLib.EngineTypes.startp = _startpos_l_;
5734 MenhirLib.EngineTypes.endp = _endpos_l_;
5735 MenhirLib.EngineTypes.next = _menhir_stack;
5736 };
5737 };
5738 };
5739 };
5740 } = _menhir_stack in
5741 let r : 'tv_cond_expr_expr_invalid_ = Obj.magic r in
5742 let dd : (
5743 # 76 "parser_cocci_menhir.mly"
5744 (Data.clt)
5745 # 5746 "parser_cocci_menhir.ml"
5746 ) = Obj.magic dd in
5747 let t : 'tv_option_eexpr_ = Obj.magic t in
5748 let w : (
5749 # 76 "parser_cocci_menhir.mly"
5750 (Data.clt)
5751 # 5752 "parser_cocci_menhir.ml"
5752 ) = Obj.magic w in
5753 let l : 'tv_arith_expr_expr_invalid_ = Obj.magic l in
5754 let _startpos = _startpos_l_ in
5755 let _endpos = _endpos_r_ in
5756 let _v : 'tv_cond_expr_expr_invalid_ =
5757 # 1259 "parser_cocci_menhir.mly"
5758 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
5759 P.clt2mcode ":" dd, r)) )
5760 # 5761 "parser_cocci_menhir.ml"
5761 in
5762 _menhir_env.MenhirLib.EngineTypes.stack <- {
5763 MenhirLib.EngineTypes.state = _menhir_s;
5764 MenhirLib.EngineTypes.semv = Obj.repr _v;
5765 MenhirLib.EngineTypes.startp = _startpos;
5766 MenhirLib.EngineTypes.endp = _endpos;
5767 MenhirLib.EngineTypes.next = _menhir_stack;
5768 });
5769 (fun _menhir_env ->
5770 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5771 let {
5772 MenhirLib.EngineTypes.state = _menhir_s;
5773 MenhirLib.EngineTypes.semv = _1;
5774 MenhirLib.EngineTypes.startp = _startpos__1_;
5775 MenhirLib.EngineTypes.endp = _endpos__1_;
5776 MenhirLib.EngineTypes.next = _menhir_stack;
5777 } = _menhir_stack in
5778 let _1 : (
5779 # 54 "parser_cocci_menhir.mly"
5780 (Data.clt)
5781 # 5782 "parser_cocci_menhir.ml"
5782 ) = Obj.magic _1 in
5783 let _startpos = _startpos__1_ in
5784 let _endpos = _endpos__1_ in
5785 let _v : 'tv_const_vol =
5786 # 851 "parser_cocci_menhir.mly"
5787 ( P.clt2mcode Ast.Const _1 )
5788 # 5789 "parser_cocci_menhir.ml"
5789 in
5790 _menhir_env.MenhirLib.EngineTypes.stack <- {
5791 MenhirLib.EngineTypes.state = _menhir_s;
5792 MenhirLib.EngineTypes.semv = Obj.repr _v;
5793 MenhirLib.EngineTypes.startp = _startpos;
5794 MenhirLib.EngineTypes.endp = _endpos;
5795 MenhirLib.EngineTypes.next = _menhir_stack;
5796 });
5797 (fun _menhir_env ->
5798 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5799 let {
5800 MenhirLib.EngineTypes.state = _menhir_s;
5801 MenhirLib.EngineTypes.semv = _1;
5802 MenhirLib.EngineTypes.startp = _startpos__1_;
5803 MenhirLib.EngineTypes.endp = _endpos__1_;
5804 MenhirLib.EngineTypes.next = _menhir_stack;
5805 } = _menhir_stack in
5806 let _1 : (
5807 # 54 "parser_cocci_menhir.mly"
5808 (Data.clt)
5809 # 5810 "parser_cocci_menhir.ml"
5810 ) = Obj.magic _1 in
5811 let _startpos = _startpos__1_ in
5812 let _endpos = _endpos__1_ in
5813 let _v : 'tv_const_vol =
5814 # 852 "parser_cocci_menhir.mly"
5815 ( P.clt2mcode Ast.Volatile _1 )
5816 # 5817 "parser_cocci_menhir.ml"
5817 in
5818 _menhir_env.MenhirLib.EngineTypes.stack <- {
5819 MenhirLib.EngineTypes.state = _menhir_s;
5820 MenhirLib.EngineTypes.semv = Obj.repr _v;
5821 MenhirLib.EngineTypes.startp = _startpos;
5822 MenhirLib.EngineTypes.endp = _endpos;
5823 MenhirLib.EngineTypes.next = _menhir_stack;
5824 });
5825 (fun _menhir_env ->
5826 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5827 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
5828 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
5829 let _endpos = _startpos in
5830 let _v : 'tv_continue_struct_decl_list =
5831 # 549 "parser_cocci_menhir.mly"
5832 ( [] )
5833 # 5834 "parser_cocci_menhir.ml"
5834 in
5835 _menhir_env.MenhirLib.EngineTypes.stack <- {
5836 MenhirLib.EngineTypes.state = _menhir_s;
5837 MenhirLib.EngineTypes.semv = Obj.repr _v;
5838 MenhirLib.EngineTypes.startp = _startpos;
5839 MenhirLib.EngineTypes.endp = _endpos;
5840 MenhirLib.EngineTypes.next = _menhir_stack;
5841 });
5842 (fun _menhir_env ->
5843 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5844 let {
5845 MenhirLib.EngineTypes.semv = _2;
5846 MenhirLib.EngineTypes.startp = _startpos__2_;
5847 MenhirLib.EngineTypes.endp = _endpos__2_;
5848 MenhirLib.EngineTypes.next = {
5849 MenhirLib.EngineTypes.state = _menhir_s;
5850 MenhirLib.EngineTypes.semv = _1;
5851 MenhirLib.EngineTypes.startp = _startpos__1_;
5852 MenhirLib.EngineTypes.endp = _endpos__1_;
5853 MenhirLib.EngineTypes.next = _menhir_stack;
5854 };
5855 } = _menhir_stack in
5856 let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
5857 let _1 : 'tv_struct_decl = Obj.magic _1 in
5858 let _startpos = _startpos__1_ in
5859 let _endpos = _endpos__2_ in
5860 let _v : 'tv_continue_struct_decl_list =
5861 # 550 "parser_cocci_menhir.mly"
5862 ( _1@_2 )
5863 # 5864 "parser_cocci_menhir.ml"
5864 in
5865 _menhir_env.MenhirLib.EngineTypes.stack <- {
5866 MenhirLib.EngineTypes.state = _menhir_s;
5867 MenhirLib.EngineTypes.semv = Obj.repr _v;
5868 MenhirLib.EngineTypes.startp = _startpos;
5869 MenhirLib.EngineTypes.endp = _endpos;
5870 MenhirLib.EngineTypes.next = _menhir_stack;
5871 });
5872 (fun _menhir_env ->
5873 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5874 let {
5875 MenhirLib.EngineTypes.state = _menhir_s;
5876 MenhirLib.EngineTypes.semv = _1;
5877 MenhirLib.EngineTypes.startp = _startpos__1_;
5878 MenhirLib.EngineTypes.endp = _endpos__1_;
5879 MenhirLib.EngineTypes.next = _menhir_stack;
5880 } = _menhir_stack in
5881 let _1 : 'tv_struct_decl = Obj.magic _1 in
5882 let _startpos = _startpos__1_ in
5883 let _endpos = _endpos__1_ in
5884 let _v : 'tv_continue_struct_decl_list =
5885 # 551 "parser_cocci_menhir.mly"
5886 ( _1 )
5887 # 5888 "parser_cocci_menhir.ml"
5888 in
5889 _menhir_env.MenhirLib.EngineTypes.stack <- {
5890 MenhirLib.EngineTypes.state = _menhir_s;
5891 MenhirLib.EngineTypes.semv = Obj.repr _v;
5892 MenhirLib.EngineTypes.startp = _startpos;
5893 MenhirLib.EngineTypes.endp = _endpos;
5894 MenhirLib.EngineTypes.next = _menhir_stack;
5895 });
5896 (fun _menhir_env ->
5897 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5898 let {
5899 MenhirLib.EngineTypes.semv = m;
5900 MenhirLib.EngineTypes.startp = _startpos_m_;
5901 MenhirLib.EngineTypes.endp = _endpos_m_;
5902 MenhirLib.EngineTypes.next = {
5903 MenhirLib.EngineTypes.state = _menhir_s;
5904 MenhirLib.EngineTypes.semv = ty;
5905 MenhirLib.EngineTypes.startp = _startpos_ty_;
5906 MenhirLib.EngineTypes.endp = _endpos_ty_;
5907 MenhirLib.EngineTypes.next = _menhir_stack;
5908 };
5909 } = _menhir_stack in
5910 let m : 'tv_list_TMul_ = Obj.magic m in
5911 let ty : 'tv_generic_ctype = Obj.magic ty in
5912 let _startpos = _startpos_ty_ in
5913 let _endpos = _endpos_m_ in
5914 let _v : 'tv_ctype = let cv =
5915
5916 # 39 "standard.mly"
5917 ( None )
5918 # 5919 "parser_cocci_menhir.ml"
5919
5920 in
5921
5922 # 555 "parser_cocci_menhir.mly"
5923 ( P.pointerify (P.make_cv cv ty) m )
5924 # 5925 "parser_cocci_menhir.ml"
5925 in
5926 _menhir_env.MenhirLib.EngineTypes.stack <- {
5927 MenhirLib.EngineTypes.state = _menhir_s;
5928 MenhirLib.EngineTypes.semv = Obj.repr _v;
5929 MenhirLib.EngineTypes.startp = _startpos;
5930 MenhirLib.EngineTypes.endp = _endpos;
5931 MenhirLib.EngineTypes.next = _menhir_stack;
5932 });
5933 (fun _menhir_env ->
5934 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5935 let {
5936 MenhirLib.EngineTypes.semv = m;
5937 MenhirLib.EngineTypes.startp = _startpos_m_;
5938 MenhirLib.EngineTypes.endp = _endpos_m_;
5939 MenhirLib.EngineTypes.next = {
5940 MenhirLib.EngineTypes.semv = ty;
5941 MenhirLib.EngineTypes.startp = _startpos_ty_;
5942 MenhirLib.EngineTypes.endp = _endpos_ty_;
5943 MenhirLib.EngineTypes.next = {
5944 MenhirLib.EngineTypes.state = _menhir_s;
5945 MenhirLib.EngineTypes.semv = x0;
5946 MenhirLib.EngineTypes.startp = _startpos_x0_;
5947 MenhirLib.EngineTypes.endp = _endpos_x0_;
5948 MenhirLib.EngineTypes.next = _menhir_stack;
5949 };
5950 };
5951 } = _menhir_stack in
5952 let m : 'tv_list_TMul_ = Obj.magic m in
5953 let ty : 'tv_generic_ctype = Obj.magic ty in
5954 let x0 : 'tv_const_vol = Obj.magic x0 in
5955 let _startpos = _startpos_x0_ in
5956 let _endpos = _endpos_m_ in
5957 let _v : 'tv_ctype = let cv =
5958 let x = x0 in
5959
5960 # 41 "standard.mly"
5961 ( Some x )
5962 # 5963 "parser_cocci_menhir.ml"
5963
5964 in
5965
5966 # 555 "parser_cocci_menhir.mly"
5967 ( P.pointerify (P.make_cv cv ty) m )
5968 # 5969 "parser_cocci_menhir.ml"
5969 in
5970 _menhir_env.MenhirLib.EngineTypes.stack <- {
5971 MenhirLib.EngineTypes.state = _menhir_s;
5972 MenhirLib.EngineTypes.semv = Obj.repr _v;
5973 MenhirLib.EngineTypes.startp = _startpos;
5974 MenhirLib.EngineTypes.endp = _endpos;
5975 MenhirLib.EngineTypes.next = _menhir_stack;
5976 });
5977 (fun _menhir_env ->
5978 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5979 let {
5980 MenhirLib.EngineTypes.semv = m;
5981 MenhirLib.EngineTypes.startp = _startpos_m_;
5982 MenhirLib.EngineTypes.endp = _endpos_m_;
5983 MenhirLib.EngineTypes.next = {
5984 MenhirLib.EngineTypes.state = _menhir_s;
5985 MenhirLib.EngineTypes.semv = t;
5986 MenhirLib.EngineTypes.startp = _startpos_t_;
5987 MenhirLib.EngineTypes.endp = _endpos_t_;
5988 MenhirLib.EngineTypes.next = _menhir_stack;
5989 };
5990 } = _menhir_stack in
5991 let m : 'tv_nonempty_list_TMul_ = Obj.magic m in
5992 let t : (
5993 # 50 "parser_cocci_menhir.mly"
5994 (Data.clt)
5995 # 5996 "parser_cocci_menhir.ml"
5996 ) = Obj.magic t in
5997 let _startpos = _startpos_t_ in
5998 let _endpos = _endpos_m_ in
5999 let _v : 'tv_ctype = let cv =
6000
6001 # 39 "standard.mly"
6002 ( None )
6003 # 6004 "parser_cocci_menhir.ml"
6004
6005 in
6006
6007 # 557 "parser_cocci_menhir.mly"
6008 ( let ty =
6009 Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" t])) in
6010 P.pointerify (P.make_cv cv ty) m )
6011 # 6012 "parser_cocci_menhir.ml"
6012 in
6013 _menhir_env.MenhirLib.EngineTypes.stack <- {
6014 MenhirLib.EngineTypes.state = _menhir_s;
6015 MenhirLib.EngineTypes.semv = Obj.repr _v;
6016 MenhirLib.EngineTypes.startp = _startpos;
6017 MenhirLib.EngineTypes.endp = _endpos;
6018 MenhirLib.EngineTypes.next = _menhir_stack;
6019 });
6020 (fun _menhir_env ->
6021 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6022 let {
6023 MenhirLib.EngineTypes.semv = m;
6024 MenhirLib.EngineTypes.startp = _startpos_m_;
6025 MenhirLib.EngineTypes.endp = _endpos_m_;
6026 MenhirLib.EngineTypes.next = {
6027 MenhirLib.EngineTypes.semv = t;
6028 MenhirLib.EngineTypes.startp = _startpos_t_;
6029 MenhirLib.EngineTypes.endp = _endpos_t_;
6030 MenhirLib.EngineTypes.next = {
6031 MenhirLib.EngineTypes.state = _menhir_s;
6032 MenhirLib.EngineTypes.semv = x0;
6033 MenhirLib.EngineTypes.startp = _startpos_x0_;
6034 MenhirLib.EngineTypes.endp = _endpos_x0_;
6035 MenhirLib.EngineTypes.next = _menhir_stack;
6036 };
6037 };
6038 } = _menhir_stack in
6039 let m : 'tv_nonempty_list_TMul_ = Obj.magic m in
6040 let t : (
6041 # 50 "parser_cocci_menhir.mly"
6042 (Data.clt)
6043 # 6044 "parser_cocci_menhir.ml"
6044 ) = Obj.magic t in
6045 let x0 : 'tv_const_vol = Obj.magic x0 in
6046 let _startpos = _startpos_x0_ in
6047 let _endpos = _endpos_m_ in
6048 let _v : 'tv_ctype = let cv =
6049 let x = x0 in
6050
6051 # 41 "standard.mly"
6052 ( Some x )
6053 # 6054 "parser_cocci_menhir.ml"
6054
6055 in
6056
6057 # 557 "parser_cocci_menhir.mly"
6058 ( let ty =
6059 Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" t])) in
6060 P.pointerify (P.make_cv cv ty) m )
6061 # 6062 "parser_cocci_menhir.ml"
6062 in
6063 _menhir_env.MenhirLib.EngineTypes.stack <- {
6064 MenhirLib.EngineTypes.state = _menhir_s;
6065 MenhirLib.EngineTypes.semv = Obj.repr _v;
6066 MenhirLib.EngineTypes.startp = _startpos;
6067 MenhirLib.EngineTypes.endp = _endpos;
6068 MenhirLib.EngineTypes.next = _menhir_stack;
6069 });
6070 (fun _menhir_env ->
6071 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6072 let {
6073 MenhirLib.EngineTypes.semv = rp;
6074 MenhirLib.EngineTypes.startp = _startpos_rp_;
6075 MenhirLib.EngineTypes.endp = _endpos_rp_;
6076 MenhirLib.EngineTypes.next = {
6077 MenhirLib.EngineTypes.semv = t;
6078 MenhirLib.EngineTypes.startp = _startpos_t_;
6079 MenhirLib.EngineTypes.endp = _endpos_t_;
6080 MenhirLib.EngineTypes.next = {
6081 MenhirLib.EngineTypes.state = _menhir_s;
6082 MenhirLib.EngineTypes.semv = lp;
6083 MenhirLib.EngineTypes.startp = _startpos_lp_;
6084 MenhirLib.EngineTypes.endp = _endpos_lp_;
6085 MenhirLib.EngineTypes.next = _menhir_stack;
6086 };
6087 };
6088 } = _menhir_stack in
6089 let rp : (
6090 # 77 "parser_cocci_menhir.mly"
6091 (Data.clt)
6092 # 6093 "parser_cocci_menhir.ml"
6093 ) = Obj.magic rp in
6094 let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
6095 let lp : (
6096 # 76 "parser_cocci_menhir.mly"
6097 (Data.clt)
6098 # 6099 "parser_cocci_menhir.ml"
6099 ) = Obj.magic lp in
6100 let _startpos = _startpos_lp_ in
6101 let _endpos = _endpos_rp_ in
6102 let _v : 'tv_ctype =
6103 # 562 "parser_cocci_menhir.mly"
6104 ( let (mids,code) = t in
6105 Ast0.wrap
6106 (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
6107 # 6108 "parser_cocci_menhir.ml"
6108 in
6109 _menhir_env.MenhirLib.EngineTypes.stack <- {
6110 MenhirLib.EngineTypes.state = _menhir_s;
6111 MenhirLib.EngineTypes.semv = Obj.repr _v;
6112 MenhirLib.EngineTypes.startp = _startpos;
6113 MenhirLib.EngineTypes.endp = _endpos;
6114 MenhirLib.EngineTypes.next = _menhir_stack;
6115 });
6116 (fun _menhir_env ->
6117 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6118 let {
6119 MenhirLib.EngineTypes.semv = m;
6120 MenhirLib.EngineTypes.startp = _startpos_m_;
6121 MenhirLib.EngineTypes.endp = _endpos_m_;
6122 MenhirLib.EngineTypes.next = {
6123 MenhirLib.EngineTypes.state = _menhir_s;
6124 MenhirLib.EngineTypes.semv = ty;
6125 MenhirLib.EngineTypes.startp = _startpos_ty_;
6126 MenhirLib.EngineTypes.endp = _endpos_ty_;
6127 MenhirLib.EngineTypes.next = _menhir_stack;
6128 };
6129 } = _menhir_stack in
6130 let m : 'tv_list_TMul_ = Obj.magic m in
6131 let ty : 'tv_generic_ctype_full = Obj.magic ty in
6132 let _startpos = _startpos_ty_ in
6133 let _endpos = _endpos_m_ in
6134 let _v : 'tv_ctype_full = let cv =
6135
6136 # 39 "standard.mly"
6137 ( None )
6138 # 6139 "parser_cocci_menhir.ml"
6139
6140 in
6141
6142 # 568 "parser_cocci_menhir.mly"
6143 ( P.pointerify (P.make_cv cv ty) m )
6144 # 6145 "parser_cocci_menhir.ml"
6145 in
6146 _menhir_env.MenhirLib.EngineTypes.stack <- {
6147 MenhirLib.EngineTypes.state = _menhir_s;
6148 MenhirLib.EngineTypes.semv = Obj.repr _v;
6149 MenhirLib.EngineTypes.startp = _startpos;
6150 MenhirLib.EngineTypes.endp = _endpos;
6151 MenhirLib.EngineTypes.next = _menhir_stack;
6152 });
6153 (fun _menhir_env ->
6154 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6155 let {
6156 MenhirLib.EngineTypes.semv = m;
6157 MenhirLib.EngineTypes.startp = _startpos_m_;
6158 MenhirLib.EngineTypes.endp = _endpos_m_;
6159 MenhirLib.EngineTypes.next = {
6160 MenhirLib.EngineTypes.semv = ty;
6161 MenhirLib.EngineTypes.startp = _startpos_ty_;
6162 MenhirLib.EngineTypes.endp = _endpos_ty_;
6163 MenhirLib.EngineTypes.next = {
6164 MenhirLib.EngineTypes.state = _menhir_s;
6165 MenhirLib.EngineTypes.semv = x0;
6166 MenhirLib.EngineTypes.startp = _startpos_x0_;
6167 MenhirLib.EngineTypes.endp = _endpos_x0_;
6168 MenhirLib.EngineTypes.next = _menhir_stack;
6169 };
6170 };
6171 } = _menhir_stack in
6172 let m : 'tv_list_TMul_ = Obj.magic m in
6173 let ty : 'tv_generic_ctype_full = Obj.magic ty in
6174 let x0 : 'tv_const_vol = Obj.magic x0 in
6175 let _startpos = _startpos_x0_ in
6176 let _endpos = _endpos_m_ in
6177 let _v : 'tv_ctype_full = let cv =
6178 let x = x0 in
6179
6180 # 41 "standard.mly"
6181 ( Some x )
6182 # 6183 "parser_cocci_menhir.ml"
6183
6184 in
6185
6186 # 568 "parser_cocci_menhir.mly"
6187 ( P.pointerify (P.make_cv cv ty) m )
6188 # 6189 "parser_cocci_menhir.ml"
6189 in
6190 _menhir_env.MenhirLib.EngineTypes.stack <- {
6191 MenhirLib.EngineTypes.state = _menhir_s;
6192 MenhirLib.EngineTypes.semv = Obj.repr _v;
6193 MenhirLib.EngineTypes.startp = _startpos;
6194 MenhirLib.EngineTypes.endp = _endpos;
6195 MenhirLib.EngineTypes.next = _menhir_stack;
6196 });
6197 (fun _menhir_env ->
6198 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6199 let {
6200 MenhirLib.EngineTypes.semv = m;
6201 MenhirLib.EngineTypes.startp = _startpos_m_;
6202 MenhirLib.EngineTypes.endp = _endpos_m_;
6203 MenhirLib.EngineTypes.next = {
6204 MenhirLib.EngineTypes.state = _menhir_s;
6205 MenhirLib.EngineTypes.semv = t;
6206 MenhirLib.EngineTypes.startp = _startpos_t_;
6207 MenhirLib.EngineTypes.endp = _endpos_t_;
6208 MenhirLib.EngineTypes.next = _menhir_stack;
6209 };
6210 } = _menhir_stack in
6211 let m : 'tv_nonempty_list_TMul_ = Obj.magic m in
6212 let t : (
6213 # 50 "parser_cocci_menhir.mly"
6214 (Data.clt)
6215 # 6216 "parser_cocci_menhir.ml"
6216 ) = Obj.magic t in
6217 let _startpos = _startpos_t_ in
6218 let _endpos = _endpos_m_ in
6219 let _v : 'tv_ctype_full = let cv =
6220
6221 # 39 "standard.mly"
6222 ( None )
6223 # 6224 "parser_cocci_menhir.ml"
6224
6225 in
6226
6227 # 570 "parser_cocci_menhir.mly"
6228 ( let ty =
6229 Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" t])) in
6230 P.pointerify (P.make_cv cv ty) m )
6231 # 6232 "parser_cocci_menhir.ml"
6232 in
6233 _menhir_env.MenhirLib.EngineTypes.stack <- {
6234 MenhirLib.EngineTypes.state = _menhir_s;
6235 MenhirLib.EngineTypes.semv = Obj.repr _v;
6236 MenhirLib.EngineTypes.startp = _startpos;
6237 MenhirLib.EngineTypes.endp = _endpos;
6238 MenhirLib.EngineTypes.next = _menhir_stack;
6239 });
6240 (fun _menhir_env ->
6241 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6242 let {
6243 MenhirLib.EngineTypes.semv = m;
6244 MenhirLib.EngineTypes.startp = _startpos_m_;
6245 MenhirLib.EngineTypes.endp = _endpos_m_;
6246 MenhirLib.EngineTypes.next = {
6247 MenhirLib.EngineTypes.semv = t;
6248 MenhirLib.EngineTypes.startp = _startpos_t_;
6249 MenhirLib.EngineTypes.endp = _endpos_t_;
6250 MenhirLib.EngineTypes.next = {
6251 MenhirLib.EngineTypes.state = _menhir_s;
6252 MenhirLib.EngineTypes.semv = x0;
6253 MenhirLib.EngineTypes.startp = _startpos_x0_;
6254 MenhirLib.EngineTypes.endp = _endpos_x0_;
6255 MenhirLib.EngineTypes.next = _menhir_stack;
6256 };
6257 };
6258 } = _menhir_stack in
6259 let m : 'tv_nonempty_list_TMul_ = Obj.magic m in
6260 let t : (
6261 # 50 "parser_cocci_menhir.mly"
6262 (Data.clt)
6263 # 6264 "parser_cocci_menhir.ml"
6264 ) = Obj.magic t in
6265 let x0 : 'tv_const_vol = Obj.magic x0 in
6266 let _startpos = _startpos_x0_ in
6267 let _endpos = _endpos_m_ in
6268 let _v : 'tv_ctype_full = let cv =
6269 let x = x0 in
6270
6271 # 41 "standard.mly"
6272 ( Some x )
6273 # 6274 "parser_cocci_menhir.ml"
6274
6275 in
6276
6277 # 570 "parser_cocci_menhir.mly"
6278 ( let ty =
6279 Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" t])) in
6280 P.pointerify (P.make_cv cv ty) m )
6281 # 6282 "parser_cocci_menhir.ml"
6282 in
6283 _menhir_env.MenhirLib.EngineTypes.stack <- {
6284 MenhirLib.EngineTypes.state = _menhir_s;
6285 MenhirLib.EngineTypes.semv = Obj.repr _v;
6286 MenhirLib.EngineTypes.startp = _startpos;
6287 MenhirLib.EngineTypes.endp = _endpos;
6288 MenhirLib.EngineTypes.next = _menhir_stack;
6289 });
6290 (fun _menhir_env ->
6291 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6292 let {
6293 MenhirLib.EngineTypes.semv = rp;
6294 MenhirLib.EngineTypes.startp = _startpos_rp_;
6295 MenhirLib.EngineTypes.endp = _endpos_rp_;
6296 MenhirLib.EngineTypes.next = {
6297 MenhirLib.EngineTypes.semv = t;
6298 MenhirLib.EngineTypes.startp = _startpos_t_;
6299 MenhirLib.EngineTypes.endp = _endpos_t_;
6300 MenhirLib.EngineTypes.next = {
6301 MenhirLib.EngineTypes.state = _menhir_s;
6302 MenhirLib.EngineTypes.semv = lp;
6303 MenhirLib.EngineTypes.startp = _startpos_lp_;
6304 MenhirLib.EngineTypes.endp = _endpos_lp_;
6305 MenhirLib.EngineTypes.next = _menhir_stack;
6306 };
6307 };
6308 } = _menhir_stack in
6309 let rp : (
6310 # 77 "parser_cocci_menhir.mly"
6311 (Data.clt)
6312 # 6313 "parser_cocci_menhir.ml"
6313 ) = Obj.magic rp in
6314 let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
6315 let lp : (
6316 # 76 "parser_cocci_menhir.mly"
6317 (Data.clt)
6318 # 6319 "parser_cocci_menhir.ml"
6319 ) = Obj.magic lp in
6320 let _startpos = _startpos_lp_ in
6321 let _endpos = _endpos_rp_ in
6322 let _v : 'tv_ctype_full =
6323 # 575 "parser_cocci_menhir.mly"
6324 ( let (mids,code) = t in
6325 Ast0.wrap
6326 (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
6327 # 6328 "parser_cocci_menhir.ml"
6328 in
6329 _menhir_env.MenhirLib.EngineTypes.stack <- {
6330 MenhirLib.EngineTypes.state = _menhir_s;
6331 MenhirLib.EngineTypes.semv = Obj.repr _v;
6332 MenhirLib.EngineTypes.startp = _startpos;
6333 MenhirLib.EngineTypes.endp = _endpos;
6334 MenhirLib.EngineTypes.next = _menhir_stack;
6335 });
6336 (fun _menhir_env ->
6337 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6338 let {
6339 MenhirLib.EngineTypes.semv = _2;
6340 MenhirLib.EngineTypes.startp = _startpos__2_;
6341 MenhirLib.EngineTypes.endp = _endpos__2_;
6342 MenhirLib.EngineTypes.next = {
6343 MenhirLib.EngineTypes.state = _menhir_s;
6344 MenhirLib.EngineTypes.semv = _1;
6345 MenhirLib.EngineTypes.startp = _startpos__1_;
6346 MenhirLib.EngineTypes.endp = _endpos__1_;
6347 MenhirLib.EngineTypes.next = _menhir_stack;
6348 };
6349 } = _menhir_stack in
6350 let _2 : 'tv_list_array_dec_ = Obj.magic _2 in
6351 let _1 : 'tv_ident = Obj.magic _1 in
6352 let _startpos = _startpos__1_ in
6353 let _endpos = _endpos__2_ in
6354 let _v : 'tv_d_ident =
6355 # 1061 "parser_cocci_menhir.mly"
6356 ( (_1,
6357 function t ->
6358 List.fold_right
6359 (function (l,i,r) ->
6360 function rest ->
6361 Ast0.wrap
6362 (Ast0.Array(rest,P.clt2mcode "[" l,i,P.clt2mcode "]" r)))
6363 _2 t) )
6364 # 6365 "parser_cocci_menhir.ml"
6365 in
6366 _menhir_env.MenhirLib.EngineTypes.stack <- {
6367 MenhirLib.EngineTypes.state = _menhir_s;
6368 MenhirLib.EngineTypes.semv = Obj.repr _v;
6369 MenhirLib.EngineTypes.startp = _startpos;
6370 MenhirLib.EngineTypes.endp = _endpos;
6371 MenhirLib.EngineTypes.next = _menhir_stack;
6372 });
6373 (fun _menhir_env ->
6374 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6375 let {
6376 MenhirLib.EngineTypes.semv = i;
6377 MenhirLib.EngineTypes.startp = _startpos_i_;
6378 MenhirLib.EngineTypes.endp = _endpos_i_;
6379 MenhirLib.EngineTypes.next = {
6380 MenhirLib.EngineTypes.state = _menhir_s;
6381 MenhirLib.EngineTypes.semv = t;
6382 MenhirLib.EngineTypes.startp = _startpos_t_;
6383 MenhirLib.EngineTypes.endp = _endpos_t_;
6384 MenhirLib.EngineTypes.next = _menhir_stack;
6385 };
6386 } = _menhir_stack in
6387 let i : 'tv_ident = Obj.magic i in
6388 let t : 'tv_ctype = Obj.magic t in
6389 let _startpos = _startpos_t_ in
6390 let _endpos = _endpos_i_ in
6391 let _v : 'tv_decl =
6392 # 821 "parser_cocci_menhir.mly"
6393 ( Ast0.wrap(Ast0.Param(t, Some i)) )
6394 # 6395 "parser_cocci_menhir.ml"
6395 in
6396 _menhir_env.MenhirLib.EngineTypes.stack <- {
6397 MenhirLib.EngineTypes.state = _menhir_s;
6398 MenhirLib.EngineTypes.semv = Obj.repr _v;
6399 MenhirLib.EngineTypes.startp = _startpos;
6400 MenhirLib.EngineTypes.endp = _endpos;
6401 MenhirLib.EngineTypes.next = _menhir_stack;
6402 });
6403 (fun _menhir_env ->
6404 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6405 let {
6406 MenhirLib.EngineTypes.semv = rp1;
6407 MenhirLib.EngineTypes.startp = _startpos_rp1_;
6408 MenhirLib.EngineTypes.endp = _endpos_rp1_;
6409 MenhirLib.EngineTypes.next = {
6410 MenhirLib.EngineTypes.semv = d;
6411 MenhirLib.EngineTypes.startp = _startpos_d_;
6412 MenhirLib.EngineTypes.endp = _endpos_d_;
6413 MenhirLib.EngineTypes.next = {
6414 MenhirLib.EngineTypes.semv = lp1;
6415 MenhirLib.EngineTypes.startp = _startpos_lp1_;
6416 MenhirLib.EngineTypes.endp = _endpos_lp1_;
6417 MenhirLib.EngineTypes.next = {
6418 MenhirLib.EngineTypes.semv = rp;
6419 MenhirLib.EngineTypes.startp = _startpos_rp_;
6420 MenhirLib.EngineTypes.endp = _endpos_rp_;
6421 MenhirLib.EngineTypes.next = {
6422 MenhirLib.EngineTypes.semv = i;
6423 MenhirLib.EngineTypes.startp = _startpos_i_;
6424 MenhirLib.EngineTypes.endp = _endpos_i_;
6425 MenhirLib.EngineTypes.next = {
6426 MenhirLib.EngineTypes.semv = s;
6427 MenhirLib.EngineTypes.startp = _startpos_s_;
6428 MenhirLib.EngineTypes.endp = _endpos_s_;
6429 MenhirLib.EngineTypes.next = {
6430 MenhirLib.EngineTypes.semv = lp;
6431 MenhirLib.EngineTypes.startp = _startpos_lp_;
6432 MenhirLib.EngineTypes.endp = _endpos_lp_;
6433 MenhirLib.EngineTypes.next = {
6434 MenhirLib.EngineTypes.state = _menhir_s;
6435 MenhirLib.EngineTypes.semv = t;
6436 MenhirLib.EngineTypes.startp = _startpos_t_;
6437 MenhirLib.EngineTypes.endp = _endpos_t_;
6438 MenhirLib.EngineTypes.next = _menhir_stack;
6439 };
6440 };
6441 };
6442 };
6443 };
6444 };
6445 };
6446 } = _menhir_stack in
6447 let rp1 : (
6448 # 77 "parser_cocci_menhir.mly"
6449 (Data.clt)
6450 # 6451 "parser_cocci_menhir.ml"
6451 ) = Obj.magic rp1 in
6452 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
6453 let lp1 : (
6454 # 76 "parser_cocci_menhir.mly"
6455 (Data.clt)
6456 # 6457 "parser_cocci_menhir.ml"
6457 ) = Obj.magic lp1 in
6458 let rp : (
6459 # 77 "parser_cocci_menhir.mly"
6460 (Data.clt)
6461 # 6462 "parser_cocci_menhir.ml"
6462 ) = Obj.magic rp in
6463 let i : 'tv_ident = Obj.magic i in
6464 let s : (
6465 # 99 "parser_cocci_menhir.mly"
6466 (Data.clt)
6467 # 6468 "parser_cocci_menhir.ml"
6468 ) = Obj.magic s in
6469 let lp : (
6470 # 76 "parser_cocci_menhir.mly"
6471 (Data.clt)
6472 # 6473 "parser_cocci_menhir.ml"
6473 ) = Obj.magic lp in
6474 let t : 'tv_fn_ctype = Obj.magic t in
6475 let _startpos = _startpos_t_ in
6476 let _endpos = _endpos_rp1_ in
6477 let _v : 'tv_decl =
6478 # 824 "parser_cocci_menhir.mly"
6479 ( let fnptr =
6480 Ast0.wrap
6481 (Ast0.FunctionPointer
6482 (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
6483 P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
6484 Ast0.wrap(Ast0.Param(fnptr, Some i)) )
6485 # 6486 "parser_cocci_menhir.ml"
6486 in
6487 _menhir_env.MenhirLib.EngineTypes.stack <- {
6488 MenhirLib.EngineTypes.state = _menhir_s;
6489 MenhirLib.EngineTypes.semv = Obj.repr _v;
6490 MenhirLib.EngineTypes.startp = _startpos;
6491 MenhirLib.EngineTypes.endp = _endpos;
6492 MenhirLib.EngineTypes.next = _menhir_stack;
6493 });
6494 (fun _menhir_env ->
6495 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6496 let {
6497 MenhirLib.EngineTypes.state = _menhir_s;
6498 MenhirLib.EngineTypes.semv = t;
6499 MenhirLib.EngineTypes.startp = _startpos_t_;
6500 MenhirLib.EngineTypes.endp = _endpos_t_;
6501 MenhirLib.EngineTypes.next = _menhir_stack;
6502 } = _menhir_stack in
6503 let t : (
6504 # 50 "parser_cocci_menhir.mly"
6505 (Data.clt)
6506 # 6507 "parser_cocci_menhir.ml"
6507 ) = Obj.magic t in
6508 let _startpos = _startpos_t_ in
6509 let _endpos = _endpos_t_ in
6510 let _v : 'tv_decl =
6511 # 831 "parser_cocci_menhir.mly"
6512 ( let ty =
6513 Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" t])) in
6514 Ast0.wrap(Ast0.VoidParam(ty)) )
6515 # 6516 "parser_cocci_menhir.ml"
6516 in
6517 _menhir_env.MenhirLib.EngineTypes.stack <- {
6518 MenhirLib.EngineTypes.state = _menhir_s;
6519 MenhirLib.EngineTypes.semv = Obj.repr _v;
6520 MenhirLib.EngineTypes.startp = _startpos;
6521 MenhirLib.EngineTypes.endp = _endpos;
6522 MenhirLib.EngineTypes.next = _menhir_stack;
6523 });
6524 (fun _menhir_env ->
6525 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6526 let {
6527 MenhirLib.EngineTypes.state = _menhir_s;
6528 MenhirLib.EngineTypes.semv = _1;
6529 MenhirLib.EngineTypes.startp = _startpos__1_;
6530 MenhirLib.EngineTypes.endp = _endpos__1_;
6531 MenhirLib.EngineTypes.next = _menhir_stack;
6532 } = _menhir_stack in
6533 let _1 : (
6534 # 64 "parser_cocci_menhir.mly"
6535 (Parse_aux.info)
6536 # 6537 "parser_cocci_menhir.ml"
6537 ) = Obj.magic _1 in
6538 let _startpos = _startpos__1_ in
6539 let _endpos = _endpos__1_ in
6540 let _v : 'tv_decl =
6541 # 835 "parser_cocci_menhir.mly"
6542 ( let (nm,pure,clt) = _1 in
6543 Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
6544 # 6545 "parser_cocci_menhir.ml"
6545 in
6546 _menhir_env.MenhirLib.EngineTypes.stack <- {
6547 MenhirLib.EngineTypes.state = _menhir_s;
6548 MenhirLib.EngineTypes.semv = Obj.repr _v;
6549 MenhirLib.EngineTypes.startp = _startpos;
6550 MenhirLib.EngineTypes.endp = _endpos;
6551 MenhirLib.EngineTypes.next = _menhir_stack;
6552 });
6553 (fun _menhir_env ->
6554 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6555 let {
6556 MenhirLib.EngineTypes.state = _menhir_s;
6557 MenhirLib.EngineTypes.semv = _1;
6558 MenhirLib.EngineTypes.startp = _startpos__1_;
6559 MenhirLib.EngineTypes.endp = _endpos__1_;
6560 MenhirLib.EngineTypes.next = _menhir_stack;
6561 } = _menhir_stack in
6562 let _1 : (
6563 # 59 "parser_cocci_menhir.mly"
6564 (string * Data.clt)
6565 # 6566 "parser_cocci_menhir.ml"
6566 ) = Obj.magic _1 in
6567 let _startpos = _startpos__1_ in
6568 let _endpos = _endpos__1_ in
6569 let _v : 'tv_decl_ident =
6570 # 1516 "parser_cocci_menhir.mly"
6571 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
6572 # 6573 "parser_cocci_menhir.ml"
6573 in
6574 _menhir_env.MenhirLib.EngineTypes.stack <- {
6575 MenhirLib.EngineTypes.state = _menhir_s;
6576 MenhirLib.EngineTypes.semv = Obj.repr _v;
6577 MenhirLib.EngineTypes.startp = _startpos;
6578 MenhirLib.EngineTypes.endp = _endpos;
6579 MenhirLib.EngineTypes.next = _menhir_stack;
6580 });
6581 (fun _menhir_env ->
6582 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6583 let {
6584 MenhirLib.EngineTypes.state = _menhir_s;
6585 MenhirLib.EngineTypes.semv = _1;
6586 MenhirLib.EngineTypes.startp = _startpos__1_;
6587 MenhirLib.EngineTypes.endp = _endpos__1_;
6588 MenhirLib.EngineTypes.next = _menhir_stack;
6589 } = _menhir_stack in
6590 let _1 : (
6591 # 62 "parser_cocci_menhir.mly"
6592 (Parse_aux.idinfo)
6593 # 6594 "parser_cocci_menhir.ml"
6594 ) = Obj.magic _1 in
6595 let _startpos = _startpos__1_ in
6596 let _endpos = _endpos__1_ in
6597 let _v : 'tv_decl_ident =
6598 # 1518 "parser_cocci_menhir.mly"
6599 ( let (nm,constraints,pure,clt) = _1 in
6600 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
6601 # 6602 "parser_cocci_menhir.ml"
6602 in
6603 _menhir_env.MenhirLib.EngineTypes.stack <- {
6604 MenhirLib.EngineTypes.state = _menhir_s;
6605 MenhirLib.EngineTypes.semv = Obj.repr _v;
6606 MenhirLib.EngineTypes.startp = _startpos;
6607 MenhirLib.EngineTypes.endp = _endpos;
6608 MenhirLib.EngineTypes.next = _menhir_stack;
6609 });
6610 (fun _menhir_env ->
6611 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6612 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
6613 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
6614 let _endpos = _startpos in
6615 let _v : 'tv_decl_list_decl_ =
6616 # 1538 "parser_cocci_menhir.mly"
6617 ( Ast0.wrap(Ast0.DOTS([])) )
6618 # 6619 "parser_cocci_menhir.ml"
6619 in
6620 _menhir_env.MenhirLib.EngineTypes.stack <- {
6621 MenhirLib.EngineTypes.state = _menhir_s;
6622 MenhirLib.EngineTypes.semv = Obj.repr _v;
6623 MenhirLib.EngineTypes.startp = _startpos;
6624 MenhirLib.EngineTypes.endp = _endpos;
6625 MenhirLib.EngineTypes.next = _menhir_stack;
6626 });
6627 (fun _menhir_env ->
6628 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6629 let {
6630 MenhirLib.EngineTypes.state = _menhir_s;
6631 MenhirLib.EngineTypes.semv = _1;
6632 MenhirLib.EngineTypes.startp = _startpos__1_;
6633 MenhirLib.EngineTypes.endp = _endpos__1_;
6634 MenhirLib.EngineTypes.next = _menhir_stack;
6635 } = _menhir_stack in
6636 let _1 : 'tv_decl_list_start_decl_ = Obj.magic _1 in
6637 let _startpos = _startpos__1_ in
6638 let _endpos = _endpos__1_ in
6639 let _v : 'tv_decl_list_decl_ =
6640 # 1540 "parser_cocci_menhir.mly"
6641 (let circle x =
6642 match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in
6643 if List.exists circle _1
6644 then Ast0.wrap(Ast0.CIRCLES(_1))
6645 else Ast0.wrap(Ast0.DOTS(_1)) )
6646 # 6647 "parser_cocci_menhir.ml"
6647 in
6648 _menhir_env.MenhirLib.EngineTypes.stack <- {
6649 MenhirLib.EngineTypes.state = _menhir_s;
6650 MenhirLib.EngineTypes.semv = Obj.repr _v;
6651 MenhirLib.EngineTypes.startp = _startpos;
6652 MenhirLib.EngineTypes.endp = _endpos;
6653 MenhirLib.EngineTypes.next = _menhir_stack;
6654 });
6655 (fun _menhir_env ->
6656 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6657 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
6658 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
6659 let _endpos = _startpos in
6660 let _v : 'tv_decl_list_name_opt_decl_ =
6661 # 1538 "parser_cocci_menhir.mly"
6662 ( Ast0.wrap(Ast0.DOTS([])) )
6663 # 6664 "parser_cocci_menhir.ml"
6664 in
6665 _menhir_env.MenhirLib.EngineTypes.stack <- {
6666 MenhirLib.EngineTypes.state = _menhir_s;
6667 MenhirLib.EngineTypes.semv = Obj.repr _v;
6668 MenhirLib.EngineTypes.startp = _startpos;
6669 MenhirLib.EngineTypes.endp = _endpos;
6670 MenhirLib.EngineTypes.next = _menhir_stack;
6671 });
6672 (fun _menhir_env ->
6673 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6674 let {
6675 MenhirLib.EngineTypes.state = _menhir_s;
6676 MenhirLib.EngineTypes.semv = _1;
6677 MenhirLib.EngineTypes.startp = _startpos__1_;
6678 MenhirLib.EngineTypes.endp = _endpos__1_;
6679 MenhirLib.EngineTypes.next = _menhir_stack;
6680 } = _menhir_stack in
6681 let _1 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _1 in
6682 let _startpos = _startpos__1_ in
6683 let _endpos = _endpos__1_ in
6684 let _v : 'tv_decl_list_name_opt_decl_ =
6685 # 1540 "parser_cocci_menhir.mly"
6686 (let circle x =
6687 match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in
6688 if List.exists circle _1
6689 then Ast0.wrap(Ast0.CIRCLES(_1))
6690 else Ast0.wrap(Ast0.DOTS(_1)) )
6691 # 6692 "parser_cocci_menhir.ml"
6692 in
6693 _menhir_env.MenhirLib.EngineTypes.stack <- {
6694 MenhirLib.EngineTypes.state = _menhir_s;
6695 MenhirLib.EngineTypes.semv = Obj.repr _v;
6696 MenhirLib.EngineTypes.startp = _startpos;
6697 MenhirLib.EngineTypes.endp = _endpos;
6698 MenhirLib.EngineTypes.next = _menhir_stack;
6699 });
6700 (fun _menhir_env ->
6701 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6702 let {
6703 MenhirLib.EngineTypes.state = _menhir_s;
6704 MenhirLib.EngineTypes.semv = _1;
6705 MenhirLib.EngineTypes.startp = _startpos__1_;
6706 MenhirLib.EngineTypes.endp = _endpos__1_;
6707 MenhirLib.EngineTypes.next = _menhir_stack;
6708 } = _menhir_stack in
6709 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
6710 let _startpos = _startpos__1_ in
6711 let _endpos = _endpos__1_ in
6712 let _v : 'tv_decl_list_start_decl_ =
6713 # 1547 "parser_cocci_menhir.mly"
6714 ( [_1] )
6715 # 6716 "parser_cocci_menhir.ml"
6716 in
6717 _menhir_env.MenhirLib.EngineTypes.stack <- {
6718 MenhirLib.EngineTypes.state = _menhir_s;
6719 MenhirLib.EngineTypes.semv = Obj.repr _v;
6720 MenhirLib.EngineTypes.startp = _startpos;
6721 MenhirLib.EngineTypes.endp = _endpos;
6722 MenhirLib.EngineTypes.next = _menhir_stack;
6723 });
6724 (fun _menhir_env ->
6725 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6726 let {
6727 MenhirLib.EngineTypes.semv = _3;
6728 MenhirLib.EngineTypes.startp = _startpos__3_;
6729 MenhirLib.EngineTypes.endp = _endpos__3_;
6730 MenhirLib.EngineTypes.next = {
6731 MenhirLib.EngineTypes.semv = _2;
6732 MenhirLib.EngineTypes.startp = _startpos__2_;
6733 MenhirLib.EngineTypes.endp = _endpos__2_;
6734 MenhirLib.EngineTypes.next = {
6735 MenhirLib.EngineTypes.state = _menhir_s;
6736 MenhirLib.EngineTypes.semv = _1;
6737 MenhirLib.EngineTypes.startp = _startpos__1_;
6738 MenhirLib.EngineTypes.endp = _endpos__1_;
6739 MenhirLib.EngineTypes.next = _menhir_stack;
6740 };
6741 };
6742 } = _menhir_stack in
6743 let _3 : 'tv_decl_list_start_decl_ = Obj.magic _3 in
6744 let _2 : (
6745 # 107 "parser_cocci_menhir.mly"
6746 (Data.clt)
6747 # 6748 "parser_cocci_menhir.ml"
6748 ) = Obj.magic _2 in
6749 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
6750 let _startpos = _startpos__1_ in
6751 let _endpos = _endpos__3_ in
6752 let _v : 'tv_decl_list_start_decl_ =
6753 # 1549 "parser_cocci_menhir.mly"
6754 ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
6755 # 6756 "parser_cocci_menhir.ml"
6756 in
6757 _menhir_env.MenhirLib.EngineTypes.stack <- {
6758 MenhirLib.EngineTypes.state = _menhir_s;
6759 MenhirLib.EngineTypes.semv = Obj.repr _v;
6760 MenhirLib.EngineTypes.startp = _startpos;
6761 MenhirLib.EngineTypes.endp = _endpos;
6762 MenhirLib.EngineTypes.next = _menhir_stack;
6763 });
6764 (fun _menhir_env ->
6765 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6766 let {
6767 MenhirLib.EngineTypes.semv = _2;
6768 MenhirLib.EngineTypes.startp = _startpos__2_;
6769 MenhirLib.EngineTypes.endp = _endpos__2_;
6770 MenhirLib.EngineTypes.next = {
6771 MenhirLib.EngineTypes.state = _menhir_s;
6772 MenhirLib.EngineTypes.semv = _1;
6773 MenhirLib.EngineTypes.startp = _startpos__1_;
6774 MenhirLib.EngineTypes.endp = _endpos__1_;
6775 MenhirLib.EngineTypes.next = _menhir_stack;
6776 };
6777 } = _menhir_stack in
6778 let _2 : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic _2 in
6779 let _1 : (
6780 # 73 "parser_cocci_menhir.mly"
6781 (Data.clt)
6782 # 6783 "parser_cocci_menhir.ml"
6783 ) = Obj.magic _1 in
6784 let _startpos = _startpos__1_ in
6785 let _endpos = _endpos__2_ in
6786 let _v : 'tv_decl_list_start_decl_ =
6787 # 1551 "parser_cocci_menhir.mly"
6788 ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
6789 (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
6790 # 6791 "parser_cocci_menhir.ml"
6791 in
6792 _menhir_env.MenhirLib.EngineTypes.stack <- {
6793 MenhirLib.EngineTypes.state = _menhir_s;
6794 MenhirLib.EngineTypes.semv = Obj.repr _v;
6795 MenhirLib.EngineTypes.startp = _startpos;
6796 MenhirLib.EngineTypes.endp = _endpos;
6797 MenhirLib.EngineTypes.next = _menhir_stack;
6798 });
6799 (fun _menhir_env ->
6800 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6801 let {
6802 MenhirLib.EngineTypes.state = _menhir_s;
6803 MenhirLib.EngineTypes.semv = _1;
6804 MenhirLib.EngineTypes.startp = _startpos__1_;
6805 MenhirLib.EngineTypes.endp = _endpos__1_;
6806 MenhirLib.EngineTypes.next = _menhir_stack;
6807 } = _menhir_stack in
6808 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
6809 let _startpos = _startpos__1_ in
6810 let _endpos = _endpos__1_ in
6811 let _v : 'tv_decl_list_start_name_opt_decl_ =
6812 # 1547 "parser_cocci_menhir.mly"
6813 ( [_1] )
6814 # 6815 "parser_cocci_menhir.ml"
6815 in
6816 _menhir_env.MenhirLib.EngineTypes.stack <- {
6817 MenhirLib.EngineTypes.state = _menhir_s;
6818 MenhirLib.EngineTypes.semv = Obj.repr _v;
6819 MenhirLib.EngineTypes.startp = _startpos;
6820 MenhirLib.EngineTypes.endp = _endpos;
6821 MenhirLib.EngineTypes.next = _menhir_stack;
6822 });
6823 (fun _menhir_env ->
6824 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6825 let {
6826 MenhirLib.EngineTypes.semv = _3;
6827 MenhirLib.EngineTypes.startp = _startpos__3_;
6828 MenhirLib.EngineTypes.endp = _endpos__3_;
6829 MenhirLib.EngineTypes.next = {
6830 MenhirLib.EngineTypes.semv = _2;
6831 MenhirLib.EngineTypes.startp = _startpos__2_;
6832 MenhirLib.EngineTypes.endp = _endpos__2_;
6833 MenhirLib.EngineTypes.next = {
6834 MenhirLib.EngineTypes.state = _menhir_s;
6835 MenhirLib.EngineTypes.semv = _1;
6836 MenhirLib.EngineTypes.startp = _startpos__1_;
6837 MenhirLib.EngineTypes.endp = _endpos__1_;
6838 MenhirLib.EngineTypes.next = _menhir_stack;
6839 };
6840 };
6841 } = _menhir_stack in
6842 let _3 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _3 in
6843 let _2 : (
6844 # 107 "parser_cocci_menhir.mly"
6845 (Data.clt)
6846 # 6847 "parser_cocci_menhir.ml"
6847 ) = Obj.magic _2 in
6848 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
6849 let _startpos = _startpos__1_ in
6850 let _endpos = _endpos__3_ in
6851 let _v : 'tv_decl_list_start_name_opt_decl_ =
6852 # 1549 "parser_cocci_menhir.mly"
6853 ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
6854 # 6855 "parser_cocci_menhir.ml"
6855 in
6856 _menhir_env.MenhirLib.EngineTypes.stack <- {
6857 MenhirLib.EngineTypes.state = _menhir_s;
6858 MenhirLib.EngineTypes.semv = Obj.repr _v;
6859 MenhirLib.EngineTypes.startp = _startpos;
6860 MenhirLib.EngineTypes.endp = _endpos;
6861 MenhirLib.EngineTypes.next = _menhir_stack;
6862 });
6863 (fun _menhir_env ->
6864 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6865 let {
6866 MenhirLib.EngineTypes.semv = _2;
6867 MenhirLib.EngineTypes.startp = _startpos__2_;
6868 MenhirLib.EngineTypes.endp = _endpos__2_;
6869 MenhirLib.EngineTypes.next = {
6870 MenhirLib.EngineTypes.state = _menhir_s;
6871 MenhirLib.EngineTypes.semv = _1;
6872 MenhirLib.EngineTypes.startp = _startpos__1_;
6873 MenhirLib.EngineTypes.endp = _endpos__1_;
6874 MenhirLib.EngineTypes.next = _menhir_stack;
6875 };
6876 } = _menhir_stack in
6877 let _2 : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic _2 in
6878 let _1 : (
6879 # 73 "parser_cocci_menhir.mly"
6880 (Data.clt)
6881 # 6882 "parser_cocci_menhir.ml"
6882 ) = Obj.magic _1 in
6883 let _startpos = _startpos__1_ in
6884 let _endpos = _endpos__2_ in
6885 let _v : 'tv_decl_list_start_name_opt_decl_ =
6886 # 1551 "parser_cocci_menhir.mly"
6887 ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
6888 (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
6889 # 6890 "parser_cocci_menhir.ml"
6890 in
6891 _menhir_env.MenhirLib.EngineTypes.stack <- {
6892 MenhirLib.EngineTypes.state = _menhir_s;
6893 MenhirLib.EngineTypes.semv = Obj.repr _v;
6894 MenhirLib.EngineTypes.startp = _startpos;
6895 MenhirLib.EngineTypes.endp = _endpos;
6896 MenhirLib.EngineTypes.next = _menhir_stack;
6897 });
6898 (fun _menhir_env ->
6899 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6900 let {
6901 MenhirLib.EngineTypes.state = _menhir_s;
6902 MenhirLib.EngineTypes.semv = _1;
6903 MenhirLib.EngineTypes.startp = _startpos__1_;
6904 MenhirLib.EngineTypes.endp = _endpos__1_;
6905 MenhirLib.EngineTypes.next = _menhir_stack;
6906 } = _menhir_stack in
6907 let _1 : (
6908 # 64 "parser_cocci_menhir.mly"
6909 (Parse_aux.info)
6910 # 6911 "parser_cocci_menhir.ml"
6911 ) = Obj.magic _1 in
6912 let _startpos = _startpos__1_ in
6913 let _endpos = _endpos__1_ in
6914 let _v : 'tv_decl_statement =
6915 # 1139 "parser_cocci_menhir.mly"
6916 ( let (nm,pure,clt) = _1 in
6917 [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
6918 # 6919 "parser_cocci_menhir.ml"
6919 in
6920 _menhir_env.MenhirLib.EngineTypes.stack <- {
6921 MenhirLib.EngineTypes.state = _menhir_s;
6922 MenhirLib.EngineTypes.semv = Obj.repr _v;
6923 MenhirLib.EngineTypes.startp = _startpos;
6924 MenhirLib.EngineTypes.endp = _endpos;
6925 MenhirLib.EngineTypes.next = _menhir_stack;
6926 });
6927 (fun _menhir_env ->
6928 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6929 let {
6930 MenhirLib.EngineTypes.state = _menhir_s;
6931 MenhirLib.EngineTypes.semv = _1;
6932 MenhirLib.EngineTypes.startp = _startpos__1_;
6933 MenhirLib.EngineTypes.endp = _endpos__1_;
6934 MenhirLib.EngineTypes.next = _menhir_stack;
6935 } = _menhir_stack in
6936 let _1 : 'tv_decl_var = Obj.magic _1 in
6937 let _startpos = _startpos__1_ in
6938 let _endpos = _endpos__1_ in
6939 let _v : 'tv_decl_statement =
6940 # 1142 "parser_cocci_menhir.mly"
6941 ( List.map
6942 (function x ->
6943 Ast0.wrap
6944 (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
6945 _1 )
6946 # 6947 "parser_cocci_menhir.ml"
6947 in
6948 _menhir_env.MenhirLib.EngineTypes.stack <- {
6949 MenhirLib.EngineTypes.state = _menhir_s;
6950 MenhirLib.EngineTypes.semv = Obj.repr _v;
6951 MenhirLib.EngineTypes.startp = _startpos;
6952 MenhirLib.EngineTypes.endp = _endpos;
6953 MenhirLib.EngineTypes.next = _menhir_stack;
6954 });
6955 (fun _menhir_env ->
6956 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6957 let {
6958 MenhirLib.EngineTypes.state = _menhir_s;
6959 MenhirLib.EngineTypes.semv = _1;
6960 MenhirLib.EngineTypes.startp = _startpos__1_;
6961 MenhirLib.EngineTypes.endp = _endpos__1_;
6962 MenhirLib.EngineTypes.next = _menhir_stack;
6963 } = _menhir_stack in
6964 let _1 : 'tv_statement = Obj.magic _1 in
6965 let _startpos = _startpos__1_ in
6966 let _endpos = _endpos__1_ in
6967 let _v : 'tv_decl_statement =
6968 # 1147 "parser_cocci_menhir.mly"
6969 ( [_1] )
6970 # 6971 "parser_cocci_menhir.ml"
6971 in
6972 _menhir_env.MenhirLib.EngineTypes.stack <- {
6973 MenhirLib.EngineTypes.state = _menhir_s;
6974 MenhirLib.EngineTypes.semv = Obj.repr _v;
6975 MenhirLib.EngineTypes.startp = _startpos;
6976 MenhirLib.EngineTypes.endp = _endpos;
6977 MenhirLib.EngineTypes.next = _menhir_stack;
6978 });
6979 (fun _menhir_env ->
6980 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6981 let {
6982 MenhirLib.EngineTypes.semv = _3;
6983 MenhirLib.EngineTypes.startp = _startpos__3_;
6984 MenhirLib.EngineTypes.endp = _endpos__3_;
6985 MenhirLib.EngineTypes.next = {
6986 MenhirLib.EngineTypes.semv = t;
6987 MenhirLib.EngineTypes.startp = _startpos_t_;
6988 MenhirLib.EngineTypes.endp = _endpos_t_;
6989 MenhirLib.EngineTypes.next = {
6990 MenhirLib.EngineTypes.state = _menhir_s;
6991 MenhirLib.EngineTypes.semv = _1;
6992 MenhirLib.EngineTypes.startp = _startpos__1_;
6993 MenhirLib.EngineTypes.endp = _endpos__1_;
6994 MenhirLib.EngineTypes.next = _menhir_stack;
6995 };
6996 };
6997 } = _menhir_stack in
6998 let _3 : (
6999 # 77 "parser_cocci_menhir.mly"
7000 (Data.clt)
7001 # 7002 "parser_cocci_menhir.ml"
7002 ) = Obj.magic _3 in
7003 let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in
7004 let _1 : (
7005 # 76 "parser_cocci_menhir.mly"
7006 (Data.clt)
7007 # 7008 "parser_cocci_menhir.ml"
7008 ) = Obj.magic _1 in
7009 let _startpos = _startpos__1_ in
7010 let _endpos = _endpos__3_ in
7011 let _v : 'tv_decl_statement =
7012 # 1156 "parser_cocci_menhir.mly"
7013 ( let (mids,code) = t in
7014 if List.for_all
7015 (function x ->
7016 match Ast0.unwrap x with Ast0.DOTS([]) -> true | _ -> false)
7017 code
7018 then []
7019 else
7020 [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, code, mids,
7021 P.clt2mcode ")" _3))] )
7022 # 7023 "parser_cocci_menhir.ml"
7023 in
7024 _menhir_env.MenhirLib.EngineTypes.stack <- {
7025 MenhirLib.EngineTypes.state = _menhir_s;
7026 MenhirLib.EngineTypes.semv = Obj.repr _v;
7027 MenhirLib.EngineTypes.startp = _startpos;
7028 MenhirLib.EngineTypes.endp = _endpos;
7029 MenhirLib.EngineTypes.next = _menhir_stack;
7030 });
7031 (fun _menhir_env ->
7032 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7033 let {
7034 MenhirLib.EngineTypes.state = _menhir_s;
7035 MenhirLib.EngineTypes.semv = _1;
7036 MenhirLib.EngineTypes.startp = _startpos__1_;
7037 MenhirLib.EngineTypes.endp = _endpos__1_;
7038 MenhirLib.EngineTypes.next = _menhir_stack;
7039 } = _menhir_stack in
7040 let _1 : (
7041 # 64 "parser_cocci_menhir.mly"
7042 (Parse_aux.info)
7043 # 7044 "parser_cocci_menhir.ml"
7044 ) = Obj.magic _1 in
7045 let _startpos = _startpos__1_ in
7046 let _endpos = _endpos__1_ in
7047 let _v : 'tv_decl_statement_expr =
7048 # 1169 "parser_cocci_menhir.mly"
7049 ( let (nm,pure,clt) = _1 in
7050 [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
7051 # 7052 "parser_cocci_menhir.ml"
7052 in
7053 _menhir_env.MenhirLib.EngineTypes.stack <- {
7054 MenhirLib.EngineTypes.state = _menhir_s;
7055 MenhirLib.EngineTypes.semv = Obj.repr _v;
7056 MenhirLib.EngineTypes.startp = _startpos;
7057 MenhirLib.EngineTypes.endp = _endpos;
7058 MenhirLib.EngineTypes.next = _menhir_stack;
7059 });
7060 (fun _menhir_env ->
7061 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7062 let {
7063 MenhirLib.EngineTypes.state = _menhir_s;
7064 MenhirLib.EngineTypes.semv = _1;
7065 MenhirLib.EngineTypes.startp = _startpos__1_;
7066 MenhirLib.EngineTypes.endp = _endpos__1_;
7067 MenhirLib.EngineTypes.next = _menhir_stack;
7068 } = _menhir_stack in
7069 let _1 : 'tv_decl_var = Obj.magic _1 in
7070 let _startpos = _startpos__1_ in
7071 let _endpos = _endpos__1_ in
7072 let _v : 'tv_decl_statement_expr =
7073 # 1172 "parser_cocci_menhir.mly"
7074 ( List.map
7075 (function x ->
7076 Ast0.wrap
7077 (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
7078 _1 )
7079 # 7080 "parser_cocci_menhir.ml"
7080 in
7081 _menhir_env.MenhirLib.EngineTypes.stack <- {
7082 MenhirLib.EngineTypes.state = _menhir_s;
7083 MenhirLib.EngineTypes.semv = Obj.repr _v;
7084 MenhirLib.EngineTypes.startp = _startpos;
7085 MenhirLib.EngineTypes.endp = _endpos;
7086 MenhirLib.EngineTypes.next = _menhir_stack;
7087 });
7088 (fun _menhir_env ->
7089 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7090 let {
7091 MenhirLib.EngineTypes.state = _menhir_s;
7092 MenhirLib.EngineTypes.semv = _1;
7093 MenhirLib.EngineTypes.startp = _startpos__1_;
7094 MenhirLib.EngineTypes.endp = _endpos__1_;
7095 MenhirLib.EngineTypes.next = _menhir_stack;
7096 } = _menhir_stack in
7097 let _1 : 'tv_statement = Obj.magic _1 in
7098 let _startpos = _startpos__1_ in
7099 let _endpos = _endpos__1_ in
7100 let _v : 'tv_decl_statement_expr =
7101 # 1177 "parser_cocci_menhir.mly"
7102 ( [_1] )
7103 # 7104 "parser_cocci_menhir.ml"
7104 in
7105 _menhir_env.MenhirLib.EngineTypes.stack <- {
7106 MenhirLib.EngineTypes.state = _menhir_s;
7107 MenhirLib.EngineTypes.semv = Obj.repr _v;
7108 MenhirLib.EngineTypes.startp = _startpos;
7109 MenhirLib.EngineTypes.endp = _endpos;
7110 MenhirLib.EngineTypes.next = _menhir_stack;
7111 });
7112 (fun _menhir_env ->
7113 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7114 let {
7115 MenhirLib.EngineTypes.semv = _3;
7116 MenhirLib.EngineTypes.startp = _startpos__3_;
7117 MenhirLib.EngineTypes.endp = _endpos__3_;
7118 MenhirLib.EngineTypes.next = {
7119 MenhirLib.EngineTypes.semv = t;
7120 MenhirLib.EngineTypes.startp = _startpos_t_;
7121 MenhirLib.EngineTypes.endp = _endpos_t_;
7122 MenhirLib.EngineTypes.next = {
7123 MenhirLib.EngineTypes.state = _menhir_s;
7124 MenhirLib.EngineTypes.semv = _1;
7125 MenhirLib.EngineTypes.startp = _startpos__1_;
7126 MenhirLib.EngineTypes.endp = _endpos__1_;
7127 MenhirLib.EngineTypes.next = _menhir_stack;
7128 };
7129 };
7130 } = _menhir_stack in
7131 let _3 : (
7132 # 77 "parser_cocci_menhir.mly"
7133 (Data.clt)
7134 # 7135 "parser_cocci_menhir.ml"
7135 ) = Obj.magic _3 in
7136 let t : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = Obj.magic t in
7137 let _1 : (
7138 # 76 "parser_cocci_menhir.mly"
7139 (Data.clt)
7140 # 7141 "parser_cocci_menhir.ml"
7141 ) = Obj.magic _1 in
7142 let _startpos = _startpos__1_ in
7143 let _endpos = _endpos__3_ in
7144 let _v : 'tv_decl_statement_expr =
7145 # 1186 "parser_cocci_menhir.mly"
7146 ( let (mids,code) = t in
7147 if List.for_all (function [] -> true | _ -> false) code
7148 then []
7149 else
7150 let dot_code =
7151 List.map (function x -> Ast0.wrap(Ast0.DOTS x)) code in
7152 [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, dot_code, mids,
7153 P.clt2mcode ")" _3))] )
7154 # 7155 "parser_cocci_menhir.ml"
7155 in
7156 _menhir_env.MenhirLib.EngineTypes.stack <- {
7157 MenhirLib.EngineTypes.state = _menhir_s;
7158 MenhirLib.EngineTypes.semv = Obj.repr _v;
7159 MenhirLib.EngineTypes.startp = _startpos;
7160 MenhirLib.EngineTypes.endp = _endpos;
7161 MenhirLib.EngineTypes.next = _menhir_stack;
7162 });
7163 (fun _menhir_env ->
7164 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7165 let {
7166 MenhirLib.EngineTypes.semv = pv;
7167 MenhirLib.EngineTypes.startp = _startpos_pv_;
7168 MenhirLib.EngineTypes.endp = _endpos_pv_;
7169 MenhirLib.EngineTypes.next = {
7170 MenhirLib.EngineTypes.state = _menhir_s;
7171 MenhirLib.EngineTypes.semv = t;
7172 MenhirLib.EngineTypes.startp = _startpos_t_;
7173 MenhirLib.EngineTypes.endp = _endpos_t_;
7174 MenhirLib.EngineTypes.next = _menhir_stack;
7175 };
7176 } = _menhir_stack in
7177 let pv : (
7178 # 107 "parser_cocci_menhir.mly"
7179 (Data.clt)
7180 # 7181 "parser_cocci_menhir.ml"
7181 ) = Obj.magic pv in
7182 let t : 'tv_ctype = Obj.magic t in
7183 let _startpos = _startpos_t_ in
7184 let _endpos = _endpos_pv_ in
7185 let _v : 'tv_decl_var =
7186 # 952 "parser_cocci_menhir.mly"
7187 ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] )
7188 # 7189 "parser_cocci_menhir.ml"
7189 in
7190 _menhir_env.MenhirLib.EngineTypes.stack <- {
7191 MenhirLib.EngineTypes.state = _menhir_s;
7192 MenhirLib.EngineTypes.semv = Obj.repr _v;
7193 MenhirLib.EngineTypes.startp = _startpos;
7194 MenhirLib.EngineTypes.endp = _endpos;
7195 MenhirLib.EngineTypes.next = _menhir_stack;
7196 });
7197 (fun _menhir_env ->
7198 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7199 let {
7200 MenhirLib.EngineTypes.semv = pv;
7201 MenhirLib.EngineTypes.startp = _startpos_pv_;
7202 MenhirLib.EngineTypes.endp = _endpos_pv_;
7203 MenhirLib.EngineTypes.next = {
7204 MenhirLib.EngineTypes.semv = d;
7205 MenhirLib.EngineTypes.startp = _startpos_d_;
7206 MenhirLib.EngineTypes.endp = _endpos_d_;
7207 MenhirLib.EngineTypes.next = {
7208 MenhirLib.EngineTypes.state = _menhir_s;
7209 MenhirLib.EngineTypes.semv = t;
7210 MenhirLib.EngineTypes.startp = _startpos_t_;
7211 MenhirLib.EngineTypes.endp = _endpos_t_;
7212 MenhirLib.EngineTypes.next = _menhir_stack;
7213 };
7214 };
7215 } = _menhir_stack in
7216 let pv : (
7217 # 107 "parser_cocci_menhir.mly"
7218 (Data.clt)
7219 # 7220 "parser_cocci_menhir.ml"
7220 ) = Obj.magic pv in
7221 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
7222 let t : 'tv_ctype = Obj.magic t in
7223 let _startpos = _startpos_t_ in
7224 let _endpos = _endpos_pv_ in
7225 let _v : 'tv_decl_var = let s =
7226
7227 # 39 "standard.mly"
7228 ( None )
7229 # 7230 "parser_cocci_menhir.ml"
7230
7231 in
7232
7233 # 954 "parser_cocci_menhir.mly"
7234 ( List.map
7235 (function (id,fn) ->
7236 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
7237 d )
7238 # 7239 "parser_cocci_menhir.ml"
7239 in
7240 _menhir_env.MenhirLib.EngineTypes.stack <- {
7241 MenhirLib.EngineTypes.state = _menhir_s;
7242 MenhirLib.EngineTypes.semv = Obj.repr _v;
7243 MenhirLib.EngineTypes.startp = _startpos;
7244 MenhirLib.EngineTypes.endp = _endpos;
7245 MenhirLib.EngineTypes.next = _menhir_stack;
7246 });
7247 (fun _menhir_env ->
7248 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7249 let {
7250 MenhirLib.EngineTypes.semv = pv;
7251 MenhirLib.EngineTypes.startp = _startpos_pv_;
7252 MenhirLib.EngineTypes.endp = _endpos_pv_;
7253 MenhirLib.EngineTypes.next = {
7254 MenhirLib.EngineTypes.semv = d;
7255 MenhirLib.EngineTypes.startp = _startpos_d_;
7256 MenhirLib.EngineTypes.endp = _endpos_d_;
7257 MenhirLib.EngineTypes.next = {
7258 MenhirLib.EngineTypes.semv = t;
7259 MenhirLib.EngineTypes.startp = _startpos_t_;
7260 MenhirLib.EngineTypes.endp = _endpos_t_;
7261 MenhirLib.EngineTypes.next = {
7262 MenhirLib.EngineTypes.state = _menhir_s;
7263 MenhirLib.EngineTypes.semv = x0;
7264 MenhirLib.EngineTypes.startp = _startpos_x0_;
7265 MenhirLib.EngineTypes.endp = _endpos_x0_;
7266 MenhirLib.EngineTypes.next = _menhir_stack;
7267 };
7268 };
7269 };
7270 } = _menhir_stack in
7271 let pv : (
7272 # 107 "parser_cocci_menhir.mly"
7273 (Data.clt)
7274 # 7275 "parser_cocci_menhir.ml"
7275 ) = Obj.magic pv in
7276 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
7277 let t : 'tv_ctype = Obj.magic t in
7278 let x0 : 'tv_storage = Obj.magic x0 in
7279 let _startpos = _startpos_x0_ in
7280 let _endpos = _endpos_pv_ in
7281 let _v : 'tv_decl_var = let s =
7282 let x = x0 in
7283
7284 # 41 "standard.mly"
7285 ( Some x )
7286 # 7287 "parser_cocci_menhir.ml"
7287
7288 in
7289
7290 # 954 "parser_cocci_menhir.mly"
7291 ( List.map
7292 (function (id,fn) ->
7293 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
7294 d )
7295 # 7296 "parser_cocci_menhir.ml"
7296 in
7297 _menhir_env.MenhirLib.EngineTypes.stack <- {
7298 MenhirLib.EngineTypes.state = _menhir_s;
7299 MenhirLib.EngineTypes.semv = Obj.repr _v;
7300 MenhirLib.EngineTypes.startp = _startpos;
7301 MenhirLib.EngineTypes.endp = _endpos;
7302 MenhirLib.EngineTypes.next = _menhir_stack;
7303 });
7304 (fun _menhir_env ->
7305 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7306 let {
7307 MenhirLib.EngineTypes.state = _menhir_s;
7308 MenhirLib.EngineTypes.semv = f;
7309 MenhirLib.EngineTypes.startp = _startpos_f_;
7310 MenhirLib.EngineTypes.endp = _endpos_f_;
7311 MenhirLib.EngineTypes.next = _menhir_stack;
7312 } = _menhir_stack in
7313 let f : 'tv_funproto = Obj.magic f in
7314 let _startpos = _startpos_f_ in
7315 let _endpos = _endpos_f_ in
7316 let _v : 'tv_decl_var =
7317 # 958 "parser_cocci_menhir.mly"
7318 ( [f] )
7319 # 7320 "parser_cocci_menhir.ml"
7320 in
7321 _menhir_env.MenhirLib.EngineTypes.stack <- {
7322 MenhirLib.EngineTypes.state = _menhir_s;
7323 MenhirLib.EngineTypes.semv = Obj.repr _v;
7324 MenhirLib.EngineTypes.startp = _startpos;
7325 MenhirLib.EngineTypes.endp = _endpos;
7326 MenhirLib.EngineTypes.next = _menhir_stack;
7327 });
7328 (fun _menhir_env ->
7329 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7330 let {
7331 MenhirLib.EngineTypes.semv = pv;
7332 MenhirLib.EngineTypes.startp = _startpos_pv_;
7333 MenhirLib.EngineTypes.endp = _endpos_pv_;
7334 MenhirLib.EngineTypes.next = {
7335 MenhirLib.EngineTypes.semv = e;
7336 MenhirLib.EngineTypes.startp = _startpos_e_;
7337 MenhirLib.EngineTypes.endp = _endpos_e_;
7338 MenhirLib.EngineTypes.next = {
7339 MenhirLib.EngineTypes.semv = q;
7340 MenhirLib.EngineTypes.startp = _startpos_q_;
7341 MenhirLib.EngineTypes.endp = _endpos_q_;
7342 MenhirLib.EngineTypes.next = {
7343 MenhirLib.EngineTypes.semv = d;
7344 MenhirLib.EngineTypes.startp = _startpos_d_;
7345 MenhirLib.EngineTypes.endp = _endpos_d_;
7346 MenhirLib.EngineTypes.next = {
7347 MenhirLib.EngineTypes.state = _menhir_s;
7348 MenhirLib.EngineTypes.semv = t;
7349 MenhirLib.EngineTypes.startp = _startpos_t_;
7350 MenhirLib.EngineTypes.endp = _endpos_t_;
7351 MenhirLib.EngineTypes.next = _menhir_stack;
7352 };
7353 };
7354 };
7355 };
7356 } = _menhir_stack in
7357 let pv : (
7358 # 107 "parser_cocci_menhir.mly"
7359 (Data.clt)
7360 # 7361 "parser_cocci_menhir.ml"
7361 ) = Obj.magic pv in
7362 let e : 'tv_initialize = Obj.magic e in
7363 let q : (
7364 # 107 "parser_cocci_menhir.mly"
7365 (Data.clt)
7366 # 7367 "parser_cocci_menhir.ml"
7367 ) = Obj.magic q in
7368 let d : 'tv_d_ident = Obj.magic d in
7369 let t : 'tv_ctype = Obj.magic t in
7370 let _startpos = _startpos_t_ in
7371 let _endpos = _endpos_pv_ in
7372 let _v : 'tv_decl_var = let s =
7373
7374 # 39 "standard.mly"
7375 ( None )
7376 # 7377 "parser_cocci_menhir.ml"
7377
7378 in
7379
7380 # 960 "parser_cocci_menhir.mly"
7381 (let (id,fn) = d in
7382 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
7383 # 7384 "parser_cocci_menhir.ml"
7384 in
7385 _menhir_env.MenhirLib.EngineTypes.stack <- {
7386 MenhirLib.EngineTypes.state = _menhir_s;
7387 MenhirLib.EngineTypes.semv = Obj.repr _v;
7388 MenhirLib.EngineTypes.startp = _startpos;
7389 MenhirLib.EngineTypes.endp = _endpos;
7390 MenhirLib.EngineTypes.next = _menhir_stack;
7391 });
7392 (fun _menhir_env ->
7393 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7394 let {
7395 MenhirLib.EngineTypes.semv = pv;
7396 MenhirLib.EngineTypes.startp = _startpos_pv_;
7397 MenhirLib.EngineTypes.endp = _endpos_pv_;
7398 MenhirLib.EngineTypes.next = {
7399 MenhirLib.EngineTypes.semv = e;
7400 MenhirLib.EngineTypes.startp = _startpos_e_;
7401 MenhirLib.EngineTypes.endp = _endpos_e_;
7402 MenhirLib.EngineTypes.next = {
7403 MenhirLib.EngineTypes.semv = q;
7404 MenhirLib.EngineTypes.startp = _startpos_q_;
7405 MenhirLib.EngineTypes.endp = _endpos_q_;
7406 MenhirLib.EngineTypes.next = {
7407 MenhirLib.EngineTypes.semv = d;
7408 MenhirLib.EngineTypes.startp = _startpos_d_;
7409 MenhirLib.EngineTypes.endp = _endpos_d_;
7410 MenhirLib.EngineTypes.next = {
7411 MenhirLib.EngineTypes.semv = t;
7412 MenhirLib.EngineTypes.startp = _startpos_t_;
7413 MenhirLib.EngineTypes.endp = _endpos_t_;
7414 MenhirLib.EngineTypes.next = {
7415 MenhirLib.EngineTypes.state = _menhir_s;
7416 MenhirLib.EngineTypes.semv = x0;
7417 MenhirLib.EngineTypes.startp = _startpos_x0_;
7418 MenhirLib.EngineTypes.endp = _endpos_x0_;
7419 MenhirLib.EngineTypes.next = _menhir_stack;
7420 };
7421 };
7422 };
7423 };
7424 };
7425 } = _menhir_stack in
7426 let pv : (
7427 # 107 "parser_cocci_menhir.mly"
7428 (Data.clt)
7429 # 7430 "parser_cocci_menhir.ml"
7430 ) = Obj.magic pv in
7431 let e : 'tv_initialize = Obj.magic e in
7432 let q : (
7433 # 107 "parser_cocci_menhir.mly"
7434 (Data.clt)
7435 # 7436 "parser_cocci_menhir.ml"
7436 ) = Obj.magic q in
7437 let d : 'tv_d_ident = Obj.magic d in
7438 let t : 'tv_ctype = Obj.magic t in
7439 let x0 : 'tv_storage = Obj.magic x0 in
7440 let _startpos = _startpos_x0_ in
7441 let _endpos = _endpos_pv_ in
7442 let _v : 'tv_decl_var = let s =
7443 let x = x0 in
7444
7445 # 41 "standard.mly"
7446 ( Some x )
7447 # 7448 "parser_cocci_menhir.ml"
7448
7449 in
7450
7451 # 960 "parser_cocci_menhir.mly"
7452 (let (id,fn) = d in
7453 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
7454 # 7455 "parser_cocci_menhir.ml"
7455 in
7456 _menhir_env.MenhirLib.EngineTypes.stack <- {
7457 MenhirLib.EngineTypes.state = _menhir_s;
7458 MenhirLib.EngineTypes.semv = Obj.repr _v;
7459 MenhirLib.EngineTypes.startp = _startpos;
7460 MenhirLib.EngineTypes.endp = _endpos;
7461 MenhirLib.EngineTypes.next = _menhir_stack;
7462 });
7463 (fun _menhir_env ->
7464 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7465 let {
7466 MenhirLib.EngineTypes.semv = pv;
7467 MenhirLib.EngineTypes.startp = _startpos_pv_;
7468 MenhirLib.EngineTypes.endp = _endpos_pv_;
7469 MenhirLib.EngineTypes.next = {
7470 MenhirLib.EngineTypes.semv = d;
7471 MenhirLib.EngineTypes.startp = _startpos_d_;
7472 MenhirLib.EngineTypes.endp = _endpos_d_;
7473 MenhirLib.EngineTypes.next = {
7474 MenhirLib.EngineTypes.state = _menhir_s;
7475 MenhirLib.EngineTypes.semv = i;
7476 MenhirLib.EngineTypes.startp = _startpos_i_;
7477 MenhirLib.EngineTypes.endp = _endpos_i_;
7478 MenhirLib.EngineTypes.next = _menhir_stack;
7479 };
7480 };
7481 } = _menhir_stack in
7482 let pv : (
7483 # 107 "parser_cocci_menhir.mly"
7484 (Data.clt)
7485 # 7486 "parser_cocci_menhir.ml"
7486 ) = Obj.magic pv in
7487 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
7488 let i : 'tv_pure_ident = Obj.magic i in
7489 let _startpos = _startpos_i_ in
7490 let _endpos = _endpos_pv_ in
7491 let _v : 'tv_decl_var = let cv =
7492
7493 # 39 "standard.mly"
7494 ( None )
7495 # 7496 "parser_cocci_menhir.ml"
7496
7497 in
7498 let s =
7499
7500 # 39 "standard.mly"
7501 ( None )
7502 # 7503 "parser_cocci_menhir.ml"
7503
7504 in
7505
7506 # 965 "parser_cocci_menhir.mly"
7507 ( List.map
7508 (function (id,fn) ->
7509 let idtype =
7510 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
7511 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
7512 d )
7513 # 7514 "parser_cocci_menhir.ml"
7514 in
7515 _menhir_env.MenhirLib.EngineTypes.stack <- {
7516 MenhirLib.EngineTypes.state = _menhir_s;
7517 MenhirLib.EngineTypes.semv = Obj.repr _v;
7518 MenhirLib.EngineTypes.startp = _startpos;
7519 MenhirLib.EngineTypes.endp = _endpos;
7520 MenhirLib.EngineTypes.next = _menhir_stack;
7521 });
7522 (fun _menhir_env ->
7523 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7524 let {
7525 MenhirLib.EngineTypes.semv = pv;
7526 MenhirLib.EngineTypes.startp = _startpos_pv_;
7527 MenhirLib.EngineTypes.endp = _endpos_pv_;
7528 MenhirLib.EngineTypes.next = {
7529 MenhirLib.EngineTypes.semv = d;
7530 MenhirLib.EngineTypes.startp = _startpos_d_;
7531 MenhirLib.EngineTypes.endp = _endpos_d_;
7532 MenhirLib.EngineTypes.next = {
7533 MenhirLib.EngineTypes.semv = i;
7534 MenhirLib.EngineTypes.startp = _startpos_i_;
7535 MenhirLib.EngineTypes.endp = _endpos_i_;
7536 MenhirLib.EngineTypes.next = {
7537 MenhirLib.EngineTypes.state = _menhir_s;
7538 MenhirLib.EngineTypes.semv = x0;
7539 MenhirLib.EngineTypes.startp = _startpos_x0_;
7540 MenhirLib.EngineTypes.endp = _endpos_x0_;
7541 MenhirLib.EngineTypes.next = _menhir_stack;
7542 };
7543 };
7544 };
7545 } = _menhir_stack in
7546 let pv : (
7547 # 107 "parser_cocci_menhir.mly"
7548 (Data.clt)
7549 # 7550 "parser_cocci_menhir.ml"
7550 ) = Obj.magic pv in
7551 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
7552 let i : 'tv_pure_ident = Obj.magic i in
7553 let x0 : 'tv_const_vol = Obj.magic x0 in
7554 let _startpos = _startpos_x0_ in
7555 let _endpos = _endpos_pv_ in
7556 let _v : 'tv_decl_var = let cv =
7557 let x = x0 in
7558
7559 # 41 "standard.mly"
7560 ( Some x )
7561 # 7562 "parser_cocci_menhir.ml"
7562
7563 in
7564 let s =
7565
7566 # 39 "standard.mly"
7567 ( None )
7568 # 7569 "parser_cocci_menhir.ml"
7569
7570 in
7571
7572 # 965 "parser_cocci_menhir.mly"
7573 ( List.map
7574 (function (id,fn) ->
7575 let idtype =
7576 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
7577 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
7578 d )
7579 # 7580 "parser_cocci_menhir.ml"
7580 in
7581 _menhir_env.MenhirLib.EngineTypes.stack <- {
7582 MenhirLib.EngineTypes.state = _menhir_s;
7583 MenhirLib.EngineTypes.semv = Obj.repr _v;
7584 MenhirLib.EngineTypes.startp = _startpos;
7585 MenhirLib.EngineTypes.endp = _endpos;
7586 MenhirLib.EngineTypes.next = _menhir_stack;
7587 });
7588 (fun _menhir_env ->
7589 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7590 let {
7591 MenhirLib.EngineTypes.semv = pv;
7592 MenhirLib.EngineTypes.startp = _startpos_pv_;
7593 MenhirLib.EngineTypes.endp = _endpos_pv_;
7594 MenhirLib.EngineTypes.next = {
7595 MenhirLib.EngineTypes.semv = d;
7596 MenhirLib.EngineTypes.startp = _startpos_d_;
7597 MenhirLib.EngineTypes.endp = _endpos_d_;
7598 MenhirLib.EngineTypes.next = {
7599 MenhirLib.EngineTypes.semv = i;
7600 MenhirLib.EngineTypes.startp = _startpos_i_;
7601 MenhirLib.EngineTypes.endp = _endpos_i_;
7602 MenhirLib.EngineTypes.next = {
7603 MenhirLib.EngineTypes.state = _menhir_s;
7604 MenhirLib.EngineTypes.semv = x0;
7605 MenhirLib.EngineTypes.startp = _startpos_x0_;
7606 MenhirLib.EngineTypes.endp = _endpos_x0_;
7607 MenhirLib.EngineTypes.next = _menhir_stack;
7608 };
7609 };
7610 };
7611 } = _menhir_stack in
7612 let pv : (
7613 # 107 "parser_cocci_menhir.mly"
7614 (Data.clt)
7615 # 7616 "parser_cocci_menhir.ml"
7616 ) = Obj.magic pv in
7617 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
7618 let i : 'tv_pure_ident = Obj.magic i in
7619 let x0 : 'tv_storage = Obj.magic x0 in
7620 let _startpos = _startpos_x0_ in
7621 let _endpos = _endpos_pv_ in
7622 let _v : 'tv_decl_var = let cv =
7623
7624 # 39 "standard.mly"
7625 ( None )
7626 # 7627 "parser_cocci_menhir.ml"
7627
7628 in
7629 let s =
7630 let x = x0 in
7631
7632 # 41 "standard.mly"
7633 ( Some x )
7634 # 7635 "parser_cocci_menhir.ml"
7635
7636 in
7637
7638 # 965 "parser_cocci_menhir.mly"
7639 ( List.map
7640 (function (id,fn) ->
7641 let idtype =
7642 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
7643 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
7644 d )
7645 # 7646 "parser_cocci_menhir.ml"
7646 in
7647 _menhir_env.MenhirLib.EngineTypes.stack <- {
7648 MenhirLib.EngineTypes.state = _menhir_s;
7649 MenhirLib.EngineTypes.semv = Obj.repr _v;
7650 MenhirLib.EngineTypes.startp = _startpos;
7651 MenhirLib.EngineTypes.endp = _endpos;
7652 MenhirLib.EngineTypes.next = _menhir_stack;
7653 });
7654 (fun _menhir_env ->
7655 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7656 let {
7657 MenhirLib.EngineTypes.semv = pv;
7658 MenhirLib.EngineTypes.startp = _startpos_pv_;
7659 MenhirLib.EngineTypes.endp = _endpos_pv_;
7660 MenhirLib.EngineTypes.next = {
7661 MenhirLib.EngineTypes.semv = d;
7662 MenhirLib.EngineTypes.startp = _startpos_d_;
7663 MenhirLib.EngineTypes.endp = _endpos_d_;
7664 MenhirLib.EngineTypes.next = {
7665 MenhirLib.EngineTypes.semv = i;
7666 MenhirLib.EngineTypes.startp = _startpos_i_;
7667 MenhirLib.EngineTypes.endp = _endpos_i_;
7668 MenhirLib.EngineTypes.next = {
7669 MenhirLib.EngineTypes.semv = x1;
7670 MenhirLib.EngineTypes.startp = _startpos_x1_;
7671 MenhirLib.EngineTypes.endp = _endpos_x1_;
7672 MenhirLib.EngineTypes.next = {
7673 MenhirLib.EngineTypes.state = _menhir_s;
7674 MenhirLib.EngineTypes.semv = x0;
7675 MenhirLib.EngineTypes.startp = _startpos_x0_;
7676 MenhirLib.EngineTypes.endp = _endpos_x0_;
7677 MenhirLib.EngineTypes.next = _menhir_stack;
7678 };
7679 };
7680 };
7681 };
7682 } = _menhir_stack in
7683 let pv : (
7684 # 107 "parser_cocci_menhir.mly"
7685 (Data.clt)
7686 # 7687 "parser_cocci_menhir.ml"
7687 ) = Obj.magic pv in
7688 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
7689 let i : 'tv_pure_ident = Obj.magic i in
7690 let x1 : 'tv_const_vol = Obj.magic x1 in
7691 let x0 : 'tv_storage = Obj.magic x0 in
7692 let _startpos = _startpos_x0_ in
7693 let _endpos = _endpos_pv_ in
7694 let _v : 'tv_decl_var = let cv =
7695 let x = x1 in
7696
7697 # 41 "standard.mly"
7698 ( Some x )
7699 # 7700 "parser_cocci_menhir.ml"
7700
7701 in
7702 let s =
7703 let x = x0 in
7704
7705 # 41 "standard.mly"
7706 ( Some x )
7707 # 7708 "parser_cocci_menhir.ml"
7708
7709 in
7710
7711 # 965 "parser_cocci_menhir.mly"
7712 ( List.map
7713 (function (id,fn) ->
7714 let idtype =
7715 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
7716 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
7717 d )
7718 # 7719 "parser_cocci_menhir.ml"
7719 in
7720 _menhir_env.MenhirLib.EngineTypes.stack <- {
7721 MenhirLib.EngineTypes.state = _menhir_s;
7722 MenhirLib.EngineTypes.semv = Obj.repr _v;
7723 MenhirLib.EngineTypes.startp = _startpos;
7724 MenhirLib.EngineTypes.endp = _endpos;
7725 MenhirLib.EngineTypes.next = _menhir_stack;
7726 });
7727 (fun _menhir_env ->
7728 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7729 let {
7730 MenhirLib.EngineTypes.semv = pv;
7731 MenhirLib.EngineTypes.startp = _startpos_pv_;
7732 MenhirLib.EngineTypes.endp = _endpos_pv_;
7733 MenhirLib.EngineTypes.next = {
7734 MenhirLib.EngineTypes.semv = e;
7735 MenhirLib.EngineTypes.startp = _startpos_e_;
7736 MenhirLib.EngineTypes.endp = _endpos_e_;
7737 MenhirLib.EngineTypes.next = {
7738 MenhirLib.EngineTypes.semv = q;
7739 MenhirLib.EngineTypes.startp = _startpos_q_;
7740 MenhirLib.EngineTypes.endp = _endpos_q_;
7741 MenhirLib.EngineTypes.next = {
7742 MenhirLib.EngineTypes.semv = d;
7743 MenhirLib.EngineTypes.startp = _startpos_d_;
7744 MenhirLib.EngineTypes.endp = _endpos_d_;
7745 MenhirLib.EngineTypes.next = {
7746 MenhirLib.EngineTypes.state = _menhir_s;
7747 MenhirLib.EngineTypes.semv = i;
7748 MenhirLib.EngineTypes.startp = _startpos_i_;
7749 MenhirLib.EngineTypes.endp = _endpos_i_;
7750 MenhirLib.EngineTypes.next = _menhir_stack;
7751 };
7752 };
7753 };
7754 };
7755 } = _menhir_stack in
7756 let pv : (
7757 # 107 "parser_cocci_menhir.mly"
7758 (Data.clt)
7759 # 7760 "parser_cocci_menhir.ml"
7760 ) = Obj.magic pv in
7761 let e : 'tv_initialize = Obj.magic e in
7762 let q : (
7763 # 107 "parser_cocci_menhir.mly"
7764 (Data.clt)
7765 # 7766 "parser_cocci_menhir.ml"
7766 ) = Obj.magic q in
7767 let d : 'tv_d_ident = Obj.magic d in
7768 let i : 'tv_pure_ident = Obj.magic i in
7769 let _startpos = _startpos_i_ in
7770 let _endpos = _endpos_pv_ in
7771 let _v : 'tv_decl_var = let cv =
7772
7773 # 39 "standard.mly"
7774 ( None )
7775 # 7776 "parser_cocci_menhir.ml"
7776
7777 in
7778 let s =
7779
7780 # 39 "standard.mly"
7781 ( None )
7782 # 7783 "parser_cocci_menhir.ml"
7783
7784 in
7785
7786 # 973 "parser_cocci_menhir.mly"
7787 ( let (id,fn) = d in
7788 !Data.add_type_name (P.id2name i);
7789 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
7790 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
7791 P.clt2mcode ";" pv))] )
7792 # 7793 "parser_cocci_menhir.ml"
7793 in
7794 _menhir_env.MenhirLib.EngineTypes.stack <- {
7795 MenhirLib.EngineTypes.state = _menhir_s;
7796 MenhirLib.EngineTypes.semv = Obj.repr _v;
7797 MenhirLib.EngineTypes.startp = _startpos;
7798 MenhirLib.EngineTypes.endp = _endpos;
7799 MenhirLib.EngineTypes.next = _menhir_stack;
7800 });
7801 (fun _menhir_env ->
7802 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7803 let {
7804 MenhirLib.EngineTypes.semv = pv;
7805 MenhirLib.EngineTypes.startp = _startpos_pv_;
7806 MenhirLib.EngineTypes.endp = _endpos_pv_;
7807 MenhirLib.EngineTypes.next = {
7808 MenhirLib.EngineTypes.semv = e;
7809 MenhirLib.EngineTypes.startp = _startpos_e_;
7810 MenhirLib.EngineTypes.endp = _endpos_e_;
7811 MenhirLib.EngineTypes.next = {
7812 MenhirLib.EngineTypes.semv = q;
7813 MenhirLib.EngineTypes.startp = _startpos_q_;
7814 MenhirLib.EngineTypes.endp = _endpos_q_;
7815 MenhirLib.EngineTypes.next = {
7816 MenhirLib.EngineTypes.semv = d;
7817 MenhirLib.EngineTypes.startp = _startpos_d_;
7818 MenhirLib.EngineTypes.endp = _endpos_d_;
7819 MenhirLib.EngineTypes.next = {
7820 MenhirLib.EngineTypes.semv = i;
7821 MenhirLib.EngineTypes.startp = _startpos_i_;
7822 MenhirLib.EngineTypes.endp = _endpos_i_;
7823 MenhirLib.EngineTypes.next = {
7824 MenhirLib.EngineTypes.state = _menhir_s;
7825 MenhirLib.EngineTypes.semv = x0;
7826 MenhirLib.EngineTypes.startp = _startpos_x0_;
7827 MenhirLib.EngineTypes.endp = _endpos_x0_;
7828 MenhirLib.EngineTypes.next = _menhir_stack;
7829 };
7830 };
7831 };
7832 };
7833 };
7834 } = _menhir_stack in
7835 let pv : (
7836 # 107 "parser_cocci_menhir.mly"
7837 (Data.clt)
7838 # 7839 "parser_cocci_menhir.ml"
7839 ) = Obj.magic pv in
7840 let e : 'tv_initialize = Obj.magic e in
7841 let q : (
7842 # 107 "parser_cocci_menhir.mly"
7843 (Data.clt)
7844 # 7845 "parser_cocci_menhir.ml"
7845 ) = Obj.magic q in
7846 let d : 'tv_d_ident = Obj.magic d in
7847 let i : 'tv_pure_ident = Obj.magic i in
7848 let x0 : 'tv_const_vol = Obj.magic x0 in
7849 let _startpos = _startpos_x0_ in
7850 let _endpos = _endpos_pv_ in
7851 let _v : 'tv_decl_var = let cv =
7852 let x = x0 in
7853
7854 # 41 "standard.mly"
7855 ( Some x )
7856 # 7857 "parser_cocci_menhir.ml"
7857
7858 in
7859 let s =
7860
7861 # 39 "standard.mly"
7862 ( None )
7863 # 7864 "parser_cocci_menhir.ml"
7864
7865 in
7866
7867 # 973 "parser_cocci_menhir.mly"
7868 ( let (id,fn) = d in
7869 !Data.add_type_name (P.id2name i);
7870 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
7871 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
7872 P.clt2mcode ";" pv))] )
7873 # 7874 "parser_cocci_menhir.ml"
7874 in
7875 _menhir_env.MenhirLib.EngineTypes.stack <- {
7876 MenhirLib.EngineTypes.state = _menhir_s;
7877 MenhirLib.EngineTypes.semv = Obj.repr _v;
7878 MenhirLib.EngineTypes.startp = _startpos;
7879 MenhirLib.EngineTypes.endp = _endpos;
7880 MenhirLib.EngineTypes.next = _menhir_stack;
7881 });
7882 (fun _menhir_env ->
7883 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7884 let {
7885 MenhirLib.EngineTypes.semv = pv;
7886 MenhirLib.EngineTypes.startp = _startpos_pv_;
7887 MenhirLib.EngineTypes.endp = _endpos_pv_;
7888 MenhirLib.EngineTypes.next = {
7889 MenhirLib.EngineTypes.semv = e;
7890 MenhirLib.EngineTypes.startp = _startpos_e_;
7891 MenhirLib.EngineTypes.endp = _endpos_e_;
7892 MenhirLib.EngineTypes.next = {
7893 MenhirLib.EngineTypes.semv = q;
7894 MenhirLib.EngineTypes.startp = _startpos_q_;
7895 MenhirLib.EngineTypes.endp = _endpos_q_;
7896 MenhirLib.EngineTypes.next = {
7897 MenhirLib.EngineTypes.semv = d;
7898 MenhirLib.EngineTypes.startp = _startpos_d_;
7899 MenhirLib.EngineTypes.endp = _endpos_d_;
7900 MenhirLib.EngineTypes.next = {
7901 MenhirLib.EngineTypes.semv = i;
7902 MenhirLib.EngineTypes.startp = _startpos_i_;
7903 MenhirLib.EngineTypes.endp = _endpos_i_;
7904 MenhirLib.EngineTypes.next = {
7905 MenhirLib.EngineTypes.state = _menhir_s;
7906 MenhirLib.EngineTypes.semv = x0;
7907 MenhirLib.EngineTypes.startp = _startpos_x0_;
7908 MenhirLib.EngineTypes.endp = _endpos_x0_;
7909 MenhirLib.EngineTypes.next = _menhir_stack;
7910 };
7911 };
7912 };
7913 };
7914 };
7915 } = _menhir_stack in
7916 let pv : (
7917 # 107 "parser_cocci_menhir.mly"
7918 (Data.clt)
7919 # 7920 "parser_cocci_menhir.ml"
7920 ) = Obj.magic pv in
7921 let e : 'tv_initialize = Obj.magic e in
7922 let q : (
7923 # 107 "parser_cocci_menhir.mly"
7924 (Data.clt)
7925 # 7926 "parser_cocci_menhir.ml"
7926 ) = Obj.magic q in
7927 let d : 'tv_d_ident = Obj.magic d in
7928 let i : 'tv_pure_ident = Obj.magic i in
7929 let x0 : 'tv_storage = Obj.magic x0 in
7930 let _startpos = _startpos_x0_ in
7931 let _endpos = _endpos_pv_ in
7932 let _v : 'tv_decl_var = let cv =
7933
7934 # 39 "standard.mly"
7935 ( None )
7936 # 7937 "parser_cocci_menhir.ml"
7937
7938 in
7939 let s =
7940 let x = x0 in
7941
7942 # 41 "standard.mly"
7943 ( Some x )
7944 # 7945 "parser_cocci_menhir.ml"
7945
7946 in
7947
7948 # 973 "parser_cocci_menhir.mly"
7949 ( let (id,fn) = d in
7950 !Data.add_type_name (P.id2name i);
7951 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
7952 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
7953 P.clt2mcode ";" pv))] )
7954 # 7955 "parser_cocci_menhir.ml"
7955 in
7956 _menhir_env.MenhirLib.EngineTypes.stack <- {
7957 MenhirLib.EngineTypes.state = _menhir_s;
7958 MenhirLib.EngineTypes.semv = Obj.repr _v;
7959 MenhirLib.EngineTypes.startp = _startpos;
7960 MenhirLib.EngineTypes.endp = _endpos;
7961 MenhirLib.EngineTypes.next = _menhir_stack;
7962 });
7963 (fun _menhir_env ->
7964 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7965 let {
7966 MenhirLib.EngineTypes.semv = pv;
7967 MenhirLib.EngineTypes.startp = _startpos_pv_;
7968 MenhirLib.EngineTypes.endp = _endpos_pv_;
7969 MenhirLib.EngineTypes.next = {
7970 MenhirLib.EngineTypes.semv = e;
7971 MenhirLib.EngineTypes.startp = _startpos_e_;
7972 MenhirLib.EngineTypes.endp = _endpos_e_;
7973 MenhirLib.EngineTypes.next = {
7974 MenhirLib.EngineTypes.semv = q;
7975 MenhirLib.EngineTypes.startp = _startpos_q_;
7976 MenhirLib.EngineTypes.endp = _endpos_q_;
7977 MenhirLib.EngineTypes.next = {
7978 MenhirLib.EngineTypes.semv = d;
7979 MenhirLib.EngineTypes.startp = _startpos_d_;
7980 MenhirLib.EngineTypes.endp = _endpos_d_;
7981 MenhirLib.EngineTypes.next = {
7982 MenhirLib.EngineTypes.semv = i;
7983 MenhirLib.EngineTypes.startp = _startpos_i_;
7984 MenhirLib.EngineTypes.endp = _endpos_i_;
7985 MenhirLib.EngineTypes.next = {
7986 MenhirLib.EngineTypes.semv = x1;
7987 MenhirLib.EngineTypes.startp = _startpos_x1_;
7988 MenhirLib.EngineTypes.endp = _endpos_x1_;
7989 MenhirLib.EngineTypes.next = {
7990 MenhirLib.EngineTypes.state = _menhir_s;
7991 MenhirLib.EngineTypes.semv = x0;
7992 MenhirLib.EngineTypes.startp = _startpos_x0_;
7993 MenhirLib.EngineTypes.endp = _endpos_x0_;
7994 MenhirLib.EngineTypes.next = _menhir_stack;
7995 };
7996 };
7997 };
7998 };
7999 };
8000 };
8001 } = _menhir_stack in
8002 let pv : (
8003 # 107 "parser_cocci_menhir.mly"
8004 (Data.clt)
8005 # 8006 "parser_cocci_menhir.ml"
8006 ) = Obj.magic pv in
8007 let e : 'tv_initialize = Obj.magic e in
8008 let q : (
8009 # 107 "parser_cocci_menhir.mly"
8010 (Data.clt)
8011 # 8012 "parser_cocci_menhir.ml"
8012 ) = Obj.magic q in
8013 let d : 'tv_d_ident = Obj.magic d in
8014 let i : 'tv_pure_ident = Obj.magic i in
8015 let x1 : 'tv_const_vol = Obj.magic x1 in
8016 let x0 : 'tv_storage = Obj.magic x0 in
8017 let _startpos = _startpos_x0_ in
8018 let _endpos = _endpos_pv_ in
8019 let _v : 'tv_decl_var = let cv =
8020 let x = x1 in
8021
8022 # 41 "standard.mly"
8023 ( Some x )
8024 # 8025 "parser_cocci_menhir.ml"
8025
8026 in
8027 let s =
8028 let x = x0 in
8029
8030 # 41 "standard.mly"
8031 ( Some x )
8032 # 8033 "parser_cocci_menhir.ml"
8033
8034 in
8035
8036 # 973 "parser_cocci_menhir.mly"
8037 ( let (id,fn) = d in
8038 !Data.add_type_name (P.id2name i);
8039 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
8040 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
8041 P.clt2mcode ";" pv))] )
8042 # 8043 "parser_cocci_menhir.ml"
8043 in
8044 _menhir_env.MenhirLib.EngineTypes.stack <- {
8045 MenhirLib.EngineTypes.state = _menhir_s;
8046 MenhirLib.EngineTypes.semv = Obj.repr _v;
8047 MenhirLib.EngineTypes.startp = _startpos;
8048 MenhirLib.EngineTypes.endp = _endpos;
8049 MenhirLib.EngineTypes.next = _menhir_stack;
8050 });
8051 (fun _menhir_env ->
8052 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8053 let {
8054 MenhirLib.EngineTypes.semv = pv;
8055 MenhirLib.EngineTypes.startp = _startpos_pv_;
8056 MenhirLib.EngineTypes.endp = _endpos_pv_;
8057 MenhirLib.EngineTypes.next = {
8058 MenhirLib.EngineTypes.semv = rp2;
8059 MenhirLib.EngineTypes.startp = _startpos_rp2_;
8060 MenhirLib.EngineTypes.endp = _endpos_rp2_;
8061 MenhirLib.EngineTypes.next = {
8062 MenhirLib.EngineTypes.semv = p;
8063 MenhirLib.EngineTypes.startp = _startpos_p_;
8064 MenhirLib.EngineTypes.endp = _endpos_p_;
8065 MenhirLib.EngineTypes.next = {
8066 MenhirLib.EngineTypes.semv = lp2;
8067 MenhirLib.EngineTypes.startp = _startpos_lp2_;
8068 MenhirLib.EngineTypes.endp = _endpos_lp2_;
8069 MenhirLib.EngineTypes.next = {
8070 MenhirLib.EngineTypes.semv = rp1;
8071 MenhirLib.EngineTypes.startp = _startpos_rp1_;
8072 MenhirLib.EngineTypes.endp = _endpos_rp1_;
8073 MenhirLib.EngineTypes.next = {
8074 MenhirLib.EngineTypes.semv = d;
8075 MenhirLib.EngineTypes.startp = _startpos_d_;
8076 MenhirLib.EngineTypes.endp = _endpos_d_;
8077 MenhirLib.EngineTypes.next = {
8078 MenhirLib.EngineTypes.semv = st;
8079 MenhirLib.EngineTypes.startp = _startpos_st_;
8080 MenhirLib.EngineTypes.endp = _endpos_st_;
8081 MenhirLib.EngineTypes.next = {
8082 MenhirLib.EngineTypes.semv = lp1;
8083 MenhirLib.EngineTypes.startp = _startpos_lp1_;
8084 MenhirLib.EngineTypes.endp = _endpos_lp1_;
8085 MenhirLib.EngineTypes.next = {
8086 MenhirLib.EngineTypes.state = _menhir_s;
8087 MenhirLib.EngineTypes.semv = t;
8088 MenhirLib.EngineTypes.startp = _startpos_t_;
8089 MenhirLib.EngineTypes.endp = _endpos_t_;
8090 MenhirLib.EngineTypes.next = _menhir_stack;
8091 };
8092 };
8093 };
8094 };
8095 };
8096 };
8097 };
8098 };
8099 } = _menhir_stack in
8100 let pv : (
8101 # 107 "parser_cocci_menhir.mly"
8102 (Data.clt)
8103 # 8104 "parser_cocci_menhir.ml"
8104 ) = Obj.magic pv in
8105 let rp2 : (
8106 # 77 "parser_cocci_menhir.mly"
8107 (Data.clt)
8108 # 8109 "parser_cocci_menhir.ml"
8109 ) = Obj.magic rp2 in
8110 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
8111 let lp2 : (
8112 # 76 "parser_cocci_menhir.mly"
8113 (Data.clt)
8114 # 8115 "parser_cocci_menhir.ml"
8115 ) = Obj.magic lp2 in
8116 let rp1 : (
8117 # 77 "parser_cocci_menhir.mly"
8118 (Data.clt)
8119 # 8120 "parser_cocci_menhir.ml"
8120 ) = Obj.magic rp1 in
8121 let d : 'tv_d_ident = Obj.magic d in
8122 let st : (
8123 # 99 "parser_cocci_menhir.mly"
8124 (Data.clt)
8125 # 8126 "parser_cocci_menhir.ml"
8126 ) = Obj.magic st in
8127 let lp1 : (
8128 # 76 "parser_cocci_menhir.mly"
8129 (Data.clt)
8130 # 8131 "parser_cocci_menhir.ml"
8131 ) = Obj.magic lp1 in
8132 let t : 'tv_fn_ctype = Obj.magic t in
8133 let _startpos = _startpos_t_ in
8134 let _endpos = _endpos_pv_ in
8135 let _v : 'tv_decl_var = let s =
8136
8137 # 39 "standard.mly"
8138 ( None )
8139 # 8140 "parser_cocci_menhir.ml"
8140
8141 in
8142
8143 # 983 "parser_cocci_menhir.mly"
8144 ( let (id,fn) = d in
8145 let t =
8146 Ast0.wrap
8147 (Ast0.FunctionPointer
8148 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
8149 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
8150 [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
8151 # 8152 "parser_cocci_menhir.ml"
8152 in
8153 _menhir_env.MenhirLib.EngineTypes.stack <- {
8154 MenhirLib.EngineTypes.state = _menhir_s;
8155 MenhirLib.EngineTypes.semv = Obj.repr _v;
8156 MenhirLib.EngineTypes.startp = _startpos;
8157 MenhirLib.EngineTypes.endp = _endpos;
8158 MenhirLib.EngineTypes.next = _menhir_stack;
8159 });
8160 (fun _menhir_env ->
8161 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8162 let {
8163 MenhirLib.EngineTypes.semv = pv;
8164 MenhirLib.EngineTypes.startp = _startpos_pv_;
8165 MenhirLib.EngineTypes.endp = _endpos_pv_;
8166 MenhirLib.EngineTypes.next = {
8167 MenhirLib.EngineTypes.semv = rp2;
8168 MenhirLib.EngineTypes.startp = _startpos_rp2_;
8169 MenhirLib.EngineTypes.endp = _endpos_rp2_;
8170 MenhirLib.EngineTypes.next = {
8171 MenhirLib.EngineTypes.semv = p;
8172 MenhirLib.EngineTypes.startp = _startpos_p_;
8173 MenhirLib.EngineTypes.endp = _endpos_p_;
8174 MenhirLib.EngineTypes.next = {
8175 MenhirLib.EngineTypes.semv = lp2;
8176 MenhirLib.EngineTypes.startp = _startpos_lp2_;
8177 MenhirLib.EngineTypes.endp = _endpos_lp2_;
8178 MenhirLib.EngineTypes.next = {
8179 MenhirLib.EngineTypes.semv = rp1;
8180 MenhirLib.EngineTypes.startp = _startpos_rp1_;
8181 MenhirLib.EngineTypes.endp = _endpos_rp1_;
8182 MenhirLib.EngineTypes.next = {
8183 MenhirLib.EngineTypes.semv = d;
8184 MenhirLib.EngineTypes.startp = _startpos_d_;
8185 MenhirLib.EngineTypes.endp = _endpos_d_;
8186 MenhirLib.EngineTypes.next = {
8187 MenhirLib.EngineTypes.semv = st;
8188 MenhirLib.EngineTypes.startp = _startpos_st_;
8189 MenhirLib.EngineTypes.endp = _endpos_st_;
8190 MenhirLib.EngineTypes.next = {
8191 MenhirLib.EngineTypes.semv = lp1;
8192 MenhirLib.EngineTypes.startp = _startpos_lp1_;
8193 MenhirLib.EngineTypes.endp = _endpos_lp1_;
8194 MenhirLib.EngineTypes.next = {
8195 MenhirLib.EngineTypes.semv = t;
8196 MenhirLib.EngineTypes.startp = _startpos_t_;
8197 MenhirLib.EngineTypes.endp = _endpos_t_;
8198 MenhirLib.EngineTypes.next = {
8199 MenhirLib.EngineTypes.state = _menhir_s;
8200 MenhirLib.EngineTypes.semv = x0;
8201 MenhirLib.EngineTypes.startp = _startpos_x0_;
8202 MenhirLib.EngineTypes.endp = _endpos_x0_;
8203 MenhirLib.EngineTypes.next = _menhir_stack;
8204 };
8205 };
8206 };
8207 };
8208 };
8209 };
8210 };
8211 };
8212 };
8213 } = _menhir_stack in
8214 let pv : (
8215 # 107 "parser_cocci_menhir.mly"
8216 (Data.clt)
8217 # 8218 "parser_cocci_menhir.ml"
8218 ) = Obj.magic pv in
8219 let rp2 : (
8220 # 77 "parser_cocci_menhir.mly"
8221 (Data.clt)
8222 # 8223 "parser_cocci_menhir.ml"
8223 ) = Obj.magic rp2 in
8224 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
8225 let lp2 : (
8226 # 76 "parser_cocci_menhir.mly"
8227 (Data.clt)
8228 # 8229 "parser_cocci_menhir.ml"
8229 ) = Obj.magic lp2 in
8230 let rp1 : (
8231 # 77 "parser_cocci_menhir.mly"
8232 (Data.clt)
8233 # 8234 "parser_cocci_menhir.ml"
8234 ) = Obj.magic rp1 in
8235 let d : 'tv_d_ident = Obj.magic d in
8236 let st : (
8237 # 99 "parser_cocci_menhir.mly"
8238 (Data.clt)
8239 # 8240 "parser_cocci_menhir.ml"
8240 ) = Obj.magic st in
8241 let lp1 : (
8242 # 76 "parser_cocci_menhir.mly"
8243 (Data.clt)
8244 # 8245 "parser_cocci_menhir.ml"
8245 ) = Obj.magic lp1 in
8246 let t : 'tv_fn_ctype = Obj.magic t in
8247 let x0 : 'tv_storage = Obj.magic x0 in
8248 let _startpos = _startpos_x0_ in
8249 let _endpos = _endpos_pv_ in
8250 let _v : 'tv_decl_var = let s =
8251 let x = x0 in
8252
8253 # 41 "standard.mly"
8254 ( Some x )
8255 # 8256 "parser_cocci_menhir.ml"
8256
8257 in
8258
8259 # 983 "parser_cocci_menhir.mly"
8260 ( let (id,fn) = d in
8261 let t =
8262 Ast0.wrap
8263 (Ast0.FunctionPointer
8264 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
8265 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
8266 [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
8267 # 8268 "parser_cocci_menhir.ml"
8268 in
8269 _menhir_env.MenhirLib.EngineTypes.stack <- {
8270 MenhirLib.EngineTypes.state = _menhir_s;
8271 MenhirLib.EngineTypes.semv = Obj.repr _v;
8272 MenhirLib.EngineTypes.startp = _startpos;
8273 MenhirLib.EngineTypes.endp = _endpos;
8274 MenhirLib.EngineTypes.next = _menhir_stack;
8275 });
8276 (fun _menhir_env ->
8277 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8278 let {
8279 MenhirLib.EngineTypes.semv = _5;
8280 MenhirLib.EngineTypes.startp = _startpos__5_;
8281 MenhirLib.EngineTypes.endp = _endpos__5_;
8282 MenhirLib.EngineTypes.next = {
8283 MenhirLib.EngineTypes.semv = _4;
8284 MenhirLib.EngineTypes.startp = _startpos__4_;
8285 MenhirLib.EngineTypes.endp = _endpos__4_;
8286 MenhirLib.EngineTypes.next = {
8287 MenhirLib.EngineTypes.semv = _3;
8288 MenhirLib.EngineTypes.startp = _startpos__3_;
8289 MenhirLib.EngineTypes.endp = _endpos__3_;
8290 MenhirLib.EngineTypes.next = {
8291 MenhirLib.EngineTypes.semv = _2;
8292 MenhirLib.EngineTypes.startp = _startpos__2_;
8293 MenhirLib.EngineTypes.endp = _endpos__2_;
8294 MenhirLib.EngineTypes.next = {
8295 MenhirLib.EngineTypes.state = _menhir_s;
8296 MenhirLib.EngineTypes.semv = _1;
8297 MenhirLib.EngineTypes.startp = _startpos__1_;
8298 MenhirLib.EngineTypes.endp = _endpos__1_;
8299 MenhirLib.EngineTypes.next = _menhir_stack;
8300 };
8301 };
8302 };
8303 };
8304 } = _menhir_stack in
8305 let _5 : (
8306 # 107 "parser_cocci_menhir.mly"
8307 (Data.clt)
8308 # 8309 "parser_cocci_menhir.ml"
8309 ) = Obj.magic _5 in
8310 let _4 : (
8311 # 77 "parser_cocci_menhir.mly"
8312 (Data.clt)
8313 # 8314 "parser_cocci_menhir.ml"
8314 ) = Obj.magic _4 in
8315 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
8316 let _2 : (
8317 # 76 "parser_cocci_menhir.mly"
8318 (Data.clt)
8319 # 8320 "parser_cocci_menhir.ml"
8320 ) = Obj.magic _2 in
8321 let _1 : 'tv_decl_ident = Obj.magic _1 in
8322 let _startpos = _startpos__1_ in
8323 let _endpos = _endpos__5_ in
8324 let _v : 'tv_decl_var =
8325 # 991 "parser_cocci_menhir.mly"
8326 ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
8327 P.clt2mcode ")" _4,P.clt2mcode ";" _5))] )
8328 # 8329 "parser_cocci_menhir.ml"
8329 in
8330 _menhir_env.MenhirLib.EngineTypes.stack <- {
8331 MenhirLib.EngineTypes.state = _menhir_s;
8332 MenhirLib.EngineTypes.semv = Obj.repr _v;
8333 MenhirLib.EngineTypes.startp = _startpos;
8334 MenhirLib.EngineTypes.endp = _endpos;
8335 MenhirLib.EngineTypes.next = _menhir_stack;
8336 });
8337 (fun _menhir_env ->
8338 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8339 let {
8340 MenhirLib.EngineTypes.semv = pv;
8341 MenhirLib.EngineTypes.startp = _startpos_pv_;
8342 MenhirLib.EngineTypes.endp = _endpos_pv_;
8343 MenhirLib.EngineTypes.next = {
8344 MenhirLib.EngineTypes.semv = e;
8345 MenhirLib.EngineTypes.startp = _startpos_e_;
8346 MenhirLib.EngineTypes.endp = _endpos_e_;
8347 MenhirLib.EngineTypes.next = {
8348 MenhirLib.EngineTypes.semv = q;
8349 MenhirLib.EngineTypes.startp = _startpos_q_;
8350 MenhirLib.EngineTypes.endp = _endpos_q_;
8351 MenhirLib.EngineTypes.next = {
8352 MenhirLib.EngineTypes.semv = rp2;
8353 MenhirLib.EngineTypes.startp = _startpos_rp2_;
8354 MenhirLib.EngineTypes.endp = _endpos_rp2_;
8355 MenhirLib.EngineTypes.next = {
8356 MenhirLib.EngineTypes.semv = p;
8357 MenhirLib.EngineTypes.startp = _startpos_p_;
8358 MenhirLib.EngineTypes.endp = _endpos_p_;
8359 MenhirLib.EngineTypes.next = {
8360 MenhirLib.EngineTypes.semv = lp2;
8361 MenhirLib.EngineTypes.startp = _startpos_lp2_;
8362 MenhirLib.EngineTypes.endp = _endpos_lp2_;
8363 MenhirLib.EngineTypes.next = {
8364 MenhirLib.EngineTypes.semv = rp1;
8365 MenhirLib.EngineTypes.startp = _startpos_rp1_;
8366 MenhirLib.EngineTypes.endp = _endpos_rp1_;
8367 MenhirLib.EngineTypes.next = {
8368 MenhirLib.EngineTypes.semv = d;
8369 MenhirLib.EngineTypes.startp = _startpos_d_;
8370 MenhirLib.EngineTypes.endp = _endpos_d_;
8371 MenhirLib.EngineTypes.next = {
8372 MenhirLib.EngineTypes.semv = st;
8373 MenhirLib.EngineTypes.startp = _startpos_st_;
8374 MenhirLib.EngineTypes.endp = _endpos_st_;
8375 MenhirLib.EngineTypes.next = {
8376 MenhirLib.EngineTypes.semv = lp1;
8377 MenhirLib.EngineTypes.startp = _startpos_lp1_;
8378 MenhirLib.EngineTypes.endp = _endpos_lp1_;
8379 MenhirLib.EngineTypes.next = {
8380 MenhirLib.EngineTypes.state = _menhir_s;
8381 MenhirLib.EngineTypes.semv = t;
8382 MenhirLib.EngineTypes.startp = _startpos_t_;
8383 MenhirLib.EngineTypes.endp = _endpos_t_;
8384 MenhirLib.EngineTypes.next = _menhir_stack;
8385 };
8386 };
8387 };
8388 };
8389 };
8390 };
8391 };
8392 };
8393 };
8394 };
8395 } = _menhir_stack in
8396 let pv : (
8397 # 107 "parser_cocci_menhir.mly"
8398 (Data.clt)
8399 # 8400 "parser_cocci_menhir.ml"
8400 ) = Obj.magic pv in
8401 let e : 'tv_initialize = Obj.magic e in
8402 let q : (
8403 # 107 "parser_cocci_menhir.mly"
8404 (Data.clt)
8405 # 8406 "parser_cocci_menhir.ml"
8406 ) = Obj.magic q in
8407 let rp2 : (
8408 # 77 "parser_cocci_menhir.mly"
8409 (Data.clt)
8410 # 8411 "parser_cocci_menhir.ml"
8411 ) = Obj.magic rp2 in
8412 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
8413 let lp2 : (
8414 # 76 "parser_cocci_menhir.mly"
8415 (Data.clt)
8416 # 8417 "parser_cocci_menhir.ml"
8417 ) = Obj.magic lp2 in
8418 let rp1 : (
8419 # 77 "parser_cocci_menhir.mly"
8420 (Data.clt)
8421 # 8422 "parser_cocci_menhir.ml"
8422 ) = Obj.magic rp1 in
8423 let d : 'tv_d_ident = Obj.magic d in
8424 let st : (
8425 # 99 "parser_cocci_menhir.mly"
8426 (Data.clt)
8427 # 8428 "parser_cocci_menhir.ml"
8428 ) = Obj.magic st in
8429 let lp1 : (
8430 # 76 "parser_cocci_menhir.mly"
8431 (Data.clt)
8432 # 8433 "parser_cocci_menhir.ml"
8433 ) = Obj.magic lp1 in
8434 let t : 'tv_fn_ctype = Obj.magic t in
8435 let _startpos = _startpos_t_ in
8436 let _endpos = _endpos_pv_ in
8437 let _v : 'tv_decl_var = let s =
8438
8439 # 39 "standard.mly"
8440 ( None )
8441 # 8442 "parser_cocci_menhir.ml"
8442
8443 in
8444
8445 # 997 "parser_cocci_menhir.mly"
8446 ( let (id,fn) = d in
8447 let t =
8448 Ast0.wrap
8449 (Ast0.FunctionPointer
8450 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
8451 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
8452 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
8453 # 8454 "parser_cocci_menhir.ml"
8454 in
8455 _menhir_env.MenhirLib.EngineTypes.stack <- {
8456 MenhirLib.EngineTypes.state = _menhir_s;
8457 MenhirLib.EngineTypes.semv = Obj.repr _v;
8458 MenhirLib.EngineTypes.startp = _startpos;
8459 MenhirLib.EngineTypes.endp = _endpos;
8460 MenhirLib.EngineTypes.next = _menhir_stack;
8461 });
8462 (fun _menhir_env ->
8463 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8464 let {
8465 MenhirLib.EngineTypes.semv = pv;
8466 MenhirLib.EngineTypes.startp = _startpos_pv_;
8467 MenhirLib.EngineTypes.endp = _endpos_pv_;
8468 MenhirLib.EngineTypes.next = {
8469 MenhirLib.EngineTypes.semv = e;
8470 MenhirLib.EngineTypes.startp = _startpos_e_;
8471 MenhirLib.EngineTypes.endp = _endpos_e_;
8472 MenhirLib.EngineTypes.next = {
8473 MenhirLib.EngineTypes.semv = q;
8474 MenhirLib.EngineTypes.startp = _startpos_q_;
8475 MenhirLib.EngineTypes.endp = _endpos_q_;
8476 MenhirLib.EngineTypes.next = {
8477 MenhirLib.EngineTypes.semv = rp2;
8478 MenhirLib.EngineTypes.startp = _startpos_rp2_;
8479 MenhirLib.EngineTypes.endp = _endpos_rp2_;
8480 MenhirLib.EngineTypes.next = {
8481 MenhirLib.EngineTypes.semv = p;
8482 MenhirLib.EngineTypes.startp = _startpos_p_;
8483 MenhirLib.EngineTypes.endp = _endpos_p_;
8484 MenhirLib.EngineTypes.next = {
8485 MenhirLib.EngineTypes.semv = lp2;
8486 MenhirLib.EngineTypes.startp = _startpos_lp2_;
8487 MenhirLib.EngineTypes.endp = _endpos_lp2_;
8488 MenhirLib.EngineTypes.next = {
8489 MenhirLib.EngineTypes.semv = rp1;
8490 MenhirLib.EngineTypes.startp = _startpos_rp1_;
8491 MenhirLib.EngineTypes.endp = _endpos_rp1_;
8492 MenhirLib.EngineTypes.next = {
8493 MenhirLib.EngineTypes.semv = d;
8494 MenhirLib.EngineTypes.startp = _startpos_d_;
8495 MenhirLib.EngineTypes.endp = _endpos_d_;
8496 MenhirLib.EngineTypes.next = {
8497 MenhirLib.EngineTypes.semv = st;
8498 MenhirLib.EngineTypes.startp = _startpos_st_;
8499 MenhirLib.EngineTypes.endp = _endpos_st_;
8500 MenhirLib.EngineTypes.next = {
8501 MenhirLib.EngineTypes.semv = lp1;
8502 MenhirLib.EngineTypes.startp = _startpos_lp1_;
8503 MenhirLib.EngineTypes.endp = _endpos_lp1_;
8504 MenhirLib.EngineTypes.next = {
8505 MenhirLib.EngineTypes.semv = t;
8506 MenhirLib.EngineTypes.startp = _startpos_t_;
8507 MenhirLib.EngineTypes.endp = _endpos_t_;
8508 MenhirLib.EngineTypes.next = {
8509 MenhirLib.EngineTypes.state = _menhir_s;
8510 MenhirLib.EngineTypes.semv = x0;
8511 MenhirLib.EngineTypes.startp = _startpos_x0_;
8512 MenhirLib.EngineTypes.endp = _endpos_x0_;
8513 MenhirLib.EngineTypes.next = _menhir_stack;
8514 };
8515 };
8516 };
8517 };
8518 };
8519 };
8520 };
8521 };
8522 };
8523 };
8524 };
8525 } = _menhir_stack in
8526 let pv : (
8527 # 107 "parser_cocci_menhir.mly"
8528 (Data.clt)
8529 # 8530 "parser_cocci_menhir.ml"
8530 ) = Obj.magic pv in
8531 let e : 'tv_initialize = Obj.magic e in
8532 let q : (
8533 # 107 "parser_cocci_menhir.mly"
8534 (Data.clt)
8535 # 8536 "parser_cocci_menhir.ml"
8536 ) = Obj.magic q in
8537 let rp2 : (
8538 # 77 "parser_cocci_menhir.mly"
8539 (Data.clt)
8540 # 8541 "parser_cocci_menhir.ml"
8541 ) = Obj.magic rp2 in
8542 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
8543 let lp2 : (
8544 # 76 "parser_cocci_menhir.mly"
8545 (Data.clt)
8546 # 8547 "parser_cocci_menhir.ml"
8547 ) = Obj.magic lp2 in
8548 let rp1 : (
8549 # 77 "parser_cocci_menhir.mly"
8550 (Data.clt)
8551 # 8552 "parser_cocci_menhir.ml"
8552 ) = Obj.magic rp1 in
8553 let d : 'tv_d_ident = Obj.magic d in
8554 let st : (
8555 # 99 "parser_cocci_menhir.mly"
8556 (Data.clt)
8557 # 8558 "parser_cocci_menhir.ml"
8558 ) = Obj.magic st in
8559 let lp1 : (
8560 # 76 "parser_cocci_menhir.mly"
8561 (Data.clt)
8562 # 8563 "parser_cocci_menhir.ml"
8563 ) = Obj.magic lp1 in
8564 let t : 'tv_fn_ctype = Obj.magic t in
8565 let x0 : 'tv_storage = Obj.magic x0 in
8566 let _startpos = _startpos_x0_ in
8567 let _endpos = _endpos_pv_ in
8568 let _v : 'tv_decl_var = let s =
8569 let x = x0 in
8570
8571 # 41 "standard.mly"
8572 ( Some x )
8573 # 8574 "parser_cocci_menhir.ml"
8574
8575 in
8576
8577 # 997 "parser_cocci_menhir.mly"
8578 ( let (id,fn) = d in
8579 let t =
8580 Ast0.wrap
8581 (Ast0.FunctionPointer
8582 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
8583 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
8584 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
8585 # 8586 "parser_cocci_menhir.ml"
8586 in
8587 _menhir_env.MenhirLib.EngineTypes.stack <- {
8588 MenhirLib.EngineTypes.state = _menhir_s;
8589 MenhirLib.EngineTypes.semv = Obj.repr _v;
8590 MenhirLib.EngineTypes.startp = _startpos;
8591 MenhirLib.EngineTypes.endp = _endpos;
8592 MenhirLib.EngineTypes.next = _menhir_stack;
8593 });
8594 (fun _menhir_env ->
8595 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8596 let {
8597 MenhirLib.EngineTypes.semv = pv;
8598 MenhirLib.EngineTypes.startp = _startpos_pv_;
8599 MenhirLib.EngineTypes.endp = _endpos_pv_;
8600 MenhirLib.EngineTypes.next = {
8601 MenhirLib.EngineTypes.semv = id;
8602 MenhirLib.EngineTypes.startp = _startpos_id_;
8603 MenhirLib.EngineTypes.endp = _endpos_id_;
8604 MenhirLib.EngineTypes.next = {
8605 MenhirLib.EngineTypes.semv = t;
8606 MenhirLib.EngineTypes.startp = _startpos_t_;
8607 MenhirLib.EngineTypes.endp = _endpos_t_;
8608 MenhirLib.EngineTypes.next = {
8609 MenhirLib.EngineTypes.state = _menhir_s;
8610 MenhirLib.EngineTypes.semv = s;
8611 MenhirLib.EngineTypes.startp = _startpos_s_;
8612 MenhirLib.EngineTypes.endp = _endpos_s_;
8613 MenhirLib.EngineTypes.next = _menhir_stack;
8614 };
8615 };
8616 };
8617 } = _menhir_stack in
8618 let pv : (
8619 # 107 "parser_cocci_menhir.mly"
8620 (Data.clt)
8621 # 8622 "parser_cocci_menhir.ml"
8622 ) = Obj.magic pv in
8623 let id : 'tv_typedef_ident = Obj.magic id in
8624 let t : 'tv_ctype_full = Obj.magic t in
8625 let s : (
8626 # 53 "parser_cocci_menhir.mly"
8627 (Data.clt)
8628 # 8629 "parser_cocci_menhir.ml"
8629 ) = Obj.magic s in
8630 let _startpos = _startpos_s_ in
8631 let _endpos = _endpos_pv_ in
8632 let _v : 'tv_decl_var =
8633 # 1005 "parser_cocci_menhir.mly"
8634 ( let s = P.clt2mcode "typedef" s in
8635 [Ast0.wrap(Ast0.Typedef(s,t,id,P.clt2mcode ";" pv))] )
8636 # 8637 "parser_cocci_menhir.ml"
8637 in
8638 _menhir_env.MenhirLib.EngineTypes.stack <- {
8639 MenhirLib.EngineTypes.state = _menhir_s;
8640 MenhirLib.EngineTypes.semv = Obj.repr _v;
8641 MenhirLib.EngineTypes.startp = _startpos;
8642 MenhirLib.EngineTypes.endp = _endpos;
8643 MenhirLib.EngineTypes.next = _menhir_stack;
8644 });
8645 (fun _menhir_env ->
8646 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8647 let {
8648 MenhirLib.EngineTypes.state = _menhir_s;
8649 MenhirLib.EngineTypes.semv = _1;
8650 MenhirLib.EngineTypes.startp = _startpos__1_;
8651 MenhirLib.EngineTypes.endp = _endpos__1_;
8652 MenhirLib.EngineTypes.next = _menhir_stack;
8653 } = _menhir_stack in
8654 let _1 : 'tv_define_param_list_start = Obj.magic _1 in
8655 let _startpos = _startpos__1_ in
8656 let _endpos = _endpos__1_ in
8657 let _v : 'tv_define_param_list =
8658 # 713 "parser_cocci_menhir.mly"
8659 (let circle x =
8660 match Ast0.unwrap x with Ast0.DPcircles(_) -> true | _ -> false in
8661 if List.exists circle _1
8662 then Ast0.wrap(Ast0.CIRCLES(_1))
8663 else Ast0.wrap(Ast0.DOTS(_1)) )
8664 # 8665 "parser_cocci_menhir.ml"
8665 in
8666 _menhir_env.MenhirLib.EngineTypes.stack <- {
8667 MenhirLib.EngineTypes.state = _menhir_s;
8668 MenhirLib.EngineTypes.semv = Obj.repr _v;
8669 MenhirLib.EngineTypes.startp = _startpos;
8670 MenhirLib.EngineTypes.endp = _endpos;
8671 MenhirLib.EngineTypes.next = _menhir_stack;
8672 });
8673 (fun _menhir_env ->
8674 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8675 let {
8676 MenhirLib.EngineTypes.state = _menhir_s;
8677 MenhirLib.EngineTypes.semv = _1;
8678 MenhirLib.EngineTypes.startp = _startpos__1_;
8679 MenhirLib.EngineTypes.endp = _endpos__1_;
8680 MenhirLib.EngineTypes.next = _menhir_stack;
8681 } = _menhir_stack in
8682 let _1 : 'tv_define_param_list = Obj.magic _1 in
8683 let _startpos = _startpos__1_ in
8684 let _endpos = _endpos__1_ in
8685 let _v : 'tv_define_param_list_option =
8686 # 737 "parser_cocci_menhir.mly"
8687 ( _1 )
8688 # 8689 "parser_cocci_menhir.ml"
8689 in
8690 _menhir_env.MenhirLib.EngineTypes.stack <- {
8691 MenhirLib.EngineTypes.state = _menhir_s;
8692 MenhirLib.EngineTypes.semv = Obj.repr _v;
8693 MenhirLib.EngineTypes.startp = _startpos;
8694 MenhirLib.EngineTypes.endp = _endpos;
8695 MenhirLib.EngineTypes.next = _menhir_stack;
8696 });
8697 (fun _menhir_env ->
8698 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8699 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
8700 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
8701 let _endpos = _startpos in
8702 let _v : 'tv_define_param_list_option =
8703 # 738 "parser_cocci_menhir.mly"
8704 ( Ast0.wrap(Ast0.DOTS([])) )
8705 # 8706 "parser_cocci_menhir.ml"
8706 in
8707 _menhir_env.MenhirLib.EngineTypes.stack <- {
8708 MenhirLib.EngineTypes.state = _menhir_s;
8709 MenhirLib.EngineTypes.semv = Obj.repr _v;
8710 MenhirLib.EngineTypes.startp = _startpos;
8711 MenhirLib.EngineTypes.endp = _endpos;
8712 MenhirLib.EngineTypes.next = _menhir_stack;
8713 });
8714 (fun _menhir_env ->
8715 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8716 let {
8717 MenhirLib.EngineTypes.state = _menhir_s;
8718 MenhirLib.EngineTypes.semv = _1;
8719 MenhirLib.EngineTypes.startp = _startpos__1_;
8720 MenhirLib.EngineTypes.endp = _endpos__1_;
8721 MenhirLib.EngineTypes.next = _menhir_stack;
8722 } = _menhir_stack in
8723 let _1 : 'tv_ident = Obj.magic _1 in
8724 let _startpos = _startpos__1_ in
8725 let _endpos = _endpos__1_ in
8726 let _v : 'tv_define_param_list_start =
8727 # 720 "parser_cocci_menhir.mly"
8728 ( [Ast0.wrap(Ast0.DParam _1)] )
8729 # 8730 "parser_cocci_menhir.ml"
8730 in
8731 _menhir_env.MenhirLib.EngineTypes.stack <- {
8732 MenhirLib.EngineTypes.state = _menhir_s;
8733 MenhirLib.EngineTypes.semv = Obj.repr _v;
8734 MenhirLib.EngineTypes.startp = _startpos;
8735 MenhirLib.EngineTypes.endp = _endpos;
8736 MenhirLib.EngineTypes.next = _menhir_stack;
8737 });
8738 (fun _menhir_env ->
8739 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8740 let {
8741 MenhirLib.EngineTypes.semv = _3;
8742 MenhirLib.EngineTypes.startp = _startpos__3_;
8743 MenhirLib.EngineTypes.endp = _endpos__3_;
8744 MenhirLib.EngineTypes.next = {
8745 MenhirLib.EngineTypes.semv = _2;
8746 MenhirLib.EngineTypes.startp = _startpos__2_;
8747 MenhirLib.EngineTypes.endp = _endpos__2_;
8748 MenhirLib.EngineTypes.next = {
8749 MenhirLib.EngineTypes.state = _menhir_s;
8750 MenhirLib.EngineTypes.semv = _1;
8751 MenhirLib.EngineTypes.startp = _startpos__1_;
8752 MenhirLib.EngineTypes.endp = _endpos__1_;
8753 MenhirLib.EngineTypes.next = _menhir_stack;
8754 };
8755 };
8756 } = _menhir_stack in
8757 let _3 : 'tv_define_param_list_start = Obj.magic _3 in
8758 let _2 : (
8759 # 107 "parser_cocci_menhir.mly"
8760 (Data.clt)
8761 # 8762 "parser_cocci_menhir.ml"
8762 ) = Obj.magic _2 in
8763 let _1 : 'tv_ident = Obj.magic _1 in
8764 let _startpos = _startpos__1_ in
8765 let _endpos = _endpos__3_ in
8766 let _v : 'tv_define_param_list_start =
8767 # 722 "parser_cocci_menhir.mly"
8768 ( Ast0.wrap(Ast0.DParam _1)::
8769 Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _2))::_3 )
8770 # 8771 "parser_cocci_menhir.ml"
8771 in
8772 _menhir_env.MenhirLib.EngineTypes.stack <- {
8773 MenhirLib.EngineTypes.state = _menhir_s;
8774 MenhirLib.EngineTypes.semv = Obj.repr _v;
8775 MenhirLib.EngineTypes.startp = _startpos;
8776 MenhirLib.EngineTypes.endp = _endpos;
8777 MenhirLib.EngineTypes.next = _menhir_stack;
8778 });
8779 (fun _menhir_env ->
8780 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8781 let {
8782 MenhirLib.EngineTypes.semv = r;
8783 MenhirLib.EngineTypes.startp = _startpos_r_;
8784 MenhirLib.EngineTypes.endp = _endpos_r_;
8785 MenhirLib.EngineTypes.next = {
8786 MenhirLib.EngineTypes.state = _menhir_s;
8787 MenhirLib.EngineTypes.semv = d;
8788 MenhirLib.EngineTypes.startp = _startpos_d_;
8789 MenhirLib.EngineTypes.endp = _endpos_d_;
8790 MenhirLib.EngineTypes.next = _menhir_stack;
8791 };
8792 } = _menhir_stack in
8793 let r : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic r in
8794 let d : (
8795 # 73 "parser_cocci_menhir.mly"
8796 (Data.clt)
8797 # 8798 "parser_cocci_menhir.ml"
8798 ) = Obj.magic d in
8799 let _startpos = _startpos_d_ in
8800 let _endpos = _endpos_r_ in
8801 let _v : 'tv_define_param_list_start =
8802 # 725 "parser_cocci_menhir.mly"
8803 ( (P.mkdpdots "..." d)::
8804 (List.concat (List.map (function x -> x (P.mkdpdots "...")) r)) )
8805 # 8806 "parser_cocci_menhir.ml"
8806 in
8807 _menhir_env.MenhirLib.EngineTypes.stack <- {
8808 MenhirLib.EngineTypes.state = _menhir_s;
8809 MenhirLib.EngineTypes.semv = Obj.repr _v;
8810 MenhirLib.EngineTypes.startp = _startpos;
8811 MenhirLib.EngineTypes.endp = _endpos;
8812 MenhirLib.EngineTypes.next = _menhir_stack;
8813 });
8814 (fun _menhir_env ->
8815 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8816 let {
8817 MenhirLib.EngineTypes.state = _menhir_s;
8818 MenhirLib.EngineTypes.semv = _1;
8819 MenhirLib.EngineTypes.startp = _startpos__1_;
8820 MenhirLib.EngineTypes.endp = _endpos__1_;
8821 MenhirLib.EngineTypes.next = _menhir_stack;
8822 } = _menhir_stack in
8823 let _1 : (
8824 # 81 "parser_cocci_menhir.mly"
8825 (Data.clt * token)
8826 # 8827 "parser_cocci_menhir.ml"
8827 ) = Obj.magic _1 in
8828 let _startpos = _startpos__1_ in
8829 let _endpos = _endpos__1_ in
8830 let _v : 'tv_defineop =
8831 # 673 "parser_cocci_menhir.mly"
8832 ( let (clt,ident) = _1 in
8833 function body ->
8834 Ast0.wrap
8835 (Ast0.Define
8836 (P.clt2mcode "#define" clt,
8837 (match ident with
8838 TMetaId((nm,constraints,pure,clt)) ->
8839 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
8840 | TIdent(nm_pure) ->
8841 Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
8842 | _ ->
8843 raise
8844 (Semantic_cocci.Semantic
8845 "unexpected name for a #define")),
8846 Ast0.wrap Ast0.NoParams,
8847 body)) )
8848 # 8849 "parser_cocci_menhir.ml"
8849 in
8850 _menhir_env.MenhirLib.EngineTypes.stack <- {
8851 MenhirLib.EngineTypes.state = _menhir_s;
8852 MenhirLib.EngineTypes.semv = Obj.repr _v;
8853 MenhirLib.EngineTypes.startp = _startpos;
8854 MenhirLib.EngineTypes.endp = _endpos;
8855 MenhirLib.EngineTypes.next = _menhir_stack;
8856 });
8857 (fun _menhir_env ->
8858 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8859 let {
8860 MenhirLib.EngineTypes.semv = _3;
8861 MenhirLib.EngineTypes.startp = _startpos__3_;
8862 MenhirLib.EngineTypes.endp = _endpos__3_;
8863 MenhirLib.EngineTypes.next = {
8864 MenhirLib.EngineTypes.semv = _2;
8865 MenhirLib.EngineTypes.startp = _startpos__2_;
8866 MenhirLib.EngineTypes.endp = _endpos__2_;
8867 MenhirLib.EngineTypes.next = {
8868 MenhirLib.EngineTypes.state = _menhir_s;
8869 MenhirLib.EngineTypes.semv = _1;
8870 MenhirLib.EngineTypes.startp = _startpos__1_;
8871 MenhirLib.EngineTypes.endp = _endpos__1_;
8872 MenhirLib.EngineTypes.next = _menhir_stack;
8873 };
8874 };
8875 } = _menhir_stack in
8876 let _3 : (
8877 # 77 "parser_cocci_menhir.mly"
8878 (Data.clt)
8879 # 8880 "parser_cocci_menhir.ml"
8880 ) = Obj.magic _3 in
8881 let _2 : 'tv_define_param_list_option = Obj.magic _2 in
8882 let _1 : (
8883 # 82 "parser_cocci_menhir.mly"
8884 (Data.clt * token * int)
8885 # 8886 "parser_cocci_menhir.ml"
8886 ) = Obj.magic _1 in
8887 let _startpos = _startpos__1_ in
8888 let _endpos = _endpos__3_ in
8889 let _v : 'tv_defineop =
8890 # 690 "parser_cocci_menhir.mly"
8891 ( let (clt,ident,parenoff) = _1 in
8892 let (arity,line,lline,offset,col,strbef,straft,pos) = clt in
8893 let lp =
8894 P.clt2mcode "("
8895 (arity,line,lline,parenoff,0,[],[],Ast0.NoMetaPos) in
8896 function body ->
8897 Ast0.wrap
8898 (Ast0.Define
8899 (P.clt2mcode "#define" clt,
8900 (match ident with
8901 TMetaId((nm,constraints,pure,clt)) ->
8902 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
8903 | TIdent(nm_pure) ->
8904 Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
8905 | _ ->
8906 raise
8907 (Semantic_cocci.Semantic
8908 "unexpected name for a #define")),
8909 Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" _3)),body)) )
8910 # 8911 "parser_cocci_menhir.ml"
8911 in
8912 _menhir_env.MenhirLib.EngineTypes.stack <- {
8913 MenhirLib.EngineTypes.state = _menhir_s;
8914 MenhirLib.EngineTypes.semv = Obj.repr _v;
8915 MenhirLib.EngineTypes.startp = _startpos;
8916 MenhirLib.EngineTypes.endp = _endpos;
8917 MenhirLib.EngineTypes.next = _menhir_stack;
8918 });
8919 (fun _menhir_env ->
8920 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8921 let {
8922 MenhirLib.EngineTypes.state = _menhir_s;
8923 MenhirLib.EngineTypes.semv = _1;
8924 MenhirLib.EngineTypes.startp = _startpos__1_;
8925 MenhirLib.EngineTypes.endp = _endpos__1_;
8926 MenhirLib.EngineTypes.next = _menhir_stack;
8927 } = _menhir_stack in
8928 let _1 : 'tv_pnrule = Obj.magic _1 in
8929 let _startpos = _startpos__1_ in
8930 let _endpos = _endpos__1_ in
8931 let _v : 'tv_dep =
8932 # 225 "parser_cocci_menhir.mly"
8933 ( _1 )
8934 # 8935 "parser_cocci_menhir.ml"
8935 in
8936 _menhir_env.MenhirLib.EngineTypes.stack <- {
8937 MenhirLib.EngineTypes.state = _menhir_s;
8938 MenhirLib.EngineTypes.semv = Obj.repr _v;
8939 MenhirLib.EngineTypes.startp = _startpos;
8940 MenhirLib.EngineTypes.endp = _endpos;
8941 MenhirLib.EngineTypes.next = _menhir_stack;
8942 });
8943 (fun _menhir_env ->
8944 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8945 let {
8946 MenhirLib.EngineTypes.semv = _3;
8947 MenhirLib.EngineTypes.startp = _startpos__3_;
8948 MenhirLib.EngineTypes.endp = _endpos__3_;
8949 MenhirLib.EngineTypes.next = {
8950 MenhirLib.EngineTypes.startp = _startpos__2_;
8951 MenhirLib.EngineTypes.endp = _endpos__2_;
8952 MenhirLib.EngineTypes.next = {
8953 MenhirLib.EngineTypes.state = _menhir_s;
8954 MenhirLib.EngineTypes.semv = _1;
8955 MenhirLib.EngineTypes.startp = _startpos__1_;
8956 MenhirLib.EngineTypes.endp = _endpos__1_;
8957 MenhirLib.EngineTypes.next = _menhir_stack;
8958 };
8959 };
8960 } = _menhir_stack in
8961 let _3 : 'tv_dep = Obj.magic _3 in
8962 let _1 : 'tv_dep = Obj.magic _1 in
8963 let _startpos = _startpos__1_ in
8964 let _endpos = _endpos__3_ in
8965 let _v : 'tv_dep =
8966 # 226 "parser_cocci_menhir.mly"
8967 ( Ast.AndDep(_1, _3) )
8968 # 8969 "parser_cocci_menhir.ml"
8969 in
8970 _menhir_env.MenhirLib.EngineTypes.stack <- {
8971 MenhirLib.EngineTypes.state = _menhir_s;
8972 MenhirLib.EngineTypes.semv = Obj.repr _v;
8973 MenhirLib.EngineTypes.startp = _startpos;
8974 MenhirLib.EngineTypes.endp = _endpos;
8975 MenhirLib.EngineTypes.next = _menhir_stack;
8976 });
8977 (fun _menhir_env ->
8978 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8979 let {
8980 MenhirLib.EngineTypes.semv = _3;
8981 MenhirLib.EngineTypes.startp = _startpos__3_;
8982 MenhirLib.EngineTypes.endp = _endpos__3_;
8983 MenhirLib.EngineTypes.next = {
8984 MenhirLib.EngineTypes.startp = _startpos__2_;
8985 MenhirLib.EngineTypes.endp = _endpos__2_;
8986 MenhirLib.EngineTypes.next = {
8987 MenhirLib.EngineTypes.state = _menhir_s;
8988 MenhirLib.EngineTypes.semv = _1;
8989 MenhirLib.EngineTypes.startp = _startpos__1_;
8990 MenhirLib.EngineTypes.endp = _endpos__1_;
8991 MenhirLib.EngineTypes.next = _menhir_stack;
8992 };
8993 };
8994 } = _menhir_stack in
8995 let _3 : 'tv_dep = Obj.magic _3 in
8996 let _1 : 'tv_dep = Obj.magic _1 in
8997 let _startpos = _startpos__1_ in
8998 let _endpos = _endpos__3_ in
8999 let _v : 'tv_dep =
9000 # 227 "parser_cocci_menhir.mly"
9001 ( Ast.OrDep (_1, _3) )
9002 # 9003 "parser_cocci_menhir.ml"
9003 in
9004 _menhir_env.MenhirLib.EngineTypes.stack <- {
9005 MenhirLib.EngineTypes.state = _menhir_s;
9006 MenhirLib.EngineTypes.semv = Obj.repr _v;
9007 MenhirLib.EngineTypes.startp = _startpos;
9008 MenhirLib.EngineTypes.endp = _endpos;
9009 MenhirLib.EngineTypes.next = _menhir_stack;
9010 });
9011 (fun _menhir_env ->
9012 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9013 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
9014 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
9015 let _endpos = _startpos in
9016 let _v : 'tv_depends =
9017 # 221 "parser_cocci_menhir.mly"
9018 ( Ast.NoDep )
9019 # 9020 "parser_cocci_menhir.ml"
9020 in
9021 _menhir_env.MenhirLib.EngineTypes.stack <- {
9022 MenhirLib.EngineTypes.state = _menhir_s;
9023 MenhirLib.EngineTypes.semv = Obj.repr _v;
9024 MenhirLib.EngineTypes.startp = _startpos;
9025 MenhirLib.EngineTypes.endp = _endpos;
9026 MenhirLib.EngineTypes.next = _menhir_stack;
9027 });
9028 (fun _menhir_env ->
9029 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9030 let {
9031 MenhirLib.EngineTypes.semv = parents;
9032 MenhirLib.EngineTypes.startp = _startpos_parents_;
9033 MenhirLib.EngineTypes.endp = _endpos_parents_;
9034 MenhirLib.EngineTypes.next = {
9035 MenhirLib.EngineTypes.startp = _startpos__2_;
9036 MenhirLib.EngineTypes.endp = _endpos__2_;
9037 MenhirLib.EngineTypes.next = {
9038 MenhirLib.EngineTypes.state = _menhir_s;
9039 MenhirLib.EngineTypes.startp = _startpos__1_;
9040 MenhirLib.EngineTypes.endp = _endpos__1_;
9041 MenhirLib.EngineTypes.next = _menhir_stack;
9042 };
9043 };
9044 } = _menhir_stack in
9045 let parents : 'tv_dep = Obj.magic parents in
9046 let _startpos = _startpos__1_ in
9047 let _endpos = _endpos_parents_ in
9048 let _v : 'tv_depends =
9049 # 222 "parser_cocci_menhir.mly"
9050 ( parents )
9051 # 9052 "parser_cocci_menhir.ml"
9052 in
9053 _menhir_env.MenhirLib.EngineTypes.stack <- {
9054 MenhirLib.EngineTypes.state = _menhir_s;
9055 MenhirLib.EngineTypes.semv = Obj.repr _v;
9056 MenhirLib.EngineTypes.startp = _startpos;
9057 MenhirLib.EngineTypes.endp = _endpos;
9058 MenhirLib.EngineTypes.next = _menhir_stack;
9059 });
9060 (fun _menhir_env ->
9061 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9062 let {
9063 MenhirLib.EngineTypes.semv = _2;
9064 MenhirLib.EngineTypes.startp = _startpos__2_;
9065 MenhirLib.EngineTypes.endp = _endpos__2_;
9066 MenhirLib.EngineTypes.next = {
9067 MenhirLib.EngineTypes.state = _menhir_s;
9068 MenhirLib.EngineTypes.semv = _1;
9069 MenhirLib.EngineTypes.startp = _startpos__1_;
9070 MenhirLib.EngineTypes.endp = _endpos__1_;
9071 MenhirLib.EngineTypes.next = _menhir_stack;
9072 };
9073 } = _menhir_stack in
9074 let _2 : 'tv_ident = Obj.magic _2 in
9075 let _1 : (
9076 # 107 "parser_cocci_menhir.mly"
9077 (Data.clt)
9078 # 9079 "parser_cocci_menhir.ml"
9079 ) = Obj.magic _1 in
9080 let _startpos = _startpos__1_ in
9081 let _endpos = _endpos__2_ in
9082 let _v : 'tv_designator =
9083 # 1103 "parser_cocci_menhir.mly"
9084 ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) )
9085 # 9086 "parser_cocci_menhir.ml"
9086 in
9087 _menhir_env.MenhirLib.EngineTypes.stack <- {
9088 MenhirLib.EngineTypes.state = _menhir_s;
9089 MenhirLib.EngineTypes.semv = Obj.repr _v;
9090 MenhirLib.EngineTypes.startp = _startpos;
9091 MenhirLib.EngineTypes.endp = _endpos;
9092 MenhirLib.EngineTypes.next = _menhir_stack;
9093 });
9094 (fun _menhir_env ->
9095 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9096 let {
9097 MenhirLib.EngineTypes.semv = _3;
9098 MenhirLib.EngineTypes.startp = _startpos__3_;
9099 MenhirLib.EngineTypes.endp = _endpos__3_;
9100 MenhirLib.EngineTypes.next = {
9101 MenhirLib.EngineTypes.semv = _2;
9102 MenhirLib.EngineTypes.startp = _startpos__2_;
9103 MenhirLib.EngineTypes.endp = _endpos__2_;
9104 MenhirLib.EngineTypes.next = {
9105 MenhirLib.EngineTypes.state = _menhir_s;
9106 MenhirLib.EngineTypes.semv = _1;
9107 MenhirLib.EngineTypes.startp = _startpos__1_;
9108 MenhirLib.EngineTypes.endp = _endpos__1_;
9109 MenhirLib.EngineTypes.next = _menhir_stack;
9110 };
9111 };
9112 } = _menhir_stack in
9113 let _3 : (
9114 # 102 "parser_cocci_menhir.mly"
9115 (Data.clt)
9116 # 9117 "parser_cocci_menhir.ml"
9117 ) = Obj.magic _3 in
9118 let _2 : 'tv_eexpr = Obj.magic _2 in
9119 let _1 : (
9120 # 102 "parser_cocci_menhir.mly"
9121 (Data.clt)
9122 # 9123 "parser_cocci_menhir.ml"
9123 ) = Obj.magic _1 in
9124 let _startpos = _startpos__1_ in
9125 let _endpos = _endpos__3_ in
9126 let _v : 'tv_designator =
9127 # 1105 "parser_cocci_menhir.mly"
9128 ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) )
9129 # 9130 "parser_cocci_menhir.ml"
9130 in
9131 _menhir_env.MenhirLib.EngineTypes.stack <- {
9132 MenhirLib.EngineTypes.state = _menhir_s;
9133 MenhirLib.EngineTypes.semv = Obj.repr _v;
9134 MenhirLib.EngineTypes.startp = _startpos;
9135 MenhirLib.EngineTypes.endp = _endpos;
9136 MenhirLib.EngineTypes.next = _menhir_stack;
9137 });
9138 (fun _menhir_env ->
9139 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9140 let {
9141 MenhirLib.EngineTypes.semv = _5;
9142 MenhirLib.EngineTypes.startp = _startpos__5_;
9143 MenhirLib.EngineTypes.endp = _endpos__5_;
9144 MenhirLib.EngineTypes.next = {
9145 MenhirLib.EngineTypes.semv = _4;
9146 MenhirLib.EngineTypes.startp = _startpos__4_;
9147 MenhirLib.EngineTypes.endp = _endpos__4_;
9148 MenhirLib.EngineTypes.next = {
9149 MenhirLib.EngineTypes.semv = _3;
9150 MenhirLib.EngineTypes.startp = _startpos__3_;
9151 MenhirLib.EngineTypes.endp = _endpos__3_;
9152 MenhirLib.EngineTypes.next = {
9153 MenhirLib.EngineTypes.semv = _2;
9154 MenhirLib.EngineTypes.startp = _startpos__2_;
9155 MenhirLib.EngineTypes.endp = _endpos__2_;
9156 MenhirLib.EngineTypes.next = {
9157 MenhirLib.EngineTypes.state = _menhir_s;
9158 MenhirLib.EngineTypes.semv = _1;
9159 MenhirLib.EngineTypes.startp = _startpos__1_;
9160 MenhirLib.EngineTypes.endp = _endpos__1_;
9161 MenhirLib.EngineTypes.next = _menhir_stack;
9162 };
9163 };
9164 };
9165 };
9166 } = _menhir_stack in
9167 let _5 : (
9168 # 102 "parser_cocci_menhir.mly"
9169 (Data.clt)
9170 # 9171 "parser_cocci_menhir.ml"
9171 ) = Obj.magic _5 in
9172 let _4 : 'tv_eexpr = Obj.magic _4 in
9173 let _3 : (
9174 # 73 "parser_cocci_menhir.mly"
9175 (Data.clt)
9176 # 9177 "parser_cocci_menhir.ml"
9177 ) = Obj.magic _3 in
9178 let _2 : 'tv_eexpr = Obj.magic _2 in
9179 let _1 : (
9180 # 102 "parser_cocci_menhir.mly"
9181 (Data.clt)
9182 # 9183 "parser_cocci_menhir.ml"
9183 ) = Obj.magic _1 in
9184 let _startpos = _startpos__1_ in
9185 let _endpos = _endpos__5_ in
9186 let _v : 'tv_designator =
9187 # 1107 "parser_cocci_menhir.mly"
9188 ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3,
9189 _4,P.clt2mcode "]" _5) )
9190 # 9191 "parser_cocci_menhir.ml"
9191 in
9192 _menhir_env.MenhirLib.EngineTypes.stack <- {
9193 MenhirLib.EngineTypes.state = _menhir_s;
9194 MenhirLib.EngineTypes.semv = Obj.repr _v;
9195 MenhirLib.EngineTypes.startp = _startpos;
9196 MenhirLib.EngineTypes.endp = _endpos;
9197 MenhirLib.EngineTypes.next = _menhir_stack;
9198 });
9199 (fun _menhir_env ->
9200 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9201 let {
9202 MenhirLib.EngineTypes.state = _menhir_s;
9203 MenhirLib.EngineTypes.semv = _1;
9204 MenhirLib.EngineTypes.startp = _startpos__1_;
9205 MenhirLib.EngineTypes.endp = _endpos__1_;
9206 MenhirLib.EngineTypes.next = _menhir_stack;
9207 } = _menhir_stack in
9208 let _1 : 'tv_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in
9209 let _startpos = _startpos__1_ in
9210 let _endpos = _endpos__1_ in
9211 let _v : 'tv_dexpr =
9212 # 1206 "parser_cocci_menhir.mly"
9213 ( _1 )
9214 # 9215 "parser_cocci_menhir.ml"
9215 in
9216 _menhir_env.MenhirLib.EngineTypes.stack <- {
9217 MenhirLib.EngineTypes.state = _menhir_s;
9218 MenhirLib.EngineTypes.semv = Obj.repr _v;
9219 MenhirLib.EngineTypes.startp = _startpos;
9220 MenhirLib.EngineTypes.endp = _endpos;
9221 MenhirLib.EngineTypes.next = _menhir_stack;
9222 });
9223 (fun _menhir_env ->
9224 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9225 let {
9226 MenhirLib.EngineTypes.semv = _2;
9227 MenhirLib.EngineTypes.startp = _startpos__2_;
9228 MenhirLib.EngineTypes.endp = _endpos__2_;
9229 MenhirLib.EngineTypes.next = {
9230 MenhirLib.EngineTypes.state = _menhir_s;
9231 MenhirLib.EngineTypes.startp = _startpos__1_;
9232 MenhirLib.EngineTypes.endp = _endpos__1_;
9233 MenhirLib.EngineTypes.next = _menhir_stack;
9234 };
9235 } = _menhir_stack in
9236 let _2 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _2 in
9237 let _startpos = _startpos__1_ in
9238 let _endpos = _endpos__2_ in
9239 let _v : 'tv_disable =
9240 # 240 "parser_cocci_menhir.mly"
9241 ( List.map P.id2name _2 )
9242 # 9243 "parser_cocci_menhir.ml"
9243 in
9244 _menhir_env.MenhirLib.EngineTypes.stack <- {
9245 MenhirLib.EngineTypes.state = _menhir_s;
9246 MenhirLib.EngineTypes.semv = Obj.repr _v;
9247 MenhirLib.EngineTypes.startp = _startpos;
9248 MenhirLib.EngineTypes.endp = _endpos;
9249 MenhirLib.EngineTypes.next = _menhir_stack;
9250 });
9251 (fun _menhir_env ->
9252 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9253 let {
9254 MenhirLib.EngineTypes.state = _menhir_s;
9255 MenhirLib.EngineTypes.semv = _1;
9256 MenhirLib.EngineTypes.startp = _startpos__1_;
9257 MenhirLib.EngineTypes.endp = _endpos__1_;
9258 MenhirLib.EngineTypes.next = _menhir_stack;
9259 } = _menhir_stack in
9260 let _1 : (
9261 # 73 "parser_cocci_menhir.mly"
9262 (Data.clt)
9263 # 9264 "parser_cocci_menhir.ml"
9264 ) = Obj.magic _1 in
9265 let _startpos = _startpos__1_ in
9266 let _endpos = _endpos__1_ in
9267 let _v : 'tv_dot_expressions =
9268 # 1215 "parser_cocci_menhir.mly"
9269 ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) )
9270 # 9271 "parser_cocci_menhir.ml"
9271 in
9272 _menhir_env.MenhirLib.EngineTypes.stack <- {
9273 MenhirLib.EngineTypes.state = _menhir_s;
9274 MenhirLib.EngineTypes.semv = Obj.repr _v;
9275 MenhirLib.EngineTypes.startp = _startpos;
9276 MenhirLib.EngineTypes.endp = _endpos;
9277 MenhirLib.EngineTypes.next = _menhir_stack;
9278 });
9279 (fun _menhir_env ->
9280 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9281 let {
9282 MenhirLib.EngineTypes.state = _menhir_s;
9283 MenhirLib.EngineTypes.semv = _1;
9284 MenhirLib.EngineTypes.startp = _startpos__1_;
9285 MenhirLib.EngineTypes.endp = _endpos__1_;
9286 MenhirLib.EngineTypes.next = _menhir_stack;
9287 } = _menhir_stack in
9288 let _1 : 'tv_nest_expressions = Obj.magic _1 in
9289 let _startpos = _startpos__1_ in
9290 let _endpos = _endpos__1_ in
9291 let _v : 'tv_dot_expressions =
9292 # 1216 "parser_cocci_menhir.mly"
9293 ( _1 )
9294 # 9295 "parser_cocci_menhir.ml"
9295 in
9296 _menhir_env.MenhirLib.EngineTypes.stack <- {
9297 MenhirLib.EngineTypes.state = _menhir_s;
9298 MenhirLib.EngineTypes.semv = Obj.repr _v;
9299 MenhirLib.EngineTypes.startp = _startpos;
9300 MenhirLib.EngineTypes.endp = _endpos;
9301 MenhirLib.EngineTypes.next = _menhir_stack;
9302 });
9303 (fun _menhir_env ->
9304 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9305 let {
9306 MenhirLib.EngineTypes.semv = d;
9307 MenhirLib.EngineTypes.startp = _startpos_d_;
9308 MenhirLib.EngineTypes.endp = _endpos_d_;
9309 MenhirLib.EngineTypes.next = {
9310 MenhirLib.EngineTypes.state = _menhir_s;
9311 MenhirLib.EngineTypes.semv = c;
9312 MenhirLib.EngineTypes.startp = _startpos_c_;
9313 MenhirLib.EngineTypes.endp = _endpos_c_;
9314 MenhirLib.EngineTypes.next = _menhir_stack;
9315 };
9316 } = _menhir_stack in
9317 let d : (
9318 # 73 "parser_cocci_menhir.mly"
9319 (Data.clt)
9320 # 9321 "parser_cocci_menhir.ml"
9321 ) = Obj.magic d in
9322 let c : (
9323 # 107 "parser_cocci_menhir.mly"
9324 (Data.clt)
9325 # 9326 "parser_cocci_menhir.ml"
9326 ) = Obj.magic c in
9327 let _startpos = _startpos_c_ in
9328 let _endpos = _endpos_d_ in
9329 let _v : 'tv_dp_comma_args_TEllipsis_ =
9330 # 730 "parser_cocci_menhir.mly"
9331 ( function dot_builder ->
9332 [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," c)); dot_builder d] )
9333 # 9334 "parser_cocci_menhir.ml"
9334 in
9335 _menhir_env.MenhirLib.EngineTypes.stack <- {
9336 MenhirLib.EngineTypes.state = _menhir_s;
9337 MenhirLib.EngineTypes.semv = Obj.repr _v;
9338 MenhirLib.EngineTypes.startp = _startpos;
9339 MenhirLib.EngineTypes.endp = _endpos;
9340 MenhirLib.EngineTypes.next = _menhir_stack;
9341 });
9342 (fun _menhir_env ->
9343 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9344 let {
9345 MenhirLib.EngineTypes.semv = _2;
9346 MenhirLib.EngineTypes.startp = _startpos__2_;
9347 MenhirLib.EngineTypes.endp = _endpos__2_;
9348 MenhirLib.EngineTypes.next = {
9349 MenhirLib.EngineTypes.state = _menhir_s;
9350 MenhirLib.EngineTypes.semv = _1;
9351 MenhirLib.EngineTypes.startp = _startpos__1_;
9352 MenhirLib.EngineTypes.endp = _endpos__1_;
9353 MenhirLib.EngineTypes.next = _menhir_stack;
9354 };
9355 } = _menhir_stack in
9356 let _2 : 'tv_ident = Obj.magic _2 in
9357 let _1 : (
9358 # 107 "parser_cocci_menhir.mly"
9359 (Data.clt)
9360 # 9361 "parser_cocci_menhir.ml"
9361 ) = Obj.magic _1 in
9362 let _startpos = _startpos__1_ in
9363 let _endpos = _endpos__2_ in
9364 let _v : 'tv_dp_comma_args_TEllipsis_ =
9365 # 733 "parser_cocci_menhir.mly"
9366 ( function dot_builder ->
9367 [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _1));
9368 Ast0.wrap(Ast0.DParam _2)] )
9369 # 9370 "parser_cocci_menhir.ml"
9370 in
9371 _menhir_env.MenhirLib.EngineTypes.stack <- {
9372 MenhirLib.EngineTypes.state = _menhir_s;
9373 MenhirLib.EngineTypes.semv = Obj.repr _v;
9374 MenhirLib.EngineTypes.startp = _startpos;
9375 MenhirLib.EngineTypes.endp = _endpos;
9376 MenhirLib.EngineTypes.next = _menhir_stack;
9377 });
9378 (fun _menhir_env ->
9379 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9380 let {
9381 MenhirLib.EngineTypes.state = _menhir_s;
9382 MenhirLib.EngineTypes.semv = d;
9383 MenhirLib.EngineTypes.startp = _startpos_d_;
9384 MenhirLib.EngineTypes.endp = _endpos_d_;
9385 MenhirLib.EngineTypes.next = _menhir_stack;
9386 } = _menhir_stack in
9387 let d : (
9388 # 73 "parser_cocci_menhir.mly"
9389 (Data.clt)
9390 # 9391 "parser_cocci_menhir.ml"
9391 ) = Obj.magic d in
9392 let _startpos = _startpos_d_ in
9393 let _endpos = _endpos_d_ in
9394 let _v : 'tv_edots_when_TEllipsis_eexpr_ =
9395 # 1808 "parser_cocci_menhir.mly"
9396 ( (d,None) )
9397 # 9398 "parser_cocci_menhir.ml"
9398 in
9399 _menhir_env.MenhirLib.EngineTypes.stack <- {
9400 MenhirLib.EngineTypes.state = _menhir_s;
9401 MenhirLib.EngineTypes.semv = Obj.repr _v;
9402 MenhirLib.EngineTypes.startp = _startpos;
9403 MenhirLib.EngineTypes.endp = _endpos;
9404 MenhirLib.EngineTypes.next = _menhir_stack;
9405 });
9406 (fun _menhir_env ->
9407 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9408 let {
9409 MenhirLib.EngineTypes.startp = _startpos__5_;
9410 MenhirLib.EngineTypes.endp = _endpos__5_;
9411 MenhirLib.EngineTypes.next = {
9412 MenhirLib.EngineTypes.semv = w;
9413 MenhirLib.EngineTypes.startp = _startpos_w_;
9414 MenhirLib.EngineTypes.endp = _endpos_w_;
9415 MenhirLib.EngineTypes.next = {
9416 MenhirLib.EngineTypes.startp = _startpos__3_;
9417 MenhirLib.EngineTypes.endp = _endpos__3_;
9418 MenhirLib.EngineTypes.next = {
9419 MenhirLib.EngineTypes.startp = _startpos__2_;
9420 MenhirLib.EngineTypes.endp = _endpos__2_;
9421 MenhirLib.EngineTypes.next = {
9422 MenhirLib.EngineTypes.state = _menhir_s;
9423 MenhirLib.EngineTypes.semv = d;
9424 MenhirLib.EngineTypes.startp = _startpos_d_;
9425 MenhirLib.EngineTypes.endp = _endpos_d_;
9426 MenhirLib.EngineTypes.next = _menhir_stack;
9427 };
9428 };
9429 };
9430 };
9431 } = _menhir_stack in
9432 let w : 'tv_eexpr = Obj.magic w in
9433 let d : (
9434 # 73 "parser_cocci_menhir.mly"
9435 (Data.clt)
9436 # 9437 "parser_cocci_menhir.ml"
9437 ) = Obj.magic d in
9438 let _startpos = _startpos_d_ in
9439 let _endpos = _endpos__5_ in
9440 let _v : 'tv_edots_when_TEllipsis_eexpr_ =
9441 # 1809 "parser_cocci_menhir.mly"
9442 ( (d,Some w) )
9443 # 9444 "parser_cocci_menhir.ml"
9444 in
9445 _menhir_env.MenhirLib.EngineTypes.stack <- {
9446 MenhirLib.EngineTypes.state = _menhir_s;
9447 MenhirLib.EngineTypes.semv = Obj.repr _v;
9448 MenhirLib.EngineTypes.startp = _startpos;
9449 MenhirLib.EngineTypes.endp = _endpos;
9450 MenhirLib.EngineTypes.next = _menhir_stack;
9451 });
9452 (fun _menhir_env ->
9453 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9454 let {
9455 MenhirLib.EngineTypes.state = _menhir_s;
9456 MenhirLib.EngineTypes.semv = d;
9457 MenhirLib.EngineTypes.startp = _startpos_d_;
9458 MenhirLib.EngineTypes.endp = _endpos_d_;
9459 MenhirLib.EngineTypes.next = _menhir_stack;
9460 } = _menhir_stack in
9461 let d : (
9462 # 73 "parser_cocci_menhir.mly"
9463 (Data.clt)
9464 # 9465 "parser_cocci_menhir.ml"
9465 ) = Obj.magic d in
9466 let _startpos = _startpos_d_ in
9467 let _endpos = _endpos_d_ in
9468 let _v : 'tv_edots_when_TEllipsis_initialize_ =
9469 # 1808 "parser_cocci_menhir.mly"
9470 ( (d,None) )
9471 # 9472 "parser_cocci_menhir.ml"
9472 in
9473 _menhir_env.MenhirLib.EngineTypes.stack <- {
9474 MenhirLib.EngineTypes.state = _menhir_s;
9475 MenhirLib.EngineTypes.semv = Obj.repr _v;
9476 MenhirLib.EngineTypes.startp = _startpos;
9477 MenhirLib.EngineTypes.endp = _endpos;
9478 MenhirLib.EngineTypes.next = _menhir_stack;
9479 });
9480 (fun _menhir_env ->
9481 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9482 let {
9483 MenhirLib.EngineTypes.startp = _startpos__5_;
9484 MenhirLib.EngineTypes.endp = _endpos__5_;
9485 MenhirLib.EngineTypes.next = {
9486 MenhirLib.EngineTypes.semv = w;
9487 MenhirLib.EngineTypes.startp = _startpos_w_;
9488 MenhirLib.EngineTypes.endp = _endpos_w_;
9489 MenhirLib.EngineTypes.next = {
9490 MenhirLib.EngineTypes.startp = _startpos__3_;
9491 MenhirLib.EngineTypes.endp = _endpos__3_;
9492 MenhirLib.EngineTypes.next = {
9493 MenhirLib.EngineTypes.startp = _startpos__2_;
9494 MenhirLib.EngineTypes.endp = _endpos__2_;
9495 MenhirLib.EngineTypes.next = {
9496 MenhirLib.EngineTypes.state = _menhir_s;
9497 MenhirLib.EngineTypes.semv = d;
9498 MenhirLib.EngineTypes.startp = _startpos_d_;
9499 MenhirLib.EngineTypes.endp = _endpos_d_;
9500 MenhirLib.EngineTypes.next = _menhir_stack;
9501 };
9502 };
9503 };
9504 };
9505 } = _menhir_stack in
9506 let w : 'tv_initialize = Obj.magic w in
9507 let d : (
9508 # 73 "parser_cocci_menhir.mly"
9509 (Data.clt)
9510 # 9511 "parser_cocci_menhir.ml"
9511 ) = Obj.magic d in
9512 let _startpos = _startpos_d_ in
9513 let _endpos = _endpos__5_ in
9514 let _v : 'tv_edots_when_TEllipsis_initialize_ =
9515 # 1809 "parser_cocci_menhir.mly"
9516 ( (d,Some w) )
9517 # 9518 "parser_cocci_menhir.ml"
9518 in
9519 _menhir_env.MenhirLib.EngineTypes.stack <- {
9520 MenhirLib.EngineTypes.state = _menhir_s;
9521 MenhirLib.EngineTypes.semv = Obj.repr _v;
9522 MenhirLib.EngineTypes.startp = _startpos;
9523 MenhirLib.EngineTypes.endp = _endpos;
9524 MenhirLib.EngineTypes.next = _menhir_stack;
9525 });
9526 (fun _menhir_env ->
9527 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9528 let {
9529 MenhirLib.EngineTypes.state = _menhir_s;
9530 MenhirLib.EngineTypes.semv = d;
9531 MenhirLib.EngineTypes.startp = _startpos_d_;
9532 MenhirLib.EngineTypes.endp = _endpos_d_;
9533 MenhirLib.EngineTypes.next = _menhir_stack;
9534 } = _menhir_stack in
9535 let d : (
9536 # 73 "parser_cocci_menhir.mly"
9537 (Data.clt)
9538 # 9539 "parser_cocci_menhir.ml"
9539 ) = Obj.magic d in
9540 let _startpos = _startpos_d_ in
9541 let _endpos = _endpos_d_ in
9542 let _v : 'tv_edots_when_TEllipsis_struct_decl_ =
9543 # 1808 "parser_cocci_menhir.mly"
9544 ( (d,None) )
9545 # 9546 "parser_cocci_menhir.ml"
9546 in
9547 _menhir_env.MenhirLib.EngineTypes.stack <- {
9548 MenhirLib.EngineTypes.state = _menhir_s;
9549 MenhirLib.EngineTypes.semv = Obj.repr _v;
9550 MenhirLib.EngineTypes.startp = _startpos;
9551 MenhirLib.EngineTypes.endp = _endpos;
9552 MenhirLib.EngineTypes.next = _menhir_stack;
9553 });
9554 (fun _menhir_env ->
9555 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9556 let {
9557 MenhirLib.EngineTypes.startp = _startpos__5_;
9558 MenhirLib.EngineTypes.endp = _endpos__5_;
9559 MenhirLib.EngineTypes.next = {
9560 MenhirLib.EngineTypes.semv = w;
9561 MenhirLib.EngineTypes.startp = _startpos_w_;
9562 MenhirLib.EngineTypes.endp = _endpos_w_;
9563 MenhirLib.EngineTypes.next = {
9564 MenhirLib.EngineTypes.startp = _startpos__3_;
9565 MenhirLib.EngineTypes.endp = _endpos__3_;
9566 MenhirLib.EngineTypes.next = {
9567 MenhirLib.EngineTypes.startp = _startpos__2_;
9568 MenhirLib.EngineTypes.endp = _endpos__2_;
9569 MenhirLib.EngineTypes.next = {
9570 MenhirLib.EngineTypes.state = _menhir_s;
9571 MenhirLib.EngineTypes.semv = d;
9572 MenhirLib.EngineTypes.startp = _startpos_d_;
9573 MenhirLib.EngineTypes.endp = _endpos_d_;
9574 MenhirLib.EngineTypes.next = _menhir_stack;
9575 };
9576 };
9577 };
9578 };
9579 } = _menhir_stack in
9580 let w : 'tv_struct_decl = Obj.magic w in
9581 let d : (
9582 # 73 "parser_cocci_menhir.mly"
9583 (Data.clt)
9584 # 9585 "parser_cocci_menhir.ml"
9585 ) = Obj.magic d in
9586 let _startpos = _startpos_d_ in
9587 let _endpos = _endpos__5_ in
9588 let _v : 'tv_edots_when_TEllipsis_struct_decl_ =
9589 # 1809 "parser_cocci_menhir.mly"
9590 ( (d,Some w) )
9591 # 9592 "parser_cocci_menhir.ml"
9592 in
9593 _menhir_env.MenhirLib.EngineTypes.stack <- {
9594 MenhirLib.EngineTypes.state = _menhir_s;
9595 MenhirLib.EngineTypes.semv = Obj.repr _v;
9596 MenhirLib.EngineTypes.startp = _startpos;
9597 MenhirLib.EngineTypes.endp = _endpos;
9598 MenhirLib.EngineTypes.next = _menhir_stack;
9599 });
9600 (fun _menhir_env ->
9601 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9602 let {
9603 MenhirLib.EngineTypes.state = _menhir_s;
9604 MenhirLib.EngineTypes.semv = _1;
9605 MenhirLib.EngineTypes.startp = _startpos__1_;
9606 MenhirLib.EngineTypes.endp = _endpos__1_;
9607 MenhirLib.EngineTypes.next = _menhir_stack;
9608 } = _menhir_stack in
9609 let _1 : 'tv_basic_expr_eexpr_dot_expressions_ = Obj.magic _1 in
9610 let _startpos = _startpos__1_ in
9611 let _endpos = _endpos__1_ in
9612 let _v : 'tv_eexpr =
9613 # 1204 "parser_cocci_menhir.mly"
9614 ( _1 )
9615 # 9616 "parser_cocci_menhir.ml"
9616 in
9617 _menhir_env.MenhirLib.EngineTypes.stack <- {
9618 MenhirLib.EngineTypes.state = _menhir_s;
9619 MenhirLib.EngineTypes.semv = Obj.repr _v;
9620 MenhirLib.EngineTypes.startp = _startpos;
9621 MenhirLib.EngineTypes.endp = _endpos;
9622 MenhirLib.EngineTypes.next = _menhir_stack;
9623 });
9624 (fun _menhir_env ->
9625 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9626 let {
9627 MenhirLib.EngineTypes.state = _menhir_s;
9628 MenhirLib.EngineTypes.semv = _1;
9629 MenhirLib.EngineTypes.startp = _startpos__1_;
9630 MenhirLib.EngineTypes.endp = _endpos__1_;
9631 MenhirLib.EngineTypes.next = _menhir_stack;
9632 } = _menhir_stack in
9633 let _1 : 'tv_eexpr_list_start = Obj.magic _1 in
9634 let _startpos = _startpos__1_ in
9635 let _endpos = _endpos__1_ in
9636 let _v : 'tv_eexpr_list =
9637 # 1752 "parser_cocci_menhir.mly"
9638 (let circle x =
9639 match Ast0.unwrap x with Ast0.Ecircles(_) -> true | _ -> false in
9640 let star x =
9641 match Ast0.unwrap x with Ast0.Estars(_) -> true | _ -> false in
9642 if List.exists circle _1
9643 then Ast0.wrap(Ast0.CIRCLES(_1))
9644 else
9645 if List.exists star _1
9646 then Ast0.wrap(Ast0.STARS(_1))
9647 else Ast0.wrap(Ast0.DOTS(_1)) )
9648 # 9649 "parser_cocci_menhir.ml"
9649 in
9650 _menhir_env.MenhirLib.EngineTypes.stack <- {
9651 MenhirLib.EngineTypes.state = _menhir_s;
9652 MenhirLib.EngineTypes.semv = Obj.repr _v;
9653 MenhirLib.EngineTypes.startp = _startpos;
9654 MenhirLib.EngineTypes.endp = _endpos;
9655 MenhirLib.EngineTypes.next = _menhir_stack;
9656 });
9657 (fun _menhir_env ->
9658 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9659 let {
9660 MenhirLib.EngineTypes.state = _menhir_s;
9661 MenhirLib.EngineTypes.semv = _1;
9662 MenhirLib.EngineTypes.startp = _startpos__1_;
9663 MenhirLib.EngineTypes.endp = _endpos__1_;
9664 MenhirLib.EngineTypes.next = _menhir_stack;
9665 } = _menhir_stack in
9666 let _1 : 'tv_eexpr_list = Obj.magic _1 in
9667 let _startpos = _startpos__1_ in
9668 let _endpos = _endpos__1_ in
9669 let _v : 'tv_eexpr_list_option =
9670 # 1791 "parser_cocci_menhir.mly"
9671 ( _1 )
9672 # 9673 "parser_cocci_menhir.ml"
9673 in
9674 _menhir_env.MenhirLib.EngineTypes.stack <- {
9675 MenhirLib.EngineTypes.state = _menhir_s;
9676 MenhirLib.EngineTypes.semv = Obj.repr _v;
9677 MenhirLib.EngineTypes.startp = _startpos;
9678 MenhirLib.EngineTypes.endp = _endpos;
9679 MenhirLib.EngineTypes.next = _menhir_stack;
9680 });
9681 (fun _menhir_env ->
9682 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9683 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
9684 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
9685 let _endpos = _startpos in
9686 let _v : 'tv_eexpr_list_option =
9687 # 1792 "parser_cocci_menhir.mly"
9688 ( Ast0.wrap(Ast0.DOTS([])) )
9689 # 9690 "parser_cocci_menhir.ml"
9690 in
9691 _menhir_env.MenhirLib.EngineTypes.stack <- {
9692 MenhirLib.EngineTypes.state = _menhir_s;
9693 MenhirLib.EngineTypes.semv = Obj.repr _v;
9694 MenhirLib.EngineTypes.startp = _startpos;
9695 MenhirLib.EngineTypes.endp = _endpos;
9696 MenhirLib.EngineTypes.next = _menhir_stack;
9697 });
9698 (fun _menhir_env ->
9699 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9700 let {
9701 MenhirLib.EngineTypes.state = _menhir_s;
9702 MenhirLib.EngineTypes.semv = _1;
9703 MenhirLib.EngineTypes.startp = _startpos__1_;
9704 MenhirLib.EngineTypes.endp = _endpos__1_;
9705 MenhirLib.EngineTypes.next = _menhir_stack;
9706 } = _menhir_stack in
9707 let _1 : 'tv_aexpr = Obj.magic _1 in
9708 let _startpos = _startpos__1_ in
9709 let _endpos = _endpos__1_ in
9710 let _v : 'tv_eexpr_list_start =
9711 # 1779 "parser_cocci_menhir.mly"
9712 ( [_1] )
9713 # 9714 "parser_cocci_menhir.ml"
9714 in
9715 _menhir_env.MenhirLib.EngineTypes.stack <- {
9716 MenhirLib.EngineTypes.state = _menhir_s;
9717 MenhirLib.EngineTypes.semv = Obj.repr _v;
9718 MenhirLib.EngineTypes.startp = _startpos;
9719 MenhirLib.EngineTypes.endp = _endpos;
9720 MenhirLib.EngineTypes.next = _menhir_stack;
9721 });
9722 (fun _menhir_env ->
9723 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9724 let {
9725 MenhirLib.EngineTypes.semv = _3;
9726 MenhirLib.EngineTypes.startp = _startpos__3_;
9727 MenhirLib.EngineTypes.endp = _endpos__3_;
9728 MenhirLib.EngineTypes.next = {
9729 MenhirLib.EngineTypes.semv = _2;
9730 MenhirLib.EngineTypes.startp = _startpos__2_;
9731 MenhirLib.EngineTypes.endp = _endpos__2_;
9732 MenhirLib.EngineTypes.next = {
9733 MenhirLib.EngineTypes.state = _menhir_s;
9734 MenhirLib.EngineTypes.semv = _1;
9735 MenhirLib.EngineTypes.startp = _startpos__1_;
9736 MenhirLib.EngineTypes.endp = _endpos__1_;
9737 MenhirLib.EngineTypes.next = _menhir_stack;
9738 };
9739 };
9740 } = _menhir_stack in
9741 let _3 : 'tv_eexpr_list_start = Obj.magic _3 in
9742 let _2 : (
9743 # 107 "parser_cocci_menhir.mly"
9744 (Data.clt)
9745 # 9746 "parser_cocci_menhir.ml"
9746 ) = Obj.magic _2 in
9747 let _1 : 'tv_aexpr = Obj.magic _1 in
9748 let _startpos = _startpos__1_ in
9749 let _endpos = _endpos__3_ in
9750 let _v : 'tv_eexpr_list_start =
9751 # 1781 "parser_cocci_menhir.mly"
9752 ( _1::Ast0.wrap(Ast0.EComma(P.clt2mcode "," _2))::_3 )
9753 # 9754 "parser_cocci_menhir.ml"
9754 in
9755 _menhir_env.MenhirLib.EngineTypes.stack <- {
9756 MenhirLib.EngineTypes.state = _menhir_s;
9757 MenhirLib.EngineTypes.semv = Obj.repr _v;
9758 MenhirLib.EngineTypes.startp = _startpos;
9759 MenhirLib.EngineTypes.endp = _endpos;
9760 MenhirLib.EngineTypes.next = _menhir_stack;
9761 });
9762 (fun _menhir_env ->
9763 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9764 let {
9765 MenhirLib.EngineTypes.startp = _startpos__6_;
9766 MenhirLib.EngineTypes.endp = _endpos__6_;
9767 MenhirLib.EngineTypes.next = {
9768 MenhirLib.EngineTypes.semv = cl;
9769 MenhirLib.EngineTypes.startp = _startpos_cl_;
9770 MenhirLib.EngineTypes.endp = _endpos_cl_;
9771 MenhirLib.EngineTypes.next = {
9772 MenhirLib.EngineTypes.startp = _startpos__4_;
9773 MenhirLib.EngineTypes.endp = _endpos__4_;
9774 MenhirLib.EngineTypes.next = {
9775 MenhirLib.EngineTypes.startp = _startpos__3_;
9776 MenhirLib.EngineTypes.endp = _endpos__3_;
9777 MenhirLib.EngineTypes.next = {
9778 MenhirLib.EngineTypes.startp = _startpos__2_;
9779 MenhirLib.EngineTypes.endp = _endpos__2_;
9780 MenhirLib.EngineTypes.next = {
9781 MenhirLib.EngineTypes.state = _menhir_s;
9782 MenhirLib.EngineTypes.startp = _startpos__1_;
9783 MenhirLib.EngineTypes.endp = _endpos__1_;
9784 MenhirLib.EngineTypes.next = _menhir_stack;
9785 };
9786 };
9787 };
9788 };
9789 };
9790 } = _menhir_stack in
9791 let cl : 'tv_comma_list_dexpr_ = Obj.magic cl in
9792 let _startpos = _startpos__1_ in
9793 let _endpos = _endpos__6_ in
9794 let _v : 'tv_error_words =
9795 # 1578 "parser_cocci_menhir.mly"
9796 ( [Ast0.wrap(Ast0.ERRORWORDS(cl))] )
9797 # 9798 "parser_cocci_menhir.ml"
9798 in
9799 _menhir_env.MenhirLib.EngineTypes.stack <- {
9800 MenhirLib.EngineTypes.state = _menhir_s;
9801 MenhirLib.EngineTypes.semv = Obj.repr _v;
9802 MenhirLib.EngineTypes.startp = _startpos;
9803 MenhirLib.EngineTypes.endp = _endpos;
9804 MenhirLib.EngineTypes.next = _menhir_stack;
9805 });
9806 (fun _menhir_env ->
9807 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9808 let {
9809 MenhirLib.EngineTypes.state = _menhir_s;
9810 MenhirLib.EngineTypes.startp = _startpos__1_;
9811 MenhirLib.EngineTypes.endp = _endpos__1_;
9812 MenhirLib.EngineTypes.next = _menhir_stack;
9813 } = _menhir_stack in
9814 let _startpos = _startpos__1_ in
9815 let _endpos = _endpos__1_ in
9816 let _v : 'tv_exists =
9817 # 243 "parser_cocci_menhir.mly"
9818 ( Ast.Exists )
9819 # 9820 "parser_cocci_menhir.ml"
9820 in
9821 _menhir_env.MenhirLib.EngineTypes.stack <- {
9822 MenhirLib.EngineTypes.state = _menhir_s;
9823 MenhirLib.EngineTypes.semv = Obj.repr _v;
9824 MenhirLib.EngineTypes.startp = _startpos;
9825 MenhirLib.EngineTypes.endp = _endpos;
9826 MenhirLib.EngineTypes.next = _menhir_stack;
9827 });
9828 (fun _menhir_env ->
9829 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9830 let {
9831 MenhirLib.EngineTypes.state = _menhir_s;
9832 MenhirLib.EngineTypes.startp = _startpos__1_;
9833 MenhirLib.EngineTypes.endp = _endpos__1_;
9834 MenhirLib.EngineTypes.next = _menhir_stack;
9835 } = _menhir_stack in
9836 let _startpos = _startpos__1_ in
9837 let _endpos = _endpos__1_ in
9838 let _v : 'tv_exists =
9839 # 244 "parser_cocci_menhir.mly"
9840 ( Ast.Forall )
9841 # 9842 "parser_cocci_menhir.ml"
9842 in
9843 _menhir_env.MenhirLib.EngineTypes.stack <- {
9844 MenhirLib.EngineTypes.state = _menhir_s;
9845 MenhirLib.EngineTypes.semv = Obj.repr _v;
9846 MenhirLib.EngineTypes.startp = _startpos;
9847 MenhirLib.EngineTypes.endp = _endpos;
9848 MenhirLib.EngineTypes.next = _menhir_stack;
9849 });
9850 (fun _menhir_env ->
9851 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9852 let {
9853 MenhirLib.EngineTypes.startp = _startpos__2_;
9854 MenhirLib.EngineTypes.endp = _endpos__2_;
9855 MenhirLib.EngineTypes.next = {
9856 MenhirLib.EngineTypes.state = _menhir_s;
9857 MenhirLib.EngineTypes.startp = _startpos__1_;
9858 MenhirLib.EngineTypes.endp = _endpos__1_;
9859 MenhirLib.EngineTypes.next = _menhir_stack;
9860 };
9861 } = _menhir_stack in
9862 let _startpos = _startpos__1_ in
9863 let _endpos = _endpos__2_ in
9864 let _v : 'tv_exists =
9865 # 245 "parser_cocci_menhir.mly"
9866 ( Ast.ReverseForall )
9867 # 9868 "parser_cocci_menhir.ml"
9868 in
9869 _menhir_env.MenhirLib.EngineTypes.stack <- {
9870 MenhirLib.EngineTypes.state = _menhir_s;
9871 MenhirLib.EngineTypes.semv = Obj.repr _v;
9872 MenhirLib.EngineTypes.startp = _startpos;
9873 MenhirLib.EngineTypes.endp = _endpos;
9874 MenhirLib.EngineTypes.next = _menhir_stack;
9875 });
9876 (fun _menhir_env ->
9877 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9878 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
9879 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
9880 let _endpos = _startpos in
9881 let _v : 'tv_exists =
9882 # 246 "parser_cocci_menhir.mly"
9883 ( Ast.Undetermined )
9884 # 9885 "parser_cocci_menhir.ml"
9885 in
9886 _menhir_env.MenhirLib.EngineTypes.stack <- {
9887 MenhirLib.EngineTypes.state = _menhir_s;
9888 MenhirLib.EngineTypes.semv = Obj.repr _v;
9889 MenhirLib.EngineTypes.startp = _startpos;
9890 MenhirLib.EngineTypes.endp = _endpos;
9891 MenhirLib.EngineTypes.next = _menhir_stack;
9892 });
9893 (fun _menhir_env ->
9894 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9895 let {
9896 MenhirLib.EngineTypes.state = _menhir_s;
9897 MenhirLib.EngineTypes.semv = _1;
9898 MenhirLib.EngineTypes.startp = _startpos__1_;
9899 MenhirLib.EngineTypes.endp = _endpos__1_;
9900 MenhirLib.EngineTypes.next = _menhir_stack;
9901 } = _menhir_stack in
9902 let _1 : 'tv_basic_expr_expr_invalid_ = Obj.magic _1 in
9903 let _startpos = _startpos__1_ in
9904 let _endpos = _endpos__1_ in
9905 let _v : 'tv_expr =
9906 # 1202 "parser_cocci_menhir.mly"
9907 ( _1 )
9908 # 9909 "parser_cocci_menhir.ml"
9909 in
9910 _menhir_env.MenhirLib.EngineTypes.stack <- {
9911 MenhirLib.EngineTypes.state = _menhir_s;
9912 MenhirLib.EngineTypes.semv = Obj.repr _v;
9913 MenhirLib.EngineTypes.startp = _startpos;
9914 MenhirLib.EngineTypes.endp = _endpos;
9915 MenhirLib.EngineTypes.next = _menhir_stack;
9916 });
9917 (fun _menhir_env ->
9918 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9919 let {
9920 MenhirLib.EngineTypes.state = _menhir_s;
9921 MenhirLib.EngineTypes.semv = r;
9922 MenhirLib.EngineTypes.startp = _startpos_r_;
9923 MenhirLib.EngineTypes.endp = _endpos_r_;
9924 MenhirLib.EngineTypes.next = _menhir_stack;
9925 } = _menhir_stack in
9926 let r : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = Obj.magic r in
9927 let _startpos = _startpos_r_ in
9928 let _endpos = _endpos_r_ in
9929 let _v : 'tv_expr_dots_TEllipsis_ =
9930 # 1384 "parser_cocci_menhir.mly"
9931 ( r )
9932 # 9933 "parser_cocci_menhir.ml"
9933 in
9934 _menhir_env.MenhirLib.EngineTypes.stack <- {
9935 MenhirLib.EngineTypes.state = _menhir_s;
9936 MenhirLib.EngineTypes.semv = Obj.repr _v;
9937 MenhirLib.EngineTypes.startp = _startpos;
9938 MenhirLib.EngineTypes.endp = _endpos;
9939 MenhirLib.EngineTypes.next = _menhir_stack;
9940 });
9941 (fun _menhir_env ->
9942 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9943 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
9944 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
9945 let _endpos = _startpos in
9946 let _v : 'tv_extends =
9947 # 216 "parser_cocci_menhir.mly"
9948 ( () )
9949 # 9950 "parser_cocci_menhir.ml"
9950 in
9951 _menhir_env.MenhirLib.EngineTypes.stack <- {
9952 MenhirLib.EngineTypes.state = _menhir_s;
9953 MenhirLib.EngineTypes.semv = Obj.repr _v;
9954 MenhirLib.EngineTypes.startp = _startpos;
9955 MenhirLib.EngineTypes.endp = _endpos;
9956 MenhirLib.EngineTypes.next = _menhir_stack;
9957 });
9958 (fun _menhir_env ->
9959 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9960 let {
9961 MenhirLib.EngineTypes.semv = parent;
9962 MenhirLib.EngineTypes.startp = _startpos_parent_;
9963 MenhirLib.EngineTypes.endp = _endpos_parent_;
9964 MenhirLib.EngineTypes.next = {
9965 MenhirLib.EngineTypes.state = _menhir_s;
9966 MenhirLib.EngineTypes.startp = _startpos__1_;
9967 MenhirLib.EngineTypes.endp = _endpos__1_;
9968 MenhirLib.EngineTypes.next = _menhir_stack;
9969 };
9970 } = _menhir_stack in
9971 let parent : (
9972 # 47 "parser_cocci_menhir.mly"
9973 (string)
9974 # 9975 "parser_cocci_menhir.ml"
9975 ) = Obj.magic parent in
9976 let _startpos = _startpos__1_ in
9977 let _endpos = _endpos_parent_ in
9978 let _v : 'tv_extends =
9979 # 218 "parser_cocci_menhir.mly"
9980 ( !Data.install_bindings (parent) )
9981 # 9982 "parser_cocci_menhir.ml"
9982 in
9983 _menhir_env.MenhirLib.EngineTypes.stack <- {
9984 MenhirLib.EngineTypes.state = _menhir_s;
9985 MenhirLib.EngineTypes.semv = Obj.repr _v;
9986 MenhirLib.EngineTypes.startp = _startpos;
9987 MenhirLib.EngineTypes.endp = _endpos;
9988 MenhirLib.EngineTypes.next = _menhir_stack;
9989 });
9990 (fun _menhir_env ->
9991 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9992 let {
9993 MenhirLib.EngineTypes.semv = _2;
9994 MenhirLib.EngineTypes.startp = _startpos__2_;
9995 MenhirLib.EngineTypes.endp = _endpos__2_;
9996 MenhirLib.EngineTypes.next = {
9997 MenhirLib.EngineTypes.state = _menhir_s;
9998 MenhirLib.EngineTypes.semv = _1;
9999 MenhirLib.EngineTypes.startp = _startpos__1_;
10000 MenhirLib.EngineTypes.endp = _endpos__1_;
10001 MenhirLib.EngineTypes.next = _menhir_stack;
10002 };
10003 } = _menhir_stack in
10004 let _2 : (
10005 # 83 "parser_cocci_menhir.mly"
10006 (string * Data.clt)
10007 # 10008 "parser_cocci_menhir.ml"
10008 ) = Obj.magic _2 in
10009 let _1 : (
10010 # 83 "parser_cocci_menhir.mly"
10011 (string * Data.clt)
10012 # 10013 "parser_cocci_menhir.ml"
10013 ) = Obj.magic _1 in
10014 let _startpos = _startpos__1_ in
10015 let _endpos = _endpos__2_ in
10016 let _v : 'tv_filespec =
10017 # 632 "parser_cocci_menhir.mly"
10018 ( [Ast0.wrap
10019 (Ast0.FILEINFO(P.id2mcode _1,
10020 P.id2mcode _2))] )
10021 # 10022 "parser_cocci_menhir.ml"
10022 in
10023 _menhir_env.MenhirLib.EngineTypes.stack <- {
10024 MenhirLib.EngineTypes.state = _menhir_s;
10025 MenhirLib.EngineTypes.semv = Obj.repr _v;
10026 MenhirLib.EngineTypes.startp = _startpos;
10027 MenhirLib.EngineTypes.endp = _endpos;
10028 MenhirLib.EngineTypes.next = _menhir_stack;
10029 });
10030 (fun _menhir_env ->
10031 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10032 let {
10033 MenhirLib.EngineTypes.semv = m;
10034 MenhirLib.EngineTypes.startp = _startpos_m_;
10035 MenhirLib.EngineTypes.endp = _endpos_m_;
10036 MenhirLib.EngineTypes.next = {
10037 MenhirLib.EngineTypes.state = _menhir_s;
10038 MenhirLib.EngineTypes.semv = ty;
10039 MenhirLib.EngineTypes.startp = _startpos_ty_;
10040 MenhirLib.EngineTypes.endp = _endpos_ty_;
10041 MenhirLib.EngineTypes.next = _menhir_stack;
10042 };
10043 } = _menhir_stack in
10044 let m : 'tv_list_TMul_ = Obj.magic m in
10045 let ty : 'tv_generic_ctype = Obj.magic ty in
10046 let _startpos = _startpos_ty_ in
10047 let _endpos = _endpos_m_ in
10048 let _v : 'tv_fn_ctype =
10049 # 581 "parser_cocci_menhir.mly"
10050 ( P.pointerify ty m )
10051 # 10052 "parser_cocci_menhir.ml"
10052 in
10053 _menhir_env.MenhirLib.EngineTypes.stack <- {
10054 MenhirLib.EngineTypes.state = _menhir_s;
10055 MenhirLib.EngineTypes.semv = Obj.repr _v;
10056 MenhirLib.EngineTypes.startp = _startpos;
10057 MenhirLib.EngineTypes.endp = _endpos;
10058 MenhirLib.EngineTypes.next = _menhir_stack;
10059 });
10060 (fun _menhir_env ->
10061 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10062 let {
10063 MenhirLib.EngineTypes.semv = m;
10064 MenhirLib.EngineTypes.startp = _startpos_m_;
10065 MenhirLib.EngineTypes.endp = _endpos_m_;
10066 MenhirLib.EngineTypes.next = {
10067 MenhirLib.EngineTypes.state = _menhir_s;
10068 MenhirLib.EngineTypes.semv = t;
10069 MenhirLib.EngineTypes.startp = _startpos_t_;
10070 MenhirLib.EngineTypes.endp = _endpos_t_;
10071 MenhirLib.EngineTypes.next = _menhir_stack;
10072 };
10073 } = _menhir_stack in
10074 let m : 'tv_list_TMul_ = Obj.magic m in
10075 let t : (
10076 # 50 "parser_cocci_menhir.mly"
10077 (Data.clt)
10078 # 10079 "parser_cocci_menhir.ml"
10079 ) = Obj.magic t in
10080 let _startpos = _startpos_t_ in
10081 let _endpos = _endpos_m_ in
10082 let _v : 'tv_fn_ctype =
10083 # 583 "parser_cocci_menhir.mly"
10084 ( P.pointerify
10085 (Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" t])))
10086 m )
10087 # 10088 "parser_cocci_menhir.ml"
10088 in
10089 _menhir_env.MenhirLib.EngineTypes.stack <- {
10090 MenhirLib.EngineTypes.state = _menhir_s;
10091 MenhirLib.EngineTypes.semv = Obj.repr _v;
10092 MenhirLib.EngineTypes.startp = _startpos;
10093 MenhirLib.EngineTypes.endp = _endpos;
10094 MenhirLib.EngineTypes.next = _menhir_stack;
10095 });
10096 (fun _menhir_env ->
10097 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10098 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
10099 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
10100 let _endpos = _startpos in
10101 let _v : 'tv_fninfo =
10102 # 776 "parser_cocci_menhir.mly"
10103 ( [] )
10104 # 10105 "parser_cocci_menhir.ml"
10105 in
10106 _menhir_env.MenhirLib.EngineTypes.stack <- {
10107 MenhirLib.EngineTypes.state = _menhir_s;
10108 MenhirLib.EngineTypes.semv = Obj.repr _v;
10109 MenhirLib.EngineTypes.startp = _startpos;
10110 MenhirLib.EngineTypes.endp = _endpos;
10111 MenhirLib.EngineTypes.next = _menhir_stack;
10112 });
10113 (fun _menhir_env ->
10114 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10115 let {
10116 MenhirLib.EngineTypes.semv = _2;
10117 MenhirLib.EngineTypes.startp = _startpos__2_;
10118 MenhirLib.EngineTypes.endp = _endpos__2_;
10119 MenhirLib.EngineTypes.next = {
10120 MenhirLib.EngineTypes.state = _menhir_s;
10121 MenhirLib.EngineTypes.semv = _1;
10122 MenhirLib.EngineTypes.startp = _startpos__1_;
10123 MenhirLib.EngineTypes.endp = _endpos__1_;
10124 MenhirLib.EngineTypes.next = _menhir_stack;
10125 };
10126 } = _menhir_stack in
10127 let _2 : 'tv_fninfo = Obj.magic _2 in
10128 let _1 : 'tv_storage = Obj.magic _1 in
10129 let _startpos = _startpos__1_ in
10130 let _endpos = _endpos__2_ in
10131 let _v : 'tv_fninfo =
10132 # 778 "parser_cocci_menhir.mly"
10133 ( try
10134 let _ =
10135 List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
10136 raise (Semantic_cocci.Semantic "duplicate storage")
10137 with Not_found -> (Ast0.FStorage(_1))::_2 )
10138 # 10139 "parser_cocci_menhir.ml"
10139 in
10140 _menhir_env.MenhirLib.EngineTypes.stack <- {
10141 MenhirLib.EngineTypes.state = _menhir_s;
10142 MenhirLib.EngineTypes.semv = Obj.repr _v;
10143 MenhirLib.EngineTypes.startp = _startpos;
10144 MenhirLib.EngineTypes.endp = _endpos;
10145 MenhirLib.EngineTypes.next = _menhir_stack;
10146 });
10147 (fun _menhir_env ->
10148 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10149 let {
10150 MenhirLib.EngineTypes.semv = r;
10151 MenhirLib.EngineTypes.startp = _startpos_r_;
10152 MenhirLib.EngineTypes.endp = _endpos_r_;
10153 MenhirLib.EngineTypes.next = {
10154 MenhirLib.EngineTypes.state = _menhir_s;
10155 MenhirLib.EngineTypes.semv = t;
10156 MenhirLib.EngineTypes.startp = _startpos_t_;
10157 MenhirLib.EngineTypes.endp = _endpos_t_;
10158 MenhirLib.EngineTypes.next = _menhir_stack;
10159 };
10160 } = _menhir_stack in
10161 let r : 'tv_fninfo_nt = Obj.magic r in
10162 let t : 'tv_fn_ctype = Obj.magic t in
10163 let _startpos = _startpos_t_ in
10164 let _endpos = _endpos_r_ in
10165 let _v : 'tv_fninfo =
10166 # 783 "parser_cocci_menhir.mly"
10167 ( (Ast0.FType(t))::r )
10168 # 10169 "parser_cocci_menhir.ml"
10169 in
10170 _menhir_env.MenhirLib.EngineTypes.stack <- {
10171 MenhirLib.EngineTypes.state = _menhir_s;
10172 MenhirLib.EngineTypes.semv = Obj.repr _v;
10173 MenhirLib.EngineTypes.startp = _startpos;
10174 MenhirLib.EngineTypes.endp = _endpos;
10175 MenhirLib.EngineTypes.next = _menhir_stack;
10176 });
10177 (fun _menhir_env ->
10178 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10179 let {
10180 MenhirLib.EngineTypes.semv = _2;
10181 MenhirLib.EngineTypes.startp = _startpos__2_;
10182 MenhirLib.EngineTypes.endp = _endpos__2_;
10183 MenhirLib.EngineTypes.next = {
10184 MenhirLib.EngineTypes.state = _menhir_s;
10185 MenhirLib.EngineTypes.semv = _1;
10186 MenhirLib.EngineTypes.startp = _startpos__1_;
10187 MenhirLib.EngineTypes.endp = _endpos__1_;
10188 MenhirLib.EngineTypes.next = _menhir_stack;
10189 };
10190 } = _menhir_stack in
10191 let _2 : 'tv_fninfo = Obj.magic _2 in
10192 let _1 : (
10193 # 53 "parser_cocci_menhir.mly"
10194 (Data.clt)
10195 # 10196 "parser_cocci_menhir.ml"
10196 ) = Obj.magic _1 in
10197 let _startpos = _startpos__1_ in
10198 let _endpos = _endpos__2_ in
10199 let _v : 'tv_fninfo =
10200 # 785 "parser_cocci_menhir.mly"
10201 ( try
10202 let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
10203 raise (Semantic_cocci.Semantic "duplicate inline")
10204 with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
10205 # 10206 "parser_cocci_menhir.ml"
10206 in
10207 _menhir_env.MenhirLib.EngineTypes.stack <- {
10208 MenhirLib.EngineTypes.state = _menhir_s;
10209 MenhirLib.EngineTypes.semv = Obj.repr _v;
10210 MenhirLib.EngineTypes.startp = _startpos;
10211 MenhirLib.EngineTypes.endp = _endpos;
10212 MenhirLib.EngineTypes.next = _menhir_stack;
10213 });
10214 (fun _menhir_env ->
10215 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10216 let {
10217 MenhirLib.EngineTypes.semv = _2;
10218 MenhirLib.EngineTypes.startp = _startpos__2_;
10219 MenhirLib.EngineTypes.endp = _endpos__2_;
10220 MenhirLib.EngineTypes.next = {
10221 MenhirLib.EngineTypes.state = _menhir_s;
10222 MenhirLib.EngineTypes.semv = _1;
10223 MenhirLib.EngineTypes.startp = _startpos__1_;
10224 MenhirLib.EngineTypes.endp = _endpos__1_;
10225 MenhirLib.EngineTypes.next = _menhir_stack;
10226 };
10227 } = _menhir_stack in
10228 let _2 : 'tv_fninfo = Obj.magic _2 in
10229 let _1 : (
10230 # 55 "parser_cocci_menhir.mly"
10231 (string * Data.clt)
10232 # 10233 "parser_cocci_menhir.ml"
10233 ) = Obj.magic _1 in
10234 let _startpos = _startpos__1_ in
10235 let _endpos = _endpos__2_ in
10236 let _v : 'tv_fninfo =
10237 # 790 "parser_cocci_menhir.mly"
10238 ( try
10239 let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
10240 raise (Semantic_cocci.Semantic "multiple attributes")
10241 with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
10242 # 10243 "parser_cocci_menhir.ml"
10243 in
10244 _menhir_env.MenhirLib.EngineTypes.stack <- {
10245 MenhirLib.EngineTypes.state = _menhir_s;
10246 MenhirLib.EngineTypes.semv = Obj.repr _v;
10247 MenhirLib.EngineTypes.startp = _startpos;
10248 MenhirLib.EngineTypes.endp = _endpos;
10249 MenhirLib.EngineTypes.next = _menhir_stack;
10250 });
10251 (fun _menhir_env ->
10252 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10253 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
10254 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
10255 let _endpos = _startpos in
10256 let _v : 'tv_fninfo_nt =
10257 # 796 "parser_cocci_menhir.mly"
10258 ( [] )
10259 # 10260 "parser_cocci_menhir.ml"
10260 in
10261 _menhir_env.MenhirLib.EngineTypes.stack <- {
10262 MenhirLib.EngineTypes.state = _menhir_s;
10263 MenhirLib.EngineTypes.semv = Obj.repr _v;
10264 MenhirLib.EngineTypes.startp = _startpos;
10265 MenhirLib.EngineTypes.endp = _endpos;
10266 MenhirLib.EngineTypes.next = _menhir_stack;
10267 });
10268 (fun _menhir_env ->
10269 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10270 let {
10271 MenhirLib.EngineTypes.semv = _2;
10272 MenhirLib.EngineTypes.startp = _startpos__2_;
10273 MenhirLib.EngineTypes.endp = _endpos__2_;
10274 MenhirLib.EngineTypes.next = {
10275 MenhirLib.EngineTypes.state = _menhir_s;
10276 MenhirLib.EngineTypes.semv = _1;
10277 MenhirLib.EngineTypes.startp = _startpos__1_;
10278 MenhirLib.EngineTypes.endp = _endpos__1_;
10279 MenhirLib.EngineTypes.next = _menhir_stack;
10280 };
10281 } = _menhir_stack in
10282 let _2 : 'tv_fninfo_nt = Obj.magic _2 in
10283 let _1 : 'tv_storage = Obj.magic _1 in
10284 let _startpos = _startpos__1_ in
10285 let _endpos = _endpos__2_ in
10286 let _v : 'tv_fninfo_nt =
10287 # 798 "parser_cocci_menhir.mly"
10288 ( try
10289 let _ =
10290 List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
10291 raise (Semantic_cocci.Semantic "duplicate storage")
10292 with Not_found -> (Ast0.FStorage(_1))::_2 )
10293 # 10294 "parser_cocci_menhir.ml"
10294 in
10295 _menhir_env.MenhirLib.EngineTypes.stack <- {
10296 MenhirLib.EngineTypes.state = _menhir_s;
10297 MenhirLib.EngineTypes.semv = Obj.repr _v;
10298 MenhirLib.EngineTypes.startp = _startpos;
10299 MenhirLib.EngineTypes.endp = _endpos;
10300 MenhirLib.EngineTypes.next = _menhir_stack;
10301 });
10302 (fun _menhir_env ->
10303 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10304 let {
10305 MenhirLib.EngineTypes.semv = _2;
10306 MenhirLib.EngineTypes.startp = _startpos__2_;
10307 MenhirLib.EngineTypes.endp = _endpos__2_;
10308 MenhirLib.EngineTypes.next = {
10309 MenhirLib.EngineTypes.state = _menhir_s;
10310 MenhirLib.EngineTypes.semv = _1;
10311 MenhirLib.EngineTypes.startp = _startpos__1_;
10312 MenhirLib.EngineTypes.endp = _endpos__1_;
10313 MenhirLib.EngineTypes.next = _menhir_stack;
10314 };
10315 } = _menhir_stack in
10316 let _2 : 'tv_fninfo_nt = Obj.magic _2 in
10317 let _1 : (
10318 # 53 "parser_cocci_menhir.mly"
10319 (Data.clt)
10320 # 10321 "parser_cocci_menhir.ml"
10321 ) = Obj.magic _1 in
10322 let _startpos = _startpos__1_ in
10323 let _endpos = _endpos__2_ in
10324 let _v : 'tv_fninfo_nt =
10325 # 804 "parser_cocci_menhir.mly"
10326 ( try
10327 let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
10328 raise (Semantic_cocci.Semantic "duplicate inline")
10329 with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
10330 # 10331 "parser_cocci_menhir.ml"
10331 in
10332 _menhir_env.MenhirLib.EngineTypes.stack <- {
10333 MenhirLib.EngineTypes.state = _menhir_s;
10334 MenhirLib.EngineTypes.semv = Obj.repr _v;
10335 MenhirLib.EngineTypes.startp = _startpos;
10336 MenhirLib.EngineTypes.endp = _endpos;
10337 MenhirLib.EngineTypes.next = _menhir_stack;
10338 });
10339 (fun _menhir_env ->
10340 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10341 let {
10342 MenhirLib.EngineTypes.semv = _2;
10343 MenhirLib.EngineTypes.startp = _startpos__2_;
10344 MenhirLib.EngineTypes.endp = _endpos__2_;
10345 MenhirLib.EngineTypes.next = {
10346 MenhirLib.EngineTypes.state = _menhir_s;
10347 MenhirLib.EngineTypes.semv = _1;
10348 MenhirLib.EngineTypes.startp = _startpos__1_;
10349 MenhirLib.EngineTypes.endp = _endpos__1_;
10350 MenhirLib.EngineTypes.next = _menhir_stack;
10351 };
10352 } = _menhir_stack in
10353 let _2 : 'tv_fninfo_nt = Obj.magic _2 in
10354 let _1 : (
10355 # 55 "parser_cocci_menhir.mly"
10356 (string * Data.clt)
10357 # 10358 "parser_cocci_menhir.ml"
10358 ) = Obj.magic _1 in
10359 let _startpos = _startpos__1_ in
10360 let _endpos = _endpos__2_ in
10361 let _v : 'tv_fninfo_nt =
10362 # 809 "parser_cocci_menhir.mly"
10363 ( try
10364 let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
10365 raise (Semantic_cocci.Semantic "duplicate init")
10366 with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
10367 # 10368 "parser_cocci_menhir.ml"
10368 in
10369 _menhir_env.MenhirLib.EngineTypes.stack <- {
10370 MenhirLib.EngineTypes.state = _menhir_s;
10371 MenhirLib.EngineTypes.semv = Obj.repr _v;
10372 MenhirLib.EngineTypes.startp = _startpos;
10373 MenhirLib.EngineTypes.endp = _endpos;
10374 MenhirLib.EngineTypes.next = _menhir_stack;
10375 });
10376 (fun _menhir_env ->
10377 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10378 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
10379 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
10380 let _endpos = _startpos in
10381 let _v : 'tv_fun_after_dots =
10382 # 1700 "parser_cocci_menhir.mly"
10383 ([])
10384 # 10385 "parser_cocci_menhir.ml"
10385 in
10386 _menhir_env.MenhirLib.EngineTypes.stack <- {
10387 MenhirLib.EngineTypes.state = _menhir_s;
10388 MenhirLib.EngineTypes.semv = Obj.repr _v;
10389 MenhirLib.EngineTypes.startp = _startpos;
10390 MenhirLib.EngineTypes.endp = _endpos;
10391 MenhirLib.EngineTypes.next = _menhir_stack;
10392 });
10393 (fun _menhir_env ->
10394 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10395 let {
10396 MenhirLib.EngineTypes.semv = _2;
10397 MenhirLib.EngineTypes.startp = _startpos__2_;
10398 MenhirLib.EngineTypes.endp = _endpos__2_;
10399 MenhirLib.EngineTypes.next = {
10400 MenhirLib.EngineTypes.state = _menhir_s;
10401 MenhirLib.EngineTypes.startp = _startpos__1_;
10402 MenhirLib.EngineTypes.endp = _endpos__1_;
10403 MenhirLib.EngineTypes.next = _menhir_stack;
10404 };
10405 } = _menhir_stack in
10406 let _2 : 'tv_fun_after_exp = Obj.magic _2 in
10407 let _startpos = _startpos__1_ in
10408 let _endpos = _endpos__2_ in
10409 let _v : 'tv_fun_after_dots =
10410 # 1701 "parser_cocci_menhir.mly"
10411 (_2)
10412 # 10413 "parser_cocci_menhir.ml"
10413 in
10414 _menhir_env.MenhirLib.EngineTypes.stack <- {
10415 MenhirLib.EngineTypes.state = _menhir_s;
10416 MenhirLib.EngineTypes.semv = Obj.repr _v;
10417 MenhirLib.EngineTypes.startp = _startpos;
10418 MenhirLib.EngineTypes.endp = _endpos;
10419 MenhirLib.EngineTypes.next = _menhir_stack;
10420 });
10421 (fun _menhir_env ->
10422 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10423 let {
10424 MenhirLib.EngineTypes.semv = _2;
10425 MenhirLib.EngineTypes.startp = _startpos__2_;
10426 MenhirLib.EngineTypes.endp = _endpos__2_;
10427 MenhirLib.EngineTypes.next = {
10428 MenhirLib.EngineTypes.state = _menhir_s;
10429 MenhirLib.EngineTypes.semv = _1;
10430 MenhirLib.EngineTypes.startp = _startpos__1_;
10431 MenhirLib.EngineTypes.endp = _endpos__1_;
10432 MenhirLib.EngineTypes.next = _menhir_stack;
10433 };
10434 } = _menhir_stack in
10435 let _2 : 'tv_fun_after_exp = Obj.magic _2 in
10436 let _1 : 'tv_expr = Obj.magic _1 in
10437 let _startpos = _startpos__1_ in
10438 let _endpos = _endpos__2_ in
10439 let _v : 'tv_fun_after_dots =
10440 # 1702 "parser_cocci_menhir.mly"
10441 (Ast0.wrap(Ast0.Exp(_1))::_2)
10442 # 10443 "parser_cocci_menhir.ml"
10443 in
10444 _menhir_env.MenhirLib.EngineTypes.stack <- {
10445 MenhirLib.EngineTypes.state = _menhir_s;
10446 MenhirLib.EngineTypes.semv = Obj.repr _v;
10447 MenhirLib.EngineTypes.startp = _startpos;
10448 MenhirLib.EngineTypes.endp = _endpos;
10449 MenhirLib.EngineTypes.next = _menhir_stack;
10450 });
10451 (fun _menhir_env ->
10452 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10453 let {
10454 MenhirLib.EngineTypes.semv = _2;
10455 MenhirLib.EngineTypes.startp = _startpos__2_;
10456 MenhirLib.EngineTypes.endp = _endpos__2_;
10457 MenhirLib.EngineTypes.next = {
10458 MenhirLib.EngineTypes.state = _menhir_s;
10459 MenhirLib.EngineTypes.semv = _1;
10460 MenhirLib.EngineTypes.startp = _startpos__1_;
10461 MenhirLib.EngineTypes.endp = _endpos__1_;
10462 MenhirLib.EngineTypes.next = _menhir_stack;
10463 };
10464 } = _menhir_stack in
10465 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
10466 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
10467 let _startpos = _startpos__1_ in
10468 let _endpos = _endpos__2_ in
10469 let _v : 'tv_fun_after_dots =
10470 # 1703 "parser_cocci_menhir.mly"
10471 (_1@_2)
10472 # 10473 "parser_cocci_menhir.ml"
10473 in
10474 _menhir_env.MenhirLib.EngineTypes.stack <- {
10475 MenhirLib.EngineTypes.state = _menhir_s;
10476 MenhirLib.EngineTypes.semv = Obj.repr _v;
10477 MenhirLib.EngineTypes.startp = _startpos;
10478 MenhirLib.EngineTypes.endp = _endpos;
10479 MenhirLib.EngineTypes.next = _menhir_stack;
10480 });
10481 (fun _menhir_env ->
10482 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10483 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
10484 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
10485 let _endpos = _startpos in
10486 let _v : 'tv_fun_after_dots_or =
10487 # 1710 "parser_cocci_menhir.mly"
10488 ([])
10489 # 10490 "parser_cocci_menhir.ml"
10490 in
10491 _menhir_env.MenhirLib.EngineTypes.stack <- {
10492 MenhirLib.EngineTypes.state = _menhir_s;
10493 MenhirLib.EngineTypes.semv = Obj.repr _v;
10494 MenhirLib.EngineTypes.startp = _startpos;
10495 MenhirLib.EngineTypes.endp = _endpos;
10496 MenhirLib.EngineTypes.next = _menhir_stack;
10497 });
10498 (fun _menhir_env ->
10499 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10500 let {
10501 MenhirLib.EngineTypes.semv = _2;
10502 MenhirLib.EngineTypes.startp = _startpos__2_;
10503 MenhirLib.EngineTypes.endp = _endpos__2_;
10504 MenhirLib.EngineTypes.next = {
10505 MenhirLib.EngineTypes.state = _menhir_s;
10506 MenhirLib.EngineTypes.startp = _startpos__1_;
10507 MenhirLib.EngineTypes.endp = _endpos__1_;
10508 MenhirLib.EngineTypes.next = _menhir_stack;
10509 };
10510 } = _menhir_stack in
10511 let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
10512 let _startpos = _startpos__1_ in
10513 let _endpos = _endpos__2_ in
10514 let _v : 'tv_fun_after_dots_or =
10515 # 1711 "parser_cocci_menhir.mly"
10516 (_2)
10517 # 10518 "parser_cocci_menhir.ml"
10518 in
10519 _menhir_env.MenhirLib.EngineTypes.stack <- {
10520 MenhirLib.EngineTypes.state = _menhir_s;
10521 MenhirLib.EngineTypes.semv = Obj.repr _v;
10522 MenhirLib.EngineTypes.startp = _startpos;
10523 MenhirLib.EngineTypes.endp = _endpos;
10524 MenhirLib.EngineTypes.next = _menhir_stack;
10525 });
10526 (fun _menhir_env ->
10527 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10528 let {
10529 MenhirLib.EngineTypes.semv = _2;
10530 MenhirLib.EngineTypes.startp = _startpos__2_;
10531 MenhirLib.EngineTypes.endp = _endpos__2_;
10532 MenhirLib.EngineTypes.next = {
10533 MenhirLib.EngineTypes.state = _menhir_s;
10534 MenhirLib.EngineTypes.semv = _1;
10535 MenhirLib.EngineTypes.startp = _startpos__1_;
10536 MenhirLib.EngineTypes.endp = _endpos__1_;
10537 MenhirLib.EngineTypes.next = _menhir_stack;
10538 };
10539 } = _menhir_stack in
10540 let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
10541 let _1 : 'tv_expr = Obj.magic _1 in
10542 let _startpos = _startpos__1_ in
10543 let _endpos = _endpos__2_ in
10544 let _v : 'tv_fun_after_dots_or =
10545 # 1712 "parser_cocci_menhir.mly"
10546 (Ast0.wrap(Ast0.Exp(_1))::_2)
10547 # 10548 "parser_cocci_menhir.ml"
10548 in
10549 _menhir_env.MenhirLib.EngineTypes.stack <- {
10550 MenhirLib.EngineTypes.state = _menhir_s;
10551 MenhirLib.EngineTypes.semv = Obj.repr _v;
10552 MenhirLib.EngineTypes.startp = _startpos;
10553 MenhirLib.EngineTypes.endp = _endpos;
10554 MenhirLib.EngineTypes.next = _menhir_stack;
10555 });
10556 (fun _menhir_env ->
10557 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10558 let {
10559 MenhirLib.EngineTypes.semv = _2;
10560 MenhirLib.EngineTypes.startp = _startpos__2_;
10561 MenhirLib.EngineTypes.endp = _endpos__2_;
10562 MenhirLib.EngineTypes.next = {
10563 MenhirLib.EngineTypes.state = _menhir_s;
10564 MenhirLib.EngineTypes.semv = _1;
10565 MenhirLib.EngineTypes.startp = _startpos__1_;
10566 MenhirLib.EngineTypes.endp = _endpos__1_;
10567 MenhirLib.EngineTypes.next = _menhir_stack;
10568 };
10569 } = _menhir_stack in
10570 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
10571 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
10572 let _startpos = _startpos__1_ in
10573 let _endpos = _endpos__2_ in
10574 let _v : 'tv_fun_after_dots_or =
10575 # 1713 "parser_cocci_menhir.mly"
10576 (_1@_2)
10577 # 10578 "parser_cocci_menhir.ml"
10578 in
10579 _menhir_env.MenhirLib.EngineTypes.stack <- {
10580 MenhirLib.EngineTypes.state = _menhir_s;
10581 MenhirLib.EngineTypes.semv = Obj.repr _v;
10582 MenhirLib.EngineTypes.startp = _startpos;
10583 MenhirLib.EngineTypes.endp = _endpos;
10584 MenhirLib.EngineTypes.next = _menhir_stack;
10585 });
10586 (fun _menhir_env ->
10587 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10588 let {
10589 MenhirLib.EngineTypes.semv = _2;
10590 MenhirLib.EngineTypes.startp = _startpos__2_;
10591 MenhirLib.EngineTypes.endp = _endpos__2_;
10592 MenhirLib.EngineTypes.next = {
10593 MenhirLib.EngineTypes.state = _menhir_s;
10594 MenhirLib.EngineTypes.semv = _1;
10595 MenhirLib.EngineTypes.startp = _startpos__1_;
10596 MenhirLib.EngineTypes.endp = _endpos__1_;
10597 MenhirLib.EngineTypes.next = _menhir_stack;
10598 };
10599 } = _menhir_stack in
10600 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
10601 let _1 : 'tv_stm_dots = Obj.magic _1 in
10602 let _startpos = _startpos__1_ in
10603 let _endpos = _endpos__2_ in
10604 let _v : 'tv_fun_after_exp =
10605 # 1706 "parser_cocci_menhir.mly"
10606 (_1::_2)
10607 # 10608 "parser_cocci_menhir.ml"
10608 in
10609 _menhir_env.MenhirLib.EngineTypes.stack <- {
10610 MenhirLib.EngineTypes.state = _menhir_s;
10611 MenhirLib.EngineTypes.semv = Obj.repr _v;
10612 MenhirLib.EngineTypes.startp = _startpos;
10613 MenhirLib.EngineTypes.endp = _endpos;
10614 MenhirLib.EngineTypes.next = _menhir_stack;
10615 });
10616 (fun _menhir_env ->
10617 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10618 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
10619 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
10620 let _endpos = _startpos in
10621 let _v : 'tv_fun_after_exp_or =
10622 # 1716 "parser_cocci_menhir.mly"
10623 ([])
10624 # 10625 "parser_cocci_menhir.ml"
10625 in
10626 _menhir_env.MenhirLib.EngineTypes.stack <- {
10627 MenhirLib.EngineTypes.state = _menhir_s;
10628 MenhirLib.EngineTypes.semv = Obj.repr _v;
10629 MenhirLib.EngineTypes.startp = _startpos;
10630 MenhirLib.EngineTypes.endp = _endpos;
10631 MenhirLib.EngineTypes.next = _menhir_stack;
10632 });
10633 (fun _menhir_env ->
10634 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10635 let {
10636 MenhirLib.EngineTypes.semv = _2;
10637 MenhirLib.EngineTypes.startp = _startpos__2_;
10638 MenhirLib.EngineTypes.endp = _endpos__2_;
10639 MenhirLib.EngineTypes.next = {
10640 MenhirLib.EngineTypes.state = _menhir_s;
10641 MenhirLib.EngineTypes.semv = _1;
10642 MenhirLib.EngineTypes.startp = _startpos__1_;
10643 MenhirLib.EngineTypes.endp = _endpos__1_;
10644 MenhirLib.EngineTypes.next = _menhir_stack;
10645 };
10646 } = _menhir_stack in
10647 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
10648 let _1 : 'tv_stm_dots = Obj.magic _1 in
10649 let _startpos = _startpos__1_ in
10650 let _endpos = _endpos__2_ in
10651 let _v : 'tv_fun_after_exp_or =
10652 # 1717 "parser_cocci_menhir.mly"
10653 (_1::_2)
10654 # 10655 "parser_cocci_menhir.ml"
10655 in
10656 _menhir_env.MenhirLib.EngineTypes.stack <- {
10657 MenhirLib.EngineTypes.state = _menhir_s;
10658 MenhirLib.EngineTypes.semv = Obj.repr _v;
10659 MenhirLib.EngineTypes.startp = _startpos;
10660 MenhirLib.EngineTypes.endp = _endpos;
10661 MenhirLib.EngineTypes.next = _menhir_stack;
10662 });
10663 (fun _menhir_env ->
10664 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10665 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
10666 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
10667 let _endpos = _startpos in
10668 let _v : 'tv_fun_after_stm =
10669 # 1695 "parser_cocci_menhir.mly"
10670 ([])
10671 # 10672 "parser_cocci_menhir.ml"
10672 in
10673 _menhir_env.MenhirLib.EngineTypes.stack <- {
10674 MenhirLib.EngineTypes.state = _menhir_s;
10675 MenhirLib.EngineTypes.semv = Obj.repr _v;
10676 MenhirLib.EngineTypes.startp = _startpos;
10677 MenhirLib.EngineTypes.endp = _endpos;
10678 MenhirLib.EngineTypes.next = _menhir_stack;
10679 });
10680 (fun _menhir_env ->
10681 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10682 let {
10683 MenhirLib.EngineTypes.semv = _2;
10684 MenhirLib.EngineTypes.startp = _startpos__2_;
10685 MenhirLib.EngineTypes.endp = _endpos__2_;
10686 MenhirLib.EngineTypes.next = {
10687 MenhirLib.EngineTypes.state = _menhir_s;
10688 MenhirLib.EngineTypes.semv = _1;
10689 MenhirLib.EngineTypes.startp = _startpos__1_;
10690 MenhirLib.EngineTypes.endp = _endpos__1_;
10691 MenhirLib.EngineTypes.next = _menhir_stack;
10692 };
10693 } = _menhir_stack in
10694 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
10695 let _1 : 'tv_stm_dots = Obj.magic _1 in
10696 let _startpos = _startpos__1_ in
10697 let _endpos = _endpos__2_ in
10698 let _v : 'tv_fun_after_stm =
10699 # 1696 "parser_cocci_menhir.mly"
10700 (_1::_2)
10701 # 10702 "parser_cocci_menhir.ml"
10702 in
10703 _menhir_env.MenhirLib.EngineTypes.stack <- {
10704 MenhirLib.EngineTypes.state = _menhir_s;
10705 MenhirLib.EngineTypes.semv = Obj.repr _v;
10706 MenhirLib.EngineTypes.startp = _startpos;
10707 MenhirLib.EngineTypes.endp = _endpos;
10708 MenhirLib.EngineTypes.next = _menhir_stack;
10709 });
10710 (fun _menhir_env ->
10711 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10712 let {
10713 MenhirLib.EngineTypes.semv = _2;
10714 MenhirLib.EngineTypes.startp = _startpos__2_;
10715 MenhirLib.EngineTypes.endp = _endpos__2_;
10716 MenhirLib.EngineTypes.next = {
10717 MenhirLib.EngineTypes.state = _menhir_s;
10718 MenhirLib.EngineTypes.semv = _1;
10719 MenhirLib.EngineTypes.startp = _startpos__1_;
10720 MenhirLib.EngineTypes.endp = _endpos__1_;
10721 MenhirLib.EngineTypes.next = _menhir_stack;
10722 };
10723 } = _menhir_stack in
10724 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
10725 let _1 : 'tv_decl_statement = Obj.magic _1 in
10726 let _startpos = _startpos__1_ in
10727 let _endpos = _endpos__2_ in
10728 let _v : 'tv_fun_after_stm =
10729 # 1697 "parser_cocci_menhir.mly"
10730 (_1@_2)
10731 # 10732 "parser_cocci_menhir.ml"
10732 in
10733 _menhir_env.MenhirLib.EngineTypes.stack <- {
10734 MenhirLib.EngineTypes.state = _menhir_s;
10735 MenhirLib.EngineTypes.semv = Obj.repr _v;
10736 MenhirLib.EngineTypes.startp = _startpos;
10737 MenhirLib.EngineTypes.endp = _endpos;
10738 MenhirLib.EngineTypes.next = _menhir_stack;
10739 });
10740 (fun _menhir_env ->
10741 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10742 let {
10743 MenhirLib.EngineTypes.state = _menhir_s;
10744 MenhirLib.EngineTypes.semv = _1;
10745 MenhirLib.EngineTypes.startp = _startpos__1_;
10746 MenhirLib.EngineTypes.endp = _endpos__1_;
10747 MenhirLib.EngineTypes.next = _menhir_stack;
10748 } = _menhir_stack in
10749 let _1 : 'tv_fun_after_stm = Obj.magic _1 in
10750 let _startpos = _startpos__1_ in
10751 let _endpos = _endpos__1_ in
10752 let _v : 'tv_fun_start =
10753 # 1692 "parser_cocci_menhir.mly"
10754 ( Ast0.wrap(Ast0.DOTS(_1)) )
10755 # 10756 "parser_cocci_menhir.ml"
10756 in
10757 _menhir_env.MenhirLib.EngineTypes.stack <- {
10758 MenhirLib.EngineTypes.state = _menhir_s;
10759 MenhirLib.EngineTypes.semv = Obj.repr _v;
10760 MenhirLib.EngineTypes.startp = _startpos;
10761 MenhirLib.EngineTypes.endp = _endpos;
10762 MenhirLib.EngineTypes.next = _menhir_stack;
10763 });
10764 (fun _menhir_env ->
10765 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10766 let {
10767 MenhirLib.EngineTypes.state = _menhir_s;
10768 MenhirLib.EngineTypes.semv = _1;
10769 MenhirLib.EngineTypes.startp = _startpos__1_;
10770 MenhirLib.EngineTypes.endp = _endpos__1_;
10771 MenhirLib.EngineTypes.next = _menhir_stack;
10772 } = _menhir_stack in
10773 let _1 : 'tv_pure_ident = Obj.magic _1 in
10774 let _startpos = _startpos__1_ in
10775 let _endpos = _endpos__1_ in
10776 let _v : 'tv_func_ident =
10777 # 1496 "parser_cocci_menhir.mly"
10778 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
10779 # 10780 "parser_cocci_menhir.ml"
10780 in
10781 _menhir_env.MenhirLib.EngineTypes.stack <- {
10782 MenhirLib.EngineTypes.state = _menhir_s;
10783 MenhirLib.EngineTypes.semv = Obj.repr _v;
10784 MenhirLib.EngineTypes.startp = _startpos;
10785 MenhirLib.EngineTypes.endp = _endpos;
10786 MenhirLib.EngineTypes.next = _menhir_stack;
10787 });
10788 (fun _menhir_env ->
10789 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10790 let {
10791 MenhirLib.EngineTypes.state = _menhir_s;
10792 MenhirLib.EngineTypes.semv = _1;
10793 MenhirLib.EngineTypes.startp = _startpos__1_;
10794 MenhirLib.EngineTypes.endp = _endpos__1_;
10795 MenhirLib.EngineTypes.next = _menhir_stack;
10796 } = _menhir_stack in
10797 let _1 : (
10798 # 61 "parser_cocci_menhir.mly"
10799 (Parse_aux.idinfo)
10800 # 10801 "parser_cocci_menhir.ml"
10801 ) = Obj.magic _1 in
10802 let _startpos = _startpos__1_ in
10803 let _endpos = _endpos__1_ in
10804 let _v : 'tv_func_ident =
10805 # 1498 "parser_cocci_menhir.mly"
10806 ( let (nm,constraints,pure,clt) = _1 in
10807 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
10808 # 10809 "parser_cocci_menhir.ml"
10809 in
10810 _menhir_env.MenhirLib.EngineTypes.stack <- {
10811 MenhirLib.EngineTypes.state = _menhir_s;
10812 MenhirLib.EngineTypes.semv = Obj.repr _v;
10813 MenhirLib.EngineTypes.startp = _startpos;
10814 MenhirLib.EngineTypes.endp = _endpos;
10815 MenhirLib.EngineTypes.next = _menhir_stack;
10816 });
10817 (fun _menhir_env ->
10818 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10819 let {
10820 MenhirLib.EngineTypes.state = _menhir_s;
10821 MenhirLib.EngineTypes.semv = _1;
10822 MenhirLib.EngineTypes.startp = _startpos__1_;
10823 MenhirLib.EngineTypes.endp = _endpos__1_;
10824 MenhirLib.EngineTypes.next = _menhir_stack;
10825 } = _menhir_stack in
10826 let _1 : (
10827 # 61 "parser_cocci_menhir.mly"
10828 (Parse_aux.idinfo)
10829 # 10830 "parser_cocci_menhir.ml"
10830 ) = Obj.magic _1 in
10831 let _startpos = _startpos__1_ in
10832 let _endpos = _endpos__1_ in
10833 let _v : 'tv_func_ident =
10834 # 1501 "parser_cocci_menhir.mly"
10835 ( let (nm,constraints,pure,clt) = _1 in
10836 Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
10837 # 10838 "parser_cocci_menhir.ml"
10838 in
10839 _menhir_env.MenhirLib.EngineTypes.stack <- {
10840 MenhirLib.EngineTypes.state = _menhir_s;
10841 MenhirLib.EngineTypes.semv = Obj.repr _v;
10842 MenhirLib.EngineTypes.startp = _startpos;
10843 MenhirLib.EngineTypes.endp = _endpos;
10844 MenhirLib.EngineTypes.next = _menhir_stack;
10845 });
10846 (fun _menhir_env ->
10847 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10848 let {
10849 MenhirLib.EngineTypes.state = _menhir_s;
10850 MenhirLib.EngineTypes.semv = _1;
10851 MenhirLib.EngineTypes.startp = _startpos__1_;
10852 MenhirLib.EngineTypes.endp = _endpos__1_;
10853 MenhirLib.EngineTypes.next = _menhir_stack;
10854 } = _menhir_stack in
10855 let _1 : (
10856 # 61 "parser_cocci_menhir.mly"
10857 (Parse_aux.idinfo)
10858 # 10859 "parser_cocci_menhir.ml"
10859 ) = Obj.magic _1 in
10860 let _startpos = _startpos__1_ in
10861 let _endpos = _endpos__1_ in
10862 let _v : 'tv_func_ident =
10863 # 1504 "parser_cocci_menhir.mly"
10864 ( let (nm,constraints,pure,clt) = _1 in
10865 Ast0.wrap
10866 (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
10867 # 10868 "parser_cocci_menhir.ml"
10868 in
10869 _menhir_env.MenhirLib.EngineTypes.stack <- {
10870 MenhirLib.EngineTypes.state = _menhir_s;
10871 MenhirLib.EngineTypes.semv = Obj.repr _v;
10872 MenhirLib.EngineTypes.startp = _startpos;
10873 MenhirLib.EngineTypes.endp = _endpos;
10874 MenhirLib.EngineTypes.next = _menhir_stack;
10875 });
10876 (fun _menhir_env ->
10877 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10878 let {
10879 MenhirLib.EngineTypes.semv = rb;
10880 MenhirLib.EngineTypes.startp = _startpos_rb_;
10881 MenhirLib.EngineTypes.endp = _endpos_rb_;
10882 MenhirLib.EngineTypes.next = {
10883 MenhirLib.EngineTypes.semv = b;
10884 MenhirLib.EngineTypes.startp = _startpos_b_;
10885 MenhirLib.EngineTypes.endp = _endpos_b_;
10886 MenhirLib.EngineTypes.next = {
10887 MenhirLib.EngineTypes.semv = lb;
10888 MenhirLib.EngineTypes.startp = _startpos_lb_;
10889 MenhirLib.EngineTypes.endp = _endpos_lb_;
10890 MenhirLib.EngineTypes.next = {
10891 MenhirLib.EngineTypes.semv = rp;
10892 MenhirLib.EngineTypes.startp = _startpos_rp_;
10893 MenhirLib.EngineTypes.endp = _endpos_rp_;
10894 MenhirLib.EngineTypes.next = {
10895 MenhirLib.EngineTypes.semv = d;
10896 MenhirLib.EngineTypes.startp = _startpos_d_;
10897 MenhirLib.EngineTypes.endp = _endpos_d_;
10898 MenhirLib.EngineTypes.next = {
10899 MenhirLib.EngineTypes.semv = lp;
10900 MenhirLib.EngineTypes.startp = _startpos_lp_;
10901 MenhirLib.EngineTypes.endp = _endpos_lp_;
10902 MenhirLib.EngineTypes.next = {
10903 MenhirLib.EngineTypes.semv = i;
10904 MenhirLib.EngineTypes.startp = _startpos_i_;
10905 MenhirLib.EngineTypes.endp = _endpos_i_;
10906 MenhirLib.EngineTypes.next = {
10907 MenhirLib.EngineTypes.startp = _startpos__2_;
10908 MenhirLib.EngineTypes.endp = _endpos__2_;
10909 MenhirLib.EngineTypes.next = {
10910 MenhirLib.EngineTypes.state = _menhir_s;
10911 MenhirLib.EngineTypes.semv = f;
10912 MenhirLib.EngineTypes.startp = _startpos_f_;
10913 MenhirLib.EngineTypes.endp = _endpos_f_;
10914 MenhirLib.EngineTypes.next = _menhir_stack;
10915 };
10916 };
10917 };
10918 };
10919 };
10920 };
10921 };
10922 };
10923 } = _menhir_stack in
10924 let rb : (
10925 # 101 "parser_cocci_menhir.mly"
10926 (Data.clt)
10927 # 10928 "parser_cocci_menhir.ml"
10928 ) = Obj.magic rb in
10929 let b : 'tv_fun_start = Obj.magic b in
10930 let lb : (
10931 # 101 "parser_cocci_menhir.mly"
10932 (Data.clt)
10933 # 10934 "parser_cocci_menhir.ml"
10934 ) = Obj.magic lb in
10935 let rp : (
10936 # 77 "parser_cocci_menhir.mly"
10937 (Data.clt)
10938 # 10939 "parser_cocci_menhir.ml"
10939 ) = Obj.magic rp in
10940 let d : 'tv_decl_list_decl_ = Obj.magic d in
10941 let lp : (
10942 # 76 "parser_cocci_menhir.mly"
10943 (Data.clt)
10944 # 10945 "parser_cocci_menhir.ml"
10945 ) = Obj.magic lp in
10946 let i : 'tv_func_ident = Obj.magic i in
10947 let f : 'tv_fninfo = Obj.magic f in
10948 let _startpos = _startpos_f_ in
10949 let _endpos = _endpos_rb_ in
10950 let _v : 'tv_fundecl =
10951 # 768 "parser_cocci_menhir.mly"
10952 ( Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()),
10953 f, i,
10954 P.clt2mcode "(" lp, d,
10955 P.clt2mcode ")" rp,
10956 P.clt2mcode "{" lb, b,
10957 P.clt2mcode "}" rb)) )
10958 # 10959 "parser_cocci_menhir.ml"
10959 in
10960 _menhir_env.MenhirLib.EngineTypes.stack <- {
10961 MenhirLib.EngineTypes.state = _menhir_s;
10962 MenhirLib.EngineTypes.semv = Obj.repr _v;
10963 MenhirLib.EngineTypes.startp = _startpos;
10964 MenhirLib.EngineTypes.endp = _endpos;
10965 MenhirLib.EngineTypes.next = _menhir_stack;
10966 });
10967 (fun _menhir_env ->
10968 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10969 let {
10970 MenhirLib.EngineTypes.semv = pt;
10971 MenhirLib.EngineTypes.startp = _startpos_pt_;
10972 MenhirLib.EngineTypes.endp = _endpos_pt_;
10973 MenhirLib.EngineTypes.next = {
10974 MenhirLib.EngineTypes.semv = rp;
10975 MenhirLib.EngineTypes.startp = _startpos_rp_;
10976 MenhirLib.EngineTypes.endp = _endpos_rp_;
10977 MenhirLib.EngineTypes.next = {
10978 MenhirLib.EngineTypes.semv = d;
10979 MenhirLib.EngineTypes.startp = _startpos_d_;
10980 MenhirLib.EngineTypes.endp = _endpos_d_;
10981 MenhirLib.EngineTypes.next = {
10982 MenhirLib.EngineTypes.semv = lp;
10983 MenhirLib.EngineTypes.startp = _startpos_lp_;
10984 MenhirLib.EngineTypes.endp = _endpos_lp_;
10985 MenhirLib.EngineTypes.next = {
10986 MenhirLib.EngineTypes.semv = id;
10987 MenhirLib.EngineTypes.startp = _startpos_id_;
10988 MenhirLib.EngineTypes.endp = _endpos_id_;
10989 MenhirLib.EngineTypes.next = {
10990 MenhirLib.EngineTypes.state = _menhir_s;
10991 MenhirLib.EngineTypes.semv = t;
10992 MenhirLib.EngineTypes.startp = _startpos_t_;
10993 MenhirLib.EngineTypes.endp = _endpos_t_;
10994 MenhirLib.EngineTypes.next = _menhir_stack;
10995 };
10996 };
10997 };
10998 };
10999 };
11000 } = _menhir_stack in
11001 let pt : (
11002 # 107 "parser_cocci_menhir.mly"
11003 (Data.clt)
11004 # 11005 "parser_cocci_menhir.ml"
11005 ) = Obj.magic pt in
11006 let rp : (
11007 # 77 "parser_cocci_menhir.mly"
11008 (Data.clt)
11009 # 11010 "parser_cocci_menhir.ml"
11010 ) = Obj.magic rp in
11011 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
11012 let lp : (
11013 # 76 "parser_cocci_menhir.mly"
11014 (Data.clt)
11015 # 11016 "parser_cocci_menhir.ml"
11016 ) = Obj.magic lp in
11017 let id : 'tv_func_ident = Obj.magic id in
11018 let t : 'tv_ctype = Obj.magic t in
11019 let _startpos = _startpos_t_ in
11020 let _endpos = _endpos_pt_ in
11021 let _v : 'tv_funproto = let s =
11022
11023 # 39 "standard.mly"
11024 ( None )
11025 # 11026 "parser_cocci_menhir.ml"
11026
11027 in
11028
11029 # 745 "parser_cocci_menhir.mly"
11030 ( Ast0.wrap
11031 (Ast0.UnInit
11032 (s,
11033 Ast0.wrap
11034 (Ast0.FunctionType(Some t,
11035 P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
11036 id, P.clt2mcode ";" pt)) )
11037 # 11038 "parser_cocci_menhir.ml"
11038 in
11039 _menhir_env.MenhirLib.EngineTypes.stack <- {
11040 MenhirLib.EngineTypes.state = _menhir_s;
11041 MenhirLib.EngineTypes.semv = Obj.repr _v;
11042 MenhirLib.EngineTypes.startp = _startpos;
11043 MenhirLib.EngineTypes.endp = _endpos;
11044 MenhirLib.EngineTypes.next = _menhir_stack;
11045 });
11046 (fun _menhir_env ->
11047 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11048 let {
11049 MenhirLib.EngineTypes.semv = pt;
11050 MenhirLib.EngineTypes.startp = _startpos_pt_;
11051 MenhirLib.EngineTypes.endp = _endpos_pt_;
11052 MenhirLib.EngineTypes.next = {
11053 MenhirLib.EngineTypes.semv = rp;
11054 MenhirLib.EngineTypes.startp = _startpos_rp_;
11055 MenhirLib.EngineTypes.endp = _endpos_rp_;
11056 MenhirLib.EngineTypes.next = {
11057 MenhirLib.EngineTypes.semv = d;
11058 MenhirLib.EngineTypes.startp = _startpos_d_;
11059 MenhirLib.EngineTypes.endp = _endpos_d_;
11060 MenhirLib.EngineTypes.next = {
11061 MenhirLib.EngineTypes.semv = lp;
11062 MenhirLib.EngineTypes.startp = _startpos_lp_;
11063 MenhirLib.EngineTypes.endp = _endpos_lp_;
11064 MenhirLib.EngineTypes.next = {
11065 MenhirLib.EngineTypes.semv = id;
11066 MenhirLib.EngineTypes.startp = _startpos_id_;
11067 MenhirLib.EngineTypes.endp = _endpos_id_;
11068 MenhirLib.EngineTypes.next = {
11069 MenhirLib.EngineTypes.semv = t;
11070 MenhirLib.EngineTypes.startp = _startpos_t_;
11071 MenhirLib.EngineTypes.endp = _endpos_t_;
11072 MenhirLib.EngineTypes.next = {
11073 MenhirLib.EngineTypes.state = _menhir_s;
11074 MenhirLib.EngineTypes.semv = x0;
11075 MenhirLib.EngineTypes.startp = _startpos_x0_;
11076 MenhirLib.EngineTypes.endp = _endpos_x0_;
11077 MenhirLib.EngineTypes.next = _menhir_stack;
11078 };
11079 };
11080 };
11081 };
11082 };
11083 };
11084 } = _menhir_stack in
11085 let pt : (
11086 # 107 "parser_cocci_menhir.mly"
11087 (Data.clt)
11088 # 11089 "parser_cocci_menhir.ml"
11089 ) = Obj.magic pt in
11090 let rp : (
11091 # 77 "parser_cocci_menhir.mly"
11092 (Data.clt)
11093 # 11094 "parser_cocci_menhir.ml"
11094 ) = Obj.magic rp in
11095 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
11096 let lp : (
11097 # 76 "parser_cocci_menhir.mly"
11098 (Data.clt)
11099 # 11100 "parser_cocci_menhir.ml"
11100 ) = Obj.magic lp in
11101 let id : 'tv_func_ident = Obj.magic id in
11102 let t : 'tv_ctype = Obj.magic t in
11103 let x0 : 'tv_storage = Obj.magic x0 in
11104 let _startpos = _startpos_x0_ in
11105 let _endpos = _endpos_pt_ in
11106 let _v : 'tv_funproto = let s =
11107 let x = x0 in
11108
11109 # 41 "standard.mly"
11110 ( Some x )
11111 # 11112 "parser_cocci_menhir.ml"
11112
11113 in
11114
11115 # 745 "parser_cocci_menhir.mly"
11116 ( Ast0.wrap
11117 (Ast0.UnInit
11118 (s,
11119 Ast0.wrap
11120 (Ast0.FunctionType(Some t,
11121 P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
11122 id, P.clt2mcode ";" pt)) )
11123 # 11124 "parser_cocci_menhir.ml"
11124 in
11125 _menhir_env.MenhirLib.EngineTypes.stack <- {
11126 MenhirLib.EngineTypes.state = _menhir_s;
11127 MenhirLib.EngineTypes.semv = Obj.repr _v;
11128 MenhirLib.EngineTypes.startp = _startpos;
11129 MenhirLib.EngineTypes.endp = _endpos;
11130 MenhirLib.EngineTypes.next = _menhir_stack;
11131 });
11132 (fun _menhir_env ->
11133 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11134 let {
11135 MenhirLib.EngineTypes.semv = pt;
11136 MenhirLib.EngineTypes.startp = _startpos_pt_;
11137 MenhirLib.EngineTypes.endp = _endpos_pt_;
11138 MenhirLib.EngineTypes.next = {
11139 MenhirLib.EngineTypes.semv = rp;
11140 MenhirLib.EngineTypes.startp = _startpos_rp_;
11141 MenhirLib.EngineTypes.endp = _endpos_rp_;
11142 MenhirLib.EngineTypes.next = {
11143 MenhirLib.EngineTypes.semv = d;
11144 MenhirLib.EngineTypes.startp = _startpos_d_;
11145 MenhirLib.EngineTypes.endp = _endpos_d_;
11146 MenhirLib.EngineTypes.next = {
11147 MenhirLib.EngineTypes.semv = lp;
11148 MenhirLib.EngineTypes.startp = _startpos_lp_;
11149 MenhirLib.EngineTypes.endp = _endpos_lp_;
11150 MenhirLib.EngineTypes.next = {
11151 MenhirLib.EngineTypes.semv = id;
11152 MenhirLib.EngineTypes.startp = _startpos_id_;
11153 MenhirLib.EngineTypes.endp = _endpos_id_;
11154 MenhirLib.EngineTypes.next = {
11155 MenhirLib.EngineTypes.state = _menhir_s;
11156 MenhirLib.EngineTypes.semv = t;
11157 MenhirLib.EngineTypes.startp = _startpos_t_;
11158 MenhirLib.EngineTypes.endp = _endpos_t_;
11159 MenhirLib.EngineTypes.next = _menhir_stack;
11160 };
11161 };
11162 };
11163 };
11164 };
11165 } = _menhir_stack in
11166 let pt : (
11167 # 107 "parser_cocci_menhir.mly"
11168 (Data.clt)
11169 # 11170 "parser_cocci_menhir.ml"
11170 ) = Obj.magic pt in
11171 let rp : (
11172 # 77 "parser_cocci_menhir.mly"
11173 (Data.clt)
11174 # 11175 "parser_cocci_menhir.ml"
11175 ) = Obj.magic rp in
11176 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
11177 let lp : (
11178 # 76 "parser_cocci_menhir.mly"
11179 (Data.clt)
11180 # 11181 "parser_cocci_menhir.ml"
11181 ) = Obj.magic lp in
11182 let id : 'tv_func_ident = Obj.magic id in
11183 let t : (
11184 # 50 "parser_cocci_menhir.mly"
11185 (Data.clt)
11186 # 11187 "parser_cocci_menhir.ml"
11187 ) = Obj.magic t in
11188 let _startpos = _startpos_t_ in
11189 let _endpos = _endpos_pt_ in
11190 let _v : 'tv_funproto = let s =
11191
11192 # 39 "standard.mly"
11193 ( None )
11194 # 11195 "parser_cocci_menhir.ml"
11195
11196 in
11197
11198 # 754 "parser_cocci_menhir.mly"
11199 ( let t = Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" t])) in
11200 Ast0.wrap
11201 (Ast0.UnInit
11202 (s,
11203 Ast0.wrap
11204 (Ast0.FunctionType(Some t,
11205 P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
11206 id, P.clt2mcode ";" pt)) )
11207 # 11208 "parser_cocci_menhir.ml"
11208 in
11209 _menhir_env.MenhirLib.EngineTypes.stack <- {
11210 MenhirLib.EngineTypes.state = _menhir_s;
11211 MenhirLib.EngineTypes.semv = Obj.repr _v;
11212 MenhirLib.EngineTypes.startp = _startpos;
11213 MenhirLib.EngineTypes.endp = _endpos;
11214 MenhirLib.EngineTypes.next = _menhir_stack;
11215 });
11216 (fun _menhir_env ->
11217 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11218 let {
11219 MenhirLib.EngineTypes.semv = pt;
11220 MenhirLib.EngineTypes.startp = _startpos_pt_;
11221 MenhirLib.EngineTypes.endp = _endpos_pt_;
11222 MenhirLib.EngineTypes.next = {
11223 MenhirLib.EngineTypes.semv = rp;
11224 MenhirLib.EngineTypes.startp = _startpos_rp_;
11225 MenhirLib.EngineTypes.endp = _endpos_rp_;
11226 MenhirLib.EngineTypes.next = {
11227 MenhirLib.EngineTypes.semv = d;
11228 MenhirLib.EngineTypes.startp = _startpos_d_;
11229 MenhirLib.EngineTypes.endp = _endpos_d_;
11230 MenhirLib.EngineTypes.next = {
11231 MenhirLib.EngineTypes.semv = lp;
11232 MenhirLib.EngineTypes.startp = _startpos_lp_;
11233 MenhirLib.EngineTypes.endp = _endpos_lp_;
11234 MenhirLib.EngineTypes.next = {
11235 MenhirLib.EngineTypes.semv = id;
11236 MenhirLib.EngineTypes.startp = _startpos_id_;
11237 MenhirLib.EngineTypes.endp = _endpos_id_;
11238 MenhirLib.EngineTypes.next = {
11239 MenhirLib.EngineTypes.semv = t;
11240 MenhirLib.EngineTypes.startp = _startpos_t_;
11241 MenhirLib.EngineTypes.endp = _endpos_t_;
11242 MenhirLib.EngineTypes.next = {
11243 MenhirLib.EngineTypes.state = _menhir_s;
11244 MenhirLib.EngineTypes.semv = x0;
11245 MenhirLib.EngineTypes.startp = _startpos_x0_;
11246 MenhirLib.EngineTypes.endp = _endpos_x0_;
11247 MenhirLib.EngineTypes.next = _menhir_stack;
11248 };
11249 };
11250 };
11251 };
11252 };
11253 };
11254 } = _menhir_stack in
11255 let pt : (
11256 # 107 "parser_cocci_menhir.mly"
11257 (Data.clt)
11258 # 11259 "parser_cocci_menhir.ml"
11259 ) = Obj.magic pt in
11260 let rp : (
11261 # 77 "parser_cocci_menhir.mly"
11262 (Data.clt)
11263 # 11264 "parser_cocci_menhir.ml"
11264 ) = Obj.magic rp in
11265 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
11266 let lp : (
11267 # 76 "parser_cocci_menhir.mly"
11268 (Data.clt)
11269 # 11270 "parser_cocci_menhir.ml"
11270 ) = Obj.magic lp in
11271 let id : 'tv_func_ident = Obj.magic id in
11272 let t : (
11273 # 50 "parser_cocci_menhir.mly"
11274 (Data.clt)
11275 # 11276 "parser_cocci_menhir.ml"
11276 ) = Obj.magic t in
11277 let x0 : 'tv_storage = Obj.magic x0 in
11278 let _startpos = _startpos_x0_ in
11279 let _endpos = _endpos_pt_ in
11280 let _v : 'tv_funproto = let s =
11281 let x = x0 in
11282
11283 # 41 "standard.mly"
11284 ( Some x )
11285 # 11286 "parser_cocci_menhir.ml"
11286
11287 in
11288
11289 # 754 "parser_cocci_menhir.mly"
11290 ( let t = Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" t])) in
11291 Ast0.wrap
11292 (Ast0.UnInit
11293 (s,
11294 Ast0.wrap
11295 (Ast0.FunctionType(Some t,
11296 P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
11297 id, P.clt2mcode ";" pt)) )
11298 # 11299 "parser_cocci_menhir.ml"
11299 in
11300 _menhir_env.MenhirLib.EngineTypes.stack <- {
11301 MenhirLib.EngineTypes.state = _menhir_s;
11302 MenhirLib.EngineTypes.semv = Obj.repr _v;
11303 MenhirLib.EngineTypes.startp = _startpos;
11304 MenhirLib.EngineTypes.endp = _endpos;
11305 MenhirLib.EngineTypes.next = _menhir_stack;
11306 });
11307 (fun _menhir_env ->
11308 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11309 let {
11310 MenhirLib.EngineTypes.state = _menhir_s;
11311 MenhirLib.EngineTypes.semv = r0;
11312 MenhirLib.EngineTypes.startp = _startpos_r0_;
11313 MenhirLib.EngineTypes.endp = _endpos_r0_;
11314 MenhirLib.EngineTypes.next = _menhir_stack;
11315 } = _menhir_stack in
11316 let r0 : (
11317 # 51 "parser_cocci_menhir.mly"
11318 (Data.clt)
11319 # 11320 "parser_cocci_menhir.ml"
11320 ) = Obj.magic r0 in
11321 let _startpos = _startpos_r0_ in
11322 let _endpos = _endpos_r0_ in
11323 let _v : 'tv_generic_ctype = let q =
11324 let r = r0 in
11325
11326 # 589 "parser_cocci_menhir.mly"
11327 ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,x)) )
11328 # 11329 "parser_cocci_menhir.ml"
11329
11330 in
11331
11332 # 513 "parser_cocci_menhir.mly"
11333 ( q None )
11334 # 11335 "parser_cocci_menhir.ml"
11335 in
11336 _menhir_env.MenhirLib.EngineTypes.stack <- {
11337 MenhirLib.EngineTypes.state = _menhir_s;
11338 MenhirLib.EngineTypes.semv = Obj.repr _v;
11339 MenhirLib.EngineTypes.startp = _startpos;
11340 MenhirLib.EngineTypes.endp = _endpos;
11341 MenhirLib.EngineTypes.next = _menhir_stack;
11342 });
11343 (fun _menhir_env ->
11344 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11345 let {
11346 MenhirLib.EngineTypes.state = _menhir_s;
11347 MenhirLib.EngineTypes.semv = r0;
11348 MenhirLib.EngineTypes.startp = _startpos_r0_;
11349 MenhirLib.EngineTypes.endp = _endpos_r0_;
11350 MenhirLib.EngineTypes.next = _menhir_stack;
11351 } = _menhir_stack in
11352 let r0 : (
11353 # 51 "parser_cocci_menhir.mly"
11354 (Data.clt)
11355 # 11356 "parser_cocci_menhir.ml"
11356 ) = Obj.magic r0 in
11357 let _startpos = _startpos_r0_ in
11358 let _endpos = _endpos_r0_ in
11359 let _v : 'tv_generic_ctype = let q =
11360 let r = r0 in
11361
11362 # 591 "parser_cocci_menhir.mly"
11363 ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,x)) )
11364 # 11365 "parser_cocci_menhir.ml"
11365
11366 in
11367
11368 # 513 "parser_cocci_menhir.mly"
11369 ( q None )
11370 # 11371 "parser_cocci_menhir.ml"
11371 in
11372 _menhir_env.MenhirLib.EngineTypes.stack <- {
11373 MenhirLib.EngineTypes.state = _menhir_s;
11374 MenhirLib.EngineTypes.semv = Obj.repr _v;
11375 MenhirLib.EngineTypes.startp = _startpos;
11376 MenhirLib.EngineTypes.endp = _endpos;
11377 MenhirLib.EngineTypes.next = _menhir_stack;
11378 });
11379 (fun _menhir_env ->
11380 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11381 let {
11382 MenhirLib.EngineTypes.state = _menhir_s;
11383 MenhirLib.EngineTypes.semv = _1;
11384 MenhirLib.EngineTypes.startp = _startpos__1_;
11385 MenhirLib.EngineTypes.endp = _endpos__1_;
11386 MenhirLib.EngineTypes.next = _menhir_stack;
11387 } = _menhir_stack in
11388 let _1 : 'tv_generic_ctype_full = Obj.magic _1 in
11389 let _startpos = _startpos__1_ in
11390 let _endpos = _endpos__1_ in
11391 let _v : 'tv_generic_ctype =
11392 # 514 "parser_cocci_menhir.mly"
11393 ( _1 )
11394 # 11395 "parser_cocci_menhir.ml"
11395 in
11396 _menhir_env.MenhirLib.EngineTypes.stack <- {
11397 MenhirLib.EngineTypes.state = _menhir_s;
11398 MenhirLib.EngineTypes.semv = Obj.repr _v;
11399 MenhirLib.EngineTypes.startp = _startpos;
11400 MenhirLib.EngineTypes.endp = _endpos;
11401 MenhirLib.EngineTypes.next = _menhir_stack;
11402 });
11403 (fun _menhir_env ->
11404 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11405 let {
11406 MenhirLib.EngineTypes.semv = ty;
11407 MenhirLib.EngineTypes.startp = _startpos_ty_;
11408 MenhirLib.EngineTypes.endp = _endpos_ty_;
11409 MenhirLib.EngineTypes.next = {
11410 MenhirLib.EngineTypes.state = _menhir_s;
11411 MenhirLib.EngineTypes.semv = r00;
11412 MenhirLib.EngineTypes.startp = _startpos_r00_;
11413 MenhirLib.EngineTypes.endp = _endpos_r00_;
11414 MenhirLib.EngineTypes.next = _menhir_stack;
11415 };
11416 } = _menhir_stack in
11417 let ty : (
11418 # 49 "parser_cocci_menhir.mly"
11419 (Data.clt)
11420 # 11421 "parser_cocci_menhir.ml"
11421 ) = Obj.magic ty in
11422 let r00 : (
11423 # 51 "parser_cocci_menhir.mly"
11424 (Data.clt)
11425 # 11426 "parser_cocci_menhir.ml"
11426 ) = Obj.magic r00 in
11427 let _startpos = _startpos_r00_ in
11428 let _endpos = _endpos_ty_ in
11429 let _v : 'tv_generic_ctype_full = let q =
11430 let r0 = r00 in
11431 let s =
11432 let r = r0 in
11433
11434 # 589 "parser_cocci_menhir.mly"
11435 ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,x)) )
11436 # 11437 "parser_cocci_menhir.ml"
11437
11438 in
11439
11440 # 594 "parser_cocci_menhir.mly"
11441 ( function x -> s (Some x) )
11442 # 11443 "parser_cocci_menhir.ml"
11443
11444 in
11445
11446 # 466 "parser_cocci_menhir.mly"
11447 ( q (Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty]))) )
11448 # 11449 "parser_cocci_menhir.ml"
11449 in
11450 _menhir_env.MenhirLib.EngineTypes.stack <- {
11451 MenhirLib.EngineTypes.state = _menhir_s;
11452 MenhirLib.EngineTypes.semv = Obj.repr _v;
11453 MenhirLib.EngineTypes.startp = _startpos;
11454 MenhirLib.EngineTypes.endp = _endpos;
11455 MenhirLib.EngineTypes.next = _menhir_stack;
11456 });
11457 (fun _menhir_env ->
11458 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11459 let {
11460 MenhirLib.EngineTypes.semv = ty;
11461 MenhirLib.EngineTypes.startp = _startpos_ty_;
11462 MenhirLib.EngineTypes.endp = _endpos_ty_;
11463 MenhirLib.EngineTypes.next = {
11464 MenhirLib.EngineTypes.state = _menhir_s;
11465 MenhirLib.EngineTypes.semv = r00;
11466 MenhirLib.EngineTypes.startp = _startpos_r00_;
11467 MenhirLib.EngineTypes.endp = _endpos_r00_;
11468 MenhirLib.EngineTypes.next = _menhir_stack;
11469 };
11470 } = _menhir_stack in
11471 let ty : (
11472 # 49 "parser_cocci_menhir.mly"
11473 (Data.clt)
11474 # 11475 "parser_cocci_menhir.ml"
11475 ) = Obj.magic ty in
11476 let r00 : (
11477 # 51 "parser_cocci_menhir.mly"
11478 (Data.clt)
11479 # 11480 "parser_cocci_menhir.ml"
11480 ) = Obj.magic r00 in
11481 let _startpos = _startpos_r00_ in
11482 let _endpos = _endpos_ty_ in
11483 let _v : 'tv_generic_ctype_full = let q =
11484 let r0 = r00 in
11485 let s =
11486 let r = r0 in
11487
11488 # 591 "parser_cocci_menhir.mly"
11489 ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,x)) )
11490 # 11491 "parser_cocci_menhir.ml"
11491
11492 in
11493
11494 # 594 "parser_cocci_menhir.mly"
11495 ( function x -> s (Some x) )
11496 # 11497 "parser_cocci_menhir.ml"
11497
11498 in
11499
11500 # 466 "parser_cocci_menhir.mly"
11501 ( q (Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty]))) )
11502 # 11503 "parser_cocci_menhir.ml"
11503 in
11504 _menhir_env.MenhirLib.EngineTypes.stack <- {
11505 MenhirLib.EngineTypes.state = _menhir_s;
11506 MenhirLib.EngineTypes.semv = Obj.repr _v;
11507 MenhirLib.EngineTypes.startp = _startpos;
11508 MenhirLib.EngineTypes.endp = _endpos;
11509 MenhirLib.EngineTypes.next = _menhir_stack;
11510 });
11511 (fun _menhir_env ->
11512 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11513 let {
11514 MenhirLib.EngineTypes.state = _menhir_s;
11515 MenhirLib.EngineTypes.semv = ty;
11516 MenhirLib.EngineTypes.startp = _startpos_ty_;
11517 MenhirLib.EngineTypes.endp = _endpos_ty_;
11518 MenhirLib.EngineTypes.next = _menhir_stack;
11519 } = _menhir_stack in
11520 let ty : (
11521 # 49 "parser_cocci_menhir.mly"
11522 (Data.clt)
11523 # 11524 "parser_cocci_menhir.ml"
11524 ) = Obj.magic ty in
11525 let _startpos = _startpos_ty_ in
11526 let _endpos = _endpos_ty_ in
11527 let _v : 'tv_generic_ctype_full = let q =
11528
11529 # 595 "parser_cocci_menhir.mly"
11530 ( function x -> x )
11531 # 11532 "parser_cocci_menhir.ml"
11532
11533 in
11534
11535 # 466 "parser_cocci_menhir.mly"
11536 ( q (Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty]))) )
11537 # 11538 "parser_cocci_menhir.ml"
11538 in
11539 _menhir_env.MenhirLib.EngineTypes.stack <- {
11540 MenhirLib.EngineTypes.state = _menhir_s;
11541 MenhirLib.EngineTypes.semv = Obj.repr _v;
11542 MenhirLib.EngineTypes.startp = _startpos;
11543 MenhirLib.EngineTypes.endp = _endpos;
11544 MenhirLib.EngineTypes.next = _menhir_stack;
11545 });
11546 (fun _menhir_env ->
11547 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11548 let {
11549 MenhirLib.EngineTypes.semv = ty;
11550 MenhirLib.EngineTypes.startp = _startpos_ty_;
11551 MenhirLib.EngineTypes.endp = _endpos_ty_;
11552 MenhirLib.EngineTypes.next = {
11553 MenhirLib.EngineTypes.state = _menhir_s;
11554 MenhirLib.EngineTypes.semv = r00;
11555 MenhirLib.EngineTypes.startp = _startpos_r00_;
11556 MenhirLib.EngineTypes.endp = _endpos_r00_;
11557 MenhirLib.EngineTypes.next = _menhir_stack;
11558 };
11559 } = _menhir_stack in
11560 let ty : (
11561 # 49 "parser_cocci_menhir.mly"
11562 (Data.clt)
11563 # 11564 "parser_cocci_menhir.ml"
11564 ) = Obj.magic ty in
11565 let r00 : (
11566 # 51 "parser_cocci_menhir.mly"
11567 (Data.clt)
11568 # 11569 "parser_cocci_menhir.ml"
11569 ) = Obj.magic r00 in
11570 let _startpos = _startpos_r00_ in
11571 let _endpos = _endpos_ty_ in
11572 let _v : 'tv_generic_ctype_full = let q =
11573 let r0 = r00 in
11574 let s =
11575 let r = r0 in
11576
11577 # 589 "parser_cocci_menhir.mly"
11578 ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,x)) )
11579 # 11580 "parser_cocci_menhir.ml"
11580
11581 in
11582
11583 # 594 "parser_cocci_menhir.mly"
11584 ( function x -> s (Some x) )
11585 # 11586 "parser_cocci_menhir.ml"
11586
11587 in
11588
11589 # 468 "parser_cocci_menhir.mly"
11590 ( q (Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty]))))
11591 # 11592 "parser_cocci_menhir.ml"
11592 in
11593 _menhir_env.MenhirLib.EngineTypes.stack <- {
11594 MenhirLib.EngineTypes.state = _menhir_s;
11595 MenhirLib.EngineTypes.semv = Obj.repr _v;
11596 MenhirLib.EngineTypes.startp = _startpos;
11597 MenhirLib.EngineTypes.endp = _endpos;
11598 MenhirLib.EngineTypes.next = _menhir_stack;
11599 });
11600 (fun _menhir_env ->
11601 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11602 let {
11603 MenhirLib.EngineTypes.semv = ty;
11604 MenhirLib.EngineTypes.startp = _startpos_ty_;
11605 MenhirLib.EngineTypes.endp = _endpos_ty_;
11606 MenhirLib.EngineTypes.next = {
11607 MenhirLib.EngineTypes.state = _menhir_s;
11608 MenhirLib.EngineTypes.semv = r00;
11609 MenhirLib.EngineTypes.startp = _startpos_r00_;
11610 MenhirLib.EngineTypes.endp = _endpos_r00_;
11611 MenhirLib.EngineTypes.next = _menhir_stack;
11612 };
11613 } = _menhir_stack in
11614 let ty : (
11615 # 49 "parser_cocci_menhir.mly"
11616 (Data.clt)
11617 # 11618 "parser_cocci_menhir.ml"
11618 ) = Obj.magic ty in
11619 let r00 : (
11620 # 51 "parser_cocci_menhir.mly"
11621 (Data.clt)
11622 # 11623 "parser_cocci_menhir.ml"
11623 ) = Obj.magic r00 in
11624 let _startpos = _startpos_r00_ in
11625 let _endpos = _endpos_ty_ in
11626 let _v : 'tv_generic_ctype_full = let q =
11627 let r0 = r00 in
11628 let s =
11629 let r = r0 in
11630
11631 # 591 "parser_cocci_menhir.mly"
11632 ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,x)) )
11633 # 11634 "parser_cocci_menhir.ml"
11634
11635 in
11636
11637 # 594 "parser_cocci_menhir.mly"
11638 ( function x -> s (Some x) )
11639 # 11640 "parser_cocci_menhir.ml"
11640
11641 in
11642
11643 # 468 "parser_cocci_menhir.mly"
11644 ( q (Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty]))))
11645 # 11646 "parser_cocci_menhir.ml"
11646 in
11647 _menhir_env.MenhirLib.EngineTypes.stack <- {
11648 MenhirLib.EngineTypes.state = _menhir_s;
11649 MenhirLib.EngineTypes.semv = Obj.repr _v;
11650 MenhirLib.EngineTypes.startp = _startpos;
11651 MenhirLib.EngineTypes.endp = _endpos;
11652 MenhirLib.EngineTypes.next = _menhir_stack;
11653 });
11654 (fun _menhir_env ->
11655 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11656 let {
11657 MenhirLib.EngineTypes.state = _menhir_s;
11658 MenhirLib.EngineTypes.semv = ty;
11659 MenhirLib.EngineTypes.startp = _startpos_ty_;
11660 MenhirLib.EngineTypes.endp = _endpos_ty_;
11661 MenhirLib.EngineTypes.next = _menhir_stack;
11662 } = _menhir_stack in
11663 let ty : (
11664 # 49 "parser_cocci_menhir.mly"
11665 (Data.clt)
11666 # 11667 "parser_cocci_menhir.ml"
11667 ) = Obj.magic ty in
11668 let _startpos = _startpos_ty_ in
11669 let _endpos = _endpos_ty_ in
11670 let _v : 'tv_generic_ctype_full = let q =
11671
11672 # 595 "parser_cocci_menhir.mly"
11673 ( function x -> x )
11674 # 11675 "parser_cocci_menhir.ml"
11675
11676 in
11677
11678 # 468 "parser_cocci_menhir.mly"
11679 ( q (Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty]))))
11680 # 11681 "parser_cocci_menhir.ml"
11681 in
11682 _menhir_env.MenhirLib.EngineTypes.stack <- {
11683 MenhirLib.EngineTypes.state = _menhir_s;
11684 MenhirLib.EngineTypes.semv = Obj.repr _v;
11685 MenhirLib.EngineTypes.startp = _startpos;
11686 MenhirLib.EngineTypes.endp = _endpos;
11687 MenhirLib.EngineTypes.next = _menhir_stack;
11688 });
11689 (fun _menhir_env ->
11690 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11691 let {
11692 MenhirLib.EngineTypes.semv = ty;
11693 MenhirLib.EngineTypes.startp = _startpos_ty_;
11694 MenhirLib.EngineTypes.endp = _endpos_ty_;
11695 MenhirLib.EngineTypes.next = {
11696 MenhirLib.EngineTypes.state = _menhir_s;
11697 MenhirLib.EngineTypes.semv = r00;
11698 MenhirLib.EngineTypes.startp = _startpos_r00_;
11699 MenhirLib.EngineTypes.endp = _endpos_r00_;
11700 MenhirLib.EngineTypes.next = _menhir_stack;
11701 };
11702 } = _menhir_stack in
11703 let ty : (
11704 # 49 "parser_cocci_menhir.mly"
11705 (Data.clt)
11706 # 11707 "parser_cocci_menhir.ml"
11707 ) = Obj.magic ty in
11708 let r00 : (
11709 # 51 "parser_cocci_menhir.mly"
11710 (Data.clt)
11711 # 11712 "parser_cocci_menhir.ml"
11712 ) = Obj.magic r00 in
11713 let _startpos = _startpos_r00_ in
11714 let _endpos = _endpos_ty_ in
11715 let _v : 'tv_generic_ctype_full = let q =
11716 let r0 = r00 in
11717 let s =
11718 let r = r0 in
11719
11720 # 589 "parser_cocci_menhir.mly"
11721 ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,x)) )
11722 # 11723 "parser_cocci_menhir.ml"
11723
11724 in
11725
11726 # 594 "parser_cocci_menhir.mly"
11727 ( function x -> s (Some x) )
11728 # 11729 "parser_cocci_menhir.ml"
11729
11730 in
11731
11732 # 470 "parser_cocci_menhir.mly"
11733 ( q (Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty]))) )
11734 # 11735 "parser_cocci_menhir.ml"
11735 in
11736 _menhir_env.MenhirLib.EngineTypes.stack <- {
11737 MenhirLib.EngineTypes.state = _menhir_s;
11738 MenhirLib.EngineTypes.semv = Obj.repr _v;
11739 MenhirLib.EngineTypes.startp = _startpos;
11740 MenhirLib.EngineTypes.endp = _endpos;
11741 MenhirLib.EngineTypes.next = _menhir_stack;
11742 });
11743 (fun _menhir_env ->
11744 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11745 let {
11746 MenhirLib.EngineTypes.semv = ty;
11747 MenhirLib.EngineTypes.startp = _startpos_ty_;
11748 MenhirLib.EngineTypes.endp = _endpos_ty_;
11749 MenhirLib.EngineTypes.next = {
11750 MenhirLib.EngineTypes.state = _menhir_s;
11751 MenhirLib.EngineTypes.semv = r00;
11752 MenhirLib.EngineTypes.startp = _startpos_r00_;
11753 MenhirLib.EngineTypes.endp = _endpos_r00_;
11754 MenhirLib.EngineTypes.next = _menhir_stack;
11755 };
11756 } = _menhir_stack in
11757 let ty : (
11758 # 49 "parser_cocci_menhir.mly"
11759 (Data.clt)
11760 # 11761 "parser_cocci_menhir.ml"
11761 ) = Obj.magic ty in
11762 let r00 : (
11763 # 51 "parser_cocci_menhir.mly"
11764 (Data.clt)
11765 # 11766 "parser_cocci_menhir.ml"
11766 ) = Obj.magic r00 in
11767 let _startpos = _startpos_r00_ in
11768 let _endpos = _endpos_ty_ in
11769 let _v : 'tv_generic_ctype_full = let q =
11770 let r0 = r00 in
11771 let s =
11772 let r = r0 in
11773
11774 # 591 "parser_cocci_menhir.mly"
11775 ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,x)) )
11776 # 11777 "parser_cocci_menhir.ml"
11777
11778 in
11779
11780 # 594 "parser_cocci_menhir.mly"
11781 ( function x -> s (Some x) )
11782 # 11783 "parser_cocci_menhir.ml"
11783
11784 in
11785
11786 # 470 "parser_cocci_menhir.mly"
11787 ( q (Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty]))) )
11788 # 11789 "parser_cocci_menhir.ml"
11789 in
11790 _menhir_env.MenhirLib.EngineTypes.stack <- {
11791 MenhirLib.EngineTypes.state = _menhir_s;
11792 MenhirLib.EngineTypes.semv = Obj.repr _v;
11793 MenhirLib.EngineTypes.startp = _startpos;
11794 MenhirLib.EngineTypes.endp = _endpos;
11795 MenhirLib.EngineTypes.next = _menhir_stack;
11796 });
11797 (fun _menhir_env ->
11798 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11799 let {
11800 MenhirLib.EngineTypes.state = _menhir_s;
11801 MenhirLib.EngineTypes.semv = ty;
11802 MenhirLib.EngineTypes.startp = _startpos_ty_;
11803 MenhirLib.EngineTypes.endp = _endpos_ty_;
11804 MenhirLib.EngineTypes.next = _menhir_stack;
11805 } = _menhir_stack in
11806 let ty : (
11807 # 49 "parser_cocci_menhir.mly"
11808 (Data.clt)
11809 # 11810 "parser_cocci_menhir.ml"
11810 ) = Obj.magic ty in
11811 let _startpos = _startpos_ty_ in
11812 let _endpos = _endpos_ty_ in
11813 let _v : 'tv_generic_ctype_full = let q =
11814
11815 # 595 "parser_cocci_menhir.mly"
11816 ( function x -> x )
11817 # 11818 "parser_cocci_menhir.ml"
11818
11819 in
11820
11821 # 470 "parser_cocci_menhir.mly"
11822 ( q (Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty]))) )
11823 # 11824 "parser_cocci_menhir.ml"
11824 in
11825 _menhir_env.MenhirLib.EngineTypes.stack <- {
11826 MenhirLib.EngineTypes.state = _menhir_s;
11827 MenhirLib.EngineTypes.semv = Obj.repr _v;
11828 MenhirLib.EngineTypes.startp = _startpos;
11829 MenhirLib.EngineTypes.endp = _endpos;
11830 MenhirLib.EngineTypes.next = _menhir_stack;
11831 });
11832 (fun _menhir_env ->
11833 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11834 let {
11835 MenhirLib.EngineTypes.state = _menhir_s;
11836 MenhirLib.EngineTypes.semv = t;
11837 MenhirLib.EngineTypes.startp = _startpos_t_;
11838 MenhirLib.EngineTypes.endp = _endpos_t_;
11839 MenhirLib.EngineTypes.next = _menhir_stack;
11840 } = _menhir_stack in
11841 let t : (
11842 # 49 "parser_cocci_menhir.mly"
11843 (Data.clt)
11844 # 11845 "parser_cocci_menhir.ml"
11845 ) = Obj.magic t in
11846 let _startpos = _startpos_t_ in
11847 let _endpos = _endpos_t_ in
11848 let _v : 'tv_generic_ctype_full =
11849 # 472 "parser_cocci_menhir.mly"
11850 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" t])) )
11851 # 11852 "parser_cocci_menhir.ml"
11852 in
11853 _menhir_env.MenhirLib.EngineTypes.stack <- {
11854 MenhirLib.EngineTypes.state = _menhir_s;
11855 MenhirLib.EngineTypes.semv = Obj.repr _v;
11856 MenhirLib.EngineTypes.startp = _startpos;
11857 MenhirLib.EngineTypes.endp = _endpos;
11858 MenhirLib.EngineTypes.next = _menhir_stack;
11859 });
11860 (fun _menhir_env ->
11861 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11862 let {
11863 MenhirLib.EngineTypes.state = _menhir_s;
11864 MenhirLib.EngineTypes.semv = t;
11865 MenhirLib.EngineTypes.startp = _startpos_t_;
11866 MenhirLib.EngineTypes.endp = _endpos_t_;
11867 MenhirLib.EngineTypes.next = _menhir_stack;
11868 } = _menhir_stack in
11869 let t : (
11870 # 49 "parser_cocci_menhir.mly"
11871 (Data.clt)
11872 # 11873 "parser_cocci_menhir.ml"
11873 ) = Obj.magic t in
11874 let _startpos = _startpos_t_ in
11875 let _endpos = _endpos_t_ in
11876 let _v : 'tv_generic_ctype_full =
11877 # 474 "parser_cocci_menhir.mly"
11878 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" t])) )
11879 # 11880 "parser_cocci_menhir.ml"
11880 in
11881 _menhir_env.MenhirLib.EngineTypes.stack <- {
11882 MenhirLib.EngineTypes.state = _menhir_s;
11883 MenhirLib.EngineTypes.semv = Obj.repr _v;
11884 MenhirLib.EngineTypes.startp = _startpos;
11885 MenhirLib.EngineTypes.endp = _endpos;
11886 MenhirLib.EngineTypes.next = _menhir_stack;
11887 });
11888 (fun _menhir_env ->
11889 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11890 let {
11891 MenhirLib.EngineTypes.semv = ty;
11892 MenhirLib.EngineTypes.startp = _startpos_ty_;
11893 MenhirLib.EngineTypes.endp = _endpos_ty_;
11894 MenhirLib.EngineTypes.next = {
11895 MenhirLib.EngineTypes.state = _menhir_s;
11896 MenhirLib.EngineTypes.semv = r00;
11897 MenhirLib.EngineTypes.startp = _startpos_r00_;
11898 MenhirLib.EngineTypes.endp = _endpos_r00_;
11899 MenhirLib.EngineTypes.next = _menhir_stack;
11900 };
11901 } = _menhir_stack in
11902 let ty : (
11903 # 49 "parser_cocci_menhir.mly"
11904 (Data.clt)
11905 # 11906 "parser_cocci_menhir.ml"
11906 ) = Obj.magic ty in
11907 let r00 : (
11908 # 51 "parser_cocci_menhir.mly"
11909 (Data.clt)
11910 # 11911 "parser_cocci_menhir.ml"
11911 ) = Obj.magic r00 in
11912 let _startpos = _startpos_r00_ in
11913 let _endpos = _endpos_ty_ in
11914 let _v : 'tv_generic_ctype_full = let q =
11915 let r0 = r00 in
11916 let s =
11917 let r = r0 in
11918
11919 # 589 "parser_cocci_menhir.mly"
11920 ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,x)) )
11921 # 11922 "parser_cocci_menhir.ml"
11922
11923 in
11924
11925 # 594 "parser_cocci_menhir.mly"
11926 ( function x -> s (Some x) )
11927 # 11928 "parser_cocci_menhir.ml"
11928
11929 in
11930
11931 # 476 "parser_cocci_menhir.mly"
11932 ( q (Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty]))) )
11933 # 11934 "parser_cocci_menhir.ml"
11934 in
11935 _menhir_env.MenhirLib.EngineTypes.stack <- {
11936 MenhirLib.EngineTypes.state = _menhir_s;
11937 MenhirLib.EngineTypes.semv = Obj.repr _v;
11938 MenhirLib.EngineTypes.startp = _startpos;
11939 MenhirLib.EngineTypes.endp = _endpos;
11940 MenhirLib.EngineTypes.next = _menhir_stack;
11941 });
11942 (fun _menhir_env ->
11943 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11944 let {
11945 MenhirLib.EngineTypes.semv = ty;
11946 MenhirLib.EngineTypes.startp = _startpos_ty_;
11947 MenhirLib.EngineTypes.endp = _endpos_ty_;
11948 MenhirLib.EngineTypes.next = {
11949 MenhirLib.EngineTypes.state = _menhir_s;
11950 MenhirLib.EngineTypes.semv = r00;
11951 MenhirLib.EngineTypes.startp = _startpos_r00_;
11952 MenhirLib.EngineTypes.endp = _endpos_r00_;
11953 MenhirLib.EngineTypes.next = _menhir_stack;
11954 };
11955 } = _menhir_stack in
11956 let ty : (
11957 # 49 "parser_cocci_menhir.mly"
11958 (Data.clt)
11959 # 11960 "parser_cocci_menhir.ml"
11960 ) = Obj.magic ty in
11961 let r00 : (
11962 # 51 "parser_cocci_menhir.mly"
11963 (Data.clt)
11964 # 11965 "parser_cocci_menhir.ml"
11965 ) = Obj.magic r00 in
11966 let _startpos = _startpos_r00_ in
11967 let _endpos = _endpos_ty_ in
11968 let _v : 'tv_generic_ctype_full = let q =
11969 let r0 = r00 in
11970 let s =
11971 let r = r0 in
11972
11973 # 591 "parser_cocci_menhir.mly"
11974 ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,x)) )
11975 # 11976 "parser_cocci_menhir.ml"
11976
11977 in
11978
11979 # 594 "parser_cocci_menhir.mly"
11980 ( function x -> s (Some x) )
11981 # 11982 "parser_cocci_menhir.ml"
11982
11983 in
11984
11985 # 476 "parser_cocci_menhir.mly"
11986 ( q (Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty]))) )
11987 # 11988 "parser_cocci_menhir.ml"
11988 in
11989 _menhir_env.MenhirLib.EngineTypes.stack <- {
11990 MenhirLib.EngineTypes.state = _menhir_s;
11991 MenhirLib.EngineTypes.semv = Obj.repr _v;
11992 MenhirLib.EngineTypes.startp = _startpos;
11993 MenhirLib.EngineTypes.endp = _endpos;
11994 MenhirLib.EngineTypes.next = _menhir_stack;
11995 });
11996 (fun _menhir_env ->
11997 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11998 let {
11999 MenhirLib.EngineTypes.state = _menhir_s;
12000 MenhirLib.EngineTypes.semv = ty;
12001 MenhirLib.EngineTypes.startp = _startpos_ty_;
12002 MenhirLib.EngineTypes.endp = _endpos_ty_;
12003 MenhirLib.EngineTypes.next = _menhir_stack;
12004 } = _menhir_stack in
12005 let ty : (
12006 # 49 "parser_cocci_menhir.mly"
12007 (Data.clt)
12008 # 12009 "parser_cocci_menhir.ml"
12009 ) = Obj.magic ty in
12010 let _startpos = _startpos_ty_ in
12011 let _endpos = _endpos_ty_ in
12012 let _v : 'tv_generic_ctype_full = let q =
12013
12014 # 595 "parser_cocci_menhir.mly"
12015 ( function x -> x )
12016 # 12017 "parser_cocci_menhir.ml"
12017
12018 in
12019
12020 # 476 "parser_cocci_menhir.mly"
12021 ( q (Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty]))) )
12022 # 12023 "parser_cocci_menhir.ml"
12023 in
12024 _menhir_env.MenhirLib.EngineTypes.stack <- {
12025 MenhirLib.EngineTypes.state = _menhir_s;
12026 MenhirLib.EngineTypes.semv = Obj.repr _v;
12027 MenhirLib.EngineTypes.startp = _startpos;
12028 MenhirLib.EngineTypes.endp = _endpos;
12029 MenhirLib.EngineTypes.next = _menhir_stack;
12030 });
12031 (fun _menhir_env ->
12032 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12033 let {
12034 MenhirLib.EngineTypes.semv = ty1;
12035 MenhirLib.EngineTypes.startp = _startpos_ty1_;
12036 MenhirLib.EngineTypes.endp = _endpos_ty1_;
12037 MenhirLib.EngineTypes.next = {
12038 MenhirLib.EngineTypes.semv = ty;
12039 MenhirLib.EngineTypes.startp = _startpos_ty_;
12040 MenhirLib.EngineTypes.endp = _endpos_ty_;
12041 MenhirLib.EngineTypes.next = {
12042 MenhirLib.EngineTypes.state = _menhir_s;
12043 MenhirLib.EngineTypes.semv = r00;
12044 MenhirLib.EngineTypes.startp = _startpos_r00_;
12045 MenhirLib.EngineTypes.endp = _endpos_r00_;
12046 MenhirLib.EngineTypes.next = _menhir_stack;
12047 };
12048 };
12049 } = _menhir_stack in
12050 let ty1 : (
12051 # 49 "parser_cocci_menhir.mly"
12052 (Data.clt)
12053 # 12054 "parser_cocci_menhir.ml"
12054 ) = Obj.magic ty1 in
12055 let ty : (
12056 # 49 "parser_cocci_menhir.mly"
12057 (Data.clt)
12058 # 12059 "parser_cocci_menhir.ml"
12059 ) = Obj.magic ty in
12060 let r00 : (
12061 # 51 "parser_cocci_menhir.mly"
12062 (Data.clt)
12063 # 12064 "parser_cocci_menhir.ml"
12064 ) = Obj.magic r00 in
12065 let _startpos = _startpos_r00_ in
12066 let _endpos = _endpos_ty1_ in
12067 let _v : 'tv_generic_ctype_full = let q =
12068 let r0 = r00 in
12069 let s =
12070 let r = r0 in
12071
12072 # 589 "parser_cocci_menhir.mly"
12073 ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,x)) )
12074 # 12075 "parser_cocci_menhir.ml"
12075
12076 in
12077
12078 # 594 "parser_cocci_menhir.mly"
12079 ( function x -> s (Some x) )
12080 # 12081 "parser_cocci_menhir.ml"
12081
12082 in
12083
12084 # 478 "parser_cocci_menhir.mly"
12085 ( q (Ast0.wrap
12086 (Ast0.BaseType
12087 (Ast.LongLongType,
12088 [P.clt2mcode "long" ty;P.clt2mcode "long" ty1]))) )
12089 # 12090 "parser_cocci_menhir.ml"
12090 in
12091 _menhir_env.MenhirLib.EngineTypes.stack <- {
12092 MenhirLib.EngineTypes.state = _menhir_s;
12093 MenhirLib.EngineTypes.semv = Obj.repr _v;
12094 MenhirLib.EngineTypes.startp = _startpos;
12095 MenhirLib.EngineTypes.endp = _endpos;
12096 MenhirLib.EngineTypes.next = _menhir_stack;
12097 });
12098 (fun _menhir_env ->
12099 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12100 let {
12101 MenhirLib.EngineTypes.semv = ty1;
12102 MenhirLib.EngineTypes.startp = _startpos_ty1_;
12103 MenhirLib.EngineTypes.endp = _endpos_ty1_;
12104 MenhirLib.EngineTypes.next = {
12105 MenhirLib.EngineTypes.semv = ty;
12106 MenhirLib.EngineTypes.startp = _startpos_ty_;
12107 MenhirLib.EngineTypes.endp = _endpos_ty_;
12108 MenhirLib.EngineTypes.next = {
12109 MenhirLib.EngineTypes.state = _menhir_s;
12110 MenhirLib.EngineTypes.semv = r00;
12111 MenhirLib.EngineTypes.startp = _startpos_r00_;
12112 MenhirLib.EngineTypes.endp = _endpos_r00_;
12113 MenhirLib.EngineTypes.next = _menhir_stack;
12114 };
12115 };
12116 } = _menhir_stack in
12117 let ty1 : (
12118 # 49 "parser_cocci_menhir.mly"
12119 (Data.clt)
12120 # 12121 "parser_cocci_menhir.ml"
12121 ) = Obj.magic ty1 in
12122 let ty : (
12123 # 49 "parser_cocci_menhir.mly"
12124 (Data.clt)
12125 # 12126 "parser_cocci_menhir.ml"
12126 ) = Obj.magic ty in
12127 let r00 : (
12128 # 51 "parser_cocci_menhir.mly"
12129 (Data.clt)
12130 # 12131 "parser_cocci_menhir.ml"
12131 ) = Obj.magic r00 in
12132 let _startpos = _startpos_r00_ in
12133 let _endpos = _endpos_ty1_ in
12134 let _v : 'tv_generic_ctype_full = let q =
12135 let r0 = r00 in
12136 let s =
12137 let r = r0 in
12138
12139 # 591 "parser_cocci_menhir.mly"
12140 ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,x)) )
12141 # 12142 "parser_cocci_menhir.ml"
12142
12143 in
12144
12145 # 594 "parser_cocci_menhir.mly"
12146 ( function x -> s (Some x) )
12147 # 12148 "parser_cocci_menhir.ml"
12148
12149 in
12150
12151 # 478 "parser_cocci_menhir.mly"
12152 ( q (Ast0.wrap
12153 (Ast0.BaseType
12154 (Ast.LongLongType,
12155 [P.clt2mcode "long" ty;P.clt2mcode "long" ty1]))) )
12156 # 12157 "parser_cocci_menhir.ml"
12157 in
12158 _menhir_env.MenhirLib.EngineTypes.stack <- {
12159 MenhirLib.EngineTypes.state = _menhir_s;
12160 MenhirLib.EngineTypes.semv = Obj.repr _v;
12161 MenhirLib.EngineTypes.startp = _startpos;
12162 MenhirLib.EngineTypes.endp = _endpos;
12163 MenhirLib.EngineTypes.next = _menhir_stack;
12164 });
12165 (fun _menhir_env ->
12166 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12167 let {
12168 MenhirLib.EngineTypes.semv = ty1;
12169 MenhirLib.EngineTypes.startp = _startpos_ty1_;
12170 MenhirLib.EngineTypes.endp = _endpos_ty1_;
12171 MenhirLib.EngineTypes.next = {
12172 MenhirLib.EngineTypes.state = _menhir_s;
12173 MenhirLib.EngineTypes.semv = ty;
12174 MenhirLib.EngineTypes.startp = _startpos_ty_;
12175 MenhirLib.EngineTypes.endp = _endpos_ty_;
12176 MenhirLib.EngineTypes.next = _menhir_stack;
12177 };
12178 } = _menhir_stack in
12179 let ty1 : (
12180 # 49 "parser_cocci_menhir.mly"
12181 (Data.clt)
12182 # 12183 "parser_cocci_menhir.ml"
12183 ) = Obj.magic ty1 in
12184 let ty : (
12185 # 49 "parser_cocci_menhir.mly"
12186 (Data.clt)
12187 # 12188 "parser_cocci_menhir.ml"
12188 ) = Obj.magic ty in
12189 let _startpos = _startpos_ty_ in
12190 let _endpos = _endpos_ty1_ in
12191 let _v : 'tv_generic_ctype_full = let q =
12192
12193 # 595 "parser_cocci_menhir.mly"
12194 ( function x -> x )
12195 # 12196 "parser_cocci_menhir.ml"
12196
12197 in
12198
12199 # 478 "parser_cocci_menhir.mly"
12200 ( q (Ast0.wrap
12201 (Ast0.BaseType
12202 (Ast.LongLongType,
12203 [P.clt2mcode "long" ty;P.clt2mcode "long" ty1]))) )
12204 # 12205 "parser_cocci_menhir.ml"
12205 in
12206 _menhir_env.MenhirLib.EngineTypes.stack <- {
12207 MenhirLib.EngineTypes.state = _menhir_s;
12208 MenhirLib.EngineTypes.semv = Obj.repr _v;
12209 MenhirLib.EngineTypes.startp = _startpos;
12210 MenhirLib.EngineTypes.endp = _endpos;
12211 MenhirLib.EngineTypes.next = _menhir_stack;
12212 });
12213 (fun _menhir_env ->
12214 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12215 let {
12216 MenhirLib.EngineTypes.semv = i;
12217 MenhirLib.EngineTypes.startp = _startpos_i_;
12218 MenhirLib.EngineTypes.endp = _endpos_i_;
12219 MenhirLib.EngineTypes.next = {
12220 MenhirLib.EngineTypes.state = _menhir_s;
12221 MenhirLib.EngineTypes.semv = s;
12222 MenhirLib.EngineTypes.startp = _startpos_s_;
12223 MenhirLib.EngineTypes.endp = _endpos_s_;
12224 MenhirLib.EngineTypes.next = _menhir_stack;
12225 };
12226 } = _menhir_stack in
12227 let i : 'tv_ident = Obj.magic i in
12228 let s : (
12229 # 50 "parser_cocci_menhir.mly"
12230 (Data.clt)
12231 # 12232 "parser_cocci_menhir.ml"
12232 ) = Obj.magic s in
12233 let _startpos = _startpos_s_ in
12234 let _endpos = _endpos_i_ in
12235 let _v : 'tv_generic_ctype_full =
12236 # 483 "parser_cocci_menhir.mly"
12237 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
12238 # 12239 "parser_cocci_menhir.ml"
12239 in
12240 _menhir_env.MenhirLib.EngineTypes.stack <- {
12241 MenhirLib.EngineTypes.state = _menhir_s;
12242 MenhirLib.EngineTypes.semv = Obj.repr _v;
12243 MenhirLib.EngineTypes.startp = _startpos;
12244 MenhirLib.EngineTypes.endp = _endpos;
12245 MenhirLib.EngineTypes.next = _menhir_stack;
12246 });
12247 (fun _menhir_env ->
12248 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12249 let {
12250 MenhirLib.EngineTypes.semv = i;
12251 MenhirLib.EngineTypes.startp = _startpos_i_;
12252 MenhirLib.EngineTypes.endp = _endpos_i_;
12253 MenhirLib.EngineTypes.next = {
12254 MenhirLib.EngineTypes.state = _menhir_s;
12255 MenhirLib.EngineTypes.semv = s;
12256 MenhirLib.EngineTypes.startp = _startpos_s_;
12257 MenhirLib.EngineTypes.endp = _endpos_s_;
12258 MenhirLib.EngineTypes.next = _menhir_stack;
12259 };
12260 } = _menhir_stack in
12261 let i : 'tv_ident = Obj.magic i in
12262 let s : 'tv_struct_or_union = Obj.magic s in
12263 let _startpos = _startpos_s_ in
12264 let _endpos = _endpos_i_ in
12265 let _v : 'tv_generic_ctype_full =
12266 # 485 "parser_cocci_menhir.mly"
12267 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
12268 # 12269 "parser_cocci_menhir.ml"
12269 in
12270 _menhir_env.MenhirLib.EngineTypes.stack <- {
12271 MenhirLib.EngineTypes.state = _menhir_s;
12272 MenhirLib.EngineTypes.semv = Obj.repr _v;
12273 MenhirLib.EngineTypes.startp = _startpos;
12274 MenhirLib.EngineTypes.endp = _endpos;
12275 MenhirLib.EngineTypes.next = _menhir_stack;
12276 });
12277 (fun _menhir_env ->
12278 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12279 let {
12280 MenhirLib.EngineTypes.semv = r;
12281 MenhirLib.EngineTypes.startp = _startpos_r_;
12282 MenhirLib.EngineTypes.endp = _endpos_r_;
12283 MenhirLib.EngineTypes.next = {
12284 MenhirLib.EngineTypes.semv = d;
12285 MenhirLib.EngineTypes.startp = _startpos_d_;
12286 MenhirLib.EngineTypes.endp = _endpos_d_;
12287 MenhirLib.EngineTypes.next = {
12288 MenhirLib.EngineTypes.semv = l;
12289 MenhirLib.EngineTypes.startp = _startpos_l_;
12290 MenhirLib.EngineTypes.endp = _endpos_l_;
12291 MenhirLib.EngineTypes.next = {
12292 MenhirLib.EngineTypes.state = _menhir_s;
12293 MenhirLib.EngineTypes.semv = s;
12294 MenhirLib.EngineTypes.startp = _startpos_s_;
12295 MenhirLib.EngineTypes.endp = _endpos_s_;
12296 MenhirLib.EngineTypes.next = _menhir_stack;
12297 };
12298 };
12299 };
12300 } = _menhir_stack in
12301 let r : (
12302 # 101 "parser_cocci_menhir.mly"
12303 (Data.clt)
12304 # 12305 "parser_cocci_menhir.ml"
12305 ) = Obj.magic r in
12306 let d : 'tv_struct_decl_list = Obj.magic d in
12307 let l : (
12308 # 101 "parser_cocci_menhir.mly"
12309 (Data.clt)
12310 # 12311 "parser_cocci_menhir.ml"
12311 ) = Obj.magic l in
12312 let s : 'tv_struct_or_union = Obj.magic s in
12313 let _startpos = _startpos_s_ in
12314 let _endpos = _endpos_r_ in
12315 let _v : 'tv_generic_ctype_full = let i =
12316
12317 # 39 "standard.mly"
12318 ( None )
12319 # 12320 "parser_cocci_menhir.ml"
12320
12321 in
12322
12323 # 488 "parser_cocci_menhir.mly"
12324 ( (if i = None && !Data.in_iso
12325 then failwith "structures must be named in the iso file");
12326 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
12327 P.clt2mcode "{" l,
12328 d, P.clt2mcode "}" r)) )
12329 # 12330 "parser_cocci_menhir.ml"
12330 in
12331 _menhir_env.MenhirLib.EngineTypes.stack <- {
12332 MenhirLib.EngineTypes.state = _menhir_s;
12333 MenhirLib.EngineTypes.semv = Obj.repr _v;
12334 MenhirLib.EngineTypes.startp = _startpos;
12335 MenhirLib.EngineTypes.endp = _endpos;
12336 MenhirLib.EngineTypes.next = _menhir_stack;
12337 });
12338 (fun _menhir_env ->
12339 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12340 let {
12341 MenhirLib.EngineTypes.semv = r;
12342 MenhirLib.EngineTypes.startp = _startpos_r_;
12343 MenhirLib.EngineTypes.endp = _endpos_r_;
12344 MenhirLib.EngineTypes.next = {
12345 MenhirLib.EngineTypes.semv = d;
12346 MenhirLib.EngineTypes.startp = _startpos_d_;
12347 MenhirLib.EngineTypes.endp = _endpos_d_;
12348 MenhirLib.EngineTypes.next = {
12349 MenhirLib.EngineTypes.semv = l;
12350 MenhirLib.EngineTypes.startp = _startpos_l_;
12351 MenhirLib.EngineTypes.endp = _endpos_l_;
12352 MenhirLib.EngineTypes.next = {
12353 MenhirLib.EngineTypes.semv = x0;
12354 MenhirLib.EngineTypes.startp = _startpos_x0_;
12355 MenhirLib.EngineTypes.endp = _endpos_x0_;
12356 MenhirLib.EngineTypes.next = {
12357 MenhirLib.EngineTypes.state = _menhir_s;
12358 MenhirLib.EngineTypes.semv = s;
12359 MenhirLib.EngineTypes.startp = _startpos_s_;
12360 MenhirLib.EngineTypes.endp = _endpos_s_;
12361 MenhirLib.EngineTypes.next = _menhir_stack;
12362 };
12363 };
12364 };
12365 };
12366 } = _menhir_stack in
12367 let r : (
12368 # 101 "parser_cocci_menhir.mly"
12369 (Data.clt)
12370 # 12371 "parser_cocci_menhir.ml"
12371 ) = Obj.magic r in
12372 let d : 'tv_struct_decl_list = Obj.magic d in
12373 let l : (
12374 # 101 "parser_cocci_menhir.mly"
12375 (Data.clt)
12376 # 12377 "parser_cocci_menhir.ml"
12377 ) = Obj.magic l in
12378 let x0 : 'tv_ident = Obj.magic x0 in
12379 let s : 'tv_struct_or_union = Obj.magic s in
12380 let _startpos = _startpos_s_ in
12381 let _endpos = _endpos_r_ in
12382 let _v : 'tv_generic_ctype_full = let i =
12383 let x = x0 in
12384
12385 # 41 "standard.mly"
12386 ( Some x )
12387 # 12388 "parser_cocci_menhir.ml"
12388
12389 in
12390
12391 # 488 "parser_cocci_menhir.mly"
12392 ( (if i = None && !Data.in_iso
12393 then failwith "structures must be named in the iso file");
12394 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
12395 P.clt2mcode "{" l,
12396 d, P.clt2mcode "}" r)) )
12397 # 12398 "parser_cocci_menhir.ml"
12398 in
12399 _menhir_env.MenhirLib.EngineTypes.stack <- {
12400 MenhirLib.EngineTypes.state = _menhir_s;
12401 MenhirLib.EngineTypes.semv = Obj.repr _v;
12402 MenhirLib.EngineTypes.startp = _startpos;
12403 MenhirLib.EngineTypes.endp = _endpos;
12404 MenhirLib.EngineTypes.next = _menhir_stack;
12405 });
12406 (fun _menhir_env ->
12407 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12408 let {
12409 MenhirLib.EngineTypes.semv = r;
12410 MenhirLib.EngineTypes.startp = _startpos_r_;
12411 MenhirLib.EngineTypes.endp = _endpos_r_;
12412 MenhirLib.EngineTypes.next = {
12413 MenhirLib.EngineTypes.semv = d;
12414 MenhirLib.EngineTypes.startp = _startpos_d_;
12415 MenhirLib.EngineTypes.endp = _endpos_d_;
12416 MenhirLib.EngineTypes.next = {
12417 MenhirLib.EngineTypes.semv = l;
12418 MenhirLib.EngineTypes.startp = _startpos_l_;
12419 MenhirLib.EngineTypes.endp = _endpos_l_;
12420 MenhirLib.EngineTypes.next = {
12421 MenhirLib.EngineTypes.state = _menhir_s;
12422 MenhirLib.EngineTypes.semv = s;
12423 MenhirLib.EngineTypes.startp = _startpos_s_;
12424 MenhirLib.EngineTypes.endp = _endpos_s_;
12425 MenhirLib.EngineTypes.next = _menhir_stack;
12426 };
12427 };
12428 };
12429 } = _menhir_stack in
12430 let r : (
12431 # 101 "parser_cocci_menhir.mly"
12432 (Data.clt)
12433 # 12434 "parser_cocci_menhir.ml"
12434 ) = Obj.magic r in
12435 let d : 'tv_struct_decl_list = Obj.magic d in
12436 let l : (
12437 # 101 "parser_cocci_menhir.mly"
12438 (Data.clt)
12439 # 12440 "parser_cocci_menhir.ml"
12440 ) = Obj.magic l in
12441 let s : (
12442 # 64 "parser_cocci_menhir.mly"
12443 (Parse_aux.info)
12444 # 12445 "parser_cocci_menhir.ml"
12445 ) = Obj.magic s in
12446 let _startpos = _startpos_s_ in
12447 let _endpos = _endpos_r_ in
12448 let _v : 'tv_generic_ctype_full =
12449 # 494 "parser_cocci_menhir.mly"
12450 ( let (nm,pure,clt) = s in
12451 let ty =
12452 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
12453 Ast0.wrap
12454 (Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
12455 # 12456 "parser_cocci_menhir.ml"
12456 in
12457 _menhir_env.MenhirLib.EngineTypes.stack <- {
12458 MenhirLib.EngineTypes.state = _menhir_s;
12459 MenhirLib.EngineTypes.semv = Obj.repr _v;
12460 MenhirLib.EngineTypes.startp = _startpos;
12461 MenhirLib.EngineTypes.endp = _endpos;
12462 MenhirLib.EngineTypes.next = _menhir_stack;
12463 });
12464 (fun _menhir_env ->
12465 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12466 let {
12467 MenhirLib.EngineTypes.semv = p;
12468 MenhirLib.EngineTypes.startp = _startpos_p_;
12469 MenhirLib.EngineTypes.endp = _endpos_p_;
12470 MenhirLib.EngineTypes.next = {
12471 MenhirLib.EngineTypes.startp = _startpos__2_;
12472 MenhirLib.EngineTypes.endp = _endpos__2_;
12473 MenhirLib.EngineTypes.next = {
12474 MenhirLib.EngineTypes.state = _menhir_s;
12475 MenhirLib.EngineTypes.semv = r;
12476 MenhirLib.EngineTypes.startp = _startpos_r_;
12477 MenhirLib.EngineTypes.endp = _endpos_r_;
12478 MenhirLib.EngineTypes.next = _menhir_stack;
12479 };
12480 };
12481 } = _menhir_stack in
12482 let p : (
12483 # 59 "parser_cocci_menhir.mly"
12484 (string * Data.clt)
12485 # 12486 "parser_cocci_menhir.ml"
12486 ) = Obj.magic p in
12487 let r : (
12488 # 47 "parser_cocci_menhir.mly"
12489 (string)
12490 # 12491 "parser_cocci_menhir.ml"
12491 ) = Obj.magic r in
12492 let _startpos = _startpos_r_ in
12493 let _endpos = _endpos_p_ in
12494 let _v : 'tv_generic_ctype_full =
12495 # 500 "parser_cocci_menhir.mly"
12496 ( let nm = (r,P.id2name p) in
12497 (* this is only possible when we are in a metavar decl. Otherwise,
12498 it will be represented already as a MetaType *)
12499 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
12500 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
12501 Ast0.Impure (*will be ignored*))) )
12502 # 12503 "parser_cocci_menhir.ml"
12503 in
12504 _menhir_env.MenhirLib.EngineTypes.stack <- {
12505 MenhirLib.EngineTypes.state = _menhir_s;
12506 MenhirLib.EngineTypes.semv = Obj.repr _v;
12507 MenhirLib.EngineTypes.startp = _startpos;
12508 MenhirLib.EngineTypes.endp = _endpos;
12509 MenhirLib.EngineTypes.next = _menhir_stack;
12510 });
12511 (fun _menhir_env ->
12512 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12513 let {
12514 MenhirLib.EngineTypes.state = _menhir_s;
12515 MenhirLib.EngineTypes.semv = p;
12516 MenhirLib.EngineTypes.startp = _startpos_p_;
12517 MenhirLib.EngineTypes.endp = _endpos_p_;
12518 MenhirLib.EngineTypes.next = _menhir_stack;
12519 } = _menhir_stack in
12520 let p : (
12521 # 59 "parser_cocci_menhir.mly"
12522 (string * Data.clt)
12523 # 12524 "parser_cocci_menhir.ml"
12524 ) = Obj.magic p in
12525 let _startpos = _startpos_p_ in
12526 let _endpos = _endpos_p_ in
12527 let _v : 'tv_generic_ctype_full =
12528 # 507 "parser_cocci_menhir.mly"
12529 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
12530 # 12531 "parser_cocci_menhir.ml"
12531 in
12532 _menhir_env.MenhirLib.EngineTypes.stack <- {
12533 MenhirLib.EngineTypes.state = _menhir_s;
12534 MenhirLib.EngineTypes.semv = Obj.repr _v;
12535 MenhirLib.EngineTypes.startp = _startpos;
12536 MenhirLib.EngineTypes.endp = _endpos;
12537 MenhirLib.EngineTypes.next = _menhir_stack;
12538 });
12539 (fun _menhir_env ->
12540 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12541 let {
12542 MenhirLib.EngineTypes.semv = p;
12543 MenhirLib.EngineTypes.startp = _startpos_p_;
12544 MenhirLib.EngineTypes.endp = _endpos_p_;
12545 MenhirLib.EngineTypes.next = {
12546 MenhirLib.EngineTypes.state = _menhir_s;
12547 MenhirLib.EngineTypes.semv = r00;
12548 MenhirLib.EngineTypes.startp = _startpos_r00_;
12549 MenhirLib.EngineTypes.endp = _endpos_r00_;
12550 MenhirLib.EngineTypes.next = _menhir_stack;
12551 };
12552 } = _menhir_stack in
12553 let p : (
12554 # 64 "parser_cocci_menhir.mly"
12555 (Parse_aux.info)
12556 # 12557 "parser_cocci_menhir.ml"
12557 ) = Obj.magic p in
12558 let r00 : (
12559 # 51 "parser_cocci_menhir.mly"
12560 (Data.clt)
12561 # 12562 "parser_cocci_menhir.ml"
12562 ) = Obj.magic r00 in
12563 let _startpos = _startpos_r00_ in
12564 let _endpos = _endpos_p_ in
12565 let _v : 'tv_generic_ctype_full = let q =
12566 let r0 = r00 in
12567 let s =
12568 let r = r0 in
12569
12570 # 589 "parser_cocci_menhir.mly"
12571 ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,x)) )
12572 # 12573 "parser_cocci_menhir.ml"
12573
12574 in
12575
12576 # 594 "parser_cocci_menhir.mly"
12577 ( function x -> s (Some x) )
12578 # 12579 "parser_cocci_menhir.ml"
12579
12580 in
12581
12582 # 509 "parser_cocci_menhir.mly"
12583 ( let (nm,pure,clt) = p in
12584 q (Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure))) )
12585 # 12586 "parser_cocci_menhir.ml"
12586 in
12587 _menhir_env.MenhirLib.EngineTypes.stack <- {
12588 MenhirLib.EngineTypes.state = _menhir_s;
12589 MenhirLib.EngineTypes.semv = Obj.repr _v;
12590 MenhirLib.EngineTypes.startp = _startpos;
12591 MenhirLib.EngineTypes.endp = _endpos;
12592 MenhirLib.EngineTypes.next = _menhir_stack;
12593 });
12594 (fun _menhir_env ->
12595 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12596 let {
12597 MenhirLib.EngineTypes.semv = p;
12598 MenhirLib.EngineTypes.startp = _startpos_p_;
12599 MenhirLib.EngineTypes.endp = _endpos_p_;
12600 MenhirLib.EngineTypes.next = {
12601 MenhirLib.EngineTypes.state = _menhir_s;
12602 MenhirLib.EngineTypes.semv = r00;
12603 MenhirLib.EngineTypes.startp = _startpos_r00_;
12604 MenhirLib.EngineTypes.endp = _endpos_r00_;
12605 MenhirLib.EngineTypes.next = _menhir_stack;
12606 };
12607 } = _menhir_stack in
12608 let p : (
12609 # 64 "parser_cocci_menhir.mly"
12610 (Parse_aux.info)
12611 # 12612 "parser_cocci_menhir.ml"
12612 ) = Obj.magic p in
12613 let r00 : (
12614 # 51 "parser_cocci_menhir.mly"
12615 (Data.clt)
12616 # 12617 "parser_cocci_menhir.ml"
12617 ) = Obj.magic r00 in
12618 let _startpos = _startpos_r00_ in
12619 let _endpos = _endpos_p_ in
12620 let _v : 'tv_generic_ctype_full = let q =
12621 let r0 = r00 in
12622 let s =
12623 let r = r0 in
12624
12625 # 591 "parser_cocci_menhir.mly"
12626 ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,x)) )
12627 # 12628 "parser_cocci_menhir.ml"
12628
12629 in
12630
12631 # 594 "parser_cocci_menhir.mly"
12632 ( function x -> s (Some x) )
12633 # 12634 "parser_cocci_menhir.ml"
12634
12635 in
12636
12637 # 509 "parser_cocci_menhir.mly"
12638 ( let (nm,pure,clt) = p in
12639 q (Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure))) )
12640 # 12641 "parser_cocci_menhir.ml"
12641 in
12642 _menhir_env.MenhirLib.EngineTypes.stack <- {
12643 MenhirLib.EngineTypes.state = _menhir_s;
12644 MenhirLib.EngineTypes.semv = Obj.repr _v;
12645 MenhirLib.EngineTypes.startp = _startpos;
12646 MenhirLib.EngineTypes.endp = _endpos;
12647 MenhirLib.EngineTypes.next = _menhir_stack;
12648 });
12649 (fun _menhir_env ->
12650 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12651 let {
12652 MenhirLib.EngineTypes.state = _menhir_s;
12653 MenhirLib.EngineTypes.semv = p;
12654 MenhirLib.EngineTypes.startp = _startpos_p_;
12655 MenhirLib.EngineTypes.endp = _endpos_p_;
12656 MenhirLib.EngineTypes.next = _menhir_stack;
12657 } = _menhir_stack in
12658 let p : (
12659 # 64 "parser_cocci_menhir.mly"
12660 (Parse_aux.info)
12661 # 12662 "parser_cocci_menhir.ml"
12662 ) = Obj.magic p in
12663 let _startpos = _startpos_p_ in
12664 let _endpos = _endpos_p_ in
12665 let _v : 'tv_generic_ctype_full = let q =
12666
12667 # 595 "parser_cocci_menhir.mly"
12668 ( function x -> x )
12669 # 12670 "parser_cocci_menhir.ml"
12670
12671 in
12672
12673 # 509 "parser_cocci_menhir.mly"
12674 ( let (nm,pure,clt) = p in
12675 q (Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure))) )
12676 # 12677 "parser_cocci_menhir.ml"
12677 in
12678 _menhir_env.MenhirLib.EngineTypes.stack <- {
12679 MenhirLib.EngineTypes.state = _menhir_s;
12680 MenhirLib.EngineTypes.semv = Obj.repr _v;
12681 MenhirLib.EngineTypes.startp = _startpos;
12682 MenhirLib.EngineTypes.endp = _endpos;
12683 MenhirLib.EngineTypes.next = _menhir_stack;
12684 });
12685 (fun _menhir_env ->
12686 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12687 let {
12688 MenhirLib.EngineTypes.state = _menhir_s;
12689 MenhirLib.EngineTypes.semv = _1;
12690 MenhirLib.EngineTypes.startp = _startpos__1_;
12691 MenhirLib.EngineTypes.endp = _endpos__1_;
12692 MenhirLib.EngineTypes.next = _menhir_stack;
12693 } = _menhir_stack in
12694 let _1 : 'tv_pure_ident = Obj.magic _1 in
12695 let _startpos = _startpos__1_ in
12696 let _endpos = _endpos__1_ in
12697 let _v : 'tv_ident =
12698 # 1509 "parser_cocci_menhir.mly"
12699 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
12700 # 12701 "parser_cocci_menhir.ml"
12701 in
12702 _menhir_env.MenhirLib.EngineTypes.stack <- {
12703 MenhirLib.EngineTypes.state = _menhir_s;
12704 MenhirLib.EngineTypes.semv = Obj.repr _v;
12705 MenhirLib.EngineTypes.startp = _startpos;
12706 MenhirLib.EngineTypes.endp = _endpos;
12707 MenhirLib.EngineTypes.next = _menhir_stack;
12708 });
12709 (fun _menhir_env ->
12710 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12711 let {
12712 MenhirLib.EngineTypes.state = _menhir_s;
12713 MenhirLib.EngineTypes.semv = _1;
12714 MenhirLib.EngineTypes.startp = _startpos__1_;
12715 MenhirLib.EngineTypes.endp = _endpos__1_;
12716 MenhirLib.EngineTypes.next = _menhir_stack;
12717 } = _menhir_stack in
12718 let _1 : (
12719 # 61 "parser_cocci_menhir.mly"
12720 (Parse_aux.idinfo)
12721 # 12722 "parser_cocci_menhir.ml"
12722 ) = Obj.magic _1 in
12723 let _startpos = _startpos__1_ in
12724 let _endpos = _endpos__1_ in
12725 let _v : 'tv_ident =
12726 # 1511 "parser_cocci_menhir.mly"
12727 ( let (nm,constraints,pure,clt) = _1 in
12728 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
12729 # 12730 "parser_cocci_menhir.ml"
12730 in
12731 _menhir_env.MenhirLib.EngineTypes.stack <- {
12732 MenhirLib.EngineTypes.state = _menhir_s;
12733 MenhirLib.EngineTypes.semv = Obj.repr _v;
12734 MenhirLib.EngineTypes.startp = _startpos;
12735 MenhirLib.EngineTypes.endp = _endpos;
12736 MenhirLib.EngineTypes.next = _menhir_stack;
12737 });
12738 (fun _menhir_env ->
12739 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12740 let {
12741 MenhirLib.EngineTypes.state = _menhir_s;
12742 MenhirLib.EngineTypes.semv = i;
12743 MenhirLib.EngineTypes.startp = _startpos_i_;
12744 MenhirLib.EngineTypes.endp = _endpos_i_;
12745 MenhirLib.EngineTypes.next = _menhir_stack;
12746 } = _menhir_stack in
12747 let i : 'tv_pure_ident = Obj.magic i in
12748 let _startpos = _startpos_i_ in
12749 let _endpos = _endpos_i_ in
12750 let _v : 'tv_ident_or_const =
12751 # 1463 "parser_cocci_menhir.mly"
12752 ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) )
12753 # 12754 "parser_cocci_menhir.ml"
12754 in
12755 _menhir_env.MenhirLib.EngineTypes.stack <- {
12756 MenhirLib.EngineTypes.state = _menhir_s;
12757 MenhirLib.EngineTypes.semv = Obj.repr _v;
12758 MenhirLib.EngineTypes.startp = _startpos;
12759 MenhirLib.EngineTypes.endp = _endpos;
12760 MenhirLib.EngineTypes.next = _menhir_stack;
12761 });
12762 (fun _menhir_env ->
12763 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12764 let {
12765 MenhirLib.EngineTypes.state = _menhir_s;
12766 MenhirLib.EngineTypes.semv = _1;
12767 MenhirLib.EngineTypes.startp = _startpos__1_;
12768 MenhirLib.EngineTypes.endp = _endpos__1_;
12769 MenhirLib.EngineTypes.next = _menhir_stack;
12770 } = _menhir_stack in
12771 let _1 : (
12772 # 87 "parser_cocci_menhir.mly"
12773 (string * Data.clt)
12774 # 12775 "parser_cocci_menhir.ml"
12775 ) = Obj.magic _1 in
12776 let _startpos = _startpos__1_ in
12777 let _endpos = _endpos__1_ in
12778 let _v : 'tv_ident_or_const =
12779 # 1465 "parser_cocci_menhir.mly"
12780 ( let (x,clt) = _1 in
12781 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
12782 # 12783 "parser_cocci_menhir.ml"
12783 in
12784 _menhir_env.MenhirLib.EngineTypes.stack <- {
12785 MenhirLib.EngineTypes.state = _menhir_s;
12786 MenhirLib.EngineTypes.semv = Obj.repr _v;
12787 MenhirLib.EngineTypes.startp = _startpos;
12788 MenhirLib.EngineTypes.endp = _endpos;
12789 MenhirLib.EngineTypes.next = _menhir_stack;
12790 });
12791 (fun _menhir_env ->
12792 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12793 let {
12794 MenhirLib.EngineTypes.semv = _2;
12795 MenhirLib.EngineTypes.startp = _startpos__2_;
12796 MenhirLib.EngineTypes.endp = _endpos__2_;
12797 MenhirLib.EngineTypes.next = {
12798 MenhirLib.EngineTypes.state = _menhir_s;
12799 MenhirLib.EngineTypes.startp = _startpos__1_;
12800 MenhirLib.EngineTypes.endp = _endpos__1_;
12801 MenhirLib.EngineTypes.next = _menhir_stack;
12802 };
12803 } = _menhir_stack in
12804 let _2 : (
12805 # 87 "parser_cocci_menhir.mly"
12806 (string * Data.clt)
12807 # 12808 "parser_cocci_menhir.ml"
12808 ) = Obj.magic _2 in
12809 let _startpos = _startpos__1_ in
12810 let _endpos = _endpos__2_ in
12811 let _v : 'tv_incl =
12812 # 257 "parser_cocci_menhir.mly"
12813 ( Common.Left(P.id2name _2) )
12814 # 12815 "parser_cocci_menhir.ml"
12815 in
12816 _menhir_env.MenhirLib.EngineTypes.stack <- {
12817 MenhirLib.EngineTypes.state = _menhir_s;
12818 MenhirLib.EngineTypes.semv = Obj.repr _v;
12819 MenhirLib.EngineTypes.startp = _startpos;
12820 MenhirLib.EngineTypes.endp = _endpos;
12821 MenhirLib.EngineTypes.next = _menhir_stack;
12822 });
12823 (fun _menhir_env ->
12824 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12825 let {
12826 MenhirLib.EngineTypes.semv = _2;
12827 MenhirLib.EngineTypes.startp = _startpos__2_;
12828 MenhirLib.EngineTypes.endp = _endpos__2_;
12829 MenhirLib.EngineTypes.next = {
12830 MenhirLib.EngineTypes.state = _menhir_s;
12831 MenhirLib.EngineTypes.startp = _startpos__1_;
12832 MenhirLib.EngineTypes.endp = _endpos__1_;
12833 MenhirLib.EngineTypes.next = _menhir_stack;
12834 };
12835 } = _menhir_stack in
12836 let _2 : (
12837 # 79 "parser_cocci_menhir.mly"
12838 (string)
12839 # 12840 "parser_cocci_menhir.ml"
12840 ) = Obj.magic _2 in
12841 let _startpos = _startpos__1_ in
12842 let _endpos = _endpos__2_ in
12843 let _v : 'tv_incl =
12844 # 258 "parser_cocci_menhir.mly"
12845 ( Common.Right _2 )
12846 # 12847 "parser_cocci_menhir.ml"
12847 in
12848 _menhir_env.MenhirLib.EngineTypes.stack <- {
12849 MenhirLib.EngineTypes.state = _menhir_s;
12850 MenhirLib.EngineTypes.semv = Obj.repr _v;
12851 MenhirLib.EngineTypes.startp = _startpos;
12852 MenhirLib.EngineTypes.endp = _endpos;
12853 MenhirLib.EngineTypes.next = _menhir_stack;
12854 });
12855 (fun _menhir_env ->
12856 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12857 let {
12858 MenhirLib.EngineTypes.startp = _startpos__2_;
12859 MenhirLib.EngineTypes.endp = _endpos__2_;
12860 MenhirLib.EngineTypes.next = {
12861 MenhirLib.EngineTypes.state = _menhir_s;
12862 MenhirLib.EngineTypes.semv = _1;
12863 MenhirLib.EngineTypes.startp = _startpos__1_;
12864 MenhirLib.EngineTypes.endp = _endpos__1_;
12865 MenhirLib.EngineTypes.next = _menhir_stack;
12866 };
12867 } = _menhir_stack in
12868 let _1 : 'tv_list_incl_ = Obj.magic _1 in
12869 let _startpos = _startpos__1_ in
12870 let _endpos = _endpos__2_ in
12871 let _v : (
12872 # 146 "parser_cocci_menhir.mly"
12873 ((string,string) Common.either list)
12874 # 12875 "parser_cocci_menhir.ml"
12875 ) =
12876 # 253 "parser_cocci_menhir.mly"
12877 ( _1 )
12878 # 12879 "parser_cocci_menhir.ml"
12879 in
12880 _menhir_env.MenhirLib.EngineTypes.stack <- {
12881 MenhirLib.EngineTypes.state = _menhir_s;
12882 MenhirLib.EngineTypes.semv = Obj.repr _v;
12883 MenhirLib.EngineTypes.startp = _startpos;
12884 MenhirLib.EngineTypes.endp = _endpos;
12885 MenhirLib.EngineTypes.next = _menhir_stack;
12886 });
12887 (fun _menhir_env ->
12888 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12889 let {
12890 MenhirLib.EngineTypes.startp = _startpos__2_;
12891 MenhirLib.EngineTypes.endp = _endpos__2_;
12892 MenhirLib.EngineTypes.next = {
12893 MenhirLib.EngineTypes.state = _menhir_s;
12894 MenhirLib.EngineTypes.semv = _1;
12895 MenhirLib.EngineTypes.startp = _startpos__1_;
12896 MenhirLib.EngineTypes.endp = _endpos__1_;
12897 MenhirLib.EngineTypes.next = _menhir_stack;
12898 };
12899 } = _menhir_stack in
12900 let _1 : 'tv_list_incl_ = Obj.magic _1 in
12901 let _startpos = _startpos__1_ in
12902 let _endpos = _endpos__2_ in
12903 let _v : (
12904 # 146 "parser_cocci_menhir.mly"
12905 ((string,string) Common.either list)
12906 # 12907 "parser_cocci_menhir.ml"
12907 ) =
12908 # 254 "parser_cocci_menhir.mly"
12909 ( _1 )
12910 # 12911 "parser_cocci_menhir.ml"
12911 in
12912 _menhir_env.MenhirLib.EngineTypes.stack <- {
12913 MenhirLib.EngineTypes.state = _menhir_s;
12914 MenhirLib.EngineTypes.semv = Obj.repr _v;
12915 MenhirLib.EngineTypes.startp = _startpos;
12916 MenhirLib.EngineTypes.endp = _endpos;
12917 MenhirLib.EngineTypes.next = _menhir_stack;
12918 });
12919 (fun _menhir_env ->
12920 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12921 let {
12922 MenhirLib.EngineTypes.state = _menhir_s;
12923 MenhirLib.EngineTypes.semv = _1;
12924 MenhirLib.EngineTypes.startp = _startpos__1_;
12925 MenhirLib.EngineTypes.endp = _endpos__1_;
12926 MenhirLib.EngineTypes.next = _menhir_stack;
12927 } = _menhir_stack in
12928 let _1 : (
12929 # 80 "parser_cocci_menhir.mly"
12930 (string * Data.clt)
12931 # 12932 "parser_cocci_menhir.ml"
12932 ) = Obj.magic _1 in
12933 let _startpos = _startpos__1_ in
12934 let _endpos = _endpos__1_ in
12935 let _v : 'tv_includes =
12936 # 638 "parser_cocci_menhir.mly"
12937 ( Ast0.wrap
12938 (Ast0.Include(P.clt2mcode "#include" (P.drop_aft (P.id2clt _1)),
12939 let (arity,ln,lln,offset,col,strbef,straft,pos) =
12940 P.id2clt _1 in
12941 let clt =
12942 (arity,ln,lln,offset,0,strbef,straft,pos) in
12943 P.clt2mcode
12944 (Ast.Local (Parse_aux.str2inc (P.id2name _1)))
12945 (P.drop_bef clt))) )
12946 # 12947 "parser_cocci_menhir.ml"
12947 in
12948 _menhir_env.MenhirLib.EngineTypes.stack <- {
12949 MenhirLib.EngineTypes.state = _menhir_s;
12950 MenhirLib.EngineTypes.semv = Obj.repr _v;
12951 MenhirLib.EngineTypes.startp = _startpos;
12952 MenhirLib.EngineTypes.endp = _endpos;
12953 MenhirLib.EngineTypes.next = _menhir_stack;
12954 });
12955 (fun _menhir_env ->
12956 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12957 let {
12958 MenhirLib.EngineTypes.state = _menhir_s;
12959 MenhirLib.EngineTypes.semv = _1;
12960 MenhirLib.EngineTypes.startp = _startpos__1_;
12961 MenhirLib.EngineTypes.endp = _endpos__1_;
12962 MenhirLib.EngineTypes.next = _menhir_stack;
12963 } = _menhir_stack in
12964 let _1 : (
12965 # 80 "parser_cocci_menhir.mly"
12966 (string * Data.clt)
12967 # 12968 "parser_cocci_menhir.ml"
12968 ) = Obj.magic _1 in
12969 let _startpos = _startpos__1_ in
12970 let _endpos = _endpos__1_ in
12971 let _v : 'tv_includes =
12972 # 648 "parser_cocci_menhir.mly"
12973 ( Ast0.wrap
12974 (Ast0.Include(P.clt2mcode "#include" (P.drop_aft (P.id2clt _1)),
12975 let (arity,ln,lln,offset,col,strbef,straft,pos) =
12976 P.id2clt _1 in
12977 let clt =
12978 (arity,ln,lln,offset,0,strbef,straft,pos) in
12979 P.clt2mcode
12980 (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1)))
12981 (P.drop_bef clt))) )
12982 # 12983 "parser_cocci_menhir.ml"
12983 in
12984 _menhir_env.MenhirLib.EngineTypes.stack <- {
12985 MenhirLib.EngineTypes.state = _menhir_s;
12986 MenhirLib.EngineTypes.semv = Obj.repr _v;
12987 MenhirLib.EngineTypes.startp = _startpos;
12988 MenhirLib.EngineTypes.endp = _endpos;
12989 MenhirLib.EngineTypes.next = _menhir_stack;
12990 });
12991 (fun _menhir_env ->
12992 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12993 let {
12994 MenhirLib.EngineTypes.startp = _startpos__3_;
12995 MenhirLib.EngineTypes.endp = _endpos__3_;
12996 MenhirLib.EngineTypes.next = {
12997 MenhirLib.EngineTypes.semv = t;
12998 MenhirLib.EngineTypes.startp = _startpos_t_;
12999 MenhirLib.EngineTypes.endp = _endpos_t_;
13000 MenhirLib.EngineTypes.next = {
13001 MenhirLib.EngineTypes.state = _menhir_s;
13002 MenhirLib.EngineTypes.semv = d;
13003 MenhirLib.EngineTypes.startp = _startpos_d_;
13004 MenhirLib.EngineTypes.endp = _endpos_d_;
13005 MenhirLib.EngineTypes.next = _menhir_stack;
13006 };
13007 };
13008 } = _menhir_stack in
13009 let t : 'tv_ctype = Obj.magic t in
13010 let d : 'tv_defineop = Obj.magic d in
13011 let _startpos = _startpos_d_ in
13012 let _endpos = _endpos__3_ in
13013 let _v : 'tv_includes =
13014 # 658 "parser_cocci_menhir.mly"
13015 ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in
13016 d (Ast0.wrap(Ast0.DOTS([ty]))) )
13017 # 13018 "parser_cocci_menhir.ml"
13018 in
13019 _menhir_env.MenhirLib.EngineTypes.stack <- {
13020 MenhirLib.EngineTypes.state = _menhir_s;
13021 MenhirLib.EngineTypes.semv = Obj.repr _v;
13022 MenhirLib.EngineTypes.startp = _startpos;
13023 MenhirLib.EngineTypes.endp = _endpos;
13024 MenhirLib.EngineTypes.next = _menhir_stack;
13025 });
13026 (fun _menhir_env ->
13027 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13028 let {
13029 MenhirLib.EngineTypes.startp = _startpos__3_;
13030 MenhirLib.EngineTypes.endp = _endpos__3_;
13031 MenhirLib.EngineTypes.next = {
13032 MenhirLib.EngineTypes.semv = b;
13033 MenhirLib.EngineTypes.startp = _startpos_b_;
13034 MenhirLib.EngineTypes.endp = _endpos_b_;
13035 MenhirLib.EngineTypes.next = {
13036 MenhirLib.EngineTypes.state = _menhir_s;
13037 MenhirLib.EngineTypes.semv = _1;
13038 MenhirLib.EngineTypes.startp = _startpos__1_;
13039 MenhirLib.EngineTypes.endp = _endpos__1_;
13040 MenhirLib.EngineTypes.next = _menhir_stack;
13041 };
13042 };
13043 } = _menhir_stack in
13044 let b : 'tv_toplevel_seq_start_toplevel_after_dots_ = Obj.magic b in
13045 let _1 : 'tv_defineop = Obj.magic _1 in
13046 let _startpos = _startpos__1_ in
13047 let _endpos = _endpos__3_ in
13048 let _v : 'tv_includes =
13049 # 661 "parser_cocci_menhir.mly"
13050 ( let body =
13051 match b with
13052 [e] ->
13053 (match Ast0.unwrap e with
13054 Ast0.Exp(e1) ->
13055 [Ast0.rewrap e (Ast0.TopExp(Ast0.set_arg_exp (e1)))]
13056 | _ -> b)
13057 | _ -> b in
13058 _1 (Ast0.wrap(Ast0.DOTS(body))) )
13059 # 13060 "parser_cocci_menhir.ml"
13060 in
13061 _menhir_env.MenhirLib.EngineTypes.stack <- {
13062 MenhirLib.EngineTypes.state = _menhir_s;
13063 MenhirLib.EngineTypes.semv = Obj.repr _v;
13064 MenhirLib.EngineTypes.startp = _startpos;
13065 MenhirLib.EngineTypes.endp = _endpos;
13066 MenhirLib.EngineTypes.next = _menhir_stack;
13067 });
13068 (fun _menhir_env ->
13069 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13070 let {
13071 MenhirLib.EngineTypes.state = _menhir_s;
13072 MenhirLib.EngineTypes.semv = _1;
13073 MenhirLib.EngineTypes.startp = _startpos__1_;
13074 MenhirLib.EngineTypes.endp = _endpos__1_;
13075 MenhirLib.EngineTypes.next = _menhir_stack;
13076 } = _menhir_stack in
13077 let _1 : 'tv_eexpr = Obj.magic _1 in
13078 let _startpos = _startpos__1_ in
13079 let _endpos = _endpos__1_ in
13080 let _v : 'tv_initialize =
13081 # 1074 "parser_cocci_menhir.mly"
13082 ( Ast0.wrap(Ast0.InitExpr(_1)) )
13083 # 13084 "parser_cocci_menhir.ml"
13084 in
13085 _menhir_env.MenhirLib.EngineTypes.stack <- {
13086 MenhirLib.EngineTypes.state = _menhir_s;
13087 MenhirLib.EngineTypes.semv = Obj.repr _v;
13088 MenhirLib.EngineTypes.startp = _startpos;
13089 MenhirLib.EngineTypes.endp = _endpos;
13090 MenhirLib.EngineTypes.next = _menhir_stack;
13091 });
13092 (fun _menhir_env ->
13093 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13094 let {
13095 MenhirLib.EngineTypes.semv = _3;
13096 MenhirLib.EngineTypes.startp = _startpos__3_;
13097 MenhirLib.EngineTypes.endp = _endpos__3_;
13098 MenhirLib.EngineTypes.next = {
13099 MenhirLib.EngineTypes.semv = _2;
13100 MenhirLib.EngineTypes.startp = _startpos__2_;
13101 MenhirLib.EngineTypes.endp = _endpos__2_;
13102 MenhirLib.EngineTypes.next = {
13103 MenhirLib.EngineTypes.state = _menhir_s;
13104 MenhirLib.EngineTypes.semv = _1;
13105 MenhirLib.EngineTypes.startp = _startpos__1_;
13106 MenhirLib.EngineTypes.endp = _endpos__1_;
13107 MenhirLib.EngineTypes.next = _menhir_stack;
13108 };
13109 };
13110 } = _menhir_stack in
13111 let _3 : (
13112 # 101 "parser_cocci_menhir.mly"
13113 (Data.clt)
13114 # 13115 "parser_cocci_menhir.ml"
13115 ) = Obj.magic _3 in
13116 let _2 : 'tv_initialize_list = Obj.magic _2 in
13117 let _1 : (
13118 # 101 "parser_cocci_menhir.mly"
13119 (Data.clt)
13120 # 13121 "parser_cocci_menhir.ml"
13121 ) = Obj.magic _1 in
13122 let _startpos = _startpos__1_ in
13123 let _endpos = _endpos__3_ in
13124 let _v : 'tv_initialize =
13125 # 1076 "parser_cocci_menhir.mly"
13126 ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
13127 # 13128 "parser_cocci_menhir.ml"
13128 in
13129 _menhir_env.MenhirLib.EngineTypes.stack <- {
13130 MenhirLib.EngineTypes.state = _menhir_s;
13131 MenhirLib.EngineTypes.semv = Obj.repr _v;
13132 MenhirLib.EngineTypes.startp = _startpos;
13133 MenhirLib.EngineTypes.endp = _endpos;
13134 MenhirLib.EngineTypes.next = _menhir_stack;
13135 });
13136 (fun _menhir_env ->
13137 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13138 let {
13139 MenhirLib.EngineTypes.semv = _2;
13140 MenhirLib.EngineTypes.startp = _startpos__2_;
13141 MenhirLib.EngineTypes.endp = _endpos__2_;
13142 MenhirLib.EngineTypes.next = {
13143 MenhirLib.EngineTypes.state = _menhir_s;
13144 MenhirLib.EngineTypes.semv = _1;
13145 MenhirLib.EngineTypes.startp = _startpos__1_;
13146 MenhirLib.EngineTypes.endp = _endpos__1_;
13147 MenhirLib.EngineTypes.next = _menhir_stack;
13148 };
13149 } = _menhir_stack in
13150 let _2 : (
13151 # 101 "parser_cocci_menhir.mly"
13152 (Data.clt)
13153 # 13154 "parser_cocci_menhir.ml"
13154 ) = Obj.magic _2 in
13155 let _1 : (
13156 # 101 "parser_cocci_menhir.mly"
13157 (Data.clt)
13158 # 13159 "parser_cocci_menhir.ml"
13159 ) = Obj.magic _1 in
13160 let _startpos = _startpos__1_ in
13161 let _endpos = _endpos__2_ in
13162 let _v : 'tv_initialize =
13163 # 1078 "parser_cocci_menhir.mly"
13164 ( Ast0.wrap
13165 (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
13166 P.clt2mcode "}" _2)) )
13167 # 13168 "parser_cocci_menhir.ml"
13168 in
13169 _menhir_env.MenhirLib.EngineTypes.stack <- {
13170 MenhirLib.EngineTypes.state = _menhir_s;
13171 MenhirLib.EngineTypes.semv = Obj.repr _v;
13172 MenhirLib.EngineTypes.startp = _startpos;
13173 MenhirLib.EngineTypes.endp = _endpos;
13174 MenhirLib.EngineTypes.next = _menhir_stack;
13175 });
13176 (fun _menhir_env ->
13177 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13178 let {
13179 MenhirLib.EngineTypes.state = _menhir_s;
13180 MenhirLib.EngineTypes.semv = _1;
13181 MenhirLib.EngineTypes.startp = _startpos__1_;
13182 MenhirLib.EngineTypes.endp = _endpos__1_;
13183 MenhirLib.EngineTypes.next = _menhir_stack;
13184 } = _menhir_stack in
13185 let _1 : (
13186 # 65 "parser_cocci_menhir.mly"
13187 (Parse_aux.info)
13188 # 13189 "parser_cocci_menhir.ml"
13189 ) = Obj.magic _1 in
13190 let _startpos = _startpos__1_ in
13191 let _endpos = _endpos__1_ in
13192 let _v : 'tv_initialize =
13193 # 1082 "parser_cocci_menhir.mly"
13194 (let (nm,pure,clt) = _1 in
13195 Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
13196 # 13197 "parser_cocci_menhir.ml"
13197 in
13198 _menhir_env.MenhirLib.EngineTypes.stack <- {
13199 MenhirLib.EngineTypes.state = _menhir_s;
13200 MenhirLib.EngineTypes.semv = Obj.repr _v;
13201 MenhirLib.EngineTypes.startp = _startpos;
13202 MenhirLib.EngineTypes.endp = _endpos;
13203 MenhirLib.EngineTypes.next = _menhir_stack;
13204 });
13205 (fun _menhir_env ->
13206 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13207 let {
13208 MenhirLib.EngineTypes.state = _menhir_s;
13209 MenhirLib.EngineTypes.semv = _1;
13210 MenhirLib.EngineTypes.startp = _startpos__1_;
13211 MenhirLib.EngineTypes.endp = _endpos__1_;
13212 MenhirLib.EngineTypes.next = _menhir_stack;
13213 } = _menhir_stack in
13214 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
13215 let _startpos = _startpos__1_ in
13216 let _endpos = _endpos__1_ in
13217 let _v : 'tv_initialize2 =
13218 # 1088 "parser_cocci_menhir.mly"
13219 ( Ast0.wrap(Ast0.InitExpr(_1)) )
13220 # 13221 "parser_cocci_menhir.ml"
13221 in
13222 _menhir_env.MenhirLib.EngineTypes.stack <- {
13223 MenhirLib.EngineTypes.state = _menhir_s;
13224 MenhirLib.EngineTypes.semv = Obj.repr _v;
13225 MenhirLib.EngineTypes.startp = _startpos;
13226 MenhirLib.EngineTypes.endp = _endpos;
13227 MenhirLib.EngineTypes.next = _menhir_stack;
13228 });
13229 (fun _menhir_env ->
13230 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13231 let {
13232 MenhirLib.EngineTypes.semv = _3;
13233 MenhirLib.EngineTypes.startp = _startpos__3_;
13234 MenhirLib.EngineTypes.endp = _endpos__3_;
13235 MenhirLib.EngineTypes.next = {
13236 MenhirLib.EngineTypes.semv = _2;
13237 MenhirLib.EngineTypes.startp = _startpos__2_;
13238 MenhirLib.EngineTypes.endp = _endpos__2_;
13239 MenhirLib.EngineTypes.next = {
13240 MenhirLib.EngineTypes.state = _menhir_s;
13241 MenhirLib.EngineTypes.semv = _1;
13242 MenhirLib.EngineTypes.startp = _startpos__1_;
13243 MenhirLib.EngineTypes.endp = _endpos__1_;
13244 MenhirLib.EngineTypes.next = _menhir_stack;
13245 };
13246 };
13247 } = _menhir_stack in
13248 let _3 : (
13249 # 101 "parser_cocci_menhir.mly"
13250 (Data.clt)
13251 # 13252 "parser_cocci_menhir.ml"
13252 ) = Obj.magic _3 in
13253 let _2 : 'tv_initialize_list = Obj.magic _2 in
13254 let _1 : (
13255 # 101 "parser_cocci_menhir.mly"
13256 (Data.clt)
13257 # 13258 "parser_cocci_menhir.ml"
13258 ) = Obj.magic _1 in
13259 let _startpos = _startpos__1_ in
13260 let _endpos = _endpos__3_ in
13261 let _v : 'tv_initialize2 =
13262 # 1090 "parser_cocci_menhir.mly"
13263 ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
13264 # 13265 "parser_cocci_menhir.ml"
13265 in
13266 _menhir_env.MenhirLib.EngineTypes.stack <- {
13267 MenhirLib.EngineTypes.state = _menhir_s;
13268 MenhirLib.EngineTypes.semv = Obj.repr _v;
13269 MenhirLib.EngineTypes.startp = _startpos;
13270 MenhirLib.EngineTypes.endp = _endpos;
13271 MenhirLib.EngineTypes.next = _menhir_stack;
13272 });
13273 (fun _menhir_env ->
13274 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13275 let {
13276 MenhirLib.EngineTypes.semv = _2;
13277 MenhirLib.EngineTypes.startp = _startpos__2_;
13278 MenhirLib.EngineTypes.endp = _endpos__2_;
13279 MenhirLib.EngineTypes.next = {
13280 MenhirLib.EngineTypes.state = _menhir_s;
13281 MenhirLib.EngineTypes.semv = _1;
13282 MenhirLib.EngineTypes.startp = _startpos__1_;
13283 MenhirLib.EngineTypes.endp = _endpos__1_;
13284 MenhirLib.EngineTypes.next = _menhir_stack;
13285 };
13286 } = _menhir_stack in
13287 let _2 : (
13288 # 101 "parser_cocci_menhir.mly"
13289 (Data.clt)
13290 # 13291 "parser_cocci_menhir.ml"
13291 ) = Obj.magic _2 in
13292 let _1 : (
13293 # 101 "parser_cocci_menhir.mly"
13294 (Data.clt)
13295 # 13296 "parser_cocci_menhir.ml"
13296 ) = Obj.magic _1 in
13297 let _startpos = _startpos__1_ in
13298 let _endpos = _endpos__2_ in
13299 let _v : 'tv_initialize2 =
13300 # 1092 "parser_cocci_menhir.mly"
13301 ( Ast0.wrap
13302 (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
13303 P.clt2mcode "}" _2)) )
13304 # 13305 "parser_cocci_menhir.ml"
13305 in
13306 _menhir_env.MenhirLib.EngineTypes.stack <- {
13307 MenhirLib.EngineTypes.state = _menhir_s;
13308 MenhirLib.EngineTypes.semv = Obj.repr _v;
13309 MenhirLib.EngineTypes.startp = _startpos;
13310 MenhirLib.EngineTypes.endp = _endpos;
13311 MenhirLib.EngineTypes.next = _menhir_stack;
13312 });
13313 (fun _menhir_env ->
13314 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13315 let {
13316 MenhirLib.EngineTypes.semv = _3;
13317 MenhirLib.EngineTypes.startp = _startpos__3_;
13318 MenhirLib.EngineTypes.endp = _endpos__3_;
13319 MenhirLib.EngineTypes.next = {
13320 MenhirLib.EngineTypes.semv = _2;
13321 MenhirLib.EngineTypes.startp = _startpos__2_;
13322 MenhirLib.EngineTypes.endp = _endpos__2_;
13323 MenhirLib.EngineTypes.next = {
13324 MenhirLib.EngineTypes.state = _menhir_s;
13325 MenhirLib.EngineTypes.semv = _1;
13326 MenhirLib.EngineTypes.startp = _startpos__1_;
13327 MenhirLib.EngineTypes.endp = _endpos__1_;
13328 MenhirLib.EngineTypes.next = _menhir_stack;
13329 };
13330 };
13331 } = _menhir_stack in
13332 let _3 : 'tv_initialize2 = Obj.magic _3 in
13333 let _2 : (
13334 # 107 "parser_cocci_menhir.mly"
13335 (Data.clt)
13336 # 13337 "parser_cocci_menhir.ml"
13337 ) = Obj.magic _2 in
13338 let _1 : 'tv_list_designator_ = Obj.magic _1 in
13339 let _startpos = _startpos__1_ in
13340 let _endpos = _endpos__3_ in
13341 let _v : 'tv_initialize2 =
13342 # 1097 "parser_cocci_menhir.mly"
13343 ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
13344 # 13345 "parser_cocci_menhir.ml"
13345 in
13346 _menhir_env.MenhirLib.EngineTypes.stack <- {
13347 MenhirLib.EngineTypes.state = _menhir_s;
13348 MenhirLib.EngineTypes.semv = Obj.repr _v;
13349 MenhirLib.EngineTypes.startp = _startpos;
13350 MenhirLib.EngineTypes.endp = _endpos;
13351 MenhirLib.EngineTypes.next = _menhir_stack;
13352 });
13353 (fun _menhir_env ->
13354 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13355 let {
13356 MenhirLib.EngineTypes.semv = _3;
13357 MenhirLib.EngineTypes.startp = _startpos__3_;
13358 MenhirLib.EngineTypes.endp = _endpos__3_;
13359 MenhirLib.EngineTypes.next = {
13360 MenhirLib.EngineTypes.semv = _2;
13361 MenhirLib.EngineTypes.startp = _startpos__2_;
13362 MenhirLib.EngineTypes.endp = _endpos__2_;
13363 MenhirLib.EngineTypes.next = {
13364 MenhirLib.EngineTypes.state = _menhir_s;
13365 MenhirLib.EngineTypes.semv = _1;
13366 MenhirLib.EngineTypes.startp = _startpos__1_;
13367 MenhirLib.EngineTypes.endp = _endpos__1_;
13368 MenhirLib.EngineTypes.next = _menhir_stack;
13369 };
13370 };
13371 } = _menhir_stack in
13372 let _3 : 'tv_initialize2 = Obj.magic _3 in
13373 let _2 : (
13374 # 76 "parser_cocci_menhir.mly"
13375 (Data.clt)
13376 # 13377 "parser_cocci_menhir.ml"
13377 ) = Obj.magic _2 in
13378 let _1 : 'tv_ident = Obj.magic _1 in
13379 let _startpos = _startpos__1_ in
13380 let _endpos = _endpos__3_ in
13381 let _v : 'tv_initialize2 =
13382 # 1099 "parser_cocci_menhir.mly"
13383 ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
13384 # 13385 "parser_cocci_menhir.ml"
13385 in
13386 _menhir_env.MenhirLib.EngineTypes.stack <- {
13387 MenhirLib.EngineTypes.state = _menhir_s;
13388 MenhirLib.EngineTypes.semv = Obj.repr _v;
13389 MenhirLib.EngineTypes.startp = _startpos;
13390 MenhirLib.EngineTypes.endp = _endpos;
13391 MenhirLib.EngineTypes.next = _menhir_stack;
13392 });
13393 (fun _menhir_env ->
13394 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13395 let {
13396 MenhirLib.EngineTypes.state = _menhir_s;
13397 MenhirLib.EngineTypes.semv = _1;
13398 MenhirLib.EngineTypes.startp = _startpos__1_;
13399 MenhirLib.EngineTypes.endp = _endpos__1_;
13400 MenhirLib.EngineTypes.next = _menhir_stack;
13401 } = _menhir_stack in
13402 let _1 : 'tv_initialize_list_start = Obj.magic _1 in
13403 let _startpos = _startpos__1_ in
13404 let _endpos = _endpos__1_ in
13405 let _v : 'tv_initialize_list =
13406 # 1111 "parser_cocci_menhir.mly"
13407 ( Ast0.wrap(Ast0.DOTS(_1)) )
13408 # 13409 "parser_cocci_menhir.ml"
13409 in
13410 _menhir_env.MenhirLib.EngineTypes.stack <- {
13411 MenhirLib.EngineTypes.state = _menhir_s;
13412 MenhirLib.EngineTypes.semv = Obj.repr _v;
13413 MenhirLib.EngineTypes.startp = _startpos;
13414 MenhirLib.EngineTypes.endp = _endpos;
13415 MenhirLib.EngineTypes.next = _menhir_stack;
13416 });
13417 (fun _menhir_env ->
13418 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13419 let {
13420 MenhirLib.EngineTypes.semv = _2;
13421 MenhirLib.EngineTypes.startp = _startpos__2_;
13422 MenhirLib.EngineTypes.endp = _endpos__2_;
13423 MenhirLib.EngineTypes.next = {
13424 MenhirLib.EngineTypes.state = _menhir_s;
13425 MenhirLib.EngineTypes.semv = _1;
13426 MenhirLib.EngineTypes.startp = _startpos__1_;
13427 MenhirLib.EngineTypes.endp = _endpos__1_;
13428 MenhirLib.EngineTypes.next = _menhir_stack;
13429 };
13430 } = _menhir_stack in
13431 let _2 : (
13432 # 107 "parser_cocci_menhir.mly"
13433 (Data.clt)
13434 # 13435 "parser_cocci_menhir.ml"
13435 ) = Obj.magic _2 in
13436 let _1 : 'tv_initialize2 = Obj.magic _1 in
13437 let _startpos = _startpos__1_ in
13438 let _endpos = _endpos__2_ in
13439 let _v : 'tv_initialize_list_start =
13440 # 1114 "parser_cocci_menhir.mly"
13441 ( [_1;Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))] )
13442 # 13443 "parser_cocci_menhir.ml"
13443 in
13444 _menhir_env.MenhirLib.EngineTypes.stack <- {
13445 MenhirLib.EngineTypes.state = _menhir_s;
13446 MenhirLib.EngineTypes.semv = Obj.repr _v;
13447 MenhirLib.EngineTypes.startp = _startpos;
13448 MenhirLib.EngineTypes.endp = _endpos;
13449 MenhirLib.EngineTypes.next = _menhir_stack;
13450 });
13451 (fun _menhir_env ->
13452 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13453 let {
13454 MenhirLib.EngineTypes.semv = _3;
13455 MenhirLib.EngineTypes.startp = _startpos__3_;
13456 MenhirLib.EngineTypes.endp = _endpos__3_;
13457 MenhirLib.EngineTypes.next = {
13458 MenhirLib.EngineTypes.semv = _2;
13459 MenhirLib.EngineTypes.startp = _startpos__2_;
13460 MenhirLib.EngineTypes.endp = _endpos__2_;
13461 MenhirLib.EngineTypes.next = {
13462 MenhirLib.EngineTypes.state = _menhir_s;
13463 MenhirLib.EngineTypes.semv = _1;
13464 MenhirLib.EngineTypes.startp = _startpos__1_;
13465 MenhirLib.EngineTypes.endp = _endpos__1_;
13466 MenhirLib.EngineTypes.next = _menhir_stack;
13467 };
13468 };
13469 } = _menhir_stack in
13470 let _3 : 'tv_initialize_list_start = Obj.magic _3 in
13471 let _2 : (
13472 # 107 "parser_cocci_menhir.mly"
13473 (Data.clt)
13474 # 13475 "parser_cocci_menhir.ml"
13475 ) = Obj.magic _2 in
13476 let _1 : 'tv_initialize2 = Obj.magic _1 in
13477 let _startpos = _startpos__1_ in
13478 let _endpos = _endpos__3_ in
13479 let _v : 'tv_initialize_list_start =
13480 # 1116 "parser_cocci_menhir.mly"
13481 ( _1::Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))::_3 )
13482 # 13483 "parser_cocci_menhir.ml"
13483 in
13484 _menhir_env.MenhirLib.EngineTypes.stack <- {
13485 MenhirLib.EngineTypes.state = _menhir_s;
13486 MenhirLib.EngineTypes.semv = Obj.repr _v;
13487 MenhirLib.EngineTypes.startp = _startpos;
13488 MenhirLib.EngineTypes.endp = _endpos;
13489 MenhirLib.EngineTypes.next = _menhir_stack;
13490 });
13491 (fun _menhir_env ->
13492 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13493 let {
13494 MenhirLib.EngineTypes.semv = r;
13495 MenhirLib.EngineTypes.startp = _startpos_r_;
13496 MenhirLib.EngineTypes.endp = _endpos_r_;
13497 MenhirLib.EngineTypes.next = {
13498 MenhirLib.EngineTypes.state = _menhir_s;
13499 MenhirLib.EngineTypes.semv = d;
13500 MenhirLib.EngineTypes.startp = _startpos_d_;
13501 MenhirLib.EngineTypes.endp = _endpos_d_;
13502 MenhirLib.EngineTypes.next = _menhir_stack;
13503 };
13504 } = _menhir_stack in
13505 let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
13506 let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
13507 let _startpos = _startpos_d_ in
13508 let _endpos = _endpos_r_ in
13509 let _v : 'tv_initialize_list_start =
13510 # 1119 "parser_cocci_menhir.mly"
13511 ( (P.mkidots "..." d)::
13512 (List.concat(List.map (function x -> x (P.mkidots "...")) r)) )
13513 # 13514 "parser_cocci_menhir.ml"
13514 in
13515 _menhir_env.MenhirLib.EngineTypes.stack <- {
13516 MenhirLib.EngineTypes.state = _menhir_s;
13517 MenhirLib.EngineTypes.semv = Obj.repr _v;
13518 MenhirLib.EngineTypes.startp = _startpos;
13519 MenhirLib.EngineTypes.endp = _endpos;
13520 MenhirLib.EngineTypes.next = _menhir_stack;
13521 });
13522 (fun _menhir_env ->
13523 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13524 let {
13525 MenhirLib.EngineTypes.state = _menhir_s;
13526 MenhirLib.EngineTypes.startp = _startpos__1_;
13527 MenhirLib.EngineTypes.endp = _endpos__1_;
13528 MenhirLib.EngineTypes.next = _menhir_stack;
13529 } = _menhir_stack in
13530 let _startpos = _startpos__1_ in
13531 let _endpos = _endpos__1_ in
13532 let _v : 'tv_invalid =
13533 # 1212 "parser_cocci_menhir.mly"
13534 ( raise (Semantic_cocci.Semantic "not matchable") )
13535 # 13536 "parser_cocci_menhir.ml"
13536 in
13537 _menhir_env.MenhirLib.EngineTypes.stack <- {
13538 MenhirLib.EngineTypes.state = _menhir_s;
13539 MenhirLib.EngineTypes.semv = Obj.repr _v;
13540 MenhirLib.EngineTypes.startp = _startpos;
13541 MenhirLib.EngineTypes.endp = _endpos;
13542 MenhirLib.EngineTypes.next = _menhir_stack;
13543 });
13544 (fun _menhir_env ->
13545 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13546 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
13547 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
13548 let _endpos = _startpos in
13549 let _v : 'tv_is_expression =
13550 # 249 "parser_cocci_menhir.mly"
13551 ( false )
13552 # 13553 "parser_cocci_menhir.ml"
13553 in
13554 _menhir_env.MenhirLib.EngineTypes.stack <- {
13555 MenhirLib.EngineTypes.state = _menhir_s;
13556 MenhirLib.EngineTypes.semv = Obj.repr _v;
13557 MenhirLib.EngineTypes.startp = _startpos;
13558 MenhirLib.EngineTypes.endp = _endpos;
13559 MenhirLib.EngineTypes.next = _menhir_stack;
13560 });
13561 (fun _menhir_env ->
13562 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13563 let {
13564 MenhirLib.EngineTypes.state = _menhir_s;
13565 MenhirLib.EngineTypes.startp = _startpos__1_;
13566 MenhirLib.EngineTypes.endp = _endpos__1_;
13567 MenhirLib.EngineTypes.next = _menhir_stack;
13568 } = _menhir_stack in
13569 let _startpos = _startpos__1_ in
13570 let _endpos = _endpos__1_ in
13571 let _v : 'tv_is_expression =
13572 # 250 "parser_cocci_menhir.mly"
13573 ( true )
13574 # 13575 "parser_cocci_menhir.ml"
13575 in
13576 _menhir_env.MenhirLib.EngineTypes.stack <- {
13577 MenhirLib.EngineTypes.state = _menhir_s;
13578 MenhirLib.EngineTypes.semv = Obj.repr _v;
13579 MenhirLib.EngineTypes.startp = _startpos;
13580 MenhirLib.EngineTypes.endp = _endpos;
13581 MenhirLib.EngineTypes.next = _menhir_stack;
13582 });
13583 (fun _menhir_env ->
13584 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13585 let {
13586 MenhirLib.EngineTypes.semv = t;
13587 MenhirLib.EngineTypes.startp = _startpos_t_;
13588 MenhirLib.EngineTypes.endp = _endpos_t_;
13589 MenhirLib.EngineTypes.next = {
13590 MenhirLib.EngineTypes.state = _menhir_s;
13591 MenhirLib.EngineTypes.startp = _startpos__1_;
13592 MenhirLib.EngineTypes.endp = _endpos__1_;
13593 MenhirLib.EngineTypes.next = _menhir_stack;
13594 };
13595 } = _menhir_stack in
13596 let t : 'tv_ctype = Obj.magic t in
13597 let _startpos = _startpos__1_ in
13598 let _endpos = _endpos_t_ in
13599 let _v : 'tv_iso_ctype_ =
13600 # 1860 "parser_cocci_menhir.mly"
13601 ( Common.Left t )
13602 # 13603 "parser_cocci_menhir.ml"
13603 in
13604 _menhir_env.MenhirLib.EngineTypes.stack <- {
13605 MenhirLib.EngineTypes.state = _menhir_s;
13606 MenhirLib.EngineTypes.semv = Obj.repr _v;
13607 MenhirLib.EngineTypes.startp = _startpos;
13608 MenhirLib.EngineTypes.endp = _endpos;
13609 MenhirLib.EngineTypes.next = _menhir_stack;
13610 });
13611 (fun _menhir_env ->
13612 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13613 let {
13614 MenhirLib.EngineTypes.semv = t;
13615 MenhirLib.EngineTypes.startp = _startpos_t_;
13616 MenhirLib.EngineTypes.endp = _endpos_t_;
13617 MenhirLib.EngineTypes.next = {
13618 MenhirLib.EngineTypes.state = _menhir_s;
13619 MenhirLib.EngineTypes.startp = _startpos__1_;
13620 MenhirLib.EngineTypes.endp = _endpos__1_;
13621 MenhirLib.EngineTypes.next = _menhir_stack;
13622 };
13623 } = _menhir_stack in
13624 let t : 'tv_ctype = Obj.magic t in
13625 let _startpos = _startpos__1_ in
13626 let _endpos = _endpos_t_ in
13627 let _v : 'tv_iso_ctype_ =
13628 # 1861 "parser_cocci_menhir.mly"
13629 ( Common.Right t )
13630 # 13631 "parser_cocci_menhir.ml"
13631 in
13632 _menhir_env.MenhirLib.EngineTypes.stack <- {
13633 MenhirLib.EngineTypes.state = _menhir_s;
13634 MenhirLib.EngineTypes.semv = Obj.repr _v;
13635 MenhirLib.EngineTypes.startp = _startpos;
13636 MenhirLib.EngineTypes.endp = _endpos;
13637 MenhirLib.EngineTypes.next = _menhir_stack;
13638 });
13639 (fun _menhir_env ->
13640 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13641 let {
13642 MenhirLib.EngineTypes.semv = t;
13643 MenhirLib.EngineTypes.startp = _startpos_t_;
13644 MenhirLib.EngineTypes.endp = _endpos_t_;
13645 MenhirLib.EngineTypes.next = {
13646 MenhirLib.EngineTypes.state = _menhir_s;
13647 MenhirLib.EngineTypes.startp = _startpos__1_;
13648 MenhirLib.EngineTypes.endp = _endpos__1_;
13649 MenhirLib.EngineTypes.next = _menhir_stack;
13650 };
13651 } = _menhir_stack in
13652 let t : 'tv_decl_var = Obj.magic t in
13653 let _startpos = _startpos__1_ in
13654 let _endpos = _endpos_t_ in
13655 let _v : 'tv_iso_decl_var_ =
13656 # 1860 "parser_cocci_menhir.mly"
13657 ( Common.Left t )
13658 # 13659 "parser_cocci_menhir.ml"
13659 in
13660 _menhir_env.MenhirLib.EngineTypes.stack <- {
13661 MenhirLib.EngineTypes.state = _menhir_s;
13662 MenhirLib.EngineTypes.semv = Obj.repr _v;
13663 MenhirLib.EngineTypes.startp = _startpos;
13664 MenhirLib.EngineTypes.endp = _endpos;
13665 MenhirLib.EngineTypes.next = _menhir_stack;
13666 });
13667 (fun _menhir_env ->
13668 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13669 let {
13670 MenhirLib.EngineTypes.semv = t;
13671 MenhirLib.EngineTypes.startp = _startpos_t_;
13672 MenhirLib.EngineTypes.endp = _endpos_t_;
13673 MenhirLib.EngineTypes.next = {
13674 MenhirLib.EngineTypes.state = _menhir_s;
13675 MenhirLib.EngineTypes.startp = _startpos__1_;
13676 MenhirLib.EngineTypes.endp = _endpos__1_;
13677 MenhirLib.EngineTypes.next = _menhir_stack;
13678 };
13679 } = _menhir_stack in
13680 let t : 'tv_decl_var = Obj.magic t in
13681 let _startpos = _startpos__1_ in
13682 let _endpos = _endpos_t_ in
13683 let _v : 'tv_iso_decl_var_ =
13684 # 1861 "parser_cocci_menhir.mly"
13685 ( Common.Right t )
13686 # 13687 "parser_cocci_menhir.ml"
13687 in
13688 _menhir_env.MenhirLib.EngineTypes.stack <- {
13689 MenhirLib.EngineTypes.state = _menhir_s;
13690 MenhirLib.EngineTypes.semv = Obj.repr _v;
13691 MenhirLib.EngineTypes.startp = _startpos;
13692 MenhirLib.EngineTypes.endp = _endpos;
13693 MenhirLib.EngineTypes.next = _menhir_stack;
13694 });
13695 (fun _menhir_env ->
13696 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13697 let {
13698 MenhirLib.EngineTypes.semv = t;
13699 MenhirLib.EngineTypes.startp = _startpos_t_;
13700 MenhirLib.EngineTypes.endp = _endpos_t_;
13701 MenhirLib.EngineTypes.next = {
13702 MenhirLib.EngineTypes.state = _menhir_s;
13703 MenhirLib.EngineTypes.startp = _startpos__1_;
13704 MenhirLib.EngineTypes.endp = _endpos__1_;
13705 MenhirLib.EngineTypes.next = _menhir_stack;
13706 };
13707 } = _menhir_stack in
13708 let t : 'tv_dexpr = Obj.magic t in
13709 let _startpos = _startpos__1_ in
13710 let _endpos = _endpos_t_ in
13711 let _v : 'tv_iso_dexpr_ =
13712 # 1860 "parser_cocci_menhir.mly"
13713 ( Common.Left t )
13714 # 13715 "parser_cocci_menhir.ml"
13715 in
13716 _menhir_env.MenhirLib.EngineTypes.stack <- {
13717 MenhirLib.EngineTypes.state = _menhir_s;
13718 MenhirLib.EngineTypes.semv = Obj.repr _v;
13719 MenhirLib.EngineTypes.startp = _startpos;
13720 MenhirLib.EngineTypes.endp = _endpos;
13721 MenhirLib.EngineTypes.next = _menhir_stack;
13722 });
13723 (fun _menhir_env ->
13724 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13725 let {
13726 MenhirLib.EngineTypes.semv = t;
13727 MenhirLib.EngineTypes.startp = _startpos_t_;
13728 MenhirLib.EngineTypes.endp = _endpos_t_;
13729 MenhirLib.EngineTypes.next = {
13730 MenhirLib.EngineTypes.state = _menhir_s;
13731 MenhirLib.EngineTypes.startp = _startpos__1_;
13732 MenhirLib.EngineTypes.endp = _endpos__1_;
13733 MenhirLib.EngineTypes.next = _menhir_stack;
13734 };
13735 } = _menhir_stack in
13736 let t : 'tv_dexpr = Obj.magic t in
13737 let _startpos = _startpos__1_ in
13738 let _endpos = _endpos_t_ in
13739 let _v : 'tv_iso_dexpr_ =
13740 # 1861 "parser_cocci_menhir.mly"
13741 ( Common.Right t )
13742 # 13743 "parser_cocci_menhir.ml"
13743 in
13744 _menhir_env.MenhirLib.EngineTypes.stack <- {
13745 MenhirLib.EngineTypes.state = _menhir_s;
13746 MenhirLib.EngineTypes.semv = Obj.repr _v;
13747 MenhirLib.EngineTypes.startp = _startpos;
13748 MenhirLib.EngineTypes.endp = _endpos;
13749 MenhirLib.EngineTypes.next = _menhir_stack;
13750 });
13751 (fun _menhir_env ->
13752 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13753 let {
13754 MenhirLib.EngineTypes.semv = t;
13755 MenhirLib.EngineTypes.startp = _startpos_t_;
13756 MenhirLib.EngineTypes.endp = _endpos_t_;
13757 MenhirLib.EngineTypes.next = {
13758 MenhirLib.EngineTypes.state = _menhir_s;
13759 MenhirLib.EngineTypes.startp = _startpos__1_;
13760 MenhirLib.EngineTypes.endp = _endpos__1_;
13761 MenhirLib.EngineTypes.next = _menhir_stack;
13762 };
13763 } = _menhir_stack in
13764 let t : 'tv_nest_start = Obj.magic t in
13765 let _startpos = _startpos__1_ in
13766 let _endpos = _endpos_t_ in
13767 let _v : 'tv_iso_nest_start_ =
13768 # 1860 "parser_cocci_menhir.mly"
13769 ( Common.Left t )
13770 # 13771 "parser_cocci_menhir.ml"
13771 in
13772 _menhir_env.MenhirLib.EngineTypes.stack <- {
13773 MenhirLib.EngineTypes.state = _menhir_s;
13774 MenhirLib.EngineTypes.semv = Obj.repr _v;
13775 MenhirLib.EngineTypes.startp = _startpos;
13776 MenhirLib.EngineTypes.endp = _endpos;
13777 MenhirLib.EngineTypes.next = _menhir_stack;
13778 });
13779 (fun _menhir_env ->
13780 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13781 let {
13782 MenhirLib.EngineTypes.semv = t;
13783 MenhirLib.EngineTypes.startp = _startpos_t_;
13784 MenhirLib.EngineTypes.endp = _endpos_t_;
13785 MenhirLib.EngineTypes.next = {
13786 MenhirLib.EngineTypes.state = _menhir_s;
13787 MenhirLib.EngineTypes.startp = _startpos__1_;
13788 MenhirLib.EngineTypes.endp = _endpos__1_;
13789 MenhirLib.EngineTypes.next = _menhir_stack;
13790 };
13791 } = _menhir_stack in
13792 let t : 'tv_nest_start = Obj.magic t in
13793 let _startpos = _startpos__1_ in
13794 let _endpos = _endpos_t_ in
13795 let _v : 'tv_iso_nest_start_ =
13796 # 1861 "parser_cocci_menhir.mly"
13797 ( Common.Right t )
13798 # 13799 "parser_cocci_menhir.ml"
13799 in
13800 _menhir_env.MenhirLib.EngineTypes.stack <- {
13801 MenhirLib.EngineTypes.state = _menhir_s;
13802 MenhirLib.EngineTypes.semv = Obj.repr _v;
13803 MenhirLib.EngineTypes.startp = _startpos;
13804 MenhirLib.EngineTypes.endp = _endpos;
13805 MenhirLib.EngineTypes.next = _menhir_stack;
13806 });
13807 (fun _menhir_env ->
13808 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13809 let {
13810 MenhirLib.EngineTypes.semv = t;
13811 MenhirLib.EngineTypes.startp = _startpos_t_;
13812 MenhirLib.EngineTypes.endp = _endpos_t_;
13813 MenhirLib.EngineTypes.next = {
13814 MenhirLib.EngineTypes.state = _menhir_s;
13815 MenhirLib.EngineTypes.startp = _startpos__1_;
13816 MenhirLib.EngineTypes.endp = _endpos__1_;
13817 MenhirLib.EngineTypes.next = _menhir_stack;
13818 };
13819 } = _menhir_stack in
13820 let t : 'tv_single_statement = Obj.magic t in
13821 let _startpos = _startpos__1_ in
13822 let _endpos = _endpos_t_ in
13823 let _v : 'tv_iso_single_statement_ =
13824 # 1860 "parser_cocci_menhir.mly"
13825 ( Common.Left t )
13826 # 13827 "parser_cocci_menhir.ml"
13827 in
13828 _menhir_env.MenhirLib.EngineTypes.stack <- {
13829 MenhirLib.EngineTypes.state = _menhir_s;
13830 MenhirLib.EngineTypes.semv = Obj.repr _v;
13831 MenhirLib.EngineTypes.startp = _startpos;
13832 MenhirLib.EngineTypes.endp = _endpos;
13833 MenhirLib.EngineTypes.next = _menhir_stack;
13834 });
13835 (fun _menhir_env ->
13836 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13837 let {
13838 MenhirLib.EngineTypes.semv = t;
13839 MenhirLib.EngineTypes.startp = _startpos_t_;
13840 MenhirLib.EngineTypes.endp = _endpos_t_;
13841 MenhirLib.EngineTypes.next = {
13842 MenhirLib.EngineTypes.state = _menhir_s;
13843 MenhirLib.EngineTypes.startp = _startpos__1_;
13844 MenhirLib.EngineTypes.endp = _endpos__1_;
13845 MenhirLib.EngineTypes.next = _menhir_stack;
13846 };
13847 } = _menhir_stack in
13848 let t : 'tv_single_statement = Obj.magic t in
13849 let _startpos = _startpos__1_ in
13850 let _endpos = _endpos_t_ in
13851 let _v : 'tv_iso_single_statement_ =
13852 # 1861 "parser_cocci_menhir.mly"
13853 ( Common.Right t )
13854 # 13855 "parser_cocci_menhir.ml"
13855 in
13856 _menhir_env.MenhirLib.EngineTypes.stack <- {
13857 MenhirLib.EngineTypes.state = _menhir_s;
13858 MenhirLib.EngineTypes.semv = Obj.repr _v;
13859 MenhirLib.EngineTypes.startp = _startpos;
13860 MenhirLib.EngineTypes.endp = _endpos;
13861 MenhirLib.EngineTypes.next = _menhir_stack;
13862 });
13863 (fun _menhir_env ->
13864 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13865 let {
13866 MenhirLib.EngineTypes.startp = _startpos__4_;
13867 MenhirLib.EngineTypes.endp = _endpos__4_;
13868 MenhirLib.EngineTypes.next = {
13869 MenhirLib.EngineTypes.semv = el;
13870 MenhirLib.EngineTypes.startp = _startpos_el_;
13871 MenhirLib.EngineTypes.endp = _endpos_el_;
13872 MenhirLib.EngineTypes.next = {
13873 MenhirLib.EngineTypes.semv = e1;
13874 MenhirLib.EngineTypes.startp = _startpos_e1_;
13875 MenhirLib.EngineTypes.endp = _endpos_e1_;
13876 MenhirLib.EngineTypes.next = {
13877 MenhirLib.EngineTypes.state = _menhir_s;
13878 MenhirLib.EngineTypes.startp = _startpos__1_;
13879 MenhirLib.EngineTypes.endp = _endpos__1_;
13880 MenhirLib.EngineTypes.next = _menhir_stack;
13881 };
13882 };
13883 };
13884 } = _menhir_stack in
13885 let el : 'tv_list_iso_dexpr__ = Obj.magic el in
13886 let e1 : 'tv_dexpr = Obj.magic e1 in
13887 let _startpos = _startpos__1_ in
13888 let _endpos = _endpos__4_ in
13889 let _v : (
13890 # 162 "parser_cocci_menhir.mly"
13891 (Ast0_cocci.anything list list)
13892 # 13893 "parser_cocci_menhir.ml"
13893 ) =
13894 # 1832 "parser_cocci_menhir.mly"
13895 ( P.iso_adjust (function x -> Ast0.ExprTag x) e1 el )
13896 # 13897 "parser_cocci_menhir.ml"
13897 in
13898 _menhir_env.MenhirLib.EngineTypes.stack <- {
13899 MenhirLib.EngineTypes.state = _menhir_s;
13900 MenhirLib.EngineTypes.semv = Obj.repr _v;
13901 MenhirLib.EngineTypes.startp = _startpos;
13902 MenhirLib.EngineTypes.endp = _endpos;
13903 MenhirLib.EngineTypes.next = _menhir_stack;
13904 });
13905 (fun _menhir_env ->
13906 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13907 let {
13908 MenhirLib.EngineTypes.startp = _startpos__4_;
13909 MenhirLib.EngineTypes.endp = _endpos__4_;
13910 MenhirLib.EngineTypes.next = {
13911 MenhirLib.EngineTypes.semv = el;
13912 MenhirLib.EngineTypes.startp = _startpos_el_;
13913 MenhirLib.EngineTypes.endp = _endpos_el_;
13914 MenhirLib.EngineTypes.next = {
13915 MenhirLib.EngineTypes.semv = e1;
13916 MenhirLib.EngineTypes.startp = _startpos_e1_;
13917 MenhirLib.EngineTypes.endp = _endpos_e1_;
13918 MenhirLib.EngineTypes.next = {
13919 MenhirLib.EngineTypes.state = _menhir_s;
13920 MenhirLib.EngineTypes.startp = _startpos__1_;
13921 MenhirLib.EngineTypes.endp = _endpos__1_;
13922 MenhirLib.EngineTypes.next = _menhir_stack;
13923 };
13924 };
13925 };
13926 } = _menhir_stack in
13927 let el : 'tv_list_iso_dexpr__ = Obj.magic el in
13928 let e1 : 'tv_dexpr = Obj.magic e1 in
13929 let _startpos = _startpos__1_ in
13930 let _endpos = _endpos__4_ in
13931 let _v : (
13932 # 162 "parser_cocci_menhir.mly"
13933 (Ast0_cocci.anything list list)
13934 # 13935 "parser_cocci_menhir.ml"
13935 ) =
13936 # 1834 "parser_cocci_menhir.mly"
13937 ( P.iso_adjust (function x -> Ast0.ArgExprTag x) e1 el )
13938 # 13939 "parser_cocci_menhir.ml"
13939 in
13940 _menhir_env.MenhirLib.EngineTypes.stack <- {
13941 MenhirLib.EngineTypes.state = _menhir_s;
13942 MenhirLib.EngineTypes.semv = Obj.repr _v;
13943 MenhirLib.EngineTypes.startp = _startpos;
13944 MenhirLib.EngineTypes.endp = _endpos;
13945 MenhirLib.EngineTypes.next = _menhir_stack;
13946 });
13947 (fun _menhir_env ->
13948 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13949 let {
13950 MenhirLib.EngineTypes.startp = _startpos__4_;
13951 MenhirLib.EngineTypes.endp = _endpos__4_;
13952 MenhirLib.EngineTypes.next = {
13953 MenhirLib.EngineTypes.semv = el;
13954 MenhirLib.EngineTypes.startp = _startpos_el_;
13955 MenhirLib.EngineTypes.endp = _endpos_el_;
13956 MenhirLib.EngineTypes.next = {
13957 MenhirLib.EngineTypes.semv = e1;
13958 MenhirLib.EngineTypes.startp = _startpos_e1_;
13959 MenhirLib.EngineTypes.endp = _endpos_e1_;
13960 MenhirLib.EngineTypes.next = {
13961 MenhirLib.EngineTypes.state = _menhir_s;
13962 MenhirLib.EngineTypes.startp = _startpos__1_;
13963 MenhirLib.EngineTypes.endp = _endpos__1_;
13964 MenhirLib.EngineTypes.next = _menhir_stack;
13965 };
13966 };
13967 };
13968 } = _menhir_stack in
13969 let el : 'tv_list_iso_dexpr__ = Obj.magic el in
13970 let e1 : 'tv_dexpr = Obj.magic e1 in
13971 let _startpos = _startpos__1_ in
13972 let _endpos = _endpos__4_ in
13973 let _v : (
13974 # 162 "parser_cocci_menhir.mly"
13975 (Ast0_cocci.anything list list)
13976 # 13977 "parser_cocci_menhir.ml"
13977 ) =
13978 # 1836 "parser_cocci_menhir.mly"
13979 ( P.iso_adjust (function x -> Ast0.TestExprTag x) e1 el )
13980 # 13981 "parser_cocci_menhir.ml"
13981 in
13982 _menhir_env.MenhirLib.EngineTypes.stack <- {
13983 MenhirLib.EngineTypes.state = _menhir_s;
13984 MenhirLib.EngineTypes.semv = Obj.repr _v;
13985 MenhirLib.EngineTypes.startp = _startpos;
13986 MenhirLib.EngineTypes.endp = _endpos;
13987 MenhirLib.EngineTypes.next = _menhir_stack;
13988 });
13989 (fun _menhir_env ->
13990 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13991 let {
13992 MenhirLib.EngineTypes.startp = _startpos__4_;
13993 MenhirLib.EngineTypes.endp = _endpos__4_;
13994 MenhirLib.EngineTypes.next = {
13995 MenhirLib.EngineTypes.semv = sl;
13996 MenhirLib.EngineTypes.startp = _startpos_sl_;
13997 MenhirLib.EngineTypes.endp = _endpos_sl_;
13998 MenhirLib.EngineTypes.next = {
13999 MenhirLib.EngineTypes.semv = s1;
14000 MenhirLib.EngineTypes.startp = _startpos_s1_;
14001 MenhirLib.EngineTypes.endp = _endpos_s1_;
14002 MenhirLib.EngineTypes.next = {
14003 MenhirLib.EngineTypes.state = _menhir_s;
14004 MenhirLib.EngineTypes.startp = _startpos__1_;
14005 MenhirLib.EngineTypes.endp = _endpos__1_;
14006 MenhirLib.EngineTypes.next = _menhir_stack;
14007 };
14008 };
14009 };
14010 } = _menhir_stack in
14011 let sl : 'tv_list_iso_single_statement__ = Obj.magic sl in
14012 let s1 : 'tv_single_statement = Obj.magic s1 in
14013 let _startpos = _startpos__1_ in
14014 let _endpos = _endpos__4_ in
14015 let _v : (
14016 # 162 "parser_cocci_menhir.mly"
14017 (Ast0_cocci.anything list list)
14018 # 14019 "parser_cocci_menhir.ml"
14019 ) =
14020 # 1838 "parser_cocci_menhir.mly"
14021 ( P.iso_adjust (function x -> Ast0.StmtTag x) s1 sl )
14022 # 14023 "parser_cocci_menhir.ml"
14023 in
14024 _menhir_env.MenhirLib.EngineTypes.stack <- {
14025 MenhirLib.EngineTypes.state = _menhir_s;
14026 MenhirLib.EngineTypes.semv = Obj.repr _v;
14027 MenhirLib.EngineTypes.startp = _startpos;
14028 MenhirLib.EngineTypes.endp = _endpos;
14029 MenhirLib.EngineTypes.next = _menhir_stack;
14030 });
14031 (fun _menhir_env ->
14032 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14033 let {
14034 MenhirLib.EngineTypes.startp = _startpos__4_;
14035 MenhirLib.EngineTypes.endp = _endpos__4_;
14036 MenhirLib.EngineTypes.next = {
14037 MenhirLib.EngineTypes.semv = tl;
14038 MenhirLib.EngineTypes.startp = _startpos_tl_;
14039 MenhirLib.EngineTypes.endp = _endpos_tl_;
14040 MenhirLib.EngineTypes.next = {
14041 MenhirLib.EngineTypes.semv = t1;
14042 MenhirLib.EngineTypes.startp = _startpos_t1_;
14043 MenhirLib.EngineTypes.endp = _endpos_t1_;
14044 MenhirLib.EngineTypes.next = {
14045 MenhirLib.EngineTypes.state = _menhir_s;
14046 MenhirLib.EngineTypes.startp = _startpos__1_;
14047 MenhirLib.EngineTypes.endp = _endpos__1_;
14048 MenhirLib.EngineTypes.next = _menhir_stack;
14049 };
14050 };
14051 };
14052 } = _menhir_stack in
14053 let tl : 'tv_list_iso_ctype__ = Obj.magic tl in
14054 let t1 : 'tv_ctype = Obj.magic t1 in
14055 let _startpos = _startpos__1_ in
14056 let _endpos = _endpos__4_ in
14057 let _v : (
14058 # 162 "parser_cocci_menhir.mly"
14059 (Ast0_cocci.anything list list)
14060 # 14061 "parser_cocci_menhir.ml"
14061 ) =
14062 # 1840 "parser_cocci_menhir.mly"
14063 ( P.iso_adjust (function x -> Ast0.TypeCTag x) t1 tl )
14064 # 14065 "parser_cocci_menhir.ml"
14065 in
14066 _menhir_env.MenhirLib.EngineTypes.stack <- {
14067 MenhirLib.EngineTypes.state = _menhir_s;
14068 MenhirLib.EngineTypes.semv = Obj.repr _v;
14069 MenhirLib.EngineTypes.startp = _startpos;
14070 MenhirLib.EngineTypes.endp = _endpos;
14071 MenhirLib.EngineTypes.next = _menhir_stack;
14072 });
14073 (fun _menhir_env ->
14074 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14075 let {
14076 MenhirLib.EngineTypes.startp = _startpos__4_;
14077 MenhirLib.EngineTypes.endp = _endpos__4_;
14078 MenhirLib.EngineTypes.next = {
14079 MenhirLib.EngineTypes.semv = el;
14080 MenhirLib.EngineTypes.startp = _startpos_el_;
14081 MenhirLib.EngineTypes.endp = _endpos_el_;
14082 MenhirLib.EngineTypes.next = {
14083 MenhirLib.EngineTypes.semv = e1;
14084 MenhirLib.EngineTypes.startp = _startpos_e1_;
14085 MenhirLib.EngineTypes.endp = _endpos_e1_;
14086 MenhirLib.EngineTypes.next = {
14087 MenhirLib.EngineTypes.state = _menhir_s;
14088 MenhirLib.EngineTypes.startp = _startpos__1_;
14089 MenhirLib.EngineTypes.endp = _endpos__1_;
14090 MenhirLib.EngineTypes.next = _menhir_stack;
14091 };
14092 };
14093 };
14094 } = _menhir_stack in
14095 let el : 'tv_list_iso_nest_start__ = Obj.magic el in
14096 let e1 : 'tv_nest_start = Obj.magic e1 in
14097 let _startpos = _startpos__1_ in
14098 let _endpos = _endpos__4_ in
14099 let _v : (
14100 # 162 "parser_cocci_menhir.mly"
14101 (Ast0_cocci.anything list list)
14102 # 14103 "parser_cocci_menhir.ml"
14103 ) =
14104 # 1842 "parser_cocci_menhir.mly"
14105 ( P.iso_adjust (function x -> Ast0.DotsStmtTag x) e1 el )
14106 # 14107 "parser_cocci_menhir.ml"
14107 in
14108 _menhir_env.MenhirLib.EngineTypes.stack <- {
14109 MenhirLib.EngineTypes.state = _menhir_s;
14110 MenhirLib.EngineTypes.semv = Obj.repr _v;
14111 MenhirLib.EngineTypes.startp = _startpos;
14112 MenhirLib.EngineTypes.endp = _endpos;
14113 MenhirLib.EngineTypes.next = _menhir_stack;
14114 });
14115 (fun _menhir_env ->
14116 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14117 let {
14118 MenhirLib.EngineTypes.startp = _startpos__4_;
14119 MenhirLib.EngineTypes.endp = _endpos__4_;
14120 MenhirLib.EngineTypes.next = {
14121 MenhirLib.EngineTypes.semv = dl;
14122 MenhirLib.EngineTypes.startp = _startpos_dl_;
14123 MenhirLib.EngineTypes.endp = _endpos_dl_;
14124 MenhirLib.EngineTypes.next = {
14125 MenhirLib.EngineTypes.semv = d1;
14126 MenhirLib.EngineTypes.startp = _startpos_d1_;
14127 MenhirLib.EngineTypes.endp = _endpos_d1_;
14128 MenhirLib.EngineTypes.next = {
14129 MenhirLib.EngineTypes.state = _menhir_s;
14130 MenhirLib.EngineTypes.startp = _startpos__1_;
14131 MenhirLib.EngineTypes.endp = _endpos__1_;
14132 MenhirLib.EngineTypes.next = _menhir_stack;
14133 };
14134 };
14135 };
14136 } = _menhir_stack in
14137 let dl : 'tv_list_iso_decl_var__ = Obj.magic dl in
14138 let d1 : 'tv_decl_var = Obj.magic d1 in
14139 let _startpos = _startpos__1_ in
14140 let _endpos = _endpos__4_ in
14141 let _v : (
14142 # 162 "parser_cocci_menhir.mly"
14143 (Ast0_cocci.anything list list)
14144 # 14145 "parser_cocci_menhir.ml"
14145 ) =
14146 # 1844 "parser_cocci_menhir.mly"
14147 ( let check_one = function
14148 [x] -> x
14149 | _ ->
14150 raise
14151 (Semantic_cocci.Semantic
14152 "only one variable per declaration in an isomorphism rule") in
14153 let d1 = check_one d1 in
14154 let dl =
14155 List.map
14156 (function
14157 Common.Left x -> Common.Left(check_one x)
14158 | Common.Right x -> Common.Right(check_one x))
14159 dl in
14160 P.iso_adjust (function x -> Ast0.DeclTag x) d1 dl )
14161 # 14162 "parser_cocci_menhir.ml"
14162 in
14163 _menhir_env.MenhirLib.EngineTypes.stack <- {
14164 MenhirLib.EngineTypes.state = _menhir_s;
14165 MenhirLib.EngineTypes.semv = Obj.repr _v;
14166 MenhirLib.EngineTypes.startp = _startpos;
14167 MenhirLib.EngineTypes.endp = _endpos;
14168 MenhirLib.EngineTypes.next = _menhir_stack;
14169 });
14170 (fun _menhir_env ->
14171 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14172 let {
14173 MenhirLib.EngineTypes.state = _menhir_s;
14174 MenhirLib.EngineTypes.semv = m;
14175 MenhirLib.EngineTypes.startp = _startpos_m_;
14176 MenhirLib.EngineTypes.endp = _endpos_m_;
14177 MenhirLib.EngineTypes.next = _menhir_stack;
14178 } = _menhir_stack in
14179 let m : 'tv_metadec = Obj.magic m in
14180 let _startpos = _startpos_m_ in
14181 let _endpos = _endpos_m_ in
14182 let _v : (
14183 # 165 "parser_cocci_menhir.mly"
14184 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
14185 # 14186 "parser_cocci_menhir.ml"
14186 ) =
14187 # 182 "parser_cocci_menhir.mly"
14188 ( m "" )
14189 # 14190 "parser_cocci_menhir.ml"
14190 in
14191 _menhir_env.MenhirLib.EngineTypes.stack <- {
14192 MenhirLib.EngineTypes.state = _menhir_s;
14193 MenhirLib.EngineTypes.semv = Obj.repr _v;
14194 MenhirLib.EngineTypes.startp = _startpos;
14195 MenhirLib.EngineTypes.endp = _endpos;
14196 MenhirLib.EngineTypes.next = _menhir_stack;
14197 });
14198 (fun _menhir_env ->
14199 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14200 let {
14201 MenhirLib.EngineTypes.startp = _startpos__2_;
14202 MenhirLib.EngineTypes.endp = _endpos__2_;
14203 MenhirLib.EngineTypes.next = {
14204 MenhirLib.EngineTypes.state = _menhir_s;
14205 MenhirLib.EngineTypes.semv = nm;
14206 MenhirLib.EngineTypes.startp = _startpos_nm_;
14207 MenhirLib.EngineTypes.endp = _endpos_nm_;
14208 MenhirLib.EngineTypes.next = _menhir_stack;
14209 };
14210 } = _menhir_stack in
14211 let nm : 'tv_pure_ident = Obj.magic nm in
14212 let _startpos = _startpos_nm_ in
14213 let _endpos = _endpos__2_ in
14214 let _v : (
14215 # 149 "parser_cocci_menhir.mly"
14216 (Ast_cocci.rulename)
14217 # 14218 "parser_cocci_menhir.ml"
14218 ) =
14219 # 197 "parser_cocci_menhir.mly"
14220 ( P.make_iso_rule_name_result (P.id2name nm) )
14221 # 14222 "parser_cocci_menhir.ml"
14222 in
14223 _menhir_env.MenhirLib.EngineTypes.stack <- {
14224 MenhirLib.EngineTypes.state = _menhir_s;
14225 MenhirLib.EngineTypes.semv = Obj.repr _v;
14226 MenhirLib.EngineTypes.startp = _startpos;
14227 MenhirLib.EngineTypes.endp = _endpos;
14228 MenhirLib.EngineTypes.next = _menhir_stack;
14229 });
14230 (fun _menhir_env ->
14231 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14232 let {
14233 MenhirLib.EngineTypes.state = _menhir_s;
14234 MenhirLib.EngineTypes.semv = _1;
14235 MenhirLib.EngineTypes.startp = _startpos__1_;
14236 MenhirLib.EngineTypes.endp = _endpos__1_;
14237 MenhirLib.EngineTypes.next = _menhir_stack;
14238 } = _menhir_stack in
14239 let _1 : (
14240 # 59 "parser_cocci_menhir.mly"
14241 (string * Data.clt)
14242 # 14243 "parser_cocci_menhir.ml"
14243 ) = Obj.magic _1 in
14244 let _startpos = _startpos__1_ in
14245 let _endpos = _endpos__1_ in
14246 let _v : 'tv_iter_ident =
14247 # 1523 "parser_cocci_menhir.mly"
14248 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
14249 # 14250 "parser_cocci_menhir.ml"
14250 in
14251 _menhir_env.MenhirLib.EngineTypes.stack <- {
14252 MenhirLib.EngineTypes.state = _menhir_s;
14253 MenhirLib.EngineTypes.semv = Obj.repr _v;
14254 MenhirLib.EngineTypes.startp = _startpos;
14255 MenhirLib.EngineTypes.endp = _endpos;
14256 MenhirLib.EngineTypes.next = _menhir_stack;
14257 });
14258 (fun _menhir_env ->
14259 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14260 let {
14261 MenhirLib.EngineTypes.state = _menhir_s;
14262 MenhirLib.EngineTypes.semv = _1;
14263 MenhirLib.EngineTypes.startp = _startpos__1_;
14264 MenhirLib.EngineTypes.endp = _endpos__1_;
14265 MenhirLib.EngineTypes.next = _menhir_stack;
14266 } = _menhir_stack in
14267 let _1 : (
14268 # 62 "parser_cocci_menhir.mly"
14269 (Parse_aux.idinfo)
14270 # 14271 "parser_cocci_menhir.ml"
14271 ) = Obj.magic _1 in
14272 let _startpos = _startpos__1_ in
14273 let _endpos = _endpos__1_ in
14274 let _v : 'tv_iter_ident =
14275 # 1525 "parser_cocci_menhir.mly"
14276 ( let (nm,constraints,pure,clt) = _1 in
14277 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
14278 # 14279 "parser_cocci_menhir.ml"
14279 in
14280 _menhir_env.MenhirLib.EngineTypes.stack <- {
14281 MenhirLib.EngineTypes.state = _menhir_s;
14282 MenhirLib.EngineTypes.semv = Obj.repr _v;
14283 MenhirLib.EngineTypes.startp = _startpos;
14284 MenhirLib.EngineTypes.endp = _endpos;
14285 MenhirLib.EngineTypes.next = _menhir_stack;
14286 });
14287 (fun _menhir_env ->
14288 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14289 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14290 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14291 let _endpos = _startpos in
14292 let _v : 'tv_list_TMul_ =
14293 # 114 "standard.mly"
14294 ( [] )
14295 # 14296 "parser_cocci_menhir.ml"
14296 in
14297 _menhir_env.MenhirLib.EngineTypes.stack <- {
14298 MenhirLib.EngineTypes.state = _menhir_s;
14299 MenhirLib.EngineTypes.semv = Obj.repr _v;
14300 MenhirLib.EngineTypes.startp = _startpos;
14301 MenhirLib.EngineTypes.endp = _endpos;
14302 MenhirLib.EngineTypes.next = _menhir_stack;
14303 });
14304 (fun _menhir_env ->
14305 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14306 let {
14307 MenhirLib.EngineTypes.semv = xs;
14308 MenhirLib.EngineTypes.startp = _startpos_xs_;
14309 MenhirLib.EngineTypes.endp = _endpos_xs_;
14310 MenhirLib.EngineTypes.next = {
14311 MenhirLib.EngineTypes.state = _menhir_s;
14312 MenhirLib.EngineTypes.semv = x;
14313 MenhirLib.EngineTypes.startp = _startpos_x_;
14314 MenhirLib.EngineTypes.endp = _endpos_x_;
14315 MenhirLib.EngineTypes.next = _menhir_stack;
14316 };
14317 } = _menhir_stack in
14318 let xs : 'tv_list_TMul_ = Obj.magic xs in
14319 let x : (
14320 # 99 "parser_cocci_menhir.mly"
14321 (Data.clt)
14322 # 14323 "parser_cocci_menhir.ml"
14323 ) = Obj.magic x in
14324 let _startpos = _startpos_x_ in
14325 let _endpos = _endpos_xs_ in
14326 let _v : 'tv_list_TMul_ =
14327 # 116 "standard.mly"
14328 ( x :: xs )
14329 # 14330 "parser_cocci_menhir.ml"
14330 in
14331 _menhir_env.MenhirLib.EngineTypes.stack <- {
14332 MenhirLib.EngineTypes.state = _menhir_s;
14333 MenhirLib.EngineTypes.semv = Obj.repr _v;
14334 MenhirLib.EngineTypes.startp = _startpos;
14335 MenhirLib.EngineTypes.endp = _endpos;
14336 MenhirLib.EngineTypes.next = _menhir_stack;
14337 });
14338 (fun _menhir_env ->
14339 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14340 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14341 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14342 let _endpos = _startpos in
14343 let _v : 'tv_list_array_dec_ =
14344 # 114 "standard.mly"
14345 ( [] )
14346 # 14347 "parser_cocci_menhir.ml"
14347 in
14348 _menhir_env.MenhirLib.EngineTypes.stack <- {
14349 MenhirLib.EngineTypes.state = _menhir_s;
14350 MenhirLib.EngineTypes.semv = Obj.repr _v;
14351 MenhirLib.EngineTypes.startp = _startpos;
14352 MenhirLib.EngineTypes.endp = _endpos;
14353 MenhirLib.EngineTypes.next = _menhir_stack;
14354 });
14355 (fun _menhir_env ->
14356 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14357 let {
14358 MenhirLib.EngineTypes.semv = xs;
14359 MenhirLib.EngineTypes.startp = _startpos_xs_;
14360 MenhirLib.EngineTypes.endp = _endpos_xs_;
14361 MenhirLib.EngineTypes.next = {
14362 MenhirLib.EngineTypes.state = _menhir_s;
14363 MenhirLib.EngineTypes.semv = x;
14364 MenhirLib.EngineTypes.startp = _startpos_x_;
14365 MenhirLib.EngineTypes.endp = _endpos_x_;
14366 MenhirLib.EngineTypes.next = _menhir_stack;
14367 };
14368 } = _menhir_stack in
14369 let xs : 'tv_list_array_dec_ = Obj.magic xs in
14370 let x : 'tv_array_dec = Obj.magic x in
14371 let _startpos = _startpos_x_ in
14372 let _endpos = _endpos_xs_ in
14373 let _v : 'tv_list_array_dec_ =
14374 # 116 "standard.mly"
14375 ( x :: xs )
14376 # 14377 "parser_cocci_menhir.ml"
14377 in
14378 _menhir_env.MenhirLib.EngineTypes.stack <- {
14379 MenhirLib.EngineTypes.state = _menhir_s;
14380 MenhirLib.EngineTypes.semv = Obj.repr _v;
14381 MenhirLib.EngineTypes.startp = _startpos;
14382 MenhirLib.EngineTypes.endp = _endpos;
14383 MenhirLib.EngineTypes.next = _menhir_stack;
14384 });
14385 (fun _menhir_env ->
14386 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14387 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14388 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14389 let _endpos = _startpos in
14390 let _v : 'tv_list_case_line_ =
14391 # 114 "standard.mly"
14392 ( [] )
14393 # 14394 "parser_cocci_menhir.ml"
14394 in
14395 _menhir_env.MenhirLib.EngineTypes.stack <- {
14396 MenhirLib.EngineTypes.state = _menhir_s;
14397 MenhirLib.EngineTypes.semv = Obj.repr _v;
14398 MenhirLib.EngineTypes.startp = _startpos;
14399 MenhirLib.EngineTypes.endp = _endpos;
14400 MenhirLib.EngineTypes.next = _menhir_stack;
14401 });
14402 (fun _menhir_env ->
14403 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14404 let {
14405 MenhirLib.EngineTypes.semv = xs;
14406 MenhirLib.EngineTypes.startp = _startpos_xs_;
14407 MenhirLib.EngineTypes.endp = _endpos_xs_;
14408 MenhirLib.EngineTypes.next = {
14409 MenhirLib.EngineTypes.state = _menhir_s;
14410 MenhirLib.EngineTypes.semv = x;
14411 MenhirLib.EngineTypes.startp = _startpos_x_;
14412 MenhirLib.EngineTypes.endp = _endpos_x_;
14413 MenhirLib.EngineTypes.next = _menhir_stack;
14414 };
14415 } = _menhir_stack in
14416 let xs : 'tv_list_case_line_ = Obj.magic xs in
14417 let x : 'tv_case_line = Obj.magic x in
14418 let _startpos = _startpos_x_ in
14419 let _endpos = _endpos_xs_ in
14420 let _v : 'tv_list_case_line_ =
14421 # 116 "standard.mly"
14422 ( x :: xs )
14423 # 14424 "parser_cocci_menhir.ml"
14424 in
14425 _menhir_env.MenhirLib.EngineTypes.stack <- {
14426 MenhirLib.EngineTypes.state = _menhir_s;
14427 MenhirLib.EngineTypes.semv = Obj.repr _v;
14428 MenhirLib.EngineTypes.startp = _startpos;
14429 MenhirLib.EngineTypes.endp = _endpos;
14430 MenhirLib.EngineTypes.next = _menhir_stack;
14431 });
14432 (fun _menhir_env ->
14433 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14434 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14435 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14436 let _endpos = _startpos in
14437 let _v : 'tv_list_comma_decls_TEllipsis_decl__ =
14438 # 114 "standard.mly"
14439 ( [] )
14440 # 14441 "parser_cocci_menhir.ml"
14441 in
14442 _menhir_env.MenhirLib.EngineTypes.stack <- {
14443 MenhirLib.EngineTypes.state = _menhir_s;
14444 MenhirLib.EngineTypes.semv = Obj.repr _v;
14445 MenhirLib.EngineTypes.startp = _startpos;
14446 MenhirLib.EngineTypes.endp = _endpos;
14447 MenhirLib.EngineTypes.next = _menhir_stack;
14448 });
14449 (fun _menhir_env ->
14450 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14451 let {
14452 MenhirLib.EngineTypes.semv = xs;
14453 MenhirLib.EngineTypes.startp = _startpos_xs_;
14454 MenhirLib.EngineTypes.endp = _endpos_xs_;
14455 MenhirLib.EngineTypes.next = {
14456 MenhirLib.EngineTypes.state = _menhir_s;
14457 MenhirLib.EngineTypes.semv = x;
14458 MenhirLib.EngineTypes.startp = _startpos_x_;
14459 MenhirLib.EngineTypes.endp = _endpos_x_;
14460 MenhirLib.EngineTypes.next = _menhir_stack;
14461 };
14462 } = _menhir_stack in
14463 let xs : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic xs in
14464 let x : 'tv_comma_decls_TEllipsis_decl_ = Obj.magic x in
14465 let _startpos = _startpos_x_ in
14466 let _endpos = _endpos_xs_ in
14467 let _v : 'tv_list_comma_decls_TEllipsis_decl__ =
14468 # 116 "standard.mly"
14469 ( x :: xs )
14470 # 14471 "parser_cocci_menhir.ml"
14471 in
14472 _menhir_env.MenhirLib.EngineTypes.stack <- {
14473 MenhirLib.EngineTypes.state = _menhir_s;
14474 MenhirLib.EngineTypes.semv = Obj.repr _v;
14475 MenhirLib.EngineTypes.startp = _startpos;
14476 MenhirLib.EngineTypes.endp = _endpos;
14477 MenhirLib.EngineTypes.next = _menhir_stack;
14478 });
14479 (fun _menhir_env ->
14480 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14481 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14482 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14483 let _endpos = _startpos in
14484 let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ =
14485 # 114 "standard.mly"
14486 ( [] )
14487 # 14488 "parser_cocci_menhir.ml"
14488 in
14489 _menhir_env.MenhirLib.EngineTypes.stack <- {
14490 MenhirLib.EngineTypes.state = _menhir_s;
14491 MenhirLib.EngineTypes.semv = Obj.repr _v;
14492 MenhirLib.EngineTypes.startp = _startpos;
14493 MenhirLib.EngineTypes.endp = _endpos;
14494 MenhirLib.EngineTypes.next = _menhir_stack;
14495 });
14496 (fun _menhir_env ->
14497 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14498 let {
14499 MenhirLib.EngineTypes.semv = xs;
14500 MenhirLib.EngineTypes.startp = _startpos_xs_;
14501 MenhirLib.EngineTypes.endp = _endpos_xs_;
14502 MenhirLib.EngineTypes.next = {
14503 MenhirLib.EngineTypes.state = _menhir_s;
14504 MenhirLib.EngineTypes.semv = x;
14505 MenhirLib.EngineTypes.startp = _startpos_x_;
14506 MenhirLib.EngineTypes.endp = _endpos_x_;
14507 MenhirLib.EngineTypes.next = _menhir_stack;
14508 };
14509 } = _menhir_stack in
14510 let xs : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic xs in
14511 let x : 'tv_comma_decls_TEllipsis_name_opt_decl_ = Obj.magic x in
14512 let _startpos = _startpos_x_ in
14513 let _endpos = _endpos_xs_ in
14514 let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ =
14515 # 116 "standard.mly"
14516 ( x :: xs )
14517 # 14518 "parser_cocci_menhir.ml"
14518 in
14519 _menhir_env.MenhirLib.EngineTypes.stack <- {
14520 MenhirLib.EngineTypes.state = _menhir_s;
14521 MenhirLib.EngineTypes.semv = Obj.repr _v;
14522 MenhirLib.EngineTypes.startp = _startpos;
14523 MenhirLib.EngineTypes.endp = _endpos;
14524 MenhirLib.EngineTypes.next = _menhir_stack;
14525 });
14526 (fun _menhir_env ->
14527 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14528 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14529 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14530 let _endpos = _startpos in
14531 let _v : 'tv_list_designator_ =
14532 # 114 "standard.mly"
14533 ( [] )
14534 # 14535 "parser_cocci_menhir.ml"
14535 in
14536 _menhir_env.MenhirLib.EngineTypes.stack <- {
14537 MenhirLib.EngineTypes.state = _menhir_s;
14538 MenhirLib.EngineTypes.semv = Obj.repr _v;
14539 MenhirLib.EngineTypes.startp = _startpos;
14540 MenhirLib.EngineTypes.endp = _endpos;
14541 MenhirLib.EngineTypes.next = _menhir_stack;
14542 });
14543 (fun _menhir_env ->
14544 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14545 let {
14546 MenhirLib.EngineTypes.semv = xs;
14547 MenhirLib.EngineTypes.startp = _startpos_xs_;
14548 MenhirLib.EngineTypes.endp = _endpos_xs_;
14549 MenhirLib.EngineTypes.next = {
14550 MenhirLib.EngineTypes.state = _menhir_s;
14551 MenhirLib.EngineTypes.semv = x;
14552 MenhirLib.EngineTypes.startp = _startpos_x_;
14553 MenhirLib.EngineTypes.endp = _endpos_x_;
14554 MenhirLib.EngineTypes.next = _menhir_stack;
14555 };
14556 } = _menhir_stack in
14557 let xs : 'tv_list_designator_ = Obj.magic xs in
14558 let x : 'tv_designator = Obj.magic x in
14559 let _startpos = _startpos_x_ in
14560 let _endpos = _endpos_xs_ in
14561 let _v : 'tv_list_designator_ =
14562 # 116 "standard.mly"
14563 ( x :: xs )
14564 # 14565 "parser_cocci_menhir.ml"
14565 in
14566 _menhir_env.MenhirLib.EngineTypes.stack <- {
14567 MenhirLib.EngineTypes.state = _menhir_s;
14568 MenhirLib.EngineTypes.semv = Obj.repr _v;
14569 MenhirLib.EngineTypes.startp = _startpos;
14570 MenhirLib.EngineTypes.endp = _endpos;
14571 MenhirLib.EngineTypes.next = _menhir_stack;
14572 });
14573 (fun _menhir_env ->
14574 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14575 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14576 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14577 let _endpos = _startpos in
14578 let _v : 'tv_list_dp_comma_args_TEllipsis__ =
14579 # 114 "standard.mly"
14580 ( [] )
14581 # 14582 "parser_cocci_menhir.ml"
14582 in
14583 _menhir_env.MenhirLib.EngineTypes.stack <- {
14584 MenhirLib.EngineTypes.state = _menhir_s;
14585 MenhirLib.EngineTypes.semv = Obj.repr _v;
14586 MenhirLib.EngineTypes.startp = _startpos;
14587 MenhirLib.EngineTypes.endp = _endpos;
14588 MenhirLib.EngineTypes.next = _menhir_stack;
14589 });
14590 (fun _menhir_env ->
14591 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14592 let {
14593 MenhirLib.EngineTypes.semv = xs;
14594 MenhirLib.EngineTypes.startp = _startpos_xs_;
14595 MenhirLib.EngineTypes.endp = _endpos_xs_;
14596 MenhirLib.EngineTypes.next = {
14597 MenhirLib.EngineTypes.state = _menhir_s;
14598 MenhirLib.EngineTypes.semv = x;
14599 MenhirLib.EngineTypes.startp = _startpos_x_;
14600 MenhirLib.EngineTypes.endp = _endpos_x_;
14601 MenhirLib.EngineTypes.next = _menhir_stack;
14602 };
14603 } = _menhir_stack in
14604 let xs : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic xs in
14605 let x : 'tv_dp_comma_args_TEllipsis_ = Obj.magic x in
14606 let _startpos = _startpos_x_ in
14607 let _endpos = _endpos_xs_ in
14608 let _v : 'tv_list_dp_comma_args_TEllipsis__ =
14609 # 116 "standard.mly"
14610 ( x :: xs )
14611 # 14612 "parser_cocci_menhir.ml"
14612 in
14613 _menhir_env.MenhirLib.EngineTypes.stack <- {
14614 MenhirLib.EngineTypes.state = _menhir_s;
14615 MenhirLib.EngineTypes.semv = Obj.repr _v;
14616 MenhirLib.EngineTypes.startp = _startpos;
14617 MenhirLib.EngineTypes.endp = _endpos;
14618 MenhirLib.EngineTypes.next = _menhir_stack;
14619 });
14620 (fun _menhir_env ->
14621 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14622 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14623 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14624 let _endpos = _startpos in
14625 let _v : 'tv_list_incl_ =
14626 # 114 "standard.mly"
14627 ( [] )
14628 # 14629 "parser_cocci_menhir.ml"
14629 in
14630 _menhir_env.MenhirLib.EngineTypes.stack <- {
14631 MenhirLib.EngineTypes.state = _menhir_s;
14632 MenhirLib.EngineTypes.semv = Obj.repr _v;
14633 MenhirLib.EngineTypes.startp = _startpos;
14634 MenhirLib.EngineTypes.endp = _endpos;
14635 MenhirLib.EngineTypes.next = _menhir_stack;
14636 });
14637 (fun _menhir_env ->
14638 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14639 let {
14640 MenhirLib.EngineTypes.semv = xs;
14641 MenhirLib.EngineTypes.startp = _startpos_xs_;
14642 MenhirLib.EngineTypes.endp = _endpos_xs_;
14643 MenhirLib.EngineTypes.next = {
14644 MenhirLib.EngineTypes.state = _menhir_s;
14645 MenhirLib.EngineTypes.semv = x;
14646 MenhirLib.EngineTypes.startp = _startpos_x_;
14647 MenhirLib.EngineTypes.endp = _endpos_x_;
14648 MenhirLib.EngineTypes.next = _menhir_stack;
14649 };
14650 } = _menhir_stack in
14651 let xs : 'tv_list_incl_ = Obj.magic xs in
14652 let x : 'tv_incl = Obj.magic x in
14653 let _startpos = _startpos_x_ in
14654 let _endpos = _endpos_xs_ in
14655 let _v : 'tv_list_incl_ =
14656 # 116 "standard.mly"
14657 ( x :: xs )
14658 # 14659 "parser_cocci_menhir.ml"
14659 in
14660 _menhir_env.MenhirLib.EngineTypes.stack <- {
14661 MenhirLib.EngineTypes.state = _menhir_s;
14662 MenhirLib.EngineTypes.semv = Obj.repr _v;
14663 MenhirLib.EngineTypes.startp = _startpos;
14664 MenhirLib.EngineTypes.endp = _endpos;
14665 MenhirLib.EngineTypes.next = _menhir_stack;
14666 });
14667 (fun _menhir_env ->
14668 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14669 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14670 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14671 let _endpos = _startpos in
14672 let _v : 'tv_list_iso_ctype__ =
14673 # 114 "standard.mly"
14674 ( [] )
14675 # 14676 "parser_cocci_menhir.ml"
14676 in
14677 _menhir_env.MenhirLib.EngineTypes.stack <- {
14678 MenhirLib.EngineTypes.state = _menhir_s;
14679 MenhirLib.EngineTypes.semv = Obj.repr _v;
14680 MenhirLib.EngineTypes.startp = _startpos;
14681 MenhirLib.EngineTypes.endp = _endpos;
14682 MenhirLib.EngineTypes.next = _menhir_stack;
14683 });
14684 (fun _menhir_env ->
14685 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14686 let {
14687 MenhirLib.EngineTypes.semv = xs;
14688 MenhirLib.EngineTypes.startp = _startpos_xs_;
14689 MenhirLib.EngineTypes.endp = _endpos_xs_;
14690 MenhirLib.EngineTypes.next = {
14691 MenhirLib.EngineTypes.state = _menhir_s;
14692 MenhirLib.EngineTypes.semv = x;
14693 MenhirLib.EngineTypes.startp = _startpos_x_;
14694 MenhirLib.EngineTypes.endp = _endpos_x_;
14695 MenhirLib.EngineTypes.next = _menhir_stack;
14696 };
14697 } = _menhir_stack in
14698 let xs : 'tv_list_iso_ctype__ = Obj.magic xs in
14699 let x : 'tv_iso_ctype_ = Obj.magic x in
14700 let _startpos = _startpos_x_ in
14701 let _endpos = _endpos_xs_ in
14702 let _v : 'tv_list_iso_ctype__ =
14703 # 116 "standard.mly"
14704 ( x :: xs )
14705 # 14706 "parser_cocci_menhir.ml"
14706 in
14707 _menhir_env.MenhirLib.EngineTypes.stack <- {
14708 MenhirLib.EngineTypes.state = _menhir_s;
14709 MenhirLib.EngineTypes.semv = Obj.repr _v;
14710 MenhirLib.EngineTypes.startp = _startpos;
14711 MenhirLib.EngineTypes.endp = _endpos;
14712 MenhirLib.EngineTypes.next = _menhir_stack;
14713 });
14714 (fun _menhir_env ->
14715 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14716 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14717 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14718 let _endpos = _startpos in
14719 let _v : 'tv_list_iso_decl_var__ =
14720 # 114 "standard.mly"
14721 ( [] )
14722 # 14723 "parser_cocci_menhir.ml"
14723 in
14724 _menhir_env.MenhirLib.EngineTypes.stack <- {
14725 MenhirLib.EngineTypes.state = _menhir_s;
14726 MenhirLib.EngineTypes.semv = Obj.repr _v;
14727 MenhirLib.EngineTypes.startp = _startpos;
14728 MenhirLib.EngineTypes.endp = _endpos;
14729 MenhirLib.EngineTypes.next = _menhir_stack;
14730 });
14731 (fun _menhir_env ->
14732 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14733 let {
14734 MenhirLib.EngineTypes.semv = xs;
14735 MenhirLib.EngineTypes.startp = _startpos_xs_;
14736 MenhirLib.EngineTypes.endp = _endpos_xs_;
14737 MenhirLib.EngineTypes.next = {
14738 MenhirLib.EngineTypes.state = _menhir_s;
14739 MenhirLib.EngineTypes.semv = x;
14740 MenhirLib.EngineTypes.startp = _startpos_x_;
14741 MenhirLib.EngineTypes.endp = _endpos_x_;
14742 MenhirLib.EngineTypes.next = _menhir_stack;
14743 };
14744 } = _menhir_stack in
14745 let xs : 'tv_list_iso_decl_var__ = Obj.magic xs in
14746 let x : 'tv_iso_decl_var_ = Obj.magic x in
14747 let _startpos = _startpos_x_ in
14748 let _endpos = _endpos_xs_ in
14749 let _v : 'tv_list_iso_decl_var__ =
14750 # 116 "standard.mly"
14751 ( x :: xs )
14752 # 14753 "parser_cocci_menhir.ml"
14753 in
14754 _menhir_env.MenhirLib.EngineTypes.stack <- {
14755 MenhirLib.EngineTypes.state = _menhir_s;
14756 MenhirLib.EngineTypes.semv = Obj.repr _v;
14757 MenhirLib.EngineTypes.startp = _startpos;
14758 MenhirLib.EngineTypes.endp = _endpos;
14759 MenhirLib.EngineTypes.next = _menhir_stack;
14760 });
14761 (fun _menhir_env ->
14762 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14763 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14764 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14765 let _endpos = _startpos in
14766 let _v : 'tv_list_iso_dexpr__ =
14767 # 114 "standard.mly"
14768 ( [] )
14769 # 14770 "parser_cocci_menhir.ml"
14770 in
14771 _menhir_env.MenhirLib.EngineTypes.stack <- {
14772 MenhirLib.EngineTypes.state = _menhir_s;
14773 MenhirLib.EngineTypes.semv = Obj.repr _v;
14774 MenhirLib.EngineTypes.startp = _startpos;
14775 MenhirLib.EngineTypes.endp = _endpos;
14776 MenhirLib.EngineTypes.next = _menhir_stack;
14777 });
14778 (fun _menhir_env ->
14779 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14780 let {
14781 MenhirLib.EngineTypes.semv = xs;
14782 MenhirLib.EngineTypes.startp = _startpos_xs_;
14783 MenhirLib.EngineTypes.endp = _endpos_xs_;
14784 MenhirLib.EngineTypes.next = {
14785 MenhirLib.EngineTypes.state = _menhir_s;
14786 MenhirLib.EngineTypes.semv = x;
14787 MenhirLib.EngineTypes.startp = _startpos_x_;
14788 MenhirLib.EngineTypes.endp = _endpos_x_;
14789 MenhirLib.EngineTypes.next = _menhir_stack;
14790 };
14791 } = _menhir_stack in
14792 let xs : 'tv_list_iso_dexpr__ = Obj.magic xs in
14793 let x : 'tv_iso_dexpr_ = Obj.magic x in
14794 let _startpos = _startpos_x_ in
14795 let _endpos = _endpos_xs_ in
14796 let _v : 'tv_list_iso_dexpr__ =
14797 # 116 "standard.mly"
14798 ( x :: xs )
14799 # 14800 "parser_cocci_menhir.ml"
14800 in
14801 _menhir_env.MenhirLib.EngineTypes.stack <- {
14802 MenhirLib.EngineTypes.state = _menhir_s;
14803 MenhirLib.EngineTypes.semv = Obj.repr _v;
14804 MenhirLib.EngineTypes.startp = _startpos;
14805 MenhirLib.EngineTypes.endp = _endpos;
14806 MenhirLib.EngineTypes.next = _menhir_stack;
14807 });
14808 (fun _menhir_env ->
14809 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14810 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14811 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14812 let _endpos = _startpos in
14813 let _v : 'tv_list_iso_nest_start__ =
14814 # 114 "standard.mly"
14815 ( [] )
14816 # 14817 "parser_cocci_menhir.ml"
14817 in
14818 _menhir_env.MenhirLib.EngineTypes.stack <- {
14819 MenhirLib.EngineTypes.state = _menhir_s;
14820 MenhirLib.EngineTypes.semv = Obj.repr _v;
14821 MenhirLib.EngineTypes.startp = _startpos;
14822 MenhirLib.EngineTypes.endp = _endpos;
14823 MenhirLib.EngineTypes.next = _menhir_stack;
14824 });
14825 (fun _menhir_env ->
14826 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14827 let {
14828 MenhirLib.EngineTypes.semv = xs;
14829 MenhirLib.EngineTypes.startp = _startpos_xs_;
14830 MenhirLib.EngineTypes.endp = _endpos_xs_;
14831 MenhirLib.EngineTypes.next = {
14832 MenhirLib.EngineTypes.state = _menhir_s;
14833 MenhirLib.EngineTypes.semv = x;
14834 MenhirLib.EngineTypes.startp = _startpos_x_;
14835 MenhirLib.EngineTypes.endp = _endpos_x_;
14836 MenhirLib.EngineTypes.next = _menhir_stack;
14837 };
14838 } = _menhir_stack in
14839 let xs : 'tv_list_iso_nest_start__ = Obj.magic xs in
14840 let x : 'tv_iso_nest_start_ = Obj.magic x in
14841 let _startpos = _startpos_x_ in
14842 let _endpos = _endpos_xs_ in
14843 let _v : 'tv_list_iso_nest_start__ =
14844 # 116 "standard.mly"
14845 ( x :: xs )
14846 # 14847 "parser_cocci_menhir.ml"
14847 in
14848 _menhir_env.MenhirLib.EngineTypes.stack <- {
14849 MenhirLib.EngineTypes.state = _menhir_s;
14850 MenhirLib.EngineTypes.semv = Obj.repr _v;
14851 MenhirLib.EngineTypes.startp = _startpos;
14852 MenhirLib.EngineTypes.endp = _endpos;
14853 MenhirLib.EngineTypes.next = _menhir_stack;
14854 });
14855 (fun _menhir_env ->
14856 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14857 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14858 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14859 let _endpos = _startpos in
14860 let _v : 'tv_list_iso_single_statement__ =
14861 # 114 "standard.mly"
14862 ( [] )
14863 # 14864 "parser_cocci_menhir.ml"
14864 in
14865 _menhir_env.MenhirLib.EngineTypes.stack <- {
14866 MenhirLib.EngineTypes.state = _menhir_s;
14867 MenhirLib.EngineTypes.semv = Obj.repr _v;
14868 MenhirLib.EngineTypes.startp = _startpos;
14869 MenhirLib.EngineTypes.endp = _endpos;
14870 MenhirLib.EngineTypes.next = _menhir_stack;
14871 });
14872 (fun _menhir_env ->
14873 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14874 let {
14875 MenhirLib.EngineTypes.semv = xs;
14876 MenhirLib.EngineTypes.startp = _startpos_xs_;
14877 MenhirLib.EngineTypes.endp = _endpos_xs_;
14878 MenhirLib.EngineTypes.next = {
14879 MenhirLib.EngineTypes.state = _menhir_s;
14880 MenhirLib.EngineTypes.semv = x;
14881 MenhirLib.EngineTypes.startp = _startpos_x_;
14882 MenhirLib.EngineTypes.endp = _endpos_x_;
14883 MenhirLib.EngineTypes.next = _menhir_stack;
14884 };
14885 } = _menhir_stack in
14886 let xs : 'tv_list_iso_single_statement__ = Obj.magic xs in
14887 let x : 'tv_iso_single_statement_ = Obj.magic x in
14888 let _startpos = _startpos_x_ in
14889 let _endpos = _endpos_xs_ in
14890 let _v : 'tv_list_iso_single_statement__ =
14891 # 116 "standard.mly"
14892 ( x :: xs )
14893 # 14894 "parser_cocci_menhir.ml"
14894 in
14895 _menhir_env.MenhirLib.EngineTypes.stack <- {
14896 MenhirLib.EngineTypes.state = _menhir_s;
14897 MenhirLib.EngineTypes.semv = Obj.repr _v;
14898 MenhirLib.EngineTypes.startp = _startpos;
14899 MenhirLib.EngineTypes.endp = _endpos;
14900 MenhirLib.EngineTypes.next = _menhir_stack;
14901 });
14902 (fun _menhir_env ->
14903 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14904 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14905 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14906 let _endpos = _startpos in
14907 let _v : 'tv_list_mzl_ctype__ =
14908 # 114 "standard.mly"
14909 ( [] )
14910 # 14911 "parser_cocci_menhir.ml"
14911 in
14912 _menhir_env.MenhirLib.EngineTypes.stack <- {
14913 MenhirLib.EngineTypes.state = _menhir_s;
14914 MenhirLib.EngineTypes.semv = Obj.repr _v;
14915 MenhirLib.EngineTypes.startp = _startpos;
14916 MenhirLib.EngineTypes.endp = _endpos;
14917 MenhirLib.EngineTypes.next = _menhir_stack;
14918 });
14919 (fun _menhir_env ->
14920 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14921 let {
14922 MenhirLib.EngineTypes.semv = xs;
14923 MenhirLib.EngineTypes.startp = _startpos_xs_;
14924 MenhirLib.EngineTypes.endp = _endpos_xs_;
14925 MenhirLib.EngineTypes.next = {
14926 MenhirLib.EngineTypes.state = _menhir_s;
14927 MenhirLib.EngineTypes.semv = x;
14928 MenhirLib.EngineTypes.startp = _startpos_x_;
14929 MenhirLib.EngineTypes.endp = _endpos_x_;
14930 MenhirLib.EngineTypes.next = _menhir_stack;
14931 };
14932 } = _menhir_stack in
14933 let xs : 'tv_list_mzl_ctype__ = Obj.magic xs in
14934 let x : 'tv_mzl_ctype_ = Obj.magic x in
14935 let _startpos = _startpos_x_ in
14936 let _endpos = _endpos_xs_ in
14937 let _v : 'tv_list_mzl_ctype__ =
14938 # 116 "standard.mly"
14939 ( x :: xs )
14940 # 14941 "parser_cocci_menhir.ml"
14941 in
14942 _menhir_env.MenhirLib.EngineTypes.stack <- {
14943 MenhirLib.EngineTypes.state = _menhir_s;
14944 MenhirLib.EngineTypes.semv = Obj.repr _v;
14945 MenhirLib.EngineTypes.startp = _startpos;
14946 MenhirLib.EngineTypes.endp = _endpos;
14947 MenhirLib.EngineTypes.next = _menhir_stack;
14948 });
14949 (fun _menhir_env ->
14950 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14951 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14952 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14953 let _endpos = _startpos in
14954 let _v : 'tv_list_mzl_eexpr__ =
14955 # 114 "standard.mly"
14956 ( [] )
14957 # 14958 "parser_cocci_menhir.ml"
14958 in
14959 _menhir_env.MenhirLib.EngineTypes.stack <- {
14960 MenhirLib.EngineTypes.state = _menhir_s;
14961 MenhirLib.EngineTypes.semv = Obj.repr _v;
14962 MenhirLib.EngineTypes.startp = _startpos;
14963 MenhirLib.EngineTypes.endp = _endpos;
14964 MenhirLib.EngineTypes.next = _menhir_stack;
14965 });
14966 (fun _menhir_env ->
14967 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14968 let {
14969 MenhirLib.EngineTypes.semv = xs;
14970 MenhirLib.EngineTypes.startp = _startpos_xs_;
14971 MenhirLib.EngineTypes.endp = _endpos_xs_;
14972 MenhirLib.EngineTypes.next = {
14973 MenhirLib.EngineTypes.state = _menhir_s;
14974 MenhirLib.EngineTypes.semv = x;
14975 MenhirLib.EngineTypes.startp = _startpos_x_;
14976 MenhirLib.EngineTypes.endp = _endpos_x_;
14977 MenhirLib.EngineTypes.next = _menhir_stack;
14978 };
14979 } = _menhir_stack in
14980 let xs : 'tv_list_mzl_eexpr__ = Obj.magic xs in
14981 let x : 'tv_mzl_eexpr_ = Obj.magic x in
14982 let _startpos = _startpos_x_ in
14983 let _endpos = _endpos_xs_ in
14984 let _v : 'tv_list_mzl_eexpr__ =
14985 # 116 "standard.mly"
14986 ( x :: xs )
14987 # 14988 "parser_cocci_menhir.ml"
14988 in
14989 _menhir_env.MenhirLib.EngineTypes.stack <- {
14990 MenhirLib.EngineTypes.state = _menhir_s;
14991 MenhirLib.EngineTypes.semv = Obj.repr _v;
14992 MenhirLib.EngineTypes.startp = _startpos;
14993 MenhirLib.EngineTypes.endp = _endpos;
14994 MenhirLib.EngineTypes.next = _menhir_stack;
14995 });
14996 (fun _menhir_env ->
14997 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14998 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14999 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15000 let _endpos = _startpos in
15001 let _v : 'tv_list_mzl_fun_after_dots_or__ =
15002 # 114 "standard.mly"
15003 ( [] )
15004 # 15005 "parser_cocci_menhir.ml"
15005 in
15006 _menhir_env.MenhirLib.EngineTypes.stack <- {
15007 MenhirLib.EngineTypes.state = _menhir_s;
15008 MenhirLib.EngineTypes.semv = Obj.repr _v;
15009 MenhirLib.EngineTypes.startp = _startpos;
15010 MenhirLib.EngineTypes.endp = _endpos;
15011 MenhirLib.EngineTypes.next = _menhir_stack;
15012 });
15013 (fun _menhir_env ->
15014 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15015 let {
15016 MenhirLib.EngineTypes.semv = xs;
15017 MenhirLib.EngineTypes.startp = _startpos_xs_;
15018 MenhirLib.EngineTypes.endp = _endpos_xs_;
15019 MenhirLib.EngineTypes.next = {
15020 MenhirLib.EngineTypes.state = _menhir_s;
15021 MenhirLib.EngineTypes.semv = x;
15022 MenhirLib.EngineTypes.startp = _startpos_x_;
15023 MenhirLib.EngineTypes.endp = _endpos_x_;
15024 MenhirLib.EngineTypes.next = _menhir_stack;
15025 };
15026 } = _menhir_stack in
15027 let xs : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic xs in
15028 let x : 'tv_mzl_fun_after_dots_or_ = Obj.magic x in
15029 let _startpos = _startpos_x_ in
15030 let _endpos = _endpos_xs_ in
15031 let _v : 'tv_list_mzl_fun_after_dots_or__ =
15032 # 116 "standard.mly"
15033 ( x :: xs )
15034 # 15035 "parser_cocci_menhir.ml"
15035 in
15036 _menhir_env.MenhirLib.EngineTypes.stack <- {
15037 MenhirLib.EngineTypes.state = _menhir_s;
15038 MenhirLib.EngineTypes.semv = Obj.repr _v;
15039 MenhirLib.EngineTypes.startp = _startpos;
15040 MenhirLib.EngineTypes.endp = _endpos;
15041 MenhirLib.EngineTypes.next = _menhir_stack;
15042 });
15043 (fun _menhir_env ->
15044 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15045 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15046 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15047 let _endpos = _startpos in
15048 let _v : 'tv_list_mzl_fun_start__ =
15049 # 114 "standard.mly"
15050 ( [] )
15051 # 15052 "parser_cocci_menhir.ml"
15052 in
15053 _menhir_env.MenhirLib.EngineTypes.stack <- {
15054 MenhirLib.EngineTypes.state = _menhir_s;
15055 MenhirLib.EngineTypes.semv = Obj.repr _v;
15056 MenhirLib.EngineTypes.startp = _startpos;
15057 MenhirLib.EngineTypes.endp = _endpos;
15058 MenhirLib.EngineTypes.next = _menhir_stack;
15059 });
15060 (fun _menhir_env ->
15061 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15062 let {
15063 MenhirLib.EngineTypes.semv = xs;
15064 MenhirLib.EngineTypes.startp = _startpos_xs_;
15065 MenhirLib.EngineTypes.endp = _endpos_xs_;
15066 MenhirLib.EngineTypes.next = {
15067 MenhirLib.EngineTypes.state = _menhir_s;
15068 MenhirLib.EngineTypes.semv = x;
15069 MenhirLib.EngineTypes.startp = _startpos_x_;
15070 MenhirLib.EngineTypes.endp = _endpos_x_;
15071 MenhirLib.EngineTypes.next = _menhir_stack;
15072 };
15073 } = _menhir_stack in
15074 let xs : 'tv_list_mzl_fun_start__ = Obj.magic xs in
15075 let x : 'tv_mzl_fun_start_ = Obj.magic x in
15076 let _startpos = _startpos_x_ in
15077 let _endpos = _endpos_xs_ in
15078 let _v : 'tv_list_mzl_fun_start__ =
15079 # 116 "standard.mly"
15080 ( x :: xs )
15081 # 15082 "parser_cocci_menhir.ml"
15082 in
15083 _menhir_env.MenhirLib.EngineTypes.stack <- {
15084 MenhirLib.EngineTypes.state = _menhir_s;
15085 MenhirLib.EngineTypes.semv = Obj.repr _v;
15086 MenhirLib.EngineTypes.startp = _startpos;
15087 MenhirLib.EngineTypes.endp = _endpos;
15088 MenhirLib.EngineTypes.next = _menhir_stack;
15089 });
15090 (fun _menhir_env ->
15091 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15092 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15093 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15094 let _endpos = _startpos in
15095 let _v : 'tv_list_mzl_rule_elem_statement__ =
15096 # 114 "standard.mly"
15097 ( [] )
15098 # 15099 "parser_cocci_menhir.ml"
15099 in
15100 _menhir_env.MenhirLib.EngineTypes.stack <- {
15101 MenhirLib.EngineTypes.state = _menhir_s;
15102 MenhirLib.EngineTypes.semv = Obj.repr _v;
15103 MenhirLib.EngineTypes.startp = _startpos;
15104 MenhirLib.EngineTypes.endp = _endpos;
15105 MenhirLib.EngineTypes.next = _menhir_stack;
15106 });
15107 (fun _menhir_env ->
15108 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15109 let {
15110 MenhirLib.EngineTypes.semv = xs;
15111 MenhirLib.EngineTypes.startp = _startpos_xs_;
15112 MenhirLib.EngineTypes.endp = _endpos_xs_;
15113 MenhirLib.EngineTypes.next = {
15114 MenhirLib.EngineTypes.state = _menhir_s;
15115 MenhirLib.EngineTypes.semv = x;
15116 MenhirLib.EngineTypes.startp = _startpos_x_;
15117 MenhirLib.EngineTypes.endp = _endpos_x_;
15118 MenhirLib.EngineTypes.next = _menhir_stack;
15119 };
15120 } = _menhir_stack in
15121 let xs : 'tv_list_mzl_rule_elem_statement__ = Obj.magic xs in
15122 let x : 'tv_mzl_rule_elem_statement_ = Obj.magic x in
15123 let _startpos = _startpos_x_ in
15124 let _endpos = _endpos_xs_ in
15125 let _v : 'tv_list_mzl_rule_elem_statement__ =
15126 # 116 "standard.mly"
15127 ( x :: xs )
15128 # 15129 "parser_cocci_menhir.ml"
15129 in
15130 _menhir_env.MenhirLib.EngineTypes.stack <- {
15131 MenhirLib.EngineTypes.state = _menhir_s;
15132 MenhirLib.EngineTypes.semv = Obj.repr _v;
15133 MenhirLib.EngineTypes.startp = _startpos;
15134 MenhirLib.EngineTypes.endp = _endpos;
15135 MenhirLib.EngineTypes.next = _menhir_stack;
15136 });
15137 (fun _menhir_env ->
15138 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15139 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15140 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15141 let _endpos = _startpos in
15142 let _v : 'tv_list_mzl_statement__ =
15143 # 114 "standard.mly"
15144 ( [] )
15145 # 15146 "parser_cocci_menhir.ml"
15146 in
15147 _menhir_env.MenhirLib.EngineTypes.stack <- {
15148 MenhirLib.EngineTypes.state = _menhir_s;
15149 MenhirLib.EngineTypes.semv = Obj.repr _v;
15150 MenhirLib.EngineTypes.startp = _startpos;
15151 MenhirLib.EngineTypes.endp = _endpos;
15152 MenhirLib.EngineTypes.next = _menhir_stack;
15153 });
15154 (fun _menhir_env ->
15155 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15156 let {
15157 MenhirLib.EngineTypes.semv = xs;
15158 MenhirLib.EngineTypes.startp = _startpos_xs_;
15159 MenhirLib.EngineTypes.endp = _endpos_xs_;
15160 MenhirLib.EngineTypes.next = {
15161 MenhirLib.EngineTypes.state = _menhir_s;
15162 MenhirLib.EngineTypes.semv = x;
15163 MenhirLib.EngineTypes.startp = _startpos_x_;
15164 MenhirLib.EngineTypes.endp = _endpos_x_;
15165 MenhirLib.EngineTypes.next = _menhir_stack;
15166 };
15167 } = _menhir_stack in
15168 let xs : 'tv_list_mzl_statement__ = Obj.magic xs in
15169 let x : 'tv_mzl_statement_ = Obj.magic x in
15170 let _startpos = _startpos_x_ in
15171 let _endpos = _endpos_xs_ in
15172 let _v : 'tv_list_mzl_statement__ =
15173 # 116 "standard.mly"
15174 ( x :: xs )
15175 # 15176 "parser_cocci_menhir.ml"
15176 in
15177 _menhir_env.MenhirLib.EngineTypes.stack <- {
15178 MenhirLib.EngineTypes.state = _menhir_s;
15179 MenhirLib.EngineTypes.semv = Obj.repr _v;
15180 MenhirLib.EngineTypes.startp = _startpos;
15181 MenhirLib.EngineTypes.endp = _endpos;
15182 MenhirLib.EngineTypes.next = _menhir_stack;
15183 });
15184 (fun _menhir_env ->
15185 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15186 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15187 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15188 let _endpos = _startpos in
15189 let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ =
15190 # 114 "standard.mly"
15191 ( [] )
15192 # 15193 "parser_cocci_menhir.ml"
15193 in
15194 _menhir_env.MenhirLib.EngineTypes.stack <- {
15195 MenhirLib.EngineTypes.state = _menhir_s;
15196 MenhirLib.EngineTypes.semv = Obj.repr _v;
15197 MenhirLib.EngineTypes.startp = _startpos;
15198 MenhirLib.EngineTypes.endp = _endpos;
15199 MenhirLib.EngineTypes.next = _menhir_stack;
15200 });
15201 (fun _menhir_env ->
15202 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15203 let {
15204 MenhirLib.EngineTypes.semv = xs;
15205 MenhirLib.EngineTypes.startp = _startpos_xs_;
15206 MenhirLib.EngineTypes.endp = _endpos_xs_;
15207 MenhirLib.EngineTypes.next = {
15208 MenhirLib.EngineTypes.semv = y0;
15209 MenhirLib.EngineTypes.startp = _startpos_y0_;
15210 MenhirLib.EngineTypes.endp = _endpos_y0_;
15211 MenhirLib.EngineTypes.next = {
15212 MenhirLib.EngineTypes.state = _menhir_s;
15213 MenhirLib.EngineTypes.semv = x0;
15214 MenhirLib.EngineTypes.startp = _startpos_x0_;
15215 MenhirLib.EngineTypes.endp = _endpos_x0_;
15216 MenhirLib.EngineTypes.next = _menhir_stack;
15217 };
15218 };
15219 } = _menhir_stack in
15220 let xs : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic xs in
15221 let y0 : 'tv_dexpr = Obj.magic y0 in
15222 let x0 : 'tv_edots_when_TEllipsis_eexpr_ = Obj.magic x0 in
15223 let _startpos = _startpos_x0_ in
15224 let _endpos = _endpos_xs_ in
15225 let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = let x =
15226 let y = y0 in
15227 let x = x0 in
15228
15229 # 70 "standard.mly"
15230 ( (x, y) )
15231 # 15232 "parser_cocci_menhir.ml"
15232
15233 in
15234
15235 # 116 "standard.mly"
15236 ( x :: xs )
15237 # 15238 "parser_cocci_menhir.ml"
15238 in
15239 _menhir_env.MenhirLib.EngineTypes.stack <- {
15240 MenhirLib.EngineTypes.state = _menhir_s;
15241 MenhirLib.EngineTypes.semv = Obj.repr _v;
15242 MenhirLib.EngineTypes.startp = _startpos;
15243 MenhirLib.EngineTypes.endp = _endpos;
15244 MenhirLib.EngineTypes.next = _menhir_stack;
15245 });
15246 (fun _menhir_env ->
15247 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15248 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15249 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15250 let _endpos = _startpos in
15251 let _v : 'tv_list_whenppdecs_ =
15252 # 114 "standard.mly"
15253 ( [] )
15254 # 15255 "parser_cocci_menhir.ml"
15255 in
15256 _menhir_env.MenhirLib.EngineTypes.stack <- {
15257 MenhirLib.EngineTypes.state = _menhir_s;
15258 MenhirLib.EngineTypes.semv = Obj.repr _v;
15259 MenhirLib.EngineTypes.startp = _startpos;
15260 MenhirLib.EngineTypes.endp = _endpos;
15261 MenhirLib.EngineTypes.next = _menhir_stack;
15262 });
15263 (fun _menhir_env ->
15264 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15265 let {
15266 MenhirLib.EngineTypes.semv = xs;
15267 MenhirLib.EngineTypes.startp = _startpos_xs_;
15268 MenhirLib.EngineTypes.endp = _endpos_xs_;
15269 MenhirLib.EngineTypes.next = {
15270 MenhirLib.EngineTypes.state = _menhir_s;
15271 MenhirLib.EngineTypes.semv = x;
15272 MenhirLib.EngineTypes.startp = _startpos_x_;
15273 MenhirLib.EngineTypes.endp = _endpos_x_;
15274 MenhirLib.EngineTypes.next = _menhir_stack;
15275 };
15276 } = _menhir_stack in
15277 let xs : 'tv_list_whenppdecs_ = Obj.magic xs in
15278 let x : 'tv_whenppdecs = Obj.magic x in
15279 let _startpos = _startpos_x_ in
15280 let _endpos = _endpos_xs_ in
15281 let _v : 'tv_list_whenppdecs_ =
15282 # 116 "standard.mly"
15283 ( x :: xs )
15284 # 15285 "parser_cocci_menhir.ml"
15285 in
15286 _menhir_env.MenhirLib.EngineTypes.stack <- {
15287 MenhirLib.EngineTypes.state = _menhir_s;
15288 MenhirLib.EngineTypes.semv = Obj.repr _v;
15289 MenhirLib.EngineTypes.startp = _startpos;
15290 MenhirLib.EngineTypes.endp = _endpos;
15291 MenhirLib.EngineTypes.next = _menhir_stack;
15292 });
15293 (fun _menhir_env ->
15294 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15295 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15296 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15297 let _endpos = _startpos in
15298 let _v : 'tv_loption_choose_iso_ =
15299 # 57 "standard.mly"
15300 ( [] )
15301 # 15302 "parser_cocci_menhir.ml"
15302 in
15303 _menhir_env.MenhirLib.EngineTypes.stack <- {
15304 MenhirLib.EngineTypes.state = _menhir_s;
15305 MenhirLib.EngineTypes.semv = Obj.repr _v;
15306 MenhirLib.EngineTypes.startp = _startpos;
15307 MenhirLib.EngineTypes.endp = _endpos;
15308 MenhirLib.EngineTypes.next = _menhir_stack;
15309 });
15310 (fun _menhir_env ->
15311 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15312 let {
15313 MenhirLib.EngineTypes.state = _menhir_s;
15314 MenhirLib.EngineTypes.semv = x;
15315 MenhirLib.EngineTypes.startp = _startpos_x_;
15316 MenhirLib.EngineTypes.endp = _endpos_x_;
15317 MenhirLib.EngineTypes.next = _menhir_stack;
15318 } = _menhir_stack in
15319 let x : 'tv_choose_iso = Obj.magic x in
15320 let _startpos = _startpos_x_ in
15321 let _endpos = _endpos_x_ in
15322 let _v : 'tv_loption_choose_iso_ =
15323 # 59 "standard.mly"
15324 ( x )
15325 # 15326 "parser_cocci_menhir.ml"
15326 in
15327 _menhir_env.MenhirLib.EngineTypes.stack <- {
15328 MenhirLib.EngineTypes.state = _menhir_s;
15329 MenhirLib.EngineTypes.semv = Obj.repr _v;
15330 MenhirLib.EngineTypes.startp = _startpos;
15331 MenhirLib.EngineTypes.endp = _endpos;
15332 MenhirLib.EngineTypes.next = _menhir_stack;
15333 });
15334 (fun _menhir_env ->
15335 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15336 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15337 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15338 let _endpos = _startpos in
15339 let _v : 'tv_loption_disable_ =
15340 # 57 "standard.mly"
15341 ( [] )
15342 # 15343 "parser_cocci_menhir.ml"
15343 in
15344 _menhir_env.MenhirLib.EngineTypes.stack <- {
15345 MenhirLib.EngineTypes.state = _menhir_s;
15346 MenhirLib.EngineTypes.semv = Obj.repr _v;
15347 MenhirLib.EngineTypes.startp = _startpos;
15348 MenhirLib.EngineTypes.endp = _endpos;
15349 MenhirLib.EngineTypes.next = _menhir_stack;
15350 });
15351 (fun _menhir_env ->
15352 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15353 let {
15354 MenhirLib.EngineTypes.state = _menhir_s;
15355 MenhirLib.EngineTypes.semv = x;
15356 MenhirLib.EngineTypes.startp = _startpos_x_;
15357 MenhirLib.EngineTypes.endp = _endpos_x_;
15358 MenhirLib.EngineTypes.next = _menhir_stack;
15359 } = _menhir_stack in
15360 let x : 'tv_disable = Obj.magic x in
15361 let _startpos = _startpos_x_ in
15362 let _endpos = _endpos_x_ in
15363 let _v : 'tv_loption_disable_ =
15364 # 59 "standard.mly"
15365 ( x )
15366 # 15367 "parser_cocci_menhir.ml"
15367 in
15368 _menhir_env.MenhirLib.EngineTypes.stack <- {
15369 MenhirLib.EngineTypes.state = _menhir_s;
15370 MenhirLib.EngineTypes.semv = Obj.repr _v;
15371 MenhirLib.EngineTypes.startp = _startpos;
15372 MenhirLib.EngineTypes.endp = _endpos;
15373 MenhirLib.EngineTypes.next = _menhir_stack;
15374 });
15375 (fun _menhir_env ->
15376 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15377 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15378 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15379 let _endpos = _startpos in
15380 let _v : 'tv_loption_error_words_ =
15381 # 57 "standard.mly"
15382 ( [] )
15383 # 15384 "parser_cocci_menhir.ml"
15384 in
15385 _menhir_env.MenhirLib.EngineTypes.stack <- {
15386 MenhirLib.EngineTypes.state = _menhir_s;
15387 MenhirLib.EngineTypes.semv = Obj.repr _v;
15388 MenhirLib.EngineTypes.startp = _startpos;
15389 MenhirLib.EngineTypes.endp = _endpos;
15390 MenhirLib.EngineTypes.next = _menhir_stack;
15391 });
15392 (fun _menhir_env ->
15393 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15394 let {
15395 MenhirLib.EngineTypes.state = _menhir_s;
15396 MenhirLib.EngineTypes.semv = x;
15397 MenhirLib.EngineTypes.startp = _startpos_x_;
15398 MenhirLib.EngineTypes.endp = _endpos_x_;
15399 MenhirLib.EngineTypes.next = _menhir_stack;
15400 } = _menhir_stack in
15401 let x : 'tv_error_words = Obj.magic x in
15402 let _startpos = _startpos_x_ in
15403 let _endpos = _endpos_x_ in
15404 let _v : 'tv_loption_error_words_ =
15405 # 59 "standard.mly"
15406 ( x )
15407 # 15408 "parser_cocci_menhir.ml"
15408 in
15409 _menhir_env.MenhirLib.EngineTypes.stack <- {
15410 MenhirLib.EngineTypes.state = _menhir_s;
15411 MenhirLib.EngineTypes.semv = Obj.repr _v;
15412 MenhirLib.EngineTypes.startp = _startpos;
15413 MenhirLib.EngineTypes.endp = _endpos;
15414 MenhirLib.EngineTypes.next = _menhir_stack;
15415 });
15416 (fun _menhir_env ->
15417 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15418 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15419 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15420 let _endpos = _startpos in
15421 let _v : 'tv_loption_filespec_ =
15422 # 57 "standard.mly"
15423 ( [] )
15424 # 15425 "parser_cocci_menhir.ml"
15425 in
15426 _menhir_env.MenhirLib.EngineTypes.stack <- {
15427 MenhirLib.EngineTypes.state = _menhir_s;
15428 MenhirLib.EngineTypes.semv = Obj.repr _v;
15429 MenhirLib.EngineTypes.startp = _startpos;
15430 MenhirLib.EngineTypes.endp = _endpos;
15431 MenhirLib.EngineTypes.next = _menhir_stack;
15432 });
15433 (fun _menhir_env ->
15434 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15435 let {
15436 MenhirLib.EngineTypes.state = _menhir_s;
15437 MenhirLib.EngineTypes.semv = x;
15438 MenhirLib.EngineTypes.startp = _startpos_x_;
15439 MenhirLib.EngineTypes.endp = _endpos_x_;
15440 MenhirLib.EngineTypes.next = _menhir_stack;
15441 } = _menhir_stack in
15442 let x : 'tv_filespec = Obj.magic x in
15443 let _startpos = _startpos_x_ in
15444 let _endpos = _endpos_x_ in
15445 let _v : 'tv_loption_filespec_ =
15446 # 59 "standard.mly"
15447 ( x )
15448 # 15449 "parser_cocci_menhir.ml"
15449 in
15450 _menhir_env.MenhirLib.EngineTypes.stack <- {
15451 MenhirLib.EngineTypes.state = _menhir_s;
15452 MenhirLib.EngineTypes.semv = Obj.repr _v;
15453 MenhirLib.EngineTypes.startp = _startpos;
15454 MenhirLib.EngineTypes.endp = _endpos;
15455 MenhirLib.EngineTypes.next = _menhir_stack;
15456 });
15457 (fun _menhir_env ->
15458 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15459 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15460 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15461 let _endpos = _startpos in
15462 let _v : 'tv_loption_minus_start_ =
15463 # 57 "standard.mly"
15464 ( [] )
15465 # 15466 "parser_cocci_menhir.ml"
15466 in
15467 _menhir_env.MenhirLib.EngineTypes.stack <- {
15468 MenhirLib.EngineTypes.state = _menhir_s;
15469 MenhirLib.EngineTypes.semv = Obj.repr _v;
15470 MenhirLib.EngineTypes.startp = _startpos;
15471 MenhirLib.EngineTypes.endp = _endpos;
15472 MenhirLib.EngineTypes.next = _menhir_stack;
15473 });
15474 (fun _menhir_env ->
15475 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15476 let {
15477 MenhirLib.EngineTypes.state = _menhir_s;
15478 MenhirLib.EngineTypes.semv = x;
15479 MenhirLib.EngineTypes.startp = _startpos_x_;
15480 MenhirLib.EngineTypes.endp = _endpos_x_;
15481 MenhirLib.EngineTypes.next = _menhir_stack;
15482 } = _menhir_stack in
15483 let x : 'tv_minus_start = Obj.magic x in
15484 let _startpos = _startpos_x_ in
15485 let _endpos = _endpos_x_ in
15486 let _v : 'tv_loption_minus_start_ =
15487 # 59 "standard.mly"
15488 ( x )
15489 # 15490 "parser_cocci_menhir.ml"
15490 in
15491 _menhir_env.MenhirLib.EngineTypes.stack <- {
15492 MenhirLib.EngineTypes.state = _menhir_s;
15493 MenhirLib.EngineTypes.semv = Obj.repr _v;
15494 MenhirLib.EngineTypes.startp = _startpos;
15495 MenhirLib.EngineTypes.endp = _endpos;
15496 MenhirLib.EngineTypes.next = _menhir_stack;
15497 });
15498 (fun _menhir_env ->
15499 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15500 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15501 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15502 let _endpos = _startpos in
15503 let _v : 'tv_loption_not_ceq_ =
15504 # 57 "standard.mly"
15505 ( [] )
15506 # 15507 "parser_cocci_menhir.ml"
15507 in
15508 _menhir_env.MenhirLib.EngineTypes.stack <- {
15509 MenhirLib.EngineTypes.state = _menhir_s;
15510 MenhirLib.EngineTypes.semv = Obj.repr _v;
15511 MenhirLib.EngineTypes.startp = _startpos;
15512 MenhirLib.EngineTypes.endp = _endpos;
15513 MenhirLib.EngineTypes.next = _menhir_stack;
15514 });
15515 (fun _menhir_env ->
15516 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15517 let {
15518 MenhirLib.EngineTypes.state = _menhir_s;
15519 MenhirLib.EngineTypes.semv = x;
15520 MenhirLib.EngineTypes.startp = _startpos_x_;
15521 MenhirLib.EngineTypes.endp = _endpos_x_;
15522 MenhirLib.EngineTypes.next = _menhir_stack;
15523 } = _menhir_stack in
15524 let x : 'tv_not_ceq = Obj.magic x in
15525 let _startpos = _startpos_x_ in
15526 let _endpos = _endpos_x_ in
15527 let _v : 'tv_loption_not_ceq_ =
15528 # 59 "standard.mly"
15529 ( x )
15530 # 15531 "parser_cocci_menhir.ml"
15531 in
15532 _menhir_env.MenhirLib.EngineTypes.stack <- {
15533 MenhirLib.EngineTypes.state = _menhir_s;
15534 MenhirLib.EngineTypes.semv = Obj.repr _v;
15535 MenhirLib.EngineTypes.startp = _startpos;
15536 MenhirLib.EngineTypes.endp = _endpos;
15537 MenhirLib.EngineTypes.next = _menhir_stack;
15538 });
15539 (fun _menhir_env ->
15540 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15541 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15542 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15543 let _endpos = _startpos in
15544 let _v : 'tv_loption_not_eq_ =
15545 # 57 "standard.mly"
15546 ( [] )
15547 # 15548 "parser_cocci_menhir.ml"
15548 in
15549 _menhir_env.MenhirLib.EngineTypes.stack <- {
15550 MenhirLib.EngineTypes.state = _menhir_s;
15551 MenhirLib.EngineTypes.semv = Obj.repr _v;
15552 MenhirLib.EngineTypes.startp = _startpos;
15553 MenhirLib.EngineTypes.endp = _endpos;
15554 MenhirLib.EngineTypes.next = _menhir_stack;
15555 });
15556 (fun _menhir_env ->
15557 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15558 let {
15559 MenhirLib.EngineTypes.state = _menhir_s;
15560 MenhirLib.EngineTypes.semv = x;
15561 MenhirLib.EngineTypes.startp = _startpos_x_;
15562 MenhirLib.EngineTypes.endp = _endpos_x_;
15563 MenhirLib.EngineTypes.next = _menhir_stack;
15564 } = _menhir_stack in
15565 let x : 'tv_not_eq = Obj.magic x in
15566 let _startpos = _startpos_x_ in
15567 let _endpos = _endpos_x_ in
15568 let _v : 'tv_loption_not_eq_ =
15569 # 59 "standard.mly"
15570 ( x )
15571 # 15572 "parser_cocci_menhir.ml"
15572 in
15573 _menhir_env.MenhirLib.EngineTypes.stack <- {
15574 MenhirLib.EngineTypes.state = _menhir_s;
15575 MenhirLib.EngineTypes.semv = Obj.repr _v;
15576 MenhirLib.EngineTypes.startp = _startpos;
15577 MenhirLib.EngineTypes.endp = _endpos;
15578 MenhirLib.EngineTypes.next = _menhir_stack;
15579 });
15580 (fun _menhir_env ->
15581 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15582 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15583 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15584 let _endpos = _startpos in
15585 let _v : 'tv_loption_not_eqe_ =
15586 # 57 "standard.mly"
15587 ( [] )
15588 # 15589 "parser_cocci_menhir.ml"
15589 in
15590 _menhir_env.MenhirLib.EngineTypes.stack <- {
15591 MenhirLib.EngineTypes.state = _menhir_s;
15592 MenhirLib.EngineTypes.semv = Obj.repr _v;
15593 MenhirLib.EngineTypes.startp = _startpos;
15594 MenhirLib.EngineTypes.endp = _endpos;
15595 MenhirLib.EngineTypes.next = _menhir_stack;
15596 });
15597 (fun _menhir_env ->
15598 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15599 let {
15600 MenhirLib.EngineTypes.state = _menhir_s;
15601 MenhirLib.EngineTypes.semv = x;
15602 MenhirLib.EngineTypes.startp = _startpos_x_;
15603 MenhirLib.EngineTypes.endp = _endpos_x_;
15604 MenhirLib.EngineTypes.next = _menhir_stack;
15605 } = _menhir_stack in
15606 let x : 'tv_not_eqe = Obj.magic x in
15607 let _startpos = _startpos_x_ in
15608 let _endpos = _endpos_x_ in
15609 let _v : 'tv_loption_not_eqe_ =
15610 # 59 "standard.mly"
15611 ( x )
15612 # 15613 "parser_cocci_menhir.ml"
15613 in
15614 _menhir_env.MenhirLib.EngineTypes.stack <- {
15615 MenhirLib.EngineTypes.state = _menhir_s;
15616 MenhirLib.EngineTypes.semv = Obj.repr _v;
15617 MenhirLib.EngineTypes.startp = _startpos;
15618 MenhirLib.EngineTypes.endp = _endpos;
15619 MenhirLib.EngineTypes.next = _menhir_stack;
15620 });
15621 (fun _menhir_env ->
15622 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15623 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15624 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15625 let _endpos = _startpos in
15626 let _v : 'tv_loption_not_pos_ =
15627 # 57 "standard.mly"
15628 ( [] )
15629 # 15630 "parser_cocci_menhir.ml"
15630 in
15631 _menhir_env.MenhirLib.EngineTypes.stack <- {
15632 MenhirLib.EngineTypes.state = _menhir_s;
15633 MenhirLib.EngineTypes.semv = Obj.repr _v;
15634 MenhirLib.EngineTypes.startp = _startpos;
15635 MenhirLib.EngineTypes.endp = _endpos;
15636 MenhirLib.EngineTypes.next = _menhir_stack;
15637 });
15638 (fun _menhir_env ->
15639 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15640 let {
15641 MenhirLib.EngineTypes.state = _menhir_s;
15642 MenhirLib.EngineTypes.semv = x;
15643 MenhirLib.EngineTypes.startp = _startpos_x_;
15644 MenhirLib.EngineTypes.endp = _endpos_x_;
15645 MenhirLib.EngineTypes.next = _menhir_stack;
15646 } = _menhir_stack in
15647 let x : 'tv_not_pos = Obj.magic x in
15648 let _startpos = _startpos_x_ in
15649 let _endpos = _endpos_x_ in
15650 let _v : 'tv_loption_not_pos_ =
15651 # 59 "standard.mly"
15652 ( x )
15653 # 15654 "parser_cocci_menhir.ml"
15654 in
15655 _menhir_env.MenhirLib.EngineTypes.stack <- {
15656 MenhirLib.EngineTypes.state = _menhir_s;
15657 MenhirLib.EngineTypes.semv = Obj.repr _v;
15658 MenhirLib.EngineTypes.startp = _startpos;
15659 MenhirLib.EngineTypes.endp = _endpos;
15660 MenhirLib.EngineTypes.next = _menhir_stack;
15661 });
15662 (fun _menhir_env ->
15663 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15664 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15665 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15666 let _endpos = _startpos in
15667 let _v : 'tv_loption_plus_start_ =
15668 # 57 "standard.mly"
15669 ( [] )
15670 # 15671 "parser_cocci_menhir.ml"
15671 in
15672 _menhir_env.MenhirLib.EngineTypes.stack <- {
15673 MenhirLib.EngineTypes.state = _menhir_s;
15674 MenhirLib.EngineTypes.semv = Obj.repr _v;
15675 MenhirLib.EngineTypes.startp = _startpos;
15676 MenhirLib.EngineTypes.endp = _endpos;
15677 MenhirLib.EngineTypes.next = _menhir_stack;
15678 });
15679 (fun _menhir_env ->
15680 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15681 let {
15682 MenhirLib.EngineTypes.state = _menhir_s;
15683 MenhirLib.EngineTypes.semv = x;
15684 MenhirLib.EngineTypes.startp = _startpos_x_;
15685 MenhirLib.EngineTypes.endp = _endpos_x_;
15686 MenhirLib.EngineTypes.next = _menhir_stack;
15687 } = _menhir_stack in
15688 let x : 'tv_plus_start = Obj.magic x in
15689 let _startpos = _startpos_x_ in
15690 let _endpos = _endpos_x_ in
15691 let _v : 'tv_loption_plus_start_ =
15692 # 59 "standard.mly"
15693 ( x )
15694 # 15695 "parser_cocci_menhir.ml"
15695 in
15696 _menhir_env.MenhirLib.EngineTypes.stack <- {
15697 MenhirLib.EngineTypes.state = _menhir_s;
15698 MenhirLib.EngineTypes.semv = Obj.repr _v;
15699 MenhirLib.EngineTypes.startp = _startpos;
15700 MenhirLib.EngineTypes.endp = _endpos;
15701 MenhirLib.EngineTypes.next = _menhir_stack;
15702 });
15703 (fun _menhir_env ->
15704 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15705 let {
15706 MenhirLib.EngineTypes.state = _menhir_s;
15707 MenhirLib.EngineTypes.semv = t;
15708 MenhirLib.EngineTypes.startp = _startpos_t_;
15709 MenhirLib.EngineTypes.endp = _endpos_t_;
15710 MenhirLib.EngineTypes.next = _menhir_stack;
15711 } = _menhir_stack in
15712 let t : 'tv_ctype = Obj.magic t in
15713 let _startpos = _startpos_t_ in
15714 let _endpos = _endpos_t_ in
15715 let _v : 'tv_meta_exp_type =
15716 # 453 "parser_cocci_menhir.mly"
15717 ( [Ast0_cocci.ast0_type_to_type t] )
15718 # 15719 "parser_cocci_menhir.ml"
15719 in
15720 _menhir_env.MenhirLib.EngineTypes.stack <- {
15721 MenhirLib.EngineTypes.state = _menhir_s;
15722 MenhirLib.EngineTypes.semv = Obj.repr _v;
15723 MenhirLib.EngineTypes.startp = _startpos;
15724 MenhirLib.EngineTypes.endp = _endpos;
15725 MenhirLib.EngineTypes.next = _menhir_stack;
15726 });
15727 (fun _menhir_env ->
15728 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15729 let {
15730 MenhirLib.EngineTypes.semv = m;
15731 MenhirLib.EngineTypes.startp = _startpos_m_;
15732 MenhirLib.EngineTypes.endp = _endpos_m_;
15733 MenhirLib.EngineTypes.next = {
15734 MenhirLib.EngineTypes.startp = _startpos__3_;
15735 MenhirLib.EngineTypes.endp = _endpos__3_;
15736 MenhirLib.EngineTypes.next = {
15737 MenhirLib.EngineTypes.semv = t;
15738 MenhirLib.EngineTypes.startp = _startpos_t_;
15739 MenhirLib.EngineTypes.endp = _endpos_t_;
15740 MenhirLib.EngineTypes.next = {
15741 MenhirLib.EngineTypes.state = _menhir_s;
15742 MenhirLib.EngineTypes.startp = _startpos__1_;
15743 MenhirLib.EngineTypes.endp = _endpos__1_;
15744 MenhirLib.EngineTypes.next = _menhir_stack;
15745 };
15746 };
15747 };
15748 } = _menhir_stack in
15749 let m : 'tv_list_TMul_ = Obj.magic m in
15750 let t : 'tv_comma_list_ctype_ = Obj.magic t in
15751 let _startpos = _startpos__1_ in
15752 let _endpos = _endpos_m_ in
15753 let _v : 'tv_meta_exp_type =
15754 # 455 "parser_cocci_menhir.mly"
15755 ( List.map
15756 (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
15757 t )
15758 # 15759 "parser_cocci_menhir.ml"
15759 in
15760 _menhir_env.MenhirLib.EngineTypes.stack <- {
15761 MenhirLib.EngineTypes.state = _menhir_s;
15762 MenhirLib.EngineTypes.semv = Obj.repr _v;
15763 MenhirLib.EngineTypes.startp = _startpos;
15764 MenhirLib.EngineTypes.endp = _endpos;
15765 MenhirLib.EngineTypes.next = _menhir_stack;
15766 });
15767 (fun _menhir_env ->
15768 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15769 let {
15770 MenhirLib.EngineTypes.semv = _3;
15771 MenhirLib.EngineTypes.startp = _startpos__3_;
15772 MenhirLib.EngineTypes.endp = _endpos__3_;
15773 MenhirLib.EngineTypes.next = {
15774 MenhirLib.EngineTypes.startp = _startpos__2_;
15775 MenhirLib.EngineTypes.endp = _endpos__2_;
15776 MenhirLib.EngineTypes.next = {
15777 MenhirLib.EngineTypes.state = _menhir_s;
15778 MenhirLib.EngineTypes.semv = _1;
15779 MenhirLib.EngineTypes.startp = _startpos__1_;
15780 MenhirLib.EngineTypes.endp = _endpos__1_;
15781 MenhirLib.EngineTypes.next = _menhir_stack;
15782 };
15783 };
15784 } = _menhir_stack in
15785 let _3 : 'tv_pure_ident = Obj.magic _3 in
15786 let _1 : (
15787 # 47 "parser_cocci_menhir.mly"
15788 (string)
15789 # 15790 "parser_cocci_menhir.ml"
15790 ) = Obj.magic _1 in
15791 let _startpos = _startpos__1_ in
15792 let _endpos = _endpos__3_ in
15793 let _v : 'tv_meta_ident =
15794 # 1398 "parser_cocci_menhir.mly"
15795 ( (Some _1,P.id2name _3) )
15796 # 15797 "parser_cocci_menhir.ml"
15797 in
15798 _menhir_env.MenhirLib.EngineTypes.stack <- {
15799 MenhirLib.EngineTypes.state = _menhir_s;
15800 MenhirLib.EngineTypes.semv = Obj.repr _v;
15801 MenhirLib.EngineTypes.startp = _startpos;
15802 MenhirLib.EngineTypes.endp = _endpos;
15803 MenhirLib.EngineTypes.next = _menhir_stack;
15804 });
15805 (fun _menhir_env ->
15806 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15807 let {
15808 MenhirLib.EngineTypes.state = _menhir_s;
15809 MenhirLib.EngineTypes.semv = m;
15810 MenhirLib.EngineTypes.startp = _startpos_m_;
15811 MenhirLib.EngineTypes.endp = _endpos_m_;
15812 MenhirLib.EngineTypes.next = _menhir_stack;
15813 } = _menhir_stack in
15814 let m : 'tv_metadec = Obj.magic m in
15815 let _startpos = _startpos_m_ in
15816 let _endpos = _endpos_m_ in
15817 let _v : (
15818 # 157 "parser_cocci_menhir.mly"
15819 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
15820 # 15821 "parser_cocci_menhir.ml"
15821 ) =
15822 # 181 "parser_cocci_menhir.mly"
15823 ( m (!Ast0.rule_name) )
15824 # 15825 "parser_cocci_menhir.ml"
15825 in
15826 _menhir_env.MenhirLib.EngineTypes.stack <- {
15827 MenhirLib.EngineTypes.state = _menhir_s;
15828 MenhirLib.EngineTypes.semv = Obj.repr _v;
15829 MenhirLib.EngineTypes.startp = _startpos;
15830 MenhirLib.EngineTypes.endp = _endpos;
15831 MenhirLib.EngineTypes.next = _menhir_stack;
15832 });
15833 (fun _menhir_env ->
15834 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15835 let {
15836 MenhirLib.EngineTypes.startp = _startpos__5_;
15837 MenhirLib.EngineTypes.endp = _endpos__5_;
15838 MenhirLib.EngineTypes.next = {
15839 MenhirLib.EngineTypes.semv = ids;
15840 MenhirLib.EngineTypes.startp = _startpos_ids_;
15841 MenhirLib.EngineTypes.endp = _endpos_ids_;
15842 MenhirLib.EngineTypes.next = {
15843 MenhirLib.EngineTypes.startp = _startpos__3_;
15844 MenhirLib.EngineTypes.endp = _endpos__3_;
15845 MenhirLib.EngineTypes.next = {
15846 MenhirLib.EngineTypes.semv = ispure;
15847 MenhirLib.EngineTypes.startp = _startpos_ispure_;
15848 MenhirLib.EngineTypes.endp = _endpos_ispure_;
15849 MenhirLib.EngineTypes.next = {
15850 MenhirLib.EngineTypes.state = _menhir_s;
15851 MenhirLib.EngineTypes.semv = ar;
15852 MenhirLib.EngineTypes.startp = _startpos_ar_;
15853 MenhirLib.EngineTypes.endp = _endpos_ar_;
15854 MenhirLib.EngineTypes.next = _menhir_stack;
15855 };
15856 };
15857 };
15858 };
15859 } = _menhir_stack in
15860 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
15861 let ispure : 'tv_pure = Obj.magic ispure in
15862 let ar : 'tv_arity = Obj.magic ar in
15863 let _startpos = _startpos_ar_ in
15864 let _endpos = _endpos__5_ in
15865 let _v : 'tv_metadec = let kindfn =
15866
15867 # 318 "parser_cocci_menhir.mly"
15868 ( (fun arity name pure check_meta ->
15869 let tok = check_meta(Ast.MetaParamDecl(arity,name)) in
15870 !Data.add_param_meta name pure; tok) )
15871 # 15872 "parser_cocci_menhir.ml"
15872
15873 in
15874
15875 # 263 "parser_cocci_menhir.mly"
15876 ( P.create_metadec ar ispure kindfn ids )
15877 # 15878 "parser_cocci_menhir.ml"
15878 in
15879 _menhir_env.MenhirLib.EngineTypes.stack <- {
15880 MenhirLib.EngineTypes.state = _menhir_s;
15881 MenhirLib.EngineTypes.semv = Obj.repr _v;
15882 MenhirLib.EngineTypes.startp = _startpos;
15883 MenhirLib.EngineTypes.endp = _endpos;
15884 MenhirLib.EngineTypes.next = _menhir_stack;
15885 });
15886 (fun _menhir_env ->
15887 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15888 let {
15889 MenhirLib.EngineTypes.startp = _startpos__6_;
15890 MenhirLib.EngineTypes.endp = _endpos__6_;
15891 MenhirLib.EngineTypes.next = {
15892 MenhirLib.EngineTypes.semv = ids;
15893 MenhirLib.EngineTypes.startp = _startpos_ids_;
15894 MenhirLib.EngineTypes.endp = _endpos_ids_;
15895 MenhirLib.EngineTypes.next = {
15896 MenhirLib.EngineTypes.startp = _startpos__4_;
15897 MenhirLib.EngineTypes.endp = _endpos__4_;
15898 MenhirLib.EngineTypes.next = {
15899 MenhirLib.EngineTypes.startp = _startpos__3_;
15900 MenhirLib.EngineTypes.endp = _endpos__3_;
15901 MenhirLib.EngineTypes.next = {
15902 MenhirLib.EngineTypes.semv = ispure;
15903 MenhirLib.EngineTypes.startp = _startpos_ispure_;
15904 MenhirLib.EngineTypes.endp = _endpos_ispure_;
15905 MenhirLib.EngineTypes.next = {
15906 MenhirLib.EngineTypes.state = _menhir_s;
15907 MenhirLib.EngineTypes.semv = ar;
15908 MenhirLib.EngineTypes.startp = _startpos_ar_;
15909 MenhirLib.EngineTypes.endp = _endpos_ar_;
15910 MenhirLib.EngineTypes.next = _menhir_stack;
15911 };
15912 };
15913 };
15914 };
15915 };
15916 } = _menhir_stack in
15917 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
15918 let ispure : 'tv_pure = Obj.magic ispure in
15919 let ar : 'tv_arity = Obj.magic ar in
15920 let _startpos = _startpos_ar_ in
15921 let _endpos = _endpos__6_ in
15922 let _v : 'tv_metadec = let kindfn =
15923
15924 # 322 "parser_cocci_menhir.mly"
15925 ( (fun arity name pure check_meta ->
15926 let tok = check_meta(Ast.MetaParamListDecl(arity,name,None)) in
15927 !Data.add_paramlist_meta name None pure; tok) )
15928 # 15929 "parser_cocci_menhir.ml"
15929
15930 in
15931
15932 # 263 "parser_cocci_menhir.mly"
15933 ( P.create_metadec ar ispure kindfn ids )
15934 # 15935 "parser_cocci_menhir.ml"
15935 in
15936 _menhir_env.MenhirLib.EngineTypes.stack <- {
15937 MenhirLib.EngineTypes.state = _menhir_s;
15938 MenhirLib.EngineTypes.semv = Obj.repr _v;
15939 MenhirLib.EngineTypes.startp = _startpos;
15940 MenhirLib.EngineTypes.endp = _endpos;
15941 MenhirLib.EngineTypes.next = _menhir_stack;
15942 });
15943 (fun _menhir_env ->
15944 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15945 let {
15946 MenhirLib.EngineTypes.startp = _startpos__6_;
15947 MenhirLib.EngineTypes.endp = _endpos__6_;
15948 MenhirLib.EngineTypes.next = {
15949 MenhirLib.EngineTypes.semv = ids;
15950 MenhirLib.EngineTypes.startp = _startpos_ids_;
15951 MenhirLib.EngineTypes.endp = _endpos_ids_;
15952 MenhirLib.EngineTypes.next = {
15953 MenhirLib.EngineTypes.startp = _startpos__4_;
15954 MenhirLib.EngineTypes.endp = _endpos__4_;
15955 MenhirLib.EngineTypes.next = {
15956 MenhirLib.EngineTypes.startp = _startpos__3_;
15957 MenhirLib.EngineTypes.endp = _endpos__3_;
15958 MenhirLib.EngineTypes.next = {
15959 MenhirLib.EngineTypes.semv = ispure;
15960 MenhirLib.EngineTypes.startp = _startpos_ispure_;
15961 MenhirLib.EngineTypes.endp = _endpos_ispure_;
15962 MenhirLib.EngineTypes.next = {
15963 MenhirLib.EngineTypes.state = _menhir_s;
15964 MenhirLib.EngineTypes.semv = ar;
15965 MenhirLib.EngineTypes.startp = _startpos_ar_;
15966 MenhirLib.EngineTypes.endp = _endpos_ar_;
15967 MenhirLib.EngineTypes.next = _menhir_stack;
15968 };
15969 };
15970 };
15971 };
15972 };
15973 } = _menhir_stack in
15974 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
15975 let ispure : 'tv_pure = Obj.magic ispure in
15976 let ar : 'tv_arity = Obj.magic ar in
15977 let _startpos = _startpos_ar_ in
15978 let _endpos = _endpos__6_ in
15979 let _v : 'tv_metadec = let kindfn =
15980
15981 # 326 "parser_cocci_menhir.mly"
15982 ( (fun arity name pure check_meta ->
15983 let tok = check_meta(Ast.MetaExpListDecl(arity,name,None)) in
15984 !Data.add_explist_meta name None pure; tok) )
15985 # 15986 "parser_cocci_menhir.ml"
15986
15987 in
15988
15989 # 263 "parser_cocci_menhir.mly"
15990 ( P.create_metadec ar ispure kindfn ids )
15991 # 15992 "parser_cocci_menhir.ml"
15992 in
15993 _menhir_env.MenhirLib.EngineTypes.stack <- {
15994 MenhirLib.EngineTypes.state = _menhir_s;
15995 MenhirLib.EngineTypes.semv = Obj.repr _v;
15996 MenhirLib.EngineTypes.startp = _startpos;
15997 MenhirLib.EngineTypes.endp = _endpos;
15998 MenhirLib.EngineTypes.next = _menhir_stack;
15999 });
16000 (fun _menhir_env ->
16001 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16002 let {
16003 MenhirLib.EngineTypes.startp = _startpos__5_;
16004 MenhirLib.EngineTypes.endp = _endpos__5_;
16005 MenhirLib.EngineTypes.next = {
16006 MenhirLib.EngineTypes.semv = ids;
16007 MenhirLib.EngineTypes.startp = _startpos_ids_;
16008 MenhirLib.EngineTypes.endp = _endpos_ids_;
16009 MenhirLib.EngineTypes.next = {
16010 MenhirLib.EngineTypes.startp = _startpos__3_;
16011 MenhirLib.EngineTypes.endp = _endpos__3_;
16012 MenhirLib.EngineTypes.next = {
16013 MenhirLib.EngineTypes.semv = ispure;
16014 MenhirLib.EngineTypes.startp = _startpos_ispure_;
16015 MenhirLib.EngineTypes.endp = _endpos_ispure_;
16016 MenhirLib.EngineTypes.next = {
16017 MenhirLib.EngineTypes.state = _menhir_s;
16018 MenhirLib.EngineTypes.semv = ar;
16019 MenhirLib.EngineTypes.startp = _startpos_ar_;
16020 MenhirLib.EngineTypes.endp = _endpos_ar_;
16021 MenhirLib.EngineTypes.next = _menhir_stack;
16022 };
16023 };
16024 };
16025 };
16026 } = _menhir_stack in
16027 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
16028 let ispure : 'tv_pure = Obj.magic ispure in
16029 let ar : 'tv_arity = Obj.magic ar in
16030 let _startpos = _startpos_ar_ in
16031 let _endpos = _endpos__5_ in
16032 let _v : 'tv_metadec = let kindfn =
16033
16034 # 330 "parser_cocci_menhir.mly"
16035 ( (fun arity name pure check_meta ->
16036 let tok = check_meta(Ast.MetaTypeDecl(arity,name)) in
16037 !Data.add_type_meta name pure; tok) )
16038 # 16039 "parser_cocci_menhir.ml"
16039
16040 in
16041
16042 # 263 "parser_cocci_menhir.mly"
16043 ( P.create_metadec ar ispure kindfn ids )
16044 # 16045 "parser_cocci_menhir.ml"
16045 in
16046 _menhir_env.MenhirLib.EngineTypes.stack <- {
16047 MenhirLib.EngineTypes.state = _menhir_s;
16048 MenhirLib.EngineTypes.semv = Obj.repr _v;
16049 MenhirLib.EngineTypes.startp = _startpos;
16050 MenhirLib.EngineTypes.endp = _endpos;
16051 MenhirLib.EngineTypes.next = _menhir_stack;
16052 });
16053 (fun _menhir_env ->
16054 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16055 let {
16056 MenhirLib.EngineTypes.startp = _startpos__5_;
16057 MenhirLib.EngineTypes.endp = _endpos__5_;
16058 MenhirLib.EngineTypes.next = {
16059 MenhirLib.EngineTypes.semv = ids;
16060 MenhirLib.EngineTypes.startp = _startpos_ids_;
16061 MenhirLib.EngineTypes.endp = _endpos_ids_;
16062 MenhirLib.EngineTypes.next = {
16063 MenhirLib.EngineTypes.startp = _startpos__3_;
16064 MenhirLib.EngineTypes.endp = _endpos__3_;
16065 MenhirLib.EngineTypes.next = {
16066 MenhirLib.EngineTypes.semv = ispure;
16067 MenhirLib.EngineTypes.startp = _startpos_ispure_;
16068 MenhirLib.EngineTypes.endp = _endpos_ispure_;
16069 MenhirLib.EngineTypes.next = {
16070 MenhirLib.EngineTypes.state = _menhir_s;
16071 MenhirLib.EngineTypes.semv = ar;
16072 MenhirLib.EngineTypes.startp = _startpos_ar_;
16073 MenhirLib.EngineTypes.endp = _endpos_ar_;
16074 MenhirLib.EngineTypes.next = _menhir_stack;
16075 };
16076 };
16077 };
16078 };
16079 } = _menhir_stack in
16080 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
16081 let ispure : 'tv_pure = Obj.magic ispure in
16082 let ar : 'tv_arity = Obj.magic ar in
16083 let _startpos = _startpos_ar_ in
16084 let _endpos = _endpos__5_ in
16085 let _v : 'tv_metadec = let kindfn =
16086
16087 # 334 "parser_cocci_menhir.mly"
16088 ( (fun arity name pure check_meta ->
16089 let tok = check_meta(Ast.MetaInitDecl(arity,name)) in
16090 !Data.add_init_meta name pure; tok) )
16091 # 16092 "parser_cocci_menhir.ml"
16092
16093 in
16094
16095 # 263 "parser_cocci_menhir.mly"
16096 ( P.create_metadec ar ispure kindfn ids )
16097 # 16098 "parser_cocci_menhir.ml"
16098 in
16099 _menhir_env.MenhirLib.EngineTypes.stack <- {
16100 MenhirLib.EngineTypes.state = _menhir_s;
16101 MenhirLib.EngineTypes.semv = Obj.repr _v;
16102 MenhirLib.EngineTypes.startp = _startpos;
16103 MenhirLib.EngineTypes.endp = _endpos;
16104 MenhirLib.EngineTypes.next = _menhir_stack;
16105 });
16106 (fun _menhir_env ->
16107 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16108 let {
16109 MenhirLib.EngineTypes.startp = _startpos__5_;
16110 MenhirLib.EngineTypes.endp = _endpos__5_;
16111 MenhirLib.EngineTypes.next = {
16112 MenhirLib.EngineTypes.semv = ids;
16113 MenhirLib.EngineTypes.startp = _startpos_ids_;
16114 MenhirLib.EngineTypes.endp = _endpos_ids_;
16115 MenhirLib.EngineTypes.next = {
16116 MenhirLib.EngineTypes.startp = _startpos__3_;
16117 MenhirLib.EngineTypes.endp = _endpos__3_;
16118 MenhirLib.EngineTypes.next = {
16119 MenhirLib.EngineTypes.semv = ispure;
16120 MenhirLib.EngineTypes.startp = _startpos_ispure_;
16121 MenhirLib.EngineTypes.endp = _endpos_ispure_;
16122 MenhirLib.EngineTypes.next = {
16123 MenhirLib.EngineTypes.state = _menhir_s;
16124 MenhirLib.EngineTypes.semv = ar;
16125 MenhirLib.EngineTypes.startp = _startpos_ar_;
16126 MenhirLib.EngineTypes.endp = _endpos_ar_;
16127 MenhirLib.EngineTypes.next = _menhir_stack;
16128 };
16129 };
16130 };
16131 };
16132 } = _menhir_stack in
16133 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
16134 let ispure : 'tv_pure = Obj.magic ispure in
16135 let ar : 'tv_arity = Obj.magic ar in
16136 let _startpos = _startpos_ar_ in
16137 let _endpos = _endpos__5_ in
16138 let _v : 'tv_metadec = let kindfn =
16139
16140 # 338 "parser_cocci_menhir.mly"
16141 ( (fun arity name pure check_meta ->
16142 let tok = check_meta(Ast.MetaStmDecl(arity,name)) in
16143 !Data.add_stm_meta name pure; tok) )
16144 # 16145 "parser_cocci_menhir.ml"
16145
16146 in
16147
16148 # 263 "parser_cocci_menhir.mly"
16149 ( P.create_metadec ar ispure kindfn ids )
16150 # 16151 "parser_cocci_menhir.ml"
16151 in
16152 _menhir_env.MenhirLib.EngineTypes.stack <- {
16153 MenhirLib.EngineTypes.state = _menhir_s;
16154 MenhirLib.EngineTypes.semv = Obj.repr _v;
16155 MenhirLib.EngineTypes.startp = _startpos;
16156 MenhirLib.EngineTypes.endp = _endpos;
16157 MenhirLib.EngineTypes.next = _menhir_stack;
16158 });
16159 (fun _menhir_env ->
16160 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16161 let {
16162 MenhirLib.EngineTypes.startp = _startpos__6_;
16163 MenhirLib.EngineTypes.endp = _endpos__6_;
16164 MenhirLib.EngineTypes.next = {
16165 MenhirLib.EngineTypes.semv = ids;
16166 MenhirLib.EngineTypes.startp = _startpos_ids_;
16167 MenhirLib.EngineTypes.endp = _endpos_ids_;
16168 MenhirLib.EngineTypes.next = {
16169 MenhirLib.EngineTypes.startp = _startpos__4_;
16170 MenhirLib.EngineTypes.endp = _endpos__4_;
16171 MenhirLib.EngineTypes.next = {
16172 MenhirLib.EngineTypes.startp = _startpos__3_;
16173 MenhirLib.EngineTypes.endp = _endpos__3_;
16174 MenhirLib.EngineTypes.next = {
16175 MenhirLib.EngineTypes.semv = ispure;
16176 MenhirLib.EngineTypes.startp = _startpos_ispure_;
16177 MenhirLib.EngineTypes.endp = _endpos_ispure_;
16178 MenhirLib.EngineTypes.next = {
16179 MenhirLib.EngineTypes.state = _menhir_s;
16180 MenhirLib.EngineTypes.semv = ar;
16181 MenhirLib.EngineTypes.startp = _startpos_ar_;
16182 MenhirLib.EngineTypes.endp = _endpos_ar_;
16183 MenhirLib.EngineTypes.next = _menhir_stack;
16184 };
16185 };
16186 };
16187 };
16188 };
16189 } = _menhir_stack in
16190 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
16191 let ispure : 'tv_pure = Obj.magic ispure in
16192 let ar : 'tv_arity = Obj.magic ar in
16193 let _startpos = _startpos_ar_ in
16194 let _endpos = _endpos__6_ in
16195 let _v : 'tv_metadec = let kindfn =
16196
16197 # 342 "parser_cocci_menhir.mly"
16198 ( (fun arity name pure check_meta ->
16199 let tok = check_meta(Ast.MetaStmListDecl(arity,name)) in
16200 !Data.add_stmlist_meta name pure; tok) )
16201 # 16202 "parser_cocci_menhir.ml"
16202
16203 in
16204
16205 # 263 "parser_cocci_menhir.mly"
16206 ( P.create_metadec ar ispure kindfn ids )
16207 # 16208 "parser_cocci_menhir.ml"
16208 in
16209 _menhir_env.MenhirLib.EngineTypes.stack <- {
16210 MenhirLib.EngineTypes.state = _menhir_s;
16211 MenhirLib.EngineTypes.semv = Obj.repr _v;
16212 MenhirLib.EngineTypes.startp = _startpos;
16213 MenhirLib.EngineTypes.endp = _endpos;
16214 MenhirLib.EngineTypes.next = _menhir_stack;
16215 });
16216 (fun _menhir_env ->
16217 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16218 let {
16219 MenhirLib.EngineTypes.startp = _startpos__5_;
16220 MenhirLib.EngineTypes.endp = _endpos__5_;
16221 MenhirLib.EngineTypes.next = {
16222 MenhirLib.EngineTypes.semv = ids;
16223 MenhirLib.EngineTypes.startp = _startpos_ids_;
16224 MenhirLib.EngineTypes.endp = _endpos_ids_;
16225 MenhirLib.EngineTypes.next = {
16226 MenhirLib.EngineTypes.startp = _startpos__3_;
16227 MenhirLib.EngineTypes.endp = _endpos__3_;
16228 MenhirLib.EngineTypes.next = {
16229 MenhirLib.EngineTypes.semv = ispure;
16230 MenhirLib.EngineTypes.startp = _startpos_ispure_;
16231 MenhirLib.EngineTypes.endp = _endpos_ispure_;
16232 MenhirLib.EngineTypes.next = {
16233 MenhirLib.EngineTypes.state = _menhir_s;
16234 MenhirLib.EngineTypes.semv = ar;
16235 MenhirLib.EngineTypes.startp = _startpos_ar_;
16236 MenhirLib.EngineTypes.endp = _endpos_ar_;
16237 MenhirLib.EngineTypes.next = _menhir_stack;
16238 };
16239 };
16240 };
16241 };
16242 } = _menhir_stack in
16243 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
16244 let ispure : 'tv_pure = Obj.magic ispure in
16245 let ar : 'tv_arity = Obj.magic ar in
16246 let _startpos = _startpos_ar_ in
16247 let _endpos = _endpos__5_ in
16248 let _v : 'tv_metadec = let kindfn =
16249
16250 # 346 "parser_cocci_menhir.mly"
16251 ( (fun arity (_,name) pure check_meta ->
16252 if arity = Ast.NONE && pure = Ast0.Impure
16253 then (!Data.add_type_name name; [])
16254 else raise (Semantic_cocci.Semantic "bad typedef")) )
16255 # 16256 "parser_cocci_menhir.ml"
16256
16257 in
16258
16259 # 263 "parser_cocci_menhir.mly"
16260 ( P.create_metadec ar ispure kindfn ids )
16261 # 16262 "parser_cocci_menhir.ml"
16262 in
16263 _menhir_env.MenhirLib.EngineTypes.stack <- {
16264 MenhirLib.EngineTypes.state = _menhir_s;
16265 MenhirLib.EngineTypes.semv = Obj.repr _v;
16266 MenhirLib.EngineTypes.startp = _startpos;
16267 MenhirLib.EngineTypes.endp = _endpos;
16268 MenhirLib.EngineTypes.next = _menhir_stack;
16269 });
16270 (fun _menhir_env ->
16271 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16272 let {
16273 MenhirLib.EngineTypes.startp = _startpos__6_;
16274 MenhirLib.EngineTypes.endp = _endpos__6_;
16275 MenhirLib.EngineTypes.next = {
16276 MenhirLib.EngineTypes.semv = ids;
16277 MenhirLib.EngineTypes.startp = _startpos_ids_;
16278 MenhirLib.EngineTypes.endp = _endpos_ids_;
16279 MenhirLib.EngineTypes.next = {
16280 MenhirLib.EngineTypes.startp = _startpos__4_;
16281 MenhirLib.EngineTypes.endp = _endpos__4_;
16282 MenhirLib.EngineTypes.next = {
16283 MenhirLib.EngineTypes.startp = _startpos__3_;
16284 MenhirLib.EngineTypes.endp = _endpos__3_;
16285 MenhirLib.EngineTypes.next = {
16286 MenhirLib.EngineTypes.semv = ispure;
16287 MenhirLib.EngineTypes.startp = _startpos_ispure_;
16288 MenhirLib.EngineTypes.endp = _endpos_ispure_;
16289 MenhirLib.EngineTypes.next = {
16290 MenhirLib.EngineTypes.state = _menhir_s;
16291 MenhirLib.EngineTypes.semv = ar;
16292 MenhirLib.EngineTypes.startp = _startpos_ar_;
16293 MenhirLib.EngineTypes.endp = _endpos_ar_;
16294 MenhirLib.EngineTypes.next = _menhir_stack;
16295 };
16296 };
16297 };
16298 };
16299 };
16300 } = _menhir_stack in
16301 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
16302 let ispure : 'tv_pure = Obj.magic ispure in
16303 let ar : 'tv_arity = Obj.magic ar in
16304 let _startpos = _startpos_ar_ in
16305 let _endpos = _endpos__6_ in
16306 let _v : 'tv_metadec = let kindfn =
16307
16308 # 351 "parser_cocci_menhir.mly"
16309 ( (fun arity (_,name) pure check_meta ->
16310 if arity = Ast.NONE && pure = Ast0.Impure
16311 then (!Data.add_declarer_name name; [])
16312 else raise (Semantic_cocci.Semantic "bad declarer")) )
16313 # 16314 "parser_cocci_menhir.ml"
16314
16315 in
16316
16317 # 263 "parser_cocci_menhir.mly"
16318 ( P.create_metadec ar ispure kindfn ids )
16319 # 16320 "parser_cocci_menhir.ml"
16320 in
16321 _menhir_env.MenhirLib.EngineTypes.stack <- {
16322 MenhirLib.EngineTypes.state = _menhir_s;
16323 MenhirLib.EngineTypes.semv = Obj.repr _v;
16324 MenhirLib.EngineTypes.startp = _startpos;
16325 MenhirLib.EngineTypes.endp = _endpos;
16326 MenhirLib.EngineTypes.next = _menhir_stack;
16327 });
16328 (fun _menhir_env ->
16329 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16330 let {
16331 MenhirLib.EngineTypes.startp = _startpos__6_;
16332 MenhirLib.EngineTypes.endp = _endpos__6_;
16333 MenhirLib.EngineTypes.next = {
16334 MenhirLib.EngineTypes.semv = ids;
16335 MenhirLib.EngineTypes.startp = _startpos_ids_;
16336 MenhirLib.EngineTypes.endp = _endpos_ids_;
16337 MenhirLib.EngineTypes.next = {
16338 MenhirLib.EngineTypes.startp = _startpos__4_;
16339 MenhirLib.EngineTypes.endp = _endpos__4_;
16340 MenhirLib.EngineTypes.next = {
16341 MenhirLib.EngineTypes.startp = _startpos__3_;
16342 MenhirLib.EngineTypes.endp = _endpos__3_;
16343 MenhirLib.EngineTypes.next = {
16344 MenhirLib.EngineTypes.semv = ispure;
16345 MenhirLib.EngineTypes.startp = _startpos_ispure_;
16346 MenhirLib.EngineTypes.endp = _endpos_ispure_;
16347 MenhirLib.EngineTypes.next = {
16348 MenhirLib.EngineTypes.state = _menhir_s;
16349 MenhirLib.EngineTypes.semv = ar;
16350 MenhirLib.EngineTypes.startp = _startpos_ar_;
16351 MenhirLib.EngineTypes.endp = _endpos_ar_;
16352 MenhirLib.EngineTypes.next = _menhir_stack;
16353 };
16354 };
16355 };
16356 };
16357 };
16358 } = _menhir_stack in
16359 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
16360 let ispure : 'tv_pure = Obj.magic ispure in
16361 let ar : 'tv_arity = Obj.magic ar in
16362 let _startpos = _startpos_ar_ in
16363 let _endpos = _endpos__6_ in
16364 let _v : 'tv_metadec = let kindfn =
16365
16366 # 356 "parser_cocci_menhir.mly"
16367 ( (fun arity (_,name) pure check_meta ->
16368 if arity = Ast.NONE && pure = Ast0.Impure
16369 then (!Data.add_iterator_name name; [])
16370 else raise (Semantic_cocci.Semantic "bad iterator")) )
16371 # 16372 "parser_cocci_menhir.ml"
16372
16373 in
16374
16375 # 263 "parser_cocci_menhir.mly"
16376 ( P.create_metadec ar ispure kindfn ids )
16377 # 16378 "parser_cocci_menhir.ml"
16378 in
16379 _menhir_env.MenhirLib.EngineTypes.stack <- {
16380 MenhirLib.EngineTypes.state = _menhir_s;
16381 MenhirLib.EngineTypes.semv = Obj.repr _v;
16382 MenhirLib.EngineTypes.startp = _startpos;
16383 MenhirLib.EngineTypes.endp = _endpos;
16384 MenhirLib.EngineTypes.next = _menhir_stack;
16385 });
16386 (fun _menhir_env ->
16387 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16388 let {
16389 MenhirLib.EngineTypes.startp = _startpos__4_;
16390 MenhirLib.EngineTypes.endp = _endpos__4_;
16391 MenhirLib.EngineTypes.next = {
16392 MenhirLib.EngineTypes.semv = ids;
16393 MenhirLib.EngineTypes.startp = _startpos_ids_;
16394 MenhirLib.EngineTypes.endp = _endpos_ids_;
16395 MenhirLib.EngineTypes.next = {
16396 MenhirLib.EngineTypes.startp = _startpos__2_;
16397 MenhirLib.EngineTypes.endp = _endpos__2_;
16398 MenhirLib.EngineTypes.next = {
16399 MenhirLib.EngineTypes.state = _menhir_s;
16400 MenhirLib.EngineTypes.startp = _startpos__1_;
16401 MenhirLib.EngineTypes.endp = _endpos__1_;
16402 MenhirLib.EngineTypes.next = _menhir_stack;
16403 };
16404 };
16405 };
16406 } = _menhir_stack in
16407 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = Obj.magic ids in
16408 let _startpos = _startpos__1_ in
16409 let _endpos = _endpos__4_ in
16410 let _v : 'tv_metadec = let kindfn =
16411
16412 # 312 "parser_cocci_menhir.mly"
16413 ( (fun name check_meta seed ->
16414 let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in
16415 !Data.add_fresh_id_meta name; tok) )
16416 # 16417 "parser_cocci_menhir.ml"
16417
16418 in
16419
16420 # 266 "parser_cocci_menhir.mly"
16421 ( P.create_fresh_metadec kindfn ids )
16422 # 16423 "parser_cocci_menhir.ml"
16423 in
16424 _menhir_env.MenhirLib.EngineTypes.stack <- {
16425 MenhirLib.EngineTypes.state = _menhir_s;
16426 MenhirLib.EngineTypes.semv = Obj.repr _v;
16427 MenhirLib.EngineTypes.startp = _startpos;
16428 MenhirLib.EngineTypes.endp = _endpos;
16429 MenhirLib.EngineTypes.next = _menhir_stack;
16430 });
16431 (fun _menhir_env ->
16432 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16433 let {
16434 MenhirLib.EngineTypes.startp = _startpos__5_;
16435 MenhirLib.EngineTypes.endp = _endpos__5_;
16436 MenhirLib.EngineTypes.next = {
16437 MenhirLib.EngineTypes.semv = ids;
16438 MenhirLib.EngineTypes.startp = _startpos_ids_;
16439 MenhirLib.EngineTypes.endp = _endpos_ids_;
16440 MenhirLib.EngineTypes.next = {
16441 MenhirLib.EngineTypes.startp = _startpos__3_;
16442 MenhirLib.EngineTypes.endp = _endpos__3_;
16443 MenhirLib.EngineTypes.next = {
16444 MenhirLib.EngineTypes.semv = ispure;
16445 MenhirLib.EngineTypes.startp = _startpos_ispure_;
16446 MenhirLib.EngineTypes.endp = _endpos_ispure_;
16447 MenhirLib.EngineTypes.next = {
16448 MenhirLib.EngineTypes.state = _menhir_s;
16449 MenhirLib.EngineTypes.semv = ar;
16450 MenhirLib.EngineTypes.startp = _startpos_ar_;
16451 MenhirLib.EngineTypes.endp = _endpos_ar_;
16452 MenhirLib.EngineTypes.next = _menhir_stack;
16453 };
16454 };
16455 };
16456 };
16457 } = _menhir_stack in
16458 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eq__ = Obj.magic ids in
16459 let ispure : 'tv_pure = Obj.magic ispure in
16460 let ar : 'tv_arity = Obj.magic ar in
16461 let _startpos = _startpos_ar_ in
16462 let _endpos = _endpos__5_ in
16463 let _v : 'tv_metadec = let kindfn =
16464
16465 # 364 "parser_cocci_menhir.mly"
16466 ( (fun arity name pure check_meta constraints ->
16467 let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
16468 !Data.add_id_meta name constraints pure; tok) )
16469 # 16470 "parser_cocci_menhir.ml"
16470
16471 in
16472
16473 # 270 "parser_cocci_menhir.mly"
16474 ( P.create_metadec_ne ar ispure kindfn ids )
16475 # 16476 "parser_cocci_menhir.ml"
16476 in
16477 _menhir_env.MenhirLib.EngineTypes.stack <- {
16478 MenhirLib.EngineTypes.state = _menhir_s;
16479 MenhirLib.EngineTypes.semv = Obj.repr _v;
16480 MenhirLib.EngineTypes.startp = _startpos;
16481 MenhirLib.EngineTypes.endp = _endpos;
16482 MenhirLib.EngineTypes.next = _menhir_stack;
16483 });
16484 (fun _menhir_env ->
16485 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16486 let {
16487 MenhirLib.EngineTypes.startp = _startpos__5_;
16488 MenhirLib.EngineTypes.endp = _endpos__5_;
16489 MenhirLib.EngineTypes.next = {
16490 MenhirLib.EngineTypes.semv = ids;
16491 MenhirLib.EngineTypes.startp = _startpos_ids_;
16492 MenhirLib.EngineTypes.endp = _endpos_ids_;
16493 MenhirLib.EngineTypes.next = {
16494 MenhirLib.EngineTypes.startp = _startpos__3_;
16495 MenhirLib.EngineTypes.endp = _endpos__3_;
16496 MenhirLib.EngineTypes.next = {
16497 MenhirLib.EngineTypes.semv = ispure;
16498 MenhirLib.EngineTypes.startp = _startpos_ispure_;
16499 MenhirLib.EngineTypes.endp = _endpos_ispure_;
16500 MenhirLib.EngineTypes.next = {
16501 MenhirLib.EngineTypes.state = _menhir_s;
16502 MenhirLib.EngineTypes.semv = ar;
16503 MenhirLib.EngineTypes.startp = _startpos_ar_;
16504 MenhirLib.EngineTypes.endp = _endpos_ar_;
16505 MenhirLib.EngineTypes.next = _menhir_stack;
16506 };
16507 };
16508 };
16509 };
16510 } = _menhir_stack in
16511 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eq__ = Obj.magic ids in
16512 let ispure : 'tv_pure = Obj.magic ispure in
16513 let ar : 'tv_arity = Obj.magic ar in
16514 let _startpos = _startpos_ar_ in
16515 let _endpos = _endpos__5_ in
16516 let _v : 'tv_metadec = let kindfn =
16517
16518 # 368 "parser_cocci_menhir.mly"
16519 ( (fun arity name pure check_meta constraints ->
16520 let tok = check_meta(Ast.MetaFuncDecl(arity,name)) in
16521 !Data.add_func_meta name constraints pure; tok) )
16522 # 16523 "parser_cocci_menhir.ml"
16523
16524 in
16525
16526 # 270 "parser_cocci_menhir.mly"
16527 ( P.create_metadec_ne ar ispure kindfn ids )
16528 # 16529 "parser_cocci_menhir.ml"
16529 in
16530 _menhir_env.MenhirLib.EngineTypes.stack <- {
16531 MenhirLib.EngineTypes.state = _menhir_s;
16532 MenhirLib.EngineTypes.semv = Obj.repr _v;
16533 MenhirLib.EngineTypes.startp = _startpos;
16534 MenhirLib.EngineTypes.endp = _endpos;
16535 MenhirLib.EngineTypes.next = _menhir_stack;
16536 });
16537 (fun _menhir_env ->
16538 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16539 let {
16540 MenhirLib.EngineTypes.startp = _startpos__6_;
16541 MenhirLib.EngineTypes.endp = _endpos__6_;
16542 MenhirLib.EngineTypes.next = {
16543 MenhirLib.EngineTypes.semv = ids;
16544 MenhirLib.EngineTypes.startp = _startpos_ids_;
16545 MenhirLib.EngineTypes.endp = _endpos_ids_;
16546 MenhirLib.EngineTypes.next = {
16547 MenhirLib.EngineTypes.startp = _startpos__4_;
16548 MenhirLib.EngineTypes.endp = _endpos__4_;
16549 MenhirLib.EngineTypes.next = {
16550 MenhirLib.EngineTypes.startp = _startpos__3_;
16551 MenhirLib.EngineTypes.endp = _endpos__3_;
16552 MenhirLib.EngineTypes.next = {
16553 MenhirLib.EngineTypes.semv = ispure;
16554 MenhirLib.EngineTypes.startp = _startpos_ispure_;
16555 MenhirLib.EngineTypes.endp = _endpos_ispure_;
16556 MenhirLib.EngineTypes.next = {
16557 MenhirLib.EngineTypes.state = _menhir_s;
16558 MenhirLib.EngineTypes.semv = ar;
16559 MenhirLib.EngineTypes.startp = _startpos_ar_;
16560 MenhirLib.EngineTypes.endp = _endpos_ar_;
16561 MenhirLib.EngineTypes.next = _menhir_stack;
16562 };
16563 };
16564 };
16565 };
16566 };
16567 } = _menhir_stack in
16568 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eq__ = Obj.magic ids in
16569 let ispure : 'tv_pure = Obj.magic ispure in
16570 let ar : 'tv_arity = Obj.magic ar in
16571 let _startpos = _startpos_ar_ in
16572 let _endpos = _endpos__6_ in
16573 let _v : 'tv_metadec = let kindfn =
16574
16575 # 372 "parser_cocci_menhir.mly"
16576 ( (fun arity name pure check_meta constraints ->
16577 let tok = check_meta(Ast.MetaLocalFuncDecl(arity,name)) in
16578 !Data.add_local_func_meta name constraints pure;
16579 tok) )
16580 # 16581 "parser_cocci_menhir.ml"
16581
16582 in
16583
16584 # 270 "parser_cocci_menhir.mly"
16585 ( P.create_metadec_ne ar ispure kindfn ids )
16586 # 16587 "parser_cocci_menhir.ml"
16587 in
16588 _menhir_env.MenhirLib.EngineTypes.stack <- {
16589 MenhirLib.EngineTypes.state = _menhir_s;
16590 MenhirLib.EngineTypes.semv = Obj.repr _v;
16591 MenhirLib.EngineTypes.startp = _startpos;
16592 MenhirLib.EngineTypes.endp = _endpos;
16593 MenhirLib.EngineTypes.next = _menhir_stack;
16594 });
16595 (fun _menhir_env ->
16596 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16597 let {
16598 MenhirLib.EngineTypes.startp = _startpos__5_;
16599 MenhirLib.EngineTypes.endp = _endpos__5_;
16600 MenhirLib.EngineTypes.next = {
16601 MenhirLib.EngineTypes.semv = ids;
16602 MenhirLib.EngineTypes.startp = _startpos_ids_;
16603 MenhirLib.EngineTypes.endp = _endpos_ids_;
16604 MenhirLib.EngineTypes.next = {
16605 MenhirLib.EngineTypes.startp = _startpos__3_;
16606 MenhirLib.EngineTypes.endp = _endpos__3_;
16607 MenhirLib.EngineTypes.next = {
16608 MenhirLib.EngineTypes.semv = ispure;
16609 MenhirLib.EngineTypes.startp = _startpos_ispure_;
16610 MenhirLib.EngineTypes.endp = _endpos_ispure_;
16611 MenhirLib.EngineTypes.next = {
16612 MenhirLib.EngineTypes.state = _menhir_s;
16613 MenhirLib.EngineTypes.semv = ar;
16614 MenhirLib.EngineTypes.startp = _startpos_ar_;
16615 MenhirLib.EngineTypes.endp = _endpos_ar_;
16616 MenhirLib.EngineTypes.next = _menhir_stack;
16617 };
16618 };
16619 };
16620 };
16621 } = _menhir_stack in
16622 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eq__ = Obj.magic ids in
16623 let ispure : 'tv_pure = Obj.magic ispure in
16624 let ar : 'tv_arity = Obj.magic ar in
16625 let _startpos = _startpos_ar_ in
16626 let _endpos = _endpos__5_ in
16627 let _v : 'tv_metadec = let kindfn =
16628
16629 # 377 "parser_cocci_menhir.mly"
16630 ( (fun arity name pure check_meta constraints ->
16631 let tok = check_meta(Ast.MetaDeclarerDecl(arity,name)) in
16632 !Data.add_declarer_meta name constraints pure; tok) )
16633 # 16634 "parser_cocci_menhir.ml"
16634
16635 in
16636
16637 # 270 "parser_cocci_menhir.mly"
16638 ( P.create_metadec_ne ar ispure kindfn ids )
16639 # 16640 "parser_cocci_menhir.ml"
16640 in
16641 _menhir_env.MenhirLib.EngineTypes.stack <- {
16642 MenhirLib.EngineTypes.state = _menhir_s;
16643 MenhirLib.EngineTypes.semv = Obj.repr _v;
16644 MenhirLib.EngineTypes.startp = _startpos;
16645 MenhirLib.EngineTypes.endp = _endpos;
16646 MenhirLib.EngineTypes.next = _menhir_stack;
16647 });
16648 (fun _menhir_env ->
16649 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16650 let {
16651 MenhirLib.EngineTypes.startp = _startpos__5_;
16652 MenhirLib.EngineTypes.endp = _endpos__5_;
16653 MenhirLib.EngineTypes.next = {
16654 MenhirLib.EngineTypes.semv = ids;
16655 MenhirLib.EngineTypes.startp = _startpos_ids_;
16656 MenhirLib.EngineTypes.endp = _endpos_ids_;
16657 MenhirLib.EngineTypes.next = {
16658 MenhirLib.EngineTypes.startp = _startpos__3_;
16659 MenhirLib.EngineTypes.endp = _endpos__3_;
16660 MenhirLib.EngineTypes.next = {
16661 MenhirLib.EngineTypes.semv = ispure;
16662 MenhirLib.EngineTypes.startp = _startpos_ispure_;
16663 MenhirLib.EngineTypes.endp = _endpos_ispure_;
16664 MenhirLib.EngineTypes.next = {
16665 MenhirLib.EngineTypes.state = _menhir_s;
16666 MenhirLib.EngineTypes.semv = ar;
16667 MenhirLib.EngineTypes.startp = _startpos_ar_;
16668 MenhirLib.EngineTypes.endp = _endpos_ar_;
16669 MenhirLib.EngineTypes.next = _menhir_stack;
16670 };
16671 };
16672 };
16673 };
16674 } = _menhir_stack in
16675 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eq__ = Obj.magic ids in
16676 let ispure : 'tv_pure = Obj.magic ispure in
16677 let ar : 'tv_arity = Obj.magic ar in
16678 let _startpos = _startpos_ar_ in
16679 let _endpos = _endpos__5_ in
16680 let _v : 'tv_metadec = let kindfn =
16681
16682 # 381 "parser_cocci_menhir.mly"
16683 ( (fun arity name pure check_meta constraints ->
16684 let tok = check_meta(Ast.MetaIteratorDecl(arity,name)) in
16685 !Data.add_iterator_meta name constraints pure; tok) )
16686 # 16687 "parser_cocci_menhir.ml"
16687
16688 in
16689
16690 # 270 "parser_cocci_menhir.mly"
16691 ( P.create_metadec_ne ar ispure kindfn ids )
16692 # 16693 "parser_cocci_menhir.ml"
16693 in
16694 _menhir_env.MenhirLib.EngineTypes.stack <- {
16695 MenhirLib.EngineTypes.state = _menhir_s;
16696 MenhirLib.EngineTypes.semv = Obj.repr _v;
16697 MenhirLib.EngineTypes.startp = _startpos;
16698 MenhirLib.EngineTypes.endp = _endpos;
16699 MenhirLib.EngineTypes.next = _menhir_stack;
16700 });
16701 (fun _menhir_env ->
16702 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16703 let {
16704 MenhirLib.EngineTypes.startp = _startpos__5_;
16705 MenhirLib.EngineTypes.endp = _endpos__5_;
16706 MenhirLib.EngineTypes.next = {
16707 MenhirLib.EngineTypes.semv = ids;
16708 MenhirLib.EngineTypes.startp = _startpos_ids_;
16709 MenhirLib.EngineTypes.endp = _endpos_ids_;
16710 MenhirLib.EngineTypes.next = {
16711 MenhirLib.EngineTypes.startp = _startpos__3_;
16712 MenhirLib.EngineTypes.endp = _endpos__3_;
16713 MenhirLib.EngineTypes.next = {
16714 MenhirLib.EngineTypes.semv = ispure;
16715 MenhirLib.EngineTypes.startp = _startpos_ispure_;
16716 MenhirLib.EngineTypes.endp = _endpos_ispure_;
16717 MenhirLib.EngineTypes.next = {
16718 MenhirLib.EngineTypes.state = _menhir_s;
16719 MenhirLib.EngineTypes.semv = ar;
16720 MenhirLib.EngineTypes.startp = _startpos_ar_;
16721 MenhirLib.EngineTypes.endp = _endpos_ar_;
16722 MenhirLib.EngineTypes.next = _menhir_stack;
16723 };
16724 };
16725 };
16726 };
16727 } = _menhir_stack in
16728 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic ids in
16729 let ispure : 'tv_pure = Obj.magic ispure in
16730 let ar : 'tv_arity = Obj.magic ar in
16731 let _startpos = _startpos_ar_ in
16732 let _endpos = _endpos__5_ in
16733 let _v : 'tv_metadec = let kindfn =
16734
16735 # 387 "parser_cocci_menhir.mly"
16736 ( (fun arity name pure check_meta constraints ->
16737 let tok = check_meta(Ast.MetaErrDecl(arity,name)) in
16738 !Data.add_err_meta name constraints pure; tok) )
16739 # 16740 "parser_cocci_menhir.ml"
16740
16741 in
16742
16743 # 274 "parser_cocci_menhir.mly"
16744 ( P.create_metadec_ne ar ispure kindfn ids )
16745 # 16746 "parser_cocci_menhir.ml"
16746 in
16747 _menhir_env.MenhirLib.EngineTypes.stack <- {
16748 MenhirLib.EngineTypes.state = _menhir_s;
16749 MenhirLib.EngineTypes.semv = Obj.repr _v;
16750 MenhirLib.EngineTypes.startp = _startpos;
16751 MenhirLib.EngineTypes.endp = _endpos;
16752 MenhirLib.EngineTypes.next = _menhir_stack;
16753 });
16754 (fun _menhir_env ->
16755 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16756 let {
16757 MenhirLib.EngineTypes.startp = _startpos__6_;
16758 MenhirLib.EngineTypes.endp = _endpos__6_;
16759 MenhirLib.EngineTypes.next = {
16760 MenhirLib.EngineTypes.semv = ids;
16761 MenhirLib.EngineTypes.startp = _startpos_ids_;
16762 MenhirLib.EngineTypes.endp = _endpos_ids_;
16763 MenhirLib.EngineTypes.next = {
16764 MenhirLib.EngineTypes.startp = _startpos__4_;
16765 MenhirLib.EngineTypes.endp = _endpos__4_;
16766 MenhirLib.EngineTypes.next = {
16767 MenhirLib.EngineTypes.semv = l0;
16768 MenhirLib.EngineTypes.startp = _startpos_l0_;
16769 MenhirLib.EngineTypes.endp = _endpos_l0_;
16770 MenhirLib.EngineTypes.next = {
16771 MenhirLib.EngineTypes.semv = ispure;
16772 MenhirLib.EngineTypes.startp = _startpos_ispure_;
16773 MenhirLib.EngineTypes.endp = _endpos_ispure_;
16774 MenhirLib.EngineTypes.next = {
16775 MenhirLib.EngineTypes.state = _menhir_s;
16776 MenhirLib.EngineTypes.semv = ar;
16777 MenhirLib.EngineTypes.startp = _startpos_ar_;
16778 MenhirLib.EngineTypes.endp = _endpos_ar_;
16779 MenhirLib.EngineTypes.next = _menhir_stack;
16780 };
16781 };
16782 };
16783 };
16784 };
16785 } = _menhir_stack in
16786 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic ids in
16787 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
16788 let ispure : 'tv_pure = Obj.magic ispure in
16789 let ar : 'tv_arity = Obj.magic ar in
16790 let _startpos = _startpos_ar_ in
16791 let _endpos = _endpos__6_ in
16792 let _v : 'tv_metadec = let kindfn =
16793 let l = l0 in
16794 let ty =
16795
16796 # 39 "standard.mly"
16797 ( None )
16798 # 16799 "parser_cocci_menhir.ml"
16799
16800 in
16801
16802 # 391 "parser_cocci_menhir.mly"
16803 ( (fun arity name pure check_meta constraints ->
16804 match l with
16805 None ->
16806 !Data.add_idexp_meta ty name constraints pure;
16807 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
16808 | Some _ ->
16809 !Data.add_local_idexp_meta ty name constraints pure;
16810 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
16811 # 16812 "parser_cocci_menhir.ml"
16812
16813 in
16814
16815 # 274 "parser_cocci_menhir.mly"
16816 ( P.create_metadec_ne ar ispure kindfn ids )
16817 # 16818 "parser_cocci_menhir.ml"
16818 in
16819 _menhir_env.MenhirLib.EngineTypes.stack <- {
16820 MenhirLib.EngineTypes.state = _menhir_s;
16821 MenhirLib.EngineTypes.semv = Obj.repr _v;
16822 MenhirLib.EngineTypes.startp = _startpos;
16823 MenhirLib.EngineTypes.endp = _endpos;
16824 MenhirLib.EngineTypes.next = _menhir_stack;
16825 });
16826 (fun _menhir_env ->
16827 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16828 let {
16829 MenhirLib.EngineTypes.startp = _startpos__7_;
16830 MenhirLib.EngineTypes.endp = _endpos__7_;
16831 MenhirLib.EngineTypes.next = {
16832 MenhirLib.EngineTypes.semv = ids;
16833 MenhirLib.EngineTypes.startp = _startpos_ids_;
16834 MenhirLib.EngineTypes.endp = _endpos_ids_;
16835 MenhirLib.EngineTypes.next = {
16836 MenhirLib.EngineTypes.semv = x00;
16837 MenhirLib.EngineTypes.startp = _startpos_x00_;
16838 MenhirLib.EngineTypes.endp = _endpos_x00_;
16839 MenhirLib.EngineTypes.next = {
16840 MenhirLib.EngineTypes.startp = _startpos__4_;
16841 MenhirLib.EngineTypes.endp = _endpos__4_;
16842 MenhirLib.EngineTypes.next = {
16843 MenhirLib.EngineTypes.semv = l0;
16844 MenhirLib.EngineTypes.startp = _startpos_l0_;
16845 MenhirLib.EngineTypes.endp = _endpos_l0_;
16846 MenhirLib.EngineTypes.next = {
16847 MenhirLib.EngineTypes.semv = ispure;
16848 MenhirLib.EngineTypes.startp = _startpos_ispure_;
16849 MenhirLib.EngineTypes.endp = _endpos_ispure_;
16850 MenhirLib.EngineTypes.next = {
16851 MenhirLib.EngineTypes.state = _menhir_s;
16852 MenhirLib.EngineTypes.semv = ar;
16853 MenhirLib.EngineTypes.startp = _startpos_ar_;
16854 MenhirLib.EngineTypes.endp = _endpos_ar_;
16855 MenhirLib.EngineTypes.next = _menhir_stack;
16856 };
16857 };
16858 };
16859 };
16860 };
16861 };
16862 } = _menhir_stack in
16863 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic ids in
16864 let x00 : 'tv_meta_exp_type = Obj.magic x00 in
16865 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
16866 let ispure : 'tv_pure = Obj.magic ispure in
16867 let ar : 'tv_arity = Obj.magic ar in
16868 let _startpos = _startpos_ar_ in
16869 let _endpos = _endpos__7_ in
16870 let _v : 'tv_metadec = let kindfn =
16871 let x0 = x00 in
16872 let l = l0 in
16873 let ty =
16874 let x = x0 in
16875
16876 # 41 "standard.mly"
16877 ( Some x )
16878 # 16879 "parser_cocci_menhir.ml"
16879
16880 in
16881
16882 # 391 "parser_cocci_menhir.mly"
16883 ( (fun arity name pure check_meta constraints ->
16884 match l with
16885 None ->
16886 !Data.add_idexp_meta ty name constraints pure;
16887 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
16888 | Some _ ->
16889 !Data.add_local_idexp_meta ty name constraints pure;
16890 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
16891 # 16892 "parser_cocci_menhir.ml"
16892
16893 in
16894
16895 # 274 "parser_cocci_menhir.mly"
16896 ( P.create_metadec_ne ar ispure kindfn ids )
16897 # 16898 "parser_cocci_menhir.ml"
16898 in
16899 _menhir_env.MenhirLib.EngineTypes.stack <- {
16900 MenhirLib.EngineTypes.state = _menhir_s;
16901 MenhirLib.EngineTypes.semv = Obj.repr _v;
16902 MenhirLib.EngineTypes.startp = _startpos;
16903 MenhirLib.EngineTypes.endp = _endpos;
16904 MenhirLib.EngineTypes.next = _menhir_stack;
16905 });
16906 (fun _menhir_env ->
16907 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16908 let {
16909 MenhirLib.EngineTypes.startp = _startpos__7_;
16910 MenhirLib.EngineTypes.endp = _endpos__7_;
16911 MenhirLib.EngineTypes.next = {
16912 MenhirLib.EngineTypes.semv = ids;
16913 MenhirLib.EngineTypes.startp = _startpos_ids_;
16914 MenhirLib.EngineTypes.endp = _endpos_ids_;
16915 MenhirLib.EngineTypes.next = {
16916 MenhirLib.EngineTypes.semv = m0;
16917 MenhirLib.EngineTypes.startp = _startpos_m0_;
16918 MenhirLib.EngineTypes.endp = _endpos_m0_;
16919 MenhirLib.EngineTypes.next = {
16920 MenhirLib.EngineTypes.startp = _startpos__4_;
16921 MenhirLib.EngineTypes.endp = _endpos__4_;
16922 MenhirLib.EngineTypes.next = {
16923 MenhirLib.EngineTypes.semv = l0;
16924 MenhirLib.EngineTypes.startp = _startpos_l0_;
16925 MenhirLib.EngineTypes.endp = _endpos_l0_;
16926 MenhirLib.EngineTypes.next = {
16927 MenhirLib.EngineTypes.semv = ispure;
16928 MenhirLib.EngineTypes.startp = _startpos_ispure_;
16929 MenhirLib.EngineTypes.endp = _endpos_ispure_;
16930 MenhirLib.EngineTypes.next = {
16931 MenhirLib.EngineTypes.state = _menhir_s;
16932 MenhirLib.EngineTypes.semv = ar;
16933 MenhirLib.EngineTypes.startp = _startpos_ar_;
16934 MenhirLib.EngineTypes.endp = _endpos_ar_;
16935 MenhirLib.EngineTypes.next = _menhir_stack;
16936 };
16937 };
16938 };
16939 };
16940 };
16941 };
16942 } = _menhir_stack in
16943 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic ids in
16944 let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
16945 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
16946 let ispure : 'tv_pure = Obj.magic ispure in
16947 let ar : 'tv_arity = Obj.magic ar in
16948 let _startpos = _startpos_ar_ in
16949 let _endpos = _endpos__7_ in
16950 let _v : 'tv_metadec = let kindfn =
16951 let m = m0 in
16952 let l = l0 in
16953
16954 # 400 "parser_cocci_menhir.mly"
16955 ( (fun arity name pure check_meta constraints ->
16956 let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
16957 match l with
16958 None ->
16959 !Data.add_idexp_meta ty name constraints pure;
16960 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
16961 | Some _ ->
16962 !Data.add_local_idexp_meta ty name constraints pure;
16963 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
16964 # 16965 "parser_cocci_menhir.ml"
16965
16966 in
16967
16968 # 274 "parser_cocci_menhir.mly"
16969 ( P.create_metadec_ne ar ispure kindfn ids )
16970 # 16971 "parser_cocci_menhir.ml"
16971 in
16972 _menhir_env.MenhirLib.EngineTypes.stack <- {
16973 MenhirLib.EngineTypes.state = _menhir_s;
16974 MenhirLib.EngineTypes.semv = Obj.repr _v;
16975 MenhirLib.EngineTypes.startp = _startpos;
16976 MenhirLib.EngineTypes.endp = _endpos;
16977 MenhirLib.EngineTypes.next = _menhir_stack;
16978 });
16979 (fun _menhir_env ->
16980 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16981 let {
16982 MenhirLib.EngineTypes.startp = _startpos__6_;
16983 MenhirLib.EngineTypes.endp = _endpos__6_;
16984 MenhirLib.EngineTypes.next = {
16985 MenhirLib.EngineTypes.semv = ids;
16986 MenhirLib.EngineTypes.startp = _startpos_ids_;
16987 MenhirLib.EngineTypes.endp = _endpos_ids_;
16988 MenhirLib.EngineTypes.next = {
16989 MenhirLib.EngineTypes.semv = m0;
16990 MenhirLib.EngineTypes.startp = _startpos_m0_;
16991 MenhirLib.EngineTypes.endp = _endpos_m0_;
16992 MenhirLib.EngineTypes.next = {
16993 MenhirLib.EngineTypes.startp = _startpos__3_;
16994 MenhirLib.EngineTypes.endp = _endpos__3_;
16995 MenhirLib.EngineTypes.next = {
16996 MenhirLib.EngineTypes.semv = ispure;
16997 MenhirLib.EngineTypes.startp = _startpos_ispure_;
16998 MenhirLib.EngineTypes.endp = _endpos_ispure_;
16999 MenhirLib.EngineTypes.next = {
17000 MenhirLib.EngineTypes.state = _menhir_s;
17001 MenhirLib.EngineTypes.semv = ar;
17002 MenhirLib.EngineTypes.startp = _startpos_ar_;
17003 MenhirLib.EngineTypes.endp = _endpos_ar_;
17004 MenhirLib.EngineTypes.next = _menhir_stack;
17005 };
17006 };
17007 };
17008 };
17009 };
17010 } = _menhir_stack in
17011 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic ids in
17012 let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
17013 let ispure : 'tv_pure = Obj.magic ispure in
17014 let ar : 'tv_arity = Obj.magic ar in
17015 let _startpos = _startpos_ar_ in
17016 let _endpos = _endpos__6_ in
17017 let _v : 'tv_metadec = let kindfn =
17018 let m = m0 in
17019
17020 # 410 "parser_cocci_menhir.mly"
17021 ( (fun arity name pure check_meta constraints ->
17022 let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
17023 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
17024 !Data.add_exp_meta ty name constraints pure; tok) )
17025 # 17026 "parser_cocci_menhir.ml"
17026
17027 in
17028
17029 # 274 "parser_cocci_menhir.mly"
17030 ( P.create_metadec_ne ar ispure kindfn ids )
17031 # 17032 "parser_cocci_menhir.ml"
17032 in
17033 _menhir_env.MenhirLib.EngineTypes.stack <- {
17034 MenhirLib.EngineTypes.state = _menhir_s;
17035 MenhirLib.EngineTypes.semv = Obj.repr _v;
17036 MenhirLib.EngineTypes.startp = _startpos;
17037 MenhirLib.EngineTypes.endp = _endpos;
17038 MenhirLib.EngineTypes.next = _menhir_stack;
17039 });
17040 (fun _menhir_env ->
17041 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17042 let {
17043 MenhirLib.EngineTypes.startp = _startpos__7_;
17044 MenhirLib.EngineTypes.endp = _endpos__7_;
17045 MenhirLib.EngineTypes.next = {
17046 MenhirLib.EngineTypes.semv = ids;
17047 MenhirLib.EngineTypes.startp = _startpos_ids_;
17048 MenhirLib.EngineTypes.endp = _endpos_ids_;
17049 MenhirLib.EngineTypes.next = {
17050 MenhirLib.EngineTypes.startp = _startpos__5_;
17051 MenhirLib.EngineTypes.endp = _endpos__5_;
17052 MenhirLib.EngineTypes.next = {
17053 MenhirLib.EngineTypes.startp = _startpos__4_;
17054 MenhirLib.EngineTypes.endp = _endpos__4_;
17055 MenhirLib.EngineTypes.next = {
17056 MenhirLib.EngineTypes.semv = vl0;
17057 MenhirLib.EngineTypes.startp = _startpos_vl0_;
17058 MenhirLib.EngineTypes.endp = _endpos_vl0_;
17059 MenhirLib.EngineTypes.next = {
17060 MenhirLib.EngineTypes.semv = ispure;
17061 MenhirLib.EngineTypes.startp = _startpos_ispure_;
17062 MenhirLib.EngineTypes.endp = _endpos_ispure_;
17063 MenhirLib.EngineTypes.next = {
17064 MenhirLib.EngineTypes.state = _menhir_s;
17065 MenhirLib.EngineTypes.semv = ar;
17066 MenhirLib.EngineTypes.startp = _startpos_ar_;
17067 MenhirLib.EngineTypes.endp = _endpos_ar_;
17068 MenhirLib.EngineTypes.next = _menhir_stack;
17069 };
17070 };
17071 };
17072 };
17073 };
17074 };
17075 } = _menhir_stack in
17076 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic ids in
17077 let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
17078 let ispure : 'tv_pure = Obj.magic ispure in
17079 let ar : 'tv_arity = Obj.magic ar in
17080 let _startpos = _startpos_ar_ in
17081 let _endpos = _endpos__7_ in
17082 let _v : 'tv_metadec = let kindfn =
17083 let vl = vl0 in
17084
17085 # 415 "parser_cocci_menhir.mly"
17086 ( (fun arity name pure check_meta constraints ->
17087 let ty = Some (List.map (function x -> Type_cocci.Array x) vl) in
17088 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
17089 !Data.add_exp_meta ty name constraints pure; tok) )
17090 # 17091 "parser_cocci_menhir.ml"
17091
17092 in
17093
17094 # 274 "parser_cocci_menhir.mly"
17095 ( P.create_metadec_ne ar ispure kindfn ids )
17096 # 17097 "parser_cocci_menhir.ml"
17097 in
17098 _menhir_env.MenhirLib.EngineTypes.stack <- {
17099 MenhirLib.EngineTypes.state = _menhir_s;
17100 MenhirLib.EngineTypes.semv = Obj.repr _v;
17101 MenhirLib.EngineTypes.startp = _startpos;
17102 MenhirLib.EngineTypes.endp = _endpos;
17103 MenhirLib.EngineTypes.next = _menhir_stack;
17104 });
17105 (fun _menhir_env ->
17106 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17107 let {
17108 MenhirLib.EngineTypes.startp = _startpos__5_;
17109 MenhirLib.EngineTypes.endp = _endpos__5_;
17110 MenhirLib.EngineTypes.next = {
17111 MenhirLib.EngineTypes.semv = ids;
17112 MenhirLib.EngineTypes.startp = _startpos_ids_;
17113 MenhirLib.EngineTypes.endp = _endpos_ids_;
17114 MenhirLib.EngineTypes.next = {
17115 MenhirLib.EngineTypes.startp = _startpos__3_;
17116 MenhirLib.EngineTypes.endp = _endpos__3_;
17117 MenhirLib.EngineTypes.next = {
17118 MenhirLib.EngineTypes.semv = ispure;
17119 MenhirLib.EngineTypes.startp = _startpos_ispure_;
17120 MenhirLib.EngineTypes.endp = _endpos_ispure_;
17121 MenhirLib.EngineTypes.next = {
17122 MenhirLib.EngineTypes.state = _menhir_s;
17123 MenhirLib.EngineTypes.semv = ar;
17124 MenhirLib.EngineTypes.startp = _startpos_ar_;
17125 MenhirLib.EngineTypes.endp = _endpos_ar_;
17126 MenhirLib.EngineTypes.next = _menhir_stack;
17127 };
17128 };
17129 };
17130 };
17131 } = _menhir_stack in
17132 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic ids in
17133 let ispure : 'tv_pure = Obj.magic ispure in
17134 let ar : 'tv_arity = Obj.magic ar in
17135 let _startpos = _startpos_ar_ in
17136 let _endpos = _endpos__5_ in
17137 let _v : 'tv_metadec = let kindfn =
17138 let ty =
17139
17140 # 39 "standard.mly"
17141 ( None )
17142 # 17143 "parser_cocci_menhir.ml"
17143
17144 in
17145
17146 # 420 "parser_cocci_menhir.mly"
17147 ( (fun arity name pure check_meta constraints ->
17148 let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
17149 !Data.add_const_meta ty name constraints pure; tok) )
17150 # 17151 "parser_cocci_menhir.ml"
17151
17152 in
17153
17154 # 274 "parser_cocci_menhir.mly"
17155 ( P.create_metadec_ne ar ispure kindfn ids )
17156 # 17157 "parser_cocci_menhir.ml"
17157 in
17158 _menhir_env.MenhirLib.EngineTypes.stack <- {
17159 MenhirLib.EngineTypes.state = _menhir_s;
17160 MenhirLib.EngineTypes.semv = Obj.repr _v;
17161 MenhirLib.EngineTypes.startp = _startpos;
17162 MenhirLib.EngineTypes.endp = _endpos;
17163 MenhirLib.EngineTypes.next = _menhir_stack;
17164 });
17165 (fun _menhir_env ->
17166 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17167 let {
17168 MenhirLib.EngineTypes.startp = _startpos__6_;
17169 MenhirLib.EngineTypes.endp = _endpos__6_;
17170 MenhirLib.EngineTypes.next = {
17171 MenhirLib.EngineTypes.semv = ids;
17172 MenhirLib.EngineTypes.startp = _startpos_ids_;
17173 MenhirLib.EngineTypes.endp = _endpos_ids_;
17174 MenhirLib.EngineTypes.next = {
17175 MenhirLib.EngineTypes.semv = x00;
17176 MenhirLib.EngineTypes.startp = _startpos_x00_;
17177 MenhirLib.EngineTypes.endp = _endpos_x00_;
17178 MenhirLib.EngineTypes.next = {
17179 MenhirLib.EngineTypes.startp = _startpos__3_;
17180 MenhirLib.EngineTypes.endp = _endpos__3_;
17181 MenhirLib.EngineTypes.next = {
17182 MenhirLib.EngineTypes.semv = ispure;
17183 MenhirLib.EngineTypes.startp = _startpos_ispure_;
17184 MenhirLib.EngineTypes.endp = _endpos_ispure_;
17185 MenhirLib.EngineTypes.next = {
17186 MenhirLib.EngineTypes.state = _menhir_s;
17187 MenhirLib.EngineTypes.semv = ar;
17188 MenhirLib.EngineTypes.startp = _startpos_ar_;
17189 MenhirLib.EngineTypes.endp = _endpos_ar_;
17190 MenhirLib.EngineTypes.next = _menhir_stack;
17191 };
17192 };
17193 };
17194 };
17195 };
17196 } = _menhir_stack in
17197 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic ids in
17198 let x00 : 'tv_meta_exp_type = Obj.magic x00 in
17199 let ispure : 'tv_pure = Obj.magic ispure in
17200 let ar : 'tv_arity = Obj.magic ar in
17201 let _startpos = _startpos_ar_ in
17202 let _endpos = _endpos__6_ in
17203 let _v : 'tv_metadec = let kindfn =
17204 let x0 = x00 in
17205 let ty =
17206 let x = x0 in
17207
17208 # 41 "standard.mly"
17209 ( Some x )
17210 # 17211 "parser_cocci_menhir.ml"
17211
17212 in
17213
17214 # 420 "parser_cocci_menhir.mly"
17215 ( (fun arity name pure check_meta constraints ->
17216 let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
17217 !Data.add_const_meta ty name constraints pure; tok) )
17218 # 17219 "parser_cocci_menhir.ml"
17219
17220 in
17221
17222 # 274 "parser_cocci_menhir.mly"
17223 ( P.create_metadec_ne ar ispure kindfn ids )
17224 # 17225 "parser_cocci_menhir.ml"
17225 in
17226 _menhir_env.MenhirLib.EngineTypes.stack <- {
17227 MenhirLib.EngineTypes.state = _menhir_s;
17228 MenhirLib.EngineTypes.semv = Obj.repr _v;
17229 MenhirLib.EngineTypes.startp = _startpos;
17230 MenhirLib.EngineTypes.endp = _endpos;
17231 MenhirLib.EngineTypes.next = _menhir_stack;
17232 });
17233 (fun _menhir_env ->
17234 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17235 let {
17236 MenhirLib.EngineTypes.startp = _startpos__5_;
17237 MenhirLib.EngineTypes.endp = _endpos__5_;
17238 MenhirLib.EngineTypes.next = {
17239 MenhirLib.EngineTypes.semv = ids;
17240 MenhirLib.EngineTypes.startp = _startpos_ids_;
17241 MenhirLib.EngineTypes.endp = _endpos_ids_;
17242 MenhirLib.EngineTypes.next = {
17243 MenhirLib.EngineTypes.startp = _startpos__3_;
17244 MenhirLib.EngineTypes.endp = _endpos__3_;
17245 MenhirLib.EngineTypes.next = {
17246 MenhirLib.EngineTypes.semv = ispure;
17247 MenhirLib.EngineTypes.startp = _startpos_ispure_;
17248 MenhirLib.EngineTypes.endp = _endpos_ispure_;
17249 MenhirLib.EngineTypes.next = {
17250 MenhirLib.EngineTypes.state = _menhir_s;
17251 MenhirLib.EngineTypes.semv = ar;
17252 MenhirLib.EngineTypes.startp = _startpos_ar_;
17253 MenhirLib.EngineTypes.endp = _endpos_ar_;
17254 MenhirLib.EngineTypes.next = _menhir_stack;
17255 };
17256 };
17257 };
17258 };
17259 } = _menhir_stack in
17260 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_ceq__ = Obj.magic ids in
17261 let ispure : 'tv_pure = Obj.magic ispure in
17262 let ar : 'tv_arity = Obj.magic ar in
17263 let _startpos = _startpos_ar_ in
17264 let _endpos = _endpos__5_ in
17265 let _v : 'tv_metadec = let kindfn =
17266
17267 # 426 "parser_cocci_menhir.mly"
17268 ( (fun arity name pure check_meta constraints ->
17269 let tok = check_meta(Ast.MetaExpDecl(arity,name,None)) in
17270 !Data.add_exp_meta None name constraints pure; tok) )
17271 # 17272 "parser_cocci_menhir.ml"
17272
17273 in
17274
17275 # 278 "parser_cocci_menhir.mly"
17276 ( P.create_metadec_ne ar ispure kindfn ids )
17277 # 17278 "parser_cocci_menhir.ml"
17278 in
17279 _menhir_env.MenhirLib.EngineTypes.stack <- {
17280 MenhirLib.EngineTypes.state = _menhir_s;
17281 MenhirLib.EngineTypes.semv = Obj.repr _v;
17282 MenhirLib.EngineTypes.startp = _startpos;
17283 MenhirLib.EngineTypes.endp = _endpos;
17284 MenhirLib.EngineTypes.next = _menhir_stack;
17285 });
17286 (fun _menhir_env ->
17287 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17288 let {
17289 MenhirLib.EngineTypes.startp = _startpos__5_;
17290 MenhirLib.EngineTypes.endp = _endpos__5_;
17291 MenhirLib.EngineTypes.next = {
17292 MenhirLib.EngineTypes.semv = ids;
17293 MenhirLib.EngineTypes.startp = _startpos_ids_;
17294 MenhirLib.EngineTypes.endp = _endpos_ids_;
17295 MenhirLib.EngineTypes.next = {
17296 MenhirLib.EngineTypes.semv = vl0;
17297 MenhirLib.EngineTypes.startp = _startpos_vl0_;
17298 MenhirLib.EngineTypes.endp = _endpos_vl0_;
17299 MenhirLib.EngineTypes.next = {
17300 MenhirLib.EngineTypes.semv = ispure;
17301 MenhirLib.EngineTypes.startp = _startpos_ispure_;
17302 MenhirLib.EngineTypes.endp = _endpos_ispure_;
17303 MenhirLib.EngineTypes.next = {
17304 MenhirLib.EngineTypes.state = _menhir_s;
17305 MenhirLib.EngineTypes.semv = ar;
17306 MenhirLib.EngineTypes.startp = _startpos_ar_;
17307 MenhirLib.EngineTypes.endp = _endpos_ar_;
17308 MenhirLib.EngineTypes.next = _menhir_stack;
17309 };
17310 };
17311 };
17312 };
17313 } = _menhir_stack in
17314 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_ceq__ = Obj.magic ids in
17315 let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
17316 let ispure : 'tv_pure = Obj.magic ispure in
17317 let ar : 'tv_arity = Obj.magic ar in
17318 let _startpos = _startpos_ar_ in
17319 let _endpos = _endpos__5_ in
17320 let _v : 'tv_metadec = let kindfn =
17321 let vl = vl0 in
17322
17323 # 430 "parser_cocci_menhir.mly"
17324 ( (fun arity name pure check_meta constraints ->
17325 let ty = Some vl in
17326 List.iter
17327 (function c ->
17328 match Ast0.unwrap c with
17329 Ast0.Constant(_) ->
17330 if not
17331 (List.exists
17332 (function
17333 Type_cocci.BaseType(Type_cocci.IntType) -> true
17334 | Type_cocci.BaseType(Type_cocci.ShortType) -> true
17335 | Type_cocci.BaseType(Type_cocci.LongType) -> true
17336 | _ -> false)
17337 vl)
17338 then failwith "metavariable with int constraint must be an int"
17339 | _ -> ())
17340 constraints;
17341 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
17342 !Data.add_exp_meta ty name constraints pure; tok) )
17343 # 17344 "parser_cocci_menhir.ml"
17344
17345 in
17346
17347 # 278 "parser_cocci_menhir.mly"
17348 ( P.create_metadec_ne ar ispure kindfn ids )
17349 # 17350 "parser_cocci_menhir.ml"
17350 in
17351 _menhir_env.MenhirLib.EngineTypes.stack <- {
17352 MenhirLib.EngineTypes.state = _menhir_s;
17353 MenhirLib.EngineTypes.semv = Obj.repr _v;
17354 MenhirLib.EngineTypes.startp = _startpos;
17355 MenhirLib.EngineTypes.endp = _endpos;
17356 MenhirLib.EngineTypes.next = _menhir_stack;
17357 });
17358 (fun _menhir_env ->
17359 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17360 let {
17361 MenhirLib.EngineTypes.startp = _startpos__5_;
17362 MenhirLib.EngineTypes.endp = _endpos__5_;
17363 MenhirLib.EngineTypes.next = {
17364 MenhirLib.EngineTypes.semv = ids;
17365 MenhirLib.EngineTypes.startp = _startpos_ids_;
17366 MenhirLib.EngineTypes.endp = _endpos_ids_;
17367 MenhirLib.EngineTypes.next = {
17368 MenhirLib.EngineTypes.semv = a;
17369 MenhirLib.EngineTypes.startp = _startpos_a_;
17370 MenhirLib.EngineTypes.endp = _endpos_a_;
17371 MenhirLib.EngineTypes.next = {
17372 MenhirLib.EngineTypes.startp = _startpos__2_;
17373 MenhirLib.EngineTypes.endp = _endpos__2_;
17374 MenhirLib.EngineTypes.next = {
17375 MenhirLib.EngineTypes.state = _menhir_s;
17376 MenhirLib.EngineTypes.semv = ar;
17377 MenhirLib.EngineTypes.startp = _startpos_ar_;
17378 MenhirLib.EngineTypes.endp = _endpos_ar_;
17379 MenhirLib.EngineTypes.next = _menhir_stack;
17380 };
17381 };
17382 };
17383 };
17384 } = _menhir_stack in
17385 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_pos__ = Obj.magic ids in
17386 let a : 'tv_option_TPosAny_ = Obj.magic a in
17387 let ar : 'tv_arity = Obj.magic ar in
17388 let _startpos = _startpos_ar_ in
17389 let _endpos = _endpos__5_ in
17390 let _v : 'tv_metadec =
17391 # 284 "parser_cocci_menhir.mly"
17392 ( (if !Data.in_generating
17393 then failwith "position variables not allowed in a generated rule file");
17394 let kindfn arity name pure check_meta constraints =
17395 let tok = check_meta(Ast.MetaPosDecl(arity,name)) in
17396 let any = match a with None -> Ast.PER | Some _ -> Ast.ALL in
17397 !Data.add_pos_meta name constraints any; tok in
17398 P.create_metadec_ne ar false kindfn ids )
17399 # 17400 "parser_cocci_menhir.ml"
17400 in
17401 _menhir_env.MenhirLib.EngineTypes.stack <- {
17402 MenhirLib.EngineTypes.state = _menhir_s;
17403 MenhirLib.EngineTypes.semv = Obj.repr _v;
17404 MenhirLib.EngineTypes.startp = _startpos;
17405 MenhirLib.EngineTypes.endp = _endpos;
17406 MenhirLib.EngineTypes.next = _menhir_stack;
17407 });
17408 (fun _menhir_env ->
17409 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17410 let {
17411 MenhirLib.EngineTypes.startp = _startpos__9_;
17412 MenhirLib.EngineTypes.endp = _endpos__9_;
17413 MenhirLib.EngineTypes.next = {
17414 MenhirLib.EngineTypes.semv = ids;
17415 MenhirLib.EngineTypes.startp = _startpos_ids_;
17416 MenhirLib.EngineTypes.endp = _endpos_ids_;
17417 MenhirLib.EngineTypes.next = {
17418 MenhirLib.EngineTypes.startp = _startpos__7_;
17419 MenhirLib.EngineTypes.endp = _endpos__7_;
17420 MenhirLib.EngineTypes.next = {
17421 MenhirLib.EngineTypes.semv = id;
17422 MenhirLib.EngineTypes.startp = _startpos_id_;
17423 MenhirLib.EngineTypes.endp = _endpos_id_;
17424 MenhirLib.EngineTypes.next = {
17425 MenhirLib.EngineTypes.startp = _startpos__5_;
17426 MenhirLib.EngineTypes.endp = _endpos__5_;
17427 MenhirLib.EngineTypes.next = {
17428 MenhirLib.EngineTypes.startp = _startpos__4_;
17429 MenhirLib.EngineTypes.endp = _endpos__4_;
17430 MenhirLib.EngineTypes.next = {
17431 MenhirLib.EngineTypes.startp = _startpos__3_;
17432 MenhirLib.EngineTypes.endp = _endpos__3_;
17433 MenhirLib.EngineTypes.next = {
17434 MenhirLib.EngineTypes.semv = ispure;
17435 MenhirLib.EngineTypes.startp = _startpos_ispure_;
17436 MenhirLib.EngineTypes.endp = _endpos_ispure_;
17437 MenhirLib.EngineTypes.next = {
17438 MenhirLib.EngineTypes.state = _menhir_s;
17439 MenhirLib.EngineTypes.semv = ar;
17440 MenhirLib.EngineTypes.startp = _startpos_ar_;
17441 MenhirLib.EngineTypes.endp = _endpos_ar_;
17442 MenhirLib.EngineTypes.next = _menhir_stack;
17443 };
17444 };
17445 };
17446 };
17447 };
17448 };
17449 };
17450 };
17451 } = _menhir_stack in
17452 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
17453 let id : 'tv_pure_ident_or_meta_ident = Obj.magic id in
17454 let ispure : 'tv_pure = Obj.magic ispure in
17455 let ar : 'tv_arity = Obj.magic ar in
17456 let _startpos = _startpos_ar_ in
17457 let _endpos = _endpos__9_ in
17458 let _v : 'tv_metadec =
17459 # 294 "parser_cocci_menhir.mly"
17460 ( P.create_len_metadec ar ispure
17461 (fun lenname arity name pure check_meta ->
17462 let tok =
17463 check_meta(Ast.MetaParamListDecl(arity,name,Some lenname)) in
17464 !Data.add_paramlist_meta name (Some lenname) pure; tok)
17465 id ids )
17466 # 17467 "parser_cocci_menhir.ml"
17467 in
17468 _menhir_env.MenhirLib.EngineTypes.stack <- {
17469 MenhirLib.EngineTypes.state = _menhir_s;
17470 MenhirLib.EngineTypes.semv = Obj.repr _v;
17471 MenhirLib.EngineTypes.startp = _startpos;
17472 MenhirLib.EngineTypes.endp = _endpos;
17473 MenhirLib.EngineTypes.next = _menhir_stack;
17474 });
17475 (fun _menhir_env ->
17476 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17477 let {
17478 MenhirLib.EngineTypes.startp = _startpos__9_;
17479 MenhirLib.EngineTypes.endp = _endpos__9_;
17480 MenhirLib.EngineTypes.next = {
17481 MenhirLib.EngineTypes.semv = ids;
17482 MenhirLib.EngineTypes.startp = _startpos_ids_;
17483 MenhirLib.EngineTypes.endp = _endpos_ids_;
17484 MenhirLib.EngineTypes.next = {
17485 MenhirLib.EngineTypes.startp = _startpos__7_;
17486 MenhirLib.EngineTypes.endp = _endpos__7_;
17487 MenhirLib.EngineTypes.next = {
17488 MenhirLib.EngineTypes.semv = id;
17489 MenhirLib.EngineTypes.startp = _startpos_id_;
17490 MenhirLib.EngineTypes.endp = _endpos_id_;
17491 MenhirLib.EngineTypes.next = {
17492 MenhirLib.EngineTypes.startp = _startpos__5_;
17493 MenhirLib.EngineTypes.endp = _endpos__5_;
17494 MenhirLib.EngineTypes.next = {
17495 MenhirLib.EngineTypes.startp = _startpos__4_;
17496 MenhirLib.EngineTypes.endp = _endpos__4_;
17497 MenhirLib.EngineTypes.next = {
17498 MenhirLib.EngineTypes.startp = _startpos__3_;
17499 MenhirLib.EngineTypes.endp = _endpos__3_;
17500 MenhirLib.EngineTypes.next = {
17501 MenhirLib.EngineTypes.semv = ispure;
17502 MenhirLib.EngineTypes.startp = _startpos_ispure_;
17503 MenhirLib.EngineTypes.endp = _endpos_ispure_;
17504 MenhirLib.EngineTypes.next = {
17505 MenhirLib.EngineTypes.state = _menhir_s;
17506 MenhirLib.EngineTypes.semv = ar;
17507 MenhirLib.EngineTypes.startp = _startpos_ar_;
17508 MenhirLib.EngineTypes.endp = _endpos_ar_;
17509 MenhirLib.EngineTypes.next = _menhir_stack;
17510 };
17511 };
17512 };
17513 };
17514 };
17515 };
17516 };
17517 };
17518 } = _menhir_stack in
17519 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
17520 let id : 'tv_pure_ident_or_meta_ident = Obj.magic id in
17521 let ispure : 'tv_pure = Obj.magic ispure in
17522 let ar : 'tv_arity = Obj.magic ar in
17523 let _startpos = _startpos_ar_ in
17524 let _endpos = _endpos__9_ in
17525 let _v : 'tv_metadec =
17526 # 303 "parser_cocci_menhir.mly"
17527 ( P.create_len_metadec ar ispure
17528 (fun lenname arity name pure check_meta ->
17529 let tok =
17530 check_meta(Ast.MetaExpListDecl(arity,name,Some lenname)) in
17531 !Data.add_explist_meta name (Some lenname) pure; tok)
17532 id ids )
17533 # 17534 "parser_cocci_menhir.ml"
17534 in
17535 _menhir_env.MenhirLib.EngineTypes.stack <- {
17536 MenhirLib.EngineTypes.state = _menhir_s;
17537 MenhirLib.EngineTypes.semv = Obj.repr _v;
17538 MenhirLib.EngineTypes.startp = _startpos;
17539 MenhirLib.EngineTypes.endp = _endpos;
17540 MenhirLib.EngineTypes.next = _menhir_stack;
17541 });
17542 (fun _menhir_env ->
17543 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17544 let {
17545 MenhirLib.EngineTypes.semv = b;
17546 MenhirLib.EngineTypes.startp = _startpos_b_;
17547 MenhirLib.EngineTypes.endp = _endpos_b_;
17548 MenhirLib.EngineTypes.next = {
17549 MenhirLib.EngineTypes.state = _menhir_s;
17550 MenhirLib.EngineTypes.semv = a;
17551 MenhirLib.EngineTypes.startp = _startpos_a_;
17552 MenhirLib.EngineTypes.endp = _endpos_a_;
17553 MenhirLib.EngineTypes.next = _menhir_stack;
17554 };
17555 } = _menhir_stack in
17556 let b : 'tv_list_mzl_ctype__ = Obj.magic b in
17557 let a : 'tv_ctype = Obj.magic a in
17558 let _startpos = _startpos_a_ in
17559 let _endpos = _endpos_b_ in
17560 let _v : 'tv_midzero_list_ctype_ctype_ =
17561 # 1802 "parser_cocci_menhir.mly"
17562 ( let (mids,code) = List.split b in (mids,(a::code)) )
17563 # 17564 "parser_cocci_menhir.ml"
17564 in
17565 _menhir_env.MenhirLib.EngineTypes.stack <- {
17566 MenhirLib.EngineTypes.state = _menhir_s;
17567 MenhirLib.EngineTypes.semv = Obj.repr _v;
17568 MenhirLib.EngineTypes.startp = _startpos;
17569 MenhirLib.EngineTypes.endp = _endpos;
17570 MenhirLib.EngineTypes.next = _menhir_stack;
17571 });
17572 (fun _menhir_env ->
17573 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17574 let {
17575 MenhirLib.EngineTypes.semv = b;
17576 MenhirLib.EngineTypes.startp = _startpos_b_;
17577 MenhirLib.EngineTypes.endp = _endpos_b_;
17578 MenhirLib.EngineTypes.next = {
17579 MenhirLib.EngineTypes.state = _menhir_s;
17580 MenhirLib.EngineTypes.semv = a;
17581 MenhirLib.EngineTypes.startp = _startpos_a_;
17582 MenhirLib.EngineTypes.endp = _endpos_a_;
17583 MenhirLib.EngineTypes.next = _menhir_stack;
17584 };
17585 } = _menhir_stack in
17586 let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
17587 let a : 'tv_eexpr = Obj.magic a in
17588 let _startpos = _startpos_a_ in
17589 let _endpos = _endpos_b_ in
17590 let _v : 'tv_midzero_list_eexpr_eexpr_ =
17591 # 1802 "parser_cocci_menhir.mly"
17592 ( let (mids,code) = List.split b in (mids,(a::code)) )
17593 # 17594 "parser_cocci_menhir.ml"
17594 in
17595 _menhir_env.MenhirLib.EngineTypes.stack <- {
17596 MenhirLib.EngineTypes.state = _menhir_s;
17597 MenhirLib.EngineTypes.semv = Obj.repr _v;
17598 MenhirLib.EngineTypes.startp = _startpos;
17599 MenhirLib.EngineTypes.endp = _endpos;
17600 MenhirLib.EngineTypes.next = _menhir_stack;
17601 });
17602 (fun _menhir_env ->
17603 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17604 let {
17605 MenhirLib.EngineTypes.semv = b;
17606 MenhirLib.EngineTypes.startp = _startpos_b_;
17607 MenhirLib.EngineTypes.endp = _endpos_b_;
17608 MenhirLib.EngineTypes.next = {
17609 MenhirLib.EngineTypes.state = _menhir_s;
17610 MenhirLib.EngineTypes.semv = a;
17611 MenhirLib.EngineTypes.startp = _startpos_a_;
17612 MenhirLib.EngineTypes.endp = _endpos_a_;
17613 MenhirLib.EngineTypes.next = _menhir_stack;
17614 };
17615 } = _menhir_stack in
17616 let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
17617 let a : 'tv_expr = Obj.magic a in
17618 let _startpos = _startpos_a_ in
17619 let _endpos = _endpos_b_ in
17620 let _v : 'tv_midzero_list_expr_eexpr_ =
17621 # 1802 "parser_cocci_menhir.mly"
17622 ( let (mids,code) = List.split b in (mids,(a::code)) )
17623 # 17624 "parser_cocci_menhir.ml"
17624 in
17625 _menhir_env.MenhirLib.EngineTypes.stack <- {
17626 MenhirLib.EngineTypes.state = _menhir_s;
17627 MenhirLib.EngineTypes.semv = Obj.repr _v;
17628 MenhirLib.EngineTypes.startp = _startpos;
17629 MenhirLib.EngineTypes.endp = _endpos;
17630 MenhirLib.EngineTypes.next = _menhir_stack;
17631 });
17632 (fun _menhir_env ->
17633 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17634 let {
17635 MenhirLib.EngineTypes.semv = b;
17636 MenhirLib.EngineTypes.startp = _startpos_b_;
17637 MenhirLib.EngineTypes.endp = _endpos_b_;
17638 MenhirLib.EngineTypes.next = {
17639 MenhirLib.EngineTypes.state = _menhir_s;
17640 MenhirLib.EngineTypes.semv = a;
17641 MenhirLib.EngineTypes.startp = _startpos_a_;
17642 MenhirLib.EngineTypes.endp = _endpos_a_;
17643 MenhirLib.EngineTypes.next = _menhir_stack;
17644 };
17645 } = _menhir_stack in
17646 let b : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic b in
17647 let a : 'tv_fun_after_stm = Obj.magic a in
17648 let _startpos = _startpos_a_ in
17649 let _endpos = _endpos_b_ in
17650 let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ =
17651 # 1802 "parser_cocci_menhir.mly"
17652 ( let (mids,code) = List.split b in (mids,(a::code)) )
17653 # 17654 "parser_cocci_menhir.ml"
17654 in
17655 _menhir_env.MenhirLib.EngineTypes.stack <- {
17656 MenhirLib.EngineTypes.state = _menhir_s;
17657 MenhirLib.EngineTypes.semv = Obj.repr _v;
17658 MenhirLib.EngineTypes.startp = _startpos;
17659 MenhirLib.EngineTypes.endp = _endpos;
17660 MenhirLib.EngineTypes.next = _menhir_stack;
17661 });
17662 (fun _menhir_env ->
17663 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17664 let {
17665 MenhirLib.EngineTypes.semv = b;
17666 MenhirLib.EngineTypes.startp = _startpos_b_;
17667 MenhirLib.EngineTypes.endp = _endpos_b_;
17668 MenhirLib.EngineTypes.next = {
17669 MenhirLib.EngineTypes.state = _menhir_s;
17670 MenhirLib.EngineTypes.semv = a;
17671 MenhirLib.EngineTypes.startp = _startpos_a_;
17672 MenhirLib.EngineTypes.endp = _endpos_a_;
17673 MenhirLib.EngineTypes.next = _menhir_stack;
17674 };
17675 } = _menhir_stack in
17676 let b : 'tv_list_mzl_fun_start__ = Obj.magic b in
17677 let a : 'tv_fun_start = Obj.magic a in
17678 let _startpos = _startpos_a_ in
17679 let _endpos = _endpos_b_ in
17680 let _v : 'tv_midzero_list_fun_start_fun_start_ =
17681 # 1802 "parser_cocci_menhir.mly"
17682 ( let (mids,code) = List.split b in (mids,(a::code)) )
17683 # 17684 "parser_cocci_menhir.ml"
17684 in
17685 _menhir_env.MenhirLib.EngineTypes.stack <- {
17686 MenhirLib.EngineTypes.state = _menhir_s;
17687 MenhirLib.EngineTypes.semv = Obj.repr _v;
17688 MenhirLib.EngineTypes.startp = _startpos;
17689 MenhirLib.EngineTypes.endp = _endpos;
17690 MenhirLib.EngineTypes.next = _menhir_stack;
17691 });
17692 (fun _menhir_env ->
17693 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17694 let {
17695 MenhirLib.EngineTypes.semv = b;
17696 MenhirLib.EngineTypes.startp = _startpos_b_;
17697 MenhirLib.EngineTypes.endp = _endpos_b_;
17698 MenhirLib.EngineTypes.next = {
17699 MenhirLib.EngineTypes.state = _menhir_s;
17700 MenhirLib.EngineTypes.semv = a;
17701 MenhirLib.EngineTypes.startp = _startpos_a_;
17702 MenhirLib.EngineTypes.endp = _endpos_a_;
17703 MenhirLib.EngineTypes.next = _menhir_stack;
17704 };
17705 } = _menhir_stack in
17706 let b : 'tv_list_mzl_rule_elem_statement__ = Obj.magic b in
17707 let a : 'tv_rule_elem_statement = Obj.magic a in
17708 let _startpos = _startpos_a_ in
17709 let _endpos = _endpos_b_ in
17710 let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ =
17711 # 1802 "parser_cocci_menhir.mly"
17712 ( let (mids,code) = List.split b in (mids,(a::code)) )
17713 # 17714 "parser_cocci_menhir.ml"
17714 in
17715 _menhir_env.MenhirLib.EngineTypes.stack <- {
17716 MenhirLib.EngineTypes.state = _menhir_s;
17717 MenhirLib.EngineTypes.semv = Obj.repr _v;
17718 MenhirLib.EngineTypes.startp = _startpos;
17719 MenhirLib.EngineTypes.endp = _endpos;
17720 MenhirLib.EngineTypes.next = _menhir_stack;
17721 });
17722 (fun _menhir_env ->
17723 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17724 let {
17725 MenhirLib.EngineTypes.semv = b;
17726 MenhirLib.EngineTypes.startp = _startpos_b_;
17727 MenhirLib.EngineTypes.endp = _endpos_b_;
17728 MenhirLib.EngineTypes.next = {
17729 MenhirLib.EngineTypes.state = _menhir_s;
17730 MenhirLib.EngineTypes.semv = a;
17731 MenhirLib.EngineTypes.startp = _startpos_a_;
17732 MenhirLib.EngineTypes.endp = _endpos_a_;
17733 MenhirLib.EngineTypes.next = _menhir_stack;
17734 };
17735 } = _menhir_stack in
17736 let b : 'tv_list_mzl_statement__ = Obj.magic b in
17737 let a : 'tv_statement = Obj.magic a in
17738 let _startpos = _startpos_a_ in
17739 let _endpos = _endpos_b_ in
17740 let _v : 'tv_midzero_list_statement_statement_ =
17741 # 1802 "parser_cocci_menhir.mly"
17742 ( let (mids,code) = List.split b in (mids,(a::code)) )
17743 # 17744 "parser_cocci_menhir.ml"
17744 in
17745 _menhir_env.MenhirLib.EngineTypes.stack <- {
17746 MenhirLib.EngineTypes.state = _menhir_s;
17747 MenhirLib.EngineTypes.semv = Obj.repr _v;
17748 MenhirLib.EngineTypes.startp = _startpos;
17749 MenhirLib.EngineTypes.endp = _endpos;
17750 MenhirLib.EngineTypes.next = _menhir_stack;
17751 });
17752 (fun _menhir_env ->
17753 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17754 let {
17755 MenhirLib.EngineTypes.semv = ew;
17756 MenhirLib.EngineTypes.startp = _startpos_ew_;
17757 MenhirLib.EngineTypes.endp = _endpos_ew_;
17758 MenhirLib.EngineTypes.next = {
17759 MenhirLib.EngineTypes.semv = b;
17760 MenhirLib.EngineTypes.startp = _startpos_b_;
17761 MenhirLib.EngineTypes.endp = _endpos_b_;
17762 MenhirLib.EngineTypes.next = {
17763 MenhirLib.EngineTypes.state = _menhir_s;
17764 MenhirLib.EngineTypes.semv = f;
17765 MenhirLib.EngineTypes.startp = _startpos_f_;
17766 MenhirLib.EngineTypes.endp = _endpos_f_;
17767 MenhirLib.EngineTypes.next = _menhir_stack;
17768 };
17769 };
17770 } = _menhir_stack in
17771 let ew : 'tv_loption_error_words_ = Obj.magic ew in
17772 let b : 'tv_loption_minus_start_ = Obj.magic b in
17773 let f : 'tv_loption_filespec_ = Obj.magic f in
17774 let _startpos = _startpos_f_ in
17775 let _endpos = _endpos_ew_ in
17776 let _v : 'tv_minus_body =
17777 # 606 "parser_cocci_menhir.mly"
17778 ( match f@b@ew with
17779 [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
17780 | code -> Top_level.top_level code )
17781 # 17782 "parser_cocci_menhir.ml"
17782 in
17783 _menhir_env.MenhirLib.EngineTypes.stack <- {
17784 MenhirLib.EngineTypes.state = _menhir_s;
17785 MenhirLib.EngineTypes.semv = Obj.repr _v;
17786 MenhirLib.EngineTypes.startp = _startpos;
17787 MenhirLib.EngineTypes.endp = _endpos;
17788 MenhirLib.EngineTypes.next = _menhir_stack;
17789 });
17790 (fun _menhir_env ->
17791 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17792 let {
17793 MenhirLib.EngineTypes.semv = ew;
17794 MenhirLib.EngineTypes.startp = _startpos_ew_;
17795 MenhirLib.EngineTypes.endp = _endpos_ew_;
17796 MenhirLib.EngineTypes.next = {
17797 MenhirLib.EngineTypes.semv = b;
17798 MenhirLib.EngineTypes.startp = _startpos_b_;
17799 MenhirLib.EngineTypes.endp = _endpos_b_;
17800 MenhirLib.EngineTypes.next = {
17801 MenhirLib.EngineTypes.state = _menhir_s;
17802 MenhirLib.EngineTypes.semv = f;
17803 MenhirLib.EngineTypes.startp = _startpos_f_;
17804 MenhirLib.EngineTypes.endp = _endpos_f_;
17805 MenhirLib.EngineTypes.next = _menhir_stack;
17806 };
17807 };
17808 } = _menhir_stack in
17809 let ew : 'tv_loption_error_words_ = Obj.magic ew in
17810 let b : 'tv_top_eexpr = Obj.magic b in
17811 let f : 'tv_loption_filespec_ = Obj.magic f in
17812 let _startpos = _startpos_f_ in
17813 let _endpos = _endpos_ew_ in
17814 let _v : 'tv_minus_exp_body =
17815 # 620 "parser_cocci_menhir.mly"
17816 ( match f@[b]@ew with
17817 [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
17818 | code -> Top_level.top_level code )
17819 # 17820 "parser_cocci_menhir.ml"
17820 in
17821 _menhir_env.MenhirLib.EngineTypes.stack <- {
17822 MenhirLib.EngineTypes.state = _menhir_s;
17823 MenhirLib.EngineTypes.semv = Obj.repr _v;
17824 MenhirLib.EngineTypes.startp = _startpos;
17825 MenhirLib.EngineTypes.endp = _endpos;
17826 MenhirLib.EngineTypes.next = _menhir_stack;
17827 });
17828 (fun _menhir_env ->
17829 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17830 let {
17831 MenhirLib.EngineTypes.startp = _startpos__2_;
17832 MenhirLib.EngineTypes.endp = _endpos__2_;
17833 MenhirLib.EngineTypes.next = {
17834 MenhirLib.EngineTypes.state = _menhir_s;
17835 MenhirLib.EngineTypes.semv = _1;
17836 MenhirLib.EngineTypes.startp = _startpos__1_;
17837 MenhirLib.EngineTypes.endp = _endpos__1_;
17838 MenhirLib.EngineTypes.next = _menhir_stack;
17839 };
17840 } = _menhir_stack in
17841 let _1 : 'tv_minus_exp_body = Obj.magic _1 in
17842 let _startpos = _startpos__1_ in
17843 let _endpos = _endpos__2_ in
17844 let _v : (
17845 # 137 "parser_cocci_menhir.mly"
17846 (Ast0_cocci.rule)
17847 # 17848 "parser_cocci_menhir.ml"
17848 ) =
17849 # 177 "parser_cocci_menhir.mly"
17850 ( _1 )
17851 # 17852 "parser_cocci_menhir.ml"
17852 in
17853 _menhir_env.MenhirLib.EngineTypes.stack <- {
17854 MenhirLib.EngineTypes.state = _menhir_s;
17855 MenhirLib.EngineTypes.semv = Obj.repr _v;
17856 MenhirLib.EngineTypes.startp = _startpos;
17857 MenhirLib.EngineTypes.endp = _endpos;
17858 MenhirLib.EngineTypes.next = _menhir_stack;
17859 });
17860 (fun _menhir_env ->
17861 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17862 let {
17863 MenhirLib.EngineTypes.startp = _startpos__2_;
17864 MenhirLib.EngineTypes.endp = _endpos__2_;
17865 MenhirLib.EngineTypes.next = {
17866 MenhirLib.EngineTypes.state = _menhir_s;
17867 MenhirLib.EngineTypes.semv = m;
17868 MenhirLib.EngineTypes.startp = _startpos_m_;
17869 MenhirLib.EngineTypes.endp = _endpos_m_;
17870 MenhirLib.EngineTypes.next = _menhir_stack;
17871 };
17872 } = _menhir_stack in
17873 let m : 'tv_minus_exp_body = Obj.magic m in
17874 let _startpos = _startpos_m_ in
17875 let _endpos = _endpos__2_ in
17876 let _v : (
17877 # 137 "parser_cocci_menhir.mly"
17878 (Ast0_cocci.rule)
17879 # 17880 "parser_cocci_menhir.ml"
17880 ) =
17881 # 177 "parser_cocci_menhir.mly"
17882 ( m )
17883 # 17884 "parser_cocci_menhir.ml"
17884 in
17885 _menhir_env.MenhirLib.EngineTypes.stack <- {
17886 MenhirLib.EngineTypes.state = _menhir_s;
17887 MenhirLib.EngineTypes.semv = Obj.repr _v;
17888 MenhirLib.EngineTypes.startp = _startpos;
17889 MenhirLib.EngineTypes.endp = _endpos;
17890 MenhirLib.EngineTypes.next = _menhir_stack;
17891 });
17892 (fun _menhir_env ->
17893 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17894 let {
17895 MenhirLib.EngineTypes.startp = _startpos__2_;
17896 MenhirLib.EngineTypes.endp = _endpos__2_;
17897 MenhirLib.EngineTypes.next = {
17898 MenhirLib.EngineTypes.state = _menhir_s;
17899 MenhirLib.EngineTypes.semv = m;
17900 MenhirLib.EngineTypes.startp = _startpos_m_;
17901 MenhirLib.EngineTypes.endp = _endpos_m_;
17902 MenhirLib.EngineTypes.next = _menhir_stack;
17903 };
17904 } = _menhir_stack in
17905 let m : 'tv_minus_exp_body = Obj.magic m in
17906 let _startpos = _startpos_m_ in
17907 let _endpos = _endpos__2_ in
17908 let _v : (
17909 # 137 "parser_cocci_menhir.mly"
17910 (Ast0_cocci.rule)
17911 # 17912 "parser_cocci_menhir.ml"
17912 ) =
17913 # 178 "parser_cocci_menhir.mly"
17914 ( m )
17915 # 17916 "parser_cocci_menhir.ml"
17916 in
17917 _menhir_env.MenhirLib.EngineTypes.stack <- {
17918 MenhirLib.EngineTypes.state = _menhir_s;
17919 MenhirLib.EngineTypes.semv = Obj.repr _v;
17920 MenhirLib.EngineTypes.startp = _startpos;
17921 MenhirLib.EngineTypes.endp = _endpos;
17922 MenhirLib.EngineTypes.next = _menhir_stack;
17923 });
17924 (fun _menhir_env ->
17925 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17926 let {
17927 MenhirLib.EngineTypes.startp = _startpos__2_;
17928 MenhirLib.EngineTypes.endp = _endpos__2_;
17929 MenhirLib.EngineTypes.next = {
17930 MenhirLib.EngineTypes.state = _menhir_s;
17931 MenhirLib.EngineTypes.semv = _1;
17932 MenhirLib.EngineTypes.startp = _startpos__1_;
17933 MenhirLib.EngineTypes.endp = _endpos__1_;
17934 MenhirLib.EngineTypes.next = _menhir_stack;
17935 };
17936 } = _menhir_stack in
17937 let _1 : 'tv_minus_body = Obj.magic _1 in
17938 let _startpos = _startpos__1_ in
17939 let _endpos = _endpos__2_ in
17940 let _v : (
17941 # 134 "parser_cocci_menhir.mly"
17942 (Ast0_cocci.rule)
17943 # 17944 "parser_cocci_menhir.ml"
17944 ) =
17945 # 173 "parser_cocci_menhir.mly"
17946 ( _1 )
17947 # 17948 "parser_cocci_menhir.ml"
17948 in
17949 _menhir_env.MenhirLib.EngineTypes.stack <- {
17950 MenhirLib.EngineTypes.state = _menhir_s;
17951 MenhirLib.EngineTypes.semv = Obj.repr _v;
17952 MenhirLib.EngineTypes.startp = _startpos;
17953 MenhirLib.EngineTypes.endp = _endpos;
17954 MenhirLib.EngineTypes.next = _menhir_stack;
17955 });
17956 (fun _menhir_env ->
17957 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17958 let {
17959 MenhirLib.EngineTypes.startp = _startpos__2_;
17960 MenhirLib.EngineTypes.endp = _endpos__2_;
17961 MenhirLib.EngineTypes.next = {
17962 MenhirLib.EngineTypes.state = _menhir_s;
17963 MenhirLib.EngineTypes.semv = m;
17964 MenhirLib.EngineTypes.startp = _startpos_m_;
17965 MenhirLib.EngineTypes.endp = _endpos_m_;
17966 MenhirLib.EngineTypes.next = _menhir_stack;
17967 };
17968 } = _menhir_stack in
17969 let m : 'tv_minus_body = Obj.magic m in
17970 let _startpos = _startpos_m_ in
17971 let _endpos = _endpos__2_ in
17972 let _v : (
17973 # 134 "parser_cocci_menhir.mly"
17974 (Ast0_cocci.rule)
17975 # 17976 "parser_cocci_menhir.ml"
17976 ) =
17977 # 173 "parser_cocci_menhir.mly"
17978 ( m )
17979 # 17980 "parser_cocci_menhir.ml"
17980 in
17981 _menhir_env.MenhirLib.EngineTypes.stack <- {
17982 MenhirLib.EngineTypes.state = _menhir_s;
17983 MenhirLib.EngineTypes.semv = Obj.repr _v;
17984 MenhirLib.EngineTypes.startp = _startpos;
17985 MenhirLib.EngineTypes.endp = _endpos;
17986 MenhirLib.EngineTypes.next = _menhir_stack;
17987 });
17988 (fun _menhir_env ->
17989 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17990 let {
17991 MenhirLib.EngineTypes.startp = _startpos__2_;
17992 MenhirLib.EngineTypes.endp = _endpos__2_;
17993 MenhirLib.EngineTypes.next = {
17994 MenhirLib.EngineTypes.state = _menhir_s;
17995 MenhirLib.EngineTypes.semv = m;
17996 MenhirLib.EngineTypes.startp = _startpos_m_;
17997 MenhirLib.EngineTypes.endp = _endpos_m_;
17998 MenhirLib.EngineTypes.next = _menhir_stack;
17999 };
18000 } = _menhir_stack in
18001 let m : 'tv_minus_body = Obj.magic m in
18002 let _startpos = _startpos_m_ in
18003 let _endpos = _endpos__2_ in
18004 let _v : (
18005 # 134 "parser_cocci_menhir.mly"
18006 (Ast0_cocci.rule)
18007 # 18008 "parser_cocci_menhir.ml"
18008 ) =
18009 # 174 "parser_cocci_menhir.mly"
18010 ( m )
18011 # 18012 "parser_cocci_menhir.ml"
18012 in
18013 _menhir_env.MenhirLib.EngineTypes.stack <- {
18014 MenhirLib.EngineTypes.state = _menhir_s;
18015 MenhirLib.EngineTypes.semv = Obj.repr _v;
18016 MenhirLib.EngineTypes.startp = _startpos;
18017 MenhirLib.EngineTypes.endp = _endpos;
18018 MenhirLib.EngineTypes.next = _menhir_stack;
18019 });
18020 (fun _menhir_env ->
18021 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18022 let {
18023 MenhirLib.EngineTypes.state = _menhir_s;
18024 MenhirLib.EngineTypes.semv = _1;
18025 MenhirLib.EngineTypes.startp = _startpos__1_;
18026 MenhirLib.EngineTypes.endp = _endpos__1_;
18027 MenhirLib.EngineTypes.next = _menhir_stack;
18028 } = _menhir_stack in
18029 let _1 : 'tv_fundecl = Obj.magic _1 in
18030 let _startpos = _startpos__1_ in
18031 let _endpos = _endpos__1_ in
18032 let _v : 'tv_minus_start =
18033 # 1611 "parser_cocci_menhir.mly"
18034 ( [Ast0.wrap(Ast0.DECL(_1))] )
18035 # 18036 "parser_cocci_menhir.ml"
18036 in
18037 _menhir_env.MenhirLib.EngineTypes.stack <- {
18038 MenhirLib.EngineTypes.state = _menhir_s;
18039 MenhirLib.EngineTypes.semv = Obj.repr _v;
18040 MenhirLib.EngineTypes.startp = _startpos;
18041 MenhirLib.EngineTypes.endp = _endpos;
18042 MenhirLib.EngineTypes.next = _menhir_stack;
18043 });
18044 (fun _menhir_env ->
18045 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18046 let {
18047 MenhirLib.EngineTypes.state = _menhir_s;
18048 MenhirLib.EngineTypes.semv = _1;
18049 MenhirLib.EngineTypes.startp = _startpos__1_;
18050 MenhirLib.EngineTypes.endp = _endpos__1_;
18051 MenhirLib.EngineTypes.next = _menhir_stack;
18052 } = _menhir_stack in
18053 let _1 : 'tv_ctype = Obj.magic _1 in
18054 let _startpos = _startpos__1_ in
18055 let _endpos = _endpos__1_ in
18056 let _v : 'tv_minus_start =
18057 # 1612 "parser_cocci_menhir.mly"
18058 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
18059 # 18060 "parser_cocci_menhir.ml"
18060 in
18061 _menhir_env.MenhirLib.EngineTypes.stack <- {
18062 MenhirLib.EngineTypes.state = _menhir_s;
18063 MenhirLib.EngineTypes.semv = Obj.repr _v;
18064 MenhirLib.EngineTypes.startp = _startpos;
18065 MenhirLib.EngineTypes.endp = _endpos;
18066 MenhirLib.EngineTypes.next = _menhir_stack;
18067 });
18068 (fun _menhir_env ->
18069 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18070 let {
18071 MenhirLib.EngineTypes.state = _menhir_s;
18072 MenhirLib.EngineTypes.semv = _1;
18073 MenhirLib.EngineTypes.startp = _startpos__1_;
18074 MenhirLib.EngineTypes.endp = _endpos__1_;
18075 MenhirLib.EngineTypes.next = _menhir_stack;
18076 } = _menhir_stack in
18077 let _1 : 'tv_top_init = Obj.magic _1 in
18078 let _startpos = _startpos__1_ in
18079 let _endpos = _endpos__1_ in
18080 let _v : 'tv_minus_start =
18081 # 1613 "parser_cocci_menhir.mly"
18082 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
18083 # 18084 "parser_cocci_menhir.ml"
18084 in
18085 _menhir_env.MenhirLib.EngineTypes.stack <- {
18086 MenhirLib.EngineTypes.state = _menhir_s;
18087 MenhirLib.EngineTypes.semv = Obj.repr _v;
18088 MenhirLib.EngineTypes.startp = _startpos;
18089 MenhirLib.EngineTypes.endp = _endpos;
18090 MenhirLib.EngineTypes.next = _menhir_stack;
18091 });
18092 (fun _menhir_env ->
18093 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18094 let {
18095 MenhirLib.EngineTypes.state = _menhir_s;
18096 MenhirLib.EngineTypes.semv = _1;
18097 MenhirLib.EngineTypes.startp = _startpos__1_;
18098 MenhirLib.EngineTypes.endp = _endpos__1_;
18099 MenhirLib.EngineTypes.next = _menhir_stack;
18100 } = _menhir_stack in
18101 let _1 : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = Obj.magic _1 in
18102 let _startpos = _startpos__1_ in
18103 let _endpos = _endpos__1_ in
18104 let _v : 'tv_minus_start =
18105 # 1615 "parser_cocci_menhir.mly"
18106 ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
18107 # 18108 "parser_cocci_menhir.ml"
18108 in
18109 _menhir_env.MenhirLib.EngineTypes.stack <- {
18110 MenhirLib.EngineTypes.state = _menhir_s;
18111 MenhirLib.EngineTypes.semv = Obj.repr _v;
18112 MenhirLib.EngineTypes.startp = _startpos;
18113 MenhirLib.EngineTypes.endp = _endpos;
18114 MenhirLib.EngineTypes.next = _menhir_stack;
18115 });
18116 (fun _menhir_env ->
18117 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18118 let {
18119 MenhirLib.EngineTypes.semv = b;
18120 MenhirLib.EngineTypes.startp = _startpos_b_;
18121 MenhirLib.EngineTypes.endp = _endpos_b_;
18122 MenhirLib.EngineTypes.next = {
18123 MenhirLib.EngineTypes.state = _menhir_s;
18124 MenhirLib.EngineTypes.semv = a;
18125 MenhirLib.EngineTypes.startp = _startpos_a_;
18126 MenhirLib.EngineTypes.endp = _endpos_a_;
18127 MenhirLib.EngineTypes.next = _menhir_stack;
18128 };
18129 } = _menhir_stack in
18130 let b : 'tv_ctype = Obj.magic b in
18131 let a : (
18132 # 77 "parser_cocci_menhir.mly"
18133 (Data.clt)
18134 # 18135 "parser_cocci_menhir.ml"
18135 ) = Obj.magic a in
18136 let _startpos = _startpos_a_ in
18137 let _endpos = _endpos_b_ in
18138 let _v : 'tv_mzl_ctype_ =
18139 # 1805 "parser_cocci_menhir.mly"
18140 ( (P.clt2mcode "|" a, b) )
18141 # 18142 "parser_cocci_menhir.ml"
18142 in
18143 _menhir_env.MenhirLib.EngineTypes.stack <- {
18144 MenhirLib.EngineTypes.state = _menhir_s;
18145 MenhirLib.EngineTypes.semv = Obj.repr _v;
18146 MenhirLib.EngineTypes.startp = _startpos;
18147 MenhirLib.EngineTypes.endp = _endpos;
18148 MenhirLib.EngineTypes.next = _menhir_stack;
18149 });
18150 (fun _menhir_env ->
18151 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18152 let {
18153 MenhirLib.EngineTypes.semv = b;
18154 MenhirLib.EngineTypes.startp = _startpos_b_;
18155 MenhirLib.EngineTypes.endp = _endpos_b_;
18156 MenhirLib.EngineTypes.next = {
18157 MenhirLib.EngineTypes.state = _menhir_s;
18158 MenhirLib.EngineTypes.semv = a;
18159 MenhirLib.EngineTypes.startp = _startpos_a_;
18160 MenhirLib.EngineTypes.endp = _endpos_a_;
18161 MenhirLib.EngineTypes.next = _menhir_stack;
18162 };
18163 } = _menhir_stack in
18164 let b : 'tv_eexpr = Obj.magic b in
18165 let a : (
18166 # 77 "parser_cocci_menhir.mly"
18167 (Data.clt)
18168 # 18169 "parser_cocci_menhir.ml"
18169 ) = Obj.magic a in
18170 let _startpos = _startpos_a_ in
18171 let _endpos = _endpos_b_ in
18172 let _v : 'tv_mzl_eexpr_ =
18173 # 1805 "parser_cocci_menhir.mly"
18174 ( (P.clt2mcode "|" a, b) )
18175 # 18176 "parser_cocci_menhir.ml"
18176 in
18177 _menhir_env.MenhirLib.EngineTypes.stack <- {
18178 MenhirLib.EngineTypes.state = _menhir_s;
18179 MenhirLib.EngineTypes.semv = Obj.repr _v;
18180 MenhirLib.EngineTypes.startp = _startpos;
18181 MenhirLib.EngineTypes.endp = _endpos;
18182 MenhirLib.EngineTypes.next = _menhir_stack;
18183 });
18184 (fun _menhir_env ->
18185 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18186 let {
18187 MenhirLib.EngineTypes.semv = b;
18188 MenhirLib.EngineTypes.startp = _startpos_b_;
18189 MenhirLib.EngineTypes.endp = _endpos_b_;
18190 MenhirLib.EngineTypes.next = {
18191 MenhirLib.EngineTypes.state = _menhir_s;
18192 MenhirLib.EngineTypes.semv = a;
18193 MenhirLib.EngineTypes.startp = _startpos_a_;
18194 MenhirLib.EngineTypes.endp = _endpos_a_;
18195 MenhirLib.EngineTypes.next = _menhir_stack;
18196 };
18197 } = _menhir_stack in
18198 let b : 'tv_fun_after_dots_or = Obj.magic b in
18199 let a : (
18200 # 77 "parser_cocci_menhir.mly"
18201 (Data.clt)
18202 # 18203 "parser_cocci_menhir.ml"
18203 ) = Obj.magic a in
18204 let _startpos = _startpos_a_ in
18205 let _endpos = _endpos_b_ in
18206 let _v : 'tv_mzl_fun_after_dots_or_ =
18207 # 1805 "parser_cocci_menhir.mly"
18208 ( (P.clt2mcode "|" a, b) )
18209 # 18210 "parser_cocci_menhir.ml"
18210 in
18211 _menhir_env.MenhirLib.EngineTypes.stack <- {
18212 MenhirLib.EngineTypes.state = _menhir_s;
18213 MenhirLib.EngineTypes.semv = Obj.repr _v;
18214 MenhirLib.EngineTypes.startp = _startpos;
18215 MenhirLib.EngineTypes.endp = _endpos;
18216 MenhirLib.EngineTypes.next = _menhir_stack;
18217 });
18218 (fun _menhir_env ->
18219 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18220 let {
18221 MenhirLib.EngineTypes.semv = b;
18222 MenhirLib.EngineTypes.startp = _startpos_b_;
18223 MenhirLib.EngineTypes.endp = _endpos_b_;
18224 MenhirLib.EngineTypes.next = {
18225 MenhirLib.EngineTypes.state = _menhir_s;
18226 MenhirLib.EngineTypes.semv = a;
18227 MenhirLib.EngineTypes.startp = _startpos_a_;
18228 MenhirLib.EngineTypes.endp = _endpos_a_;
18229 MenhirLib.EngineTypes.next = _menhir_stack;
18230 };
18231 } = _menhir_stack in
18232 let b : 'tv_fun_start = Obj.magic b in
18233 let a : (
18234 # 77 "parser_cocci_menhir.mly"
18235 (Data.clt)
18236 # 18237 "parser_cocci_menhir.ml"
18237 ) = Obj.magic a in
18238 let _startpos = _startpos_a_ in
18239 let _endpos = _endpos_b_ in
18240 let _v : 'tv_mzl_fun_start_ =
18241 # 1805 "parser_cocci_menhir.mly"
18242 ( (P.clt2mcode "|" a, b) )
18243 # 18244 "parser_cocci_menhir.ml"
18244 in
18245 _menhir_env.MenhirLib.EngineTypes.stack <- {
18246 MenhirLib.EngineTypes.state = _menhir_s;
18247 MenhirLib.EngineTypes.semv = Obj.repr _v;
18248 MenhirLib.EngineTypes.startp = _startpos;
18249 MenhirLib.EngineTypes.endp = _endpos;
18250 MenhirLib.EngineTypes.next = _menhir_stack;
18251 });
18252 (fun _menhir_env ->
18253 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18254 let {
18255 MenhirLib.EngineTypes.semv = b;
18256 MenhirLib.EngineTypes.startp = _startpos_b_;
18257 MenhirLib.EngineTypes.endp = _endpos_b_;
18258 MenhirLib.EngineTypes.next = {
18259 MenhirLib.EngineTypes.state = _menhir_s;
18260 MenhirLib.EngineTypes.semv = a;
18261 MenhirLib.EngineTypes.startp = _startpos_a_;
18262 MenhirLib.EngineTypes.endp = _endpos_a_;
18263 MenhirLib.EngineTypes.next = _menhir_stack;
18264 };
18265 } = _menhir_stack in
18266 let b : 'tv_rule_elem_statement = Obj.magic b in
18267 let a : (
18268 # 77 "parser_cocci_menhir.mly"
18269 (Data.clt)
18270 # 18271 "parser_cocci_menhir.ml"
18271 ) = Obj.magic a in
18272 let _startpos = _startpos_a_ in
18273 let _endpos = _endpos_b_ in
18274 let _v : 'tv_mzl_rule_elem_statement_ =
18275 # 1805 "parser_cocci_menhir.mly"
18276 ( (P.clt2mcode "|" a, b) )
18277 # 18278 "parser_cocci_menhir.ml"
18278 in
18279 _menhir_env.MenhirLib.EngineTypes.stack <- {
18280 MenhirLib.EngineTypes.state = _menhir_s;
18281 MenhirLib.EngineTypes.semv = Obj.repr _v;
18282 MenhirLib.EngineTypes.startp = _startpos;
18283 MenhirLib.EngineTypes.endp = _endpos;
18284 MenhirLib.EngineTypes.next = _menhir_stack;
18285 });
18286 (fun _menhir_env ->
18287 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18288 let {
18289 MenhirLib.EngineTypes.semv = b;
18290 MenhirLib.EngineTypes.startp = _startpos_b_;
18291 MenhirLib.EngineTypes.endp = _endpos_b_;
18292 MenhirLib.EngineTypes.next = {
18293 MenhirLib.EngineTypes.state = _menhir_s;
18294 MenhirLib.EngineTypes.semv = a;
18295 MenhirLib.EngineTypes.startp = _startpos_a_;
18296 MenhirLib.EngineTypes.endp = _endpos_a_;
18297 MenhirLib.EngineTypes.next = _menhir_stack;
18298 };
18299 } = _menhir_stack in
18300 let b : 'tv_statement = Obj.magic b in
18301 let a : (
18302 # 77 "parser_cocci_menhir.mly"
18303 (Data.clt)
18304 # 18305 "parser_cocci_menhir.ml"
18305 ) = Obj.magic a in
18306 let _startpos = _startpos_a_ in
18307 let _endpos = _endpos_b_ in
18308 let _v : 'tv_mzl_statement_ =
18309 # 1805 "parser_cocci_menhir.mly"
18310 ( (P.clt2mcode "|" a, b) )
18311 # 18312 "parser_cocci_menhir.ml"
18312 in
18313 _menhir_env.MenhirLib.EngineTypes.stack <- {
18314 MenhirLib.EngineTypes.state = _menhir_s;
18315 MenhirLib.EngineTypes.semv = Obj.repr _v;
18316 MenhirLib.EngineTypes.startp = _startpos;
18317 MenhirLib.EngineTypes.endp = _endpos;
18318 MenhirLib.EngineTypes.next = _menhir_stack;
18319 });
18320 (fun _menhir_env ->
18321 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18322 let {
18323 MenhirLib.EngineTypes.state = _menhir_s;
18324 MenhirLib.EngineTypes.semv = _1;
18325 MenhirLib.EngineTypes.startp = _startpos__1_;
18326 MenhirLib.EngineTypes.endp = _endpos__1_;
18327 MenhirLib.EngineTypes.next = _menhir_stack;
18328 } = _menhir_stack in
18329 let _1 : 'tv_decl = Obj.magic _1 in
18330 let _startpos = _startpos__1_ in
18331 let _endpos = _endpos__1_ in
18332 let _v : 'tv_name_opt_decl =
18333 # 839 "parser_cocci_menhir.mly"
18334 ( _1 )
18335 # 18336 "parser_cocci_menhir.ml"
18336 in
18337 _menhir_env.MenhirLib.EngineTypes.stack <- {
18338 MenhirLib.EngineTypes.state = _menhir_s;
18339 MenhirLib.EngineTypes.semv = Obj.repr _v;
18340 MenhirLib.EngineTypes.startp = _startpos;
18341 MenhirLib.EngineTypes.endp = _endpos;
18342 MenhirLib.EngineTypes.next = _menhir_stack;
18343 });
18344 (fun _menhir_env ->
18345 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18346 let {
18347 MenhirLib.EngineTypes.state = _menhir_s;
18348 MenhirLib.EngineTypes.semv = t;
18349 MenhirLib.EngineTypes.startp = _startpos_t_;
18350 MenhirLib.EngineTypes.endp = _endpos_t_;
18351 MenhirLib.EngineTypes.next = _menhir_stack;
18352 } = _menhir_stack in
18353 let t : 'tv_ctype = Obj.magic t in
18354 let _startpos = _startpos_t_ in
18355 let _endpos = _endpos_t_ in
18356 let _v : 'tv_name_opt_decl =
18357 # 840 "parser_cocci_menhir.mly"
18358 ( Ast0.wrap(Ast0.Param(t, None)) )
18359 # 18360 "parser_cocci_menhir.ml"
18360 in
18361 _menhir_env.MenhirLib.EngineTypes.stack <- {
18362 MenhirLib.EngineTypes.state = _menhir_s;
18363 MenhirLib.EngineTypes.semv = Obj.repr _v;
18364 MenhirLib.EngineTypes.startp = _startpos;
18365 MenhirLib.EngineTypes.endp = _endpos;
18366 MenhirLib.EngineTypes.next = _menhir_stack;
18367 });
18368 (fun _menhir_env ->
18369 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18370 let {
18371 MenhirLib.EngineTypes.semv = rp1;
18372 MenhirLib.EngineTypes.startp = _startpos_rp1_;
18373 MenhirLib.EngineTypes.endp = _endpos_rp1_;
18374 MenhirLib.EngineTypes.next = {
18375 MenhirLib.EngineTypes.semv = d;
18376 MenhirLib.EngineTypes.startp = _startpos_d_;
18377 MenhirLib.EngineTypes.endp = _endpos_d_;
18378 MenhirLib.EngineTypes.next = {
18379 MenhirLib.EngineTypes.semv = lp1;
18380 MenhirLib.EngineTypes.startp = _startpos_lp1_;
18381 MenhirLib.EngineTypes.endp = _endpos_lp1_;
18382 MenhirLib.EngineTypes.next = {
18383 MenhirLib.EngineTypes.semv = rp;
18384 MenhirLib.EngineTypes.startp = _startpos_rp_;
18385 MenhirLib.EngineTypes.endp = _endpos_rp_;
18386 MenhirLib.EngineTypes.next = {
18387 MenhirLib.EngineTypes.semv = s;
18388 MenhirLib.EngineTypes.startp = _startpos_s_;
18389 MenhirLib.EngineTypes.endp = _endpos_s_;
18390 MenhirLib.EngineTypes.next = {
18391 MenhirLib.EngineTypes.semv = lp;
18392 MenhirLib.EngineTypes.startp = _startpos_lp_;
18393 MenhirLib.EngineTypes.endp = _endpos_lp_;
18394 MenhirLib.EngineTypes.next = {
18395 MenhirLib.EngineTypes.state = _menhir_s;
18396 MenhirLib.EngineTypes.semv = t;
18397 MenhirLib.EngineTypes.startp = _startpos_t_;
18398 MenhirLib.EngineTypes.endp = _endpos_t_;
18399 MenhirLib.EngineTypes.next = _menhir_stack;
18400 };
18401 };
18402 };
18403 };
18404 };
18405 };
18406 } = _menhir_stack in
18407 let rp1 : (
18408 # 77 "parser_cocci_menhir.mly"
18409 (Data.clt)
18410 # 18411 "parser_cocci_menhir.ml"
18411 ) = Obj.magic rp1 in
18412 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
18413 let lp1 : (
18414 # 76 "parser_cocci_menhir.mly"
18415 (Data.clt)
18416 # 18417 "parser_cocci_menhir.ml"
18417 ) = Obj.magic lp1 in
18418 let rp : (
18419 # 77 "parser_cocci_menhir.mly"
18420 (Data.clt)
18421 # 18422 "parser_cocci_menhir.ml"
18422 ) = Obj.magic rp in
18423 let s : (
18424 # 99 "parser_cocci_menhir.mly"
18425 (Data.clt)
18426 # 18427 "parser_cocci_menhir.ml"
18427 ) = Obj.magic s in
18428 let lp : (
18429 # 76 "parser_cocci_menhir.mly"
18430 (Data.clt)
18431 # 18432 "parser_cocci_menhir.ml"
18432 ) = Obj.magic lp in
18433 let t : 'tv_fn_ctype = Obj.magic t in
18434 let _startpos = _startpos_t_ in
18435 let _endpos = _endpos_rp1_ in
18436 let _v : 'tv_name_opt_decl =
18437 # 843 "parser_cocci_menhir.mly"
18438 ( let fnptr =
18439 Ast0.wrap
18440 (Ast0.FunctionPointer
18441 (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
18442 P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
18443 Ast0.wrap(Ast0.Param(fnptr, None)) )
18444 # 18445 "parser_cocci_menhir.ml"
18445 in
18446 _menhir_env.MenhirLib.EngineTypes.stack <- {
18447 MenhirLib.EngineTypes.state = _menhir_s;
18448 MenhirLib.EngineTypes.semv = Obj.repr _v;
18449 MenhirLib.EngineTypes.startp = _startpos;
18450 MenhirLib.EngineTypes.endp = _endpos;
18451 MenhirLib.EngineTypes.next = _menhir_stack;
18452 });
18453 (fun _menhir_env ->
18454 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18455 let {
18456 MenhirLib.EngineTypes.semv = _2;
18457 MenhirLib.EngineTypes.startp = _startpos__2_;
18458 MenhirLib.EngineTypes.endp = _endpos__2_;
18459 MenhirLib.EngineTypes.next = {
18460 MenhirLib.EngineTypes.state = _menhir_s;
18461 MenhirLib.EngineTypes.semv = _1;
18462 MenhirLib.EngineTypes.startp = _startpos__1_;
18463 MenhirLib.EngineTypes.endp = _endpos__1_;
18464 MenhirLib.EngineTypes.next = _menhir_stack;
18465 };
18466 } = _menhir_stack in
18467 let _2 : 'tv_nest_after_stm = Obj.magic _2 in
18468 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
18469 let _startpos = _startpos__1_ in
18470 let _endpos = _endpos__2_ in
18471 let _v : 'tv_nest_after_dots =
18472 # 1726 "parser_cocci_menhir.mly"
18473 (_1@_2)
18474 # 18475 "parser_cocci_menhir.ml"
18475 in
18476 _menhir_env.MenhirLib.EngineTypes.stack <- {
18477 MenhirLib.EngineTypes.state = _menhir_s;
18478 MenhirLib.EngineTypes.semv = Obj.repr _v;
18479 MenhirLib.EngineTypes.startp = _startpos;
18480 MenhirLib.EngineTypes.endp = _endpos;
18481 MenhirLib.EngineTypes.next = _menhir_stack;
18482 });
18483 (fun _menhir_env ->
18484 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18485 let {
18486 MenhirLib.EngineTypes.semv = _2;
18487 MenhirLib.EngineTypes.startp = _startpos__2_;
18488 MenhirLib.EngineTypes.endp = _endpos__2_;
18489 MenhirLib.EngineTypes.next = {
18490 MenhirLib.EngineTypes.state = _menhir_s;
18491 MenhirLib.EngineTypes.startp = _startpos__1_;
18492 MenhirLib.EngineTypes.endp = _endpos__1_;
18493 MenhirLib.EngineTypes.next = _menhir_stack;
18494 };
18495 } = _menhir_stack in
18496 let _2 : 'tv_nest_after_exp = Obj.magic _2 in
18497 let _startpos = _startpos__1_ in
18498 let _endpos = _endpos__2_ in
18499 let _v : 'tv_nest_after_dots =
18500 # 1727 "parser_cocci_menhir.mly"
18501 (_2)
18502 # 18503 "parser_cocci_menhir.ml"
18503 in
18504 _menhir_env.MenhirLib.EngineTypes.stack <- {
18505 MenhirLib.EngineTypes.state = _menhir_s;
18506 MenhirLib.EngineTypes.semv = Obj.repr _v;
18507 MenhirLib.EngineTypes.startp = _startpos;
18508 MenhirLib.EngineTypes.endp = _endpos;
18509 MenhirLib.EngineTypes.next = _menhir_stack;
18510 });
18511 (fun _menhir_env ->
18512 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18513 let {
18514 MenhirLib.EngineTypes.semv = _2;
18515 MenhirLib.EngineTypes.startp = _startpos__2_;
18516 MenhirLib.EngineTypes.endp = _endpos__2_;
18517 MenhirLib.EngineTypes.next = {
18518 MenhirLib.EngineTypes.state = _menhir_s;
18519 MenhirLib.EngineTypes.semv = _1;
18520 MenhirLib.EngineTypes.startp = _startpos__1_;
18521 MenhirLib.EngineTypes.endp = _endpos__1_;
18522 MenhirLib.EngineTypes.next = _menhir_stack;
18523 };
18524 } = _menhir_stack in
18525 let _2 : 'tv_nest_after_exp = Obj.magic _2 in
18526 let _1 : 'tv_expr = Obj.magic _1 in
18527 let _startpos = _startpos__1_ in
18528 let _endpos = _endpos__2_ in
18529 let _v : 'tv_nest_after_dots =
18530 # 1728 "parser_cocci_menhir.mly"
18531 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
18532 # 18533 "parser_cocci_menhir.ml"
18533 in
18534 _menhir_env.MenhirLib.EngineTypes.stack <- {
18535 MenhirLib.EngineTypes.state = _menhir_s;
18536 MenhirLib.EngineTypes.semv = Obj.repr _v;
18537 MenhirLib.EngineTypes.startp = _startpos;
18538 MenhirLib.EngineTypes.endp = _endpos;
18539 MenhirLib.EngineTypes.next = _menhir_stack;
18540 });
18541 (fun _menhir_env ->
18542 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18543 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18544 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18545 let _endpos = _startpos in
18546 let _v : 'tv_nest_after_exp =
18547 # 1736 "parser_cocci_menhir.mly"
18548 ([])
18549 # 18550 "parser_cocci_menhir.ml"
18550 in
18551 _menhir_env.MenhirLib.EngineTypes.stack <- {
18552 MenhirLib.EngineTypes.state = _menhir_s;
18553 MenhirLib.EngineTypes.semv = Obj.repr _v;
18554 MenhirLib.EngineTypes.startp = _startpos;
18555 MenhirLib.EngineTypes.endp = _endpos;
18556 MenhirLib.EngineTypes.next = _menhir_stack;
18557 });
18558 (fun _menhir_env ->
18559 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18560 let {
18561 MenhirLib.EngineTypes.semv = _2;
18562 MenhirLib.EngineTypes.startp = _startpos__2_;
18563 MenhirLib.EngineTypes.endp = _endpos__2_;
18564 MenhirLib.EngineTypes.next = {
18565 MenhirLib.EngineTypes.state = _menhir_s;
18566 MenhirLib.EngineTypes.semv = _1;
18567 MenhirLib.EngineTypes.startp = _startpos__1_;
18568 MenhirLib.EngineTypes.endp = _endpos__1_;
18569 MenhirLib.EngineTypes.next = _menhir_stack;
18570 };
18571 } = _menhir_stack in
18572 let _2 : 'tv_nest_after_dots = Obj.magic _2 in
18573 let _1 : 'tv_stm_dots = Obj.magic _1 in
18574 let _startpos = _startpos__1_ in
18575 let _endpos = _endpos__2_ in
18576 let _v : 'tv_nest_after_exp =
18577 # 1737 "parser_cocci_menhir.mly"
18578 (_1::_2)
18579 # 18580 "parser_cocci_menhir.ml"
18580 in
18581 _menhir_env.MenhirLib.EngineTypes.stack <- {
18582 MenhirLib.EngineTypes.state = _menhir_s;
18583 MenhirLib.EngineTypes.semv = Obj.repr _v;
18584 MenhirLib.EngineTypes.startp = _startpos;
18585 MenhirLib.EngineTypes.endp = _endpos;
18586 MenhirLib.EngineTypes.next = _menhir_stack;
18587 });
18588 (fun _menhir_env ->
18589 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18590 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18591 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18592 let _endpos = _startpos in
18593 let _v : 'tv_nest_after_stm =
18594 # 1731 "parser_cocci_menhir.mly"
18595 ([])
18596 # 18597 "parser_cocci_menhir.ml"
18597 in
18598 _menhir_env.MenhirLib.EngineTypes.stack <- {
18599 MenhirLib.EngineTypes.state = _menhir_s;
18600 MenhirLib.EngineTypes.semv = Obj.repr _v;
18601 MenhirLib.EngineTypes.startp = _startpos;
18602 MenhirLib.EngineTypes.endp = _endpos;
18603 MenhirLib.EngineTypes.next = _menhir_stack;
18604 });
18605 (fun _menhir_env ->
18606 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18607 let {
18608 MenhirLib.EngineTypes.semv = _2;
18609 MenhirLib.EngineTypes.startp = _startpos__2_;
18610 MenhirLib.EngineTypes.endp = _endpos__2_;
18611 MenhirLib.EngineTypes.next = {
18612 MenhirLib.EngineTypes.state = _menhir_s;
18613 MenhirLib.EngineTypes.semv = _1;
18614 MenhirLib.EngineTypes.startp = _startpos__1_;
18615 MenhirLib.EngineTypes.endp = _endpos__1_;
18616 MenhirLib.EngineTypes.next = _menhir_stack;
18617 };
18618 } = _menhir_stack in
18619 let _2 : 'tv_nest_after_dots = Obj.magic _2 in
18620 let _1 : 'tv_stm_dots = Obj.magic _1 in
18621 let _startpos = _startpos__1_ in
18622 let _endpos = _endpos__2_ in
18623 let _v : 'tv_nest_after_stm =
18624 # 1732 "parser_cocci_menhir.mly"
18625 (_1::_2)
18626 # 18627 "parser_cocci_menhir.ml"
18627 in
18628 _menhir_env.MenhirLib.EngineTypes.stack <- {
18629 MenhirLib.EngineTypes.state = _menhir_s;
18630 MenhirLib.EngineTypes.semv = Obj.repr _v;
18631 MenhirLib.EngineTypes.startp = _startpos;
18632 MenhirLib.EngineTypes.endp = _endpos;
18633 MenhirLib.EngineTypes.next = _menhir_stack;
18634 });
18635 (fun _menhir_env ->
18636 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18637 let {
18638 MenhirLib.EngineTypes.semv = _2;
18639 MenhirLib.EngineTypes.startp = _startpos__2_;
18640 MenhirLib.EngineTypes.endp = _endpos__2_;
18641 MenhirLib.EngineTypes.next = {
18642 MenhirLib.EngineTypes.state = _menhir_s;
18643 MenhirLib.EngineTypes.semv = _1;
18644 MenhirLib.EngineTypes.startp = _startpos__1_;
18645 MenhirLib.EngineTypes.endp = _endpos__1_;
18646 MenhirLib.EngineTypes.next = _menhir_stack;
18647 };
18648 } = _menhir_stack in
18649 let _2 : 'tv_nest_after_stm = Obj.magic _2 in
18650 let _1 : 'tv_decl_statement = Obj.magic _1 in
18651 let _startpos = _startpos__1_ in
18652 let _endpos = _endpos__2_ in
18653 let _v : 'tv_nest_after_stm =
18654 # 1733 "parser_cocci_menhir.mly"
18655 (_1@_2)
18656 # 18657 "parser_cocci_menhir.ml"
18657 in
18658 _menhir_env.MenhirLib.EngineTypes.stack <- {
18659 MenhirLib.EngineTypes.state = _menhir_s;
18660 MenhirLib.EngineTypes.semv = Obj.repr _v;
18661 MenhirLib.EngineTypes.startp = _startpos;
18662 MenhirLib.EngineTypes.endp = _endpos;
18663 MenhirLib.EngineTypes.next = _menhir_stack;
18664 });
18665 (fun _menhir_env ->
18666 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18667 let {
18668 MenhirLib.EngineTypes.semv = c;
18669 MenhirLib.EngineTypes.startp = _startpos_c_;
18670 MenhirLib.EngineTypes.endp = _endpos_c_;
18671 MenhirLib.EngineTypes.next = {
18672 MenhirLib.EngineTypes.semv = e;
18673 MenhirLib.EngineTypes.startp = _startpos_e_;
18674 MenhirLib.EngineTypes.endp = _endpos_e_;
18675 MenhirLib.EngineTypes.next = {
18676 MenhirLib.EngineTypes.state = _menhir_s;
18677 MenhirLib.EngineTypes.semv = _1;
18678 MenhirLib.EngineTypes.startp = _startpos__1_;
18679 MenhirLib.EngineTypes.endp = _endpos__1_;
18680 MenhirLib.EngineTypes.next = _menhir_stack;
18681 };
18682 };
18683 } = _menhir_stack in
18684 let c : (
18685 # 73 "parser_cocci_menhir.mly"
18686 (Data.clt)
18687 # 18688 "parser_cocci_menhir.ml"
18688 ) = Obj.magic c in
18689 let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
18690 let _1 : (
18691 # 73 "parser_cocci_menhir.mly"
18692 (Data.clt)
18693 # 18694 "parser_cocci_menhir.ml"
18694 ) = Obj.magic _1 in
18695 let _startpos = _startpos__1_ in
18696 let _endpos = _endpos_c_ in
18697 let _v : 'tv_nest_expressions =
18698 # 1221 "parser_cocci_menhir.mly"
18699 ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
18700 Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
18701 P.clt2mcode "...>" c, None, false)) )
18702 # 18703 "parser_cocci_menhir.ml"
18703 in
18704 _menhir_env.MenhirLib.EngineTypes.stack <- {
18705 MenhirLib.EngineTypes.state = _menhir_s;
18706 MenhirLib.EngineTypes.semv = Obj.repr _v;
18707 MenhirLib.EngineTypes.startp = _startpos;
18708 MenhirLib.EngineTypes.endp = _endpos;
18709 MenhirLib.EngineTypes.next = _menhir_stack;
18710 });
18711 (fun _menhir_env ->
18712 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18713 let {
18714 MenhirLib.EngineTypes.semv = c;
18715 MenhirLib.EngineTypes.startp = _startpos_c_;
18716 MenhirLib.EngineTypes.endp = _endpos_c_;
18717 MenhirLib.EngineTypes.next = {
18718 MenhirLib.EngineTypes.semv = e;
18719 MenhirLib.EngineTypes.startp = _startpos_e_;
18720 MenhirLib.EngineTypes.endp = _endpos_e_;
18721 MenhirLib.EngineTypes.next = {
18722 MenhirLib.EngineTypes.state = _menhir_s;
18723 MenhirLib.EngineTypes.semv = _1;
18724 MenhirLib.EngineTypes.startp = _startpos__1_;
18725 MenhirLib.EngineTypes.endp = _endpos__1_;
18726 MenhirLib.EngineTypes.next = _menhir_stack;
18727 };
18728 };
18729 } = _menhir_stack in
18730 let c : (
18731 # 73 "parser_cocci_menhir.mly"
18732 (Data.clt)
18733 # 18734 "parser_cocci_menhir.ml"
18734 ) = Obj.magic c in
18735 let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
18736 let _1 : (
18737 # 73 "parser_cocci_menhir.mly"
18738 (Data.clt)
18739 # 18740 "parser_cocci_menhir.ml"
18740 ) = Obj.magic _1 in
18741 let _startpos = _startpos__1_ in
18742 let _endpos = _endpos_c_ in
18743 let _v : 'tv_nest_expressions =
18744 # 1225 "parser_cocci_menhir.mly"
18745 ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
18746 Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
18747 P.clt2mcode "...+>" c, None, true)) )
18748 # 18749 "parser_cocci_menhir.ml"
18749 in
18750 _menhir_env.MenhirLib.EngineTypes.stack <- {
18751 MenhirLib.EngineTypes.state = _menhir_s;
18752 MenhirLib.EngineTypes.semv = Obj.repr _v;
18753 MenhirLib.EngineTypes.startp = _startpos;
18754 MenhirLib.EngineTypes.endp = _endpos;
18755 MenhirLib.EngineTypes.next = _menhir_stack;
18756 });
18757 (fun _menhir_env ->
18758 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18759 let {
18760 MenhirLib.EngineTypes.state = _menhir_s;
18761 MenhirLib.EngineTypes.semv = _1;
18762 MenhirLib.EngineTypes.startp = _startpos__1_;
18763 MenhirLib.EngineTypes.endp = _endpos__1_;
18764 MenhirLib.EngineTypes.next = _menhir_stack;
18765 } = _menhir_stack in
18766 let _1 : 'tv_nest_after_dots = Obj.magic _1 in
18767 let _startpos = _startpos__1_ in
18768 let _endpos = _endpos__1_ in
18769 let _v : 'tv_nest_start =
18770 # 1723 "parser_cocci_menhir.mly"
18771 ( Ast0.wrap(Ast0.DOTS(_1)) )
18772 # 18773 "parser_cocci_menhir.ml"
18773 in
18774 _menhir_env.MenhirLib.EngineTypes.stack <- {
18775 MenhirLib.EngineTypes.state = _menhir_s;
18776 MenhirLib.EngineTypes.semv = Obj.repr _v;
18777 MenhirLib.EngineTypes.startp = _startpos;
18778 MenhirLib.EngineTypes.endp = _endpos;
18779 MenhirLib.EngineTypes.next = _menhir_stack;
18780 });
18781 (fun _menhir_env ->
18782 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18783 let {
18784 MenhirLib.EngineTypes.state = _menhir_s;
18785 MenhirLib.EngineTypes.startp = _startpos__1_;
18786 MenhirLib.EngineTypes.endp = _endpos__1_;
18787 MenhirLib.EngineTypes.next = _menhir_stack;
18788 } = _menhir_stack in
18789 let _startpos = _startpos__1_ in
18790 let _endpos = _endpos__1_ in
18791 let _v : (
18792 # 168 "parser_cocci_menhir.mly"
18793 (unit)
18794 # 18795 "parser_cocci_menhir.ml"
18795 ) =
18796 # 1868 "parser_cocci_menhir.mly"
18797 ( () )
18798 # 18799 "parser_cocci_menhir.ml"
18799 in
18800 _menhir_env.MenhirLib.EngineTypes.stack <- {
18801 MenhirLib.EngineTypes.state = _menhir_s;
18802 MenhirLib.EngineTypes.semv = Obj.repr _v;
18803 MenhirLib.EngineTypes.startp = _startpos;
18804 MenhirLib.EngineTypes.endp = _endpos;
18805 MenhirLib.EngineTypes.next = _menhir_stack;
18806 });
18807 (fun _menhir_env ->
18808 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18809 let {
18810 MenhirLib.EngineTypes.startp = _startpos__2_;
18811 MenhirLib.EngineTypes.endp = _endpos__2_;
18812 MenhirLib.EngineTypes.next = {
18813 MenhirLib.EngineTypes.state = _menhir_s;
18814 MenhirLib.EngineTypes.startp = _startpos__1_;
18815 MenhirLib.EngineTypes.endp = _endpos__1_;
18816 MenhirLib.EngineTypes.next = _menhir_stack;
18817 };
18818 } = _menhir_stack in
18819 let _startpos = _startpos__1_ in
18820 let _endpos = _endpos__2_ in
18821 let _v : (
18822 # 168 "parser_cocci_menhir.mly"
18823 (unit)
18824 # 18825 "parser_cocci_menhir.ml"
18825 ) =
18826 # 1869 "parser_cocci_menhir.mly"
18827 ( () )
18828 # 18829 "parser_cocci_menhir.ml"
18829 in
18830 _menhir_env.MenhirLib.EngineTypes.stack <- {
18831 MenhirLib.EngineTypes.state = _menhir_s;
18832 MenhirLib.EngineTypes.semv = Obj.repr _v;
18833 MenhirLib.EngineTypes.startp = _startpos;
18834 MenhirLib.EngineTypes.endp = _endpos;
18835 MenhirLib.EngineTypes.next = _menhir_stack;
18836 });
18837 (fun _menhir_env ->
18838 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18839 let {
18840 MenhirLib.EngineTypes.state = _menhir_s;
18841 MenhirLib.EngineTypes.startp = _startpos__1_;
18842 MenhirLib.EngineTypes.endp = _endpos__1_;
18843 MenhirLib.EngineTypes.next = _menhir_stack;
18844 } = _menhir_stack in
18845 let _startpos = _startpos__1_ in
18846 let _endpos = _endpos__1_ in
18847 let _v : (
18848 # 168 "parser_cocci_menhir.mly"
18849 (unit)
18850 # 18851 "parser_cocci_menhir.ml"
18851 ) =
18852 # 1870 "parser_cocci_menhir.mly"
18853 ( () )
18854 # 18855 "parser_cocci_menhir.ml"
18855 in
18856 _menhir_env.MenhirLib.EngineTypes.stack <- {
18857 MenhirLib.EngineTypes.state = _menhir_s;
18858 MenhirLib.EngineTypes.semv = Obj.repr _v;
18859 MenhirLib.EngineTypes.startp = _startpos;
18860 MenhirLib.EngineTypes.endp = _endpos;
18861 MenhirLib.EngineTypes.next = _menhir_stack;
18862 });
18863 (fun _menhir_env ->
18864 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18865 let {
18866 MenhirLib.EngineTypes.semv = dg;
18867 MenhirLib.EngineTypes.startp = _startpos_dg_;
18868 MenhirLib.EngineTypes.endp = _endpos_dg_;
18869 MenhirLib.EngineTypes.next = {
18870 MenhirLib.EngineTypes.state = _menhir_s;
18871 MenhirLib.EngineTypes.semv = g;
18872 MenhirLib.EngineTypes.startp = _startpos_g_;
18873 MenhirLib.EngineTypes.endp = _endpos_g_;
18874 MenhirLib.EngineTypes.next = _menhir_stack;
18875 };
18876 } = _menhir_stack in
18877 let dg : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic dg in
18878 let g : 'tv_dexpr = Obj.magic g in
18879 let _startpos = _startpos_g_ in
18880 let _endpos = _endpos_dg_ in
18881 let _v : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ =
18882 # 1389 "parser_cocci_menhir.mly"
18883 ( function dot_builder ->
18884 g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
18885 # 18886 "parser_cocci_menhir.ml"
18886 in
18887 _menhir_env.MenhirLib.EngineTypes.stack <- {
18888 MenhirLib.EngineTypes.state = _menhir_s;
18889 MenhirLib.EngineTypes.semv = Obj.repr _v;
18890 MenhirLib.EngineTypes.startp = _startpos;
18891 MenhirLib.EngineTypes.endp = _endpos;
18892 MenhirLib.EngineTypes.next = _menhir_stack;
18893 });
18894 (fun _menhir_env ->
18895 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18896 let {
18897 MenhirLib.EngineTypes.state = _menhir_s;
18898 MenhirLib.EngineTypes.semv = x;
18899 MenhirLib.EngineTypes.startp = _startpos_x_;
18900 MenhirLib.EngineTypes.endp = _endpos_x_;
18901 MenhirLib.EngineTypes.next = _menhir_stack;
18902 } = _menhir_stack in
18903 let x : (
18904 # 99 "parser_cocci_menhir.mly"
18905 (Data.clt)
18906 # 18907 "parser_cocci_menhir.ml"
18907 ) = Obj.magic x in
18908 let _startpos = _startpos_x_ in
18909 let _endpos = _endpos_x_ in
18910 let _v : 'tv_nonempty_list_TMul_ =
18911 # 124 "standard.mly"
18912 ( [ x ] )
18913 # 18914 "parser_cocci_menhir.ml"
18914 in
18915 _menhir_env.MenhirLib.EngineTypes.stack <- {
18916 MenhirLib.EngineTypes.state = _menhir_s;
18917 MenhirLib.EngineTypes.semv = Obj.repr _v;
18918 MenhirLib.EngineTypes.startp = _startpos;
18919 MenhirLib.EngineTypes.endp = _endpos;
18920 MenhirLib.EngineTypes.next = _menhir_stack;
18921 });
18922 (fun _menhir_env ->
18923 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18924 let {
18925 MenhirLib.EngineTypes.semv = xs;
18926 MenhirLib.EngineTypes.startp = _startpos_xs_;
18927 MenhirLib.EngineTypes.endp = _endpos_xs_;
18928 MenhirLib.EngineTypes.next = {
18929 MenhirLib.EngineTypes.state = _menhir_s;
18930 MenhirLib.EngineTypes.semv = x;
18931 MenhirLib.EngineTypes.startp = _startpos_x_;
18932 MenhirLib.EngineTypes.endp = _endpos_x_;
18933 MenhirLib.EngineTypes.next = _menhir_stack;
18934 };
18935 } = _menhir_stack in
18936 let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in
18937 let x : (
18938 # 99 "parser_cocci_menhir.mly"
18939 (Data.clt)
18940 # 18941 "parser_cocci_menhir.ml"
18941 ) = Obj.magic x in
18942 let _startpos = _startpos_x_ in
18943 let _endpos = _endpos_xs_ in
18944 let _v : 'tv_nonempty_list_TMul_ =
18945 # 126 "standard.mly"
18946 ( x :: xs )
18947 # 18948 "parser_cocci_menhir.ml"
18948 in
18949 _menhir_env.MenhirLib.EngineTypes.stack <- {
18950 MenhirLib.EngineTypes.state = _menhir_s;
18951 MenhirLib.EngineTypes.semv = Obj.repr _v;
18952 MenhirLib.EngineTypes.startp = _startpos;
18953 MenhirLib.EngineTypes.endp = _endpos;
18954 MenhirLib.EngineTypes.next = _menhir_stack;
18955 });
18956 (fun _menhir_env ->
18957 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18958 let {
18959 MenhirLib.EngineTypes.semv = i;
18960 MenhirLib.EngineTypes.startp = _startpos_i_;
18961 MenhirLib.EngineTypes.endp = _endpos_i_;
18962 MenhirLib.EngineTypes.next = {
18963 MenhirLib.EngineTypes.state = _menhir_s;
18964 MenhirLib.EngineTypes.startp = _startpos__1_;
18965 MenhirLib.EngineTypes.endp = _endpos__1_;
18966 MenhirLib.EngineTypes.next = _menhir_stack;
18967 };
18968 } = _menhir_stack in
18969 let i : 'tv_ident_or_const = Obj.magic i in
18970 let _startpos = _startpos__1_ in
18971 let _endpos = _endpos_i_ in
18972 let _v : 'tv_not_ceq =
18973 # 1450 "parser_cocci_menhir.mly"
18974 ( (if !Data.in_iso
18975 then failwith "constraints not allowed in iso file");
18976 (if !Data.in_generating
18977 then failwith "constraints not allowed in a generated rule file");
18978 [i] )
18979 # 18980 "parser_cocci_menhir.ml"
18980 in
18981 _menhir_env.MenhirLib.EngineTypes.stack <- {
18982 MenhirLib.EngineTypes.state = _menhir_s;
18983 MenhirLib.EngineTypes.semv = Obj.repr _v;
18984 MenhirLib.EngineTypes.startp = _startpos;
18985 MenhirLib.EngineTypes.endp = _endpos;
18986 MenhirLib.EngineTypes.next = _menhir_stack;
18987 });
18988 (fun _menhir_env ->
18989 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18990 let {
18991 MenhirLib.EngineTypes.startp = _startpos__4_;
18992 MenhirLib.EngineTypes.endp = _endpos__4_;
18993 MenhirLib.EngineTypes.next = {
18994 MenhirLib.EngineTypes.semv = l;
18995 MenhirLib.EngineTypes.startp = _startpos_l_;
18996 MenhirLib.EngineTypes.endp = _endpos_l_;
18997 MenhirLib.EngineTypes.next = {
18998 MenhirLib.EngineTypes.startp = _startpos__2_;
18999 MenhirLib.EngineTypes.endp = _endpos__2_;
19000 MenhirLib.EngineTypes.next = {
19001 MenhirLib.EngineTypes.state = _menhir_s;
19002 MenhirLib.EngineTypes.startp = _startpos__1_;
19003 MenhirLib.EngineTypes.endp = _endpos__1_;
19004 MenhirLib.EngineTypes.next = _menhir_stack;
19005 };
19006 };
19007 };
19008 } = _menhir_stack in
19009 let l : 'tv_comma_list_ident_or_const_ = Obj.magic l in
19010 let _startpos = _startpos__1_ in
19011 let _endpos = _endpos__4_ in
19012 let _v : 'tv_not_ceq =
19013 # 1456 "parser_cocci_menhir.mly"
19014 ( (if !Data.in_iso
19015 then failwith "constraints not allowed in iso file");
19016 (if !Data.in_generating
19017 then failwith "constraints not allowed in a generated rule file");
19018 l )
19019 # 19020 "parser_cocci_menhir.ml"
19020 in
19021 _menhir_env.MenhirLib.EngineTypes.stack <- {
19022 MenhirLib.EngineTypes.state = _menhir_s;
19023 MenhirLib.EngineTypes.semv = Obj.repr _v;
19024 MenhirLib.EngineTypes.startp = _startpos;
19025 MenhirLib.EngineTypes.endp = _endpos;
19026 MenhirLib.EngineTypes.next = _menhir_stack;
19027 });
19028 (fun _menhir_env ->
19029 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19030 let {
19031 MenhirLib.EngineTypes.semv = i;
19032 MenhirLib.EngineTypes.startp = _startpos_i_;
19033 MenhirLib.EngineTypes.endp = _endpos_i_;
19034 MenhirLib.EngineTypes.next = {
19035 MenhirLib.EngineTypes.state = _menhir_s;
19036 MenhirLib.EngineTypes.startp = _startpos__1_;
19037 MenhirLib.EngineTypes.endp = _endpos__1_;
19038 MenhirLib.EngineTypes.next = _menhir_stack;
19039 };
19040 } = _menhir_stack in
19041 let i : 'tv_pure_ident = Obj.magic i in
19042 let _startpos = _startpos__1_ in
19043 let _endpos = _endpos_i_ in
19044 let _v : 'tv_not_eq =
19045 # 1417 "parser_cocci_menhir.mly"
19046 ( (if !Data.in_iso
19047 then failwith "constraints not allowed in iso file");
19048 (if !Data.in_generating
19049 (* pb: constraints not stored with metavars; too lazy to search for
19050 them in the pattern *)
19051 then failwith "constraints not allowed in a generated rule file");
19052 [Ast0.wrap(Ast0.Id(P.id2mcode i))] )
19053 # 19054 "parser_cocci_menhir.ml"
19054 in
19055 _menhir_env.MenhirLib.EngineTypes.stack <- {
19056 MenhirLib.EngineTypes.state = _menhir_s;
19057 MenhirLib.EngineTypes.semv = Obj.repr _v;
19058 MenhirLib.EngineTypes.startp = _startpos;
19059 MenhirLib.EngineTypes.endp = _endpos;
19060 MenhirLib.EngineTypes.next = _menhir_stack;
19061 });
19062 (fun _menhir_env ->
19063 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19064 let {
19065 MenhirLib.EngineTypes.startp = _startpos__4_;
19066 MenhirLib.EngineTypes.endp = _endpos__4_;
19067 MenhirLib.EngineTypes.next = {
19068 MenhirLib.EngineTypes.semv = l;
19069 MenhirLib.EngineTypes.startp = _startpos_l_;
19070 MenhirLib.EngineTypes.endp = _endpos_l_;
19071 MenhirLib.EngineTypes.next = {
19072 MenhirLib.EngineTypes.startp = _startpos__2_;
19073 MenhirLib.EngineTypes.endp = _endpos__2_;
19074 MenhirLib.EngineTypes.next = {
19075 MenhirLib.EngineTypes.state = _menhir_s;
19076 MenhirLib.EngineTypes.startp = _startpos__1_;
19077 MenhirLib.EngineTypes.endp = _endpos__1_;
19078 MenhirLib.EngineTypes.next = _menhir_stack;
19079 };
19080 };
19081 };
19082 } = _menhir_stack in
19083 let l : 'tv_comma_list_pure_ident_ = Obj.magic l in
19084 let _startpos = _startpos__1_ in
19085 let _endpos = _endpos__4_ in
19086 let _v : 'tv_not_eq =
19087 # 1425 "parser_cocci_menhir.mly"
19088 ( (if !Data.in_iso
19089 then failwith "constraints not allowed in iso file");
19090 (if !Data.in_generating
19091 then failwith "constraints not allowed in a generated rule file");
19092 List.map (function i -> Ast0.wrap(Ast0.Id(P.id2mcode i))) l )
19093 # 19094 "parser_cocci_menhir.ml"
19094 in
19095 _menhir_env.MenhirLib.EngineTypes.stack <- {
19096 MenhirLib.EngineTypes.state = _menhir_s;
19097 MenhirLib.EngineTypes.semv = Obj.repr _v;
19098 MenhirLib.EngineTypes.startp = _startpos;
19099 MenhirLib.EngineTypes.endp = _endpos;
19100 MenhirLib.EngineTypes.next = _menhir_stack;
19101 });
19102 (fun _menhir_env ->
19103 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19104 let {
19105 MenhirLib.EngineTypes.semv = i;
19106 MenhirLib.EngineTypes.startp = _startpos_i_;
19107 MenhirLib.EngineTypes.endp = _endpos_i_;
19108 MenhirLib.EngineTypes.next = {
19109 MenhirLib.EngineTypes.state = _menhir_s;
19110 MenhirLib.EngineTypes.startp = _startpos__1_;
19111 MenhirLib.EngineTypes.endp = _endpos__1_;
19112 MenhirLib.EngineTypes.next = _menhir_stack;
19113 };
19114 } = _menhir_stack in
19115 let i : 'tv_pure_ident = Obj.magic i in
19116 let _startpos = _startpos__1_ in
19117 let _endpos = _endpos_i_ in
19118 let _v : 'tv_not_eqe =
19119 # 1433 "parser_cocci_menhir.mly"
19120 ( (if !Data.in_iso
19121 then failwith "constraints not allowed in iso file");
19122 (if !Data.in_generating
19123 then failwith "constraints not allowed in a generated rule file");
19124 [Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))] )
19125 # 19126 "parser_cocci_menhir.ml"
19126 in
19127 _menhir_env.MenhirLib.EngineTypes.stack <- {
19128 MenhirLib.EngineTypes.state = _menhir_s;
19129 MenhirLib.EngineTypes.semv = Obj.repr _v;
19130 MenhirLib.EngineTypes.startp = _startpos;
19131 MenhirLib.EngineTypes.endp = _endpos;
19132 MenhirLib.EngineTypes.next = _menhir_stack;
19133 });
19134 (fun _menhir_env ->
19135 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19136 let {
19137 MenhirLib.EngineTypes.startp = _startpos__4_;
19138 MenhirLib.EngineTypes.endp = _endpos__4_;
19139 MenhirLib.EngineTypes.next = {
19140 MenhirLib.EngineTypes.semv = l;
19141 MenhirLib.EngineTypes.startp = _startpos_l_;
19142 MenhirLib.EngineTypes.endp = _endpos_l_;
19143 MenhirLib.EngineTypes.next = {
19144 MenhirLib.EngineTypes.startp = _startpos__2_;
19145 MenhirLib.EngineTypes.endp = _endpos__2_;
19146 MenhirLib.EngineTypes.next = {
19147 MenhirLib.EngineTypes.state = _menhir_s;
19148 MenhirLib.EngineTypes.startp = _startpos__1_;
19149 MenhirLib.EngineTypes.endp = _endpos__1_;
19150 MenhirLib.EngineTypes.next = _menhir_stack;
19151 };
19152 };
19153 };
19154 } = _menhir_stack in
19155 let l : 'tv_comma_list_pure_ident_ = Obj.magic l in
19156 let _startpos = _startpos__1_ in
19157 let _endpos = _endpos__4_ in
19158 let _v : 'tv_not_eqe =
19159 # 1439 "parser_cocci_menhir.mly"
19160 ( (if !Data.in_iso
19161 then failwith "constraints not allowed in iso file");
19162 (if !Data.in_generating
19163 then failwith "constraints not allowed in a generated rule file");
19164 List.map
19165 (function i ->
19166 Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))))
19167 l )
19168 # 19169 "parser_cocci_menhir.ml"
19169 in
19170 _menhir_env.MenhirLib.EngineTypes.stack <- {
19171 MenhirLib.EngineTypes.state = _menhir_s;
19172 MenhirLib.EngineTypes.semv = Obj.repr _v;
19173 MenhirLib.EngineTypes.startp = _startpos;
19174 MenhirLib.EngineTypes.endp = _endpos;
19175 MenhirLib.EngineTypes.next = _menhir_stack;
19176 });
19177 (fun _menhir_env ->
19178 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19179 let {
19180 MenhirLib.EngineTypes.semv = i;
19181 MenhirLib.EngineTypes.startp = _startpos_i_;
19182 MenhirLib.EngineTypes.endp = _endpos_i_;
19183 MenhirLib.EngineTypes.next = {
19184 MenhirLib.EngineTypes.state = _menhir_s;
19185 MenhirLib.EngineTypes.startp = _startpos__1_;
19186 MenhirLib.EngineTypes.endp = _endpos__1_;
19187 MenhirLib.EngineTypes.next = _menhir_stack;
19188 };
19189 } = _menhir_stack in
19190 let i : 'tv_meta_ident = Obj.magic i in
19191 let _startpos = _startpos__1_ in
19192 let _endpos = _endpos_i_ in
19193 let _v : 'tv_not_pos =
19194 # 1470 "parser_cocci_menhir.mly"
19195 ( (if !Data.in_iso
19196 then failwith "constraints not allowed in iso file");
19197 (if !Data.in_generating
19198 then failwith "constraints not allowed in a generated rule file");
19199 match i with
19200 (None,_) -> failwith "constraint must be an inherited variable"
19201 | (Some rule,name) ->
19202 let i = (rule,name) in
19203 P.check_meta(Ast.MetaPosDecl(Ast.NONE,i));
19204 [i] )
19205 # 19206 "parser_cocci_menhir.ml"
19206 in
19207 _menhir_env.MenhirLib.EngineTypes.stack <- {
19208 MenhirLib.EngineTypes.state = _menhir_s;
19209 MenhirLib.EngineTypes.semv = Obj.repr _v;
19210 MenhirLib.EngineTypes.startp = _startpos;
19211 MenhirLib.EngineTypes.endp = _endpos;
19212 MenhirLib.EngineTypes.next = _menhir_stack;
19213 });
19214 (fun _menhir_env ->
19215 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19216 let {
19217 MenhirLib.EngineTypes.startp = _startpos__4_;
19218 MenhirLib.EngineTypes.endp = _endpos__4_;
19219 MenhirLib.EngineTypes.next = {
19220 MenhirLib.EngineTypes.semv = l;
19221 MenhirLib.EngineTypes.startp = _startpos_l_;
19222 MenhirLib.EngineTypes.endp = _endpos_l_;
19223 MenhirLib.EngineTypes.next = {
19224 MenhirLib.EngineTypes.startp = _startpos__2_;
19225 MenhirLib.EngineTypes.endp = _endpos__2_;
19226 MenhirLib.EngineTypes.next = {
19227 MenhirLib.EngineTypes.state = _menhir_s;
19228 MenhirLib.EngineTypes.startp = _startpos__1_;
19229 MenhirLib.EngineTypes.endp = _endpos__1_;
19230 MenhirLib.EngineTypes.next = _menhir_stack;
19231 };
19232 };
19233 };
19234 } = _menhir_stack in
19235 let l : 'tv_comma_list_meta_ident_ = Obj.magic l in
19236 let _startpos = _startpos__1_ in
19237 let _endpos = _endpos__4_ in
19238 let _v : 'tv_not_pos =
19239 # 1481 "parser_cocci_menhir.mly"
19240 ( (if !Data.in_iso
19241 then failwith "constraints not allowed in iso file");
19242 (if !Data.in_generating
19243 then failwith "constraints not allowed in a generated rule file");
19244 List.map
19245 (function
19246 (None,_) ->
19247 failwith "constraint must be an inherited variable"
19248 | (Some rule,name) ->
19249 let i = (rule,name) in
19250 P.check_meta(Ast.MetaPosDecl(Ast.NONE,i));
19251 i)
19252 l )
19253 # 19254 "parser_cocci_menhir.ml"
19254 in
19255 _menhir_env.MenhirLib.EngineTypes.stack <- {
19256 MenhirLib.EngineTypes.state = _menhir_s;
19257 MenhirLib.EngineTypes.semv = Obj.repr _v;
19258 MenhirLib.EngineTypes.startp = _startpos;
19259 MenhirLib.EngineTypes.endp = _endpos;
19260 MenhirLib.EngineTypes.next = _menhir_stack;
19261 });
19262 (fun _menhir_env ->
19263 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19264 let {
19265 MenhirLib.EngineTypes.state = _menhir_s;
19266 MenhirLib.EngineTypes.semv = _1;
19267 MenhirLib.EngineTypes.startp = _startpos__1_;
19268 MenhirLib.EngineTypes.endp = _endpos__1_;
19269 MenhirLib.EngineTypes.next = _menhir_stack;
19270 } = _menhir_stack in
19271 let _1 : 'tv_decl = Obj.magic _1 in
19272 let _startpos = _startpos__1_ in
19273 let _endpos = _endpos__1_ in
19274 let _v : 'tv_one_dec_decl_ =
19275 # 1555 "parser_cocci_menhir.mly"
19276 ( _1 )
19277 # 19278 "parser_cocci_menhir.ml"
19278 in
19279 _menhir_env.MenhirLib.EngineTypes.stack <- {
19280 MenhirLib.EngineTypes.state = _menhir_s;
19281 MenhirLib.EngineTypes.semv = Obj.repr _v;
19282 MenhirLib.EngineTypes.startp = _startpos;
19283 MenhirLib.EngineTypes.endp = _endpos;
19284 MenhirLib.EngineTypes.next = _menhir_stack;
19285 });
19286 (fun _menhir_env ->
19287 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19288 let {
19289 MenhirLib.EngineTypes.state = _menhir_s;
19290 MenhirLib.EngineTypes.semv = _1;
19291 MenhirLib.EngineTypes.startp = _startpos__1_;
19292 MenhirLib.EngineTypes.endp = _endpos__1_;
19293 MenhirLib.EngineTypes.next = _menhir_stack;
19294 } = _menhir_stack in
19295 let _1 : (
19296 # 66 "parser_cocci_menhir.mly"
19297 (Parse_aux.list_info)
19298 # 19299 "parser_cocci_menhir.ml"
19299 ) = Obj.magic _1 in
19300 let _startpos = _startpos__1_ in
19301 let _endpos = _endpos__1_ in
19302 let _v : 'tv_one_dec_decl_ =
19303 # 1557 "parser_cocci_menhir.mly"
19304 ( let (nm,lenname,pure,clt) = _1 in
19305 let nm = P.clt2mcode nm clt in
19306 let lenname =
19307 match lenname with
19308 Some nm -> Some(P.clt2mcode nm clt)
19309 | None -> None in
19310 Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
19311 # 19312 "parser_cocci_menhir.ml"
19312 in
19313 _menhir_env.MenhirLib.EngineTypes.stack <- {
19314 MenhirLib.EngineTypes.state = _menhir_s;
19315 MenhirLib.EngineTypes.semv = Obj.repr _v;
19316 MenhirLib.EngineTypes.startp = _startpos;
19317 MenhirLib.EngineTypes.endp = _endpos;
19318 MenhirLib.EngineTypes.next = _menhir_stack;
19319 });
19320 (fun _menhir_env ->
19321 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19322 let {
19323 MenhirLib.EngineTypes.state = _menhir_s;
19324 MenhirLib.EngineTypes.semv = _1;
19325 MenhirLib.EngineTypes.startp = _startpos__1_;
19326 MenhirLib.EngineTypes.endp = _endpos__1_;
19327 MenhirLib.EngineTypes.next = _menhir_stack;
19328 } = _menhir_stack in
19329 let _1 : 'tv_name_opt_decl = Obj.magic _1 in
19330 let _startpos = _startpos__1_ in
19331 let _endpos = _endpos__1_ in
19332 let _v : 'tv_one_dec_name_opt_decl_ =
19333 # 1555 "parser_cocci_menhir.mly"
19334 ( _1 )
19335 # 19336 "parser_cocci_menhir.ml"
19336 in
19337 _menhir_env.MenhirLib.EngineTypes.stack <- {
19338 MenhirLib.EngineTypes.state = _menhir_s;
19339 MenhirLib.EngineTypes.semv = Obj.repr _v;
19340 MenhirLib.EngineTypes.startp = _startpos;
19341 MenhirLib.EngineTypes.endp = _endpos;
19342 MenhirLib.EngineTypes.next = _menhir_stack;
19343 });
19344 (fun _menhir_env ->
19345 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19346 let {
19347 MenhirLib.EngineTypes.state = _menhir_s;
19348 MenhirLib.EngineTypes.semv = _1;
19349 MenhirLib.EngineTypes.startp = _startpos__1_;
19350 MenhirLib.EngineTypes.endp = _endpos__1_;
19351 MenhirLib.EngineTypes.next = _menhir_stack;
19352 } = _menhir_stack in
19353 let _1 : (
19354 # 66 "parser_cocci_menhir.mly"
19355 (Parse_aux.list_info)
19356 # 19357 "parser_cocci_menhir.ml"
19357 ) = Obj.magic _1 in
19358 let _startpos = _startpos__1_ in
19359 let _endpos = _endpos__1_ in
19360 let _v : 'tv_one_dec_name_opt_decl_ =
19361 # 1557 "parser_cocci_menhir.mly"
19362 ( let (nm,lenname,pure,clt) = _1 in
19363 let nm = P.clt2mcode nm clt in
19364 let lenname =
19365 match lenname with
19366 Some nm -> Some(P.clt2mcode nm clt)
19367 | None -> None in
19368 Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
19369 # 19370 "parser_cocci_menhir.ml"
19370 in
19371 _menhir_env.MenhirLib.EngineTypes.stack <- {
19372 MenhirLib.EngineTypes.state = _menhir_s;
19373 MenhirLib.EngineTypes.semv = Obj.repr _v;
19374 MenhirLib.EngineTypes.startp = _startpos;
19375 MenhirLib.EngineTypes.endp = _endpos;
19376 MenhirLib.EngineTypes.next = _menhir_stack;
19377 });
19378 (fun _menhir_env ->
19379 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19380 let {
19381 MenhirLib.EngineTypes.semv = pv;
19382 MenhirLib.EngineTypes.startp = _startpos_pv_;
19383 MenhirLib.EngineTypes.endp = _endpos_pv_;
19384 MenhirLib.EngineTypes.next = {
19385 MenhirLib.EngineTypes.state = _menhir_s;
19386 MenhirLib.EngineTypes.semv = t;
19387 MenhirLib.EngineTypes.startp = _startpos_t_;
19388 MenhirLib.EngineTypes.endp = _endpos_t_;
19389 MenhirLib.EngineTypes.next = _menhir_stack;
19390 };
19391 } = _menhir_stack in
19392 let pv : (
19393 # 107 "parser_cocci_menhir.mly"
19394 (Data.clt)
19395 # 19396 "parser_cocci_menhir.ml"
19396 ) = Obj.magic pv in
19397 let t : 'tv_ctype = Obj.magic t in
19398 let _startpos = _startpos_t_ in
19399 let _endpos = _endpos_pv_ in
19400 let _v : 'tv_one_decl_var =
19401 # 1010 "parser_cocci_menhir.mly"
19402 ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) )
19403 # 19404 "parser_cocci_menhir.ml"
19404 in
19405 _menhir_env.MenhirLib.EngineTypes.stack <- {
19406 MenhirLib.EngineTypes.state = _menhir_s;
19407 MenhirLib.EngineTypes.semv = Obj.repr _v;
19408 MenhirLib.EngineTypes.startp = _startpos;
19409 MenhirLib.EngineTypes.endp = _endpos;
19410 MenhirLib.EngineTypes.next = _menhir_stack;
19411 });
19412 (fun _menhir_env ->
19413 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19414 let {
19415 MenhirLib.EngineTypes.semv = pv;
19416 MenhirLib.EngineTypes.startp = _startpos_pv_;
19417 MenhirLib.EngineTypes.endp = _endpos_pv_;
19418 MenhirLib.EngineTypes.next = {
19419 MenhirLib.EngineTypes.semv = d;
19420 MenhirLib.EngineTypes.startp = _startpos_d_;
19421 MenhirLib.EngineTypes.endp = _endpos_d_;
19422 MenhirLib.EngineTypes.next = {
19423 MenhirLib.EngineTypes.state = _menhir_s;
19424 MenhirLib.EngineTypes.semv = t;
19425 MenhirLib.EngineTypes.startp = _startpos_t_;
19426 MenhirLib.EngineTypes.endp = _endpos_t_;
19427 MenhirLib.EngineTypes.next = _menhir_stack;
19428 };
19429 };
19430 } = _menhir_stack in
19431 let pv : (
19432 # 107 "parser_cocci_menhir.mly"
19433 (Data.clt)
19434 # 19435 "parser_cocci_menhir.ml"
19435 ) = Obj.magic pv in
19436 let d : 'tv_d_ident = Obj.magic d in
19437 let t : 'tv_ctype = Obj.magic t in
19438 let _startpos = _startpos_t_ in
19439 let _endpos = _endpos_pv_ in
19440 let _v : 'tv_one_decl_var = let s =
19441
19442 # 39 "standard.mly"
19443 ( None )
19444 # 19445 "parser_cocci_menhir.ml"
19445
19446 in
19447
19448 # 1012 "parser_cocci_menhir.mly"
19449 ( let (id,fn) = d in
19450 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
19451 # 19452 "parser_cocci_menhir.ml"
19452 in
19453 _menhir_env.MenhirLib.EngineTypes.stack <- {
19454 MenhirLib.EngineTypes.state = _menhir_s;
19455 MenhirLib.EngineTypes.semv = Obj.repr _v;
19456 MenhirLib.EngineTypes.startp = _startpos;
19457 MenhirLib.EngineTypes.endp = _endpos;
19458 MenhirLib.EngineTypes.next = _menhir_stack;
19459 });
19460 (fun _menhir_env ->
19461 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19462 let {
19463 MenhirLib.EngineTypes.semv = pv;
19464 MenhirLib.EngineTypes.startp = _startpos_pv_;
19465 MenhirLib.EngineTypes.endp = _endpos_pv_;
19466 MenhirLib.EngineTypes.next = {
19467 MenhirLib.EngineTypes.semv = d;
19468 MenhirLib.EngineTypes.startp = _startpos_d_;
19469 MenhirLib.EngineTypes.endp = _endpos_d_;
19470 MenhirLib.EngineTypes.next = {
19471 MenhirLib.EngineTypes.semv = t;
19472 MenhirLib.EngineTypes.startp = _startpos_t_;
19473 MenhirLib.EngineTypes.endp = _endpos_t_;
19474 MenhirLib.EngineTypes.next = {
19475 MenhirLib.EngineTypes.state = _menhir_s;
19476 MenhirLib.EngineTypes.semv = x0;
19477 MenhirLib.EngineTypes.startp = _startpos_x0_;
19478 MenhirLib.EngineTypes.endp = _endpos_x0_;
19479 MenhirLib.EngineTypes.next = _menhir_stack;
19480 };
19481 };
19482 };
19483 } = _menhir_stack in
19484 let pv : (
19485 # 107 "parser_cocci_menhir.mly"
19486 (Data.clt)
19487 # 19488 "parser_cocci_menhir.ml"
19488 ) = Obj.magic pv in
19489 let d : 'tv_d_ident = Obj.magic d in
19490 let t : 'tv_ctype = Obj.magic t in
19491 let x0 : 'tv_storage = Obj.magic x0 in
19492 let _startpos = _startpos_x0_ in
19493 let _endpos = _endpos_pv_ in
19494 let _v : 'tv_one_decl_var = let s =
19495 let x = x0 in
19496
19497 # 41 "standard.mly"
19498 ( Some x )
19499 # 19500 "parser_cocci_menhir.ml"
19500
19501 in
19502
19503 # 1012 "parser_cocci_menhir.mly"
19504 ( let (id,fn) = d in
19505 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
19506 # 19507 "parser_cocci_menhir.ml"
19507 in
19508 _menhir_env.MenhirLib.EngineTypes.stack <- {
19509 MenhirLib.EngineTypes.state = _menhir_s;
19510 MenhirLib.EngineTypes.semv = Obj.repr _v;
19511 MenhirLib.EngineTypes.startp = _startpos;
19512 MenhirLib.EngineTypes.endp = _endpos;
19513 MenhirLib.EngineTypes.next = _menhir_stack;
19514 });
19515 (fun _menhir_env ->
19516 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19517 let {
19518 MenhirLib.EngineTypes.state = _menhir_s;
19519 MenhirLib.EngineTypes.semv = f;
19520 MenhirLib.EngineTypes.startp = _startpos_f_;
19521 MenhirLib.EngineTypes.endp = _endpos_f_;
19522 MenhirLib.EngineTypes.next = _menhir_stack;
19523 } = _menhir_stack in
19524 let f : 'tv_funproto = Obj.magic f in
19525 let _startpos = _startpos_f_ in
19526 let _endpos = _endpos_f_ in
19527 let _v : 'tv_one_decl_var =
19528 # 1014 "parser_cocci_menhir.mly"
19529 ( f )
19530 # 19531 "parser_cocci_menhir.ml"
19531 in
19532 _menhir_env.MenhirLib.EngineTypes.stack <- {
19533 MenhirLib.EngineTypes.state = _menhir_s;
19534 MenhirLib.EngineTypes.semv = Obj.repr _v;
19535 MenhirLib.EngineTypes.startp = _startpos;
19536 MenhirLib.EngineTypes.endp = _endpos;
19537 MenhirLib.EngineTypes.next = _menhir_stack;
19538 });
19539 (fun _menhir_env ->
19540 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19541 let {
19542 MenhirLib.EngineTypes.semv = pv;
19543 MenhirLib.EngineTypes.startp = _startpos_pv_;
19544 MenhirLib.EngineTypes.endp = _endpos_pv_;
19545 MenhirLib.EngineTypes.next = {
19546 MenhirLib.EngineTypes.semv = e;
19547 MenhirLib.EngineTypes.startp = _startpos_e_;
19548 MenhirLib.EngineTypes.endp = _endpos_e_;
19549 MenhirLib.EngineTypes.next = {
19550 MenhirLib.EngineTypes.semv = q;
19551 MenhirLib.EngineTypes.startp = _startpos_q_;
19552 MenhirLib.EngineTypes.endp = _endpos_q_;
19553 MenhirLib.EngineTypes.next = {
19554 MenhirLib.EngineTypes.semv = d;
19555 MenhirLib.EngineTypes.startp = _startpos_d_;
19556 MenhirLib.EngineTypes.endp = _endpos_d_;
19557 MenhirLib.EngineTypes.next = {
19558 MenhirLib.EngineTypes.state = _menhir_s;
19559 MenhirLib.EngineTypes.semv = t;
19560 MenhirLib.EngineTypes.startp = _startpos_t_;
19561 MenhirLib.EngineTypes.endp = _endpos_t_;
19562 MenhirLib.EngineTypes.next = _menhir_stack;
19563 };
19564 };
19565 };
19566 };
19567 } = _menhir_stack in
19568 let pv : (
19569 # 107 "parser_cocci_menhir.mly"
19570 (Data.clt)
19571 # 19572 "parser_cocci_menhir.ml"
19572 ) = Obj.magic pv in
19573 let e : 'tv_initialize = Obj.magic e in
19574 let q : (
19575 # 107 "parser_cocci_menhir.mly"
19576 (Data.clt)
19577 # 19578 "parser_cocci_menhir.ml"
19578 ) = Obj.magic q in
19579 let d : 'tv_d_ident = Obj.magic d in
19580 let t : 'tv_ctype = Obj.magic t in
19581 let _startpos = _startpos_t_ in
19582 let _endpos = _endpos_pv_ in
19583 let _v : 'tv_one_decl_var = let s =
19584
19585 # 39 "standard.mly"
19586 ( None )
19587 # 19588 "parser_cocci_menhir.ml"
19588
19589 in
19590
19591 # 1016 "parser_cocci_menhir.mly"
19592 ( let (id,fn) = d in
19593 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
19594 # 19595 "parser_cocci_menhir.ml"
19595 in
19596 _menhir_env.MenhirLib.EngineTypes.stack <- {
19597 MenhirLib.EngineTypes.state = _menhir_s;
19598 MenhirLib.EngineTypes.semv = Obj.repr _v;
19599 MenhirLib.EngineTypes.startp = _startpos;
19600 MenhirLib.EngineTypes.endp = _endpos;
19601 MenhirLib.EngineTypes.next = _menhir_stack;
19602 });
19603 (fun _menhir_env ->
19604 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19605 let {
19606 MenhirLib.EngineTypes.semv = pv;
19607 MenhirLib.EngineTypes.startp = _startpos_pv_;
19608 MenhirLib.EngineTypes.endp = _endpos_pv_;
19609 MenhirLib.EngineTypes.next = {
19610 MenhirLib.EngineTypes.semv = e;
19611 MenhirLib.EngineTypes.startp = _startpos_e_;
19612 MenhirLib.EngineTypes.endp = _endpos_e_;
19613 MenhirLib.EngineTypes.next = {
19614 MenhirLib.EngineTypes.semv = q;
19615 MenhirLib.EngineTypes.startp = _startpos_q_;
19616 MenhirLib.EngineTypes.endp = _endpos_q_;
19617 MenhirLib.EngineTypes.next = {
19618 MenhirLib.EngineTypes.semv = d;
19619 MenhirLib.EngineTypes.startp = _startpos_d_;
19620 MenhirLib.EngineTypes.endp = _endpos_d_;
19621 MenhirLib.EngineTypes.next = {
19622 MenhirLib.EngineTypes.semv = t;
19623 MenhirLib.EngineTypes.startp = _startpos_t_;
19624 MenhirLib.EngineTypes.endp = _endpos_t_;
19625 MenhirLib.EngineTypes.next = {
19626 MenhirLib.EngineTypes.state = _menhir_s;
19627 MenhirLib.EngineTypes.semv = x0;
19628 MenhirLib.EngineTypes.startp = _startpos_x0_;
19629 MenhirLib.EngineTypes.endp = _endpos_x0_;
19630 MenhirLib.EngineTypes.next = _menhir_stack;
19631 };
19632 };
19633 };
19634 };
19635 };
19636 } = _menhir_stack in
19637 let pv : (
19638 # 107 "parser_cocci_menhir.mly"
19639 (Data.clt)
19640 # 19641 "parser_cocci_menhir.ml"
19641 ) = Obj.magic pv in
19642 let e : 'tv_initialize = Obj.magic e in
19643 let q : (
19644 # 107 "parser_cocci_menhir.mly"
19645 (Data.clt)
19646 # 19647 "parser_cocci_menhir.ml"
19647 ) = Obj.magic q in
19648 let d : 'tv_d_ident = Obj.magic d in
19649 let t : 'tv_ctype = Obj.magic t in
19650 let x0 : 'tv_storage = Obj.magic x0 in
19651 let _startpos = _startpos_x0_ in
19652 let _endpos = _endpos_pv_ in
19653 let _v : 'tv_one_decl_var = let s =
19654 let x = x0 in
19655
19656 # 41 "standard.mly"
19657 ( Some x )
19658 # 19659 "parser_cocci_menhir.ml"
19659
19660 in
19661
19662 # 1016 "parser_cocci_menhir.mly"
19663 ( let (id,fn) = d in
19664 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
19665 # 19666 "parser_cocci_menhir.ml"
19666 in
19667 _menhir_env.MenhirLib.EngineTypes.stack <- {
19668 MenhirLib.EngineTypes.state = _menhir_s;
19669 MenhirLib.EngineTypes.semv = Obj.repr _v;
19670 MenhirLib.EngineTypes.startp = _startpos;
19671 MenhirLib.EngineTypes.endp = _endpos;
19672 MenhirLib.EngineTypes.next = _menhir_stack;
19673 });
19674 (fun _menhir_env ->
19675 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19676 let {
19677 MenhirLib.EngineTypes.semv = pv;
19678 MenhirLib.EngineTypes.startp = _startpos_pv_;
19679 MenhirLib.EngineTypes.endp = _endpos_pv_;
19680 MenhirLib.EngineTypes.next = {
19681 MenhirLib.EngineTypes.semv = d;
19682 MenhirLib.EngineTypes.startp = _startpos_d_;
19683 MenhirLib.EngineTypes.endp = _endpos_d_;
19684 MenhirLib.EngineTypes.next = {
19685 MenhirLib.EngineTypes.state = _menhir_s;
19686 MenhirLib.EngineTypes.semv = i;
19687 MenhirLib.EngineTypes.startp = _startpos_i_;
19688 MenhirLib.EngineTypes.endp = _endpos_i_;
19689 MenhirLib.EngineTypes.next = _menhir_stack;
19690 };
19691 };
19692 } = _menhir_stack in
19693 let pv : (
19694 # 107 "parser_cocci_menhir.mly"
19695 (Data.clt)
19696 # 19697 "parser_cocci_menhir.ml"
19697 ) = Obj.magic pv in
19698 let d : 'tv_d_ident = Obj.magic d in
19699 let i : 'tv_pure_ident = Obj.magic i in
19700 let _startpos = _startpos_i_ in
19701 let _endpos = _endpos_pv_ in
19702 let _v : 'tv_one_decl_var = let cv =
19703
19704 # 39 "standard.mly"
19705 ( None )
19706 # 19707 "parser_cocci_menhir.ml"
19707
19708 in
19709 let s =
19710
19711 # 39 "standard.mly"
19712 ( None )
19713 # 19714 "parser_cocci_menhir.ml"
19714
19715 in
19716
19717 # 1021 "parser_cocci_menhir.mly"
19718 ( let (id,fn) = d in
19719 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
19720 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
19721 # 19722 "parser_cocci_menhir.ml"
19722 in
19723 _menhir_env.MenhirLib.EngineTypes.stack <- {
19724 MenhirLib.EngineTypes.state = _menhir_s;
19725 MenhirLib.EngineTypes.semv = Obj.repr _v;
19726 MenhirLib.EngineTypes.startp = _startpos;
19727 MenhirLib.EngineTypes.endp = _endpos;
19728 MenhirLib.EngineTypes.next = _menhir_stack;
19729 });
19730 (fun _menhir_env ->
19731 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19732 let {
19733 MenhirLib.EngineTypes.semv = pv;
19734 MenhirLib.EngineTypes.startp = _startpos_pv_;
19735 MenhirLib.EngineTypes.endp = _endpos_pv_;
19736 MenhirLib.EngineTypes.next = {
19737 MenhirLib.EngineTypes.semv = d;
19738 MenhirLib.EngineTypes.startp = _startpos_d_;
19739 MenhirLib.EngineTypes.endp = _endpos_d_;
19740 MenhirLib.EngineTypes.next = {
19741 MenhirLib.EngineTypes.semv = i;
19742 MenhirLib.EngineTypes.startp = _startpos_i_;
19743 MenhirLib.EngineTypes.endp = _endpos_i_;
19744 MenhirLib.EngineTypes.next = {
19745 MenhirLib.EngineTypes.state = _menhir_s;
19746 MenhirLib.EngineTypes.semv = x0;
19747 MenhirLib.EngineTypes.startp = _startpos_x0_;
19748 MenhirLib.EngineTypes.endp = _endpos_x0_;
19749 MenhirLib.EngineTypes.next = _menhir_stack;
19750 };
19751 };
19752 };
19753 } = _menhir_stack in
19754 let pv : (
19755 # 107 "parser_cocci_menhir.mly"
19756 (Data.clt)
19757 # 19758 "parser_cocci_menhir.ml"
19758 ) = Obj.magic pv in
19759 let d : 'tv_d_ident = Obj.magic d in
19760 let i : 'tv_pure_ident = Obj.magic i in
19761 let x0 : 'tv_const_vol = Obj.magic x0 in
19762 let _startpos = _startpos_x0_ in
19763 let _endpos = _endpos_pv_ in
19764 let _v : 'tv_one_decl_var = let cv =
19765 let x = x0 in
19766
19767 # 41 "standard.mly"
19768 ( Some x )
19769 # 19770 "parser_cocci_menhir.ml"
19770
19771 in
19772 let s =
19773
19774 # 39 "standard.mly"
19775 ( None )
19776 # 19777 "parser_cocci_menhir.ml"
19777
19778 in
19779
19780 # 1021 "parser_cocci_menhir.mly"
19781 ( let (id,fn) = d in
19782 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
19783 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
19784 # 19785 "parser_cocci_menhir.ml"
19785 in
19786 _menhir_env.MenhirLib.EngineTypes.stack <- {
19787 MenhirLib.EngineTypes.state = _menhir_s;
19788 MenhirLib.EngineTypes.semv = Obj.repr _v;
19789 MenhirLib.EngineTypes.startp = _startpos;
19790 MenhirLib.EngineTypes.endp = _endpos;
19791 MenhirLib.EngineTypes.next = _menhir_stack;
19792 });
19793 (fun _menhir_env ->
19794 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19795 let {
19796 MenhirLib.EngineTypes.semv = pv;
19797 MenhirLib.EngineTypes.startp = _startpos_pv_;
19798 MenhirLib.EngineTypes.endp = _endpos_pv_;
19799 MenhirLib.EngineTypes.next = {
19800 MenhirLib.EngineTypes.semv = d;
19801 MenhirLib.EngineTypes.startp = _startpos_d_;
19802 MenhirLib.EngineTypes.endp = _endpos_d_;
19803 MenhirLib.EngineTypes.next = {
19804 MenhirLib.EngineTypes.semv = i;
19805 MenhirLib.EngineTypes.startp = _startpos_i_;
19806 MenhirLib.EngineTypes.endp = _endpos_i_;
19807 MenhirLib.EngineTypes.next = {
19808 MenhirLib.EngineTypes.state = _menhir_s;
19809 MenhirLib.EngineTypes.semv = x0;
19810 MenhirLib.EngineTypes.startp = _startpos_x0_;
19811 MenhirLib.EngineTypes.endp = _endpos_x0_;
19812 MenhirLib.EngineTypes.next = _menhir_stack;
19813 };
19814 };
19815 };
19816 } = _menhir_stack in
19817 let pv : (
19818 # 107 "parser_cocci_menhir.mly"
19819 (Data.clt)
19820 # 19821 "parser_cocci_menhir.ml"
19821 ) = Obj.magic pv in
19822 let d : 'tv_d_ident = Obj.magic d in
19823 let i : 'tv_pure_ident = Obj.magic i in
19824 let x0 : 'tv_storage = Obj.magic x0 in
19825 let _startpos = _startpos_x0_ in
19826 let _endpos = _endpos_pv_ in
19827 let _v : 'tv_one_decl_var = let cv =
19828
19829 # 39 "standard.mly"
19830 ( None )
19831 # 19832 "parser_cocci_menhir.ml"
19832
19833 in
19834 let s =
19835 let x = x0 in
19836
19837 # 41 "standard.mly"
19838 ( Some x )
19839 # 19840 "parser_cocci_menhir.ml"
19840
19841 in
19842
19843 # 1021 "parser_cocci_menhir.mly"
19844 ( let (id,fn) = d in
19845 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
19846 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
19847 # 19848 "parser_cocci_menhir.ml"
19848 in
19849 _menhir_env.MenhirLib.EngineTypes.stack <- {
19850 MenhirLib.EngineTypes.state = _menhir_s;
19851 MenhirLib.EngineTypes.semv = Obj.repr _v;
19852 MenhirLib.EngineTypes.startp = _startpos;
19853 MenhirLib.EngineTypes.endp = _endpos;
19854 MenhirLib.EngineTypes.next = _menhir_stack;
19855 });
19856 (fun _menhir_env ->
19857 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19858 let {
19859 MenhirLib.EngineTypes.semv = pv;
19860 MenhirLib.EngineTypes.startp = _startpos_pv_;
19861 MenhirLib.EngineTypes.endp = _endpos_pv_;
19862 MenhirLib.EngineTypes.next = {
19863 MenhirLib.EngineTypes.semv = d;
19864 MenhirLib.EngineTypes.startp = _startpos_d_;
19865 MenhirLib.EngineTypes.endp = _endpos_d_;
19866 MenhirLib.EngineTypes.next = {
19867 MenhirLib.EngineTypes.semv = i;
19868 MenhirLib.EngineTypes.startp = _startpos_i_;
19869 MenhirLib.EngineTypes.endp = _endpos_i_;
19870 MenhirLib.EngineTypes.next = {
19871 MenhirLib.EngineTypes.semv = x1;
19872 MenhirLib.EngineTypes.startp = _startpos_x1_;
19873 MenhirLib.EngineTypes.endp = _endpos_x1_;
19874 MenhirLib.EngineTypes.next = {
19875 MenhirLib.EngineTypes.state = _menhir_s;
19876 MenhirLib.EngineTypes.semv = x0;
19877 MenhirLib.EngineTypes.startp = _startpos_x0_;
19878 MenhirLib.EngineTypes.endp = _endpos_x0_;
19879 MenhirLib.EngineTypes.next = _menhir_stack;
19880 };
19881 };
19882 };
19883 };
19884 } = _menhir_stack in
19885 let pv : (
19886 # 107 "parser_cocci_menhir.mly"
19887 (Data.clt)
19888 # 19889 "parser_cocci_menhir.ml"
19889 ) = Obj.magic pv in
19890 let d : 'tv_d_ident = Obj.magic d in
19891 let i : 'tv_pure_ident = Obj.magic i in
19892 let x1 : 'tv_const_vol = Obj.magic x1 in
19893 let x0 : 'tv_storage = Obj.magic x0 in
19894 let _startpos = _startpos_x0_ in
19895 let _endpos = _endpos_pv_ in
19896 let _v : 'tv_one_decl_var = let cv =
19897 let x = x1 in
19898
19899 # 41 "standard.mly"
19900 ( Some x )
19901 # 19902 "parser_cocci_menhir.ml"
19902
19903 in
19904 let s =
19905 let x = x0 in
19906
19907 # 41 "standard.mly"
19908 ( Some x )
19909 # 19910 "parser_cocci_menhir.ml"
19910
19911 in
19912
19913 # 1021 "parser_cocci_menhir.mly"
19914 ( let (id,fn) = d in
19915 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
19916 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
19917 # 19918 "parser_cocci_menhir.ml"
19918 in
19919 _menhir_env.MenhirLib.EngineTypes.stack <- {
19920 MenhirLib.EngineTypes.state = _menhir_s;
19921 MenhirLib.EngineTypes.semv = Obj.repr _v;
19922 MenhirLib.EngineTypes.startp = _startpos;
19923 MenhirLib.EngineTypes.endp = _endpos;
19924 MenhirLib.EngineTypes.next = _menhir_stack;
19925 });
19926 (fun _menhir_env ->
19927 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19928 let {
19929 MenhirLib.EngineTypes.semv = pv;
19930 MenhirLib.EngineTypes.startp = _startpos_pv_;
19931 MenhirLib.EngineTypes.endp = _endpos_pv_;
19932 MenhirLib.EngineTypes.next = {
19933 MenhirLib.EngineTypes.semv = e;
19934 MenhirLib.EngineTypes.startp = _startpos_e_;
19935 MenhirLib.EngineTypes.endp = _endpos_e_;
19936 MenhirLib.EngineTypes.next = {
19937 MenhirLib.EngineTypes.semv = q;
19938 MenhirLib.EngineTypes.startp = _startpos_q_;
19939 MenhirLib.EngineTypes.endp = _endpos_q_;
19940 MenhirLib.EngineTypes.next = {
19941 MenhirLib.EngineTypes.semv = d;
19942 MenhirLib.EngineTypes.startp = _startpos_d_;
19943 MenhirLib.EngineTypes.endp = _endpos_d_;
19944 MenhirLib.EngineTypes.next = {
19945 MenhirLib.EngineTypes.state = _menhir_s;
19946 MenhirLib.EngineTypes.semv = i;
19947 MenhirLib.EngineTypes.startp = _startpos_i_;
19948 MenhirLib.EngineTypes.endp = _endpos_i_;
19949 MenhirLib.EngineTypes.next = _menhir_stack;
19950 };
19951 };
19952 };
19953 };
19954 } = _menhir_stack in
19955 let pv : (
19956 # 107 "parser_cocci_menhir.mly"
19957 (Data.clt)
19958 # 19959 "parser_cocci_menhir.ml"
19959 ) = Obj.magic pv in
19960 let e : 'tv_initialize = Obj.magic e in
19961 let q : (
19962 # 107 "parser_cocci_menhir.mly"
19963 (Data.clt)
19964 # 19965 "parser_cocci_menhir.ml"
19965 ) = Obj.magic q in
19966 let d : 'tv_d_ident = Obj.magic d in
19967 let i : 'tv_pure_ident = Obj.magic i in
19968 let _startpos = _startpos_i_ in
19969 let _endpos = _endpos_pv_ in
19970 let _v : 'tv_one_decl_var = let cv =
19971
19972 # 39 "standard.mly"
19973 ( None )
19974 # 19975 "parser_cocci_menhir.ml"
19975
19976 in
19977 let s =
19978
19979 # 39 "standard.mly"
19980 ( None )
19981 # 19982 "parser_cocci_menhir.ml"
19982
19983 in
19984
19985 # 1026 "parser_cocci_menhir.mly"
19986 ( let (id,fn) = d in
19987 !Data.add_type_name (P.id2name i);
19988 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
19989 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
19990 P.clt2mcode ";" pv)) )
19991 # 19992 "parser_cocci_menhir.ml"
19992 in
19993 _menhir_env.MenhirLib.EngineTypes.stack <- {
19994 MenhirLib.EngineTypes.state = _menhir_s;
19995 MenhirLib.EngineTypes.semv = Obj.repr _v;
19996 MenhirLib.EngineTypes.startp = _startpos;
19997 MenhirLib.EngineTypes.endp = _endpos;
19998 MenhirLib.EngineTypes.next = _menhir_stack;
19999 });
20000 (fun _menhir_env ->
20001 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20002 let {
20003 MenhirLib.EngineTypes.semv = pv;
20004 MenhirLib.EngineTypes.startp = _startpos_pv_;
20005 MenhirLib.EngineTypes.endp = _endpos_pv_;
20006 MenhirLib.EngineTypes.next = {
20007 MenhirLib.EngineTypes.semv = e;
20008 MenhirLib.EngineTypes.startp = _startpos_e_;
20009 MenhirLib.EngineTypes.endp = _endpos_e_;
20010 MenhirLib.EngineTypes.next = {
20011 MenhirLib.EngineTypes.semv = q;
20012 MenhirLib.EngineTypes.startp = _startpos_q_;
20013 MenhirLib.EngineTypes.endp = _endpos_q_;
20014 MenhirLib.EngineTypes.next = {
20015 MenhirLib.EngineTypes.semv = d;
20016 MenhirLib.EngineTypes.startp = _startpos_d_;
20017 MenhirLib.EngineTypes.endp = _endpos_d_;
20018 MenhirLib.EngineTypes.next = {
20019 MenhirLib.EngineTypes.semv = i;
20020 MenhirLib.EngineTypes.startp = _startpos_i_;
20021 MenhirLib.EngineTypes.endp = _endpos_i_;
20022 MenhirLib.EngineTypes.next = {
20023 MenhirLib.EngineTypes.state = _menhir_s;
20024 MenhirLib.EngineTypes.semv = x0;
20025 MenhirLib.EngineTypes.startp = _startpos_x0_;
20026 MenhirLib.EngineTypes.endp = _endpos_x0_;
20027 MenhirLib.EngineTypes.next = _menhir_stack;
20028 };
20029 };
20030 };
20031 };
20032 };
20033 } = _menhir_stack in
20034 let pv : (
20035 # 107 "parser_cocci_menhir.mly"
20036 (Data.clt)
20037 # 20038 "parser_cocci_menhir.ml"
20038 ) = Obj.magic pv in
20039 let e : 'tv_initialize = Obj.magic e in
20040 let q : (
20041 # 107 "parser_cocci_menhir.mly"
20042 (Data.clt)
20043 # 20044 "parser_cocci_menhir.ml"
20044 ) = Obj.magic q in
20045 let d : 'tv_d_ident = Obj.magic d in
20046 let i : 'tv_pure_ident = Obj.magic i in
20047 let x0 : 'tv_const_vol = Obj.magic x0 in
20048 let _startpos = _startpos_x0_ in
20049 let _endpos = _endpos_pv_ in
20050 let _v : 'tv_one_decl_var = let cv =
20051 let x = x0 in
20052
20053 # 41 "standard.mly"
20054 ( Some x )
20055 # 20056 "parser_cocci_menhir.ml"
20056
20057 in
20058 let s =
20059
20060 # 39 "standard.mly"
20061 ( None )
20062 # 20063 "parser_cocci_menhir.ml"
20063
20064 in
20065
20066 # 1026 "parser_cocci_menhir.mly"
20067 ( let (id,fn) = d in
20068 !Data.add_type_name (P.id2name i);
20069 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
20070 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
20071 P.clt2mcode ";" pv)) )
20072 # 20073 "parser_cocci_menhir.ml"
20073 in
20074 _menhir_env.MenhirLib.EngineTypes.stack <- {
20075 MenhirLib.EngineTypes.state = _menhir_s;
20076 MenhirLib.EngineTypes.semv = Obj.repr _v;
20077 MenhirLib.EngineTypes.startp = _startpos;
20078 MenhirLib.EngineTypes.endp = _endpos;
20079 MenhirLib.EngineTypes.next = _menhir_stack;
20080 });
20081 (fun _menhir_env ->
20082 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20083 let {
20084 MenhirLib.EngineTypes.semv = pv;
20085 MenhirLib.EngineTypes.startp = _startpos_pv_;
20086 MenhirLib.EngineTypes.endp = _endpos_pv_;
20087 MenhirLib.EngineTypes.next = {
20088 MenhirLib.EngineTypes.semv = e;
20089 MenhirLib.EngineTypes.startp = _startpos_e_;
20090 MenhirLib.EngineTypes.endp = _endpos_e_;
20091 MenhirLib.EngineTypes.next = {
20092 MenhirLib.EngineTypes.semv = q;
20093 MenhirLib.EngineTypes.startp = _startpos_q_;
20094 MenhirLib.EngineTypes.endp = _endpos_q_;
20095 MenhirLib.EngineTypes.next = {
20096 MenhirLib.EngineTypes.semv = d;
20097 MenhirLib.EngineTypes.startp = _startpos_d_;
20098 MenhirLib.EngineTypes.endp = _endpos_d_;
20099 MenhirLib.EngineTypes.next = {
20100 MenhirLib.EngineTypes.semv = i;
20101 MenhirLib.EngineTypes.startp = _startpos_i_;
20102 MenhirLib.EngineTypes.endp = _endpos_i_;
20103 MenhirLib.EngineTypes.next = {
20104 MenhirLib.EngineTypes.state = _menhir_s;
20105 MenhirLib.EngineTypes.semv = x0;
20106 MenhirLib.EngineTypes.startp = _startpos_x0_;
20107 MenhirLib.EngineTypes.endp = _endpos_x0_;
20108 MenhirLib.EngineTypes.next = _menhir_stack;
20109 };
20110 };
20111 };
20112 };
20113 };
20114 } = _menhir_stack in
20115 let pv : (
20116 # 107 "parser_cocci_menhir.mly"
20117 (Data.clt)
20118 # 20119 "parser_cocci_menhir.ml"
20119 ) = Obj.magic pv in
20120 let e : 'tv_initialize = Obj.magic e in
20121 let q : (
20122 # 107 "parser_cocci_menhir.mly"
20123 (Data.clt)
20124 # 20125 "parser_cocci_menhir.ml"
20125 ) = Obj.magic q in
20126 let d : 'tv_d_ident = Obj.magic d in
20127 let i : 'tv_pure_ident = Obj.magic i in
20128 let x0 : 'tv_storage = Obj.magic x0 in
20129 let _startpos = _startpos_x0_ in
20130 let _endpos = _endpos_pv_ in
20131 let _v : 'tv_one_decl_var = let cv =
20132
20133 # 39 "standard.mly"
20134 ( None )
20135 # 20136 "parser_cocci_menhir.ml"
20136
20137 in
20138 let s =
20139 let x = x0 in
20140
20141 # 41 "standard.mly"
20142 ( Some x )
20143 # 20144 "parser_cocci_menhir.ml"
20144
20145 in
20146
20147 # 1026 "parser_cocci_menhir.mly"
20148 ( let (id,fn) = d in
20149 !Data.add_type_name (P.id2name i);
20150 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
20151 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
20152 P.clt2mcode ";" pv)) )
20153 # 20154 "parser_cocci_menhir.ml"
20154 in
20155 _menhir_env.MenhirLib.EngineTypes.stack <- {
20156 MenhirLib.EngineTypes.state = _menhir_s;
20157 MenhirLib.EngineTypes.semv = Obj.repr _v;
20158 MenhirLib.EngineTypes.startp = _startpos;
20159 MenhirLib.EngineTypes.endp = _endpos;
20160 MenhirLib.EngineTypes.next = _menhir_stack;
20161 });
20162 (fun _menhir_env ->
20163 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20164 let {
20165 MenhirLib.EngineTypes.semv = pv;
20166 MenhirLib.EngineTypes.startp = _startpos_pv_;
20167 MenhirLib.EngineTypes.endp = _endpos_pv_;
20168 MenhirLib.EngineTypes.next = {
20169 MenhirLib.EngineTypes.semv = e;
20170 MenhirLib.EngineTypes.startp = _startpos_e_;
20171 MenhirLib.EngineTypes.endp = _endpos_e_;
20172 MenhirLib.EngineTypes.next = {
20173 MenhirLib.EngineTypes.semv = q;
20174 MenhirLib.EngineTypes.startp = _startpos_q_;
20175 MenhirLib.EngineTypes.endp = _endpos_q_;
20176 MenhirLib.EngineTypes.next = {
20177 MenhirLib.EngineTypes.semv = d;
20178 MenhirLib.EngineTypes.startp = _startpos_d_;
20179 MenhirLib.EngineTypes.endp = _endpos_d_;
20180 MenhirLib.EngineTypes.next = {
20181 MenhirLib.EngineTypes.semv = i;
20182 MenhirLib.EngineTypes.startp = _startpos_i_;
20183 MenhirLib.EngineTypes.endp = _endpos_i_;
20184 MenhirLib.EngineTypes.next = {
20185 MenhirLib.EngineTypes.semv = x1;
20186 MenhirLib.EngineTypes.startp = _startpos_x1_;
20187 MenhirLib.EngineTypes.endp = _endpos_x1_;
20188 MenhirLib.EngineTypes.next = {
20189 MenhirLib.EngineTypes.state = _menhir_s;
20190 MenhirLib.EngineTypes.semv = x0;
20191 MenhirLib.EngineTypes.startp = _startpos_x0_;
20192 MenhirLib.EngineTypes.endp = _endpos_x0_;
20193 MenhirLib.EngineTypes.next = _menhir_stack;
20194 };
20195 };
20196 };
20197 };
20198 };
20199 };
20200 } = _menhir_stack in
20201 let pv : (
20202 # 107 "parser_cocci_menhir.mly"
20203 (Data.clt)
20204 # 20205 "parser_cocci_menhir.ml"
20205 ) = Obj.magic pv in
20206 let e : 'tv_initialize = Obj.magic e in
20207 let q : (
20208 # 107 "parser_cocci_menhir.mly"
20209 (Data.clt)
20210 # 20211 "parser_cocci_menhir.ml"
20211 ) = Obj.magic q in
20212 let d : 'tv_d_ident = Obj.magic d in
20213 let i : 'tv_pure_ident = Obj.magic i in
20214 let x1 : 'tv_const_vol = Obj.magic x1 in
20215 let x0 : 'tv_storage = Obj.magic x0 in
20216 let _startpos = _startpos_x0_ in
20217 let _endpos = _endpos_pv_ in
20218 let _v : 'tv_one_decl_var = let cv =
20219 let x = x1 in
20220
20221 # 41 "standard.mly"
20222 ( Some x )
20223 # 20224 "parser_cocci_menhir.ml"
20224
20225 in
20226 let s =
20227 let x = x0 in
20228
20229 # 41 "standard.mly"
20230 ( Some x )
20231 # 20232 "parser_cocci_menhir.ml"
20232
20233 in
20234
20235 # 1026 "parser_cocci_menhir.mly"
20236 ( let (id,fn) = d in
20237 !Data.add_type_name (P.id2name i);
20238 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
20239 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
20240 P.clt2mcode ";" pv)) )
20241 # 20242 "parser_cocci_menhir.ml"
20242 in
20243 _menhir_env.MenhirLib.EngineTypes.stack <- {
20244 MenhirLib.EngineTypes.state = _menhir_s;
20245 MenhirLib.EngineTypes.semv = Obj.repr _v;
20246 MenhirLib.EngineTypes.startp = _startpos;
20247 MenhirLib.EngineTypes.endp = _endpos;
20248 MenhirLib.EngineTypes.next = _menhir_stack;
20249 });
20250 (fun _menhir_env ->
20251 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20252 let {
20253 MenhirLib.EngineTypes.semv = pv;
20254 MenhirLib.EngineTypes.startp = _startpos_pv_;
20255 MenhirLib.EngineTypes.endp = _endpos_pv_;
20256 MenhirLib.EngineTypes.next = {
20257 MenhirLib.EngineTypes.semv = rp2;
20258 MenhirLib.EngineTypes.startp = _startpos_rp2_;
20259 MenhirLib.EngineTypes.endp = _endpos_rp2_;
20260 MenhirLib.EngineTypes.next = {
20261 MenhirLib.EngineTypes.semv = p;
20262 MenhirLib.EngineTypes.startp = _startpos_p_;
20263 MenhirLib.EngineTypes.endp = _endpos_p_;
20264 MenhirLib.EngineTypes.next = {
20265 MenhirLib.EngineTypes.semv = lp2;
20266 MenhirLib.EngineTypes.startp = _startpos_lp2_;
20267 MenhirLib.EngineTypes.endp = _endpos_lp2_;
20268 MenhirLib.EngineTypes.next = {
20269 MenhirLib.EngineTypes.semv = rp1;
20270 MenhirLib.EngineTypes.startp = _startpos_rp1_;
20271 MenhirLib.EngineTypes.endp = _endpos_rp1_;
20272 MenhirLib.EngineTypes.next = {
20273 MenhirLib.EngineTypes.semv = d;
20274 MenhirLib.EngineTypes.startp = _startpos_d_;
20275 MenhirLib.EngineTypes.endp = _endpos_d_;
20276 MenhirLib.EngineTypes.next = {
20277 MenhirLib.EngineTypes.semv = st;
20278 MenhirLib.EngineTypes.startp = _startpos_st_;
20279 MenhirLib.EngineTypes.endp = _endpos_st_;
20280 MenhirLib.EngineTypes.next = {
20281 MenhirLib.EngineTypes.semv = lp1;
20282 MenhirLib.EngineTypes.startp = _startpos_lp1_;
20283 MenhirLib.EngineTypes.endp = _endpos_lp1_;
20284 MenhirLib.EngineTypes.next = {
20285 MenhirLib.EngineTypes.state = _menhir_s;
20286 MenhirLib.EngineTypes.semv = t;
20287 MenhirLib.EngineTypes.startp = _startpos_t_;
20288 MenhirLib.EngineTypes.endp = _endpos_t_;
20289 MenhirLib.EngineTypes.next = _menhir_stack;
20290 };
20291 };
20292 };
20293 };
20294 };
20295 };
20296 };
20297 };
20298 } = _menhir_stack in
20299 let pv : (
20300 # 107 "parser_cocci_menhir.mly"
20301 (Data.clt)
20302 # 20303 "parser_cocci_menhir.ml"
20303 ) = Obj.magic pv in
20304 let rp2 : (
20305 # 77 "parser_cocci_menhir.mly"
20306 (Data.clt)
20307 # 20308 "parser_cocci_menhir.ml"
20308 ) = Obj.magic rp2 in
20309 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
20310 let lp2 : (
20311 # 76 "parser_cocci_menhir.mly"
20312 (Data.clt)
20313 # 20314 "parser_cocci_menhir.ml"
20314 ) = Obj.magic lp2 in
20315 let rp1 : (
20316 # 77 "parser_cocci_menhir.mly"
20317 (Data.clt)
20318 # 20319 "parser_cocci_menhir.ml"
20319 ) = Obj.magic rp1 in
20320 let d : 'tv_d_ident = Obj.magic d in
20321 let st : (
20322 # 99 "parser_cocci_menhir.mly"
20323 (Data.clt)
20324 # 20325 "parser_cocci_menhir.ml"
20325 ) = Obj.magic st in
20326 let lp1 : (
20327 # 76 "parser_cocci_menhir.mly"
20328 (Data.clt)
20329 # 20330 "parser_cocci_menhir.ml"
20330 ) = Obj.magic lp1 in
20331 let t : 'tv_fn_ctype = Obj.magic t in
20332 let _startpos = _startpos_t_ in
20333 let _endpos = _endpos_pv_ in
20334 let _v : 'tv_one_decl_var = let s =
20335
20336 # 39 "standard.mly"
20337 ( None )
20338 # 20339 "parser_cocci_menhir.ml"
20339
20340 in
20341
20342 # 1036 "parser_cocci_menhir.mly"
20343 ( let (id,fn) = d in
20344 let t =
20345 Ast0.wrap
20346 (Ast0.FunctionPointer
20347 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
20348 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
20349 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
20350 # 20351 "parser_cocci_menhir.ml"
20351 in
20352 _menhir_env.MenhirLib.EngineTypes.stack <- {
20353 MenhirLib.EngineTypes.state = _menhir_s;
20354 MenhirLib.EngineTypes.semv = Obj.repr _v;
20355 MenhirLib.EngineTypes.startp = _startpos;
20356 MenhirLib.EngineTypes.endp = _endpos;
20357 MenhirLib.EngineTypes.next = _menhir_stack;
20358 });
20359 (fun _menhir_env ->
20360 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20361 let {
20362 MenhirLib.EngineTypes.semv = pv;
20363 MenhirLib.EngineTypes.startp = _startpos_pv_;
20364 MenhirLib.EngineTypes.endp = _endpos_pv_;
20365 MenhirLib.EngineTypes.next = {
20366 MenhirLib.EngineTypes.semv = rp2;
20367 MenhirLib.EngineTypes.startp = _startpos_rp2_;
20368 MenhirLib.EngineTypes.endp = _endpos_rp2_;
20369 MenhirLib.EngineTypes.next = {
20370 MenhirLib.EngineTypes.semv = p;
20371 MenhirLib.EngineTypes.startp = _startpos_p_;
20372 MenhirLib.EngineTypes.endp = _endpos_p_;
20373 MenhirLib.EngineTypes.next = {
20374 MenhirLib.EngineTypes.semv = lp2;
20375 MenhirLib.EngineTypes.startp = _startpos_lp2_;
20376 MenhirLib.EngineTypes.endp = _endpos_lp2_;
20377 MenhirLib.EngineTypes.next = {
20378 MenhirLib.EngineTypes.semv = rp1;
20379 MenhirLib.EngineTypes.startp = _startpos_rp1_;
20380 MenhirLib.EngineTypes.endp = _endpos_rp1_;
20381 MenhirLib.EngineTypes.next = {
20382 MenhirLib.EngineTypes.semv = d;
20383 MenhirLib.EngineTypes.startp = _startpos_d_;
20384 MenhirLib.EngineTypes.endp = _endpos_d_;
20385 MenhirLib.EngineTypes.next = {
20386 MenhirLib.EngineTypes.semv = st;
20387 MenhirLib.EngineTypes.startp = _startpos_st_;
20388 MenhirLib.EngineTypes.endp = _endpos_st_;
20389 MenhirLib.EngineTypes.next = {
20390 MenhirLib.EngineTypes.semv = lp1;
20391 MenhirLib.EngineTypes.startp = _startpos_lp1_;
20392 MenhirLib.EngineTypes.endp = _endpos_lp1_;
20393 MenhirLib.EngineTypes.next = {
20394 MenhirLib.EngineTypes.semv = t;
20395 MenhirLib.EngineTypes.startp = _startpos_t_;
20396 MenhirLib.EngineTypes.endp = _endpos_t_;
20397 MenhirLib.EngineTypes.next = {
20398 MenhirLib.EngineTypes.state = _menhir_s;
20399 MenhirLib.EngineTypes.semv = x0;
20400 MenhirLib.EngineTypes.startp = _startpos_x0_;
20401 MenhirLib.EngineTypes.endp = _endpos_x0_;
20402 MenhirLib.EngineTypes.next = _menhir_stack;
20403 };
20404 };
20405 };
20406 };
20407 };
20408 };
20409 };
20410 };
20411 };
20412 } = _menhir_stack in
20413 let pv : (
20414 # 107 "parser_cocci_menhir.mly"
20415 (Data.clt)
20416 # 20417 "parser_cocci_menhir.ml"
20417 ) = Obj.magic pv in
20418 let rp2 : (
20419 # 77 "parser_cocci_menhir.mly"
20420 (Data.clt)
20421 # 20422 "parser_cocci_menhir.ml"
20422 ) = Obj.magic rp2 in
20423 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
20424 let lp2 : (
20425 # 76 "parser_cocci_menhir.mly"
20426 (Data.clt)
20427 # 20428 "parser_cocci_menhir.ml"
20428 ) = Obj.magic lp2 in
20429 let rp1 : (
20430 # 77 "parser_cocci_menhir.mly"
20431 (Data.clt)
20432 # 20433 "parser_cocci_menhir.ml"
20433 ) = Obj.magic rp1 in
20434 let d : 'tv_d_ident = Obj.magic d in
20435 let st : (
20436 # 99 "parser_cocci_menhir.mly"
20437 (Data.clt)
20438 # 20439 "parser_cocci_menhir.ml"
20439 ) = Obj.magic st in
20440 let lp1 : (
20441 # 76 "parser_cocci_menhir.mly"
20442 (Data.clt)
20443 # 20444 "parser_cocci_menhir.ml"
20444 ) = Obj.magic lp1 in
20445 let t : 'tv_fn_ctype = Obj.magic t in
20446 let x0 : 'tv_storage = Obj.magic x0 in
20447 let _startpos = _startpos_x0_ in
20448 let _endpos = _endpos_pv_ in
20449 let _v : 'tv_one_decl_var = let s =
20450 let x = x0 in
20451
20452 # 41 "standard.mly"
20453 ( Some x )
20454 # 20455 "parser_cocci_menhir.ml"
20455
20456 in
20457
20458 # 1036 "parser_cocci_menhir.mly"
20459 ( let (id,fn) = d in
20460 let t =
20461 Ast0.wrap
20462 (Ast0.FunctionPointer
20463 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
20464 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
20465 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
20466 # 20467 "parser_cocci_menhir.ml"
20467 in
20468 _menhir_env.MenhirLib.EngineTypes.stack <- {
20469 MenhirLib.EngineTypes.state = _menhir_s;
20470 MenhirLib.EngineTypes.semv = Obj.repr _v;
20471 MenhirLib.EngineTypes.startp = _startpos;
20472 MenhirLib.EngineTypes.endp = _endpos;
20473 MenhirLib.EngineTypes.next = _menhir_stack;
20474 });
20475 (fun _menhir_env ->
20476 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20477 let {
20478 MenhirLib.EngineTypes.semv = _5;
20479 MenhirLib.EngineTypes.startp = _startpos__5_;
20480 MenhirLib.EngineTypes.endp = _endpos__5_;
20481 MenhirLib.EngineTypes.next = {
20482 MenhirLib.EngineTypes.semv = _4;
20483 MenhirLib.EngineTypes.startp = _startpos__4_;
20484 MenhirLib.EngineTypes.endp = _endpos__4_;
20485 MenhirLib.EngineTypes.next = {
20486 MenhirLib.EngineTypes.semv = _3;
20487 MenhirLib.EngineTypes.startp = _startpos__3_;
20488 MenhirLib.EngineTypes.endp = _endpos__3_;
20489 MenhirLib.EngineTypes.next = {
20490 MenhirLib.EngineTypes.semv = _2;
20491 MenhirLib.EngineTypes.startp = _startpos__2_;
20492 MenhirLib.EngineTypes.endp = _endpos__2_;
20493 MenhirLib.EngineTypes.next = {
20494 MenhirLib.EngineTypes.state = _menhir_s;
20495 MenhirLib.EngineTypes.semv = _1;
20496 MenhirLib.EngineTypes.startp = _startpos__1_;
20497 MenhirLib.EngineTypes.endp = _endpos__1_;
20498 MenhirLib.EngineTypes.next = _menhir_stack;
20499 };
20500 };
20501 };
20502 };
20503 } = _menhir_stack in
20504 let _5 : (
20505 # 107 "parser_cocci_menhir.mly"
20506 (Data.clt)
20507 # 20508 "parser_cocci_menhir.ml"
20508 ) = Obj.magic _5 in
20509 let _4 : (
20510 # 77 "parser_cocci_menhir.mly"
20511 (Data.clt)
20512 # 20513 "parser_cocci_menhir.ml"
20513 ) = Obj.magic _4 in
20514 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
20515 let _2 : (
20516 # 76 "parser_cocci_menhir.mly"
20517 (Data.clt)
20518 # 20519 "parser_cocci_menhir.ml"
20519 ) = Obj.magic _2 in
20520 let _1 : 'tv_decl_ident = Obj.magic _1 in
20521 let _startpos = _startpos__1_ in
20522 let _endpos = _endpos__5_ in
20523 let _v : 'tv_one_decl_var =
20524 # 1044 "parser_cocci_menhir.mly"
20525 ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
20526 P.clt2mcode ")" _4,P.clt2mcode ";" _5)) )
20527 # 20528 "parser_cocci_menhir.ml"
20528 in
20529 _menhir_env.MenhirLib.EngineTypes.stack <- {
20530 MenhirLib.EngineTypes.state = _menhir_s;
20531 MenhirLib.EngineTypes.semv = Obj.repr _v;
20532 MenhirLib.EngineTypes.startp = _startpos;
20533 MenhirLib.EngineTypes.endp = _endpos;
20534 MenhirLib.EngineTypes.next = _menhir_stack;
20535 });
20536 (fun _menhir_env ->
20537 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20538 let {
20539 MenhirLib.EngineTypes.semv = pv;
20540 MenhirLib.EngineTypes.startp = _startpos_pv_;
20541 MenhirLib.EngineTypes.endp = _endpos_pv_;
20542 MenhirLib.EngineTypes.next = {
20543 MenhirLib.EngineTypes.semv = e;
20544 MenhirLib.EngineTypes.startp = _startpos_e_;
20545 MenhirLib.EngineTypes.endp = _endpos_e_;
20546 MenhirLib.EngineTypes.next = {
20547 MenhirLib.EngineTypes.semv = q;
20548 MenhirLib.EngineTypes.startp = _startpos_q_;
20549 MenhirLib.EngineTypes.endp = _endpos_q_;
20550 MenhirLib.EngineTypes.next = {
20551 MenhirLib.EngineTypes.semv = rp2;
20552 MenhirLib.EngineTypes.startp = _startpos_rp2_;
20553 MenhirLib.EngineTypes.endp = _endpos_rp2_;
20554 MenhirLib.EngineTypes.next = {
20555 MenhirLib.EngineTypes.semv = p;
20556 MenhirLib.EngineTypes.startp = _startpos_p_;
20557 MenhirLib.EngineTypes.endp = _endpos_p_;
20558 MenhirLib.EngineTypes.next = {
20559 MenhirLib.EngineTypes.semv = lp2;
20560 MenhirLib.EngineTypes.startp = _startpos_lp2_;
20561 MenhirLib.EngineTypes.endp = _endpos_lp2_;
20562 MenhirLib.EngineTypes.next = {
20563 MenhirLib.EngineTypes.semv = rp1;
20564 MenhirLib.EngineTypes.startp = _startpos_rp1_;
20565 MenhirLib.EngineTypes.endp = _endpos_rp1_;
20566 MenhirLib.EngineTypes.next = {
20567 MenhirLib.EngineTypes.semv = d;
20568 MenhirLib.EngineTypes.startp = _startpos_d_;
20569 MenhirLib.EngineTypes.endp = _endpos_d_;
20570 MenhirLib.EngineTypes.next = {
20571 MenhirLib.EngineTypes.semv = st;
20572 MenhirLib.EngineTypes.startp = _startpos_st_;
20573 MenhirLib.EngineTypes.endp = _endpos_st_;
20574 MenhirLib.EngineTypes.next = {
20575 MenhirLib.EngineTypes.semv = lp1;
20576 MenhirLib.EngineTypes.startp = _startpos_lp1_;
20577 MenhirLib.EngineTypes.endp = _endpos_lp1_;
20578 MenhirLib.EngineTypes.next = {
20579 MenhirLib.EngineTypes.state = _menhir_s;
20580 MenhirLib.EngineTypes.semv = t;
20581 MenhirLib.EngineTypes.startp = _startpos_t_;
20582 MenhirLib.EngineTypes.endp = _endpos_t_;
20583 MenhirLib.EngineTypes.next = _menhir_stack;
20584 };
20585 };
20586 };
20587 };
20588 };
20589 };
20590 };
20591 };
20592 };
20593 };
20594 } = _menhir_stack in
20595 let pv : (
20596 # 107 "parser_cocci_menhir.mly"
20597 (Data.clt)
20598 # 20599 "parser_cocci_menhir.ml"
20599 ) = Obj.magic pv in
20600 let e : 'tv_initialize = Obj.magic e in
20601 let q : (
20602 # 107 "parser_cocci_menhir.mly"
20603 (Data.clt)
20604 # 20605 "parser_cocci_menhir.ml"
20605 ) = Obj.magic q in
20606 let rp2 : (
20607 # 77 "parser_cocci_menhir.mly"
20608 (Data.clt)
20609 # 20610 "parser_cocci_menhir.ml"
20610 ) = Obj.magic rp2 in
20611 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
20612 let lp2 : (
20613 # 76 "parser_cocci_menhir.mly"
20614 (Data.clt)
20615 # 20616 "parser_cocci_menhir.ml"
20616 ) = Obj.magic lp2 in
20617 let rp1 : (
20618 # 77 "parser_cocci_menhir.mly"
20619 (Data.clt)
20620 # 20621 "parser_cocci_menhir.ml"
20621 ) = Obj.magic rp1 in
20622 let d : 'tv_d_ident = Obj.magic d in
20623 let st : (
20624 # 99 "parser_cocci_menhir.mly"
20625 (Data.clt)
20626 # 20627 "parser_cocci_menhir.ml"
20627 ) = Obj.magic st in
20628 let lp1 : (
20629 # 76 "parser_cocci_menhir.mly"
20630 (Data.clt)
20631 # 20632 "parser_cocci_menhir.ml"
20632 ) = Obj.magic lp1 in
20633 let t : 'tv_fn_ctype = Obj.magic t in
20634 let _startpos = _startpos_t_ in
20635 let _endpos = _endpos_pv_ in
20636 let _v : 'tv_one_decl_var = let s =
20637
20638 # 39 "standard.mly"
20639 ( None )
20640 # 20641 "parser_cocci_menhir.ml"
20641
20642 in
20643
20644 # 1050 "parser_cocci_menhir.mly"
20645 ( let (id,fn) = d in
20646 let t =
20647 Ast0.wrap
20648 (Ast0.FunctionPointer
20649 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
20650 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
20651 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
20652 # 20653 "parser_cocci_menhir.ml"
20653 in
20654 _menhir_env.MenhirLib.EngineTypes.stack <- {
20655 MenhirLib.EngineTypes.state = _menhir_s;
20656 MenhirLib.EngineTypes.semv = Obj.repr _v;
20657 MenhirLib.EngineTypes.startp = _startpos;
20658 MenhirLib.EngineTypes.endp = _endpos;
20659 MenhirLib.EngineTypes.next = _menhir_stack;
20660 });
20661 (fun _menhir_env ->
20662 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20663 let {
20664 MenhirLib.EngineTypes.semv = pv;
20665 MenhirLib.EngineTypes.startp = _startpos_pv_;
20666 MenhirLib.EngineTypes.endp = _endpos_pv_;
20667 MenhirLib.EngineTypes.next = {
20668 MenhirLib.EngineTypes.semv = e;
20669 MenhirLib.EngineTypes.startp = _startpos_e_;
20670 MenhirLib.EngineTypes.endp = _endpos_e_;
20671 MenhirLib.EngineTypes.next = {
20672 MenhirLib.EngineTypes.semv = q;
20673 MenhirLib.EngineTypes.startp = _startpos_q_;
20674 MenhirLib.EngineTypes.endp = _endpos_q_;
20675 MenhirLib.EngineTypes.next = {
20676 MenhirLib.EngineTypes.semv = rp2;
20677 MenhirLib.EngineTypes.startp = _startpos_rp2_;
20678 MenhirLib.EngineTypes.endp = _endpos_rp2_;
20679 MenhirLib.EngineTypes.next = {
20680 MenhirLib.EngineTypes.semv = p;
20681 MenhirLib.EngineTypes.startp = _startpos_p_;
20682 MenhirLib.EngineTypes.endp = _endpos_p_;
20683 MenhirLib.EngineTypes.next = {
20684 MenhirLib.EngineTypes.semv = lp2;
20685 MenhirLib.EngineTypes.startp = _startpos_lp2_;
20686 MenhirLib.EngineTypes.endp = _endpos_lp2_;
20687 MenhirLib.EngineTypes.next = {
20688 MenhirLib.EngineTypes.semv = rp1;
20689 MenhirLib.EngineTypes.startp = _startpos_rp1_;
20690 MenhirLib.EngineTypes.endp = _endpos_rp1_;
20691 MenhirLib.EngineTypes.next = {
20692 MenhirLib.EngineTypes.semv = d;
20693 MenhirLib.EngineTypes.startp = _startpos_d_;
20694 MenhirLib.EngineTypes.endp = _endpos_d_;
20695 MenhirLib.EngineTypes.next = {
20696 MenhirLib.EngineTypes.semv = st;
20697 MenhirLib.EngineTypes.startp = _startpos_st_;
20698 MenhirLib.EngineTypes.endp = _endpos_st_;
20699 MenhirLib.EngineTypes.next = {
20700 MenhirLib.EngineTypes.semv = lp1;
20701 MenhirLib.EngineTypes.startp = _startpos_lp1_;
20702 MenhirLib.EngineTypes.endp = _endpos_lp1_;
20703 MenhirLib.EngineTypes.next = {
20704 MenhirLib.EngineTypes.semv = t;
20705 MenhirLib.EngineTypes.startp = _startpos_t_;
20706 MenhirLib.EngineTypes.endp = _endpos_t_;
20707 MenhirLib.EngineTypes.next = {
20708 MenhirLib.EngineTypes.state = _menhir_s;
20709 MenhirLib.EngineTypes.semv = x0;
20710 MenhirLib.EngineTypes.startp = _startpos_x0_;
20711 MenhirLib.EngineTypes.endp = _endpos_x0_;
20712 MenhirLib.EngineTypes.next = _menhir_stack;
20713 };
20714 };
20715 };
20716 };
20717 };
20718 };
20719 };
20720 };
20721 };
20722 };
20723 };
20724 } = _menhir_stack in
20725 let pv : (
20726 # 107 "parser_cocci_menhir.mly"
20727 (Data.clt)
20728 # 20729 "parser_cocci_menhir.ml"
20729 ) = Obj.magic pv in
20730 let e : 'tv_initialize = Obj.magic e in
20731 let q : (
20732 # 107 "parser_cocci_menhir.mly"
20733 (Data.clt)
20734 # 20735 "parser_cocci_menhir.ml"
20735 ) = Obj.magic q in
20736 let rp2 : (
20737 # 77 "parser_cocci_menhir.mly"
20738 (Data.clt)
20739 # 20740 "parser_cocci_menhir.ml"
20740 ) = Obj.magic rp2 in
20741 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
20742 let lp2 : (
20743 # 76 "parser_cocci_menhir.mly"
20744 (Data.clt)
20745 # 20746 "parser_cocci_menhir.ml"
20746 ) = Obj.magic lp2 in
20747 let rp1 : (
20748 # 77 "parser_cocci_menhir.mly"
20749 (Data.clt)
20750 # 20751 "parser_cocci_menhir.ml"
20751 ) = Obj.magic rp1 in
20752 let d : 'tv_d_ident = Obj.magic d in
20753 let st : (
20754 # 99 "parser_cocci_menhir.mly"
20755 (Data.clt)
20756 # 20757 "parser_cocci_menhir.ml"
20757 ) = Obj.magic st in
20758 let lp1 : (
20759 # 76 "parser_cocci_menhir.mly"
20760 (Data.clt)
20761 # 20762 "parser_cocci_menhir.ml"
20762 ) = Obj.magic lp1 in
20763 let t : 'tv_fn_ctype = Obj.magic t in
20764 let x0 : 'tv_storage = Obj.magic x0 in
20765 let _startpos = _startpos_x0_ in
20766 let _endpos = _endpos_pv_ in
20767 let _v : 'tv_one_decl_var = let s =
20768 let x = x0 in
20769
20770 # 41 "standard.mly"
20771 ( Some x )
20772 # 20773 "parser_cocci_menhir.ml"
20773
20774 in
20775
20776 # 1050 "parser_cocci_menhir.mly"
20777 ( let (id,fn) = d in
20778 let t =
20779 Ast0.wrap
20780 (Ast0.FunctionPointer
20781 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
20782 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
20783 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
20784 # 20785 "parser_cocci_menhir.ml"
20785 in
20786 _menhir_env.MenhirLib.EngineTypes.stack <- {
20787 MenhirLib.EngineTypes.state = _menhir_s;
20788 MenhirLib.EngineTypes.semv = Obj.repr _v;
20789 MenhirLib.EngineTypes.startp = _startpos;
20790 MenhirLib.EngineTypes.endp = _endpos;
20791 MenhirLib.EngineTypes.next = _menhir_stack;
20792 });
20793 (fun _menhir_env ->
20794 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20795 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
20796 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
20797 let _endpos = _startpos in
20798 let _v : 'tv_option_TLocal_ =
20799 # 29 "standard.mly"
20800 ( None )
20801 # 20802 "parser_cocci_menhir.ml"
20802 in
20803 _menhir_env.MenhirLib.EngineTypes.stack <- {
20804 MenhirLib.EngineTypes.state = _menhir_s;
20805 MenhirLib.EngineTypes.semv = Obj.repr _v;
20806 MenhirLib.EngineTypes.startp = _startpos;
20807 MenhirLib.EngineTypes.endp = _endpos;
20808 MenhirLib.EngineTypes.next = _menhir_stack;
20809 });
20810 (fun _menhir_env ->
20811 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20812 let {
20813 MenhirLib.EngineTypes.state = _menhir_s;
20814 MenhirLib.EngineTypes.semv = x;
20815 MenhirLib.EngineTypes.startp = _startpos_x_;
20816 MenhirLib.EngineTypes.endp = _endpos_x_;
20817 MenhirLib.EngineTypes.next = _menhir_stack;
20818 } = _menhir_stack in
20819 let x : unit = Obj.magic x in
20820 let _startpos = _startpos_x_ in
20821 let _endpos = _endpos_x_ in
20822 let _v : 'tv_option_TLocal_ =
20823 # 31 "standard.mly"
20824 ( Some x )
20825 # 20826 "parser_cocci_menhir.ml"
20826 in
20827 _menhir_env.MenhirLib.EngineTypes.stack <- {
20828 MenhirLib.EngineTypes.state = _menhir_s;
20829 MenhirLib.EngineTypes.semv = Obj.repr _v;
20830 MenhirLib.EngineTypes.startp = _startpos;
20831 MenhirLib.EngineTypes.endp = _endpos;
20832 MenhirLib.EngineTypes.next = _menhir_stack;
20833 });
20834 (fun _menhir_env ->
20835 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20836 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
20837 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
20838 let _endpos = _startpos in
20839 let _v : 'tv_option_TPosAny_ =
20840 # 29 "standard.mly"
20841 ( None )
20842 # 20843 "parser_cocci_menhir.ml"
20843 in
20844 _menhir_env.MenhirLib.EngineTypes.stack <- {
20845 MenhirLib.EngineTypes.state = _menhir_s;
20846 MenhirLib.EngineTypes.semv = Obj.repr _v;
20847 MenhirLib.EngineTypes.startp = _startpos;
20848 MenhirLib.EngineTypes.endp = _endpos;
20849 MenhirLib.EngineTypes.next = _menhir_stack;
20850 });
20851 (fun _menhir_env ->
20852 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20853 let {
20854 MenhirLib.EngineTypes.state = _menhir_s;
20855 MenhirLib.EngineTypes.semv = x;
20856 MenhirLib.EngineTypes.startp = _startpos_x_;
20857 MenhirLib.EngineTypes.endp = _endpos_x_;
20858 MenhirLib.EngineTypes.next = _menhir_stack;
20859 } = _menhir_stack in
20860 let x : unit = Obj.magic x in
20861 let _startpos = _startpos_x_ in
20862 let _endpos = _endpos_x_ in
20863 let _v : 'tv_option_TPosAny_ =
20864 # 31 "standard.mly"
20865 ( Some x )
20866 # 20867 "parser_cocci_menhir.ml"
20867 in
20868 _menhir_env.MenhirLib.EngineTypes.stack <- {
20869 MenhirLib.EngineTypes.state = _menhir_s;
20870 MenhirLib.EngineTypes.semv = Obj.repr _v;
20871 MenhirLib.EngineTypes.startp = _startpos;
20872 MenhirLib.EngineTypes.endp = _endpos;
20873 MenhirLib.EngineTypes.next = _menhir_stack;
20874 });
20875 (fun _menhir_env ->
20876 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20877 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
20878 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
20879 let _endpos = _startpos in
20880 let _v : 'tv_option_eexpr_ =
20881 # 29 "standard.mly"
20882 ( None )
20883 # 20884 "parser_cocci_menhir.ml"
20884 in
20885 _menhir_env.MenhirLib.EngineTypes.stack <- {
20886 MenhirLib.EngineTypes.state = _menhir_s;
20887 MenhirLib.EngineTypes.semv = Obj.repr _v;
20888 MenhirLib.EngineTypes.startp = _startpos;
20889 MenhirLib.EngineTypes.endp = _endpos;
20890 MenhirLib.EngineTypes.next = _menhir_stack;
20891 });
20892 (fun _menhir_env ->
20893 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20894 let {
20895 MenhirLib.EngineTypes.state = _menhir_s;
20896 MenhirLib.EngineTypes.semv = x;
20897 MenhirLib.EngineTypes.startp = _startpos_x_;
20898 MenhirLib.EngineTypes.endp = _endpos_x_;
20899 MenhirLib.EngineTypes.next = _menhir_stack;
20900 } = _menhir_stack in
20901 let x : 'tv_eexpr = Obj.magic x in
20902 let _startpos = _startpos_x_ in
20903 let _endpos = _endpos_x_ in
20904 let _v : 'tv_option_eexpr_ =
20905 # 31 "standard.mly"
20906 ( Some x )
20907 # 20908 "parser_cocci_menhir.ml"
20908 in
20909 _menhir_env.MenhirLib.EngineTypes.stack <- {
20910 MenhirLib.EngineTypes.state = _menhir_s;
20911 MenhirLib.EngineTypes.semv = Obj.repr _v;
20912 MenhirLib.EngineTypes.startp = _startpos;
20913 MenhirLib.EngineTypes.endp = _endpos;
20914 MenhirLib.EngineTypes.next = _menhir_stack;
20915 });
20916 (fun _menhir_env ->
20917 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20918 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
20919 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
20920 let _endpos = _startpos in
20921 let _v : 'tv_plus_after_dots =
20922 # 1673 "parser_cocci_menhir.mly"
20923 ([])
20924 # 20925 "parser_cocci_menhir.ml"
20925 in
20926 _menhir_env.MenhirLib.EngineTypes.stack <- {
20927 MenhirLib.EngineTypes.state = _menhir_s;
20928 MenhirLib.EngineTypes.semv = Obj.repr _v;
20929 MenhirLib.EngineTypes.startp = _startpos;
20930 MenhirLib.EngineTypes.endp = _endpos;
20931 MenhirLib.EngineTypes.next = _menhir_stack;
20932 });
20933 (fun _menhir_env ->
20934 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20935 let {
20936 MenhirLib.EngineTypes.semv = _2;
20937 MenhirLib.EngineTypes.startp = _startpos__2_;
20938 MenhirLib.EngineTypes.endp = _endpos__2_;
20939 MenhirLib.EngineTypes.next = {
20940 MenhirLib.EngineTypes.state = _menhir_s;
20941 MenhirLib.EngineTypes.startp = _startpos__1_;
20942 MenhirLib.EngineTypes.endp = _endpos__1_;
20943 MenhirLib.EngineTypes.next = _menhir_stack;
20944 };
20945 } = _menhir_stack in
20946 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
20947 let _startpos = _startpos__1_ in
20948 let _endpos = _endpos__2_ in
20949 let _v : 'tv_plus_after_dots =
20950 # 1674 "parser_cocci_menhir.mly"
20951 (_2)
20952 # 20953 "parser_cocci_menhir.ml"
20953 in
20954 _menhir_env.MenhirLib.EngineTypes.stack <- {
20955 MenhirLib.EngineTypes.state = _menhir_s;
20956 MenhirLib.EngineTypes.semv = Obj.repr _v;
20957 MenhirLib.EngineTypes.startp = _startpos;
20958 MenhirLib.EngineTypes.endp = _endpos;
20959 MenhirLib.EngineTypes.next = _menhir_stack;
20960 });
20961 (fun _menhir_env ->
20962 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20963 let {
20964 MenhirLib.EngineTypes.semv = _2;
20965 MenhirLib.EngineTypes.startp = _startpos__2_;
20966 MenhirLib.EngineTypes.endp = _endpos__2_;
20967 MenhirLib.EngineTypes.next = {
20968 MenhirLib.EngineTypes.state = _menhir_s;
20969 MenhirLib.EngineTypes.semv = _1;
20970 MenhirLib.EngineTypes.startp = _startpos__1_;
20971 MenhirLib.EngineTypes.endp = _endpos__1_;
20972 MenhirLib.EngineTypes.next = _menhir_stack;
20973 };
20974 } = _menhir_stack in
20975 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
20976 let _1 : 'tv_expr = Obj.magic _1 in
20977 let _startpos = _startpos__1_ in
20978 let _endpos = _endpos__2_ in
20979 let _v : 'tv_plus_after_dots =
20980 # 1676 "parser_cocci_menhir.mly"
20981 ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
20982 # 20983 "parser_cocci_menhir.ml"
20983 in
20984 _menhir_env.MenhirLib.EngineTypes.stack <- {
20985 MenhirLib.EngineTypes.state = _menhir_s;
20986 MenhirLib.EngineTypes.semv = Obj.repr _v;
20987 MenhirLib.EngineTypes.startp = _startpos;
20988 MenhirLib.EngineTypes.endp = _endpos;
20989 MenhirLib.EngineTypes.next = _menhir_stack;
20990 });
20991 (fun _menhir_env ->
20992 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20993 let {
20994 MenhirLib.EngineTypes.semv = _2;
20995 MenhirLib.EngineTypes.startp = _startpos__2_;
20996 MenhirLib.EngineTypes.endp = _endpos__2_;
20997 MenhirLib.EngineTypes.next = {
20998 MenhirLib.EngineTypes.state = _menhir_s;
20999 MenhirLib.EngineTypes.semv = _1;
21000 MenhirLib.EngineTypes.startp = _startpos__1_;
21001 MenhirLib.EngineTypes.endp = _endpos__1_;
21002 MenhirLib.EngineTypes.next = _menhir_stack;
21003 };
21004 } = _menhir_stack in
21005 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
21006 let _1 : 'tv_fundecl = Obj.magic _1 in
21007 let _startpos = _startpos__1_ in
21008 let _endpos = _endpos__2_ in
21009 let _v : 'tv_plus_after_dots =
21010 # 1677 "parser_cocci_menhir.mly"
21011 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
21012 # 21013 "parser_cocci_menhir.ml"
21013 in
21014 _menhir_env.MenhirLib.EngineTypes.stack <- {
21015 MenhirLib.EngineTypes.state = _menhir_s;
21016 MenhirLib.EngineTypes.semv = Obj.repr _v;
21017 MenhirLib.EngineTypes.startp = _startpos;
21018 MenhirLib.EngineTypes.endp = _endpos;
21019 MenhirLib.EngineTypes.next = _menhir_stack;
21020 });
21021 (fun _menhir_env ->
21022 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21023 let {
21024 MenhirLib.EngineTypes.semv = _2;
21025 MenhirLib.EngineTypes.startp = _startpos__2_;
21026 MenhirLib.EngineTypes.endp = _endpos__2_;
21027 MenhirLib.EngineTypes.next = {
21028 MenhirLib.EngineTypes.state = _menhir_s;
21029 MenhirLib.EngineTypes.semv = _1;
21030 MenhirLib.EngineTypes.startp = _startpos__1_;
21031 MenhirLib.EngineTypes.endp = _endpos__1_;
21032 MenhirLib.EngineTypes.next = _menhir_stack;
21033 };
21034 } = _menhir_stack in
21035 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
21036 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
21037 let _startpos = _startpos__1_ in
21038 let _endpos = _endpos__2_ in
21039 let _v : 'tv_plus_after_dots =
21040 # 1679 "parser_cocci_menhir.mly"
21041 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
21042 # 21043 "parser_cocci_menhir.ml"
21043 in
21044 _menhir_env.MenhirLib.EngineTypes.stack <- {
21045 MenhirLib.EngineTypes.state = _menhir_s;
21046 MenhirLib.EngineTypes.semv = Obj.repr _v;
21047 MenhirLib.EngineTypes.startp = _startpos;
21048 MenhirLib.EngineTypes.endp = _endpos;
21049 MenhirLib.EngineTypes.next = _menhir_stack;
21050 });
21051 (fun _menhir_env ->
21052 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21053 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
21054 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
21055 let _endpos = _startpos in
21056 let _v : 'tv_plus_after_exp =
21057 # 1669 "parser_cocci_menhir.mly"
21058 ([])
21059 # 21060 "parser_cocci_menhir.ml"
21060 in
21061 _menhir_env.MenhirLib.EngineTypes.stack <- {
21062 MenhirLib.EngineTypes.state = _menhir_s;
21063 MenhirLib.EngineTypes.semv = Obj.repr _v;
21064 MenhirLib.EngineTypes.startp = _startpos;
21065 MenhirLib.EngineTypes.endp = _endpos;
21066 MenhirLib.EngineTypes.next = _menhir_stack;
21067 });
21068 (fun _menhir_env ->
21069 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21070 let {
21071 MenhirLib.EngineTypes.semv = _2;
21072 MenhirLib.EngineTypes.startp = _startpos__2_;
21073 MenhirLib.EngineTypes.endp = _endpos__2_;
21074 MenhirLib.EngineTypes.next = {
21075 MenhirLib.EngineTypes.state = _menhir_s;
21076 MenhirLib.EngineTypes.semv = _1;
21077 MenhirLib.EngineTypes.startp = _startpos__1_;
21078 MenhirLib.EngineTypes.endp = _endpos__1_;
21079 MenhirLib.EngineTypes.next = _menhir_stack;
21080 };
21081 } = _menhir_stack in
21082 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
21083 let _1 : 'tv_stm_dots = Obj.magic _1 in
21084 let _startpos = _startpos__1_ in
21085 let _endpos = _endpos__2_ in
21086 let _v : 'tv_plus_after_exp =
21087 # 1670 "parser_cocci_menhir.mly"
21088 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
21089 # 21090 "parser_cocci_menhir.ml"
21090 in
21091 _menhir_env.MenhirLib.EngineTypes.stack <- {
21092 MenhirLib.EngineTypes.state = _menhir_s;
21093 MenhirLib.EngineTypes.semv = Obj.repr _v;
21094 MenhirLib.EngineTypes.startp = _startpos;
21095 MenhirLib.EngineTypes.endp = _endpos;
21096 MenhirLib.EngineTypes.next = _menhir_stack;
21097 });
21098 (fun _menhir_env ->
21099 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21100 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
21101 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
21102 let _endpos = _startpos in
21103 let _v : 'tv_plus_after_stm =
21104 # 1682 "parser_cocci_menhir.mly"
21105 ([])
21106 # 21107 "parser_cocci_menhir.ml"
21107 in
21108 _menhir_env.MenhirLib.EngineTypes.stack <- {
21109 MenhirLib.EngineTypes.state = _menhir_s;
21110 MenhirLib.EngineTypes.semv = Obj.repr _v;
21111 MenhirLib.EngineTypes.startp = _startpos;
21112 MenhirLib.EngineTypes.endp = _endpos;
21113 MenhirLib.EngineTypes.next = _menhir_stack;
21114 });
21115 (fun _menhir_env ->
21116 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21117 let {
21118 MenhirLib.EngineTypes.semv = _2;
21119 MenhirLib.EngineTypes.startp = _startpos__2_;
21120 MenhirLib.EngineTypes.endp = _endpos__2_;
21121 MenhirLib.EngineTypes.next = {
21122 MenhirLib.EngineTypes.state = _menhir_s;
21123 MenhirLib.EngineTypes.semv = _1;
21124 MenhirLib.EngineTypes.startp = _startpos__1_;
21125 MenhirLib.EngineTypes.endp = _endpos__1_;
21126 MenhirLib.EngineTypes.next = _menhir_stack;
21127 };
21128 } = _menhir_stack in
21129 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
21130 let _1 : 'tv_stm_dots = Obj.magic _1 in
21131 let _startpos = _startpos__1_ in
21132 let _endpos = _endpos__2_ in
21133 let _v : 'tv_plus_after_stm =
21134 # 1683 "parser_cocci_menhir.mly"
21135 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
21136 # 21137 "parser_cocci_menhir.ml"
21137 in
21138 _menhir_env.MenhirLib.EngineTypes.stack <- {
21139 MenhirLib.EngineTypes.state = _menhir_s;
21140 MenhirLib.EngineTypes.semv = Obj.repr _v;
21141 MenhirLib.EngineTypes.startp = _startpos;
21142 MenhirLib.EngineTypes.endp = _endpos;
21143 MenhirLib.EngineTypes.next = _menhir_stack;
21144 });
21145 (fun _menhir_env ->
21146 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21147 let {
21148 MenhirLib.EngineTypes.semv = _2;
21149 MenhirLib.EngineTypes.startp = _startpos__2_;
21150 MenhirLib.EngineTypes.endp = _endpos__2_;
21151 MenhirLib.EngineTypes.next = {
21152 MenhirLib.EngineTypes.state = _menhir_s;
21153 MenhirLib.EngineTypes.semv = _1;
21154 MenhirLib.EngineTypes.startp = _startpos__1_;
21155 MenhirLib.EngineTypes.endp = _endpos__1_;
21156 MenhirLib.EngineTypes.next = _menhir_stack;
21157 };
21158 } = _menhir_stack in
21159 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
21160 let _1 : 'tv_fundecl = Obj.magic _1 in
21161 let _startpos = _startpos__1_ in
21162 let _endpos = _endpos__2_ in
21163 let _v : 'tv_plus_after_stm =
21164 # 1684 "parser_cocci_menhir.mly"
21165 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
21166 # 21167 "parser_cocci_menhir.ml"
21167 in
21168 _menhir_env.MenhirLib.EngineTypes.stack <- {
21169 MenhirLib.EngineTypes.state = _menhir_s;
21170 MenhirLib.EngineTypes.semv = Obj.repr _v;
21171 MenhirLib.EngineTypes.startp = _startpos;
21172 MenhirLib.EngineTypes.endp = _endpos;
21173 MenhirLib.EngineTypes.next = _menhir_stack;
21174 });
21175 (fun _menhir_env ->
21176 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21177 let {
21178 MenhirLib.EngineTypes.semv = _2;
21179 MenhirLib.EngineTypes.startp = _startpos__2_;
21180 MenhirLib.EngineTypes.endp = _endpos__2_;
21181 MenhirLib.EngineTypes.next = {
21182 MenhirLib.EngineTypes.state = _menhir_s;
21183 MenhirLib.EngineTypes.semv = _1;
21184 MenhirLib.EngineTypes.startp = _startpos__1_;
21185 MenhirLib.EngineTypes.endp = _endpos__1_;
21186 MenhirLib.EngineTypes.next = _menhir_stack;
21187 };
21188 } = _menhir_stack in
21189 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
21190 let _1 : 'tv_decl_statement = Obj.magic _1 in
21191 let _startpos = _startpos__1_ in
21192 let _endpos = _endpos__2_ in
21193 let _v : 'tv_plus_after_stm =
21194 # 1686 "parser_cocci_menhir.mly"
21195 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
21196 # 21197 "parser_cocci_menhir.ml"
21197 in
21198 _menhir_env.MenhirLib.EngineTypes.stack <- {
21199 MenhirLib.EngineTypes.state = _menhir_s;
21200 MenhirLib.EngineTypes.semv = Obj.repr _v;
21201 MenhirLib.EngineTypes.startp = _startpos;
21202 MenhirLib.EngineTypes.endp = _endpos;
21203 MenhirLib.EngineTypes.next = _menhir_stack;
21204 });
21205 (fun _menhir_env ->
21206 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21207 let {
21208 MenhirLib.EngineTypes.semv = ew;
21209 MenhirLib.EngineTypes.startp = _startpos_ew_;
21210 MenhirLib.EngineTypes.endp = _endpos_ew_;
21211 MenhirLib.EngineTypes.next = {
21212 MenhirLib.EngineTypes.semv = b;
21213 MenhirLib.EngineTypes.startp = _startpos_b_;
21214 MenhirLib.EngineTypes.endp = _endpos_b_;
21215 MenhirLib.EngineTypes.next = {
21216 MenhirLib.EngineTypes.state = _menhir_s;
21217 MenhirLib.EngineTypes.semv = f;
21218 MenhirLib.EngineTypes.startp = _startpos_f_;
21219 MenhirLib.EngineTypes.endp = _endpos_f_;
21220 MenhirLib.EngineTypes.next = _menhir_stack;
21221 };
21222 };
21223 } = _menhir_stack in
21224 let ew : 'tv_loption_error_words_ = Obj.magic ew in
21225 let b : 'tv_loption_plus_start_ = Obj.magic b in
21226 let f : 'tv_loption_filespec_ = Obj.magic f in
21227 let _startpos = _startpos_f_ in
21228 let _endpos = _endpos_ew_ in
21229 let _v : 'tv_plus_body =
21230 # 614 "parser_cocci_menhir.mly"
21231 ( Top_level.top_level (f@b@ew) )
21232 # 21233 "parser_cocci_menhir.ml"
21233 in
21234 _menhir_env.MenhirLib.EngineTypes.stack <- {
21235 MenhirLib.EngineTypes.state = _menhir_s;
21236 MenhirLib.EngineTypes.semv = Obj.repr _v;
21237 MenhirLib.EngineTypes.startp = _startpos;
21238 MenhirLib.EngineTypes.endp = _endpos;
21239 MenhirLib.EngineTypes.next = _menhir_stack;
21240 });
21241 (fun _menhir_env ->
21242 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21243 let {
21244 MenhirLib.EngineTypes.semv = ew;
21245 MenhirLib.EngineTypes.startp = _startpos_ew_;
21246 MenhirLib.EngineTypes.endp = _endpos_ew_;
21247 MenhirLib.EngineTypes.next = {
21248 MenhirLib.EngineTypes.semv = b;
21249 MenhirLib.EngineTypes.startp = _startpos_b_;
21250 MenhirLib.EngineTypes.endp = _endpos_b_;
21251 MenhirLib.EngineTypes.next = {
21252 MenhirLib.EngineTypes.state = _menhir_s;
21253 MenhirLib.EngineTypes.semv = f;
21254 MenhirLib.EngineTypes.startp = _startpos_f_;
21255 MenhirLib.EngineTypes.endp = _endpos_f_;
21256 MenhirLib.EngineTypes.next = _menhir_stack;
21257 };
21258 };
21259 } = _menhir_stack in
21260 let ew : 'tv_loption_error_words_ = Obj.magic ew in
21261 let b : 'tv_top_eexpr = Obj.magic b in
21262 let f : 'tv_loption_filespec_ = Obj.magic f in
21263 let _startpos = _startpos_f_ in
21264 let _endpos = _endpos_ew_ in
21265 let _v : 'tv_plus_exp_body =
21266 # 628 "parser_cocci_menhir.mly"
21267 ( Top_level.top_level (f@[b]@ew) )
21268 # 21269 "parser_cocci_menhir.ml"
21269 in
21270 _menhir_env.MenhirLib.EngineTypes.stack <- {
21271 MenhirLib.EngineTypes.state = _menhir_s;
21272 MenhirLib.EngineTypes.semv = Obj.repr _v;
21273 MenhirLib.EngineTypes.startp = _startpos;
21274 MenhirLib.EngineTypes.endp = _endpos;
21275 MenhirLib.EngineTypes.next = _menhir_stack;
21276 });
21277 (fun _menhir_env ->
21278 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21279 let {
21280 MenhirLib.EngineTypes.startp = _startpos__2_;
21281 MenhirLib.EngineTypes.endp = _endpos__2_;
21282 MenhirLib.EngineTypes.next = {
21283 MenhirLib.EngineTypes.state = _menhir_s;
21284 MenhirLib.EngineTypes.semv = _1;
21285 MenhirLib.EngineTypes.startp = _startpos__1_;
21286 MenhirLib.EngineTypes.endp = _endpos__1_;
21287 MenhirLib.EngineTypes.next = _menhir_stack;
21288 };
21289 } = _menhir_stack in
21290 let _1 : 'tv_plus_exp_body = Obj.magic _1 in
21291 let _startpos = _startpos__1_ in
21292 let _endpos = _endpos__2_ in
21293 let _v : (
21294 # 143 "parser_cocci_menhir.mly"
21295 (Ast0_cocci.rule)
21296 # 21297 "parser_cocci_menhir.ml"
21297 ) =
21298 # 179 "parser_cocci_menhir.mly"
21299 ( _1 )
21300 # 21301 "parser_cocci_menhir.ml"
21301 in
21302 _menhir_env.MenhirLib.EngineTypes.stack <- {
21303 MenhirLib.EngineTypes.state = _menhir_s;
21304 MenhirLib.EngineTypes.semv = Obj.repr _v;
21305 MenhirLib.EngineTypes.startp = _startpos;
21306 MenhirLib.EngineTypes.endp = _endpos;
21307 MenhirLib.EngineTypes.next = _menhir_stack;
21308 });
21309 (fun _menhir_env ->
21310 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21311 let {
21312 MenhirLib.EngineTypes.startp = _startpos__2_;
21313 MenhirLib.EngineTypes.endp = _endpos__2_;
21314 MenhirLib.EngineTypes.next = {
21315 MenhirLib.EngineTypes.state = _menhir_s;
21316 MenhirLib.EngineTypes.semv = p;
21317 MenhirLib.EngineTypes.startp = _startpos_p_;
21318 MenhirLib.EngineTypes.endp = _endpos_p_;
21319 MenhirLib.EngineTypes.next = _menhir_stack;
21320 };
21321 } = _menhir_stack in
21322 let p : 'tv_plus_exp_body = Obj.magic p in
21323 let _startpos = _startpos_p_ in
21324 let _endpos = _endpos__2_ in
21325 let _v : (
21326 # 143 "parser_cocci_menhir.mly"
21327 (Ast0_cocci.rule)
21328 # 21329 "parser_cocci_menhir.ml"
21329 ) =
21330 # 179 "parser_cocci_menhir.mly"
21331 ( p )
21332 # 21333 "parser_cocci_menhir.ml"
21333 in
21334 _menhir_env.MenhirLib.EngineTypes.stack <- {
21335 MenhirLib.EngineTypes.state = _menhir_s;
21336 MenhirLib.EngineTypes.semv = Obj.repr _v;
21337 MenhirLib.EngineTypes.startp = _startpos;
21338 MenhirLib.EngineTypes.endp = _endpos;
21339 MenhirLib.EngineTypes.next = _menhir_stack;
21340 });
21341 (fun _menhir_env ->
21342 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21343 let {
21344 MenhirLib.EngineTypes.startp = _startpos__2_;
21345 MenhirLib.EngineTypes.endp = _endpos__2_;
21346 MenhirLib.EngineTypes.next = {
21347 MenhirLib.EngineTypes.state = _menhir_s;
21348 MenhirLib.EngineTypes.semv = p;
21349 MenhirLib.EngineTypes.startp = _startpos_p_;
21350 MenhirLib.EngineTypes.endp = _endpos_p_;
21351 MenhirLib.EngineTypes.next = _menhir_stack;
21352 };
21353 } = _menhir_stack in
21354 let p : 'tv_plus_exp_body = Obj.magic p in
21355 let _startpos = _startpos_p_ in
21356 let _endpos = _endpos__2_ in
21357 let _v : (
21358 # 143 "parser_cocci_menhir.mly"
21359 (Ast0_cocci.rule)
21360 # 21361 "parser_cocci_menhir.ml"
21361 ) =
21362 # 180 "parser_cocci_menhir.mly"
21363 ( p )
21364 # 21365 "parser_cocci_menhir.ml"
21365 in
21366 _menhir_env.MenhirLib.EngineTypes.stack <- {
21367 MenhirLib.EngineTypes.state = _menhir_s;
21368 MenhirLib.EngineTypes.semv = Obj.repr _v;
21369 MenhirLib.EngineTypes.startp = _startpos;
21370 MenhirLib.EngineTypes.endp = _endpos;
21371 MenhirLib.EngineTypes.next = _menhir_stack;
21372 });
21373 (fun _menhir_env ->
21374 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21375 let {
21376 MenhirLib.EngineTypes.startp = _startpos__2_;
21377 MenhirLib.EngineTypes.endp = _endpos__2_;
21378 MenhirLib.EngineTypes.next = {
21379 MenhirLib.EngineTypes.state = _menhir_s;
21380 MenhirLib.EngineTypes.semv = _1;
21381 MenhirLib.EngineTypes.startp = _startpos__1_;
21382 MenhirLib.EngineTypes.endp = _endpos__1_;
21383 MenhirLib.EngineTypes.next = _menhir_stack;
21384 };
21385 } = _menhir_stack in
21386 let _1 : 'tv_plus_body = Obj.magic _1 in
21387 let _startpos = _startpos__1_ in
21388 let _endpos = _endpos__2_ in
21389 let _v : (
21390 # 140 "parser_cocci_menhir.mly"
21391 (Ast0_cocci.rule)
21392 # 21393 "parser_cocci_menhir.ml"
21393 ) =
21394 # 175 "parser_cocci_menhir.mly"
21395 ( _1 )
21396 # 21397 "parser_cocci_menhir.ml"
21397 in
21398 _menhir_env.MenhirLib.EngineTypes.stack <- {
21399 MenhirLib.EngineTypes.state = _menhir_s;
21400 MenhirLib.EngineTypes.semv = Obj.repr _v;
21401 MenhirLib.EngineTypes.startp = _startpos;
21402 MenhirLib.EngineTypes.endp = _endpos;
21403 MenhirLib.EngineTypes.next = _menhir_stack;
21404 });
21405 (fun _menhir_env ->
21406 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21407 let {
21408 MenhirLib.EngineTypes.startp = _startpos__2_;
21409 MenhirLib.EngineTypes.endp = _endpos__2_;
21410 MenhirLib.EngineTypes.next = {
21411 MenhirLib.EngineTypes.state = _menhir_s;
21412 MenhirLib.EngineTypes.semv = p;
21413 MenhirLib.EngineTypes.startp = _startpos_p_;
21414 MenhirLib.EngineTypes.endp = _endpos_p_;
21415 MenhirLib.EngineTypes.next = _menhir_stack;
21416 };
21417 } = _menhir_stack in
21418 let p : 'tv_plus_body = Obj.magic p in
21419 let _startpos = _startpos_p_ in
21420 let _endpos = _endpos__2_ in
21421 let _v : (
21422 # 140 "parser_cocci_menhir.mly"
21423 (Ast0_cocci.rule)
21424 # 21425 "parser_cocci_menhir.ml"
21425 ) =
21426 # 175 "parser_cocci_menhir.mly"
21427 ( p )
21428 # 21429 "parser_cocci_menhir.ml"
21429 in
21430 _menhir_env.MenhirLib.EngineTypes.stack <- {
21431 MenhirLib.EngineTypes.state = _menhir_s;
21432 MenhirLib.EngineTypes.semv = Obj.repr _v;
21433 MenhirLib.EngineTypes.startp = _startpos;
21434 MenhirLib.EngineTypes.endp = _endpos;
21435 MenhirLib.EngineTypes.next = _menhir_stack;
21436 });
21437 (fun _menhir_env ->
21438 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21439 let {
21440 MenhirLib.EngineTypes.startp = _startpos__2_;
21441 MenhirLib.EngineTypes.endp = _endpos__2_;
21442 MenhirLib.EngineTypes.next = {
21443 MenhirLib.EngineTypes.state = _menhir_s;
21444 MenhirLib.EngineTypes.semv = p;
21445 MenhirLib.EngineTypes.startp = _startpos_p_;
21446 MenhirLib.EngineTypes.endp = _endpos_p_;
21447 MenhirLib.EngineTypes.next = _menhir_stack;
21448 };
21449 } = _menhir_stack in
21450 let p : 'tv_plus_body = Obj.magic p in
21451 let _startpos = _startpos_p_ in
21452 let _endpos = _endpos__2_ in
21453 let _v : (
21454 # 140 "parser_cocci_menhir.mly"
21455 (Ast0_cocci.rule)
21456 # 21457 "parser_cocci_menhir.ml"
21457 ) =
21458 # 176 "parser_cocci_menhir.mly"
21459 ( p )
21460 # 21461 "parser_cocci_menhir.ml"
21461 in
21462 _menhir_env.MenhirLib.EngineTypes.stack <- {
21463 MenhirLib.EngineTypes.state = _menhir_s;
21464 MenhirLib.EngineTypes.semv = Obj.repr _v;
21465 MenhirLib.EngineTypes.startp = _startpos;
21466 MenhirLib.EngineTypes.endp = _endpos;
21467 MenhirLib.EngineTypes.next = _menhir_stack;
21468 });
21469 (fun _menhir_env ->
21470 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21471 let {
21472 MenhirLib.EngineTypes.state = _menhir_s;
21473 MenhirLib.EngineTypes.semv = _1;
21474 MenhirLib.EngineTypes.startp = _startpos__1_;
21475 MenhirLib.EngineTypes.endp = _endpos__1_;
21476 MenhirLib.EngineTypes.next = _menhir_stack;
21477 } = _menhir_stack in
21478 let _1 : 'tv_ctype = Obj.magic _1 in
21479 let _startpos = _startpos__1_ in
21480 let _endpos = _endpos__1_ in
21481 let _v : 'tv_plus_start =
21482 # 1658 "parser_cocci_menhir.mly"
21483 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
21484 # 21485 "parser_cocci_menhir.ml"
21485 in
21486 _menhir_env.MenhirLib.EngineTypes.stack <- {
21487 MenhirLib.EngineTypes.state = _menhir_s;
21488 MenhirLib.EngineTypes.semv = Obj.repr _v;
21489 MenhirLib.EngineTypes.startp = _startpos;
21490 MenhirLib.EngineTypes.endp = _endpos;
21491 MenhirLib.EngineTypes.next = _menhir_stack;
21492 });
21493 (fun _menhir_env ->
21494 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21495 let {
21496 MenhirLib.EngineTypes.state = _menhir_s;
21497 MenhirLib.EngineTypes.semv = _1;
21498 MenhirLib.EngineTypes.startp = _startpos__1_;
21499 MenhirLib.EngineTypes.endp = _endpos__1_;
21500 MenhirLib.EngineTypes.next = _menhir_stack;
21501 } = _menhir_stack in
21502 let _1 : 'tv_top_init = Obj.magic _1 in
21503 let _startpos = _startpos__1_ in
21504 let _endpos = _endpos__1_ in
21505 let _v : 'tv_plus_start =
21506 # 1659 "parser_cocci_menhir.mly"
21507 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
21508 # 21509 "parser_cocci_menhir.ml"
21509 in
21510 _menhir_env.MenhirLib.EngineTypes.stack <- {
21511 MenhirLib.EngineTypes.state = _menhir_s;
21512 MenhirLib.EngineTypes.semv = Obj.repr _v;
21513 MenhirLib.EngineTypes.startp = _startpos;
21514 MenhirLib.EngineTypes.endp = _endpos;
21515 MenhirLib.EngineTypes.next = _menhir_stack;
21516 });
21517 (fun _menhir_env ->
21518 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21519 let {
21520 MenhirLib.EngineTypes.semv = _2;
21521 MenhirLib.EngineTypes.startp = _startpos__2_;
21522 MenhirLib.EngineTypes.endp = _endpos__2_;
21523 MenhirLib.EngineTypes.next = {
21524 MenhirLib.EngineTypes.state = _menhir_s;
21525 MenhirLib.EngineTypes.semv = _1;
21526 MenhirLib.EngineTypes.startp = _startpos__1_;
21527 MenhirLib.EngineTypes.endp = _endpos__1_;
21528 MenhirLib.EngineTypes.next = _menhir_stack;
21529 };
21530 } = _menhir_stack in
21531 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
21532 let _1 : 'tv_stm_dots = Obj.magic _1 in
21533 let _startpos = _startpos__1_ in
21534 let _endpos = _endpos__2_ in
21535 let _v : 'tv_plus_start =
21536 # 1661 "parser_cocci_menhir.mly"
21537 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
21538 # 21539 "parser_cocci_menhir.ml"
21539 in
21540 _menhir_env.MenhirLib.EngineTypes.stack <- {
21541 MenhirLib.EngineTypes.state = _menhir_s;
21542 MenhirLib.EngineTypes.semv = Obj.repr _v;
21543 MenhirLib.EngineTypes.startp = _startpos;
21544 MenhirLib.EngineTypes.endp = _endpos;
21545 MenhirLib.EngineTypes.next = _menhir_stack;
21546 });
21547 (fun _menhir_env ->
21548 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21549 let {
21550 MenhirLib.EngineTypes.semv = _2;
21551 MenhirLib.EngineTypes.startp = _startpos__2_;
21552 MenhirLib.EngineTypes.endp = _endpos__2_;
21553 MenhirLib.EngineTypes.next = {
21554 MenhirLib.EngineTypes.state = _menhir_s;
21555 MenhirLib.EngineTypes.semv = _1;
21556 MenhirLib.EngineTypes.startp = _startpos__1_;
21557 MenhirLib.EngineTypes.endp = _endpos__1_;
21558 MenhirLib.EngineTypes.next = _menhir_stack;
21559 };
21560 } = _menhir_stack in
21561 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
21562 let _1 : 'tv_expr = Obj.magic _1 in
21563 let _startpos = _startpos__1_ in
21564 let _endpos = _endpos__2_ in
21565 let _v : 'tv_plus_start =
21566 # 1663 "parser_cocci_menhir.mly"
21567 ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
21568 # 21569 "parser_cocci_menhir.ml"
21569 in
21570 _menhir_env.MenhirLib.EngineTypes.stack <- {
21571 MenhirLib.EngineTypes.state = _menhir_s;
21572 MenhirLib.EngineTypes.semv = Obj.repr _v;
21573 MenhirLib.EngineTypes.startp = _startpos;
21574 MenhirLib.EngineTypes.endp = _endpos;
21575 MenhirLib.EngineTypes.next = _menhir_stack;
21576 });
21577 (fun _menhir_env ->
21578 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21579 let {
21580 MenhirLib.EngineTypes.semv = _2;
21581 MenhirLib.EngineTypes.startp = _startpos__2_;
21582 MenhirLib.EngineTypes.endp = _endpos__2_;
21583 MenhirLib.EngineTypes.next = {
21584 MenhirLib.EngineTypes.state = _menhir_s;
21585 MenhirLib.EngineTypes.semv = _1;
21586 MenhirLib.EngineTypes.startp = _startpos__1_;
21587 MenhirLib.EngineTypes.endp = _endpos__1_;
21588 MenhirLib.EngineTypes.next = _menhir_stack;
21589 };
21590 } = _menhir_stack in
21591 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
21592 let _1 : 'tv_fundecl = Obj.magic _1 in
21593 let _startpos = _startpos__1_ in
21594 let _endpos = _endpos__2_ in
21595 let _v : 'tv_plus_start =
21596 # 1664 "parser_cocci_menhir.mly"
21597 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
21598 # 21599 "parser_cocci_menhir.ml"
21599 in
21600 _menhir_env.MenhirLib.EngineTypes.stack <- {
21601 MenhirLib.EngineTypes.state = _menhir_s;
21602 MenhirLib.EngineTypes.semv = Obj.repr _v;
21603 MenhirLib.EngineTypes.startp = _startpos;
21604 MenhirLib.EngineTypes.endp = _endpos;
21605 MenhirLib.EngineTypes.next = _menhir_stack;
21606 });
21607 (fun _menhir_env ->
21608 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21609 let {
21610 MenhirLib.EngineTypes.semv = _2;
21611 MenhirLib.EngineTypes.startp = _startpos__2_;
21612 MenhirLib.EngineTypes.endp = _endpos__2_;
21613 MenhirLib.EngineTypes.next = {
21614 MenhirLib.EngineTypes.state = _menhir_s;
21615 MenhirLib.EngineTypes.semv = _1;
21616 MenhirLib.EngineTypes.startp = _startpos__1_;
21617 MenhirLib.EngineTypes.endp = _endpos__1_;
21618 MenhirLib.EngineTypes.next = _menhir_stack;
21619 };
21620 } = _menhir_stack in
21621 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
21622 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
21623 let _startpos = _startpos__1_ in
21624 let _endpos = _endpos__2_ in
21625 let _v : 'tv_plus_start =
21626 # 1666 "parser_cocci_menhir.mly"
21627 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
21628 # 21629 "parser_cocci_menhir.ml"
21629 in
21630 _menhir_env.MenhirLib.EngineTypes.stack <- {
21631 MenhirLib.EngineTypes.state = _menhir_s;
21632 MenhirLib.EngineTypes.semv = Obj.repr _v;
21633 MenhirLib.EngineTypes.startp = _startpos;
21634 MenhirLib.EngineTypes.endp = _endpos;
21635 MenhirLib.EngineTypes.next = _menhir_stack;
21636 });
21637 (fun _menhir_env ->
21638 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21639 let {
21640 MenhirLib.EngineTypes.state = _menhir_s;
21641 MenhirLib.EngineTypes.semv = _1;
21642 MenhirLib.EngineTypes.startp = _startpos__1_;
21643 MenhirLib.EngineTypes.endp = _endpos__1_;
21644 MenhirLib.EngineTypes.next = _menhir_stack;
21645 } = _menhir_stack in
21646 let _1 : (
21647 # 47 "parser_cocci_menhir.mly"
21648 (string)
21649 # 21650 "parser_cocci_menhir.ml"
21650 ) = Obj.magic _1 in
21651 let _startpos = _startpos__1_ in
21652 let _endpos = _endpos__1_ in
21653 let _v : 'tv_pnrule =
21654 # 230 "parser_cocci_menhir.mly"
21655 ( Ast.Dep _1 )
21656 # 21657 "parser_cocci_menhir.ml"
21657 in
21658 _menhir_env.MenhirLib.EngineTypes.stack <- {
21659 MenhirLib.EngineTypes.state = _menhir_s;
21660 MenhirLib.EngineTypes.semv = Obj.repr _v;
21661 MenhirLib.EngineTypes.startp = _startpos;
21662 MenhirLib.EngineTypes.endp = _endpos;
21663 MenhirLib.EngineTypes.next = _menhir_stack;
21664 });
21665 (fun _menhir_env ->
21666 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21667 let {
21668 MenhirLib.EngineTypes.semv = _2;
21669 MenhirLib.EngineTypes.startp = _startpos__2_;
21670 MenhirLib.EngineTypes.endp = _endpos__2_;
21671 MenhirLib.EngineTypes.next = {
21672 MenhirLib.EngineTypes.state = _menhir_s;
21673 MenhirLib.EngineTypes.startp = _startpos__1_;
21674 MenhirLib.EngineTypes.endp = _endpos__1_;
21675 MenhirLib.EngineTypes.next = _menhir_stack;
21676 };
21677 } = _menhir_stack in
21678 let _2 : (
21679 # 47 "parser_cocci_menhir.mly"
21680 (string)
21681 # 21682 "parser_cocci_menhir.ml"
21682 ) = Obj.magic _2 in
21683 let _startpos = _startpos__1_ in
21684 let _endpos = _endpos__2_ in
21685 let _v : 'tv_pnrule =
21686 # 231 "parser_cocci_menhir.mly"
21687 ( Ast.AntiDep _2 )
21688 # 21689 "parser_cocci_menhir.ml"
21689 in
21690 _menhir_env.MenhirLib.EngineTypes.stack <- {
21691 MenhirLib.EngineTypes.state = _menhir_s;
21692 MenhirLib.EngineTypes.semv = Obj.repr _v;
21693 MenhirLib.EngineTypes.startp = _startpos;
21694 MenhirLib.EngineTypes.endp = _endpos;
21695 MenhirLib.EngineTypes.next = _menhir_stack;
21696 });
21697 (fun _menhir_env ->
21698 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21699 let {
21700 MenhirLib.EngineTypes.semv = _2;
21701 MenhirLib.EngineTypes.startp = _startpos__2_;
21702 MenhirLib.EngineTypes.endp = _endpos__2_;
21703 MenhirLib.EngineTypes.next = {
21704 MenhirLib.EngineTypes.state = _menhir_s;
21705 MenhirLib.EngineTypes.startp = _startpos__1_;
21706 MenhirLib.EngineTypes.endp = _endpos__1_;
21707 MenhirLib.EngineTypes.next = _menhir_stack;
21708 };
21709 } = _menhir_stack in
21710 let _2 : (
21711 # 47 "parser_cocci_menhir.mly"
21712 (string)
21713 # 21714 "parser_cocci_menhir.ml"
21714 ) = Obj.magic _2 in
21715 let _startpos = _startpos__1_ in
21716 let _endpos = _endpos__2_ in
21717 let _v : 'tv_pnrule =
21718 # 232 "parser_cocci_menhir.mly"
21719 ( Ast.EverDep _2 )
21720 # 21721 "parser_cocci_menhir.ml"
21721 in
21722 _menhir_env.MenhirLib.EngineTypes.stack <- {
21723 MenhirLib.EngineTypes.state = _menhir_s;
21724 MenhirLib.EngineTypes.semv = Obj.repr _v;
21725 MenhirLib.EngineTypes.startp = _startpos;
21726 MenhirLib.EngineTypes.endp = _endpos;
21727 MenhirLib.EngineTypes.next = _menhir_stack;
21728 });
21729 (fun _menhir_env ->
21730 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21731 let {
21732 MenhirLib.EngineTypes.semv = _2;
21733 MenhirLib.EngineTypes.startp = _startpos__2_;
21734 MenhirLib.EngineTypes.endp = _endpos__2_;
21735 MenhirLib.EngineTypes.next = {
21736 MenhirLib.EngineTypes.state = _menhir_s;
21737 MenhirLib.EngineTypes.startp = _startpos__1_;
21738 MenhirLib.EngineTypes.endp = _endpos__1_;
21739 MenhirLib.EngineTypes.next = _menhir_stack;
21740 };
21741 } = _menhir_stack in
21742 let _2 : (
21743 # 47 "parser_cocci_menhir.mly"
21744 (string)
21745 # 21746 "parser_cocci_menhir.ml"
21746 ) = Obj.magic _2 in
21747 let _startpos = _startpos__1_ in
21748 let _endpos = _endpos__2_ in
21749 let _v : 'tv_pnrule =
21750 # 233 "parser_cocci_menhir.mly"
21751 ( Ast.NeverDep _2 )
21752 # 21753 "parser_cocci_menhir.ml"
21753 in
21754 _menhir_env.MenhirLib.EngineTypes.stack <- {
21755 MenhirLib.EngineTypes.state = _menhir_s;
21756 MenhirLib.EngineTypes.semv = Obj.repr _v;
21757 MenhirLib.EngineTypes.startp = _startpos;
21758 MenhirLib.EngineTypes.endp = _endpos;
21759 MenhirLib.EngineTypes.next = _menhir_stack;
21760 });
21761 (fun _menhir_env ->
21762 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21763 let {
21764 MenhirLib.EngineTypes.startp = _startpos__3_;
21765 MenhirLib.EngineTypes.endp = _endpos__3_;
21766 MenhirLib.EngineTypes.next = {
21767 MenhirLib.EngineTypes.semv = _2;
21768 MenhirLib.EngineTypes.startp = _startpos__2_;
21769 MenhirLib.EngineTypes.endp = _endpos__2_;
21770 MenhirLib.EngineTypes.next = {
21771 MenhirLib.EngineTypes.state = _menhir_s;
21772 MenhirLib.EngineTypes.startp = _startpos__1_;
21773 MenhirLib.EngineTypes.endp = _endpos__1_;
21774 MenhirLib.EngineTypes.next = _menhir_stack;
21775 };
21776 };
21777 } = _menhir_stack in
21778 let _2 : 'tv_dep = Obj.magic _2 in
21779 let _startpos = _startpos__1_ in
21780 let _endpos = _endpos__3_ in
21781 let _v : 'tv_pnrule =
21782 # 234 "parser_cocci_menhir.mly"
21783 ( _2 )
21784 # 21785 "parser_cocci_menhir.ml"
21785 in
21786 _menhir_env.MenhirLib.EngineTypes.stack <- {
21787 MenhirLib.EngineTypes.state = _menhir_s;
21788 MenhirLib.EngineTypes.semv = Obj.repr _v;
21789 MenhirLib.EngineTypes.startp = _startpos;
21790 MenhirLib.EngineTypes.endp = _endpos;
21791 MenhirLib.EngineTypes.next = _menhir_stack;
21792 });
21793 (fun _menhir_env ->
21794 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21795 let {
21796 MenhirLib.EngineTypes.state = _menhir_s;
21797 MenhirLib.EngineTypes.semv = _1;
21798 MenhirLib.EngineTypes.startp = _startpos__1_;
21799 MenhirLib.EngineTypes.endp = _endpos__1_;
21800 MenhirLib.EngineTypes.next = _menhir_stack;
21801 } = _menhir_stack in
21802 let _1 : 'tv_primary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
21803 let _startpos = _startpos__1_ in
21804 let _endpos = _endpos__1_ in
21805 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
21806 # 1322 "parser_cocci_menhir.mly"
21807 ( _1 )
21808 # 21809 "parser_cocci_menhir.ml"
21809 in
21810 _menhir_env.MenhirLib.EngineTypes.stack <- {
21811 MenhirLib.EngineTypes.state = _menhir_s;
21812 MenhirLib.EngineTypes.semv = Obj.repr _v;
21813 MenhirLib.EngineTypes.startp = _startpos;
21814 MenhirLib.EngineTypes.endp = _endpos;
21815 MenhirLib.EngineTypes.next = _menhir_stack;
21816 });
21817 (fun _menhir_env ->
21818 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21819 let {
21820 MenhirLib.EngineTypes.semv = _4;
21821 MenhirLib.EngineTypes.startp = _startpos__4_;
21822 MenhirLib.EngineTypes.endp = _endpos__4_;
21823 MenhirLib.EngineTypes.next = {
21824 MenhirLib.EngineTypes.semv = _3;
21825 MenhirLib.EngineTypes.startp = _startpos__3_;
21826 MenhirLib.EngineTypes.endp = _endpos__3_;
21827 MenhirLib.EngineTypes.next = {
21828 MenhirLib.EngineTypes.semv = _2;
21829 MenhirLib.EngineTypes.startp = _startpos__2_;
21830 MenhirLib.EngineTypes.endp = _endpos__2_;
21831 MenhirLib.EngineTypes.next = {
21832 MenhirLib.EngineTypes.state = _menhir_s;
21833 MenhirLib.EngineTypes.semv = _1;
21834 MenhirLib.EngineTypes.startp = _startpos__1_;
21835 MenhirLib.EngineTypes.endp = _endpos__1_;
21836 MenhirLib.EngineTypes.next = _menhir_stack;
21837 };
21838 };
21839 };
21840 } = _menhir_stack in
21841 let _4 : (
21842 # 102 "parser_cocci_menhir.mly"
21843 (Data.clt)
21844 # 21845 "parser_cocci_menhir.ml"
21845 ) = Obj.magic _4 in
21846 let _3 : 'tv_eexpr = Obj.magic _3 in
21847 let _2 : (
21848 # 102 "parser_cocci_menhir.mly"
21849 (Data.clt)
21850 # 21851 "parser_cocci_menhir.ml"
21851 ) = Obj.magic _2 in
21852 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
21853 let _startpos = _startpos__1_ in
21854 let _endpos = _endpos__4_ in
21855 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
21856 # 1324 "parser_cocci_menhir.mly"
21857 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
21858 P.clt2mcode "]" _4)) )
21859 # 21860 "parser_cocci_menhir.ml"
21860 in
21861 _menhir_env.MenhirLib.EngineTypes.stack <- {
21862 MenhirLib.EngineTypes.state = _menhir_s;
21863 MenhirLib.EngineTypes.semv = Obj.repr _v;
21864 MenhirLib.EngineTypes.startp = _startpos;
21865 MenhirLib.EngineTypes.endp = _endpos;
21866 MenhirLib.EngineTypes.next = _menhir_stack;
21867 });
21868 (fun _menhir_env ->
21869 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21870 let {
21871 MenhirLib.EngineTypes.semv = _3;
21872 MenhirLib.EngineTypes.startp = _startpos__3_;
21873 MenhirLib.EngineTypes.endp = _endpos__3_;
21874 MenhirLib.EngineTypes.next = {
21875 MenhirLib.EngineTypes.semv = _2;
21876 MenhirLib.EngineTypes.startp = _startpos__2_;
21877 MenhirLib.EngineTypes.endp = _endpos__2_;
21878 MenhirLib.EngineTypes.next = {
21879 MenhirLib.EngineTypes.state = _menhir_s;
21880 MenhirLib.EngineTypes.semv = _1;
21881 MenhirLib.EngineTypes.startp = _startpos__1_;
21882 MenhirLib.EngineTypes.endp = _endpos__1_;
21883 MenhirLib.EngineTypes.next = _menhir_stack;
21884 };
21885 };
21886 } = _menhir_stack in
21887 let _3 : 'tv_ident = Obj.magic _3 in
21888 let _2 : (
21889 # 107 "parser_cocci_menhir.mly"
21890 (Data.clt)
21891 # 21892 "parser_cocci_menhir.ml"
21892 ) = Obj.magic _2 in
21893 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
21894 let _startpos = _startpos__1_ in
21895 let _endpos = _endpos__3_ in
21896 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
21897 # 1327 "parser_cocci_menhir.mly"
21898 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
21899 # 21900 "parser_cocci_menhir.ml"
21900 in
21901 _menhir_env.MenhirLib.EngineTypes.stack <- {
21902 MenhirLib.EngineTypes.state = _menhir_s;
21903 MenhirLib.EngineTypes.semv = Obj.repr _v;
21904 MenhirLib.EngineTypes.startp = _startpos;
21905 MenhirLib.EngineTypes.endp = _endpos;
21906 MenhirLib.EngineTypes.next = _menhir_stack;
21907 });
21908 (fun _menhir_env ->
21909 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21910 let {
21911 MenhirLib.EngineTypes.semv = _3;
21912 MenhirLib.EngineTypes.startp = _startpos__3_;
21913 MenhirLib.EngineTypes.endp = _endpos__3_;
21914 MenhirLib.EngineTypes.next = {
21915 MenhirLib.EngineTypes.semv = _2;
21916 MenhirLib.EngineTypes.startp = _startpos__2_;
21917 MenhirLib.EngineTypes.endp = _endpos__2_;
21918 MenhirLib.EngineTypes.next = {
21919 MenhirLib.EngineTypes.state = _menhir_s;
21920 MenhirLib.EngineTypes.semv = _1;
21921 MenhirLib.EngineTypes.startp = _startpos__1_;
21922 MenhirLib.EngineTypes.endp = _endpos__1_;
21923 MenhirLib.EngineTypes.next = _menhir_stack;
21924 };
21925 };
21926 } = _menhir_stack in
21927 let _3 : 'tv_ident = Obj.magic _3 in
21928 let _2 : (
21929 # 104 "parser_cocci_menhir.mly"
21930 (Data.clt)
21931 # 21932 "parser_cocci_menhir.ml"
21932 ) = Obj.magic _2 in
21933 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
21934 let _startpos = _startpos__1_ in
21935 let _endpos = _endpos__3_ in
21936 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
21937 # 1329 "parser_cocci_menhir.mly"
21938 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
21939 _3)) )
21940 # 21941 "parser_cocci_menhir.ml"
21941 in
21942 _menhir_env.MenhirLib.EngineTypes.stack <- {
21943 MenhirLib.EngineTypes.state = _menhir_s;
21944 MenhirLib.EngineTypes.semv = Obj.repr _v;
21945 MenhirLib.EngineTypes.startp = _startpos;
21946 MenhirLib.EngineTypes.endp = _endpos;
21947 MenhirLib.EngineTypes.next = _menhir_stack;
21948 });
21949 (fun _menhir_env ->
21950 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21951 let {
21952 MenhirLib.EngineTypes.semv = _2;
21953 MenhirLib.EngineTypes.startp = _startpos__2_;
21954 MenhirLib.EngineTypes.endp = _endpos__2_;
21955 MenhirLib.EngineTypes.next = {
21956 MenhirLib.EngineTypes.state = _menhir_s;
21957 MenhirLib.EngineTypes.semv = _1;
21958 MenhirLib.EngineTypes.startp = _startpos__1_;
21959 MenhirLib.EngineTypes.endp = _endpos__1_;
21960 MenhirLib.EngineTypes.next = _menhir_stack;
21961 };
21962 } = _menhir_stack in
21963 let _2 : (
21964 # 85 "parser_cocci_menhir.mly"
21965 (Data.clt)
21966 # 21967 "parser_cocci_menhir.ml"
21967 ) = Obj.magic _2 in
21968 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
21969 let _startpos = _startpos__1_ in
21970 let _endpos = _endpos__2_ in
21971 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
21972 # 1332 "parser_cocci_menhir.mly"
21973 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
21974 # 21975 "parser_cocci_menhir.ml"
21975 in
21976 _menhir_env.MenhirLib.EngineTypes.stack <- {
21977 MenhirLib.EngineTypes.state = _menhir_s;
21978 MenhirLib.EngineTypes.semv = Obj.repr _v;
21979 MenhirLib.EngineTypes.startp = _startpos;
21980 MenhirLib.EngineTypes.endp = _endpos;
21981 MenhirLib.EngineTypes.next = _menhir_stack;
21982 });
21983 (fun _menhir_env ->
21984 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21985 let {
21986 MenhirLib.EngineTypes.semv = _2;
21987 MenhirLib.EngineTypes.startp = _startpos__2_;
21988 MenhirLib.EngineTypes.endp = _endpos__2_;
21989 MenhirLib.EngineTypes.next = {
21990 MenhirLib.EngineTypes.state = _menhir_s;
21991 MenhirLib.EngineTypes.semv = _1;
21992 MenhirLib.EngineTypes.startp = _startpos__1_;
21993 MenhirLib.EngineTypes.endp = _endpos__1_;
21994 MenhirLib.EngineTypes.next = _menhir_stack;
21995 };
21996 } = _menhir_stack in
21997 let _2 : (
21998 # 85 "parser_cocci_menhir.mly"
21999 (Data.clt)
22000 # 22001 "parser_cocci_menhir.ml"
22001 ) = Obj.magic _2 in
22002 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
22003 let _startpos = _startpos__1_ in
22004 let _endpos = _endpos__2_ in
22005 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
22006 # 1334 "parser_cocci_menhir.mly"
22007 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
22008 # 22009 "parser_cocci_menhir.ml"
22009 in
22010 _menhir_env.MenhirLib.EngineTypes.stack <- {
22011 MenhirLib.EngineTypes.state = _menhir_s;
22012 MenhirLib.EngineTypes.semv = Obj.repr _v;
22013 MenhirLib.EngineTypes.startp = _startpos;
22014 MenhirLib.EngineTypes.endp = _endpos;
22015 MenhirLib.EngineTypes.next = _menhir_stack;
22016 });
22017 (fun _menhir_env ->
22018 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22019 let {
22020 MenhirLib.EngineTypes.semv = _4;
22021 MenhirLib.EngineTypes.startp = _startpos__4_;
22022 MenhirLib.EngineTypes.endp = _endpos__4_;
22023 MenhirLib.EngineTypes.next = {
22024 MenhirLib.EngineTypes.semv = _3;
22025 MenhirLib.EngineTypes.startp = _startpos__3_;
22026 MenhirLib.EngineTypes.endp = _endpos__3_;
22027 MenhirLib.EngineTypes.next = {
22028 MenhirLib.EngineTypes.semv = _2;
22029 MenhirLib.EngineTypes.startp = _startpos__2_;
22030 MenhirLib.EngineTypes.endp = _endpos__2_;
22031 MenhirLib.EngineTypes.next = {
22032 MenhirLib.EngineTypes.state = _menhir_s;
22033 MenhirLib.EngineTypes.semv = _1;
22034 MenhirLib.EngineTypes.startp = _startpos__1_;
22035 MenhirLib.EngineTypes.endp = _endpos__1_;
22036 MenhirLib.EngineTypes.next = _menhir_stack;
22037 };
22038 };
22039 };
22040 } = _menhir_stack in
22041 let _4 : (
22042 # 77 "parser_cocci_menhir.mly"
22043 (Data.clt)
22044 # 22045 "parser_cocci_menhir.ml"
22045 ) = Obj.magic _4 in
22046 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
22047 let _2 : (
22048 # 76 "parser_cocci_menhir.mly"
22049 (Data.clt)
22050 # 22051 "parser_cocci_menhir.ml"
22051 ) = Obj.magic _2 in
22052 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
22053 let _startpos = _startpos__1_ in
22054 let _endpos = _endpos__4_ in
22055 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
22056 # 1336 "parser_cocci_menhir.mly"
22057 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
22058 _3,
22059 P.clt2mcode ")" _4)) )
22060 # 22061 "parser_cocci_menhir.ml"
22061 in
22062 _menhir_env.MenhirLib.EngineTypes.stack <- {
22063 MenhirLib.EngineTypes.state = _menhir_s;
22064 MenhirLib.EngineTypes.semv = Obj.repr _v;
22065 MenhirLib.EngineTypes.startp = _startpos;
22066 MenhirLib.EngineTypes.endp = _endpos;
22067 MenhirLib.EngineTypes.next = _menhir_stack;
22068 });
22069 (fun _menhir_env ->
22070 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22071 let {
22072 MenhirLib.EngineTypes.state = _menhir_s;
22073 MenhirLib.EngineTypes.semv = _1;
22074 MenhirLib.EngineTypes.startp = _startpos__1_;
22075 MenhirLib.EngineTypes.endp = _endpos__1_;
22076 MenhirLib.EngineTypes.next = _menhir_stack;
22077 } = _menhir_stack in
22078 let _1 : 'tv_primary_expr_eexpr_invalid_ = Obj.magic _1 in
22079 let _startpos = _startpos__1_ in
22080 let _endpos = _endpos__1_ in
22081 let _v : 'tv_postfix_expr_eexpr_invalid_ =
22082 # 1322 "parser_cocci_menhir.mly"
22083 ( _1 )
22084 # 22085 "parser_cocci_menhir.ml"
22085 in
22086 _menhir_env.MenhirLib.EngineTypes.stack <- {
22087 MenhirLib.EngineTypes.state = _menhir_s;
22088 MenhirLib.EngineTypes.semv = Obj.repr _v;
22089 MenhirLib.EngineTypes.startp = _startpos;
22090 MenhirLib.EngineTypes.endp = _endpos;
22091 MenhirLib.EngineTypes.next = _menhir_stack;
22092 });
22093 (fun _menhir_env ->
22094 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22095 let {
22096 MenhirLib.EngineTypes.semv = _4;
22097 MenhirLib.EngineTypes.startp = _startpos__4_;
22098 MenhirLib.EngineTypes.endp = _endpos__4_;
22099 MenhirLib.EngineTypes.next = {
22100 MenhirLib.EngineTypes.semv = _3;
22101 MenhirLib.EngineTypes.startp = _startpos__3_;
22102 MenhirLib.EngineTypes.endp = _endpos__3_;
22103 MenhirLib.EngineTypes.next = {
22104 MenhirLib.EngineTypes.semv = _2;
22105 MenhirLib.EngineTypes.startp = _startpos__2_;
22106 MenhirLib.EngineTypes.endp = _endpos__2_;
22107 MenhirLib.EngineTypes.next = {
22108 MenhirLib.EngineTypes.state = _menhir_s;
22109 MenhirLib.EngineTypes.semv = _1;
22110 MenhirLib.EngineTypes.startp = _startpos__1_;
22111 MenhirLib.EngineTypes.endp = _endpos__1_;
22112 MenhirLib.EngineTypes.next = _menhir_stack;
22113 };
22114 };
22115 };
22116 } = _menhir_stack in
22117 let _4 : (
22118 # 102 "parser_cocci_menhir.mly"
22119 (Data.clt)
22120 # 22121 "parser_cocci_menhir.ml"
22121 ) = Obj.magic _4 in
22122 let _3 : 'tv_eexpr = Obj.magic _3 in
22123 let _2 : (
22124 # 102 "parser_cocci_menhir.mly"
22125 (Data.clt)
22126 # 22127 "parser_cocci_menhir.ml"
22127 ) = Obj.magic _2 in
22128 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
22129 let _startpos = _startpos__1_ in
22130 let _endpos = _endpos__4_ in
22131 let _v : 'tv_postfix_expr_eexpr_invalid_ =
22132 # 1324 "parser_cocci_menhir.mly"
22133 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
22134 P.clt2mcode "]" _4)) )
22135 # 22136 "parser_cocci_menhir.ml"
22136 in
22137 _menhir_env.MenhirLib.EngineTypes.stack <- {
22138 MenhirLib.EngineTypes.state = _menhir_s;
22139 MenhirLib.EngineTypes.semv = Obj.repr _v;
22140 MenhirLib.EngineTypes.startp = _startpos;
22141 MenhirLib.EngineTypes.endp = _endpos;
22142 MenhirLib.EngineTypes.next = _menhir_stack;
22143 });
22144 (fun _menhir_env ->
22145 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22146 let {
22147 MenhirLib.EngineTypes.semv = _3;
22148 MenhirLib.EngineTypes.startp = _startpos__3_;
22149 MenhirLib.EngineTypes.endp = _endpos__3_;
22150 MenhirLib.EngineTypes.next = {
22151 MenhirLib.EngineTypes.semv = _2;
22152 MenhirLib.EngineTypes.startp = _startpos__2_;
22153 MenhirLib.EngineTypes.endp = _endpos__2_;
22154 MenhirLib.EngineTypes.next = {
22155 MenhirLib.EngineTypes.state = _menhir_s;
22156 MenhirLib.EngineTypes.semv = _1;
22157 MenhirLib.EngineTypes.startp = _startpos__1_;
22158 MenhirLib.EngineTypes.endp = _endpos__1_;
22159 MenhirLib.EngineTypes.next = _menhir_stack;
22160 };
22161 };
22162 } = _menhir_stack in
22163 let _3 : 'tv_ident = Obj.magic _3 in
22164 let _2 : (
22165 # 107 "parser_cocci_menhir.mly"
22166 (Data.clt)
22167 # 22168 "parser_cocci_menhir.ml"
22168 ) = Obj.magic _2 in
22169 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
22170 let _startpos = _startpos__1_ in
22171 let _endpos = _endpos__3_ in
22172 let _v : 'tv_postfix_expr_eexpr_invalid_ =
22173 # 1327 "parser_cocci_menhir.mly"
22174 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
22175 # 22176 "parser_cocci_menhir.ml"
22176 in
22177 _menhir_env.MenhirLib.EngineTypes.stack <- {
22178 MenhirLib.EngineTypes.state = _menhir_s;
22179 MenhirLib.EngineTypes.semv = Obj.repr _v;
22180 MenhirLib.EngineTypes.startp = _startpos;
22181 MenhirLib.EngineTypes.endp = _endpos;
22182 MenhirLib.EngineTypes.next = _menhir_stack;
22183 });
22184 (fun _menhir_env ->
22185 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22186 let {
22187 MenhirLib.EngineTypes.semv = _3;
22188 MenhirLib.EngineTypes.startp = _startpos__3_;
22189 MenhirLib.EngineTypes.endp = _endpos__3_;
22190 MenhirLib.EngineTypes.next = {
22191 MenhirLib.EngineTypes.semv = _2;
22192 MenhirLib.EngineTypes.startp = _startpos__2_;
22193 MenhirLib.EngineTypes.endp = _endpos__2_;
22194 MenhirLib.EngineTypes.next = {
22195 MenhirLib.EngineTypes.state = _menhir_s;
22196 MenhirLib.EngineTypes.semv = _1;
22197 MenhirLib.EngineTypes.startp = _startpos__1_;
22198 MenhirLib.EngineTypes.endp = _endpos__1_;
22199 MenhirLib.EngineTypes.next = _menhir_stack;
22200 };
22201 };
22202 } = _menhir_stack in
22203 let _3 : 'tv_ident = Obj.magic _3 in
22204 let _2 : (
22205 # 104 "parser_cocci_menhir.mly"
22206 (Data.clt)
22207 # 22208 "parser_cocci_menhir.ml"
22208 ) = Obj.magic _2 in
22209 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
22210 let _startpos = _startpos__1_ in
22211 let _endpos = _endpos__3_ in
22212 let _v : 'tv_postfix_expr_eexpr_invalid_ =
22213 # 1329 "parser_cocci_menhir.mly"
22214 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
22215 _3)) )
22216 # 22217 "parser_cocci_menhir.ml"
22217 in
22218 _menhir_env.MenhirLib.EngineTypes.stack <- {
22219 MenhirLib.EngineTypes.state = _menhir_s;
22220 MenhirLib.EngineTypes.semv = Obj.repr _v;
22221 MenhirLib.EngineTypes.startp = _startpos;
22222 MenhirLib.EngineTypes.endp = _endpos;
22223 MenhirLib.EngineTypes.next = _menhir_stack;
22224 });
22225 (fun _menhir_env ->
22226 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22227 let {
22228 MenhirLib.EngineTypes.semv = _2;
22229 MenhirLib.EngineTypes.startp = _startpos__2_;
22230 MenhirLib.EngineTypes.endp = _endpos__2_;
22231 MenhirLib.EngineTypes.next = {
22232 MenhirLib.EngineTypes.state = _menhir_s;
22233 MenhirLib.EngineTypes.semv = _1;
22234 MenhirLib.EngineTypes.startp = _startpos__1_;
22235 MenhirLib.EngineTypes.endp = _endpos__1_;
22236 MenhirLib.EngineTypes.next = _menhir_stack;
22237 };
22238 } = _menhir_stack in
22239 let _2 : (
22240 # 85 "parser_cocci_menhir.mly"
22241 (Data.clt)
22242 # 22243 "parser_cocci_menhir.ml"
22243 ) = Obj.magic _2 in
22244 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
22245 let _startpos = _startpos__1_ in
22246 let _endpos = _endpos__2_ in
22247 let _v : 'tv_postfix_expr_eexpr_invalid_ =
22248 # 1332 "parser_cocci_menhir.mly"
22249 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
22250 # 22251 "parser_cocci_menhir.ml"
22251 in
22252 _menhir_env.MenhirLib.EngineTypes.stack <- {
22253 MenhirLib.EngineTypes.state = _menhir_s;
22254 MenhirLib.EngineTypes.semv = Obj.repr _v;
22255 MenhirLib.EngineTypes.startp = _startpos;
22256 MenhirLib.EngineTypes.endp = _endpos;
22257 MenhirLib.EngineTypes.next = _menhir_stack;
22258 });
22259 (fun _menhir_env ->
22260 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22261 let {
22262 MenhirLib.EngineTypes.semv = _2;
22263 MenhirLib.EngineTypes.startp = _startpos__2_;
22264 MenhirLib.EngineTypes.endp = _endpos__2_;
22265 MenhirLib.EngineTypes.next = {
22266 MenhirLib.EngineTypes.state = _menhir_s;
22267 MenhirLib.EngineTypes.semv = _1;
22268 MenhirLib.EngineTypes.startp = _startpos__1_;
22269 MenhirLib.EngineTypes.endp = _endpos__1_;
22270 MenhirLib.EngineTypes.next = _menhir_stack;
22271 };
22272 } = _menhir_stack in
22273 let _2 : (
22274 # 85 "parser_cocci_menhir.mly"
22275 (Data.clt)
22276 # 22277 "parser_cocci_menhir.ml"
22277 ) = Obj.magic _2 in
22278 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
22279 let _startpos = _startpos__1_ in
22280 let _endpos = _endpos__2_ in
22281 let _v : 'tv_postfix_expr_eexpr_invalid_ =
22282 # 1334 "parser_cocci_menhir.mly"
22283 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
22284 # 22285 "parser_cocci_menhir.ml"
22285 in
22286 _menhir_env.MenhirLib.EngineTypes.stack <- {
22287 MenhirLib.EngineTypes.state = _menhir_s;
22288 MenhirLib.EngineTypes.semv = Obj.repr _v;
22289 MenhirLib.EngineTypes.startp = _startpos;
22290 MenhirLib.EngineTypes.endp = _endpos;
22291 MenhirLib.EngineTypes.next = _menhir_stack;
22292 });
22293 (fun _menhir_env ->
22294 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22295 let {
22296 MenhirLib.EngineTypes.semv = _4;
22297 MenhirLib.EngineTypes.startp = _startpos__4_;
22298 MenhirLib.EngineTypes.endp = _endpos__4_;
22299 MenhirLib.EngineTypes.next = {
22300 MenhirLib.EngineTypes.semv = _3;
22301 MenhirLib.EngineTypes.startp = _startpos__3_;
22302 MenhirLib.EngineTypes.endp = _endpos__3_;
22303 MenhirLib.EngineTypes.next = {
22304 MenhirLib.EngineTypes.semv = _2;
22305 MenhirLib.EngineTypes.startp = _startpos__2_;
22306 MenhirLib.EngineTypes.endp = _endpos__2_;
22307 MenhirLib.EngineTypes.next = {
22308 MenhirLib.EngineTypes.state = _menhir_s;
22309 MenhirLib.EngineTypes.semv = _1;
22310 MenhirLib.EngineTypes.startp = _startpos__1_;
22311 MenhirLib.EngineTypes.endp = _endpos__1_;
22312 MenhirLib.EngineTypes.next = _menhir_stack;
22313 };
22314 };
22315 };
22316 } = _menhir_stack in
22317 let _4 : (
22318 # 77 "parser_cocci_menhir.mly"
22319 (Data.clt)
22320 # 22321 "parser_cocci_menhir.ml"
22321 ) = Obj.magic _4 in
22322 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
22323 let _2 : (
22324 # 76 "parser_cocci_menhir.mly"
22325 (Data.clt)
22326 # 22327 "parser_cocci_menhir.ml"
22327 ) = Obj.magic _2 in
22328 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
22329 let _startpos = _startpos__1_ in
22330 let _endpos = _endpos__4_ in
22331 let _v : 'tv_postfix_expr_eexpr_invalid_ =
22332 # 1336 "parser_cocci_menhir.mly"
22333 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
22334 _3,
22335 P.clt2mcode ")" _4)) )
22336 # 22337 "parser_cocci_menhir.ml"
22337 in
22338 _menhir_env.MenhirLib.EngineTypes.stack <- {
22339 MenhirLib.EngineTypes.state = _menhir_s;
22340 MenhirLib.EngineTypes.semv = Obj.repr _v;
22341 MenhirLib.EngineTypes.startp = _startpos;
22342 MenhirLib.EngineTypes.endp = _endpos;
22343 MenhirLib.EngineTypes.next = _menhir_stack;
22344 });
22345 (fun _menhir_env ->
22346 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22347 let {
22348 MenhirLib.EngineTypes.state = _menhir_s;
22349 MenhirLib.EngineTypes.semv = _1;
22350 MenhirLib.EngineTypes.startp = _startpos__1_;
22351 MenhirLib.EngineTypes.endp = _endpos__1_;
22352 MenhirLib.EngineTypes.next = _menhir_stack;
22353 } = _menhir_stack in
22354 let _1 : 'tv_primary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
22355 let _startpos = _startpos__1_ in
22356 let _endpos = _endpos__1_ in
22357 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
22358 # 1322 "parser_cocci_menhir.mly"
22359 ( _1 )
22360 # 22361 "parser_cocci_menhir.ml"
22361 in
22362 _menhir_env.MenhirLib.EngineTypes.stack <- {
22363 MenhirLib.EngineTypes.state = _menhir_s;
22364 MenhirLib.EngineTypes.semv = Obj.repr _v;
22365 MenhirLib.EngineTypes.startp = _startpos;
22366 MenhirLib.EngineTypes.endp = _endpos;
22367 MenhirLib.EngineTypes.next = _menhir_stack;
22368 });
22369 (fun _menhir_env ->
22370 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22371 let {
22372 MenhirLib.EngineTypes.semv = _4;
22373 MenhirLib.EngineTypes.startp = _startpos__4_;
22374 MenhirLib.EngineTypes.endp = _endpos__4_;
22375 MenhirLib.EngineTypes.next = {
22376 MenhirLib.EngineTypes.semv = _3;
22377 MenhirLib.EngineTypes.startp = _startpos__3_;
22378 MenhirLib.EngineTypes.endp = _endpos__3_;
22379 MenhirLib.EngineTypes.next = {
22380 MenhirLib.EngineTypes.semv = _2;
22381 MenhirLib.EngineTypes.startp = _startpos__2_;
22382 MenhirLib.EngineTypes.endp = _endpos__2_;
22383 MenhirLib.EngineTypes.next = {
22384 MenhirLib.EngineTypes.state = _menhir_s;
22385 MenhirLib.EngineTypes.semv = _1;
22386 MenhirLib.EngineTypes.startp = _startpos__1_;
22387 MenhirLib.EngineTypes.endp = _endpos__1_;
22388 MenhirLib.EngineTypes.next = _menhir_stack;
22389 };
22390 };
22391 };
22392 } = _menhir_stack in
22393 let _4 : (
22394 # 102 "parser_cocci_menhir.mly"
22395 (Data.clt)
22396 # 22397 "parser_cocci_menhir.ml"
22397 ) = Obj.magic _4 in
22398 let _3 : 'tv_eexpr = Obj.magic _3 in
22399 let _2 : (
22400 # 102 "parser_cocci_menhir.mly"
22401 (Data.clt)
22402 # 22403 "parser_cocci_menhir.ml"
22403 ) = Obj.magic _2 in
22404 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
22405 let _startpos = _startpos__1_ in
22406 let _endpos = _endpos__4_ in
22407 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
22408 # 1324 "parser_cocci_menhir.mly"
22409 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
22410 P.clt2mcode "]" _4)) )
22411 # 22412 "parser_cocci_menhir.ml"
22412 in
22413 _menhir_env.MenhirLib.EngineTypes.stack <- {
22414 MenhirLib.EngineTypes.state = _menhir_s;
22415 MenhirLib.EngineTypes.semv = Obj.repr _v;
22416 MenhirLib.EngineTypes.startp = _startpos;
22417 MenhirLib.EngineTypes.endp = _endpos;
22418 MenhirLib.EngineTypes.next = _menhir_stack;
22419 });
22420 (fun _menhir_env ->
22421 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22422 let {
22423 MenhirLib.EngineTypes.semv = _3;
22424 MenhirLib.EngineTypes.startp = _startpos__3_;
22425 MenhirLib.EngineTypes.endp = _endpos__3_;
22426 MenhirLib.EngineTypes.next = {
22427 MenhirLib.EngineTypes.semv = _2;
22428 MenhirLib.EngineTypes.startp = _startpos__2_;
22429 MenhirLib.EngineTypes.endp = _endpos__2_;
22430 MenhirLib.EngineTypes.next = {
22431 MenhirLib.EngineTypes.state = _menhir_s;
22432 MenhirLib.EngineTypes.semv = _1;
22433 MenhirLib.EngineTypes.startp = _startpos__1_;
22434 MenhirLib.EngineTypes.endp = _endpos__1_;
22435 MenhirLib.EngineTypes.next = _menhir_stack;
22436 };
22437 };
22438 } = _menhir_stack in
22439 let _3 : 'tv_ident = Obj.magic _3 in
22440 let _2 : (
22441 # 107 "parser_cocci_menhir.mly"
22442 (Data.clt)
22443 # 22444 "parser_cocci_menhir.ml"
22444 ) = Obj.magic _2 in
22445 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
22446 let _startpos = _startpos__1_ in
22447 let _endpos = _endpos__3_ in
22448 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
22449 # 1327 "parser_cocci_menhir.mly"
22450 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
22451 # 22452 "parser_cocci_menhir.ml"
22452 in
22453 _menhir_env.MenhirLib.EngineTypes.stack <- {
22454 MenhirLib.EngineTypes.state = _menhir_s;
22455 MenhirLib.EngineTypes.semv = Obj.repr _v;
22456 MenhirLib.EngineTypes.startp = _startpos;
22457 MenhirLib.EngineTypes.endp = _endpos;
22458 MenhirLib.EngineTypes.next = _menhir_stack;
22459 });
22460 (fun _menhir_env ->
22461 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22462 let {
22463 MenhirLib.EngineTypes.semv = _3;
22464 MenhirLib.EngineTypes.startp = _startpos__3_;
22465 MenhirLib.EngineTypes.endp = _endpos__3_;
22466 MenhirLib.EngineTypes.next = {
22467 MenhirLib.EngineTypes.semv = _2;
22468 MenhirLib.EngineTypes.startp = _startpos__2_;
22469 MenhirLib.EngineTypes.endp = _endpos__2_;
22470 MenhirLib.EngineTypes.next = {
22471 MenhirLib.EngineTypes.state = _menhir_s;
22472 MenhirLib.EngineTypes.semv = _1;
22473 MenhirLib.EngineTypes.startp = _startpos__1_;
22474 MenhirLib.EngineTypes.endp = _endpos__1_;
22475 MenhirLib.EngineTypes.next = _menhir_stack;
22476 };
22477 };
22478 } = _menhir_stack in
22479 let _3 : 'tv_ident = Obj.magic _3 in
22480 let _2 : (
22481 # 104 "parser_cocci_menhir.mly"
22482 (Data.clt)
22483 # 22484 "parser_cocci_menhir.ml"
22484 ) = Obj.magic _2 in
22485 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
22486 let _startpos = _startpos__1_ in
22487 let _endpos = _endpos__3_ in
22488 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
22489 # 1329 "parser_cocci_menhir.mly"
22490 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
22491 _3)) )
22492 # 22493 "parser_cocci_menhir.ml"
22493 in
22494 _menhir_env.MenhirLib.EngineTypes.stack <- {
22495 MenhirLib.EngineTypes.state = _menhir_s;
22496 MenhirLib.EngineTypes.semv = Obj.repr _v;
22497 MenhirLib.EngineTypes.startp = _startpos;
22498 MenhirLib.EngineTypes.endp = _endpos;
22499 MenhirLib.EngineTypes.next = _menhir_stack;
22500 });
22501 (fun _menhir_env ->
22502 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22503 let {
22504 MenhirLib.EngineTypes.semv = _2;
22505 MenhirLib.EngineTypes.startp = _startpos__2_;
22506 MenhirLib.EngineTypes.endp = _endpos__2_;
22507 MenhirLib.EngineTypes.next = {
22508 MenhirLib.EngineTypes.state = _menhir_s;
22509 MenhirLib.EngineTypes.semv = _1;
22510 MenhirLib.EngineTypes.startp = _startpos__1_;
22511 MenhirLib.EngineTypes.endp = _endpos__1_;
22512 MenhirLib.EngineTypes.next = _menhir_stack;
22513 };
22514 } = _menhir_stack in
22515 let _2 : (
22516 # 85 "parser_cocci_menhir.mly"
22517 (Data.clt)
22518 # 22519 "parser_cocci_menhir.ml"
22519 ) = Obj.magic _2 in
22520 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
22521 let _startpos = _startpos__1_ in
22522 let _endpos = _endpos__2_ in
22523 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
22524 # 1332 "parser_cocci_menhir.mly"
22525 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
22526 # 22527 "parser_cocci_menhir.ml"
22527 in
22528 _menhir_env.MenhirLib.EngineTypes.stack <- {
22529 MenhirLib.EngineTypes.state = _menhir_s;
22530 MenhirLib.EngineTypes.semv = Obj.repr _v;
22531 MenhirLib.EngineTypes.startp = _startpos;
22532 MenhirLib.EngineTypes.endp = _endpos;
22533 MenhirLib.EngineTypes.next = _menhir_stack;
22534 });
22535 (fun _menhir_env ->
22536 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22537 let {
22538 MenhirLib.EngineTypes.semv = _2;
22539 MenhirLib.EngineTypes.startp = _startpos__2_;
22540 MenhirLib.EngineTypes.endp = _endpos__2_;
22541 MenhirLib.EngineTypes.next = {
22542 MenhirLib.EngineTypes.state = _menhir_s;
22543 MenhirLib.EngineTypes.semv = _1;
22544 MenhirLib.EngineTypes.startp = _startpos__1_;
22545 MenhirLib.EngineTypes.endp = _endpos__1_;
22546 MenhirLib.EngineTypes.next = _menhir_stack;
22547 };
22548 } = _menhir_stack in
22549 let _2 : (
22550 # 85 "parser_cocci_menhir.mly"
22551 (Data.clt)
22552 # 22553 "parser_cocci_menhir.ml"
22553 ) = Obj.magic _2 in
22554 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
22555 let _startpos = _startpos__1_ in
22556 let _endpos = _endpos__2_ in
22557 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
22558 # 1334 "parser_cocci_menhir.mly"
22559 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
22560 # 22561 "parser_cocci_menhir.ml"
22561 in
22562 _menhir_env.MenhirLib.EngineTypes.stack <- {
22563 MenhirLib.EngineTypes.state = _menhir_s;
22564 MenhirLib.EngineTypes.semv = Obj.repr _v;
22565 MenhirLib.EngineTypes.startp = _startpos;
22566 MenhirLib.EngineTypes.endp = _endpos;
22567 MenhirLib.EngineTypes.next = _menhir_stack;
22568 });
22569 (fun _menhir_env ->
22570 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22571 let {
22572 MenhirLib.EngineTypes.semv = _4;
22573 MenhirLib.EngineTypes.startp = _startpos__4_;
22574 MenhirLib.EngineTypes.endp = _endpos__4_;
22575 MenhirLib.EngineTypes.next = {
22576 MenhirLib.EngineTypes.semv = _3;
22577 MenhirLib.EngineTypes.startp = _startpos__3_;
22578 MenhirLib.EngineTypes.endp = _endpos__3_;
22579 MenhirLib.EngineTypes.next = {
22580 MenhirLib.EngineTypes.semv = _2;
22581 MenhirLib.EngineTypes.startp = _startpos__2_;
22582 MenhirLib.EngineTypes.endp = _endpos__2_;
22583 MenhirLib.EngineTypes.next = {
22584 MenhirLib.EngineTypes.state = _menhir_s;
22585 MenhirLib.EngineTypes.semv = _1;
22586 MenhirLib.EngineTypes.startp = _startpos__1_;
22587 MenhirLib.EngineTypes.endp = _endpos__1_;
22588 MenhirLib.EngineTypes.next = _menhir_stack;
22589 };
22590 };
22591 };
22592 } = _menhir_stack in
22593 let _4 : (
22594 # 77 "parser_cocci_menhir.mly"
22595 (Data.clt)
22596 # 22597 "parser_cocci_menhir.ml"
22597 ) = Obj.magic _4 in
22598 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
22599 let _2 : (
22600 # 76 "parser_cocci_menhir.mly"
22601 (Data.clt)
22602 # 22603 "parser_cocci_menhir.ml"
22603 ) = Obj.magic _2 in
22604 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
22605 let _startpos = _startpos__1_ in
22606 let _endpos = _endpos__4_ in
22607 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
22608 # 1336 "parser_cocci_menhir.mly"
22609 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
22610 _3,
22611 P.clt2mcode ")" _4)) )
22612 # 22613 "parser_cocci_menhir.ml"
22613 in
22614 _menhir_env.MenhirLib.EngineTypes.stack <- {
22615 MenhirLib.EngineTypes.state = _menhir_s;
22616 MenhirLib.EngineTypes.semv = Obj.repr _v;
22617 MenhirLib.EngineTypes.startp = _startpos;
22618 MenhirLib.EngineTypes.endp = _endpos;
22619 MenhirLib.EngineTypes.next = _menhir_stack;
22620 });
22621 (fun _menhir_env ->
22622 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22623 let {
22624 MenhirLib.EngineTypes.state = _menhir_s;
22625 MenhirLib.EngineTypes.semv = _1;
22626 MenhirLib.EngineTypes.startp = _startpos__1_;
22627 MenhirLib.EngineTypes.endp = _endpos__1_;
22628 MenhirLib.EngineTypes.next = _menhir_stack;
22629 } = _menhir_stack in
22630 let _1 : 'tv_primary_expr_expr_invalid_ = Obj.magic _1 in
22631 let _startpos = _startpos__1_ in
22632 let _endpos = _endpos__1_ in
22633 let _v : 'tv_postfix_expr_expr_invalid_ =
22634 # 1322 "parser_cocci_menhir.mly"
22635 ( _1 )
22636 # 22637 "parser_cocci_menhir.ml"
22637 in
22638 _menhir_env.MenhirLib.EngineTypes.stack <- {
22639 MenhirLib.EngineTypes.state = _menhir_s;
22640 MenhirLib.EngineTypes.semv = Obj.repr _v;
22641 MenhirLib.EngineTypes.startp = _startpos;
22642 MenhirLib.EngineTypes.endp = _endpos;
22643 MenhirLib.EngineTypes.next = _menhir_stack;
22644 });
22645 (fun _menhir_env ->
22646 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22647 let {
22648 MenhirLib.EngineTypes.semv = _4;
22649 MenhirLib.EngineTypes.startp = _startpos__4_;
22650 MenhirLib.EngineTypes.endp = _endpos__4_;
22651 MenhirLib.EngineTypes.next = {
22652 MenhirLib.EngineTypes.semv = _3;
22653 MenhirLib.EngineTypes.startp = _startpos__3_;
22654 MenhirLib.EngineTypes.endp = _endpos__3_;
22655 MenhirLib.EngineTypes.next = {
22656 MenhirLib.EngineTypes.semv = _2;
22657 MenhirLib.EngineTypes.startp = _startpos__2_;
22658 MenhirLib.EngineTypes.endp = _endpos__2_;
22659 MenhirLib.EngineTypes.next = {
22660 MenhirLib.EngineTypes.state = _menhir_s;
22661 MenhirLib.EngineTypes.semv = _1;
22662 MenhirLib.EngineTypes.startp = _startpos__1_;
22663 MenhirLib.EngineTypes.endp = _endpos__1_;
22664 MenhirLib.EngineTypes.next = _menhir_stack;
22665 };
22666 };
22667 };
22668 } = _menhir_stack in
22669 let _4 : (
22670 # 102 "parser_cocci_menhir.mly"
22671 (Data.clt)
22672 # 22673 "parser_cocci_menhir.ml"
22673 ) = Obj.magic _4 in
22674 let _3 : 'tv_eexpr = Obj.magic _3 in
22675 let _2 : (
22676 # 102 "parser_cocci_menhir.mly"
22677 (Data.clt)
22678 # 22679 "parser_cocci_menhir.ml"
22679 ) = Obj.magic _2 in
22680 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
22681 let _startpos = _startpos__1_ in
22682 let _endpos = _endpos__4_ in
22683 let _v : 'tv_postfix_expr_expr_invalid_ =
22684 # 1324 "parser_cocci_menhir.mly"
22685 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
22686 P.clt2mcode "]" _4)) )
22687 # 22688 "parser_cocci_menhir.ml"
22688 in
22689 _menhir_env.MenhirLib.EngineTypes.stack <- {
22690 MenhirLib.EngineTypes.state = _menhir_s;
22691 MenhirLib.EngineTypes.semv = Obj.repr _v;
22692 MenhirLib.EngineTypes.startp = _startpos;
22693 MenhirLib.EngineTypes.endp = _endpos;
22694 MenhirLib.EngineTypes.next = _menhir_stack;
22695 });
22696 (fun _menhir_env ->
22697 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22698 let {
22699 MenhirLib.EngineTypes.semv = _3;
22700 MenhirLib.EngineTypes.startp = _startpos__3_;
22701 MenhirLib.EngineTypes.endp = _endpos__3_;
22702 MenhirLib.EngineTypes.next = {
22703 MenhirLib.EngineTypes.semv = _2;
22704 MenhirLib.EngineTypes.startp = _startpos__2_;
22705 MenhirLib.EngineTypes.endp = _endpos__2_;
22706 MenhirLib.EngineTypes.next = {
22707 MenhirLib.EngineTypes.state = _menhir_s;
22708 MenhirLib.EngineTypes.semv = _1;
22709 MenhirLib.EngineTypes.startp = _startpos__1_;
22710 MenhirLib.EngineTypes.endp = _endpos__1_;
22711 MenhirLib.EngineTypes.next = _menhir_stack;
22712 };
22713 };
22714 } = _menhir_stack in
22715 let _3 : 'tv_ident = Obj.magic _3 in
22716 let _2 : (
22717 # 107 "parser_cocci_menhir.mly"
22718 (Data.clt)
22719 # 22720 "parser_cocci_menhir.ml"
22720 ) = Obj.magic _2 in
22721 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
22722 let _startpos = _startpos__1_ in
22723 let _endpos = _endpos__3_ in
22724 let _v : 'tv_postfix_expr_expr_invalid_ =
22725 # 1327 "parser_cocci_menhir.mly"
22726 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
22727 # 22728 "parser_cocci_menhir.ml"
22728 in
22729 _menhir_env.MenhirLib.EngineTypes.stack <- {
22730 MenhirLib.EngineTypes.state = _menhir_s;
22731 MenhirLib.EngineTypes.semv = Obj.repr _v;
22732 MenhirLib.EngineTypes.startp = _startpos;
22733 MenhirLib.EngineTypes.endp = _endpos;
22734 MenhirLib.EngineTypes.next = _menhir_stack;
22735 });
22736 (fun _menhir_env ->
22737 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22738 let {
22739 MenhirLib.EngineTypes.semv = _3;
22740 MenhirLib.EngineTypes.startp = _startpos__3_;
22741 MenhirLib.EngineTypes.endp = _endpos__3_;
22742 MenhirLib.EngineTypes.next = {
22743 MenhirLib.EngineTypes.semv = _2;
22744 MenhirLib.EngineTypes.startp = _startpos__2_;
22745 MenhirLib.EngineTypes.endp = _endpos__2_;
22746 MenhirLib.EngineTypes.next = {
22747 MenhirLib.EngineTypes.state = _menhir_s;
22748 MenhirLib.EngineTypes.semv = _1;
22749 MenhirLib.EngineTypes.startp = _startpos__1_;
22750 MenhirLib.EngineTypes.endp = _endpos__1_;
22751 MenhirLib.EngineTypes.next = _menhir_stack;
22752 };
22753 };
22754 } = _menhir_stack in
22755 let _3 : 'tv_ident = Obj.magic _3 in
22756 let _2 : (
22757 # 104 "parser_cocci_menhir.mly"
22758 (Data.clt)
22759 # 22760 "parser_cocci_menhir.ml"
22760 ) = Obj.magic _2 in
22761 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
22762 let _startpos = _startpos__1_ in
22763 let _endpos = _endpos__3_ in
22764 let _v : 'tv_postfix_expr_expr_invalid_ =
22765 # 1329 "parser_cocci_menhir.mly"
22766 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
22767 _3)) )
22768 # 22769 "parser_cocci_menhir.ml"
22769 in
22770 _menhir_env.MenhirLib.EngineTypes.stack <- {
22771 MenhirLib.EngineTypes.state = _menhir_s;
22772 MenhirLib.EngineTypes.semv = Obj.repr _v;
22773 MenhirLib.EngineTypes.startp = _startpos;
22774 MenhirLib.EngineTypes.endp = _endpos;
22775 MenhirLib.EngineTypes.next = _menhir_stack;
22776 });
22777 (fun _menhir_env ->
22778 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22779 let {
22780 MenhirLib.EngineTypes.semv = _2;
22781 MenhirLib.EngineTypes.startp = _startpos__2_;
22782 MenhirLib.EngineTypes.endp = _endpos__2_;
22783 MenhirLib.EngineTypes.next = {
22784 MenhirLib.EngineTypes.state = _menhir_s;
22785 MenhirLib.EngineTypes.semv = _1;
22786 MenhirLib.EngineTypes.startp = _startpos__1_;
22787 MenhirLib.EngineTypes.endp = _endpos__1_;
22788 MenhirLib.EngineTypes.next = _menhir_stack;
22789 };
22790 } = _menhir_stack in
22791 let _2 : (
22792 # 85 "parser_cocci_menhir.mly"
22793 (Data.clt)
22794 # 22795 "parser_cocci_menhir.ml"
22795 ) = Obj.magic _2 in
22796 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
22797 let _startpos = _startpos__1_ in
22798 let _endpos = _endpos__2_ in
22799 let _v : 'tv_postfix_expr_expr_invalid_ =
22800 # 1332 "parser_cocci_menhir.mly"
22801 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
22802 # 22803 "parser_cocci_menhir.ml"
22803 in
22804 _menhir_env.MenhirLib.EngineTypes.stack <- {
22805 MenhirLib.EngineTypes.state = _menhir_s;
22806 MenhirLib.EngineTypes.semv = Obj.repr _v;
22807 MenhirLib.EngineTypes.startp = _startpos;
22808 MenhirLib.EngineTypes.endp = _endpos;
22809 MenhirLib.EngineTypes.next = _menhir_stack;
22810 });
22811 (fun _menhir_env ->
22812 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22813 let {
22814 MenhirLib.EngineTypes.semv = _2;
22815 MenhirLib.EngineTypes.startp = _startpos__2_;
22816 MenhirLib.EngineTypes.endp = _endpos__2_;
22817 MenhirLib.EngineTypes.next = {
22818 MenhirLib.EngineTypes.state = _menhir_s;
22819 MenhirLib.EngineTypes.semv = _1;
22820 MenhirLib.EngineTypes.startp = _startpos__1_;
22821 MenhirLib.EngineTypes.endp = _endpos__1_;
22822 MenhirLib.EngineTypes.next = _menhir_stack;
22823 };
22824 } = _menhir_stack in
22825 let _2 : (
22826 # 85 "parser_cocci_menhir.mly"
22827 (Data.clt)
22828 # 22829 "parser_cocci_menhir.ml"
22829 ) = Obj.magic _2 in
22830 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
22831 let _startpos = _startpos__1_ in
22832 let _endpos = _endpos__2_ in
22833 let _v : 'tv_postfix_expr_expr_invalid_ =
22834 # 1334 "parser_cocci_menhir.mly"
22835 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
22836 # 22837 "parser_cocci_menhir.ml"
22837 in
22838 _menhir_env.MenhirLib.EngineTypes.stack <- {
22839 MenhirLib.EngineTypes.state = _menhir_s;
22840 MenhirLib.EngineTypes.semv = Obj.repr _v;
22841 MenhirLib.EngineTypes.startp = _startpos;
22842 MenhirLib.EngineTypes.endp = _endpos;
22843 MenhirLib.EngineTypes.next = _menhir_stack;
22844 });
22845 (fun _menhir_env ->
22846 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22847 let {
22848 MenhirLib.EngineTypes.semv = _4;
22849 MenhirLib.EngineTypes.startp = _startpos__4_;
22850 MenhirLib.EngineTypes.endp = _endpos__4_;
22851 MenhirLib.EngineTypes.next = {
22852 MenhirLib.EngineTypes.semv = _3;
22853 MenhirLib.EngineTypes.startp = _startpos__3_;
22854 MenhirLib.EngineTypes.endp = _endpos__3_;
22855 MenhirLib.EngineTypes.next = {
22856 MenhirLib.EngineTypes.semv = _2;
22857 MenhirLib.EngineTypes.startp = _startpos__2_;
22858 MenhirLib.EngineTypes.endp = _endpos__2_;
22859 MenhirLib.EngineTypes.next = {
22860 MenhirLib.EngineTypes.state = _menhir_s;
22861 MenhirLib.EngineTypes.semv = _1;
22862 MenhirLib.EngineTypes.startp = _startpos__1_;
22863 MenhirLib.EngineTypes.endp = _endpos__1_;
22864 MenhirLib.EngineTypes.next = _menhir_stack;
22865 };
22866 };
22867 };
22868 } = _menhir_stack in
22869 let _4 : (
22870 # 77 "parser_cocci_menhir.mly"
22871 (Data.clt)
22872 # 22873 "parser_cocci_menhir.ml"
22873 ) = Obj.magic _4 in
22874 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
22875 let _2 : (
22876 # 76 "parser_cocci_menhir.mly"
22877 (Data.clt)
22878 # 22879 "parser_cocci_menhir.ml"
22879 ) = Obj.magic _2 in
22880 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
22881 let _startpos = _startpos__1_ in
22882 let _endpos = _endpos__4_ in
22883 let _v : 'tv_postfix_expr_expr_invalid_ =
22884 # 1336 "parser_cocci_menhir.mly"
22885 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
22886 _3,
22887 P.clt2mcode ")" _4)) )
22888 # 22889 "parser_cocci_menhir.ml"
22889 in
22890 _menhir_env.MenhirLib.EngineTypes.stack <- {
22891 MenhirLib.EngineTypes.state = _menhir_s;
22892 MenhirLib.EngineTypes.semv = Obj.repr _v;
22893 MenhirLib.EngineTypes.startp = _startpos;
22894 MenhirLib.EngineTypes.endp = _endpos;
22895 MenhirLib.EngineTypes.next = _menhir_stack;
22896 });
22897 (fun _menhir_env ->
22898 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22899 let {
22900 MenhirLib.EngineTypes.state = _menhir_s;
22901 MenhirLib.EngineTypes.semv = _1;
22902 MenhirLib.EngineTypes.startp = _startpos__1_;
22903 MenhirLib.EngineTypes.endp = _endpos__1_;
22904 MenhirLib.EngineTypes.next = _menhir_stack;
22905 } = _menhir_stack in
22906 let _1 : 'tv_func_ident = Obj.magic _1 in
22907 let _startpos = _startpos__1_ in
22908 let _endpos = _endpos__1_ in
22909 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
22910 # 1341 "parser_cocci_menhir.mly"
22911 ( Ast0.wrap(Ast0.Ident(_1)) )
22912 # 22913 "parser_cocci_menhir.ml"
22913 in
22914 _menhir_env.MenhirLib.EngineTypes.stack <- {
22915 MenhirLib.EngineTypes.state = _menhir_s;
22916 MenhirLib.EngineTypes.semv = Obj.repr _v;
22917 MenhirLib.EngineTypes.startp = _startpos;
22918 MenhirLib.EngineTypes.endp = _endpos;
22919 MenhirLib.EngineTypes.next = _menhir_stack;
22920 });
22921 (fun _menhir_env ->
22922 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22923 let {
22924 MenhirLib.EngineTypes.state = _menhir_s;
22925 MenhirLib.EngineTypes.semv = _1;
22926 MenhirLib.EngineTypes.startp = _startpos__1_;
22927 MenhirLib.EngineTypes.endp = _endpos__1_;
22928 MenhirLib.EngineTypes.next = _menhir_stack;
22929 } = _menhir_stack in
22930 let _1 : (
22931 # 87 "parser_cocci_menhir.mly"
22932 (string * Data.clt)
22933 # 22934 "parser_cocci_menhir.ml"
22934 ) = Obj.magic _1 in
22935 let _startpos = _startpos__1_ in
22936 let _endpos = _endpos__1_ in
22937 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
22938 # 1343 "parser_cocci_menhir.mly"
22939 ( let (x,clt) = _1 in
22940 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
22941 # 22942 "parser_cocci_menhir.ml"
22942 in
22943 _menhir_env.MenhirLib.EngineTypes.stack <- {
22944 MenhirLib.EngineTypes.state = _menhir_s;
22945 MenhirLib.EngineTypes.semv = Obj.repr _v;
22946 MenhirLib.EngineTypes.startp = _startpos;
22947 MenhirLib.EngineTypes.endp = _endpos;
22948 MenhirLib.EngineTypes.next = _menhir_stack;
22949 });
22950 (fun _menhir_env ->
22951 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22952 let {
22953 MenhirLib.EngineTypes.state = _menhir_s;
22954 MenhirLib.EngineTypes.semv = _1;
22955 MenhirLib.EngineTypes.startp = _startpos__1_;
22956 MenhirLib.EngineTypes.endp = _endpos__1_;
22957 MenhirLib.EngineTypes.next = _menhir_stack;
22958 } = _menhir_stack in
22959 let _1 : (
22960 # 87 "parser_cocci_menhir.mly"
22961 (string * Data.clt)
22962 # 22963 "parser_cocci_menhir.ml"
22963 ) = Obj.magic _1 in
22964 let _startpos = _startpos__1_ in
22965 let _endpos = _endpos__1_ in
22966 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
22967 # 1346 "parser_cocci_menhir.mly"
22968 ( let (x,clt) = _1 in
22969 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
22970 # 22971 "parser_cocci_menhir.ml"
22971 in
22972 _menhir_env.MenhirLib.EngineTypes.stack <- {
22973 MenhirLib.EngineTypes.state = _menhir_s;
22974 MenhirLib.EngineTypes.semv = Obj.repr _v;
22975 MenhirLib.EngineTypes.startp = _startpos;
22976 MenhirLib.EngineTypes.endp = _endpos;
22977 MenhirLib.EngineTypes.next = _menhir_stack;
22978 });
22979 (fun _menhir_env ->
22980 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22981 let {
22982 MenhirLib.EngineTypes.state = _menhir_s;
22983 MenhirLib.EngineTypes.semv = _1;
22984 MenhirLib.EngineTypes.startp = _startpos__1_;
22985 MenhirLib.EngineTypes.endp = _endpos__1_;
22986 MenhirLib.EngineTypes.next = _menhir_stack;
22987 } = _menhir_stack in
22988 let _1 : (
22989 # 87 "parser_cocci_menhir.mly"
22990 (string * Data.clt)
22991 # 22992 "parser_cocci_menhir.ml"
22992 ) = Obj.magic _1 in
22993 let _startpos = _startpos__1_ in
22994 let _endpos = _endpos__1_ in
22995 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
22996 # 1349 "parser_cocci_menhir.mly"
22997 ( let (x,clt) = _1 in
22998 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
22999 # 23000 "parser_cocci_menhir.ml"
23000 in
23001 _menhir_env.MenhirLib.EngineTypes.stack <- {
23002 MenhirLib.EngineTypes.state = _menhir_s;
23003 MenhirLib.EngineTypes.semv = Obj.repr _v;
23004 MenhirLib.EngineTypes.startp = _startpos;
23005 MenhirLib.EngineTypes.endp = _endpos;
23006 MenhirLib.EngineTypes.next = _menhir_stack;
23007 });
23008 (fun _menhir_env ->
23009 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23010 let {
23011 MenhirLib.EngineTypes.state = _menhir_s;
23012 MenhirLib.EngineTypes.semv = _1;
23013 MenhirLib.EngineTypes.startp = _startpos__1_;
23014 MenhirLib.EngineTypes.endp = _endpos__1_;
23015 MenhirLib.EngineTypes.next = _menhir_stack;
23016 } = _menhir_stack in
23017 let _1 : (
23018 # 87 "parser_cocci_menhir.mly"
23019 (string * Data.clt)
23020 # 23021 "parser_cocci_menhir.ml"
23021 ) = Obj.magic _1 in
23022 let _startpos = _startpos__1_ in
23023 let _endpos = _endpos__1_ in
23024 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
23025 # 1352 "parser_cocci_menhir.mly"
23026 ( let (x,clt) = _1 in
23027 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
23028 # 23029 "parser_cocci_menhir.ml"
23029 in
23030 _menhir_env.MenhirLib.EngineTypes.stack <- {
23031 MenhirLib.EngineTypes.state = _menhir_s;
23032 MenhirLib.EngineTypes.semv = Obj.repr _v;
23033 MenhirLib.EngineTypes.startp = _startpos;
23034 MenhirLib.EngineTypes.endp = _endpos;
23035 MenhirLib.EngineTypes.next = _menhir_stack;
23036 });
23037 (fun _menhir_env ->
23038 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23039 let {
23040 MenhirLib.EngineTypes.state = _menhir_s;
23041 MenhirLib.EngineTypes.semv = _1;
23042 MenhirLib.EngineTypes.startp = _startpos__1_;
23043 MenhirLib.EngineTypes.endp = _endpos__1_;
23044 MenhirLib.EngineTypes.next = _menhir_stack;
23045 } = _menhir_stack in
23046 let _1 : (
23047 # 67 "parser_cocci_menhir.mly"
23048 (Parse_aux.typed_info)
23049 # 23050 "parser_cocci_menhir.ml"
23050 ) = Obj.magic _1 in
23051 let _startpos = _startpos__1_ in
23052 let _endpos = _endpos__1_ in
23053 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
23054 # 1355 "parser_cocci_menhir.mly"
23055 ( let (nm,constraints,pure,ty,clt) = _1 in
23056 Ast0.wrap
23057 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
23058 # 23059 "parser_cocci_menhir.ml"
23059 in
23060 _menhir_env.MenhirLib.EngineTypes.stack <- {
23061 MenhirLib.EngineTypes.state = _menhir_s;
23062 MenhirLib.EngineTypes.semv = Obj.repr _v;
23063 MenhirLib.EngineTypes.startp = _startpos;
23064 MenhirLib.EngineTypes.endp = _endpos;
23065 MenhirLib.EngineTypes.next = _menhir_stack;
23066 });
23067 (fun _menhir_env ->
23068 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23069 let {
23070 MenhirLib.EngineTypes.state = _menhir_s;
23071 MenhirLib.EngineTypes.semv = _1;
23072 MenhirLib.EngineTypes.startp = _startpos__1_;
23073 MenhirLib.EngineTypes.endp = _endpos__1_;
23074 MenhirLib.EngineTypes.next = _menhir_stack;
23075 } = _menhir_stack in
23076 let _1 : (
23077 # 63 "parser_cocci_menhir.mly"
23078 (Parse_aux.expinfo)
23079 # 23080 "parser_cocci_menhir.ml"
23080 ) = Obj.magic _1 in
23081 let _startpos = _startpos__1_ in
23082 let _endpos = _endpos__1_ in
23083 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
23084 # 1359 "parser_cocci_menhir.mly"
23085 ( let (nm,constraints,pure,clt) = _1 in
23086 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
23087 # 23088 "parser_cocci_menhir.ml"
23088 in
23089 _menhir_env.MenhirLib.EngineTypes.stack <- {
23090 MenhirLib.EngineTypes.state = _menhir_s;
23091 MenhirLib.EngineTypes.semv = Obj.repr _v;
23092 MenhirLib.EngineTypes.startp = _startpos;
23093 MenhirLib.EngineTypes.endp = _endpos;
23094 MenhirLib.EngineTypes.next = _menhir_stack;
23095 });
23096 (fun _menhir_env ->
23097 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23098 let {
23099 MenhirLib.EngineTypes.state = _menhir_s;
23100 MenhirLib.EngineTypes.semv = _1;
23101 MenhirLib.EngineTypes.startp = _startpos__1_;
23102 MenhirLib.EngineTypes.endp = _endpos__1_;
23103 MenhirLib.EngineTypes.next = _menhir_stack;
23104 } = _menhir_stack in
23105 let _1 : (
23106 # 67 "parser_cocci_menhir.mly"
23107 (Parse_aux.typed_info)
23108 # 23109 "parser_cocci_menhir.ml"
23109 ) = Obj.magic _1 in
23110 let _startpos = _startpos__1_ in
23111 let _endpos = _endpos__1_ in
23112 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
23113 # 1362 "parser_cocci_menhir.mly"
23114 ( let (nm,constraints,pure,ty,clt) = _1 in
23115 Ast0.wrap
23116 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
23117 # 23118 "parser_cocci_menhir.ml"
23118 in
23119 _menhir_env.MenhirLib.EngineTypes.stack <- {
23120 MenhirLib.EngineTypes.state = _menhir_s;
23121 MenhirLib.EngineTypes.semv = Obj.repr _v;
23122 MenhirLib.EngineTypes.startp = _startpos;
23123 MenhirLib.EngineTypes.endp = _endpos;
23124 MenhirLib.EngineTypes.next = _menhir_stack;
23125 });
23126 (fun _menhir_env ->
23127 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23128 let {
23129 MenhirLib.EngineTypes.state = _menhir_s;
23130 MenhirLib.EngineTypes.semv = _1;
23131 MenhirLib.EngineTypes.startp = _startpos__1_;
23132 MenhirLib.EngineTypes.endp = _endpos__1_;
23133 MenhirLib.EngineTypes.next = _menhir_stack;
23134 } = _menhir_stack in
23135 let _1 : (
23136 # 67 "parser_cocci_menhir.mly"
23137 (Parse_aux.typed_info)
23138 # 23139 "parser_cocci_menhir.ml"
23139 ) = Obj.magic _1 in
23140 let _startpos = _startpos__1_ in
23141 let _endpos = _endpos__1_ in
23142 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
23143 # 1366 "parser_cocci_menhir.mly"
23144 ( let (nm,constraints,pure,ty,clt) = _1 in
23145 Ast0.wrap
23146 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
23147 # 23148 "parser_cocci_menhir.ml"
23148 in
23149 _menhir_env.MenhirLib.EngineTypes.stack <- {
23150 MenhirLib.EngineTypes.state = _menhir_s;
23151 MenhirLib.EngineTypes.semv = Obj.repr _v;
23152 MenhirLib.EngineTypes.startp = _startpos;
23153 MenhirLib.EngineTypes.endp = _endpos;
23154 MenhirLib.EngineTypes.next = _menhir_stack;
23155 });
23156 (fun _menhir_env ->
23157 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23158 let {
23159 MenhirLib.EngineTypes.state = _menhir_s;
23160 MenhirLib.EngineTypes.semv = _1;
23161 MenhirLib.EngineTypes.startp = _startpos__1_;
23162 MenhirLib.EngineTypes.endp = _endpos__1_;
23163 MenhirLib.EngineTypes.next = _menhir_stack;
23164 } = _menhir_stack in
23165 let _1 : (
23166 # 67 "parser_cocci_menhir.mly"
23167 (Parse_aux.typed_info)
23168 # 23169 "parser_cocci_menhir.ml"
23169 ) = Obj.magic _1 in
23170 let _startpos = _startpos__1_ in
23171 let _endpos = _endpos__1_ in
23172 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
23173 # 1370 "parser_cocci_menhir.mly"
23174 ( let (nm,constraints,pure,ty,clt) = _1 in
23175 Ast0.wrap
23176 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
23177 # 23178 "parser_cocci_menhir.ml"
23178 in
23179 _menhir_env.MenhirLib.EngineTypes.stack <- {
23180 MenhirLib.EngineTypes.state = _menhir_s;
23181 MenhirLib.EngineTypes.semv = Obj.repr _v;
23182 MenhirLib.EngineTypes.startp = _startpos;
23183 MenhirLib.EngineTypes.endp = _endpos;
23184 MenhirLib.EngineTypes.next = _menhir_stack;
23185 });
23186 (fun _menhir_env ->
23187 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23188 let {
23189 MenhirLib.EngineTypes.semv = _3;
23190 MenhirLib.EngineTypes.startp = _startpos__3_;
23191 MenhirLib.EngineTypes.endp = _endpos__3_;
23192 MenhirLib.EngineTypes.next = {
23193 MenhirLib.EngineTypes.semv = _2;
23194 MenhirLib.EngineTypes.startp = _startpos__2_;
23195 MenhirLib.EngineTypes.endp = _endpos__2_;
23196 MenhirLib.EngineTypes.next = {
23197 MenhirLib.EngineTypes.state = _menhir_s;
23198 MenhirLib.EngineTypes.semv = _1;
23199 MenhirLib.EngineTypes.startp = _startpos__1_;
23200 MenhirLib.EngineTypes.endp = _endpos__1_;
23201 MenhirLib.EngineTypes.next = _menhir_stack;
23202 };
23203 };
23204 } = _menhir_stack in
23205 let _3 : (
23206 # 77 "parser_cocci_menhir.mly"
23207 (Data.clt)
23208 # 23209 "parser_cocci_menhir.ml"
23209 ) = Obj.magic _3 in
23210 let _2 : 'tv_eexpr = Obj.magic _2 in
23211 let _1 : (
23212 # 76 "parser_cocci_menhir.mly"
23213 (Data.clt)
23214 # 23215 "parser_cocci_menhir.ml"
23215 ) = Obj.magic _1 in
23216 let _startpos = _startpos__1_ in
23217 let _endpos = _endpos__3_ in
23218 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
23219 # 1374 "parser_cocci_menhir.mly"
23220 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
23221 P.clt2mcode ")" _3)) )
23222 # 23223 "parser_cocci_menhir.ml"
23223 in
23224 _menhir_env.MenhirLib.EngineTypes.stack <- {
23225 MenhirLib.EngineTypes.state = _menhir_s;
23226 MenhirLib.EngineTypes.semv = Obj.repr _v;
23227 MenhirLib.EngineTypes.startp = _startpos;
23228 MenhirLib.EngineTypes.endp = _endpos;
23229 MenhirLib.EngineTypes.next = _menhir_stack;
23230 });
23231 (fun _menhir_env ->
23232 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23233 let {
23234 MenhirLib.EngineTypes.semv = _3;
23235 MenhirLib.EngineTypes.startp = _startpos__3_;
23236 MenhirLib.EngineTypes.endp = _endpos__3_;
23237 MenhirLib.EngineTypes.next = {
23238 MenhirLib.EngineTypes.semv = _2;
23239 MenhirLib.EngineTypes.startp = _startpos__2_;
23240 MenhirLib.EngineTypes.endp = _endpos__2_;
23241 MenhirLib.EngineTypes.next = {
23242 MenhirLib.EngineTypes.state = _menhir_s;
23243 MenhirLib.EngineTypes.semv = _1;
23244 MenhirLib.EngineTypes.startp = _startpos__1_;
23245 MenhirLib.EngineTypes.endp = _endpos__1_;
23246 MenhirLib.EngineTypes.next = _menhir_stack;
23247 };
23248 };
23249 } = _menhir_stack in
23250 let _3 : (
23251 # 77 "parser_cocci_menhir.mly"
23252 (Data.clt)
23253 # 23254 "parser_cocci_menhir.ml"
23254 ) = Obj.magic _3 in
23255 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
23256 let _1 : (
23257 # 76 "parser_cocci_menhir.mly"
23258 (Data.clt)
23259 # 23260 "parser_cocci_menhir.ml"
23260 ) = Obj.magic _1 in
23261 let _startpos = _startpos__1_ in
23262 let _endpos = _endpos__3_ in
23263 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
23264 # 1377 "parser_cocci_menhir.mly"
23265 ( let (mids,code) = _2 in
23266 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
23267 code, mids,
23268 P.clt2mcode ")" _3)) )
23269 # 23270 "parser_cocci_menhir.ml"
23270 in
23271 _menhir_env.MenhirLib.EngineTypes.stack <- {
23272 MenhirLib.EngineTypes.state = _menhir_s;
23273 MenhirLib.EngineTypes.semv = Obj.repr _v;
23274 MenhirLib.EngineTypes.startp = _startpos;
23275 MenhirLib.EngineTypes.endp = _endpos;
23276 MenhirLib.EngineTypes.next = _menhir_stack;
23277 });
23278 (fun _menhir_env ->
23279 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23280 let {
23281 MenhirLib.EngineTypes.state = _menhir_s;
23282 MenhirLib.EngineTypes.semv = _1;
23283 MenhirLib.EngineTypes.startp = _startpos__1_;
23284 MenhirLib.EngineTypes.endp = _endpos__1_;
23285 MenhirLib.EngineTypes.next = _menhir_stack;
23286 } = _menhir_stack in
23287 let _1 : 'tv_dot_expressions = Obj.magic _1 in
23288 let _startpos = _startpos__1_ in
23289 let _endpos = _endpos__1_ in
23290 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
23291 # 1381 "parser_cocci_menhir.mly"
23292 ( _1 )
23293 # 23294 "parser_cocci_menhir.ml"
23294 in
23295 _menhir_env.MenhirLib.EngineTypes.stack <- {
23296 MenhirLib.EngineTypes.state = _menhir_s;
23297 MenhirLib.EngineTypes.semv = Obj.repr _v;
23298 MenhirLib.EngineTypes.startp = _startpos;
23299 MenhirLib.EngineTypes.endp = _endpos;
23300 MenhirLib.EngineTypes.next = _menhir_stack;
23301 });
23302 (fun _menhir_env ->
23303 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23304 let {
23305 MenhirLib.EngineTypes.state = _menhir_s;
23306 MenhirLib.EngineTypes.semv = _1;
23307 MenhirLib.EngineTypes.startp = _startpos__1_;
23308 MenhirLib.EngineTypes.endp = _endpos__1_;
23309 MenhirLib.EngineTypes.next = _menhir_stack;
23310 } = _menhir_stack in
23311 let _1 : 'tv_func_ident = Obj.magic _1 in
23312 let _startpos = _startpos__1_ in
23313 let _endpos = _endpos__1_ in
23314 let _v : 'tv_primary_expr_eexpr_invalid_ =
23315 # 1341 "parser_cocci_menhir.mly"
23316 ( Ast0.wrap(Ast0.Ident(_1)) )
23317 # 23318 "parser_cocci_menhir.ml"
23318 in
23319 _menhir_env.MenhirLib.EngineTypes.stack <- {
23320 MenhirLib.EngineTypes.state = _menhir_s;
23321 MenhirLib.EngineTypes.semv = Obj.repr _v;
23322 MenhirLib.EngineTypes.startp = _startpos;
23323 MenhirLib.EngineTypes.endp = _endpos;
23324 MenhirLib.EngineTypes.next = _menhir_stack;
23325 });
23326 (fun _menhir_env ->
23327 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23328 let {
23329 MenhirLib.EngineTypes.state = _menhir_s;
23330 MenhirLib.EngineTypes.semv = _1;
23331 MenhirLib.EngineTypes.startp = _startpos__1_;
23332 MenhirLib.EngineTypes.endp = _endpos__1_;
23333 MenhirLib.EngineTypes.next = _menhir_stack;
23334 } = _menhir_stack in
23335 let _1 : (
23336 # 87 "parser_cocci_menhir.mly"
23337 (string * Data.clt)
23338 # 23339 "parser_cocci_menhir.ml"
23339 ) = Obj.magic _1 in
23340 let _startpos = _startpos__1_ in
23341 let _endpos = _endpos__1_ in
23342 let _v : 'tv_primary_expr_eexpr_invalid_ =
23343 # 1343 "parser_cocci_menhir.mly"
23344 ( let (x,clt) = _1 in
23345 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
23346 # 23347 "parser_cocci_menhir.ml"
23347 in
23348 _menhir_env.MenhirLib.EngineTypes.stack <- {
23349 MenhirLib.EngineTypes.state = _menhir_s;
23350 MenhirLib.EngineTypes.semv = Obj.repr _v;
23351 MenhirLib.EngineTypes.startp = _startpos;
23352 MenhirLib.EngineTypes.endp = _endpos;
23353 MenhirLib.EngineTypes.next = _menhir_stack;
23354 });
23355 (fun _menhir_env ->
23356 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23357 let {
23358 MenhirLib.EngineTypes.state = _menhir_s;
23359 MenhirLib.EngineTypes.semv = _1;
23360 MenhirLib.EngineTypes.startp = _startpos__1_;
23361 MenhirLib.EngineTypes.endp = _endpos__1_;
23362 MenhirLib.EngineTypes.next = _menhir_stack;
23363 } = _menhir_stack in
23364 let _1 : (
23365 # 87 "parser_cocci_menhir.mly"
23366 (string * Data.clt)
23367 # 23368 "parser_cocci_menhir.ml"
23368 ) = Obj.magic _1 in
23369 let _startpos = _startpos__1_ in
23370 let _endpos = _endpos__1_ in
23371 let _v : 'tv_primary_expr_eexpr_invalid_ =
23372 # 1346 "parser_cocci_menhir.mly"
23373 ( let (x,clt) = _1 in
23374 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
23375 # 23376 "parser_cocci_menhir.ml"
23376 in
23377 _menhir_env.MenhirLib.EngineTypes.stack <- {
23378 MenhirLib.EngineTypes.state = _menhir_s;
23379 MenhirLib.EngineTypes.semv = Obj.repr _v;
23380 MenhirLib.EngineTypes.startp = _startpos;
23381 MenhirLib.EngineTypes.endp = _endpos;
23382 MenhirLib.EngineTypes.next = _menhir_stack;
23383 });
23384 (fun _menhir_env ->
23385 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23386 let {
23387 MenhirLib.EngineTypes.state = _menhir_s;
23388 MenhirLib.EngineTypes.semv = _1;
23389 MenhirLib.EngineTypes.startp = _startpos__1_;
23390 MenhirLib.EngineTypes.endp = _endpos__1_;
23391 MenhirLib.EngineTypes.next = _menhir_stack;
23392 } = _menhir_stack in
23393 let _1 : (
23394 # 87 "parser_cocci_menhir.mly"
23395 (string * Data.clt)
23396 # 23397 "parser_cocci_menhir.ml"
23397 ) = Obj.magic _1 in
23398 let _startpos = _startpos__1_ in
23399 let _endpos = _endpos__1_ in
23400 let _v : 'tv_primary_expr_eexpr_invalid_ =
23401 # 1349 "parser_cocci_menhir.mly"
23402 ( let (x,clt) = _1 in
23403 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
23404 # 23405 "parser_cocci_menhir.ml"
23405 in
23406 _menhir_env.MenhirLib.EngineTypes.stack <- {
23407 MenhirLib.EngineTypes.state = _menhir_s;
23408 MenhirLib.EngineTypes.semv = Obj.repr _v;
23409 MenhirLib.EngineTypes.startp = _startpos;
23410 MenhirLib.EngineTypes.endp = _endpos;
23411 MenhirLib.EngineTypes.next = _menhir_stack;
23412 });
23413 (fun _menhir_env ->
23414 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23415 let {
23416 MenhirLib.EngineTypes.state = _menhir_s;
23417 MenhirLib.EngineTypes.semv = _1;
23418 MenhirLib.EngineTypes.startp = _startpos__1_;
23419 MenhirLib.EngineTypes.endp = _endpos__1_;
23420 MenhirLib.EngineTypes.next = _menhir_stack;
23421 } = _menhir_stack in
23422 let _1 : (
23423 # 87 "parser_cocci_menhir.mly"
23424 (string * Data.clt)
23425 # 23426 "parser_cocci_menhir.ml"
23426 ) = Obj.magic _1 in
23427 let _startpos = _startpos__1_ in
23428 let _endpos = _endpos__1_ in
23429 let _v : 'tv_primary_expr_eexpr_invalid_ =
23430 # 1352 "parser_cocci_menhir.mly"
23431 ( let (x,clt) = _1 in
23432 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
23433 # 23434 "parser_cocci_menhir.ml"
23434 in
23435 _menhir_env.MenhirLib.EngineTypes.stack <- {
23436 MenhirLib.EngineTypes.state = _menhir_s;
23437 MenhirLib.EngineTypes.semv = Obj.repr _v;
23438 MenhirLib.EngineTypes.startp = _startpos;
23439 MenhirLib.EngineTypes.endp = _endpos;
23440 MenhirLib.EngineTypes.next = _menhir_stack;
23441 });
23442 (fun _menhir_env ->
23443 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23444 let {
23445 MenhirLib.EngineTypes.state = _menhir_s;
23446 MenhirLib.EngineTypes.semv = _1;
23447 MenhirLib.EngineTypes.startp = _startpos__1_;
23448 MenhirLib.EngineTypes.endp = _endpos__1_;
23449 MenhirLib.EngineTypes.next = _menhir_stack;
23450 } = _menhir_stack in
23451 let _1 : (
23452 # 67 "parser_cocci_menhir.mly"
23453 (Parse_aux.typed_info)
23454 # 23455 "parser_cocci_menhir.ml"
23455 ) = Obj.magic _1 in
23456 let _startpos = _startpos__1_ in
23457 let _endpos = _endpos__1_ in
23458 let _v : 'tv_primary_expr_eexpr_invalid_ =
23459 # 1355 "parser_cocci_menhir.mly"
23460 ( let (nm,constraints,pure,ty,clt) = _1 in
23461 Ast0.wrap
23462 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
23463 # 23464 "parser_cocci_menhir.ml"
23464 in
23465 _menhir_env.MenhirLib.EngineTypes.stack <- {
23466 MenhirLib.EngineTypes.state = _menhir_s;
23467 MenhirLib.EngineTypes.semv = Obj.repr _v;
23468 MenhirLib.EngineTypes.startp = _startpos;
23469 MenhirLib.EngineTypes.endp = _endpos;
23470 MenhirLib.EngineTypes.next = _menhir_stack;
23471 });
23472 (fun _menhir_env ->
23473 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23474 let {
23475 MenhirLib.EngineTypes.state = _menhir_s;
23476 MenhirLib.EngineTypes.semv = _1;
23477 MenhirLib.EngineTypes.startp = _startpos__1_;
23478 MenhirLib.EngineTypes.endp = _endpos__1_;
23479 MenhirLib.EngineTypes.next = _menhir_stack;
23480 } = _menhir_stack in
23481 let _1 : (
23482 # 63 "parser_cocci_menhir.mly"
23483 (Parse_aux.expinfo)
23484 # 23485 "parser_cocci_menhir.ml"
23485 ) = Obj.magic _1 in
23486 let _startpos = _startpos__1_ in
23487 let _endpos = _endpos__1_ in
23488 let _v : 'tv_primary_expr_eexpr_invalid_ =
23489 # 1359 "parser_cocci_menhir.mly"
23490 ( let (nm,constraints,pure,clt) = _1 in
23491 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
23492 # 23493 "parser_cocci_menhir.ml"
23493 in
23494 _menhir_env.MenhirLib.EngineTypes.stack <- {
23495 MenhirLib.EngineTypes.state = _menhir_s;
23496 MenhirLib.EngineTypes.semv = Obj.repr _v;
23497 MenhirLib.EngineTypes.startp = _startpos;
23498 MenhirLib.EngineTypes.endp = _endpos;
23499 MenhirLib.EngineTypes.next = _menhir_stack;
23500 });
23501 (fun _menhir_env ->
23502 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23503 let {
23504 MenhirLib.EngineTypes.state = _menhir_s;
23505 MenhirLib.EngineTypes.semv = _1;
23506 MenhirLib.EngineTypes.startp = _startpos__1_;
23507 MenhirLib.EngineTypes.endp = _endpos__1_;
23508 MenhirLib.EngineTypes.next = _menhir_stack;
23509 } = _menhir_stack in
23510 let _1 : (
23511 # 67 "parser_cocci_menhir.mly"
23512 (Parse_aux.typed_info)
23513 # 23514 "parser_cocci_menhir.ml"
23514 ) = Obj.magic _1 in
23515 let _startpos = _startpos__1_ in
23516 let _endpos = _endpos__1_ in
23517 let _v : 'tv_primary_expr_eexpr_invalid_ =
23518 # 1362 "parser_cocci_menhir.mly"
23519 ( let (nm,constraints,pure,ty,clt) = _1 in
23520 Ast0.wrap
23521 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
23522 # 23523 "parser_cocci_menhir.ml"
23523 in
23524 _menhir_env.MenhirLib.EngineTypes.stack <- {
23525 MenhirLib.EngineTypes.state = _menhir_s;
23526 MenhirLib.EngineTypes.semv = Obj.repr _v;
23527 MenhirLib.EngineTypes.startp = _startpos;
23528 MenhirLib.EngineTypes.endp = _endpos;
23529 MenhirLib.EngineTypes.next = _menhir_stack;
23530 });
23531 (fun _menhir_env ->
23532 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23533 let {
23534 MenhirLib.EngineTypes.state = _menhir_s;
23535 MenhirLib.EngineTypes.semv = _1;
23536 MenhirLib.EngineTypes.startp = _startpos__1_;
23537 MenhirLib.EngineTypes.endp = _endpos__1_;
23538 MenhirLib.EngineTypes.next = _menhir_stack;
23539 } = _menhir_stack in
23540 let _1 : (
23541 # 67 "parser_cocci_menhir.mly"
23542 (Parse_aux.typed_info)
23543 # 23544 "parser_cocci_menhir.ml"
23544 ) = Obj.magic _1 in
23545 let _startpos = _startpos__1_ in
23546 let _endpos = _endpos__1_ in
23547 let _v : 'tv_primary_expr_eexpr_invalid_ =
23548 # 1366 "parser_cocci_menhir.mly"
23549 ( let (nm,constraints,pure,ty,clt) = _1 in
23550 Ast0.wrap
23551 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
23552 # 23553 "parser_cocci_menhir.ml"
23553 in
23554 _menhir_env.MenhirLib.EngineTypes.stack <- {
23555 MenhirLib.EngineTypes.state = _menhir_s;
23556 MenhirLib.EngineTypes.semv = Obj.repr _v;
23557 MenhirLib.EngineTypes.startp = _startpos;
23558 MenhirLib.EngineTypes.endp = _endpos;
23559 MenhirLib.EngineTypes.next = _menhir_stack;
23560 });
23561 (fun _menhir_env ->
23562 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23563 let {
23564 MenhirLib.EngineTypes.state = _menhir_s;
23565 MenhirLib.EngineTypes.semv = _1;
23566 MenhirLib.EngineTypes.startp = _startpos__1_;
23567 MenhirLib.EngineTypes.endp = _endpos__1_;
23568 MenhirLib.EngineTypes.next = _menhir_stack;
23569 } = _menhir_stack in
23570 let _1 : (
23571 # 67 "parser_cocci_menhir.mly"
23572 (Parse_aux.typed_info)
23573 # 23574 "parser_cocci_menhir.ml"
23574 ) = Obj.magic _1 in
23575 let _startpos = _startpos__1_ in
23576 let _endpos = _endpos__1_ in
23577 let _v : 'tv_primary_expr_eexpr_invalid_ =
23578 # 1370 "parser_cocci_menhir.mly"
23579 ( let (nm,constraints,pure,ty,clt) = _1 in
23580 Ast0.wrap
23581 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
23582 # 23583 "parser_cocci_menhir.ml"
23583 in
23584 _menhir_env.MenhirLib.EngineTypes.stack <- {
23585 MenhirLib.EngineTypes.state = _menhir_s;
23586 MenhirLib.EngineTypes.semv = Obj.repr _v;
23587 MenhirLib.EngineTypes.startp = _startpos;
23588 MenhirLib.EngineTypes.endp = _endpos;
23589 MenhirLib.EngineTypes.next = _menhir_stack;
23590 });
23591 (fun _menhir_env ->
23592 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23593 let {
23594 MenhirLib.EngineTypes.semv = _3;
23595 MenhirLib.EngineTypes.startp = _startpos__3_;
23596 MenhirLib.EngineTypes.endp = _endpos__3_;
23597 MenhirLib.EngineTypes.next = {
23598 MenhirLib.EngineTypes.semv = _2;
23599 MenhirLib.EngineTypes.startp = _startpos__2_;
23600 MenhirLib.EngineTypes.endp = _endpos__2_;
23601 MenhirLib.EngineTypes.next = {
23602 MenhirLib.EngineTypes.state = _menhir_s;
23603 MenhirLib.EngineTypes.semv = _1;
23604 MenhirLib.EngineTypes.startp = _startpos__1_;
23605 MenhirLib.EngineTypes.endp = _endpos__1_;
23606 MenhirLib.EngineTypes.next = _menhir_stack;
23607 };
23608 };
23609 } = _menhir_stack in
23610 let _3 : (
23611 # 77 "parser_cocci_menhir.mly"
23612 (Data.clt)
23613 # 23614 "parser_cocci_menhir.ml"
23614 ) = Obj.magic _3 in
23615 let _2 : 'tv_eexpr = Obj.magic _2 in
23616 let _1 : (
23617 # 76 "parser_cocci_menhir.mly"
23618 (Data.clt)
23619 # 23620 "parser_cocci_menhir.ml"
23620 ) = Obj.magic _1 in
23621 let _startpos = _startpos__1_ in
23622 let _endpos = _endpos__3_ in
23623 let _v : 'tv_primary_expr_eexpr_invalid_ =
23624 # 1374 "parser_cocci_menhir.mly"
23625 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
23626 P.clt2mcode ")" _3)) )
23627 # 23628 "parser_cocci_menhir.ml"
23628 in
23629 _menhir_env.MenhirLib.EngineTypes.stack <- {
23630 MenhirLib.EngineTypes.state = _menhir_s;
23631 MenhirLib.EngineTypes.semv = Obj.repr _v;
23632 MenhirLib.EngineTypes.startp = _startpos;
23633 MenhirLib.EngineTypes.endp = _endpos;
23634 MenhirLib.EngineTypes.next = _menhir_stack;
23635 });
23636 (fun _menhir_env ->
23637 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23638 let {
23639 MenhirLib.EngineTypes.semv = _3;
23640 MenhirLib.EngineTypes.startp = _startpos__3_;
23641 MenhirLib.EngineTypes.endp = _endpos__3_;
23642 MenhirLib.EngineTypes.next = {
23643 MenhirLib.EngineTypes.semv = _2;
23644 MenhirLib.EngineTypes.startp = _startpos__2_;
23645 MenhirLib.EngineTypes.endp = _endpos__2_;
23646 MenhirLib.EngineTypes.next = {
23647 MenhirLib.EngineTypes.state = _menhir_s;
23648 MenhirLib.EngineTypes.semv = _1;
23649 MenhirLib.EngineTypes.startp = _startpos__1_;
23650 MenhirLib.EngineTypes.endp = _endpos__1_;
23651 MenhirLib.EngineTypes.next = _menhir_stack;
23652 };
23653 };
23654 } = _menhir_stack in
23655 let _3 : (
23656 # 77 "parser_cocci_menhir.mly"
23657 (Data.clt)
23658 # 23659 "parser_cocci_menhir.ml"
23659 ) = Obj.magic _3 in
23660 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
23661 let _1 : (
23662 # 76 "parser_cocci_menhir.mly"
23663 (Data.clt)
23664 # 23665 "parser_cocci_menhir.ml"
23665 ) = Obj.magic _1 in
23666 let _startpos = _startpos__1_ in
23667 let _endpos = _endpos__3_ in
23668 let _v : 'tv_primary_expr_eexpr_invalid_ =
23669 # 1377 "parser_cocci_menhir.mly"
23670 ( let (mids,code) = _2 in
23671 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
23672 code, mids,
23673 P.clt2mcode ")" _3)) )
23674 # 23675 "parser_cocci_menhir.ml"
23675 in
23676 _menhir_env.MenhirLib.EngineTypes.stack <- {
23677 MenhirLib.EngineTypes.state = _menhir_s;
23678 MenhirLib.EngineTypes.semv = Obj.repr _v;
23679 MenhirLib.EngineTypes.startp = _startpos;
23680 MenhirLib.EngineTypes.endp = _endpos;
23681 MenhirLib.EngineTypes.next = _menhir_stack;
23682 });
23683 (fun _menhir_env ->
23684 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23685 let {
23686 MenhirLib.EngineTypes.state = _menhir_s;
23687 MenhirLib.EngineTypes.semv = _1;
23688 MenhirLib.EngineTypes.startp = _startpos__1_;
23689 MenhirLib.EngineTypes.endp = _endpos__1_;
23690 MenhirLib.EngineTypes.next = _menhir_stack;
23691 } = _menhir_stack in
23692 let _1 : 'tv_invalid = Obj.magic _1 in
23693 let _startpos = _startpos__1_ in
23694 let _endpos = _endpos__1_ in
23695 let _v : 'tv_primary_expr_eexpr_invalid_ =
23696 # 1381 "parser_cocci_menhir.mly"
23697 ( _1 )
23698 # 23699 "parser_cocci_menhir.ml"
23699 in
23700 _menhir_env.MenhirLib.EngineTypes.stack <- {
23701 MenhirLib.EngineTypes.state = _menhir_s;
23702 MenhirLib.EngineTypes.semv = Obj.repr _v;
23703 MenhirLib.EngineTypes.startp = _startpos;
23704 MenhirLib.EngineTypes.endp = _endpos;
23705 MenhirLib.EngineTypes.next = _menhir_stack;
23706 });
23707 (fun _menhir_env ->
23708 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23709 let {
23710 MenhirLib.EngineTypes.state = _menhir_s;
23711 MenhirLib.EngineTypes.semv = _1;
23712 MenhirLib.EngineTypes.startp = _startpos__1_;
23713 MenhirLib.EngineTypes.endp = _endpos__1_;
23714 MenhirLib.EngineTypes.next = _menhir_stack;
23715 } = _menhir_stack in
23716 let _1 : 'tv_func_ident = Obj.magic _1 in
23717 let _startpos = _startpos__1_ in
23718 let _endpos = _endpos__1_ in
23719 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
23720 # 1341 "parser_cocci_menhir.mly"
23721 ( Ast0.wrap(Ast0.Ident(_1)) )
23722 # 23723 "parser_cocci_menhir.ml"
23723 in
23724 _menhir_env.MenhirLib.EngineTypes.stack <- {
23725 MenhirLib.EngineTypes.state = _menhir_s;
23726 MenhirLib.EngineTypes.semv = Obj.repr _v;
23727 MenhirLib.EngineTypes.startp = _startpos;
23728 MenhirLib.EngineTypes.endp = _endpos;
23729 MenhirLib.EngineTypes.next = _menhir_stack;
23730 });
23731 (fun _menhir_env ->
23732 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23733 let {
23734 MenhirLib.EngineTypes.state = _menhir_s;
23735 MenhirLib.EngineTypes.semv = _1;
23736 MenhirLib.EngineTypes.startp = _startpos__1_;
23737 MenhirLib.EngineTypes.endp = _endpos__1_;
23738 MenhirLib.EngineTypes.next = _menhir_stack;
23739 } = _menhir_stack in
23740 let _1 : (
23741 # 87 "parser_cocci_menhir.mly"
23742 (string * Data.clt)
23743 # 23744 "parser_cocci_menhir.ml"
23744 ) = Obj.magic _1 in
23745 let _startpos = _startpos__1_ in
23746 let _endpos = _endpos__1_ in
23747 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
23748 # 1343 "parser_cocci_menhir.mly"
23749 ( let (x,clt) = _1 in
23750 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
23751 # 23752 "parser_cocci_menhir.ml"
23752 in
23753 _menhir_env.MenhirLib.EngineTypes.stack <- {
23754 MenhirLib.EngineTypes.state = _menhir_s;
23755 MenhirLib.EngineTypes.semv = Obj.repr _v;
23756 MenhirLib.EngineTypes.startp = _startpos;
23757 MenhirLib.EngineTypes.endp = _endpos;
23758 MenhirLib.EngineTypes.next = _menhir_stack;
23759 });
23760 (fun _menhir_env ->
23761 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23762 let {
23763 MenhirLib.EngineTypes.state = _menhir_s;
23764 MenhirLib.EngineTypes.semv = _1;
23765 MenhirLib.EngineTypes.startp = _startpos__1_;
23766 MenhirLib.EngineTypes.endp = _endpos__1_;
23767 MenhirLib.EngineTypes.next = _menhir_stack;
23768 } = _menhir_stack in
23769 let _1 : (
23770 # 87 "parser_cocci_menhir.mly"
23771 (string * Data.clt)
23772 # 23773 "parser_cocci_menhir.ml"
23773 ) = Obj.magic _1 in
23774 let _startpos = _startpos__1_ in
23775 let _endpos = _endpos__1_ in
23776 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
23777 # 1346 "parser_cocci_menhir.mly"
23778 ( let (x,clt) = _1 in
23779 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
23780 # 23781 "parser_cocci_menhir.ml"
23781 in
23782 _menhir_env.MenhirLib.EngineTypes.stack <- {
23783 MenhirLib.EngineTypes.state = _menhir_s;
23784 MenhirLib.EngineTypes.semv = Obj.repr _v;
23785 MenhirLib.EngineTypes.startp = _startpos;
23786 MenhirLib.EngineTypes.endp = _endpos;
23787 MenhirLib.EngineTypes.next = _menhir_stack;
23788 });
23789 (fun _menhir_env ->
23790 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23791 let {
23792 MenhirLib.EngineTypes.state = _menhir_s;
23793 MenhirLib.EngineTypes.semv = _1;
23794 MenhirLib.EngineTypes.startp = _startpos__1_;
23795 MenhirLib.EngineTypes.endp = _endpos__1_;
23796 MenhirLib.EngineTypes.next = _menhir_stack;
23797 } = _menhir_stack in
23798 let _1 : (
23799 # 87 "parser_cocci_menhir.mly"
23800 (string * Data.clt)
23801 # 23802 "parser_cocci_menhir.ml"
23802 ) = Obj.magic _1 in
23803 let _startpos = _startpos__1_ in
23804 let _endpos = _endpos__1_ in
23805 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
23806 # 1349 "parser_cocci_menhir.mly"
23807 ( let (x,clt) = _1 in
23808 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
23809 # 23810 "parser_cocci_menhir.ml"
23810 in
23811 _menhir_env.MenhirLib.EngineTypes.stack <- {
23812 MenhirLib.EngineTypes.state = _menhir_s;
23813 MenhirLib.EngineTypes.semv = Obj.repr _v;
23814 MenhirLib.EngineTypes.startp = _startpos;
23815 MenhirLib.EngineTypes.endp = _endpos;
23816 MenhirLib.EngineTypes.next = _menhir_stack;
23817 });
23818 (fun _menhir_env ->
23819 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23820 let {
23821 MenhirLib.EngineTypes.state = _menhir_s;
23822 MenhirLib.EngineTypes.semv = _1;
23823 MenhirLib.EngineTypes.startp = _startpos__1_;
23824 MenhirLib.EngineTypes.endp = _endpos__1_;
23825 MenhirLib.EngineTypes.next = _menhir_stack;
23826 } = _menhir_stack in
23827 let _1 : (
23828 # 87 "parser_cocci_menhir.mly"
23829 (string * Data.clt)
23830 # 23831 "parser_cocci_menhir.ml"
23831 ) = Obj.magic _1 in
23832 let _startpos = _startpos__1_ in
23833 let _endpos = _endpos__1_ in
23834 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
23835 # 1352 "parser_cocci_menhir.mly"
23836 ( let (x,clt) = _1 in
23837 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
23838 # 23839 "parser_cocci_menhir.ml"
23839 in
23840 _menhir_env.MenhirLib.EngineTypes.stack <- {
23841 MenhirLib.EngineTypes.state = _menhir_s;
23842 MenhirLib.EngineTypes.semv = Obj.repr _v;
23843 MenhirLib.EngineTypes.startp = _startpos;
23844 MenhirLib.EngineTypes.endp = _endpos;
23845 MenhirLib.EngineTypes.next = _menhir_stack;
23846 });
23847 (fun _menhir_env ->
23848 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23849 let {
23850 MenhirLib.EngineTypes.state = _menhir_s;
23851 MenhirLib.EngineTypes.semv = _1;
23852 MenhirLib.EngineTypes.startp = _startpos__1_;
23853 MenhirLib.EngineTypes.endp = _endpos__1_;
23854 MenhirLib.EngineTypes.next = _menhir_stack;
23855 } = _menhir_stack in
23856 let _1 : (
23857 # 67 "parser_cocci_menhir.mly"
23858 (Parse_aux.typed_info)
23859 # 23860 "parser_cocci_menhir.ml"
23860 ) = Obj.magic _1 in
23861 let _startpos = _startpos__1_ in
23862 let _endpos = _endpos__1_ in
23863 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
23864 # 1355 "parser_cocci_menhir.mly"
23865 ( let (nm,constraints,pure,ty,clt) = _1 in
23866 Ast0.wrap
23867 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
23868 # 23869 "parser_cocci_menhir.ml"
23869 in
23870 _menhir_env.MenhirLib.EngineTypes.stack <- {
23871 MenhirLib.EngineTypes.state = _menhir_s;
23872 MenhirLib.EngineTypes.semv = Obj.repr _v;
23873 MenhirLib.EngineTypes.startp = _startpos;
23874 MenhirLib.EngineTypes.endp = _endpos;
23875 MenhirLib.EngineTypes.next = _menhir_stack;
23876 });
23877 (fun _menhir_env ->
23878 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23879 let {
23880 MenhirLib.EngineTypes.state = _menhir_s;
23881 MenhirLib.EngineTypes.semv = _1;
23882 MenhirLib.EngineTypes.startp = _startpos__1_;
23883 MenhirLib.EngineTypes.endp = _endpos__1_;
23884 MenhirLib.EngineTypes.next = _menhir_stack;
23885 } = _menhir_stack in
23886 let _1 : (
23887 # 63 "parser_cocci_menhir.mly"
23888 (Parse_aux.expinfo)
23889 # 23890 "parser_cocci_menhir.ml"
23890 ) = Obj.magic _1 in
23891 let _startpos = _startpos__1_ in
23892 let _endpos = _endpos__1_ in
23893 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
23894 # 1359 "parser_cocci_menhir.mly"
23895 ( let (nm,constraints,pure,clt) = _1 in
23896 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
23897 # 23898 "parser_cocci_menhir.ml"
23898 in
23899 _menhir_env.MenhirLib.EngineTypes.stack <- {
23900 MenhirLib.EngineTypes.state = _menhir_s;
23901 MenhirLib.EngineTypes.semv = Obj.repr _v;
23902 MenhirLib.EngineTypes.startp = _startpos;
23903 MenhirLib.EngineTypes.endp = _endpos;
23904 MenhirLib.EngineTypes.next = _menhir_stack;
23905 });
23906 (fun _menhir_env ->
23907 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23908 let {
23909 MenhirLib.EngineTypes.state = _menhir_s;
23910 MenhirLib.EngineTypes.semv = _1;
23911 MenhirLib.EngineTypes.startp = _startpos__1_;
23912 MenhirLib.EngineTypes.endp = _endpos__1_;
23913 MenhirLib.EngineTypes.next = _menhir_stack;
23914 } = _menhir_stack in
23915 let _1 : (
23916 # 67 "parser_cocci_menhir.mly"
23917 (Parse_aux.typed_info)
23918 # 23919 "parser_cocci_menhir.ml"
23919 ) = Obj.magic _1 in
23920 let _startpos = _startpos__1_ in
23921 let _endpos = _endpos__1_ in
23922 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
23923 # 1362 "parser_cocci_menhir.mly"
23924 ( let (nm,constraints,pure,ty,clt) = _1 in
23925 Ast0.wrap
23926 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
23927 # 23928 "parser_cocci_menhir.ml"
23928 in
23929 _menhir_env.MenhirLib.EngineTypes.stack <- {
23930 MenhirLib.EngineTypes.state = _menhir_s;
23931 MenhirLib.EngineTypes.semv = Obj.repr _v;
23932 MenhirLib.EngineTypes.startp = _startpos;
23933 MenhirLib.EngineTypes.endp = _endpos;
23934 MenhirLib.EngineTypes.next = _menhir_stack;
23935 });
23936 (fun _menhir_env ->
23937 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23938 let {
23939 MenhirLib.EngineTypes.state = _menhir_s;
23940 MenhirLib.EngineTypes.semv = _1;
23941 MenhirLib.EngineTypes.startp = _startpos__1_;
23942 MenhirLib.EngineTypes.endp = _endpos__1_;
23943 MenhirLib.EngineTypes.next = _menhir_stack;
23944 } = _menhir_stack in
23945 let _1 : (
23946 # 67 "parser_cocci_menhir.mly"
23947 (Parse_aux.typed_info)
23948 # 23949 "parser_cocci_menhir.ml"
23949 ) = Obj.magic _1 in
23950 let _startpos = _startpos__1_ in
23951 let _endpos = _endpos__1_ in
23952 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
23953 # 1366 "parser_cocci_menhir.mly"
23954 ( let (nm,constraints,pure,ty,clt) = _1 in
23955 Ast0.wrap
23956 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
23957 # 23958 "parser_cocci_menhir.ml"
23958 in
23959 _menhir_env.MenhirLib.EngineTypes.stack <- {
23960 MenhirLib.EngineTypes.state = _menhir_s;
23961 MenhirLib.EngineTypes.semv = Obj.repr _v;
23962 MenhirLib.EngineTypes.startp = _startpos;
23963 MenhirLib.EngineTypes.endp = _endpos;
23964 MenhirLib.EngineTypes.next = _menhir_stack;
23965 });
23966 (fun _menhir_env ->
23967 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23968 let {
23969 MenhirLib.EngineTypes.state = _menhir_s;
23970 MenhirLib.EngineTypes.semv = _1;
23971 MenhirLib.EngineTypes.startp = _startpos__1_;
23972 MenhirLib.EngineTypes.endp = _endpos__1_;
23973 MenhirLib.EngineTypes.next = _menhir_stack;
23974 } = _menhir_stack in
23975 let _1 : (
23976 # 67 "parser_cocci_menhir.mly"
23977 (Parse_aux.typed_info)
23978 # 23979 "parser_cocci_menhir.ml"
23979 ) = Obj.magic _1 in
23980 let _startpos = _startpos__1_ in
23981 let _endpos = _endpos__1_ in
23982 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
23983 # 1370 "parser_cocci_menhir.mly"
23984 ( let (nm,constraints,pure,ty,clt) = _1 in
23985 Ast0.wrap
23986 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
23987 # 23988 "parser_cocci_menhir.ml"
23988 in
23989 _menhir_env.MenhirLib.EngineTypes.stack <- {
23990 MenhirLib.EngineTypes.state = _menhir_s;
23991 MenhirLib.EngineTypes.semv = Obj.repr _v;
23992 MenhirLib.EngineTypes.startp = _startpos;
23993 MenhirLib.EngineTypes.endp = _endpos;
23994 MenhirLib.EngineTypes.next = _menhir_stack;
23995 });
23996 (fun _menhir_env ->
23997 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23998 let {
23999 MenhirLib.EngineTypes.semv = _3;
24000 MenhirLib.EngineTypes.startp = _startpos__3_;
24001 MenhirLib.EngineTypes.endp = _endpos__3_;
24002 MenhirLib.EngineTypes.next = {
24003 MenhirLib.EngineTypes.semv = _2;
24004 MenhirLib.EngineTypes.startp = _startpos__2_;
24005 MenhirLib.EngineTypes.endp = _endpos__2_;
24006 MenhirLib.EngineTypes.next = {
24007 MenhirLib.EngineTypes.state = _menhir_s;
24008 MenhirLib.EngineTypes.semv = _1;
24009 MenhirLib.EngineTypes.startp = _startpos__1_;
24010 MenhirLib.EngineTypes.endp = _endpos__1_;
24011 MenhirLib.EngineTypes.next = _menhir_stack;
24012 };
24013 };
24014 } = _menhir_stack in
24015 let _3 : (
24016 # 77 "parser_cocci_menhir.mly"
24017 (Data.clt)
24018 # 24019 "parser_cocci_menhir.ml"
24019 ) = Obj.magic _3 in
24020 let _2 : 'tv_eexpr = Obj.magic _2 in
24021 let _1 : (
24022 # 76 "parser_cocci_menhir.mly"
24023 (Data.clt)
24024 # 24025 "parser_cocci_menhir.ml"
24025 ) = Obj.magic _1 in
24026 let _startpos = _startpos__1_ in
24027 let _endpos = _endpos__3_ in
24028 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
24029 # 1374 "parser_cocci_menhir.mly"
24030 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
24031 P.clt2mcode ")" _3)) )
24032 # 24033 "parser_cocci_menhir.ml"
24033 in
24034 _menhir_env.MenhirLib.EngineTypes.stack <- {
24035 MenhirLib.EngineTypes.state = _menhir_s;
24036 MenhirLib.EngineTypes.semv = Obj.repr _v;
24037 MenhirLib.EngineTypes.startp = _startpos;
24038 MenhirLib.EngineTypes.endp = _endpos;
24039 MenhirLib.EngineTypes.next = _menhir_stack;
24040 });
24041 (fun _menhir_env ->
24042 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24043 let {
24044 MenhirLib.EngineTypes.semv = _3;
24045 MenhirLib.EngineTypes.startp = _startpos__3_;
24046 MenhirLib.EngineTypes.endp = _endpos__3_;
24047 MenhirLib.EngineTypes.next = {
24048 MenhirLib.EngineTypes.semv = _2;
24049 MenhirLib.EngineTypes.startp = _startpos__2_;
24050 MenhirLib.EngineTypes.endp = _endpos__2_;
24051 MenhirLib.EngineTypes.next = {
24052 MenhirLib.EngineTypes.state = _menhir_s;
24053 MenhirLib.EngineTypes.semv = _1;
24054 MenhirLib.EngineTypes.startp = _startpos__1_;
24055 MenhirLib.EngineTypes.endp = _endpos__1_;
24056 MenhirLib.EngineTypes.next = _menhir_stack;
24057 };
24058 };
24059 } = _menhir_stack in
24060 let _3 : (
24061 # 77 "parser_cocci_menhir.mly"
24062 (Data.clt)
24063 # 24064 "parser_cocci_menhir.ml"
24064 ) = Obj.magic _3 in
24065 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
24066 let _1 : (
24067 # 76 "parser_cocci_menhir.mly"
24068 (Data.clt)
24069 # 24070 "parser_cocci_menhir.ml"
24070 ) = Obj.magic _1 in
24071 let _startpos = _startpos__1_ in
24072 let _endpos = _endpos__3_ in
24073 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
24074 # 1377 "parser_cocci_menhir.mly"
24075 ( let (mids,code) = _2 in
24076 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
24077 code, mids,
24078 P.clt2mcode ")" _3)) )
24079 # 24080 "parser_cocci_menhir.ml"
24080 in
24081 _menhir_env.MenhirLib.EngineTypes.stack <- {
24082 MenhirLib.EngineTypes.state = _menhir_s;
24083 MenhirLib.EngineTypes.semv = Obj.repr _v;
24084 MenhirLib.EngineTypes.startp = _startpos;
24085 MenhirLib.EngineTypes.endp = _endpos;
24086 MenhirLib.EngineTypes.next = _menhir_stack;
24087 });
24088 (fun _menhir_env ->
24089 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24090 let {
24091 MenhirLib.EngineTypes.state = _menhir_s;
24092 MenhirLib.EngineTypes.semv = _1;
24093 MenhirLib.EngineTypes.startp = _startpos__1_;
24094 MenhirLib.EngineTypes.endp = _endpos__1_;
24095 MenhirLib.EngineTypes.next = _menhir_stack;
24096 } = _menhir_stack in
24097 let _1 : 'tv_nest_expressions = Obj.magic _1 in
24098 let _startpos = _startpos__1_ in
24099 let _endpos = _endpos__1_ in
24100 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
24101 # 1381 "parser_cocci_menhir.mly"
24102 ( _1 )
24103 # 24104 "parser_cocci_menhir.ml"
24104 in
24105 _menhir_env.MenhirLib.EngineTypes.stack <- {
24106 MenhirLib.EngineTypes.state = _menhir_s;
24107 MenhirLib.EngineTypes.semv = Obj.repr _v;
24108 MenhirLib.EngineTypes.startp = _startpos;
24109 MenhirLib.EngineTypes.endp = _endpos;
24110 MenhirLib.EngineTypes.next = _menhir_stack;
24111 });
24112 (fun _menhir_env ->
24113 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24114 let {
24115 MenhirLib.EngineTypes.state = _menhir_s;
24116 MenhirLib.EngineTypes.semv = _1;
24117 MenhirLib.EngineTypes.startp = _startpos__1_;
24118 MenhirLib.EngineTypes.endp = _endpos__1_;
24119 MenhirLib.EngineTypes.next = _menhir_stack;
24120 } = _menhir_stack in
24121 let _1 : 'tv_func_ident = Obj.magic _1 in
24122 let _startpos = _startpos__1_ in
24123 let _endpos = _endpos__1_ in
24124 let _v : 'tv_primary_expr_expr_invalid_ =
24125 # 1341 "parser_cocci_menhir.mly"
24126 ( Ast0.wrap(Ast0.Ident(_1)) )
24127 # 24128 "parser_cocci_menhir.ml"
24128 in
24129 _menhir_env.MenhirLib.EngineTypes.stack <- {
24130 MenhirLib.EngineTypes.state = _menhir_s;
24131 MenhirLib.EngineTypes.semv = Obj.repr _v;
24132 MenhirLib.EngineTypes.startp = _startpos;
24133 MenhirLib.EngineTypes.endp = _endpos;
24134 MenhirLib.EngineTypes.next = _menhir_stack;
24135 });
24136 (fun _menhir_env ->
24137 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24138 let {
24139 MenhirLib.EngineTypes.state = _menhir_s;
24140 MenhirLib.EngineTypes.semv = _1;
24141 MenhirLib.EngineTypes.startp = _startpos__1_;
24142 MenhirLib.EngineTypes.endp = _endpos__1_;
24143 MenhirLib.EngineTypes.next = _menhir_stack;
24144 } = _menhir_stack in
24145 let _1 : (
24146 # 87 "parser_cocci_menhir.mly"
24147 (string * Data.clt)
24148 # 24149 "parser_cocci_menhir.ml"
24149 ) = Obj.magic _1 in
24150 let _startpos = _startpos__1_ in
24151 let _endpos = _endpos__1_ in
24152 let _v : 'tv_primary_expr_expr_invalid_ =
24153 # 1343 "parser_cocci_menhir.mly"
24154 ( let (x,clt) = _1 in
24155 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
24156 # 24157 "parser_cocci_menhir.ml"
24157 in
24158 _menhir_env.MenhirLib.EngineTypes.stack <- {
24159 MenhirLib.EngineTypes.state = _menhir_s;
24160 MenhirLib.EngineTypes.semv = Obj.repr _v;
24161 MenhirLib.EngineTypes.startp = _startpos;
24162 MenhirLib.EngineTypes.endp = _endpos;
24163 MenhirLib.EngineTypes.next = _menhir_stack;
24164 });
24165 (fun _menhir_env ->
24166 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24167 let {
24168 MenhirLib.EngineTypes.state = _menhir_s;
24169 MenhirLib.EngineTypes.semv = _1;
24170 MenhirLib.EngineTypes.startp = _startpos__1_;
24171 MenhirLib.EngineTypes.endp = _endpos__1_;
24172 MenhirLib.EngineTypes.next = _menhir_stack;
24173 } = _menhir_stack in
24174 let _1 : (
24175 # 87 "parser_cocci_menhir.mly"
24176 (string * Data.clt)
24177 # 24178 "parser_cocci_menhir.ml"
24178 ) = Obj.magic _1 in
24179 let _startpos = _startpos__1_ in
24180 let _endpos = _endpos__1_ in
24181 let _v : 'tv_primary_expr_expr_invalid_ =
24182 # 1346 "parser_cocci_menhir.mly"
24183 ( let (x,clt) = _1 in
24184 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
24185 # 24186 "parser_cocci_menhir.ml"
24186 in
24187 _menhir_env.MenhirLib.EngineTypes.stack <- {
24188 MenhirLib.EngineTypes.state = _menhir_s;
24189 MenhirLib.EngineTypes.semv = Obj.repr _v;
24190 MenhirLib.EngineTypes.startp = _startpos;
24191 MenhirLib.EngineTypes.endp = _endpos;
24192 MenhirLib.EngineTypes.next = _menhir_stack;
24193 });
24194 (fun _menhir_env ->
24195 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24196 let {
24197 MenhirLib.EngineTypes.state = _menhir_s;
24198 MenhirLib.EngineTypes.semv = _1;
24199 MenhirLib.EngineTypes.startp = _startpos__1_;
24200 MenhirLib.EngineTypes.endp = _endpos__1_;
24201 MenhirLib.EngineTypes.next = _menhir_stack;
24202 } = _menhir_stack in
24203 let _1 : (
24204 # 87 "parser_cocci_menhir.mly"
24205 (string * Data.clt)
24206 # 24207 "parser_cocci_menhir.ml"
24207 ) = Obj.magic _1 in
24208 let _startpos = _startpos__1_ in
24209 let _endpos = _endpos__1_ in
24210 let _v : 'tv_primary_expr_expr_invalid_ =
24211 # 1349 "parser_cocci_menhir.mly"
24212 ( let (x,clt) = _1 in
24213 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
24214 # 24215 "parser_cocci_menhir.ml"
24215 in
24216 _menhir_env.MenhirLib.EngineTypes.stack <- {
24217 MenhirLib.EngineTypes.state = _menhir_s;
24218 MenhirLib.EngineTypes.semv = Obj.repr _v;
24219 MenhirLib.EngineTypes.startp = _startpos;
24220 MenhirLib.EngineTypes.endp = _endpos;
24221 MenhirLib.EngineTypes.next = _menhir_stack;
24222 });
24223 (fun _menhir_env ->
24224 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24225 let {
24226 MenhirLib.EngineTypes.state = _menhir_s;
24227 MenhirLib.EngineTypes.semv = _1;
24228 MenhirLib.EngineTypes.startp = _startpos__1_;
24229 MenhirLib.EngineTypes.endp = _endpos__1_;
24230 MenhirLib.EngineTypes.next = _menhir_stack;
24231 } = _menhir_stack in
24232 let _1 : (
24233 # 87 "parser_cocci_menhir.mly"
24234 (string * Data.clt)
24235 # 24236 "parser_cocci_menhir.ml"
24236 ) = Obj.magic _1 in
24237 let _startpos = _startpos__1_ in
24238 let _endpos = _endpos__1_ in
24239 let _v : 'tv_primary_expr_expr_invalid_ =
24240 # 1352 "parser_cocci_menhir.mly"
24241 ( let (x,clt) = _1 in
24242 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
24243 # 24244 "parser_cocci_menhir.ml"
24244 in
24245 _menhir_env.MenhirLib.EngineTypes.stack <- {
24246 MenhirLib.EngineTypes.state = _menhir_s;
24247 MenhirLib.EngineTypes.semv = Obj.repr _v;
24248 MenhirLib.EngineTypes.startp = _startpos;
24249 MenhirLib.EngineTypes.endp = _endpos;
24250 MenhirLib.EngineTypes.next = _menhir_stack;
24251 });
24252 (fun _menhir_env ->
24253 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24254 let {
24255 MenhirLib.EngineTypes.state = _menhir_s;
24256 MenhirLib.EngineTypes.semv = _1;
24257 MenhirLib.EngineTypes.startp = _startpos__1_;
24258 MenhirLib.EngineTypes.endp = _endpos__1_;
24259 MenhirLib.EngineTypes.next = _menhir_stack;
24260 } = _menhir_stack in
24261 let _1 : (
24262 # 67 "parser_cocci_menhir.mly"
24263 (Parse_aux.typed_info)
24264 # 24265 "parser_cocci_menhir.ml"
24265 ) = Obj.magic _1 in
24266 let _startpos = _startpos__1_ in
24267 let _endpos = _endpos__1_ in
24268 let _v : 'tv_primary_expr_expr_invalid_ =
24269 # 1355 "parser_cocci_menhir.mly"
24270 ( let (nm,constraints,pure,ty,clt) = _1 in
24271 Ast0.wrap
24272 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
24273 # 24274 "parser_cocci_menhir.ml"
24274 in
24275 _menhir_env.MenhirLib.EngineTypes.stack <- {
24276 MenhirLib.EngineTypes.state = _menhir_s;
24277 MenhirLib.EngineTypes.semv = Obj.repr _v;
24278 MenhirLib.EngineTypes.startp = _startpos;
24279 MenhirLib.EngineTypes.endp = _endpos;
24280 MenhirLib.EngineTypes.next = _menhir_stack;
24281 });
24282 (fun _menhir_env ->
24283 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24284 let {
24285 MenhirLib.EngineTypes.state = _menhir_s;
24286 MenhirLib.EngineTypes.semv = _1;
24287 MenhirLib.EngineTypes.startp = _startpos__1_;
24288 MenhirLib.EngineTypes.endp = _endpos__1_;
24289 MenhirLib.EngineTypes.next = _menhir_stack;
24290 } = _menhir_stack in
24291 let _1 : (
24292 # 63 "parser_cocci_menhir.mly"
24293 (Parse_aux.expinfo)
24294 # 24295 "parser_cocci_menhir.ml"
24295 ) = Obj.magic _1 in
24296 let _startpos = _startpos__1_ in
24297 let _endpos = _endpos__1_ in
24298 let _v : 'tv_primary_expr_expr_invalid_ =
24299 # 1359 "parser_cocci_menhir.mly"
24300 ( let (nm,constraints,pure,clt) = _1 in
24301 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
24302 # 24303 "parser_cocci_menhir.ml"
24303 in
24304 _menhir_env.MenhirLib.EngineTypes.stack <- {
24305 MenhirLib.EngineTypes.state = _menhir_s;
24306 MenhirLib.EngineTypes.semv = Obj.repr _v;
24307 MenhirLib.EngineTypes.startp = _startpos;
24308 MenhirLib.EngineTypes.endp = _endpos;
24309 MenhirLib.EngineTypes.next = _menhir_stack;
24310 });
24311 (fun _menhir_env ->
24312 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24313 let {
24314 MenhirLib.EngineTypes.state = _menhir_s;
24315 MenhirLib.EngineTypes.semv = _1;
24316 MenhirLib.EngineTypes.startp = _startpos__1_;
24317 MenhirLib.EngineTypes.endp = _endpos__1_;
24318 MenhirLib.EngineTypes.next = _menhir_stack;
24319 } = _menhir_stack in
24320 let _1 : (
24321 # 67 "parser_cocci_menhir.mly"
24322 (Parse_aux.typed_info)
24323 # 24324 "parser_cocci_menhir.ml"
24324 ) = Obj.magic _1 in
24325 let _startpos = _startpos__1_ in
24326 let _endpos = _endpos__1_ in
24327 let _v : 'tv_primary_expr_expr_invalid_ =
24328 # 1362 "parser_cocci_menhir.mly"
24329 ( let (nm,constraints,pure,ty,clt) = _1 in
24330 Ast0.wrap
24331 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
24332 # 24333 "parser_cocci_menhir.ml"
24333 in
24334 _menhir_env.MenhirLib.EngineTypes.stack <- {
24335 MenhirLib.EngineTypes.state = _menhir_s;
24336 MenhirLib.EngineTypes.semv = Obj.repr _v;
24337 MenhirLib.EngineTypes.startp = _startpos;
24338 MenhirLib.EngineTypes.endp = _endpos;
24339 MenhirLib.EngineTypes.next = _menhir_stack;
24340 });
24341 (fun _menhir_env ->
24342 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24343 let {
24344 MenhirLib.EngineTypes.state = _menhir_s;
24345 MenhirLib.EngineTypes.semv = _1;
24346 MenhirLib.EngineTypes.startp = _startpos__1_;
24347 MenhirLib.EngineTypes.endp = _endpos__1_;
24348 MenhirLib.EngineTypes.next = _menhir_stack;
24349 } = _menhir_stack in
24350 let _1 : (
24351 # 67 "parser_cocci_menhir.mly"
24352 (Parse_aux.typed_info)
24353 # 24354 "parser_cocci_menhir.ml"
24354 ) = Obj.magic _1 in
24355 let _startpos = _startpos__1_ in
24356 let _endpos = _endpos__1_ in
24357 let _v : 'tv_primary_expr_expr_invalid_ =
24358 # 1366 "parser_cocci_menhir.mly"
24359 ( let (nm,constraints,pure,ty,clt) = _1 in
24360 Ast0.wrap
24361 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
24362 # 24363 "parser_cocci_menhir.ml"
24363 in
24364 _menhir_env.MenhirLib.EngineTypes.stack <- {
24365 MenhirLib.EngineTypes.state = _menhir_s;
24366 MenhirLib.EngineTypes.semv = Obj.repr _v;
24367 MenhirLib.EngineTypes.startp = _startpos;
24368 MenhirLib.EngineTypes.endp = _endpos;
24369 MenhirLib.EngineTypes.next = _menhir_stack;
24370 });
24371 (fun _menhir_env ->
24372 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24373 let {
24374 MenhirLib.EngineTypes.state = _menhir_s;
24375 MenhirLib.EngineTypes.semv = _1;
24376 MenhirLib.EngineTypes.startp = _startpos__1_;
24377 MenhirLib.EngineTypes.endp = _endpos__1_;
24378 MenhirLib.EngineTypes.next = _menhir_stack;
24379 } = _menhir_stack in
24380 let _1 : (
24381 # 67 "parser_cocci_menhir.mly"
24382 (Parse_aux.typed_info)
24383 # 24384 "parser_cocci_menhir.ml"
24384 ) = Obj.magic _1 in
24385 let _startpos = _startpos__1_ in
24386 let _endpos = _endpos__1_ in
24387 let _v : 'tv_primary_expr_expr_invalid_ =
24388 # 1370 "parser_cocci_menhir.mly"
24389 ( let (nm,constraints,pure,ty,clt) = _1 in
24390 Ast0.wrap
24391 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
24392 # 24393 "parser_cocci_menhir.ml"
24393 in
24394 _menhir_env.MenhirLib.EngineTypes.stack <- {
24395 MenhirLib.EngineTypes.state = _menhir_s;
24396 MenhirLib.EngineTypes.semv = Obj.repr _v;
24397 MenhirLib.EngineTypes.startp = _startpos;
24398 MenhirLib.EngineTypes.endp = _endpos;
24399 MenhirLib.EngineTypes.next = _menhir_stack;
24400 });
24401 (fun _menhir_env ->
24402 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24403 let {
24404 MenhirLib.EngineTypes.semv = _3;
24405 MenhirLib.EngineTypes.startp = _startpos__3_;
24406 MenhirLib.EngineTypes.endp = _endpos__3_;
24407 MenhirLib.EngineTypes.next = {
24408 MenhirLib.EngineTypes.semv = _2;
24409 MenhirLib.EngineTypes.startp = _startpos__2_;
24410 MenhirLib.EngineTypes.endp = _endpos__2_;
24411 MenhirLib.EngineTypes.next = {
24412 MenhirLib.EngineTypes.state = _menhir_s;
24413 MenhirLib.EngineTypes.semv = _1;
24414 MenhirLib.EngineTypes.startp = _startpos__1_;
24415 MenhirLib.EngineTypes.endp = _endpos__1_;
24416 MenhirLib.EngineTypes.next = _menhir_stack;
24417 };
24418 };
24419 } = _menhir_stack in
24420 let _3 : (
24421 # 77 "parser_cocci_menhir.mly"
24422 (Data.clt)
24423 # 24424 "parser_cocci_menhir.ml"
24424 ) = Obj.magic _3 in
24425 let _2 : 'tv_eexpr = Obj.magic _2 in
24426 let _1 : (
24427 # 76 "parser_cocci_menhir.mly"
24428 (Data.clt)
24429 # 24430 "parser_cocci_menhir.ml"
24430 ) = Obj.magic _1 in
24431 let _startpos = _startpos__1_ in
24432 let _endpos = _endpos__3_ in
24433 let _v : 'tv_primary_expr_expr_invalid_ =
24434 # 1374 "parser_cocci_menhir.mly"
24435 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
24436 P.clt2mcode ")" _3)) )
24437 # 24438 "parser_cocci_menhir.ml"
24438 in
24439 _menhir_env.MenhirLib.EngineTypes.stack <- {
24440 MenhirLib.EngineTypes.state = _menhir_s;
24441 MenhirLib.EngineTypes.semv = Obj.repr _v;
24442 MenhirLib.EngineTypes.startp = _startpos;
24443 MenhirLib.EngineTypes.endp = _endpos;
24444 MenhirLib.EngineTypes.next = _menhir_stack;
24445 });
24446 (fun _menhir_env ->
24447 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24448 let {
24449 MenhirLib.EngineTypes.semv = _3;
24450 MenhirLib.EngineTypes.startp = _startpos__3_;
24451 MenhirLib.EngineTypes.endp = _endpos__3_;
24452 MenhirLib.EngineTypes.next = {
24453 MenhirLib.EngineTypes.semv = _2;
24454 MenhirLib.EngineTypes.startp = _startpos__2_;
24455 MenhirLib.EngineTypes.endp = _endpos__2_;
24456 MenhirLib.EngineTypes.next = {
24457 MenhirLib.EngineTypes.state = _menhir_s;
24458 MenhirLib.EngineTypes.semv = _1;
24459 MenhirLib.EngineTypes.startp = _startpos__1_;
24460 MenhirLib.EngineTypes.endp = _endpos__1_;
24461 MenhirLib.EngineTypes.next = _menhir_stack;
24462 };
24463 };
24464 } = _menhir_stack in
24465 let _3 : (
24466 # 77 "parser_cocci_menhir.mly"
24467 (Data.clt)
24468 # 24469 "parser_cocci_menhir.ml"
24469 ) = Obj.magic _3 in
24470 let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in
24471 let _1 : (
24472 # 76 "parser_cocci_menhir.mly"
24473 (Data.clt)
24474 # 24475 "parser_cocci_menhir.ml"
24475 ) = Obj.magic _1 in
24476 let _startpos = _startpos__1_ in
24477 let _endpos = _endpos__3_ in
24478 let _v : 'tv_primary_expr_expr_invalid_ =
24479 # 1377 "parser_cocci_menhir.mly"
24480 ( let (mids,code) = _2 in
24481 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
24482 code, mids,
24483 P.clt2mcode ")" _3)) )
24484 # 24485 "parser_cocci_menhir.ml"
24485 in
24486 _menhir_env.MenhirLib.EngineTypes.stack <- {
24487 MenhirLib.EngineTypes.state = _menhir_s;
24488 MenhirLib.EngineTypes.semv = Obj.repr _v;
24489 MenhirLib.EngineTypes.startp = _startpos;
24490 MenhirLib.EngineTypes.endp = _endpos;
24491 MenhirLib.EngineTypes.next = _menhir_stack;
24492 });
24493 (fun _menhir_env ->
24494 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24495 let {
24496 MenhirLib.EngineTypes.state = _menhir_s;
24497 MenhirLib.EngineTypes.semv = _1;
24498 MenhirLib.EngineTypes.startp = _startpos__1_;
24499 MenhirLib.EngineTypes.endp = _endpos__1_;
24500 MenhirLib.EngineTypes.next = _menhir_stack;
24501 } = _menhir_stack in
24502 let _1 : 'tv_invalid = Obj.magic _1 in
24503 let _startpos = _startpos__1_ in
24504 let _endpos = _endpos__1_ in
24505 let _v : 'tv_primary_expr_expr_invalid_ =
24506 # 1381 "parser_cocci_menhir.mly"
24507 ( _1 )
24508 # 24509 "parser_cocci_menhir.ml"
24509 in
24510 _menhir_env.MenhirLib.EngineTypes.stack <- {
24511 MenhirLib.EngineTypes.state = _menhir_s;
24512 MenhirLib.EngineTypes.semv = Obj.repr _v;
24513 MenhirLib.EngineTypes.startp = _startpos;
24514 MenhirLib.EngineTypes.endp = _endpos;
24515 MenhirLib.EngineTypes.next = _menhir_stack;
24516 });
24517 (fun _menhir_env ->
24518 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24519 let {
24520 MenhirLib.EngineTypes.state = _menhir_s;
24521 MenhirLib.EngineTypes.startp = _startpos__1_;
24522 MenhirLib.EngineTypes.endp = _endpos__1_;
24523 MenhirLib.EngineTypes.next = _menhir_stack;
24524 } = _menhir_stack in
24525 let _startpos = _startpos__1_ in
24526 let _endpos = _endpos__1_ in
24527 let _v : 'tv_pure =
24528 # 190 "parser_cocci_menhir.mly"
24529 ( Ast0.Pure )
24530 # 24531 "parser_cocci_menhir.ml"
24531 in
24532 _menhir_env.MenhirLib.EngineTypes.stack <- {
24533 MenhirLib.EngineTypes.state = _menhir_s;
24534 MenhirLib.EngineTypes.semv = Obj.repr _v;
24535 MenhirLib.EngineTypes.startp = _startpos;
24536 MenhirLib.EngineTypes.endp = _endpos;
24537 MenhirLib.EngineTypes.next = _menhir_stack;
24538 });
24539 (fun _menhir_env ->
24540 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24541 let {
24542 MenhirLib.EngineTypes.state = _menhir_s;
24543 MenhirLib.EngineTypes.startp = _startpos__1_;
24544 MenhirLib.EngineTypes.endp = _endpos__1_;
24545 MenhirLib.EngineTypes.next = _menhir_stack;
24546 } = _menhir_stack in
24547 let _startpos = _startpos__1_ in
24548 let _endpos = _endpos__1_ in
24549 let _v : 'tv_pure =
24550 # 191 "parser_cocci_menhir.mly"
24551 ( Ast0.Context )
24552 # 24553 "parser_cocci_menhir.ml"
24553 in
24554 _menhir_env.MenhirLib.EngineTypes.stack <- {
24555 MenhirLib.EngineTypes.state = _menhir_s;
24556 MenhirLib.EngineTypes.semv = Obj.repr _v;
24557 MenhirLib.EngineTypes.startp = _startpos;
24558 MenhirLib.EngineTypes.endp = _endpos;
24559 MenhirLib.EngineTypes.next = _menhir_stack;
24560 });
24561 (fun _menhir_env ->
24562 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24563 let {
24564 MenhirLib.EngineTypes.startp = _startpos__2_;
24565 MenhirLib.EngineTypes.endp = _endpos__2_;
24566 MenhirLib.EngineTypes.next = {
24567 MenhirLib.EngineTypes.state = _menhir_s;
24568 MenhirLib.EngineTypes.startp = _startpos__1_;
24569 MenhirLib.EngineTypes.endp = _endpos__1_;
24570 MenhirLib.EngineTypes.next = _menhir_stack;
24571 };
24572 } = _menhir_stack in
24573 let _startpos = _startpos__1_ in
24574 let _endpos = _endpos__2_ in
24575 let _v : 'tv_pure =
24576 # 192 "parser_cocci_menhir.mly"
24577 ( Ast0.PureContext )
24578 # 24579 "parser_cocci_menhir.ml"
24579 in
24580 _menhir_env.MenhirLib.EngineTypes.stack <- {
24581 MenhirLib.EngineTypes.state = _menhir_s;
24582 MenhirLib.EngineTypes.semv = Obj.repr _v;
24583 MenhirLib.EngineTypes.startp = _startpos;
24584 MenhirLib.EngineTypes.endp = _endpos;
24585 MenhirLib.EngineTypes.next = _menhir_stack;
24586 });
24587 (fun _menhir_env ->
24588 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24589 let {
24590 MenhirLib.EngineTypes.startp = _startpos__2_;
24591 MenhirLib.EngineTypes.endp = _endpos__2_;
24592 MenhirLib.EngineTypes.next = {
24593 MenhirLib.EngineTypes.state = _menhir_s;
24594 MenhirLib.EngineTypes.startp = _startpos__1_;
24595 MenhirLib.EngineTypes.endp = _endpos__1_;
24596 MenhirLib.EngineTypes.next = _menhir_stack;
24597 };
24598 } = _menhir_stack in
24599 let _startpos = _startpos__1_ in
24600 let _endpos = _endpos__2_ in
24601 let _v : 'tv_pure =
24602 # 193 "parser_cocci_menhir.mly"
24603 ( Ast0.PureContext )
24604 # 24605 "parser_cocci_menhir.ml"
24605 in
24606 _menhir_env.MenhirLib.EngineTypes.stack <- {
24607 MenhirLib.EngineTypes.state = _menhir_s;
24608 MenhirLib.EngineTypes.semv = Obj.repr _v;
24609 MenhirLib.EngineTypes.startp = _startpos;
24610 MenhirLib.EngineTypes.endp = _endpos;
24611 MenhirLib.EngineTypes.next = _menhir_stack;
24612 });
24613 (fun _menhir_env ->
24614 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24615 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
24616 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
24617 let _endpos = _startpos in
24618 let _v : 'tv_pure =
24619 # 194 "parser_cocci_menhir.mly"
24620 ( Ast0.Impure )
24621 # 24622 "parser_cocci_menhir.ml"
24622 in
24623 _menhir_env.MenhirLib.EngineTypes.stack <- {
24624 MenhirLib.EngineTypes.state = _menhir_s;
24625 MenhirLib.EngineTypes.semv = Obj.repr _v;
24626 MenhirLib.EngineTypes.startp = _startpos;
24627 MenhirLib.EngineTypes.endp = _endpos;
24628 MenhirLib.EngineTypes.next = _menhir_stack;
24629 });
24630 (fun _menhir_env ->
24631 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24632 let {
24633 MenhirLib.EngineTypes.state = _menhir_s;
24634 MenhirLib.EngineTypes.semv = _1;
24635 MenhirLib.EngineTypes.startp = _startpos__1_;
24636 MenhirLib.EngineTypes.endp = _endpos__1_;
24637 MenhirLib.EngineTypes.next = _menhir_stack;
24638 } = _menhir_stack in
24639 let _1 : (
24640 # 59 "parser_cocci_menhir.mly"
24641 (string * Data.clt)
24642 # 24643 "parser_cocci_menhir.ml"
24643 ) = Obj.magic _1 in
24644 let _startpos = _startpos__1_ in
24645 let _endpos = _endpos__1_ in
24646 let _v : 'tv_pure_ident =
24647 # 1395 "parser_cocci_menhir.mly"
24648 ( _1 )
24649 # 24650 "parser_cocci_menhir.ml"
24650 in
24651 _menhir_env.MenhirLib.EngineTypes.stack <- {
24652 MenhirLib.EngineTypes.state = _menhir_s;
24653 MenhirLib.EngineTypes.semv = Obj.repr _v;
24654 MenhirLib.EngineTypes.startp = _startpos;
24655 MenhirLib.EngineTypes.endp = _endpos;
24656 MenhirLib.EngineTypes.next = _menhir_stack;
24657 });
24658 (fun _menhir_env ->
24659 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24660 let {
24661 MenhirLib.EngineTypes.state = _menhir_s;
24662 MenhirLib.EngineTypes.semv = _1;
24663 MenhirLib.EngineTypes.startp = _startpos__1_;
24664 MenhirLib.EngineTypes.endp = _endpos__1_;
24665 MenhirLib.EngineTypes.next = _menhir_stack;
24666 } = _menhir_stack in
24667 let _1 : 'tv_pure_ident = Obj.magic _1 in
24668 let _startpos = _startpos__1_ in
24669 let _endpos = _endpos__1_ in
24670 let _v : 'tv_pure_ident_or_meta_ident =
24671 # 1401 "parser_cocci_menhir.mly"
24672 ( (None,P.id2name _1) )
24673 # 24674 "parser_cocci_menhir.ml"
24674 in
24675 _menhir_env.MenhirLib.EngineTypes.stack <- {
24676 MenhirLib.EngineTypes.state = _menhir_s;
24677 MenhirLib.EngineTypes.semv = Obj.repr _v;
24678 MenhirLib.EngineTypes.startp = _startpos;
24679 MenhirLib.EngineTypes.endp = _endpos;
24680 MenhirLib.EngineTypes.next = _menhir_stack;
24681 });
24682 (fun _menhir_env ->
24683 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24684 let {
24685 MenhirLib.EngineTypes.state = _menhir_s;
24686 MenhirLib.EngineTypes.semv = _1;
24687 MenhirLib.EngineTypes.startp = _startpos__1_;
24688 MenhirLib.EngineTypes.endp = _endpos__1_;
24689 MenhirLib.EngineTypes.next = _menhir_stack;
24690 } = _menhir_stack in
24691 let _1 : 'tv_meta_ident = Obj.magic _1 in
24692 let _startpos = _startpos__1_ in
24693 let _endpos = _endpos__1_ in
24694 let _v : 'tv_pure_ident_or_meta_ident =
24695 # 1402 "parser_cocci_menhir.mly"
24696 ( _1 )
24697 # 24698 "parser_cocci_menhir.ml"
24698 in
24699 _menhir_env.MenhirLib.EngineTypes.stack <- {
24700 MenhirLib.EngineTypes.state = _menhir_s;
24701 MenhirLib.EngineTypes.semv = Obj.repr _v;
24702 MenhirLib.EngineTypes.startp = _startpos;
24703 MenhirLib.EngineTypes.endp = _endpos;
24704 MenhirLib.EngineTypes.next = _menhir_stack;
24705 });
24706 (fun _menhir_env ->
24707 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24708 let {
24709 MenhirLib.EngineTypes.state = _menhir_s;
24710 MenhirLib.EngineTypes.startp = _startpos__1_;
24711 MenhirLib.EngineTypes.endp = _endpos__1_;
24712 MenhirLib.EngineTypes.next = _menhir_stack;
24713 } = _menhir_stack in
24714 let _startpos = _startpos__1_ in
24715 let _endpos = _endpos__1_ in
24716 let _v : 'tv_pure_ident_or_meta_ident =
24717 # 1403 "parser_cocci_menhir.mly"
24718 ( (None,"list") )
24719 # 24720 "parser_cocci_menhir.ml"
24720 in
24721 _menhir_env.MenhirLib.EngineTypes.stack <- {
24722 MenhirLib.EngineTypes.state = _menhir_s;
24723 MenhirLib.EngineTypes.semv = Obj.repr _v;
24724 MenhirLib.EngineTypes.startp = _startpos;
24725 MenhirLib.EngineTypes.endp = _endpos;
24726 MenhirLib.EngineTypes.next = _menhir_stack;
24727 });
24728 (fun _menhir_env ->
24729 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24730 let {
24731 MenhirLib.EngineTypes.state = _menhir_s;
24732 MenhirLib.EngineTypes.startp = _startpos__1_;
24733 MenhirLib.EngineTypes.endp = _endpos__1_;
24734 MenhirLib.EngineTypes.next = _menhir_stack;
24735 } = _menhir_stack in
24736 let _startpos = _startpos__1_ in
24737 let _endpos = _endpos__1_ in
24738 let _v : 'tv_pure_ident_or_meta_ident =
24739 # 1404 "parser_cocci_menhir.mly"
24740 ( (None,"error") )
24741 # 24742 "parser_cocci_menhir.ml"
24742 in
24743 _menhir_env.MenhirLib.EngineTypes.stack <- {
24744 MenhirLib.EngineTypes.state = _menhir_s;
24745 MenhirLib.EngineTypes.semv = Obj.repr _v;
24746 MenhirLib.EngineTypes.startp = _startpos;
24747 MenhirLib.EngineTypes.endp = _endpos;
24748 MenhirLib.EngineTypes.next = _menhir_stack;
24749 });
24750 (fun _menhir_env ->
24751 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24752 let {
24753 MenhirLib.EngineTypes.state = _menhir_s;
24754 MenhirLib.EngineTypes.startp = _startpos__1_;
24755 MenhirLib.EngineTypes.endp = _endpos__1_;
24756 MenhirLib.EngineTypes.next = _menhir_stack;
24757 } = _menhir_stack in
24758 let _startpos = _startpos__1_ in
24759 let _endpos = _endpos__1_ in
24760 let _v : 'tv_pure_ident_or_meta_ident =
24761 # 1405 "parser_cocci_menhir.mly"
24762 ( (None,"type") )
24763 # 24764 "parser_cocci_menhir.ml"
24764 in
24765 _menhir_env.MenhirLib.EngineTypes.stack <- {
24766 MenhirLib.EngineTypes.state = _menhir_s;
24767 MenhirLib.EngineTypes.semv = Obj.repr _v;
24768 MenhirLib.EngineTypes.startp = _startpos;
24769 MenhirLib.EngineTypes.endp = _endpos;
24770 MenhirLib.EngineTypes.next = _menhir_stack;
24771 });
24772 (fun _menhir_env ->
24773 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24774 let {
24775 MenhirLib.EngineTypes.state = _menhir_s;
24776 MenhirLib.EngineTypes.startp = _startpos__1_;
24777 MenhirLib.EngineTypes.endp = _endpos__1_;
24778 MenhirLib.EngineTypes.next = _menhir_stack;
24779 } = _menhir_stack in
24780 let _startpos = _startpos__1_ in
24781 let _endpos = _endpos__1_ in
24782 let _v : 'tv_pure_ident_or_meta_ident =
24783 # 1406 "parser_cocci_menhir.mly"
24784 ( (None,"name") )
24785 # 24786 "parser_cocci_menhir.ml"
24786 in
24787 _menhir_env.MenhirLib.EngineTypes.stack <- {
24788 MenhirLib.EngineTypes.state = _menhir_s;
24789 MenhirLib.EngineTypes.semv = Obj.repr _v;
24790 MenhirLib.EngineTypes.startp = _startpos;
24791 MenhirLib.EngineTypes.endp = _endpos;
24792 MenhirLib.EngineTypes.next = _menhir_stack;
24793 });
24794 (fun _menhir_env ->
24795 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24796 let {
24797 MenhirLib.EngineTypes.semv = l;
24798 MenhirLib.EngineTypes.startp = _startpos_l_;
24799 MenhirLib.EngineTypes.endp = _endpos_l_;
24800 MenhirLib.EngineTypes.next = {
24801 MenhirLib.EngineTypes.state = _menhir_s;
24802 MenhirLib.EngineTypes.semv = i;
24803 MenhirLib.EngineTypes.startp = _startpos_i_;
24804 MenhirLib.EngineTypes.endp = _endpos_i_;
24805 MenhirLib.EngineTypes.next = _menhir_stack;
24806 };
24807 } = _menhir_stack in
24808 let l : 'tv_loption_not_ceq_ = Obj.magic l in
24809 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
24810 let _startpos = _startpos_i_ in
24811 let _endpos = _endpos_l_ in
24812 let _v : 'tv_pure_ident_or_meta_ident_with_not_eq_not_ceq_ =
24813 # 1413 "parser_cocci_menhir.mly"
24814 ( (i,l) )
24815 # 24816 "parser_cocci_menhir.ml"
24816 in
24817 _menhir_env.MenhirLib.EngineTypes.stack <- {
24818 MenhirLib.EngineTypes.state = _menhir_s;
24819 MenhirLib.EngineTypes.semv = Obj.repr _v;
24820 MenhirLib.EngineTypes.startp = _startpos;
24821 MenhirLib.EngineTypes.endp = _endpos;
24822 MenhirLib.EngineTypes.next = _menhir_stack;
24823 });
24824 (fun _menhir_env ->
24825 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24826 let {
24827 MenhirLib.EngineTypes.semv = l;
24828 MenhirLib.EngineTypes.startp = _startpos_l_;
24829 MenhirLib.EngineTypes.endp = _endpos_l_;
24830 MenhirLib.EngineTypes.next = {
24831 MenhirLib.EngineTypes.state = _menhir_s;
24832 MenhirLib.EngineTypes.semv = i;
24833 MenhirLib.EngineTypes.startp = _startpos_i_;
24834 MenhirLib.EngineTypes.endp = _endpos_i_;
24835 MenhirLib.EngineTypes.next = _menhir_stack;
24836 };
24837 } = _menhir_stack in
24838 let l : 'tv_loption_not_eq_ = Obj.magic l in
24839 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
24840 let _startpos = _startpos_i_ in
24841 let _endpos = _endpos_l_ in
24842 let _v : 'tv_pure_ident_or_meta_ident_with_not_eq_not_eq_ =
24843 # 1413 "parser_cocci_menhir.mly"
24844 ( (i,l) )
24845 # 24846 "parser_cocci_menhir.ml"
24846 in
24847 _menhir_env.MenhirLib.EngineTypes.stack <- {
24848 MenhirLib.EngineTypes.state = _menhir_s;
24849 MenhirLib.EngineTypes.semv = Obj.repr _v;
24850 MenhirLib.EngineTypes.startp = _startpos;
24851 MenhirLib.EngineTypes.endp = _endpos;
24852 MenhirLib.EngineTypes.next = _menhir_stack;
24853 });
24854 (fun _menhir_env ->
24855 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24856 let {
24857 MenhirLib.EngineTypes.semv = l;
24858 MenhirLib.EngineTypes.startp = _startpos_l_;
24859 MenhirLib.EngineTypes.endp = _endpos_l_;
24860 MenhirLib.EngineTypes.next = {
24861 MenhirLib.EngineTypes.state = _menhir_s;
24862 MenhirLib.EngineTypes.semv = i;
24863 MenhirLib.EngineTypes.startp = _startpos_i_;
24864 MenhirLib.EngineTypes.endp = _endpos_i_;
24865 MenhirLib.EngineTypes.next = _menhir_stack;
24866 };
24867 } = _menhir_stack in
24868 let l : 'tv_loption_not_eqe_ = Obj.magic l in
24869 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
24870 let _startpos = _startpos_i_ in
24871 let _endpos = _endpos_l_ in
24872 let _v : 'tv_pure_ident_or_meta_ident_with_not_eq_not_eqe_ =
24873 # 1413 "parser_cocci_menhir.mly"
24874 ( (i,l) )
24875 # 24876 "parser_cocci_menhir.ml"
24876 in
24877 _menhir_env.MenhirLib.EngineTypes.stack <- {
24878 MenhirLib.EngineTypes.state = _menhir_s;
24879 MenhirLib.EngineTypes.semv = Obj.repr _v;
24880 MenhirLib.EngineTypes.startp = _startpos;
24881 MenhirLib.EngineTypes.endp = _endpos;
24882 MenhirLib.EngineTypes.next = _menhir_stack;
24883 });
24884 (fun _menhir_env ->
24885 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24886 let {
24887 MenhirLib.EngineTypes.semv = l;
24888 MenhirLib.EngineTypes.startp = _startpos_l_;
24889 MenhirLib.EngineTypes.endp = _endpos_l_;
24890 MenhirLib.EngineTypes.next = {
24891 MenhirLib.EngineTypes.state = _menhir_s;
24892 MenhirLib.EngineTypes.semv = i;
24893 MenhirLib.EngineTypes.startp = _startpos_i_;
24894 MenhirLib.EngineTypes.endp = _endpos_i_;
24895 MenhirLib.EngineTypes.next = _menhir_stack;
24896 };
24897 } = _menhir_stack in
24898 let l : 'tv_loption_not_pos_ = Obj.magic l in
24899 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
24900 let _startpos = _startpos_i_ in
24901 let _endpos = _endpos_l_ in
24902 let _v : 'tv_pure_ident_or_meta_ident_with_not_eq_not_pos_ =
24903 # 1413 "parser_cocci_menhir.mly"
24904 ( (i,l) )
24905 # 24906 "parser_cocci_menhir.ml"
24906 in
24907 _menhir_env.MenhirLib.EngineTypes.stack <- {
24908 MenhirLib.EngineTypes.state = _menhir_s;
24909 MenhirLib.EngineTypes.semv = Obj.repr _v;
24910 MenhirLib.EngineTypes.startp = _startpos;
24911 MenhirLib.EngineTypes.endp = _endpos;
24912 MenhirLib.EngineTypes.next = _menhir_stack;
24913 });
24914 (fun _menhir_env ->
24915 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24916 let {
24917 MenhirLib.EngineTypes.state = _menhir_s;
24918 MenhirLib.EngineTypes.semv = _1;
24919 MenhirLib.EngineTypes.startp = _startpos__1_;
24920 MenhirLib.EngineTypes.endp = _endpos__1_;
24921 MenhirLib.EngineTypes.next = _menhir_stack;
24922 } = _menhir_stack in
24923 let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
24924 let _startpos = _startpos__1_ in
24925 let _endpos = _endpos__1_ in
24926 let _v : 'tv_pure_ident_or_meta_ident_with_seed =
24927 # 1409 "parser_cocci_menhir.mly"
24928 ( (_1,None) )
24929 # 24930 "parser_cocci_menhir.ml"
24930 in
24931 _menhir_env.MenhirLib.EngineTypes.stack <- {
24932 MenhirLib.EngineTypes.state = _menhir_s;
24933 MenhirLib.EngineTypes.semv = Obj.repr _v;
24934 MenhirLib.EngineTypes.startp = _startpos;
24935 MenhirLib.EngineTypes.endp = _endpos;
24936 MenhirLib.EngineTypes.next = _menhir_stack;
24937 });
24938 (fun _menhir_env ->
24939 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24940 let {
24941 MenhirLib.EngineTypes.semv = s;
24942 MenhirLib.EngineTypes.startp = _startpos_s_;
24943 MenhirLib.EngineTypes.endp = _endpos_s_;
24944 MenhirLib.EngineTypes.next = {
24945 MenhirLib.EngineTypes.startp = _startpos__2_;
24946 MenhirLib.EngineTypes.endp = _endpos__2_;
24947 MenhirLib.EngineTypes.next = {
24948 MenhirLib.EngineTypes.state = _menhir_s;
24949 MenhirLib.EngineTypes.semv = _1;
24950 MenhirLib.EngineTypes.startp = _startpos__1_;
24951 MenhirLib.EngineTypes.endp = _endpos__1_;
24952 MenhirLib.EngineTypes.next = _menhir_stack;
24953 };
24954 };
24955 } = _menhir_stack in
24956 let s : (
24957 # 87 "parser_cocci_menhir.mly"
24958 (string * Data.clt)
24959 # 24960 "parser_cocci_menhir.ml"
24960 ) = Obj.magic s in
24961 let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
24962 let _startpos = _startpos__1_ in
24963 let _endpos = _endpos_s_ in
24964 let _v : 'tv_pure_ident_or_meta_ident_with_seed =
24965 # 1410 "parser_cocci_menhir.mly"
24966 ( (_1,Some (P.id2name s)) )
24967 # 24968 "parser_cocci_menhir.ml"
24968 in
24969 _menhir_env.MenhirLib.EngineTypes.stack <- {
24970 MenhirLib.EngineTypes.state = _menhir_s;
24971 MenhirLib.EngineTypes.semv = Obj.repr _v;
24972 MenhirLib.EngineTypes.startp = _startpos;
24973 MenhirLib.EngineTypes.endp = _endpos;
24974 MenhirLib.EngineTypes.next = _menhir_stack;
24975 });
24976 (fun _menhir_env ->
24977 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24978 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
24979 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
24980 let _endpos = _startpos in
24981 let _v : (
24982 # 131 "parser_cocci_menhir.mly"
24983 (unit)
24984 # 24985 "parser_cocci_menhir.ml"
24985 ) =
24986 # 172 "parser_cocci_menhir.mly"
24987 ( )
24988 # 24989 "parser_cocci_menhir.ml"
24989 in
24990 _menhir_env.MenhirLib.EngineTypes.stack <- {
24991 MenhirLib.EngineTypes.state = _menhir_s;
24992 MenhirLib.EngineTypes.semv = Obj.repr _v;
24993 MenhirLib.EngineTypes.startp = _startpos;
24994 MenhirLib.EngineTypes.endp = _endpos;
24995 MenhirLib.EngineTypes.next = _menhir_stack;
24996 });
24997 (fun _menhir_env ->
24998 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24999 let {
25000 MenhirLib.EngineTypes.state = _menhir_s;
25001 MenhirLib.EngineTypes.semv = _1;
25002 MenhirLib.EngineTypes.startp = _startpos__1_;
25003 MenhirLib.EngineTypes.endp = _endpos__1_;
25004 MenhirLib.EngineTypes.next = _menhir_stack;
25005 } = _menhir_stack in
25006 let _1 : 'tv_one_decl_var = Obj.magic _1 in
25007 let _startpos = _startpos__1_ in
25008 let _endpos = _endpos__1_ in
25009 let _v : 'tv_rule_elem_statement =
25010 # 915 "parser_cocci_menhir.mly"
25011 ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) )
25012 # 25013 "parser_cocci_menhir.ml"
25013 in
25014 _menhir_env.MenhirLib.EngineTypes.stack <- {
25015 MenhirLib.EngineTypes.state = _menhir_s;
25016 MenhirLib.EngineTypes.semv = Obj.repr _v;
25017 MenhirLib.EngineTypes.startp = _startpos;
25018 MenhirLib.EngineTypes.endp = _endpos;
25019 MenhirLib.EngineTypes.next = _menhir_stack;
25020 });
25021 (fun _menhir_env ->
25022 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25023 let {
25024 MenhirLib.EngineTypes.semv = _2;
25025 MenhirLib.EngineTypes.startp = _startpos__2_;
25026 MenhirLib.EngineTypes.endp = _endpos__2_;
25027 MenhirLib.EngineTypes.next = {
25028 MenhirLib.EngineTypes.state = _menhir_s;
25029 MenhirLib.EngineTypes.semv = _1;
25030 MenhirLib.EngineTypes.startp = _startpos__1_;
25031 MenhirLib.EngineTypes.endp = _endpos__1_;
25032 MenhirLib.EngineTypes.next = _menhir_stack;
25033 };
25034 } = _menhir_stack in
25035 let _2 : (
25036 # 107 "parser_cocci_menhir.mly"
25037 (Data.clt)
25038 # 25039 "parser_cocci_menhir.ml"
25039 ) = Obj.magic _2 in
25040 let _1 : 'tv_expr = Obj.magic _1 in
25041 let _startpos = _startpos__1_ in
25042 let _endpos = _endpos__2_ in
25043 let _v : 'tv_rule_elem_statement =
25044 # 916 "parser_cocci_menhir.mly"
25045 ( P.exp_stm _1 _2 )
25046 # 25047 "parser_cocci_menhir.ml"
25047 in
25048 _menhir_env.MenhirLib.EngineTypes.stack <- {
25049 MenhirLib.EngineTypes.state = _menhir_s;
25050 MenhirLib.EngineTypes.semv = Obj.repr _v;
25051 MenhirLib.EngineTypes.startp = _startpos;
25052 MenhirLib.EngineTypes.endp = _endpos;
25053 MenhirLib.EngineTypes.next = _menhir_stack;
25054 });
25055 (fun _menhir_env ->
25056 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25057 let {
25058 MenhirLib.EngineTypes.semv = _3;
25059 MenhirLib.EngineTypes.startp = _startpos__3_;
25060 MenhirLib.EngineTypes.endp = _endpos__3_;
25061 MenhirLib.EngineTypes.next = {
25062 MenhirLib.EngineTypes.semv = _2;
25063 MenhirLib.EngineTypes.startp = _startpos__2_;
25064 MenhirLib.EngineTypes.endp = _endpos__2_;
25065 MenhirLib.EngineTypes.next = {
25066 MenhirLib.EngineTypes.state = _menhir_s;
25067 MenhirLib.EngineTypes.semv = _1;
25068 MenhirLib.EngineTypes.startp = _startpos__1_;
25069 MenhirLib.EngineTypes.endp = _endpos__1_;
25070 MenhirLib.EngineTypes.next = _menhir_stack;
25071 };
25072 };
25073 } = _menhir_stack in
25074 let _3 : (
25075 # 107 "parser_cocci_menhir.mly"
25076 (Data.clt)
25077 # 25078 "parser_cocci_menhir.ml"
25078 ) = Obj.magic _3 in
25079 let _2 : 'tv_eexpr = Obj.magic _2 in
25080 let _1 : (
25081 # 57 "parser_cocci_menhir.mly"
25082 (Data.clt)
25083 # 25084 "parser_cocci_menhir.ml"
25084 ) = Obj.magic _1 in
25085 let _startpos = _startpos__1_ in
25086 let _endpos = _endpos__3_ in
25087 let _v : 'tv_rule_elem_statement =
25088 # 917 "parser_cocci_menhir.mly"
25089 ( P.ret_exp _1 _2 _3 )
25090 # 25091 "parser_cocci_menhir.ml"
25091 in
25092 _menhir_env.MenhirLib.EngineTypes.stack <- {
25093 MenhirLib.EngineTypes.state = _menhir_s;
25094 MenhirLib.EngineTypes.semv = Obj.repr _v;
25095 MenhirLib.EngineTypes.startp = _startpos;
25096 MenhirLib.EngineTypes.endp = _endpos;
25097 MenhirLib.EngineTypes.next = _menhir_stack;
25098 });
25099 (fun _menhir_env ->
25100 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25101 let {
25102 MenhirLib.EngineTypes.semv = _2;
25103 MenhirLib.EngineTypes.startp = _startpos__2_;
25104 MenhirLib.EngineTypes.endp = _endpos__2_;
25105 MenhirLib.EngineTypes.next = {
25106 MenhirLib.EngineTypes.state = _menhir_s;
25107 MenhirLib.EngineTypes.semv = _1;
25108 MenhirLib.EngineTypes.startp = _startpos__1_;
25109 MenhirLib.EngineTypes.endp = _endpos__1_;
25110 MenhirLib.EngineTypes.next = _menhir_stack;
25111 };
25112 } = _menhir_stack in
25113 let _2 : (
25114 # 107 "parser_cocci_menhir.mly"
25115 (Data.clt)
25116 # 25117 "parser_cocci_menhir.ml"
25117 ) = Obj.magic _2 in
25118 let _1 : (
25119 # 57 "parser_cocci_menhir.mly"
25120 (Data.clt)
25121 # 25122 "parser_cocci_menhir.ml"
25122 ) = Obj.magic _1 in
25123 let _startpos = _startpos__1_ in
25124 let _endpos = _endpos__2_ in
25125 let _v : 'tv_rule_elem_statement =
25126 # 918 "parser_cocci_menhir.mly"
25127 ( P.ret _1 _2 )
25128 # 25129 "parser_cocci_menhir.ml"
25129 in
25130 _menhir_env.MenhirLib.EngineTypes.stack <- {
25131 MenhirLib.EngineTypes.state = _menhir_s;
25132 MenhirLib.EngineTypes.semv = Obj.repr _v;
25133 MenhirLib.EngineTypes.startp = _startpos;
25134 MenhirLib.EngineTypes.endp = _endpos;
25135 MenhirLib.EngineTypes.next = _menhir_stack;
25136 });
25137 (fun _menhir_env ->
25138 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25139 let {
25140 MenhirLib.EngineTypes.semv = _2;
25141 MenhirLib.EngineTypes.startp = _startpos__2_;
25142 MenhirLib.EngineTypes.endp = _endpos__2_;
25143 MenhirLib.EngineTypes.next = {
25144 MenhirLib.EngineTypes.state = _menhir_s;
25145 MenhirLib.EngineTypes.semv = _1;
25146 MenhirLib.EngineTypes.startp = _startpos__1_;
25147 MenhirLib.EngineTypes.endp = _endpos__1_;
25148 MenhirLib.EngineTypes.next = _menhir_stack;
25149 };
25150 } = _menhir_stack in
25151 let _2 : (
25152 # 107 "parser_cocci_menhir.mly"
25153 (Data.clt)
25154 # 25155 "parser_cocci_menhir.ml"
25155 ) = Obj.magic _2 in
25156 let _1 : (
25157 # 58 "parser_cocci_menhir.mly"
25158 (Data.clt)
25159 # 25160 "parser_cocci_menhir.ml"
25160 ) = Obj.magic _1 in
25161 let _startpos = _startpos__1_ in
25162 let _endpos = _endpos__2_ in
25163 let _v : 'tv_rule_elem_statement =
25164 # 919 "parser_cocci_menhir.mly"
25165 ( P.break _1 _2 )
25166 # 25167 "parser_cocci_menhir.ml"
25167 in
25168 _menhir_env.MenhirLib.EngineTypes.stack <- {
25169 MenhirLib.EngineTypes.state = _menhir_s;
25170 MenhirLib.EngineTypes.semv = Obj.repr _v;
25171 MenhirLib.EngineTypes.startp = _startpos;
25172 MenhirLib.EngineTypes.endp = _endpos;
25173 MenhirLib.EngineTypes.next = _menhir_stack;
25174 });
25175 (fun _menhir_env ->
25176 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25177 let {
25178 MenhirLib.EngineTypes.semv = _2;
25179 MenhirLib.EngineTypes.startp = _startpos__2_;
25180 MenhirLib.EngineTypes.endp = _endpos__2_;
25181 MenhirLib.EngineTypes.next = {
25182 MenhirLib.EngineTypes.state = _menhir_s;
25183 MenhirLib.EngineTypes.semv = _1;
25184 MenhirLib.EngineTypes.startp = _startpos__1_;
25185 MenhirLib.EngineTypes.endp = _endpos__1_;
25186 MenhirLib.EngineTypes.next = _menhir_stack;
25187 };
25188 } = _menhir_stack in
25189 let _2 : (
25190 # 107 "parser_cocci_menhir.mly"
25191 (Data.clt)
25192 # 25193 "parser_cocci_menhir.ml"
25193 ) = Obj.magic _2 in
25194 let _1 : (
25195 # 58 "parser_cocci_menhir.mly"
25196 (Data.clt)
25197 # 25198 "parser_cocci_menhir.ml"
25198 ) = Obj.magic _1 in
25199 let _startpos = _startpos__1_ in
25200 let _endpos = _endpos__2_ in
25201 let _v : 'tv_rule_elem_statement =
25202 # 920 "parser_cocci_menhir.mly"
25203 ( P.cont _1 _2 )
25204 # 25205 "parser_cocci_menhir.ml"
25205 in
25206 _menhir_env.MenhirLib.EngineTypes.stack <- {
25207 MenhirLib.EngineTypes.state = _menhir_s;
25208 MenhirLib.EngineTypes.semv = Obj.repr _v;
25209 MenhirLib.EngineTypes.startp = _startpos;
25210 MenhirLib.EngineTypes.endp = _endpos;
25211 MenhirLib.EngineTypes.next = _menhir_stack;
25212 });
25213 (fun _menhir_env ->
25214 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25215 let {
25216 MenhirLib.EngineTypes.semv = _3;
25217 MenhirLib.EngineTypes.startp = _startpos__3_;
25218 MenhirLib.EngineTypes.endp = _endpos__3_;
25219 MenhirLib.EngineTypes.next = {
25220 MenhirLib.EngineTypes.semv = _2;
25221 MenhirLib.EngineTypes.startp = _startpos__2_;
25222 MenhirLib.EngineTypes.endp = _endpos__2_;
25223 MenhirLib.EngineTypes.next = {
25224 MenhirLib.EngineTypes.state = _menhir_s;
25225 MenhirLib.EngineTypes.semv = _1;
25226 MenhirLib.EngineTypes.startp = _startpos__1_;
25227 MenhirLib.EngineTypes.endp = _endpos__1_;
25228 MenhirLib.EngineTypes.next = _menhir_stack;
25229 };
25230 };
25231 } = _menhir_stack in
25232 let _3 : (
25233 # 77 "parser_cocci_menhir.mly"
25234 (Data.clt)
25235 # 25236 "parser_cocci_menhir.ml"
25236 ) = Obj.magic _3 in
25237 let _2 : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = Obj.magic _2 in
25238 let _1 : (
25239 # 76 "parser_cocci_menhir.mly"
25240 (Data.clt)
25241 # 25242 "parser_cocci_menhir.ml"
25242 ) = Obj.magic _1 in
25243 let _startpos = _startpos__1_ in
25244 let _endpos = _endpos__3_ in
25245 let _v : 'tv_rule_elem_statement =
25246 # 922 "parser_cocci_menhir.mly"
25247 ( let (mids,code) = _2 in
25248 Ast0.wrap
25249 (Ast0.Disj(P.clt2mcode "(" _1,
25250 List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
25251 mids, P.clt2mcode ")" _3)) )
25252 # 25253 "parser_cocci_menhir.ml"
25253 in
25254 _menhir_env.MenhirLib.EngineTypes.stack <- {
25255 MenhirLib.EngineTypes.state = _menhir_s;
25256 MenhirLib.EngineTypes.semv = Obj.repr _v;
25257 MenhirLib.EngineTypes.startp = _startpos;
25258 MenhirLib.EngineTypes.endp = _endpos;
25259 MenhirLib.EngineTypes.next = _menhir_stack;
25260 });
25261 (fun _menhir_env ->
25262 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25263 let {
25264 MenhirLib.EngineTypes.startp = _startpos__7_;
25265 MenhirLib.EngineTypes.endp = _endpos__7_;
25266 MenhirLib.EngineTypes.next = {
25267 MenhirLib.EngineTypes.semv = ee;
25268 MenhirLib.EngineTypes.startp = _startpos_ee_;
25269 MenhirLib.EngineTypes.endp = _endpos_ee_;
25270 MenhirLib.EngineTypes.next = {
25271 MenhirLib.EngineTypes.semv = e;
25272 MenhirLib.EngineTypes.startp = _startpos_e_;
25273 MenhirLib.EngineTypes.endp = _endpos_e_;
25274 MenhirLib.EngineTypes.next = {
25275 MenhirLib.EngineTypes.semv = a;
25276 MenhirLib.EngineTypes.startp = _startpos_a_;
25277 MenhirLib.EngineTypes.endp = _endpos_a_;
25278 MenhirLib.EngineTypes.next = {
25279 MenhirLib.EngineTypes.semv = i;
25280 MenhirLib.EngineTypes.startp = _startpos_i_;
25281 MenhirLib.EngineTypes.endp = _endpos_i_;
25282 MenhirLib.EngineTypes.next = {
25283 MenhirLib.EngineTypes.semv = d;
25284 MenhirLib.EngineTypes.startp = _startpos_d_;
25285 MenhirLib.EngineTypes.endp = _endpos_d_;
25286 MenhirLib.EngineTypes.next = {
25287 MenhirLib.EngineTypes.state = _menhir_s;
25288 MenhirLib.EngineTypes.startp = _startpos__1_;
25289 MenhirLib.EngineTypes.endp = _endpos__1_;
25290 MenhirLib.EngineTypes.next = _menhir_stack;
25291 };
25292 };
25293 };
25294 };
25295 };
25296 };
25297 } = _menhir_stack in
25298 let ee : 'tv_is_expression = Obj.magic ee in
25299 let e : 'tv_exists = Obj.magic e in
25300 let a : 'tv_loption_disable_ = Obj.magic a in
25301 let i : 'tv_loption_choose_iso_ = Obj.magic i in
25302 let d : 'tv_depends = Obj.magic d in
25303 let _startpos = _startpos__1_ in
25304 let _endpos = _endpos__7_ in
25305 let _v : (
25306 # 153 "parser_cocci_menhir.mly"
25307 (Ast_cocci.rulename)
25308 # 25309 "parser_cocci_menhir.ml"
25309 ) = let nm =
25310
25311 # 39 "standard.mly"
25312 ( None )
25313 # 25314 "parser_cocci_menhir.ml"
25314
25315 in
25316
25317 # 202 "parser_cocci_menhir.mly"
25318 ( P.make_cocci_rule_name_result nm d i a e ee )
25319 # 25320 "parser_cocci_menhir.ml"
25320 in
25321 _menhir_env.MenhirLib.EngineTypes.stack <- {
25322 MenhirLib.EngineTypes.state = _menhir_s;
25323 MenhirLib.EngineTypes.semv = Obj.repr _v;
25324 MenhirLib.EngineTypes.startp = _startpos;
25325 MenhirLib.EngineTypes.endp = _endpos;
25326 MenhirLib.EngineTypes.next = _menhir_stack;
25327 });
25328 (fun _menhir_env ->
25329 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25330 let {
25331 MenhirLib.EngineTypes.startp = _startpos__8_;
25332 MenhirLib.EngineTypes.endp = _endpos__8_;
25333 MenhirLib.EngineTypes.next = {
25334 MenhirLib.EngineTypes.semv = ee;
25335 MenhirLib.EngineTypes.startp = _startpos_ee_;
25336 MenhirLib.EngineTypes.endp = _endpos_ee_;
25337 MenhirLib.EngineTypes.next = {
25338 MenhirLib.EngineTypes.semv = e;
25339 MenhirLib.EngineTypes.startp = _startpos_e_;
25340 MenhirLib.EngineTypes.endp = _endpos_e_;
25341 MenhirLib.EngineTypes.next = {
25342 MenhirLib.EngineTypes.semv = a;
25343 MenhirLib.EngineTypes.startp = _startpos_a_;
25344 MenhirLib.EngineTypes.endp = _endpos_a_;
25345 MenhirLib.EngineTypes.next = {
25346 MenhirLib.EngineTypes.semv = i;
25347 MenhirLib.EngineTypes.startp = _startpos_i_;
25348 MenhirLib.EngineTypes.endp = _endpos_i_;
25349 MenhirLib.EngineTypes.next = {
25350 MenhirLib.EngineTypes.semv = d;
25351 MenhirLib.EngineTypes.startp = _startpos_d_;
25352 MenhirLib.EngineTypes.endp = _endpos_d_;
25353 MenhirLib.EngineTypes.next = {
25354 MenhirLib.EngineTypes.startp = _startpos__2_;
25355 MenhirLib.EngineTypes.endp = _endpos__2_;
25356 MenhirLib.EngineTypes.next = {
25357 MenhirLib.EngineTypes.state = _menhir_s;
25358 MenhirLib.EngineTypes.semv = x0;
25359 MenhirLib.EngineTypes.startp = _startpos_x0_;
25360 MenhirLib.EngineTypes.endp = _endpos_x0_;
25361 MenhirLib.EngineTypes.next = _menhir_stack;
25362 };
25363 };
25364 };
25365 };
25366 };
25367 };
25368 };
25369 } = _menhir_stack in
25370 let ee : 'tv_is_expression = Obj.magic ee in
25371 let e : 'tv_exists = Obj.magic e in
25372 let a : 'tv_loption_disable_ = Obj.magic a in
25373 let i : 'tv_loption_choose_iso_ = Obj.magic i in
25374 let d : 'tv_depends = Obj.magic d in
25375 let x0 : 'tv_pure_ident = Obj.magic x0 in
25376 let _startpos = _startpos_x0_ in
25377 let _endpos = _endpos__8_ in
25378 let _v : (
25379 # 153 "parser_cocci_menhir.mly"
25380 (Ast_cocci.rulename)
25381 # 25382 "parser_cocci_menhir.ml"
25382 ) = let nm =
25383 let x = x0 in
25384
25385 # 41 "standard.mly"
25386 ( Some x )
25387 # 25388 "parser_cocci_menhir.ml"
25388
25389 in
25390
25391 # 202 "parser_cocci_menhir.mly"
25392 ( P.make_cocci_rule_name_result nm d i a e ee )
25393 # 25394 "parser_cocci_menhir.ml"
25394 in
25395 _menhir_env.MenhirLib.EngineTypes.stack <- {
25396 MenhirLib.EngineTypes.state = _menhir_s;
25397 MenhirLib.EngineTypes.semv = Obj.repr _v;
25398 MenhirLib.EngineTypes.startp = _startpos;
25399 MenhirLib.EngineTypes.endp = _endpos;
25400 MenhirLib.EngineTypes.next = _menhir_stack;
25401 });
25402 (fun _menhir_env ->
25403 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25404 let {
25405 MenhirLib.EngineTypes.startp = _startpos__8_;
25406 MenhirLib.EngineTypes.endp = _endpos__8_;
25407 MenhirLib.EngineTypes.next = {
25408 MenhirLib.EngineTypes.semv = ee;
25409 MenhirLib.EngineTypes.startp = _startpos_ee_;
25410 MenhirLib.EngineTypes.endp = _endpos_ee_;
25411 MenhirLib.EngineTypes.next = {
25412 MenhirLib.EngineTypes.semv = e;
25413 MenhirLib.EngineTypes.startp = _startpos_e_;
25414 MenhirLib.EngineTypes.endp = _endpos_e_;
25415 MenhirLib.EngineTypes.next = {
25416 MenhirLib.EngineTypes.semv = a;
25417 MenhirLib.EngineTypes.startp = _startpos_a_;
25418 MenhirLib.EngineTypes.endp = _endpos_a_;
25419 MenhirLib.EngineTypes.next = {
25420 MenhirLib.EngineTypes.semv = i;
25421 MenhirLib.EngineTypes.startp = _startpos_i_;
25422 MenhirLib.EngineTypes.endp = _endpos_i_;
25423 MenhirLib.EngineTypes.next = {
25424 MenhirLib.EngineTypes.semv = d;
25425 MenhirLib.EngineTypes.startp = _startpos_d_;
25426 MenhirLib.EngineTypes.endp = _endpos_d_;
25427 MenhirLib.EngineTypes.next = {
25428 MenhirLib.EngineTypes.startp = _startpos__2_;
25429 MenhirLib.EngineTypes.endp = _endpos__2_;
25430 MenhirLib.EngineTypes.next = {
25431 MenhirLib.EngineTypes.state = _menhir_s;
25432 MenhirLib.EngineTypes.startp = _startpos__1_;
25433 MenhirLib.EngineTypes.endp = _endpos__1_;
25434 MenhirLib.EngineTypes.next = _menhir_stack;
25435 };
25436 };
25437 };
25438 };
25439 };
25440 };
25441 };
25442 } = _menhir_stack in
25443 let ee : 'tv_is_expression = Obj.magic ee in
25444 let e : 'tv_exists = Obj.magic e in
25445 let a : 'tv_loption_disable_ = Obj.magic a in
25446 let i : 'tv_loption_choose_iso_ = Obj.magic i in
25447 let d : 'tv_depends = Obj.magic d in
25448 let _startpos = _startpos__1_ in
25449 let _endpos = _endpos__8_ in
25450 let _v : (
25451 # 153 "parser_cocci_menhir.mly"
25452 (Ast_cocci.rulename)
25453 # 25454 "parser_cocci_menhir.ml"
25454 ) =
25455 # 207 "parser_cocci_menhir.mly"
25456 ( P.make_generated_rule_name_result None d i a e ee )
25457 # 25458 "parser_cocci_menhir.ml"
25458 in
25459 _menhir_env.MenhirLib.EngineTypes.stack <- {
25460 MenhirLib.EngineTypes.state = _menhir_s;
25461 MenhirLib.EngineTypes.semv = Obj.repr _v;
25462 MenhirLib.EngineTypes.startp = _startpos;
25463 MenhirLib.EngineTypes.endp = _endpos;
25464 MenhirLib.EngineTypes.next = _menhir_stack;
25465 });
25466 (fun _menhir_env ->
25467 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25468 let {
25469 MenhirLib.EngineTypes.startp = _startpos__5_;
25470 MenhirLib.EngineTypes.endp = _endpos__5_;
25471 MenhirLib.EngineTypes.next = {
25472 MenhirLib.EngineTypes.semv = d;
25473 MenhirLib.EngineTypes.startp = _startpos_d_;
25474 MenhirLib.EngineTypes.endp = _endpos_d_;
25475 MenhirLib.EngineTypes.next = {
25476 MenhirLib.EngineTypes.semv = lang;
25477 MenhirLib.EngineTypes.startp = _startpos_lang_;
25478 MenhirLib.EngineTypes.endp = _endpos_lang_;
25479 MenhirLib.EngineTypes.next = {
25480 MenhirLib.EngineTypes.startp = _startpos__2_;
25481 MenhirLib.EngineTypes.endp = _endpos__2_;
25482 MenhirLib.EngineTypes.next = {
25483 MenhirLib.EngineTypes.state = _menhir_s;
25484 MenhirLib.EngineTypes.startp = _startpos__1_;
25485 MenhirLib.EngineTypes.endp = _endpos__1_;
25486 MenhirLib.EngineTypes.next = _menhir_stack;
25487 };
25488 };
25489 };
25490 };
25491 } = _menhir_stack in
25492 let d : 'tv_depends = Obj.magic d in
25493 let lang : 'tv_pure_ident = Obj.magic lang in
25494 let _startpos = _startpos__1_ in
25495 let _endpos = _endpos__5_ in
25496 let _v : (
25497 # 153 "parser_cocci_menhir.mly"
25498 (Ast_cocci.rulename)
25499 # 25500 "parser_cocci_menhir.ml"
25500 ) =
25501 # 209 "parser_cocci_menhir.mly"
25502 ( P.make_script_rule_name_result lang d )
25503 # 25504 "parser_cocci_menhir.ml"
25504 in
25505 _menhir_env.MenhirLib.EngineTypes.stack <- {
25506 MenhirLib.EngineTypes.state = _menhir_s;
25507 MenhirLib.EngineTypes.semv = Obj.repr _v;
25508 MenhirLib.EngineTypes.startp = _startpos;
25509 MenhirLib.EngineTypes.endp = _endpos;
25510 MenhirLib.EngineTypes.next = _menhir_stack;
25511 });
25512 (fun _menhir_env ->
25513 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25514 let {
25515 MenhirLib.EngineTypes.startp = _startpos__4_;
25516 MenhirLib.EngineTypes.endp = _endpos__4_;
25517 MenhirLib.EngineTypes.next = {
25518 MenhirLib.EngineTypes.semv = lang;
25519 MenhirLib.EngineTypes.startp = _startpos_lang_;
25520 MenhirLib.EngineTypes.endp = _endpos_lang_;
25521 MenhirLib.EngineTypes.next = {
25522 MenhirLib.EngineTypes.startp = _startpos__2_;
25523 MenhirLib.EngineTypes.endp = _endpos__2_;
25524 MenhirLib.EngineTypes.next = {
25525 MenhirLib.EngineTypes.state = _menhir_s;
25526 MenhirLib.EngineTypes.startp = _startpos__1_;
25527 MenhirLib.EngineTypes.endp = _endpos__1_;
25528 MenhirLib.EngineTypes.next = _menhir_stack;
25529 };
25530 };
25531 };
25532 } = _menhir_stack in
25533 let lang : 'tv_pure_ident = Obj.magic lang in
25534 let _startpos = _startpos__1_ in
25535 let _endpos = _endpos__4_ in
25536 let _v : (
25537 # 153 "parser_cocci_menhir.mly"
25538 (Ast_cocci.rulename)
25539 # 25540 "parser_cocci_menhir.ml"
25540 ) =
25541 # 211 "parser_cocci_menhir.mly"
25542 ( P.make_initial_script_rule_name_result lang )
25543 # 25544 "parser_cocci_menhir.ml"
25544 in
25545 _menhir_env.MenhirLib.EngineTypes.stack <- {
25546 MenhirLib.EngineTypes.state = _menhir_s;
25547 MenhirLib.EngineTypes.semv = Obj.repr _v;
25548 MenhirLib.EngineTypes.startp = _startpos;
25549 MenhirLib.EngineTypes.endp = _endpos;
25550 MenhirLib.EngineTypes.next = _menhir_stack;
25551 });
25552 (fun _menhir_env ->
25553 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25554 let {
25555 MenhirLib.EngineTypes.startp = _startpos__4_;
25556 MenhirLib.EngineTypes.endp = _endpos__4_;
25557 MenhirLib.EngineTypes.next = {
25558 MenhirLib.EngineTypes.semv = lang;
25559 MenhirLib.EngineTypes.startp = _startpos_lang_;
25560 MenhirLib.EngineTypes.endp = _endpos_lang_;
25561 MenhirLib.EngineTypes.next = {
25562 MenhirLib.EngineTypes.startp = _startpos__2_;
25563 MenhirLib.EngineTypes.endp = _endpos__2_;
25564 MenhirLib.EngineTypes.next = {
25565 MenhirLib.EngineTypes.state = _menhir_s;
25566 MenhirLib.EngineTypes.startp = _startpos__1_;
25567 MenhirLib.EngineTypes.endp = _endpos__1_;
25568 MenhirLib.EngineTypes.next = _menhir_stack;
25569 };
25570 };
25571 };
25572 } = _menhir_stack in
25573 let lang : 'tv_pure_ident = Obj.magic lang in
25574 let _startpos = _startpos__1_ in
25575 let _endpos = _endpos__4_ in
25576 let _v : (
25577 # 153 "parser_cocci_menhir.mly"
25578 (Ast_cocci.rulename)
25579 # 25580 "parser_cocci_menhir.ml"
25580 ) =
25581 # 213 "parser_cocci_menhir.mly"
25582 ( P.make_final_script_rule_name_result lang )
25583 # 25584 "parser_cocci_menhir.ml"
25584 in
25585 _menhir_env.MenhirLib.EngineTypes.stack <- {
25586 MenhirLib.EngineTypes.state = _menhir_s;
25587 MenhirLib.EngineTypes.semv = Obj.repr _v;
25588 MenhirLib.EngineTypes.startp = _startpos;
25589 MenhirLib.EngineTypes.endp = _endpos;
25590 MenhirLib.EngineTypes.next = _menhir_stack;
25591 });
25592 (fun _menhir_env ->
25593 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25594 let {
25595 MenhirLib.EngineTypes.startp = _startpos__6_;
25596 MenhirLib.EngineTypes.endp = _endpos__6_;
25597 MenhirLib.EngineTypes.next = {
25598 MenhirLib.EngineTypes.semv = cocci;
25599 MenhirLib.EngineTypes.startp = _startpos_cocci_;
25600 MenhirLib.EngineTypes.endp = _endpos_cocci_;
25601 MenhirLib.EngineTypes.next = {
25602 MenhirLib.EngineTypes.startp = _startpos__4_;
25603 MenhirLib.EngineTypes.endp = _endpos__4_;
25604 MenhirLib.EngineTypes.next = {
25605 MenhirLib.EngineTypes.semv = _3;
25606 MenhirLib.EngineTypes.startp = _startpos__3_;
25607 MenhirLib.EngineTypes.endp = _endpos__3_;
25608 MenhirLib.EngineTypes.next = {
25609 MenhirLib.EngineTypes.startp = _startpos__2_;
25610 MenhirLib.EngineTypes.endp = _endpos__2_;
25611 MenhirLib.EngineTypes.next = {
25612 MenhirLib.EngineTypes.state = _menhir_s;
25613 MenhirLib.EngineTypes.semv = py;
25614 MenhirLib.EngineTypes.startp = _startpos_py_;
25615 MenhirLib.EngineTypes.endp = _endpos_py_;
25616 MenhirLib.EngineTypes.next = _menhir_stack;
25617 };
25618 };
25619 };
25620 };
25621 };
25622 } = _menhir_stack in
25623 let cocci : 'tv_pure_ident = Obj.magic cocci in
25624 let _3 : (
25625 # 47 "parser_cocci_menhir.mly"
25626 (string)
25627 # 25628 "parser_cocci_menhir.ml"
25628 ) = Obj.magic _3 in
25629 let py : 'tv_pure_ident = Obj.magic py in
25630 let _startpos = _startpos_py_ in
25631 let _endpos = _endpos__6_ in
25632 let _v : (
25633 # 159 "parser_cocci_menhir.mly"
25634 (string * (string * string))
25635 # 25636 "parser_cocci_menhir.ml"
25636 ) =
25637 # 1873 "parser_cocci_menhir.mly"
25638 ( (P.id2name py, (_3, P.id2name cocci)) )
25639 # 25640 "parser_cocci_menhir.ml"
25640 in
25641 _menhir_env.MenhirLib.EngineTypes.stack <- {
25642 MenhirLib.EngineTypes.state = _menhir_s;
25643 MenhirLib.EngineTypes.semv = Obj.repr _v;
25644 MenhirLib.EngineTypes.startp = _startpos;
25645 MenhirLib.EngineTypes.endp = _endpos;
25646 MenhirLib.EngineTypes.next = _menhir_stack;
25647 });
25648 (fun _menhir_env ->
25649 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25650 let {
25651 MenhirLib.EngineTypes.state = _menhir_s;
25652 MenhirLib.EngineTypes.semv = x;
25653 MenhirLib.EngineTypes.startp = _startpos_x_;
25654 MenhirLib.EngineTypes.endp = _endpos_x_;
25655 MenhirLib.EngineTypes.next = _menhir_stack;
25656 } = _menhir_stack in
25657 let x : (
25658 # 87 "parser_cocci_menhir.mly"
25659 (string * Data.clt)
25660 # 25661 "parser_cocci_menhir.ml"
25661 ) = Obj.magic x in
25662 let _startpos = _startpos_x_ in
25663 let _endpos = _endpos_x_ in
25664 let _v : 'tv_separated_nonempty_list_TComma_TString_ =
25665 # 144 "standard.mly"
25666 ( [ x ] )
25667 # 25668 "parser_cocci_menhir.ml"
25668 in
25669 _menhir_env.MenhirLib.EngineTypes.stack <- {
25670 MenhirLib.EngineTypes.state = _menhir_s;
25671 MenhirLib.EngineTypes.semv = Obj.repr _v;
25672 MenhirLib.EngineTypes.startp = _startpos;
25673 MenhirLib.EngineTypes.endp = _endpos;
25674 MenhirLib.EngineTypes.next = _menhir_stack;
25675 });
25676 (fun _menhir_env ->
25677 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25678 let {
25679 MenhirLib.EngineTypes.semv = xs;
25680 MenhirLib.EngineTypes.startp = _startpos_xs_;
25681 MenhirLib.EngineTypes.endp = _endpos_xs_;
25682 MenhirLib.EngineTypes.next = {
25683 MenhirLib.EngineTypes.startp = _startpos__2_;
25684 MenhirLib.EngineTypes.endp = _endpos__2_;
25685 MenhirLib.EngineTypes.next = {
25686 MenhirLib.EngineTypes.state = _menhir_s;
25687 MenhirLib.EngineTypes.semv = x;
25688 MenhirLib.EngineTypes.startp = _startpos_x_;
25689 MenhirLib.EngineTypes.endp = _endpos_x_;
25690 MenhirLib.EngineTypes.next = _menhir_stack;
25691 };
25692 };
25693 } = _menhir_stack in
25694 let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in
25695 let x : (
25696 # 87 "parser_cocci_menhir.mly"
25697 (string * Data.clt)
25698 # 25699 "parser_cocci_menhir.ml"
25699 ) = Obj.magic x in
25700 let _startpos = _startpos_x_ in
25701 let _endpos = _endpos_xs_ in
25702 let _v : 'tv_separated_nonempty_list_TComma_TString_ =
25703 # 146 "standard.mly"
25704 ( x :: xs )
25705 # 25706 "parser_cocci_menhir.ml"
25706 in
25707 _menhir_env.MenhirLib.EngineTypes.stack <- {
25708 MenhirLib.EngineTypes.state = _menhir_s;
25709 MenhirLib.EngineTypes.semv = Obj.repr _v;
25710 MenhirLib.EngineTypes.startp = _startpos;
25711 MenhirLib.EngineTypes.endp = _endpos;
25712 MenhirLib.EngineTypes.next = _menhir_stack;
25713 });
25714 (fun _menhir_env ->
25715 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25716 let {
25717 MenhirLib.EngineTypes.state = _menhir_s;
25718 MenhirLib.EngineTypes.semv = x;
25719 MenhirLib.EngineTypes.startp = _startpos_x_;
25720 MenhirLib.EngineTypes.endp = _endpos_x_;
25721 MenhirLib.EngineTypes.next = _menhir_stack;
25722 } = _menhir_stack in
25723 let x : 'tv_any_strict = Obj.magic x in
25724 let _startpos = _startpos_x_ in
25725 let _endpos = _endpos_x_ in
25726 let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
25727 # 144 "standard.mly"
25728 ( [ x ] )
25729 # 25730 "parser_cocci_menhir.ml"
25730 in
25731 _menhir_env.MenhirLib.EngineTypes.stack <- {
25732 MenhirLib.EngineTypes.state = _menhir_s;
25733 MenhirLib.EngineTypes.semv = Obj.repr _v;
25734 MenhirLib.EngineTypes.startp = _startpos;
25735 MenhirLib.EngineTypes.endp = _endpos;
25736 MenhirLib.EngineTypes.next = _menhir_stack;
25737 });
25738 (fun _menhir_env ->
25739 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25740 let {
25741 MenhirLib.EngineTypes.semv = xs;
25742 MenhirLib.EngineTypes.startp = _startpos_xs_;
25743 MenhirLib.EngineTypes.endp = _endpos_xs_;
25744 MenhirLib.EngineTypes.next = {
25745 MenhirLib.EngineTypes.startp = _startpos__2_;
25746 MenhirLib.EngineTypes.endp = _endpos__2_;
25747 MenhirLib.EngineTypes.next = {
25748 MenhirLib.EngineTypes.state = _menhir_s;
25749 MenhirLib.EngineTypes.semv = x;
25750 MenhirLib.EngineTypes.startp = _startpos_x_;
25751 MenhirLib.EngineTypes.endp = _endpos_x_;
25752 MenhirLib.EngineTypes.next = _menhir_stack;
25753 };
25754 };
25755 } = _menhir_stack in
25756 let xs : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic xs in
25757 let x : 'tv_any_strict = Obj.magic x in
25758 let _startpos = _startpos_x_ in
25759 let _endpos = _endpos_xs_ in
25760 let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
25761 # 146 "standard.mly"
25762 ( x :: xs )
25763 # 25764 "parser_cocci_menhir.ml"
25764 in
25765 _menhir_env.MenhirLib.EngineTypes.stack <- {
25766 MenhirLib.EngineTypes.state = _menhir_s;
25767 MenhirLib.EngineTypes.semv = Obj.repr _v;
25768 MenhirLib.EngineTypes.startp = _startpos;
25769 MenhirLib.EngineTypes.endp = _endpos;
25770 MenhirLib.EngineTypes.next = _menhir_stack;
25771 });
25772 (fun _menhir_env ->
25773 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25774 let {
25775 MenhirLib.EngineTypes.state = _menhir_s;
25776 MenhirLib.EngineTypes.semv = x;
25777 MenhirLib.EngineTypes.startp = _startpos_x_;
25778 MenhirLib.EngineTypes.endp = _endpos_x_;
25779 MenhirLib.EngineTypes.next = _menhir_stack;
25780 } = _menhir_stack in
25781 let x : 'tv_ctype = Obj.magic x in
25782 let _startpos = _startpos_x_ in
25783 let _endpos = _endpos_x_ in
25784 let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
25785 # 144 "standard.mly"
25786 ( [ x ] )
25787 # 25788 "parser_cocci_menhir.ml"
25788 in
25789 _menhir_env.MenhirLib.EngineTypes.stack <- {
25790 MenhirLib.EngineTypes.state = _menhir_s;
25791 MenhirLib.EngineTypes.semv = Obj.repr _v;
25792 MenhirLib.EngineTypes.startp = _startpos;
25793 MenhirLib.EngineTypes.endp = _endpos;
25794 MenhirLib.EngineTypes.next = _menhir_stack;
25795 });
25796 (fun _menhir_env ->
25797 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25798 let {
25799 MenhirLib.EngineTypes.semv = xs;
25800 MenhirLib.EngineTypes.startp = _startpos_xs_;
25801 MenhirLib.EngineTypes.endp = _endpos_xs_;
25802 MenhirLib.EngineTypes.next = {
25803 MenhirLib.EngineTypes.startp = _startpos__2_;
25804 MenhirLib.EngineTypes.endp = _endpos__2_;
25805 MenhirLib.EngineTypes.next = {
25806 MenhirLib.EngineTypes.state = _menhir_s;
25807 MenhirLib.EngineTypes.semv = x;
25808 MenhirLib.EngineTypes.startp = _startpos_x_;
25809 MenhirLib.EngineTypes.endp = _endpos_x_;
25810 MenhirLib.EngineTypes.next = _menhir_stack;
25811 };
25812 };
25813 } = _menhir_stack in
25814 let xs : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic xs in
25815 let x : 'tv_ctype = Obj.magic x in
25816 let _startpos = _startpos_x_ in
25817 let _endpos = _endpos_xs_ in
25818 let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
25819 # 146 "standard.mly"
25820 ( x :: xs )
25821 # 25822 "parser_cocci_menhir.ml"
25822 in
25823 _menhir_env.MenhirLib.EngineTypes.stack <- {
25824 MenhirLib.EngineTypes.state = _menhir_s;
25825 MenhirLib.EngineTypes.semv = Obj.repr _v;
25826 MenhirLib.EngineTypes.startp = _startpos;
25827 MenhirLib.EngineTypes.endp = _endpos;
25828 MenhirLib.EngineTypes.next = _menhir_stack;
25829 });
25830 (fun _menhir_env ->
25831 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25832 let {
25833 MenhirLib.EngineTypes.state = _menhir_s;
25834 MenhirLib.EngineTypes.semv = x;
25835 MenhirLib.EngineTypes.startp = _startpos_x_;
25836 MenhirLib.EngineTypes.endp = _endpos_x_;
25837 MenhirLib.EngineTypes.next = _menhir_stack;
25838 } = _menhir_stack in
25839 let x : 'tv_d_ident = Obj.magic x in
25840 let _startpos = _startpos_x_ in
25841 let _endpos = _endpos_x_ in
25842 let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
25843 # 144 "standard.mly"
25844 ( [ x ] )
25845 # 25846 "parser_cocci_menhir.ml"
25846 in
25847 _menhir_env.MenhirLib.EngineTypes.stack <- {
25848 MenhirLib.EngineTypes.state = _menhir_s;
25849 MenhirLib.EngineTypes.semv = Obj.repr _v;
25850 MenhirLib.EngineTypes.startp = _startpos;
25851 MenhirLib.EngineTypes.endp = _endpos;
25852 MenhirLib.EngineTypes.next = _menhir_stack;
25853 });
25854 (fun _menhir_env ->
25855 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25856 let {
25857 MenhirLib.EngineTypes.semv = xs;
25858 MenhirLib.EngineTypes.startp = _startpos_xs_;
25859 MenhirLib.EngineTypes.endp = _endpos_xs_;
25860 MenhirLib.EngineTypes.next = {
25861 MenhirLib.EngineTypes.startp = _startpos__2_;
25862 MenhirLib.EngineTypes.endp = _endpos__2_;
25863 MenhirLib.EngineTypes.next = {
25864 MenhirLib.EngineTypes.state = _menhir_s;
25865 MenhirLib.EngineTypes.semv = x;
25866 MenhirLib.EngineTypes.startp = _startpos_x_;
25867 MenhirLib.EngineTypes.endp = _endpos_x_;
25868 MenhirLib.EngineTypes.next = _menhir_stack;
25869 };
25870 };
25871 } = _menhir_stack in
25872 let xs : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic xs in
25873 let x : 'tv_d_ident = Obj.magic x in
25874 let _startpos = _startpos_x_ in
25875 let _endpos = _endpos_xs_ in
25876 let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
25877 # 146 "standard.mly"
25878 ( x :: xs )
25879 # 25880 "parser_cocci_menhir.ml"
25880 in
25881 _menhir_env.MenhirLib.EngineTypes.stack <- {
25882 MenhirLib.EngineTypes.state = _menhir_s;
25883 MenhirLib.EngineTypes.semv = Obj.repr _v;
25884 MenhirLib.EngineTypes.startp = _startpos;
25885 MenhirLib.EngineTypes.endp = _endpos;
25886 MenhirLib.EngineTypes.next = _menhir_stack;
25887 });
25888 (fun _menhir_env ->
25889 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25890 let {
25891 MenhirLib.EngineTypes.state = _menhir_s;
25892 MenhirLib.EngineTypes.semv = x;
25893 MenhirLib.EngineTypes.startp = _startpos_x_;
25894 MenhirLib.EngineTypes.endp = _endpos_x_;
25895 MenhirLib.EngineTypes.next = _menhir_stack;
25896 } = _menhir_stack in
25897 let x : 'tv_dexpr = Obj.magic x in
25898 let _startpos = _startpos_x_ in
25899 let _endpos = _endpos_x_ in
25900 let _v : 'tv_separated_nonempty_list_TComma_dexpr_ =
25901 # 144 "standard.mly"
25902 ( [ x ] )
25903 # 25904 "parser_cocci_menhir.ml"
25904 in
25905 _menhir_env.MenhirLib.EngineTypes.stack <- {
25906 MenhirLib.EngineTypes.state = _menhir_s;
25907 MenhirLib.EngineTypes.semv = Obj.repr _v;
25908 MenhirLib.EngineTypes.startp = _startpos;
25909 MenhirLib.EngineTypes.endp = _endpos;
25910 MenhirLib.EngineTypes.next = _menhir_stack;
25911 });
25912 (fun _menhir_env ->
25913 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25914 let {
25915 MenhirLib.EngineTypes.semv = xs;
25916 MenhirLib.EngineTypes.startp = _startpos_xs_;
25917 MenhirLib.EngineTypes.endp = _endpos_xs_;
25918 MenhirLib.EngineTypes.next = {
25919 MenhirLib.EngineTypes.startp = _startpos__2_;
25920 MenhirLib.EngineTypes.endp = _endpos__2_;
25921 MenhirLib.EngineTypes.next = {
25922 MenhirLib.EngineTypes.state = _menhir_s;
25923 MenhirLib.EngineTypes.semv = x;
25924 MenhirLib.EngineTypes.startp = _startpos_x_;
25925 MenhirLib.EngineTypes.endp = _endpos_x_;
25926 MenhirLib.EngineTypes.next = _menhir_stack;
25927 };
25928 };
25929 } = _menhir_stack in
25930 let xs : 'tv_separated_nonempty_list_TComma_dexpr_ = Obj.magic xs in
25931 let x : 'tv_dexpr = Obj.magic x in
25932 let _startpos = _startpos_x_ in
25933 let _endpos = _endpos_xs_ in
25934 let _v : 'tv_separated_nonempty_list_TComma_dexpr_ =
25935 # 146 "standard.mly"
25936 ( x :: xs )
25937 # 25938 "parser_cocci_menhir.ml"
25938 in
25939 _menhir_env.MenhirLib.EngineTypes.stack <- {
25940 MenhirLib.EngineTypes.state = _menhir_s;
25941 MenhirLib.EngineTypes.semv = Obj.repr _v;
25942 MenhirLib.EngineTypes.startp = _startpos;
25943 MenhirLib.EngineTypes.endp = _endpos;
25944 MenhirLib.EngineTypes.next = _menhir_stack;
25945 });
25946 (fun _menhir_env ->
25947 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25948 let {
25949 MenhirLib.EngineTypes.state = _menhir_s;
25950 MenhirLib.EngineTypes.semv = x;
25951 MenhirLib.EngineTypes.startp = _startpos_x_;
25952 MenhirLib.EngineTypes.endp = _endpos_x_;
25953 MenhirLib.EngineTypes.next = _menhir_stack;
25954 } = _menhir_stack in
25955 let x : 'tv_ident_or_const = Obj.magic x in
25956 let _startpos = _startpos_x_ in
25957 let _endpos = _endpos_x_ in
25958 let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
25959 # 144 "standard.mly"
25960 ( [ x ] )
25961 # 25962 "parser_cocci_menhir.ml"
25962 in
25963 _menhir_env.MenhirLib.EngineTypes.stack <- {
25964 MenhirLib.EngineTypes.state = _menhir_s;
25965 MenhirLib.EngineTypes.semv = Obj.repr _v;
25966 MenhirLib.EngineTypes.startp = _startpos;
25967 MenhirLib.EngineTypes.endp = _endpos;
25968 MenhirLib.EngineTypes.next = _menhir_stack;
25969 });
25970 (fun _menhir_env ->
25971 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25972 let {
25973 MenhirLib.EngineTypes.semv = xs;
25974 MenhirLib.EngineTypes.startp = _startpos_xs_;
25975 MenhirLib.EngineTypes.endp = _endpos_xs_;
25976 MenhirLib.EngineTypes.next = {
25977 MenhirLib.EngineTypes.startp = _startpos__2_;
25978 MenhirLib.EngineTypes.endp = _endpos__2_;
25979 MenhirLib.EngineTypes.next = {
25980 MenhirLib.EngineTypes.state = _menhir_s;
25981 MenhirLib.EngineTypes.semv = x;
25982 MenhirLib.EngineTypes.startp = _startpos_x_;
25983 MenhirLib.EngineTypes.endp = _endpos_x_;
25984 MenhirLib.EngineTypes.next = _menhir_stack;
25985 };
25986 };
25987 } = _menhir_stack in
25988 let xs : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic xs in
25989 let x : 'tv_ident_or_const = Obj.magic x in
25990 let _startpos = _startpos_x_ in
25991 let _endpos = _endpos_xs_ in
25992 let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
25993 # 146 "standard.mly"
25994 ( x :: xs )
25995 # 25996 "parser_cocci_menhir.ml"
25996 in
25997 _menhir_env.MenhirLib.EngineTypes.stack <- {
25998 MenhirLib.EngineTypes.state = _menhir_s;
25999 MenhirLib.EngineTypes.semv = Obj.repr _v;
26000 MenhirLib.EngineTypes.startp = _startpos;
26001 MenhirLib.EngineTypes.endp = _endpos;
26002 MenhirLib.EngineTypes.next = _menhir_stack;
26003 });
26004 (fun _menhir_env ->
26005 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26006 let {
26007 MenhirLib.EngineTypes.state = _menhir_s;
26008 MenhirLib.EngineTypes.semv = x;
26009 MenhirLib.EngineTypes.startp = _startpos_x_;
26010 MenhirLib.EngineTypes.endp = _endpos_x_;
26011 MenhirLib.EngineTypes.next = _menhir_stack;
26012 } = _menhir_stack in
26013 let x : 'tv_meta_ident = Obj.magic x in
26014 let _startpos = _startpos_x_ in
26015 let _endpos = _endpos_x_ in
26016 let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
26017 # 144 "standard.mly"
26018 ( [ x ] )
26019 # 26020 "parser_cocci_menhir.ml"
26020 in
26021 _menhir_env.MenhirLib.EngineTypes.stack <- {
26022 MenhirLib.EngineTypes.state = _menhir_s;
26023 MenhirLib.EngineTypes.semv = Obj.repr _v;
26024 MenhirLib.EngineTypes.startp = _startpos;
26025 MenhirLib.EngineTypes.endp = _endpos;
26026 MenhirLib.EngineTypes.next = _menhir_stack;
26027 });
26028 (fun _menhir_env ->
26029 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26030 let {
26031 MenhirLib.EngineTypes.semv = xs;
26032 MenhirLib.EngineTypes.startp = _startpos_xs_;
26033 MenhirLib.EngineTypes.endp = _endpos_xs_;
26034 MenhirLib.EngineTypes.next = {
26035 MenhirLib.EngineTypes.startp = _startpos__2_;
26036 MenhirLib.EngineTypes.endp = _endpos__2_;
26037 MenhirLib.EngineTypes.next = {
26038 MenhirLib.EngineTypes.state = _menhir_s;
26039 MenhirLib.EngineTypes.semv = x;
26040 MenhirLib.EngineTypes.startp = _startpos_x_;
26041 MenhirLib.EngineTypes.endp = _endpos_x_;
26042 MenhirLib.EngineTypes.next = _menhir_stack;
26043 };
26044 };
26045 } = _menhir_stack in
26046 let xs : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic xs in
26047 let x : 'tv_meta_ident = Obj.magic x in
26048 let _startpos = _startpos_x_ in
26049 let _endpos = _endpos_xs_ in
26050 let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
26051 # 146 "standard.mly"
26052 ( x :: xs )
26053 # 26054 "parser_cocci_menhir.ml"
26054 in
26055 _menhir_env.MenhirLib.EngineTypes.stack <- {
26056 MenhirLib.EngineTypes.state = _menhir_s;
26057 MenhirLib.EngineTypes.semv = Obj.repr _v;
26058 MenhirLib.EngineTypes.startp = _startpos;
26059 MenhirLib.EngineTypes.endp = _endpos;
26060 MenhirLib.EngineTypes.next = _menhir_stack;
26061 });
26062 (fun _menhir_env ->
26063 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26064 let {
26065 MenhirLib.EngineTypes.state = _menhir_s;
26066 MenhirLib.EngineTypes.semv = x;
26067 MenhirLib.EngineTypes.startp = _startpos_x_;
26068 MenhirLib.EngineTypes.endp = _endpos_x_;
26069 MenhirLib.EngineTypes.next = _menhir_stack;
26070 } = _menhir_stack in
26071 let x : 'tv_pure_ident = Obj.magic x in
26072 let _startpos = _startpos_x_ in
26073 let _endpos = _endpos_x_ in
26074 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
26075 # 144 "standard.mly"
26076 ( [ x ] )
26077 # 26078 "parser_cocci_menhir.ml"
26078 in
26079 _menhir_env.MenhirLib.EngineTypes.stack <- {
26080 MenhirLib.EngineTypes.state = _menhir_s;
26081 MenhirLib.EngineTypes.semv = Obj.repr _v;
26082 MenhirLib.EngineTypes.startp = _startpos;
26083 MenhirLib.EngineTypes.endp = _endpos;
26084 MenhirLib.EngineTypes.next = _menhir_stack;
26085 });
26086 (fun _menhir_env ->
26087 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26088 let {
26089 MenhirLib.EngineTypes.semv = xs;
26090 MenhirLib.EngineTypes.startp = _startpos_xs_;
26091 MenhirLib.EngineTypes.endp = _endpos_xs_;
26092 MenhirLib.EngineTypes.next = {
26093 MenhirLib.EngineTypes.startp = _startpos__2_;
26094 MenhirLib.EngineTypes.endp = _endpos__2_;
26095 MenhirLib.EngineTypes.next = {
26096 MenhirLib.EngineTypes.state = _menhir_s;
26097 MenhirLib.EngineTypes.semv = x;
26098 MenhirLib.EngineTypes.startp = _startpos_x_;
26099 MenhirLib.EngineTypes.endp = _endpos_x_;
26100 MenhirLib.EngineTypes.next = _menhir_stack;
26101 };
26102 };
26103 } = _menhir_stack in
26104 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic xs in
26105 let x : 'tv_pure_ident = Obj.magic x in
26106 let _startpos = _startpos_x_ in
26107 let _endpos = _endpos_xs_ in
26108 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
26109 # 146 "standard.mly"
26110 ( x :: xs )
26111 # 26112 "parser_cocci_menhir.ml"
26112 in
26113 _menhir_env.MenhirLib.EngineTypes.stack <- {
26114 MenhirLib.EngineTypes.state = _menhir_s;
26115 MenhirLib.EngineTypes.semv = Obj.repr _v;
26116 MenhirLib.EngineTypes.startp = _startpos;
26117 MenhirLib.EngineTypes.endp = _endpos;
26118 MenhirLib.EngineTypes.next = _menhir_stack;
26119 });
26120 (fun _menhir_env ->
26121 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26122 let {
26123 MenhirLib.EngineTypes.state = _menhir_s;
26124 MenhirLib.EngineTypes.semv = x;
26125 MenhirLib.EngineTypes.startp = _startpos_x_;
26126 MenhirLib.EngineTypes.endp = _endpos_x_;
26127 MenhirLib.EngineTypes.next = _menhir_stack;
26128 } = _menhir_stack in
26129 let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
26130 let _startpos = _startpos_x_ in
26131 let _endpos = _endpos_x_ in
26132 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
26133 # 144 "standard.mly"
26134 ( [ x ] )
26135 # 26136 "parser_cocci_menhir.ml"
26136 in
26137 _menhir_env.MenhirLib.EngineTypes.stack <- {
26138 MenhirLib.EngineTypes.state = _menhir_s;
26139 MenhirLib.EngineTypes.semv = Obj.repr _v;
26140 MenhirLib.EngineTypes.startp = _startpos;
26141 MenhirLib.EngineTypes.endp = _endpos;
26142 MenhirLib.EngineTypes.next = _menhir_stack;
26143 });
26144 (fun _menhir_env ->
26145 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26146 let {
26147 MenhirLib.EngineTypes.semv = xs;
26148 MenhirLib.EngineTypes.startp = _startpos_xs_;
26149 MenhirLib.EngineTypes.endp = _endpos_xs_;
26150 MenhirLib.EngineTypes.next = {
26151 MenhirLib.EngineTypes.startp = _startpos__2_;
26152 MenhirLib.EngineTypes.endp = _endpos__2_;
26153 MenhirLib.EngineTypes.next = {
26154 MenhirLib.EngineTypes.state = _menhir_s;
26155 MenhirLib.EngineTypes.semv = x;
26156 MenhirLib.EngineTypes.startp = _startpos_x_;
26157 MenhirLib.EngineTypes.endp = _endpos_x_;
26158 MenhirLib.EngineTypes.next = _menhir_stack;
26159 };
26160 };
26161 } = _menhir_stack in
26162 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic xs in
26163 let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
26164 let _startpos = _startpos_x_ in
26165 let _endpos = _endpos_xs_ in
26166 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
26167 # 146 "standard.mly"
26168 ( x :: xs )
26169 # 26170 "parser_cocci_menhir.ml"
26170 in
26171 _menhir_env.MenhirLib.EngineTypes.stack <- {
26172 MenhirLib.EngineTypes.state = _menhir_s;
26173 MenhirLib.EngineTypes.semv = Obj.repr _v;
26174 MenhirLib.EngineTypes.startp = _startpos;
26175 MenhirLib.EngineTypes.endp = _endpos;
26176 MenhirLib.EngineTypes.next = _menhir_stack;
26177 });
26178 (fun _menhir_env ->
26179 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26180 let {
26181 MenhirLib.EngineTypes.state = _menhir_s;
26182 MenhirLib.EngineTypes.semv = x;
26183 MenhirLib.EngineTypes.startp = _startpos_x_;
26184 MenhirLib.EngineTypes.endp = _endpos_x_;
26185 MenhirLib.EngineTypes.next = _menhir_stack;
26186 } = _menhir_stack in
26187 let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_ceq_ = Obj.magic x in
26188 let _startpos = _startpos_x_ in
26189 let _endpos = _endpos_x_ in
26190 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_ceq__ =
26191 # 144 "standard.mly"
26192 ( [ x ] )
26193 # 26194 "parser_cocci_menhir.ml"
26194 in
26195 _menhir_env.MenhirLib.EngineTypes.stack <- {
26196 MenhirLib.EngineTypes.state = _menhir_s;
26197 MenhirLib.EngineTypes.semv = Obj.repr _v;
26198 MenhirLib.EngineTypes.startp = _startpos;
26199 MenhirLib.EngineTypes.endp = _endpos;
26200 MenhirLib.EngineTypes.next = _menhir_stack;
26201 });
26202 (fun _menhir_env ->
26203 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26204 let {
26205 MenhirLib.EngineTypes.semv = xs;
26206 MenhirLib.EngineTypes.startp = _startpos_xs_;
26207 MenhirLib.EngineTypes.endp = _endpos_xs_;
26208 MenhirLib.EngineTypes.next = {
26209 MenhirLib.EngineTypes.startp = _startpos__2_;
26210 MenhirLib.EngineTypes.endp = _endpos__2_;
26211 MenhirLib.EngineTypes.next = {
26212 MenhirLib.EngineTypes.state = _menhir_s;
26213 MenhirLib.EngineTypes.semv = x;
26214 MenhirLib.EngineTypes.startp = _startpos_x_;
26215 MenhirLib.EngineTypes.endp = _endpos_x_;
26216 MenhirLib.EngineTypes.next = _menhir_stack;
26217 };
26218 };
26219 } = _menhir_stack in
26220 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_ceq__ = Obj.magic xs in
26221 let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_ceq_ = Obj.magic x in
26222 let _startpos = _startpos_x_ in
26223 let _endpos = _endpos_xs_ in
26224 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_ceq__ =
26225 # 146 "standard.mly"
26226 ( x :: xs )
26227 # 26228 "parser_cocci_menhir.ml"
26228 in
26229 _menhir_env.MenhirLib.EngineTypes.stack <- {
26230 MenhirLib.EngineTypes.state = _menhir_s;
26231 MenhirLib.EngineTypes.semv = Obj.repr _v;
26232 MenhirLib.EngineTypes.startp = _startpos;
26233 MenhirLib.EngineTypes.endp = _endpos;
26234 MenhirLib.EngineTypes.next = _menhir_stack;
26235 });
26236 (fun _menhir_env ->
26237 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26238 let {
26239 MenhirLib.EngineTypes.state = _menhir_s;
26240 MenhirLib.EngineTypes.semv = x;
26241 MenhirLib.EngineTypes.startp = _startpos_x_;
26242 MenhirLib.EngineTypes.endp = _endpos_x_;
26243 MenhirLib.EngineTypes.next = _menhir_stack;
26244 } = _menhir_stack in
26245 let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_eq_ = Obj.magic x in
26246 let _startpos = _startpos_x_ in
26247 let _endpos = _endpos_x_ in
26248 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_eq__ =
26249 # 144 "standard.mly"
26250 ( [ x ] )
26251 # 26252 "parser_cocci_menhir.ml"
26252 in
26253 _menhir_env.MenhirLib.EngineTypes.stack <- {
26254 MenhirLib.EngineTypes.state = _menhir_s;
26255 MenhirLib.EngineTypes.semv = Obj.repr _v;
26256 MenhirLib.EngineTypes.startp = _startpos;
26257 MenhirLib.EngineTypes.endp = _endpos;
26258 MenhirLib.EngineTypes.next = _menhir_stack;
26259 });
26260 (fun _menhir_env ->
26261 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26262 let {
26263 MenhirLib.EngineTypes.semv = xs;
26264 MenhirLib.EngineTypes.startp = _startpos_xs_;
26265 MenhirLib.EngineTypes.endp = _endpos_xs_;
26266 MenhirLib.EngineTypes.next = {
26267 MenhirLib.EngineTypes.startp = _startpos__2_;
26268 MenhirLib.EngineTypes.endp = _endpos__2_;
26269 MenhirLib.EngineTypes.next = {
26270 MenhirLib.EngineTypes.state = _menhir_s;
26271 MenhirLib.EngineTypes.semv = x;
26272 MenhirLib.EngineTypes.startp = _startpos_x_;
26273 MenhirLib.EngineTypes.endp = _endpos_x_;
26274 MenhirLib.EngineTypes.next = _menhir_stack;
26275 };
26276 };
26277 } = _menhir_stack in
26278 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_eq__ = Obj.magic xs in
26279 let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_eq_ = Obj.magic x in
26280 let _startpos = _startpos_x_ in
26281 let _endpos = _endpos_xs_ in
26282 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_eq__ =
26283 # 146 "standard.mly"
26284 ( x :: xs )
26285 # 26286 "parser_cocci_menhir.ml"
26286 in
26287 _menhir_env.MenhirLib.EngineTypes.stack <- {
26288 MenhirLib.EngineTypes.state = _menhir_s;
26289 MenhirLib.EngineTypes.semv = Obj.repr _v;
26290 MenhirLib.EngineTypes.startp = _startpos;
26291 MenhirLib.EngineTypes.endp = _endpos;
26292 MenhirLib.EngineTypes.next = _menhir_stack;
26293 });
26294 (fun _menhir_env ->
26295 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26296 let {
26297 MenhirLib.EngineTypes.state = _menhir_s;
26298 MenhirLib.EngineTypes.semv = x;
26299 MenhirLib.EngineTypes.startp = _startpos_x_;
26300 MenhirLib.EngineTypes.endp = _endpos_x_;
26301 MenhirLib.EngineTypes.next = _menhir_stack;
26302 } = _menhir_stack in
26303 let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_eqe_ = Obj.magic x in
26304 let _startpos = _startpos_x_ in
26305 let _endpos = _endpos_x_ in
26306 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_eqe__ =
26307 # 144 "standard.mly"
26308 ( [ x ] )
26309 # 26310 "parser_cocci_menhir.ml"
26310 in
26311 _menhir_env.MenhirLib.EngineTypes.stack <- {
26312 MenhirLib.EngineTypes.state = _menhir_s;
26313 MenhirLib.EngineTypes.semv = Obj.repr _v;
26314 MenhirLib.EngineTypes.startp = _startpos;
26315 MenhirLib.EngineTypes.endp = _endpos;
26316 MenhirLib.EngineTypes.next = _menhir_stack;
26317 });
26318 (fun _menhir_env ->
26319 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26320 let {
26321 MenhirLib.EngineTypes.semv = xs;
26322 MenhirLib.EngineTypes.startp = _startpos_xs_;
26323 MenhirLib.EngineTypes.endp = _endpos_xs_;
26324 MenhirLib.EngineTypes.next = {
26325 MenhirLib.EngineTypes.startp = _startpos__2_;
26326 MenhirLib.EngineTypes.endp = _endpos__2_;
26327 MenhirLib.EngineTypes.next = {
26328 MenhirLib.EngineTypes.state = _menhir_s;
26329 MenhirLib.EngineTypes.semv = x;
26330 MenhirLib.EngineTypes.startp = _startpos_x_;
26331 MenhirLib.EngineTypes.endp = _endpos_x_;
26332 MenhirLib.EngineTypes.next = _menhir_stack;
26333 };
26334 };
26335 } = _menhir_stack in
26336 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic xs in
26337 let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_eqe_ = Obj.magic x in
26338 let _startpos = _startpos_x_ in
26339 let _endpos = _endpos_xs_ in
26340 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_eqe__ =
26341 # 146 "standard.mly"
26342 ( x :: xs )
26343 # 26344 "parser_cocci_menhir.ml"
26344 in
26345 _menhir_env.MenhirLib.EngineTypes.stack <- {
26346 MenhirLib.EngineTypes.state = _menhir_s;
26347 MenhirLib.EngineTypes.semv = Obj.repr _v;
26348 MenhirLib.EngineTypes.startp = _startpos;
26349 MenhirLib.EngineTypes.endp = _endpos;
26350 MenhirLib.EngineTypes.next = _menhir_stack;
26351 });
26352 (fun _menhir_env ->
26353 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26354 let {
26355 MenhirLib.EngineTypes.state = _menhir_s;
26356 MenhirLib.EngineTypes.semv = x;
26357 MenhirLib.EngineTypes.startp = _startpos_x_;
26358 MenhirLib.EngineTypes.endp = _endpos_x_;
26359 MenhirLib.EngineTypes.next = _menhir_stack;
26360 } = _menhir_stack in
26361 let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_pos_ = Obj.magic x in
26362 let _startpos = _startpos_x_ in
26363 let _endpos = _endpos_x_ in
26364 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_pos__ =
26365 # 144 "standard.mly"
26366 ( [ x ] )
26367 # 26368 "parser_cocci_menhir.ml"
26368 in
26369 _menhir_env.MenhirLib.EngineTypes.stack <- {
26370 MenhirLib.EngineTypes.state = _menhir_s;
26371 MenhirLib.EngineTypes.semv = Obj.repr _v;
26372 MenhirLib.EngineTypes.startp = _startpos;
26373 MenhirLib.EngineTypes.endp = _endpos;
26374 MenhirLib.EngineTypes.next = _menhir_stack;
26375 });
26376 (fun _menhir_env ->
26377 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26378 let {
26379 MenhirLib.EngineTypes.semv = xs;
26380 MenhirLib.EngineTypes.startp = _startpos_xs_;
26381 MenhirLib.EngineTypes.endp = _endpos_xs_;
26382 MenhirLib.EngineTypes.next = {
26383 MenhirLib.EngineTypes.startp = _startpos__2_;
26384 MenhirLib.EngineTypes.endp = _endpos__2_;
26385 MenhirLib.EngineTypes.next = {
26386 MenhirLib.EngineTypes.state = _menhir_s;
26387 MenhirLib.EngineTypes.semv = x;
26388 MenhirLib.EngineTypes.startp = _startpos_x_;
26389 MenhirLib.EngineTypes.endp = _endpos_x_;
26390 MenhirLib.EngineTypes.next = _menhir_stack;
26391 };
26392 };
26393 } = _menhir_stack in
26394 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_pos__ = Obj.magic xs in
26395 let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_pos_ = Obj.magic x in
26396 let _startpos = _startpos_x_ in
26397 let _endpos = _endpos_xs_ in
26398 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_pos__ =
26399 # 146 "standard.mly"
26400 ( x :: xs )
26401 # 26402 "parser_cocci_menhir.ml"
26402 in
26403 _menhir_env.MenhirLib.EngineTypes.stack <- {
26404 MenhirLib.EngineTypes.state = _menhir_s;
26405 MenhirLib.EngineTypes.semv = Obj.repr _v;
26406 MenhirLib.EngineTypes.startp = _startpos;
26407 MenhirLib.EngineTypes.endp = _endpos;
26408 MenhirLib.EngineTypes.next = _menhir_stack;
26409 });
26410 (fun _menhir_env ->
26411 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26412 let {
26413 MenhirLib.EngineTypes.state = _menhir_s;
26414 MenhirLib.EngineTypes.semv = x;
26415 MenhirLib.EngineTypes.startp = _startpos_x_;
26416 MenhirLib.EngineTypes.endp = _endpos_x_;
26417 MenhirLib.EngineTypes.next = _menhir_stack;
26418 } = _menhir_stack in
26419 let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
26420 let _startpos = _startpos_x_ in
26421 let _endpos = _endpos_x_ in
26422 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
26423 # 144 "standard.mly"
26424 ( [ x ] )
26425 # 26426 "parser_cocci_menhir.ml"
26426 in
26427 _menhir_env.MenhirLib.EngineTypes.stack <- {
26428 MenhirLib.EngineTypes.state = _menhir_s;
26429 MenhirLib.EngineTypes.semv = Obj.repr _v;
26430 MenhirLib.EngineTypes.startp = _startpos;
26431 MenhirLib.EngineTypes.endp = _endpos;
26432 MenhirLib.EngineTypes.next = _menhir_stack;
26433 });
26434 (fun _menhir_env ->
26435 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26436 let {
26437 MenhirLib.EngineTypes.semv = xs;
26438 MenhirLib.EngineTypes.startp = _startpos_xs_;
26439 MenhirLib.EngineTypes.endp = _endpos_xs_;
26440 MenhirLib.EngineTypes.next = {
26441 MenhirLib.EngineTypes.startp = _startpos__2_;
26442 MenhirLib.EngineTypes.endp = _endpos__2_;
26443 MenhirLib.EngineTypes.next = {
26444 MenhirLib.EngineTypes.state = _menhir_s;
26445 MenhirLib.EngineTypes.semv = x;
26446 MenhirLib.EngineTypes.startp = _startpos_x_;
26447 MenhirLib.EngineTypes.endp = _endpos_x_;
26448 MenhirLib.EngineTypes.next = _menhir_stack;
26449 };
26450 };
26451 } = _menhir_stack in
26452 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic xs in
26453 let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
26454 let _startpos = _startpos_x_ in
26455 let _endpos = _endpos_xs_ in
26456 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
26457 # 146 "standard.mly"
26458 ( x :: xs )
26459 # 26460 "parser_cocci_menhir.ml"
26460 in
26461 _menhir_env.MenhirLib.EngineTypes.stack <- {
26462 MenhirLib.EngineTypes.state = _menhir_s;
26463 MenhirLib.EngineTypes.semv = Obj.repr _v;
26464 MenhirLib.EngineTypes.startp = _startpos;
26465 MenhirLib.EngineTypes.endp = _endpos;
26466 MenhirLib.EngineTypes.next = _menhir_stack;
26467 });
26468 (fun _menhir_env ->
26469 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26470 let {
26471 MenhirLib.EngineTypes.state = _menhir_s;
26472 MenhirLib.EngineTypes.semv = _1;
26473 MenhirLib.EngineTypes.startp = _startpos__1_;
26474 MenhirLib.EngineTypes.endp = _endpos__1_;
26475 MenhirLib.EngineTypes.next = _menhir_stack;
26476 } = _menhir_stack in
26477 let _1 : 'tv_statement = Obj.magic _1 in
26478 let _startpos = _startpos__1_ in
26479 let _endpos = _endpos__1_ in
26480 let _v : 'tv_single_statement =
26481 # 930 "parser_cocci_menhir.mly"
26482 ( _1 )
26483 # 26484 "parser_cocci_menhir.ml"
26484 in
26485 _menhir_env.MenhirLib.EngineTypes.stack <- {
26486 MenhirLib.EngineTypes.state = _menhir_s;
26487 MenhirLib.EngineTypes.semv = Obj.repr _v;
26488 MenhirLib.EngineTypes.startp = _startpos;
26489 MenhirLib.EngineTypes.endp = _endpos;
26490 MenhirLib.EngineTypes.next = _menhir_stack;
26491 });
26492 (fun _menhir_env ->
26493 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26494 let {
26495 MenhirLib.EngineTypes.semv = _3;
26496 MenhirLib.EngineTypes.startp = _startpos__3_;
26497 MenhirLib.EngineTypes.endp = _endpos__3_;
26498 MenhirLib.EngineTypes.next = {
26499 MenhirLib.EngineTypes.semv = _2;
26500 MenhirLib.EngineTypes.startp = _startpos__2_;
26501 MenhirLib.EngineTypes.endp = _endpos__2_;
26502 MenhirLib.EngineTypes.next = {
26503 MenhirLib.EngineTypes.state = _menhir_s;
26504 MenhirLib.EngineTypes.semv = _1;
26505 MenhirLib.EngineTypes.startp = _startpos__1_;
26506 MenhirLib.EngineTypes.endp = _endpos__1_;
26507 MenhirLib.EngineTypes.next = _menhir_stack;
26508 };
26509 };
26510 } = _menhir_stack in
26511 let _3 : (
26512 # 77 "parser_cocci_menhir.mly"
26513 (Data.clt)
26514 # 26515 "parser_cocci_menhir.ml"
26515 ) = Obj.magic _3 in
26516 let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in
26517 let _1 : (
26518 # 76 "parser_cocci_menhir.mly"
26519 (Data.clt)
26520 # 26521 "parser_cocci_menhir.ml"
26521 ) = Obj.magic _1 in
26522 let _startpos = _startpos__1_ in
26523 let _endpos = _endpos__3_ in
26524 let _v : 'tv_single_statement =
26525 # 934 "parser_cocci_menhir.mly"
26526 ( let (mids,code) = _2 in
26527 Ast0.wrap
26528 (Ast0.Disj(P.clt2mcode "(" _1,
26529 List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
26530 mids, P.clt2mcode ")" _3)) )
26531 # 26532 "parser_cocci_menhir.ml"
26532 in
26533 _menhir_env.MenhirLib.EngineTypes.stack <- {
26534 MenhirLib.EngineTypes.state = _menhir_s;
26535 MenhirLib.EngineTypes.semv = Obj.repr _v;
26536 MenhirLib.EngineTypes.startp = _startpos;
26537 MenhirLib.EngineTypes.endp = _endpos;
26538 MenhirLib.EngineTypes.next = _menhir_stack;
26539 });
26540 (fun _menhir_env ->
26541 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26542 let {
26543 MenhirLib.EngineTypes.state = _menhir_s;
26544 MenhirLib.EngineTypes.semv = _1;
26545 MenhirLib.EngineTypes.startp = _startpos__1_;
26546 MenhirLib.EngineTypes.endp = _endpos__1_;
26547 MenhirLib.EngineTypes.next = _menhir_stack;
26548 } = _menhir_stack in
26549 let _1 : 'tv_includes = Obj.magic _1 in
26550 let _startpos = _startpos__1_ in
26551 let _endpos = _endpos__1_ in
26552 let _v : 'tv_statement =
26553 # 857 "parser_cocci_menhir.mly"
26554 ( _1 )
26555 # 26556 "parser_cocci_menhir.ml"
26556 in
26557 _menhir_env.MenhirLib.EngineTypes.stack <- {
26558 MenhirLib.EngineTypes.state = _menhir_s;
26559 MenhirLib.EngineTypes.semv = Obj.repr _v;
26560 MenhirLib.EngineTypes.startp = _startpos;
26561 MenhirLib.EngineTypes.endp = _endpos;
26562 MenhirLib.EngineTypes.next = _menhir_stack;
26563 });
26564 (fun _menhir_env ->
26565 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26566 let {
26567 MenhirLib.EngineTypes.state = _menhir_s;
26568 MenhirLib.EngineTypes.semv = _1;
26569 MenhirLib.EngineTypes.startp = _startpos__1_;
26570 MenhirLib.EngineTypes.endp = _endpos__1_;
26571 MenhirLib.EngineTypes.next = _menhir_stack;
26572 } = _menhir_stack in
26573 let _1 : (
26574 # 64 "parser_cocci_menhir.mly"
26575 (Parse_aux.info)
26576 # 26577 "parser_cocci_menhir.ml"
26577 ) = Obj.magic _1 in
26578 let _startpos = _startpos__1_ in
26579 let _endpos = _endpos__1_ in
26580 let _v : 'tv_statement =
26581 # 859 "parser_cocci_menhir.mly"
26582 ( P.meta_stm _1 )
26583 # 26584 "parser_cocci_menhir.ml"
26584 in
26585 _menhir_env.MenhirLib.EngineTypes.stack <- {
26586 MenhirLib.EngineTypes.state = _menhir_s;
26587 MenhirLib.EngineTypes.semv = Obj.repr _v;
26588 MenhirLib.EngineTypes.startp = _startpos;
26589 MenhirLib.EngineTypes.endp = _endpos;
26590 MenhirLib.EngineTypes.next = _menhir_stack;
26591 });
26592 (fun _menhir_env ->
26593 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26594 let {
26595 MenhirLib.EngineTypes.semv = _2;
26596 MenhirLib.EngineTypes.startp = _startpos__2_;
26597 MenhirLib.EngineTypes.endp = _endpos__2_;
26598 MenhirLib.EngineTypes.next = {
26599 MenhirLib.EngineTypes.state = _menhir_s;
26600 MenhirLib.EngineTypes.semv = _1;
26601 MenhirLib.EngineTypes.startp = _startpos__1_;
26602 MenhirLib.EngineTypes.endp = _endpos__1_;
26603 MenhirLib.EngineTypes.next = _menhir_stack;
26604 };
26605 } = _menhir_stack in
26606 let _2 : (
26607 # 107 "parser_cocci_menhir.mly"
26608 (Data.clt)
26609 # 26610 "parser_cocci_menhir.ml"
26610 ) = Obj.magic _2 in
26611 let _1 : 'tv_expr = Obj.magic _1 in
26612 let _startpos = _startpos__1_ in
26613 let _endpos = _endpos__2_ in
26614 let _v : 'tv_statement =
26615 # 861 "parser_cocci_menhir.mly"
26616 ( P.exp_stm _1 _2 )
26617 # 26618 "parser_cocci_menhir.ml"
26618 in
26619 _menhir_env.MenhirLib.EngineTypes.stack <- {
26620 MenhirLib.EngineTypes.state = _menhir_s;
26621 MenhirLib.EngineTypes.semv = Obj.repr _v;
26622 MenhirLib.EngineTypes.startp = _startpos;
26623 MenhirLib.EngineTypes.endp = _endpos;
26624 MenhirLib.EngineTypes.next = _menhir_stack;
26625 });
26626 (fun _menhir_env ->
26627 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26628 let {
26629 MenhirLib.EngineTypes.semv = _5;
26630 MenhirLib.EngineTypes.startp = _startpos__5_;
26631 MenhirLib.EngineTypes.endp = _endpos__5_;
26632 MenhirLib.EngineTypes.next = {
26633 MenhirLib.EngineTypes.semv = _4;
26634 MenhirLib.EngineTypes.startp = _startpos__4_;
26635 MenhirLib.EngineTypes.endp = _endpos__4_;
26636 MenhirLib.EngineTypes.next = {
26637 MenhirLib.EngineTypes.semv = _3;
26638 MenhirLib.EngineTypes.startp = _startpos__3_;
26639 MenhirLib.EngineTypes.endp = _endpos__3_;
26640 MenhirLib.EngineTypes.next = {
26641 MenhirLib.EngineTypes.semv = _2;
26642 MenhirLib.EngineTypes.startp = _startpos__2_;
26643 MenhirLib.EngineTypes.endp = _endpos__2_;
26644 MenhirLib.EngineTypes.next = {
26645 MenhirLib.EngineTypes.state = _menhir_s;
26646 MenhirLib.EngineTypes.semv = _1;
26647 MenhirLib.EngineTypes.startp = _startpos__1_;
26648 MenhirLib.EngineTypes.endp = _endpos__1_;
26649 MenhirLib.EngineTypes.next = _menhir_stack;
26650 };
26651 };
26652 };
26653 };
26654 } = _menhir_stack in
26655 let _5 : 'tv_single_statement = Obj.magic _5 in
26656 let _4 : (
26657 # 77 "parser_cocci_menhir.mly"
26658 (Data.clt)
26659 # 26660 "parser_cocci_menhir.ml"
26660 ) = Obj.magic _4 in
26661 let _3 : 'tv_eexpr = Obj.magic _3 in
26662 let _2 : (
26663 # 76 "parser_cocci_menhir.mly"
26664 (Data.clt)
26665 # 26666 "parser_cocci_menhir.ml"
26666 ) = Obj.magic _2 in
26667 let _1 : (
26668 # 57 "parser_cocci_menhir.mly"
26669 (Data.clt)
26670 # 26671 "parser_cocci_menhir.ml"
26671 ) = Obj.magic _1 in
26672 let _startpos = _startpos__1_ in
26673 let _endpos = _endpos__5_ in
26674 let _v : 'tv_statement =
26675 # 863 "parser_cocci_menhir.mly"
26676 ( P.ifthen _1 _2 _3 _4 _5 )
26677 # 26678 "parser_cocci_menhir.ml"
26678 in
26679 _menhir_env.MenhirLib.EngineTypes.stack <- {
26680 MenhirLib.EngineTypes.state = _menhir_s;
26681 MenhirLib.EngineTypes.semv = Obj.repr _v;
26682 MenhirLib.EngineTypes.startp = _startpos;
26683 MenhirLib.EngineTypes.endp = _endpos;
26684 MenhirLib.EngineTypes.next = _menhir_stack;
26685 });
26686 (fun _menhir_env ->
26687 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26688 let {
26689 MenhirLib.EngineTypes.semv = _7;
26690 MenhirLib.EngineTypes.startp = _startpos__7_;
26691 MenhirLib.EngineTypes.endp = _endpos__7_;
26692 MenhirLib.EngineTypes.next = {
26693 MenhirLib.EngineTypes.semv = _6;
26694 MenhirLib.EngineTypes.startp = _startpos__6_;
26695 MenhirLib.EngineTypes.endp = _endpos__6_;
26696 MenhirLib.EngineTypes.next = {
26697 MenhirLib.EngineTypes.semv = _5;
26698 MenhirLib.EngineTypes.startp = _startpos__5_;
26699 MenhirLib.EngineTypes.endp = _endpos__5_;
26700 MenhirLib.EngineTypes.next = {
26701 MenhirLib.EngineTypes.semv = _4;
26702 MenhirLib.EngineTypes.startp = _startpos__4_;
26703 MenhirLib.EngineTypes.endp = _endpos__4_;
26704 MenhirLib.EngineTypes.next = {
26705 MenhirLib.EngineTypes.semv = _3;
26706 MenhirLib.EngineTypes.startp = _startpos__3_;
26707 MenhirLib.EngineTypes.endp = _endpos__3_;
26708 MenhirLib.EngineTypes.next = {
26709 MenhirLib.EngineTypes.semv = _2;
26710 MenhirLib.EngineTypes.startp = _startpos__2_;
26711 MenhirLib.EngineTypes.endp = _endpos__2_;
26712 MenhirLib.EngineTypes.next = {
26713 MenhirLib.EngineTypes.state = _menhir_s;
26714 MenhirLib.EngineTypes.semv = _1;
26715 MenhirLib.EngineTypes.startp = _startpos__1_;
26716 MenhirLib.EngineTypes.endp = _endpos__1_;
26717 MenhirLib.EngineTypes.next = _menhir_stack;
26718 };
26719 };
26720 };
26721 };
26722 };
26723 };
26724 } = _menhir_stack in
26725 let _7 : 'tv_single_statement = Obj.magic _7 in
26726 let _6 : (
26727 # 57 "parser_cocci_menhir.mly"
26728 (Data.clt)
26729 # 26730 "parser_cocci_menhir.ml"
26730 ) = Obj.magic _6 in
26731 let _5 : 'tv_single_statement = Obj.magic _5 in
26732 let _4 : (
26733 # 77 "parser_cocci_menhir.mly"
26734 (Data.clt)
26735 # 26736 "parser_cocci_menhir.ml"
26736 ) = Obj.magic _4 in
26737 let _3 : 'tv_eexpr = Obj.magic _3 in
26738 let _2 : (
26739 # 76 "parser_cocci_menhir.mly"
26740 (Data.clt)
26741 # 26742 "parser_cocci_menhir.ml"
26742 ) = Obj.magic _2 in
26743 let _1 : (
26744 # 57 "parser_cocci_menhir.mly"
26745 (Data.clt)
26746 # 26747 "parser_cocci_menhir.ml"
26747 ) = Obj.magic _1 in
26748 let _startpos = _startpos__1_ in
26749 let _endpos = _endpos__7_ in
26750 let _v : 'tv_statement =
26751 # 865 "parser_cocci_menhir.mly"
26752 ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 )
26753 # 26754 "parser_cocci_menhir.ml"
26754 in
26755 _menhir_env.MenhirLib.EngineTypes.stack <- {
26756 MenhirLib.EngineTypes.state = _menhir_s;
26757 MenhirLib.EngineTypes.semv = Obj.repr _v;
26758 MenhirLib.EngineTypes.startp = _startpos;
26759 MenhirLib.EngineTypes.endp = _endpos;
26760 MenhirLib.EngineTypes.next = _menhir_stack;
26761 });
26762 (fun _menhir_env ->
26763 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26764 let {
26765 MenhirLib.EngineTypes.semv = _9;
26766 MenhirLib.EngineTypes.startp = _startpos__9_;
26767 MenhirLib.EngineTypes.endp = _endpos__9_;
26768 MenhirLib.EngineTypes.next = {
26769 MenhirLib.EngineTypes.semv = _8;
26770 MenhirLib.EngineTypes.startp = _startpos__8_;
26771 MenhirLib.EngineTypes.endp = _endpos__8_;
26772 MenhirLib.EngineTypes.next = {
26773 MenhirLib.EngineTypes.semv = _7;
26774 MenhirLib.EngineTypes.startp = _startpos__7_;
26775 MenhirLib.EngineTypes.endp = _endpos__7_;
26776 MenhirLib.EngineTypes.next = {
26777 MenhirLib.EngineTypes.semv = _6;
26778 MenhirLib.EngineTypes.startp = _startpos__6_;
26779 MenhirLib.EngineTypes.endp = _endpos__6_;
26780 MenhirLib.EngineTypes.next = {
26781 MenhirLib.EngineTypes.semv = _5;
26782 MenhirLib.EngineTypes.startp = _startpos__5_;
26783 MenhirLib.EngineTypes.endp = _endpos__5_;
26784 MenhirLib.EngineTypes.next = {
26785 MenhirLib.EngineTypes.semv = _4;
26786 MenhirLib.EngineTypes.startp = _startpos__4_;
26787 MenhirLib.EngineTypes.endp = _endpos__4_;
26788 MenhirLib.EngineTypes.next = {
26789 MenhirLib.EngineTypes.semv = _3;
26790 MenhirLib.EngineTypes.startp = _startpos__3_;
26791 MenhirLib.EngineTypes.endp = _endpos__3_;
26792 MenhirLib.EngineTypes.next = {
26793 MenhirLib.EngineTypes.semv = _2;
26794 MenhirLib.EngineTypes.startp = _startpos__2_;
26795 MenhirLib.EngineTypes.endp = _endpos__2_;
26796 MenhirLib.EngineTypes.next = {
26797 MenhirLib.EngineTypes.state = _menhir_s;
26798 MenhirLib.EngineTypes.semv = _1;
26799 MenhirLib.EngineTypes.startp = _startpos__1_;
26800 MenhirLib.EngineTypes.endp = _endpos__1_;
26801 MenhirLib.EngineTypes.next = _menhir_stack;
26802 };
26803 };
26804 };
26805 };
26806 };
26807 };
26808 };
26809 };
26810 } = _menhir_stack in
26811 let _9 : 'tv_single_statement = Obj.magic _9 in
26812 let _8 : (
26813 # 77 "parser_cocci_menhir.mly"
26814 (Data.clt)
26815 # 26816 "parser_cocci_menhir.ml"
26816 ) = Obj.magic _8 in
26817 let _7 : 'tv_option_eexpr_ = Obj.magic _7 in
26818 let _6 : (
26819 # 107 "parser_cocci_menhir.mly"
26820 (Data.clt)
26821 # 26822 "parser_cocci_menhir.ml"
26822 ) = Obj.magic _6 in
26823 let _5 : 'tv_option_eexpr_ = Obj.magic _5 in
26824 let _4 : (
26825 # 107 "parser_cocci_menhir.mly"
26826 (Data.clt)
26827 # 26828 "parser_cocci_menhir.ml"
26828 ) = Obj.magic _4 in
26829 let _3 : 'tv_option_eexpr_ = Obj.magic _3 in
26830 let _2 : (
26831 # 76 "parser_cocci_menhir.mly"
26832 (Data.clt)
26833 # 26834 "parser_cocci_menhir.ml"
26834 ) = Obj.magic _2 in
26835 let _1 : (
26836 # 57 "parser_cocci_menhir.mly"
26837 (Data.clt)
26838 # 26839 "parser_cocci_menhir.ml"
26839 ) = Obj.magic _1 in
26840 let _startpos = _startpos__1_ in
26841 let _endpos = _endpos__9_ in
26842 let _v : 'tv_statement =
26843 # 868 "parser_cocci_menhir.mly"
26844 ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 )
26845 # 26846 "parser_cocci_menhir.ml"
26846 in
26847 _menhir_env.MenhirLib.EngineTypes.stack <- {
26848 MenhirLib.EngineTypes.state = _menhir_s;
26849 MenhirLib.EngineTypes.semv = Obj.repr _v;
26850 MenhirLib.EngineTypes.startp = _startpos;
26851 MenhirLib.EngineTypes.endp = _endpos;
26852 MenhirLib.EngineTypes.next = _menhir_stack;
26853 });
26854 (fun _menhir_env ->
26855 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26856 let {
26857 MenhirLib.EngineTypes.semv = _5;
26858 MenhirLib.EngineTypes.startp = _startpos__5_;
26859 MenhirLib.EngineTypes.endp = _endpos__5_;
26860 MenhirLib.EngineTypes.next = {
26861 MenhirLib.EngineTypes.semv = _4;
26862 MenhirLib.EngineTypes.startp = _startpos__4_;
26863 MenhirLib.EngineTypes.endp = _endpos__4_;
26864 MenhirLib.EngineTypes.next = {
26865 MenhirLib.EngineTypes.semv = _3;
26866 MenhirLib.EngineTypes.startp = _startpos__3_;
26867 MenhirLib.EngineTypes.endp = _endpos__3_;
26868 MenhirLib.EngineTypes.next = {
26869 MenhirLib.EngineTypes.semv = _2;
26870 MenhirLib.EngineTypes.startp = _startpos__2_;
26871 MenhirLib.EngineTypes.endp = _endpos__2_;
26872 MenhirLib.EngineTypes.next = {
26873 MenhirLib.EngineTypes.state = _menhir_s;
26874 MenhirLib.EngineTypes.semv = _1;
26875 MenhirLib.EngineTypes.startp = _startpos__1_;
26876 MenhirLib.EngineTypes.endp = _endpos__1_;
26877 MenhirLib.EngineTypes.next = _menhir_stack;
26878 };
26879 };
26880 };
26881 };
26882 } = _menhir_stack in
26883 let _5 : 'tv_single_statement = Obj.magic _5 in
26884 let _4 : (
26885 # 77 "parser_cocci_menhir.mly"
26886 (Data.clt)
26887 # 26888 "parser_cocci_menhir.ml"
26888 ) = Obj.magic _4 in
26889 let _3 : 'tv_eexpr = Obj.magic _3 in
26890 let _2 : (
26891 # 76 "parser_cocci_menhir.mly"
26892 (Data.clt)
26893 # 26894 "parser_cocci_menhir.ml"
26894 ) = Obj.magic _2 in
26895 let _1 : (
26896 # 57 "parser_cocci_menhir.mly"
26897 (Data.clt)
26898 # 26899 "parser_cocci_menhir.ml"
26899 ) = Obj.magic _1 in
26900 let _startpos = _startpos__1_ in
26901 let _endpos = _endpos__5_ in
26902 let _v : 'tv_statement =
26903 # 870 "parser_cocci_menhir.mly"
26904 ( P.whileloop _1 _2 _3 _4 _5 )
26905 # 26906 "parser_cocci_menhir.ml"
26906 in
26907 _menhir_env.MenhirLib.EngineTypes.stack <- {
26908 MenhirLib.EngineTypes.state = _menhir_s;
26909 MenhirLib.EngineTypes.semv = Obj.repr _v;
26910 MenhirLib.EngineTypes.startp = _startpos;
26911 MenhirLib.EngineTypes.endp = _endpos;
26912 MenhirLib.EngineTypes.next = _menhir_stack;
26913 });
26914 (fun _menhir_env ->
26915 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26916 let {
26917 MenhirLib.EngineTypes.semv = _7;
26918 MenhirLib.EngineTypes.startp = _startpos__7_;
26919 MenhirLib.EngineTypes.endp = _endpos__7_;
26920 MenhirLib.EngineTypes.next = {
26921 MenhirLib.EngineTypes.semv = _6;
26922 MenhirLib.EngineTypes.startp = _startpos__6_;
26923 MenhirLib.EngineTypes.endp = _endpos__6_;
26924 MenhirLib.EngineTypes.next = {
26925 MenhirLib.EngineTypes.semv = _5;
26926 MenhirLib.EngineTypes.startp = _startpos__5_;
26927 MenhirLib.EngineTypes.endp = _endpos__5_;
26928 MenhirLib.EngineTypes.next = {
26929 MenhirLib.EngineTypes.semv = _4;
26930 MenhirLib.EngineTypes.startp = _startpos__4_;
26931 MenhirLib.EngineTypes.endp = _endpos__4_;
26932 MenhirLib.EngineTypes.next = {
26933 MenhirLib.EngineTypes.semv = _3;
26934 MenhirLib.EngineTypes.startp = _startpos__3_;
26935 MenhirLib.EngineTypes.endp = _endpos__3_;
26936 MenhirLib.EngineTypes.next = {
26937 MenhirLib.EngineTypes.semv = _2;
26938 MenhirLib.EngineTypes.startp = _startpos__2_;
26939 MenhirLib.EngineTypes.endp = _endpos__2_;
26940 MenhirLib.EngineTypes.next = {
26941 MenhirLib.EngineTypes.state = _menhir_s;
26942 MenhirLib.EngineTypes.semv = _1;
26943 MenhirLib.EngineTypes.startp = _startpos__1_;
26944 MenhirLib.EngineTypes.endp = _endpos__1_;
26945 MenhirLib.EngineTypes.next = _menhir_stack;
26946 };
26947 };
26948 };
26949 };
26950 };
26951 };
26952 } = _menhir_stack in
26953 let _7 : (
26954 # 107 "parser_cocci_menhir.mly"
26955 (Data.clt)
26956 # 26957 "parser_cocci_menhir.ml"
26957 ) = Obj.magic _7 in
26958 let _6 : (
26959 # 77 "parser_cocci_menhir.mly"
26960 (Data.clt)
26961 # 26962 "parser_cocci_menhir.ml"
26962 ) = Obj.magic _6 in
26963 let _5 : 'tv_eexpr = Obj.magic _5 in
26964 let _4 : (
26965 # 76 "parser_cocci_menhir.mly"
26966 (Data.clt)
26967 # 26968 "parser_cocci_menhir.ml"
26968 ) = Obj.magic _4 in
26969 let _3 : (
26970 # 57 "parser_cocci_menhir.mly"
26971 (Data.clt)
26972 # 26973 "parser_cocci_menhir.ml"
26973 ) = Obj.magic _3 in
26974 let _2 : 'tv_single_statement = Obj.magic _2 in
26975 let _1 : (
26976 # 57 "parser_cocci_menhir.mly"
26977 (Data.clt)
26978 # 26979 "parser_cocci_menhir.ml"
26979 ) = Obj.magic _1 in
26980 let _startpos = _startpos__1_ in
26981 let _endpos = _endpos__7_ in
26982 let _v : 'tv_statement =
26983 # 872 "parser_cocci_menhir.mly"
26984 ( P.doloop _1 _2 _3 _4 _5 _6 _7 )
26985 # 26986 "parser_cocci_menhir.ml"
26986 in
26987 _menhir_env.MenhirLib.EngineTypes.stack <- {
26988 MenhirLib.EngineTypes.state = _menhir_s;
26989 MenhirLib.EngineTypes.semv = Obj.repr _v;
26990 MenhirLib.EngineTypes.startp = _startpos;
26991 MenhirLib.EngineTypes.endp = _endpos;
26992 MenhirLib.EngineTypes.next = _menhir_stack;
26993 });
26994 (fun _menhir_env ->
26995 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26996 let {
26997 MenhirLib.EngineTypes.semv = _5;
26998 MenhirLib.EngineTypes.startp = _startpos__5_;
26999 MenhirLib.EngineTypes.endp = _endpos__5_;
27000 MenhirLib.EngineTypes.next = {
27001 MenhirLib.EngineTypes.semv = _4;
27002 MenhirLib.EngineTypes.startp = _startpos__4_;
27003 MenhirLib.EngineTypes.endp = _endpos__4_;
27004 MenhirLib.EngineTypes.next = {
27005 MenhirLib.EngineTypes.semv = _3;
27006 MenhirLib.EngineTypes.startp = _startpos__3_;
27007 MenhirLib.EngineTypes.endp = _endpos__3_;
27008 MenhirLib.EngineTypes.next = {
27009 MenhirLib.EngineTypes.semv = _2;
27010 MenhirLib.EngineTypes.startp = _startpos__2_;
27011 MenhirLib.EngineTypes.endp = _endpos__2_;
27012 MenhirLib.EngineTypes.next = {
27013 MenhirLib.EngineTypes.state = _menhir_s;
27014 MenhirLib.EngineTypes.semv = _1;
27015 MenhirLib.EngineTypes.startp = _startpos__1_;
27016 MenhirLib.EngineTypes.endp = _endpos__1_;
27017 MenhirLib.EngineTypes.next = _menhir_stack;
27018 };
27019 };
27020 };
27021 };
27022 } = _menhir_stack in
27023 let _5 : 'tv_single_statement = Obj.magic _5 in
27024 let _4 : (
27025 # 77 "parser_cocci_menhir.mly"
27026 (Data.clt)
27027 # 27028 "parser_cocci_menhir.ml"
27028 ) = Obj.magic _4 in
27029 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
27030 let _2 : (
27031 # 76 "parser_cocci_menhir.mly"
27032 (Data.clt)
27033 # 27034 "parser_cocci_menhir.ml"
27034 ) = Obj.magic _2 in
27035 let _1 : 'tv_iter_ident = Obj.magic _1 in
27036 let _startpos = _startpos__1_ in
27037 let _endpos = _endpos__5_ in
27038 let _v : 'tv_statement =
27039 # 874 "parser_cocci_menhir.mly"
27040 ( P.iterator _1 _2 _3 _4 _5 )
27041 # 27042 "parser_cocci_menhir.ml"
27042 in
27043 _menhir_env.MenhirLib.EngineTypes.stack <- {
27044 MenhirLib.EngineTypes.state = _menhir_s;
27045 MenhirLib.EngineTypes.semv = Obj.repr _v;
27046 MenhirLib.EngineTypes.startp = _startpos;
27047 MenhirLib.EngineTypes.endp = _endpos;
27048 MenhirLib.EngineTypes.next = _menhir_stack;
27049 });
27050 (fun _menhir_env ->
27051 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27052 let {
27053 MenhirLib.EngineTypes.semv = _7;
27054 MenhirLib.EngineTypes.startp = _startpos__7_;
27055 MenhirLib.EngineTypes.endp = _endpos__7_;
27056 MenhirLib.EngineTypes.next = {
27057 MenhirLib.EngineTypes.semv = _6;
27058 MenhirLib.EngineTypes.startp = _startpos__6_;
27059 MenhirLib.EngineTypes.endp = _endpos__6_;
27060 MenhirLib.EngineTypes.next = {
27061 MenhirLib.EngineTypes.semv = _5;
27062 MenhirLib.EngineTypes.startp = _startpos__5_;
27063 MenhirLib.EngineTypes.endp = _endpos__5_;
27064 MenhirLib.EngineTypes.next = {
27065 MenhirLib.EngineTypes.semv = _4;
27066 MenhirLib.EngineTypes.startp = _startpos__4_;
27067 MenhirLib.EngineTypes.endp = _endpos__4_;
27068 MenhirLib.EngineTypes.next = {
27069 MenhirLib.EngineTypes.semv = _3;
27070 MenhirLib.EngineTypes.startp = _startpos__3_;
27071 MenhirLib.EngineTypes.endp = _endpos__3_;
27072 MenhirLib.EngineTypes.next = {
27073 MenhirLib.EngineTypes.semv = _2;
27074 MenhirLib.EngineTypes.startp = _startpos__2_;
27075 MenhirLib.EngineTypes.endp = _endpos__2_;
27076 MenhirLib.EngineTypes.next = {
27077 MenhirLib.EngineTypes.state = _menhir_s;
27078 MenhirLib.EngineTypes.semv = _1;
27079 MenhirLib.EngineTypes.startp = _startpos__1_;
27080 MenhirLib.EngineTypes.endp = _endpos__1_;
27081 MenhirLib.EngineTypes.next = _menhir_stack;
27082 };
27083 };
27084 };
27085 };
27086 };
27087 };
27088 } = _menhir_stack in
27089 let _7 : (
27090 # 101 "parser_cocci_menhir.mly"
27091 (Data.clt)
27092 # 27093 "parser_cocci_menhir.ml"
27093 ) = Obj.magic _7 in
27094 let _6 : 'tv_list_case_line_ = Obj.magic _6 in
27095 let _5 : (
27096 # 101 "parser_cocci_menhir.mly"
27097 (Data.clt)
27098 # 27099 "parser_cocci_menhir.ml"
27099 ) = Obj.magic _5 in
27100 let _4 : (
27101 # 77 "parser_cocci_menhir.mly"
27102 (Data.clt)
27103 # 27104 "parser_cocci_menhir.ml"
27104 ) = Obj.magic _4 in
27105 let _3 : 'tv_eexpr = Obj.magic _3 in
27106 let _2 : (
27107 # 76 "parser_cocci_menhir.mly"
27108 (Data.clt)
27109 # 27110 "parser_cocci_menhir.ml"
27110 ) = Obj.magic _2 in
27111 let _1 : (
27112 # 57 "parser_cocci_menhir.mly"
27113 (Data.clt)
27114 # 27115 "parser_cocci_menhir.ml"
27115 ) = Obj.magic _1 in
27116 let _startpos = _startpos__1_ in
27117 let _endpos = _endpos__7_ in
27118 let _v : 'tv_statement =
27119 # 876 "parser_cocci_menhir.mly"
27120 ( P.switch _1 _2 _3 _4 _5 _6 _7 )
27121 # 27122 "parser_cocci_menhir.ml"
27122 in
27123 _menhir_env.MenhirLib.EngineTypes.stack <- {
27124 MenhirLib.EngineTypes.state = _menhir_s;
27125 MenhirLib.EngineTypes.semv = Obj.repr _v;
27126 MenhirLib.EngineTypes.startp = _startpos;
27127 MenhirLib.EngineTypes.endp = _endpos;
27128 MenhirLib.EngineTypes.next = _menhir_stack;
27129 });
27130 (fun _menhir_env ->
27131 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27132 let {
27133 MenhirLib.EngineTypes.semv = _3;
27134 MenhirLib.EngineTypes.startp = _startpos__3_;
27135 MenhirLib.EngineTypes.endp = _endpos__3_;
27136 MenhirLib.EngineTypes.next = {
27137 MenhirLib.EngineTypes.semv = _2;
27138 MenhirLib.EngineTypes.startp = _startpos__2_;
27139 MenhirLib.EngineTypes.endp = _endpos__2_;
27140 MenhirLib.EngineTypes.next = {
27141 MenhirLib.EngineTypes.state = _menhir_s;
27142 MenhirLib.EngineTypes.semv = _1;
27143 MenhirLib.EngineTypes.startp = _startpos__1_;
27144 MenhirLib.EngineTypes.endp = _endpos__1_;
27145 MenhirLib.EngineTypes.next = _menhir_stack;
27146 };
27147 };
27148 } = _menhir_stack in
27149 let _3 : (
27150 # 107 "parser_cocci_menhir.mly"
27151 (Data.clt)
27152 # 27153 "parser_cocci_menhir.ml"
27153 ) = Obj.magic _3 in
27154 let _2 : 'tv_eexpr = Obj.magic _2 in
27155 let _1 : (
27156 # 57 "parser_cocci_menhir.mly"
27157 (Data.clt)
27158 # 27159 "parser_cocci_menhir.ml"
27159 ) = Obj.magic _1 in
27160 let _startpos = _startpos__1_ in
27161 let _endpos = _endpos__3_ in
27162 let _v : 'tv_statement =
27163 # 877 "parser_cocci_menhir.mly"
27164 ( P.ret_exp _1 _2 _3 )
27165 # 27166 "parser_cocci_menhir.ml"
27166 in
27167 _menhir_env.MenhirLib.EngineTypes.stack <- {
27168 MenhirLib.EngineTypes.state = _menhir_s;
27169 MenhirLib.EngineTypes.semv = Obj.repr _v;
27170 MenhirLib.EngineTypes.startp = _startpos;
27171 MenhirLib.EngineTypes.endp = _endpos;
27172 MenhirLib.EngineTypes.next = _menhir_stack;
27173 });
27174 (fun _menhir_env ->
27175 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27176 let {
27177 MenhirLib.EngineTypes.semv = _2;
27178 MenhirLib.EngineTypes.startp = _startpos__2_;
27179 MenhirLib.EngineTypes.endp = _endpos__2_;
27180 MenhirLib.EngineTypes.next = {
27181 MenhirLib.EngineTypes.state = _menhir_s;
27182 MenhirLib.EngineTypes.semv = _1;
27183 MenhirLib.EngineTypes.startp = _startpos__1_;
27184 MenhirLib.EngineTypes.endp = _endpos__1_;
27185 MenhirLib.EngineTypes.next = _menhir_stack;
27186 };
27187 } = _menhir_stack in
27188 let _2 : (
27189 # 107 "parser_cocci_menhir.mly"
27190 (Data.clt)
27191 # 27192 "parser_cocci_menhir.ml"
27192 ) = Obj.magic _2 in
27193 let _1 : (
27194 # 57 "parser_cocci_menhir.mly"
27195 (Data.clt)
27196 # 27197 "parser_cocci_menhir.ml"
27197 ) = Obj.magic _1 in
27198 let _startpos = _startpos__1_ in
27199 let _endpos = _endpos__2_ in
27200 let _v : 'tv_statement =
27201 # 878 "parser_cocci_menhir.mly"
27202 ( P.ret _1 _2 )
27203 # 27204 "parser_cocci_menhir.ml"
27204 in
27205 _menhir_env.MenhirLib.EngineTypes.stack <- {
27206 MenhirLib.EngineTypes.state = _menhir_s;
27207 MenhirLib.EngineTypes.semv = Obj.repr _v;
27208 MenhirLib.EngineTypes.startp = _startpos;
27209 MenhirLib.EngineTypes.endp = _endpos;
27210 MenhirLib.EngineTypes.next = _menhir_stack;
27211 });
27212 (fun _menhir_env ->
27213 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27214 let {
27215 MenhirLib.EngineTypes.semv = _2;
27216 MenhirLib.EngineTypes.startp = _startpos__2_;
27217 MenhirLib.EngineTypes.endp = _endpos__2_;
27218 MenhirLib.EngineTypes.next = {
27219 MenhirLib.EngineTypes.state = _menhir_s;
27220 MenhirLib.EngineTypes.semv = _1;
27221 MenhirLib.EngineTypes.startp = _startpos__1_;
27222 MenhirLib.EngineTypes.endp = _endpos__1_;
27223 MenhirLib.EngineTypes.next = _menhir_stack;
27224 };
27225 } = _menhir_stack in
27226 let _2 : (
27227 # 107 "parser_cocci_menhir.mly"
27228 (Data.clt)
27229 # 27230 "parser_cocci_menhir.ml"
27230 ) = Obj.magic _2 in
27231 let _1 : (
27232 # 58 "parser_cocci_menhir.mly"
27233 (Data.clt)
27234 # 27235 "parser_cocci_menhir.ml"
27235 ) = Obj.magic _1 in
27236 let _startpos = _startpos__1_ in
27237 let _endpos = _endpos__2_ in
27238 let _v : 'tv_statement =
27239 # 879 "parser_cocci_menhir.mly"
27240 ( P.break _1 _2 )
27241 # 27242 "parser_cocci_menhir.ml"
27242 in
27243 _menhir_env.MenhirLib.EngineTypes.stack <- {
27244 MenhirLib.EngineTypes.state = _menhir_s;
27245 MenhirLib.EngineTypes.semv = Obj.repr _v;
27246 MenhirLib.EngineTypes.startp = _startpos;
27247 MenhirLib.EngineTypes.endp = _endpos;
27248 MenhirLib.EngineTypes.next = _menhir_stack;
27249 });
27250 (fun _menhir_env ->
27251 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27252 let {
27253 MenhirLib.EngineTypes.semv = _2;
27254 MenhirLib.EngineTypes.startp = _startpos__2_;
27255 MenhirLib.EngineTypes.endp = _endpos__2_;
27256 MenhirLib.EngineTypes.next = {
27257 MenhirLib.EngineTypes.state = _menhir_s;
27258 MenhirLib.EngineTypes.semv = _1;
27259 MenhirLib.EngineTypes.startp = _startpos__1_;
27260 MenhirLib.EngineTypes.endp = _endpos__1_;
27261 MenhirLib.EngineTypes.next = _menhir_stack;
27262 };
27263 } = _menhir_stack in
27264 let _2 : (
27265 # 107 "parser_cocci_menhir.mly"
27266 (Data.clt)
27267 # 27268 "parser_cocci_menhir.ml"
27268 ) = Obj.magic _2 in
27269 let _1 : (
27270 # 58 "parser_cocci_menhir.mly"
27271 (Data.clt)
27272 # 27273 "parser_cocci_menhir.ml"
27273 ) = Obj.magic _1 in
27274 let _startpos = _startpos__1_ in
27275 let _endpos = _endpos__2_ in
27276 let _v : 'tv_statement =
27277 # 880 "parser_cocci_menhir.mly"
27278 ( P.cont _1 _2 )
27279 # 27280 "parser_cocci_menhir.ml"
27280 in
27281 _menhir_env.MenhirLib.EngineTypes.stack <- {
27282 MenhirLib.EngineTypes.state = _menhir_s;
27283 MenhirLib.EngineTypes.semv = Obj.repr _v;
27284 MenhirLib.EngineTypes.startp = _startpos;
27285 MenhirLib.EngineTypes.endp = _endpos;
27286 MenhirLib.EngineTypes.next = _menhir_stack;
27287 });
27288 (fun _menhir_env ->
27289 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27290 let {
27291 MenhirLib.EngineTypes.semv = _2;
27292 MenhirLib.EngineTypes.startp = _startpos__2_;
27293 MenhirLib.EngineTypes.endp = _endpos__2_;
27294 MenhirLib.EngineTypes.next = {
27295 MenhirLib.EngineTypes.state = _menhir_s;
27296 MenhirLib.EngineTypes.semv = _1;
27297 MenhirLib.EngineTypes.startp = _startpos__1_;
27298 MenhirLib.EngineTypes.endp = _endpos__1_;
27299 MenhirLib.EngineTypes.next = _menhir_stack;
27300 };
27301 } = _menhir_stack in
27302 let _2 : (
27303 # 76 "parser_cocci_menhir.mly"
27304 (Data.clt)
27305 # 27306 "parser_cocci_menhir.ml"
27306 ) = Obj.magic _2 in
27307 let _1 : 'tv_ident = Obj.magic _1 in
27308 let _startpos = _startpos__1_ in
27309 let _endpos = _endpos__2_ in
27310 let _v : 'tv_statement =
27311 # 881 "parser_cocci_menhir.mly"
27312 ( P.label _1 _2 )
27313 # 27314 "parser_cocci_menhir.ml"
27314 in
27315 _menhir_env.MenhirLib.EngineTypes.stack <- {
27316 MenhirLib.EngineTypes.state = _menhir_s;
27317 MenhirLib.EngineTypes.semv = Obj.repr _v;
27318 MenhirLib.EngineTypes.startp = _startpos;
27319 MenhirLib.EngineTypes.endp = _endpos;
27320 MenhirLib.EngineTypes.next = _menhir_stack;
27321 });
27322 (fun _menhir_env ->
27323 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27324 let {
27325 MenhirLib.EngineTypes.semv = _3;
27326 MenhirLib.EngineTypes.startp = _startpos__3_;
27327 MenhirLib.EngineTypes.endp = _endpos__3_;
27328 MenhirLib.EngineTypes.next = {
27329 MenhirLib.EngineTypes.semv = _2;
27330 MenhirLib.EngineTypes.startp = _startpos__2_;
27331 MenhirLib.EngineTypes.endp = _endpos__2_;
27332 MenhirLib.EngineTypes.next = {
27333 MenhirLib.EngineTypes.state = _menhir_s;
27334 MenhirLib.EngineTypes.semv = _1;
27335 MenhirLib.EngineTypes.startp = _startpos__1_;
27336 MenhirLib.EngineTypes.endp = _endpos__1_;
27337 MenhirLib.EngineTypes.next = _menhir_stack;
27338 };
27339 };
27340 } = _menhir_stack in
27341 let _3 : (
27342 # 107 "parser_cocci_menhir.mly"
27343 (Data.clt)
27344 # 27345 "parser_cocci_menhir.ml"
27345 ) = Obj.magic _3 in
27346 let _2 : 'tv_ident = Obj.magic _2 in
27347 let _1 : (
27348 # 58 "parser_cocci_menhir.mly"
27349 (Data.clt)
27350 # 27351 "parser_cocci_menhir.ml"
27351 ) = Obj.magic _1 in
27352 let _startpos = _startpos__1_ in
27353 let _endpos = _endpos__3_ in
27354 let _v : 'tv_statement =
27355 # 882 "parser_cocci_menhir.mly"
27356 ( P.goto _1 _2 _3 )
27357 # 27358 "parser_cocci_menhir.ml"
27358 in
27359 _menhir_env.MenhirLib.EngineTypes.stack <- {
27360 MenhirLib.EngineTypes.state = _menhir_s;
27361 MenhirLib.EngineTypes.semv = Obj.repr _v;
27362 MenhirLib.EngineTypes.startp = _startpos;
27363 MenhirLib.EngineTypes.endp = _endpos;
27364 MenhirLib.EngineTypes.next = _menhir_stack;
27365 });
27366 (fun _menhir_env ->
27367 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27368 let {
27369 MenhirLib.EngineTypes.semv = _3;
27370 MenhirLib.EngineTypes.startp = _startpos__3_;
27371 MenhirLib.EngineTypes.endp = _endpos__3_;
27372 MenhirLib.EngineTypes.next = {
27373 MenhirLib.EngineTypes.semv = _2;
27374 MenhirLib.EngineTypes.startp = _startpos__2_;
27375 MenhirLib.EngineTypes.endp = _endpos__2_;
27376 MenhirLib.EngineTypes.next = {
27377 MenhirLib.EngineTypes.state = _menhir_s;
27378 MenhirLib.EngineTypes.semv = _1;
27379 MenhirLib.EngineTypes.startp = _startpos__1_;
27380 MenhirLib.EngineTypes.endp = _endpos__1_;
27381 MenhirLib.EngineTypes.next = _menhir_stack;
27382 };
27383 };
27384 } = _menhir_stack in
27385 let _3 : (
27386 # 101 "parser_cocci_menhir.mly"
27387 (Data.clt)
27388 # 27389 "parser_cocci_menhir.ml"
27389 ) = Obj.magic _3 in
27390 let _2 : 'tv_fun_start = Obj.magic _2 in
27391 let _1 : (
27392 # 101 "parser_cocci_menhir.mly"
27393 (Data.clt)
27394 # 27395 "parser_cocci_menhir.ml"
27395 ) = Obj.magic _1 in
27396 let _startpos = _startpos__1_ in
27397 let _endpos = _endpos__3_ in
27398 let _v : 'tv_statement =
27399 # 884 "parser_cocci_menhir.mly"
27400 ( P.seq _1 _2 _3 )
27401 # 27402 "parser_cocci_menhir.ml"
27402 in
27403 _menhir_env.MenhirLib.EngineTypes.stack <- {
27404 MenhirLib.EngineTypes.state = _menhir_s;
27405 MenhirLib.EngineTypes.semv = Obj.repr _v;
27406 MenhirLib.EngineTypes.startp = _startpos;
27407 MenhirLib.EngineTypes.endp = _endpos;
27408 MenhirLib.EngineTypes.next = _menhir_stack;
27409 });
27410 (fun _menhir_env ->
27411 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27412 let {
27413 MenhirLib.EngineTypes.semv = w;
27414 MenhirLib.EngineTypes.startp = _startpos_w_;
27415 MenhirLib.EngineTypes.endp = _endpos_w_;
27416 MenhirLib.EngineTypes.next = {
27417 MenhirLib.EngineTypes.state = _menhir_s;
27418 MenhirLib.EngineTypes.semv = _1;
27419 MenhirLib.EngineTypes.startp = _startpos__1_;
27420 MenhirLib.EngineTypes.endp = _endpos__1_;
27421 MenhirLib.EngineTypes.next = _menhir_stack;
27422 };
27423 } = _menhir_stack in
27424 let w : 'tv_list_whenppdecs_ = Obj.magic w in
27425 let _1 : (
27426 # 73 "parser_cocci_menhir.mly"
27427 (Data.clt)
27428 # 27429 "parser_cocci_menhir.ml"
27429 ) = Obj.magic _1 in
27430 let _startpos = _startpos__1_ in
27431 let _endpos = _endpos_w_ in
27432 let _v : 'tv_stm_dots =
27433 # 888 "parser_cocci_menhir.mly"
27434 ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) )
27435 # 27436 "parser_cocci_menhir.ml"
27436 in
27437 _menhir_env.MenhirLib.EngineTypes.stack <- {
27438 MenhirLib.EngineTypes.state = _menhir_s;
27439 MenhirLib.EngineTypes.semv = Obj.repr _v;
27440 MenhirLib.EngineTypes.startp = _startpos;
27441 MenhirLib.EngineTypes.endp = _endpos;
27442 MenhirLib.EngineTypes.next = _menhir_stack;
27443 });
27444 (fun _menhir_env ->
27445 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27446 let {
27447 MenhirLib.EngineTypes.semv = c;
27448 MenhirLib.EngineTypes.startp = _startpos_c_;
27449 MenhirLib.EngineTypes.endp = _endpos_c_;
27450 MenhirLib.EngineTypes.next = {
27451 MenhirLib.EngineTypes.semv = b;
27452 MenhirLib.EngineTypes.startp = _startpos_b_;
27453 MenhirLib.EngineTypes.endp = _endpos_b_;
27454 MenhirLib.EngineTypes.next = {
27455 MenhirLib.EngineTypes.semv = w;
27456 MenhirLib.EngineTypes.startp = _startpos_w_;
27457 MenhirLib.EngineTypes.endp = _endpos_w_;
27458 MenhirLib.EngineTypes.next = {
27459 MenhirLib.EngineTypes.state = _menhir_s;
27460 MenhirLib.EngineTypes.semv = _1;
27461 MenhirLib.EngineTypes.startp = _startpos__1_;
27462 MenhirLib.EngineTypes.endp = _endpos__1_;
27463 MenhirLib.EngineTypes.next = _menhir_stack;
27464 };
27465 };
27466 };
27467 } = _menhir_stack in
27468 let c : (
27469 # 73 "parser_cocci_menhir.mly"
27470 (Data.clt)
27471 # 27472 "parser_cocci_menhir.ml"
27472 ) = Obj.magic c in
27473 let b : 'tv_nest_start = Obj.magic b in
27474 let w : 'tv_list_whenppdecs_ = Obj.magic w in
27475 let _1 : (
27476 # 73 "parser_cocci_menhir.mly"
27477 (Data.clt)
27478 # 27479 "parser_cocci_menhir.ml"
27479 ) = Obj.magic _1 in
27480 let _startpos = _startpos__1_ in
27481 let _endpos = _endpos_c_ in
27482 let _v : 'tv_stm_dots =
27483 # 890 "parser_cocci_menhir.mly"
27484 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b,
27485 P.clt2mcode "...>" c, List.concat w, false)) )
27486 # 27487 "parser_cocci_menhir.ml"
27487 in
27488 _menhir_env.MenhirLib.EngineTypes.stack <- {
27489 MenhirLib.EngineTypes.state = _menhir_s;
27490 MenhirLib.EngineTypes.semv = Obj.repr _v;
27491 MenhirLib.EngineTypes.startp = _startpos;
27492 MenhirLib.EngineTypes.endp = _endpos;
27493 MenhirLib.EngineTypes.next = _menhir_stack;
27494 });
27495 (fun _menhir_env ->
27496 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27497 let {
27498 MenhirLib.EngineTypes.semv = c;
27499 MenhirLib.EngineTypes.startp = _startpos_c_;
27500 MenhirLib.EngineTypes.endp = _endpos_c_;
27501 MenhirLib.EngineTypes.next = {
27502 MenhirLib.EngineTypes.semv = b;
27503 MenhirLib.EngineTypes.startp = _startpos_b_;
27504 MenhirLib.EngineTypes.endp = _endpos_b_;
27505 MenhirLib.EngineTypes.next = {
27506 MenhirLib.EngineTypes.semv = w;
27507 MenhirLib.EngineTypes.startp = _startpos_w_;
27508 MenhirLib.EngineTypes.endp = _endpos_w_;
27509 MenhirLib.EngineTypes.next = {
27510 MenhirLib.EngineTypes.state = _menhir_s;
27511 MenhirLib.EngineTypes.semv = _1;
27512 MenhirLib.EngineTypes.startp = _startpos__1_;
27513 MenhirLib.EngineTypes.endp = _endpos__1_;
27514 MenhirLib.EngineTypes.next = _menhir_stack;
27515 };
27516 };
27517 };
27518 } = _menhir_stack in
27519 let c : (
27520 # 73 "parser_cocci_menhir.mly"
27521 (Data.clt)
27522 # 27523 "parser_cocci_menhir.ml"
27523 ) = Obj.magic c in
27524 let b : 'tv_nest_start = Obj.magic b in
27525 let w : 'tv_list_whenppdecs_ = Obj.magic w in
27526 let _1 : (
27527 # 73 "parser_cocci_menhir.mly"
27528 (Data.clt)
27529 # 27530 "parser_cocci_menhir.ml"
27530 ) = Obj.magic _1 in
27531 let _startpos = _startpos__1_ in
27532 let _endpos = _endpos_c_ in
27533 let _v : 'tv_stm_dots =
27534 # 893 "parser_cocci_menhir.mly"
27535 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b,
27536 P.clt2mcode "...+>" c, List.concat w, true)) )
27537 # 27538 "parser_cocci_menhir.ml"
27538 in
27539 _menhir_env.MenhirLib.EngineTypes.stack <- {
27540 MenhirLib.EngineTypes.state = _menhir_s;
27541 MenhirLib.EngineTypes.semv = Obj.repr _v;
27542 MenhirLib.EngineTypes.startp = _startpos;
27543 MenhirLib.EngineTypes.endp = _endpos;
27544 MenhirLib.EngineTypes.next = _menhir_stack;
27545 });
27546 (fun _menhir_env ->
27547 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27548 let {
27549 MenhirLib.EngineTypes.state = _menhir_s;
27550 MenhirLib.EngineTypes.semv = s;
27551 MenhirLib.EngineTypes.startp = _startpos_s_;
27552 MenhirLib.EngineTypes.endp = _endpos_s_;
27553 MenhirLib.EngineTypes.next = _menhir_stack;
27554 } = _menhir_stack in
27555 let s : (
27556 # 53 "parser_cocci_menhir.mly"
27557 (Data.clt)
27558 # 27559 "parser_cocci_menhir.ml"
27559 ) = Obj.magic s in
27560 let _startpos = _startpos_s_ in
27561 let _endpos = _endpos_s_ in
27562 let _v : 'tv_storage =
27563 # 815 "parser_cocci_menhir.mly"
27564 ( P.clt2mcode Ast.Static s )
27565 # 27566 "parser_cocci_menhir.ml"
27566 in
27567 _menhir_env.MenhirLib.EngineTypes.stack <- {
27568 MenhirLib.EngineTypes.state = _menhir_s;
27569 MenhirLib.EngineTypes.semv = Obj.repr _v;
27570 MenhirLib.EngineTypes.startp = _startpos;
27571 MenhirLib.EngineTypes.endp = _endpos;
27572 MenhirLib.EngineTypes.next = _menhir_stack;
27573 });
27574 (fun _menhir_env ->
27575 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27576 let {
27577 MenhirLib.EngineTypes.state = _menhir_s;
27578 MenhirLib.EngineTypes.semv = s;
27579 MenhirLib.EngineTypes.startp = _startpos_s_;
27580 MenhirLib.EngineTypes.endp = _endpos_s_;
27581 MenhirLib.EngineTypes.next = _menhir_stack;
27582 } = _menhir_stack in
27583 let s : (
27584 # 53 "parser_cocci_menhir.mly"
27585 (Data.clt)
27586 # 27587 "parser_cocci_menhir.ml"
27587 ) = Obj.magic s in
27588 let _startpos = _startpos_s_ in
27589 let _endpos = _endpos_s_ in
27590 let _v : 'tv_storage =
27591 # 816 "parser_cocci_menhir.mly"
27592 ( P.clt2mcode Ast.Auto s )
27593 # 27594 "parser_cocci_menhir.ml"
27594 in
27595 _menhir_env.MenhirLib.EngineTypes.stack <- {
27596 MenhirLib.EngineTypes.state = _menhir_s;
27597 MenhirLib.EngineTypes.semv = Obj.repr _v;
27598 MenhirLib.EngineTypes.startp = _startpos;
27599 MenhirLib.EngineTypes.endp = _endpos;
27600 MenhirLib.EngineTypes.next = _menhir_stack;
27601 });
27602 (fun _menhir_env ->
27603 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27604 let {
27605 MenhirLib.EngineTypes.state = _menhir_s;
27606 MenhirLib.EngineTypes.semv = s;
27607 MenhirLib.EngineTypes.startp = _startpos_s_;
27608 MenhirLib.EngineTypes.endp = _endpos_s_;
27609 MenhirLib.EngineTypes.next = _menhir_stack;
27610 } = _menhir_stack in
27611 let s : (
27612 # 53 "parser_cocci_menhir.mly"
27613 (Data.clt)
27614 # 27615 "parser_cocci_menhir.ml"
27615 ) = Obj.magic s in
27616 let _startpos = _startpos_s_ in
27617 let _endpos = _endpos_s_ in
27618 let _v : 'tv_storage =
27619 # 817 "parser_cocci_menhir.mly"
27620 ( P.clt2mcode Ast.Register s )
27621 # 27622 "parser_cocci_menhir.ml"
27622 in
27623 _menhir_env.MenhirLib.EngineTypes.stack <- {
27624 MenhirLib.EngineTypes.state = _menhir_s;
27625 MenhirLib.EngineTypes.semv = Obj.repr _v;
27626 MenhirLib.EngineTypes.startp = _startpos;
27627 MenhirLib.EngineTypes.endp = _endpos;
27628 MenhirLib.EngineTypes.next = _menhir_stack;
27629 });
27630 (fun _menhir_env ->
27631 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27632 let {
27633 MenhirLib.EngineTypes.state = _menhir_s;
27634 MenhirLib.EngineTypes.semv = s;
27635 MenhirLib.EngineTypes.startp = _startpos_s_;
27636 MenhirLib.EngineTypes.endp = _endpos_s_;
27637 MenhirLib.EngineTypes.next = _menhir_stack;
27638 } = _menhir_stack in
27639 let s : (
27640 # 53 "parser_cocci_menhir.mly"
27641 (Data.clt)
27642 # 27643 "parser_cocci_menhir.ml"
27643 ) = Obj.magic s in
27644 let _startpos = _startpos_s_ in
27645 let _endpos = _endpos_s_ in
27646 let _v : 'tv_storage =
27647 # 818 "parser_cocci_menhir.mly"
27648 ( P.clt2mcode Ast.Extern s )
27649 # 27650 "parser_cocci_menhir.ml"
27650 in
27651 _menhir_env.MenhirLib.EngineTypes.stack <- {
27652 MenhirLib.EngineTypes.state = _menhir_s;
27653 MenhirLib.EngineTypes.semv = Obj.repr _v;
27654 MenhirLib.EngineTypes.startp = _startpos;
27655 MenhirLib.EngineTypes.endp = _endpos;
27656 MenhirLib.EngineTypes.next = _menhir_stack;
27657 });
27658 (fun _menhir_env ->
27659 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27660 let {
27661 MenhirLib.EngineTypes.state = _menhir_s;
27662 MenhirLib.EngineTypes.startp = _startpos__1_;
27663 MenhirLib.EngineTypes.endp = _endpos__1_;
27664 MenhirLib.EngineTypes.next = _menhir_stack;
27665 } = _menhir_stack in
27666 let _startpos = _startpos__1_ in
27667 let _endpos = _endpos__1_ in
27668 let _v : 'tv_struct_decl =
27669 # 521 "parser_cocci_menhir.mly"
27670 ( [] )
27671 # 27672 "parser_cocci_menhir.ml"
27672 in
27673 _menhir_env.MenhirLib.EngineTypes.stack <- {
27674 MenhirLib.EngineTypes.state = _menhir_s;
27675 MenhirLib.EngineTypes.semv = Obj.repr _v;
27676 MenhirLib.EngineTypes.startp = _startpos;
27677 MenhirLib.EngineTypes.endp = _endpos;
27678 MenhirLib.EngineTypes.next = _menhir_stack;
27679 });
27680 (fun _menhir_env ->
27681 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27682 let {
27683 MenhirLib.EngineTypes.semv = pv;
27684 MenhirLib.EngineTypes.startp = _startpos_pv_;
27685 MenhirLib.EngineTypes.endp = _endpos_pv_;
27686 MenhirLib.EngineTypes.next = {
27687 MenhirLib.EngineTypes.semv = d;
27688 MenhirLib.EngineTypes.startp = _startpos_d_;
27689 MenhirLib.EngineTypes.endp = _endpos_d_;
27690 MenhirLib.EngineTypes.next = {
27691 MenhirLib.EngineTypes.state = _menhir_s;
27692 MenhirLib.EngineTypes.semv = t;
27693 MenhirLib.EngineTypes.startp = _startpos_t_;
27694 MenhirLib.EngineTypes.endp = _endpos_t_;
27695 MenhirLib.EngineTypes.next = _menhir_stack;
27696 };
27697 };
27698 } = _menhir_stack in
27699 let pv : (
27700 # 107 "parser_cocci_menhir.mly"
27701 (Data.clt)
27702 # 27703 "parser_cocci_menhir.ml"
27703 ) = Obj.magic pv in
27704 let d : 'tv_d_ident = Obj.magic d in
27705 let t : 'tv_ctype = Obj.magic t in
27706 let _startpos = _startpos_t_ in
27707 let _endpos = _endpos_pv_ in
27708 let _v : 'tv_struct_decl =
27709 # 523 "parser_cocci_menhir.mly"
27710 ( let (id,fn) = d in
27711 [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] )
27712 # 27713 "parser_cocci_menhir.ml"
27713 in
27714 _menhir_env.MenhirLib.EngineTypes.stack <- {
27715 MenhirLib.EngineTypes.state = _menhir_s;
27716 MenhirLib.EngineTypes.semv = Obj.repr _v;
27717 MenhirLib.EngineTypes.startp = _startpos;
27718 MenhirLib.EngineTypes.endp = _endpos;
27719 MenhirLib.EngineTypes.next = _menhir_stack;
27720 });
27721 (fun _menhir_env ->
27722 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27723 let {
27724 MenhirLib.EngineTypes.semv = pv;
27725 MenhirLib.EngineTypes.startp = _startpos_pv_;
27726 MenhirLib.EngineTypes.endp = _endpos_pv_;
27727 MenhirLib.EngineTypes.next = {
27728 MenhirLib.EngineTypes.semv = rp2;
27729 MenhirLib.EngineTypes.startp = _startpos_rp2_;
27730 MenhirLib.EngineTypes.endp = _endpos_rp2_;
27731 MenhirLib.EngineTypes.next = {
27732 MenhirLib.EngineTypes.semv = p;
27733 MenhirLib.EngineTypes.startp = _startpos_p_;
27734 MenhirLib.EngineTypes.endp = _endpos_p_;
27735 MenhirLib.EngineTypes.next = {
27736 MenhirLib.EngineTypes.semv = lp2;
27737 MenhirLib.EngineTypes.startp = _startpos_lp2_;
27738 MenhirLib.EngineTypes.endp = _endpos_lp2_;
27739 MenhirLib.EngineTypes.next = {
27740 MenhirLib.EngineTypes.semv = rp1;
27741 MenhirLib.EngineTypes.startp = _startpos_rp1_;
27742 MenhirLib.EngineTypes.endp = _endpos_rp1_;
27743 MenhirLib.EngineTypes.next = {
27744 MenhirLib.EngineTypes.semv = d;
27745 MenhirLib.EngineTypes.startp = _startpos_d_;
27746 MenhirLib.EngineTypes.endp = _endpos_d_;
27747 MenhirLib.EngineTypes.next = {
27748 MenhirLib.EngineTypes.semv = st;
27749 MenhirLib.EngineTypes.startp = _startpos_st_;
27750 MenhirLib.EngineTypes.endp = _endpos_st_;
27751 MenhirLib.EngineTypes.next = {
27752 MenhirLib.EngineTypes.semv = lp1;
27753 MenhirLib.EngineTypes.startp = _startpos_lp1_;
27754 MenhirLib.EngineTypes.endp = _endpos_lp1_;
27755 MenhirLib.EngineTypes.next = {
27756 MenhirLib.EngineTypes.state = _menhir_s;
27757 MenhirLib.EngineTypes.semv = t;
27758 MenhirLib.EngineTypes.startp = _startpos_t_;
27759 MenhirLib.EngineTypes.endp = _endpos_t_;
27760 MenhirLib.EngineTypes.next = _menhir_stack;
27761 };
27762 };
27763 };
27764 };
27765 };
27766 };
27767 };
27768 };
27769 } = _menhir_stack in
27770 let pv : (
27771 # 107 "parser_cocci_menhir.mly"
27772 (Data.clt)
27773 # 27774 "parser_cocci_menhir.ml"
27774 ) = Obj.magic pv in
27775 let rp2 : (
27776 # 77 "parser_cocci_menhir.mly"
27777 (Data.clt)
27778 # 27779 "parser_cocci_menhir.ml"
27779 ) = Obj.magic rp2 in
27780 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
27781 let lp2 : (
27782 # 76 "parser_cocci_menhir.mly"
27783 (Data.clt)
27784 # 27785 "parser_cocci_menhir.ml"
27785 ) = Obj.magic lp2 in
27786 let rp1 : (
27787 # 77 "parser_cocci_menhir.mly"
27788 (Data.clt)
27789 # 27790 "parser_cocci_menhir.ml"
27790 ) = Obj.magic rp1 in
27791 let d : 'tv_d_ident = Obj.magic d in
27792 let st : (
27793 # 99 "parser_cocci_menhir.mly"
27794 (Data.clt)
27795 # 27796 "parser_cocci_menhir.ml"
27796 ) = Obj.magic st in
27797 let lp1 : (
27798 # 76 "parser_cocci_menhir.mly"
27799 (Data.clt)
27800 # 27801 "parser_cocci_menhir.ml"
27801 ) = Obj.magic lp1 in
27802 let t : 'tv_fn_ctype = Obj.magic t in
27803 let _startpos = _startpos_t_ in
27804 let _endpos = _endpos_pv_ in
27805 let _v : 'tv_struct_decl =
27806 # 527 "parser_cocci_menhir.mly"
27807 ( let (id,fn) = d in
27808 let t =
27809 Ast0.wrap
27810 (Ast0.FunctionPointer
27811 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
27812 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
27813 [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] )
27814 # 27815 "parser_cocci_menhir.ml"
27815 in
27816 _menhir_env.MenhirLib.EngineTypes.stack <- {
27817 MenhirLib.EngineTypes.state = _menhir_s;
27818 MenhirLib.EngineTypes.semv = Obj.repr _v;
27819 MenhirLib.EngineTypes.startp = _startpos;
27820 MenhirLib.EngineTypes.endp = _endpos;
27821 MenhirLib.EngineTypes.next = _menhir_stack;
27822 });
27823 (fun _menhir_env ->
27824 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27825 let {
27826 MenhirLib.EngineTypes.semv = pv;
27827 MenhirLib.EngineTypes.startp = _startpos_pv_;
27828 MenhirLib.EngineTypes.endp = _endpos_pv_;
27829 MenhirLib.EngineTypes.next = {
27830 MenhirLib.EngineTypes.semv = d;
27831 MenhirLib.EngineTypes.startp = _startpos_d_;
27832 MenhirLib.EngineTypes.endp = _endpos_d_;
27833 MenhirLib.EngineTypes.next = {
27834 MenhirLib.EngineTypes.state = _menhir_s;
27835 MenhirLib.EngineTypes.semv = i;
27836 MenhirLib.EngineTypes.startp = _startpos_i_;
27837 MenhirLib.EngineTypes.endp = _endpos_i_;
27838 MenhirLib.EngineTypes.next = _menhir_stack;
27839 };
27840 };
27841 } = _menhir_stack in
27842 let pv : (
27843 # 107 "parser_cocci_menhir.mly"
27844 (Data.clt)
27845 # 27846 "parser_cocci_menhir.ml"
27846 ) = Obj.magic pv in
27847 let d : 'tv_d_ident = Obj.magic d in
27848 let i : 'tv_pure_ident = Obj.magic i in
27849 let _startpos = _startpos_i_ in
27850 let _endpos = _endpos_pv_ in
27851 let _v : 'tv_struct_decl = let cv =
27852
27853 # 39 "standard.mly"
27854 ( None )
27855 # 27856 "parser_cocci_menhir.ml"
27856
27857 in
27858
27859 # 535 "parser_cocci_menhir.mly"
27860 ( let (id,fn) = d in
27861 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
27862 [Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv))] )
27863 # 27864 "parser_cocci_menhir.ml"
27864 in
27865 _menhir_env.MenhirLib.EngineTypes.stack <- {
27866 MenhirLib.EngineTypes.state = _menhir_s;
27867 MenhirLib.EngineTypes.semv = Obj.repr _v;
27868 MenhirLib.EngineTypes.startp = _startpos;
27869 MenhirLib.EngineTypes.endp = _endpos;
27870 MenhirLib.EngineTypes.next = _menhir_stack;
27871 });
27872 (fun _menhir_env ->
27873 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27874 let {
27875 MenhirLib.EngineTypes.semv = pv;
27876 MenhirLib.EngineTypes.startp = _startpos_pv_;
27877 MenhirLib.EngineTypes.endp = _endpos_pv_;
27878 MenhirLib.EngineTypes.next = {
27879 MenhirLib.EngineTypes.semv = d;
27880 MenhirLib.EngineTypes.startp = _startpos_d_;
27881 MenhirLib.EngineTypes.endp = _endpos_d_;
27882 MenhirLib.EngineTypes.next = {
27883 MenhirLib.EngineTypes.semv = i;
27884 MenhirLib.EngineTypes.startp = _startpos_i_;
27885 MenhirLib.EngineTypes.endp = _endpos_i_;
27886 MenhirLib.EngineTypes.next = {
27887 MenhirLib.EngineTypes.state = _menhir_s;
27888 MenhirLib.EngineTypes.semv = x0;
27889 MenhirLib.EngineTypes.startp = _startpos_x0_;
27890 MenhirLib.EngineTypes.endp = _endpos_x0_;
27891 MenhirLib.EngineTypes.next = _menhir_stack;
27892 };
27893 };
27894 };
27895 } = _menhir_stack in
27896 let pv : (
27897 # 107 "parser_cocci_menhir.mly"
27898 (Data.clt)
27899 # 27900 "parser_cocci_menhir.ml"
27900 ) = Obj.magic pv in
27901 let d : 'tv_d_ident = Obj.magic d in
27902 let i : 'tv_pure_ident = Obj.magic i in
27903 let x0 : 'tv_const_vol = Obj.magic x0 in
27904 let _startpos = _startpos_x0_ in
27905 let _endpos = _endpos_pv_ in
27906 let _v : 'tv_struct_decl = let cv =
27907 let x = x0 in
27908
27909 # 41 "standard.mly"
27910 ( Some x )
27911 # 27912 "parser_cocci_menhir.ml"
27912
27913 in
27914
27915 # 535 "parser_cocci_menhir.mly"
27916 ( let (id,fn) = d in
27917 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
27918 [Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv))] )
27919 # 27920 "parser_cocci_menhir.ml"
27920 in
27921 _menhir_env.MenhirLib.EngineTypes.stack <- {
27922 MenhirLib.EngineTypes.state = _menhir_s;
27923 MenhirLib.EngineTypes.semv = Obj.repr _v;
27924 MenhirLib.EngineTypes.startp = _startpos;
27925 MenhirLib.EngineTypes.endp = _endpos;
27926 MenhirLib.EngineTypes.next = _menhir_stack;
27927 });
27928 (fun _menhir_env ->
27929 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27930 let {
27931 MenhirLib.EngineTypes.state = _menhir_s;
27932 MenhirLib.EngineTypes.semv = _1;
27933 MenhirLib.EngineTypes.startp = _startpos__1_;
27934 MenhirLib.EngineTypes.endp = _endpos__1_;
27935 MenhirLib.EngineTypes.next = _menhir_stack;
27936 } = _menhir_stack in
27937 let _1 : 'tv_struct_decl_list_start = Obj.magic _1 in
27938 let _startpos = _startpos__1_ in
27939 let _endpos = _endpos__1_ in
27940 let _v : 'tv_struct_decl_list =
27941 # 540 "parser_cocci_menhir.mly"
27942 ( Ast0.wrap(Ast0.DOTS(_1)) )
27943 # 27944 "parser_cocci_menhir.ml"
27944 in
27945 _menhir_env.MenhirLib.EngineTypes.stack <- {
27946 MenhirLib.EngineTypes.state = _menhir_s;
27947 MenhirLib.EngineTypes.semv = Obj.repr _v;
27948 MenhirLib.EngineTypes.startp = _startpos;
27949 MenhirLib.EngineTypes.endp = _endpos;
27950 MenhirLib.EngineTypes.next = _menhir_stack;
27951 });
27952 (fun _menhir_env ->
27953 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27954 let {
27955 MenhirLib.EngineTypes.state = _menhir_s;
27956 MenhirLib.EngineTypes.semv = _1;
27957 MenhirLib.EngineTypes.startp = _startpos__1_;
27958 MenhirLib.EngineTypes.endp = _endpos__1_;
27959 MenhirLib.EngineTypes.next = _menhir_stack;
27960 } = _menhir_stack in
27961 let _1 : 'tv_struct_decl = Obj.magic _1 in
27962 let _startpos = _startpos__1_ in
27963 let _endpos = _endpos__1_ in
27964 let _v : 'tv_struct_decl_list_start =
27965 # 543 "parser_cocci_menhir.mly"
27966 ( _1 )
27967 # 27968 "parser_cocci_menhir.ml"
27968 in
27969 _menhir_env.MenhirLib.EngineTypes.stack <- {
27970 MenhirLib.EngineTypes.state = _menhir_s;
27971 MenhirLib.EngineTypes.semv = Obj.repr _v;
27972 MenhirLib.EngineTypes.startp = _startpos;
27973 MenhirLib.EngineTypes.endp = _endpos;
27974 MenhirLib.EngineTypes.next = _menhir_stack;
27975 });
27976 (fun _menhir_env ->
27977 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27978 let {
27979 MenhirLib.EngineTypes.semv = _2;
27980 MenhirLib.EngineTypes.startp = _startpos__2_;
27981 MenhirLib.EngineTypes.endp = _endpos__2_;
27982 MenhirLib.EngineTypes.next = {
27983 MenhirLib.EngineTypes.state = _menhir_s;
27984 MenhirLib.EngineTypes.semv = _1;
27985 MenhirLib.EngineTypes.startp = _startpos__1_;
27986 MenhirLib.EngineTypes.endp = _endpos__1_;
27987 MenhirLib.EngineTypes.next = _menhir_stack;
27988 };
27989 } = _menhir_stack in
27990 let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
27991 let _1 : 'tv_struct_decl = Obj.magic _1 in
27992 let _startpos = _startpos__1_ in
27993 let _endpos = _endpos__2_ in
27994 let _v : 'tv_struct_decl_list_start =
27995 # 544 "parser_cocci_menhir.mly"
27996 ( _1@_2 )
27997 # 27998 "parser_cocci_menhir.ml"
27998 in
27999 _menhir_env.MenhirLib.EngineTypes.stack <- {
28000 MenhirLib.EngineTypes.state = _menhir_s;
28001 MenhirLib.EngineTypes.semv = Obj.repr _v;
28002 MenhirLib.EngineTypes.startp = _startpos;
28003 MenhirLib.EngineTypes.endp = _endpos;
28004 MenhirLib.EngineTypes.next = _menhir_stack;
28005 });
28006 (fun _menhir_env ->
28007 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28008 let {
28009 MenhirLib.EngineTypes.semv = r;
28010 MenhirLib.EngineTypes.startp = _startpos_r_;
28011 MenhirLib.EngineTypes.endp = _endpos_r_;
28012 MenhirLib.EngineTypes.next = {
28013 MenhirLib.EngineTypes.state = _menhir_s;
28014 MenhirLib.EngineTypes.semv = d;
28015 MenhirLib.EngineTypes.startp = _startpos_d_;
28016 MenhirLib.EngineTypes.endp = _endpos_d_;
28017 MenhirLib.EngineTypes.next = _menhir_stack;
28018 };
28019 } = _menhir_stack in
28020 let r : 'tv_continue_struct_decl_list = Obj.magic r in
28021 let d : 'tv_edots_when_TEllipsis_struct_decl_ = Obj.magic d in
28022 let _startpos = _startpos_d_ in
28023 let _endpos = _endpos_r_ in
28024 let _v : 'tv_struct_decl_list_start =
28025 # 546 "parser_cocci_menhir.mly"
28026 ( (P.mkddots "..." d)::r )
28027 # 28028 "parser_cocci_menhir.ml"
28028 in
28029 _menhir_env.MenhirLib.EngineTypes.stack <- {
28030 MenhirLib.EngineTypes.state = _menhir_s;
28031 MenhirLib.EngineTypes.semv = Obj.repr _v;
28032 MenhirLib.EngineTypes.startp = _startpos;
28033 MenhirLib.EngineTypes.endp = _endpos;
28034 MenhirLib.EngineTypes.next = _menhir_stack;
28035 });
28036 (fun _menhir_env ->
28037 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28038 let {
28039 MenhirLib.EngineTypes.state = _menhir_s;
28040 MenhirLib.EngineTypes.semv = s;
28041 MenhirLib.EngineTypes.startp = _startpos_s_;
28042 MenhirLib.EngineTypes.endp = _endpos_s_;
28043 MenhirLib.EngineTypes.next = _menhir_stack;
28044 } = _menhir_stack in
28045 let s : (
28046 # 50 "parser_cocci_menhir.mly"
28047 (Data.clt)
28048 # 28049 "parser_cocci_menhir.ml"
28049 ) = Obj.magic s in
28050 let _startpos = _startpos_s_ in
28051 let _endpos = _endpos_s_ in
28052 let _v : 'tv_struct_or_union =
28053 # 517 "parser_cocci_menhir.mly"
28054 ( P.clt2mcode Ast.Struct s )
28055 # 28056 "parser_cocci_menhir.ml"
28056 in
28057 _menhir_env.MenhirLib.EngineTypes.stack <- {
28058 MenhirLib.EngineTypes.state = _menhir_s;
28059 MenhirLib.EngineTypes.semv = Obj.repr _v;
28060 MenhirLib.EngineTypes.startp = _startpos;
28061 MenhirLib.EngineTypes.endp = _endpos;
28062 MenhirLib.EngineTypes.next = _menhir_stack;
28063 });
28064 (fun _menhir_env ->
28065 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28066 let {
28067 MenhirLib.EngineTypes.state = _menhir_s;
28068 MenhirLib.EngineTypes.semv = u;
28069 MenhirLib.EngineTypes.startp = _startpos_u_;
28070 MenhirLib.EngineTypes.endp = _endpos_u_;
28071 MenhirLib.EngineTypes.next = _menhir_stack;
28072 } = _menhir_stack in
28073 let u : (
28074 # 50 "parser_cocci_menhir.mly"
28075 (Data.clt)
28076 # 28077 "parser_cocci_menhir.ml"
28077 ) = Obj.magic u in
28078 let _startpos = _startpos_u_ in
28079 let _endpos = _endpos_u_ in
28080 let _v : 'tv_struct_or_union =
28081 # 518 "parser_cocci_menhir.mly"
28082 ( P.clt2mcode Ast.Union u )
28083 # 28084 "parser_cocci_menhir.ml"
28084 in
28085 _menhir_env.MenhirLib.EngineTypes.stack <- {
28086 MenhirLib.EngineTypes.state = _menhir_s;
28087 MenhirLib.EngineTypes.semv = Obj.repr _v;
28088 MenhirLib.EngineTypes.startp = _startpos;
28089 MenhirLib.EngineTypes.endp = _endpos;
28090 MenhirLib.EngineTypes.next = _menhir_stack;
28091 });
28092 (fun _menhir_env ->
28093 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28094 let {
28095 MenhirLib.EngineTypes.state = _menhir_s;
28096 MenhirLib.EngineTypes.semv = _1;
28097 MenhirLib.EngineTypes.startp = _startpos__1_;
28098 MenhirLib.EngineTypes.endp = _endpos__1_;
28099 MenhirLib.EngineTypes.next = _menhir_stack;
28100 } = _menhir_stack in
28101 let _1 : 'tv_eexpr = Obj.magic _1 in
28102 let _startpos = _startpos__1_ in
28103 let _endpos = _endpos__1_ in
28104 let _v : 'tv_top_eexpr =
28105 # 1209 "parser_cocci_menhir.mly"
28106 ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) )
28107 # 28108 "parser_cocci_menhir.ml"
28108 in
28109 _menhir_env.MenhirLib.EngineTypes.stack <- {
28110 MenhirLib.EngineTypes.state = _menhir_s;
28111 MenhirLib.EngineTypes.semv = Obj.repr _v;
28112 MenhirLib.EngineTypes.startp = _startpos;
28113 MenhirLib.EngineTypes.endp = _endpos;
28114 MenhirLib.EngineTypes.next = _menhir_stack;
28115 });
28116 (fun _menhir_env ->
28117 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28118 let {
28119 MenhirLib.EngineTypes.semv = _3;
28120 MenhirLib.EngineTypes.startp = _startpos__3_;
28121 MenhirLib.EngineTypes.endp = _endpos__3_;
28122 MenhirLib.EngineTypes.next = {
28123 MenhirLib.EngineTypes.semv = _2;
28124 MenhirLib.EngineTypes.startp = _startpos__2_;
28125 MenhirLib.EngineTypes.endp = _endpos__2_;
28126 MenhirLib.EngineTypes.next = {
28127 MenhirLib.EngineTypes.state = _menhir_s;
28128 MenhirLib.EngineTypes.semv = _1;
28129 MenhirLib.EngineTypes.startp = _startpos__1_;
28130 MenhirLib.EngineTypes.endp = _endpos__1_;
28131 MenhirLib.EngineTypes.next = _menhir_stack;
28132 };
28133 };
28134 } = _menhir_stack in
28135 let _3 : (
28136 # 101 "parser_cocci_menhir.mly"
28137 (Data.clt)
28138 # 28139 "parser_cocci_menhir.ml"
28139 ) = Obj.magic _3 in
28140 let _2 : 'tv_initialize_list = Obj.magic _2 in
28141 let _1 : (
28142 # 101 "parser_cocci_menhir.mly"
28143 (Data.clt)
28144 # 28145 "parser_cocci_menhir.ml"
28145 ) = Obj.magic _1 in
28146 let _startpos = _startpos__1_ in
28147 let _endpos = _endpos__3_ in
28148 let _v : 'tv_top_init =
28149 # 1651 "parser_cocci_menhir.mly"
28150 ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
28151 # 28152 "parser_cocci_menhir.ml"
28152 in
28153 _menhir_env.MenhirLib.EngineTypes.stack <- {
28154 MenhirLib.EngineTypes.state = _menhir_s;
28155 MenhirLib.EngineTypes.semv = Obj.repr _v;
28156 MenhirLib.EngineTypes.startp = _startpos;
28157 MenhirLib.EngineTypes.endp = _endpos;
28158 MenhirLib.EngineTypes.next = _menhir_stack;
28159 });
28160 (fun _menhir_env ->
28161 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28162 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
28163 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
28164 let _endpos = _startpos in
28165 let _v : 'tv_toplevel_after_dots =
28166 # 1639 "parser_cocci_menhir.mly"
28167 ([])
28168 # 28169 "parser_cocci_menhir.ml"
28169 in
28170 _menhir_env.MenhirLib.EngineTypes.stack <- {
28171 MenhirLib.EngineTypes.state = _menhir_s;
28172 MenhirLib.EngineTypes.semv = Obj.repr _v;
28173 MenhirLib.EngineTypes.startp = _startpos;
28174 MenhirLib.EngineTypes.endp = _endpos;
28175 MenhirLib.EngineTypes.next = _menhir_stack;
28176 });
28177 (fun _menhir_env ->
28178 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28179 let {
28180 MenhirLib.EngineTypes.semv = _2;
28181 MenhirLib.EngineTypes.startp = _startpos__2_;
28182 MenhirLib.EngineTypes.endp = _endpos__2_;
28183 MenhirLib.EngineTypes.next = {
28184 MenhirLib.EngineTypes.state = _menhir_s;
28185 MenhirLib.EngineTypes.startp = _startpos__1_;
28186 MenhirLib.EngineTypes.endp = _endpos__1_;
28187 MenhirLib.EngineTypes.next = _menhir_stack;
28188 };
28189 } = _menhir_stack in
28190 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
28191 let _startpos = _startpos__1_ in
28192 let _endpos = _endpos__2_ in
28193 let _v : 'tv_toplevel_after_dots =
28194 # 1640 "parser_cocci_menhir.mly"
28195 (_2)
28196 # 28197 "parser_cocci_menhir.ml"
28197 in
28198 _menhir_env.MenhirLib.EngineTypes.stack <- {
28199 MenhirLib.EngineTypes.state = _menhir_s;
28200 MenhirLib.EngineTypes.semv = Obj.repr _v;
28201 MenhirLib.EngineTypes.startp = _startpos;
28202 MenhirLib.EngineTypes.endp = _endpos;
28203 MenhirLib.EngineTypes.next = _menhir_stack;
28204 });
28205 (fun _menhir_env ->
28206 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28207 let {
28208 MenhirLib.EngineTypes.semv = _2;
28209 MenhirLib.EngineTypes.startp = _startpos__2_;
28210 MenhirLib.EngineTypes.endp = _endpos__2_;
28211 MenhirLib.EngineTypes.next = {
28212 MenhirLib.EngineTypes.state = _menhir_s;
28213 MenhirLib.EngineTypes.semv = _1;
28214 MenhirLib.EngineTypes.startp = _startpos__1_;
28215 MenhirLib.EngineTypes.endp = _endpos__1_;
28216 MenhirLib.EngineTypes.next = _menhir_stack;
28217 };
28218 } = _menhir_stack in
28219 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
28220 let _1 : 'tv_expr = Obj.magic _1 in
28221 let _startpos = _startpos__1_ in
28222 let _endpos = _endpos__2_ in
28223 let _v : 'tv_toplevel_after_dots =
28224 # 1641 "parser_cocci_menhir.mly"
28225 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
28226 # 28227 "parser_cocci_menhir.ml"
28227 in
28228 _menhir_env.MenhirLib.EngineTypes.stack <- {
28229 MenhirLib.EngineTypes.state = _menhir_s;
28230 MenhirLib.EngineTypes.semv = Obj.repr _v;
28231 MenhirLib.EngineTypes.startp = _startpos;
28232 MenhirLib.EngineTypes.endp = _endpos;
28233 MenhirLib.EngineTypes.next = _menhir_stack;
28234 });
28235 (fun _menhir_env ->
28236 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28237 let {
28238 MenhirLib.EngineTypes.semv = _2;
28239 MenhirLib.EngineTypes.startp = _startpos__2_;
28240 MenhirLib.EngineTypes.endp = _endpos__2_;
28241 MenhirLib.EngineTypes.next = {
28242 MenhirLib.EngineTypes.state = _menhir_s;
28243 MenhirLib.EngineTypes.semv = _1;
28244 MenhirLib.EngineTypes.startp = _startpos__1_;
28245 MenhirLib.EngineTypes.endp = _endpos__1_;
28246 MenhirLib.EngineTypes.next = _menhir_stack;
28247 };
28248 } = _menhir_stack in
28249 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
28250 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
28251 let _startpos = _startpos__1_ in
28252 let _endpos = _endpos__2_ in
28253 let _v : 'tv_toplevel_after_dots =
28254 # 1642 "parser_cocci_menhir.mly"
28255 (_1@_2)
28256 # 28257 "parser_cocci_menhir.ml"
28257 in
28258 _menhir_env.MenhirLib.EngineTypes.stack <- {
28259 MenhirLib.EngineTypes.state = _menhir_s;
28260 MenhirLib.EngineTypes.semv = Obj.repr _v;
28261 MenhirLib.EngineTypes.startp = _startpos;
28262 MenhirLib.EngineTypes.endp = _endpos;
28263 MenhirLib.EngineTypes.next = _menhir_stack;
28264 });
28265 (fun _menhir_env ->
28266 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28267 let {
28268 MenhirLib.EngineTypes.semv = _2;
28269 MenhirLib.EngineTypes.startp = _startpos__2_;
28270 MenhirLib.EngineTypes.endp = _endpos__2_;
28271 MenhirLib.EngineTypes.next = {
28272 MenhirLib.EngineTypes.state = _menhir_s;
28273 MenhirLib.EngineTypes.startp = _startpos__1_;
28274 MenhirLib.EngineTypes.endp = _endpos__1_;
28275 MenhirLib.EngineTypes.next = _menhir_stack;
28276 };
28277 } = _menhir_stack in
28278 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
28279 let _startpos = _startpos__1_ in
28280 let _endpos = _endpos__2_ in
28281 let _v : 'tv_toplevel_after_dots_init =
28282 # 1630 "parser_cocci_menhir.mly"
28283 (_2)
28284 # 28285 "parser_cocci_menhir.ml"
28285 in
28286 _menhir_env.MenhirLib.EngineTypes.stack <- {
28287 MenhirLib.EngineTypes.state = _menhir_s;
28288 MenhirLib.EngineTypes.semv = Obj.repr _v;
28289 MenhirLib.EngineTypes.startp = _startpos;
28290 MenhirLib.EngineTypes.endp = _endpos;
28291 MenhirLib.EngineTypes.next = _menhir_stack;
28292 });
28293 (fun _menhir_env ->
28294 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28295 let {
28296 MenhirLib.EngineTypes.semv = _2;
28297 MenhirLib.EngineTypes.startp = _startpos__2_;
28298 MenhirLib.EngineTypes.endp = _endpos__2_;
28299 MenhirLib.EngineTypes.next = {
28300 MenhirLib.EngineTypes.state = _menhir_s;
28301 MenhirLib.EngineTypes.semv = _1;
28302 MenhirLib.EngineTypes.startp = _startpos__1_;
28303 MenhirLib.EngineTypes.endp = _endpos__1_;
28304 MenhirLib.EngineTypes.next = _menhir_stack;
28305 };
28306 } = _menhir_stack in
28307 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
28308 let _1 : 'tv_expr = Obj.magic _1 in
28309 let _startpos = _startpos__1_ in
28310 let _endpos = _endpos__2_ in
28311 let _v : 'tv_toplevel_after_dots_init =
28312 # 1631 "parser_cocci_menhir.mly"
28313 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
28314 # 28315 "parser_cocci_menhir.ml"
28315 in
28316 _menhir_env.MenhirLib.EngineTypes.stack <- {
28317 MenhirLib.EngineTypes.state = _menhir_s;
28318 MenhirLib.EngineTypes.semv = Obj.repr _v;
28319 MenhirLib.EngineTypes.startp = _startpos;
28320 MenhirLib.EngineTypes.endp = _endpos;
28321 MenhirLib.EngineTypes.next = _menhir_stack;
28322 });
28323 (fun _menhir_env ->
28324 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28325 let {
28326 MenhirLib.EngineTypes.semv = _2;
28327 MenhirLib.EngineTypes.startp = _startpos__2_;
28328 MenhirLib.EngineTypes.endp = _endpos__2_;
28329 MenhirLib.EngineTypes.next = {
28330 MenhirLib.EngineTypes.state = _menhir_s;
28331 MenhirLib.EngineTypes.semv = _1;
28332 MenhirLib.EngineTypes.startp = _startpos__1_;
28333 MenhirLib.EngineTypes.endp = _endpos__1_;
28334 MenhirLib.EngineTypes.next = _menhir_stack;
28335 };
28336 } = _menhir_stack in
28337 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
28338 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
28339 let _startpos = _startpos__1_ in
28340 let _endpos = _endpos__2_ in
28341 let _v : 'tv_toplevel_after_dots_init =
28342 # 1632 "parser_cocci_menhir.mly"
28343 (_1@_2)
28344 # 28345 "parser_cocci_menhir.ml"
28345 in
28346 _menhir_env.MenhirLib.EngineTypes.stack <- {
28347 MenhirLib.EngineTypes.state = _menhir_s;
28348 MenhirLib.EngineTypes.semv = Obj.repr _v;
28349 MenhirLib.EngineTypes.startp = _startpos;
28350 MenhirLib.EngineTypes.endp = _endpos;
28351 MenhirLib.EngineTypes.next = _menhir_stack;
28352 });
28353 (fun _menhir_env ->
28354 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28355 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
28356 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
28357 let _endpos = _startpos in
28358 let _v : 'tv_toplevel_after_exp =
28359 # 1635 "parser_cocci_menhir.mly"
28360 ([])
28361 # 28362 "parser_cocci_menhir.ml"
28362 in
28363 _menhir_env.MenhirLib.EngineTypes.stack <- {
28364 MenhirLib.EngineTypes.state = _menhir_s;
28365 MenhirLib.EngineTypes.semv = Obj.repr _v;
28366 MenhirLib.EngineTypes.startp = _startpos;
28367 MenhirLib.EngineTypes.endp = _endpos;
28368 MenhirLib.EngineTypes.next = _menhir_stack;
28369 });
28370 (fun _menhir_env ->
28371 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28372 let {
28373 MenhirLib.EngineTypes.semv = _2;
28374 MenhirLib.EngineTypes.startp = _startpos__2_;
28375 MenhirLib.EngineTypes.endp = _endpos__2_;
28376 MenhirLib.EngineTypes.next = {
28377 MenhirLib.EngineTypes.state = _menhir_s;
28378 MenhirLib.EngineTypes.semv = _1;
28379 MenhirLib.EngineTypes.startp = _startpos__1_;
28380 MenhirLib.EngineTypes.endp = _endpos__1_;
28381 MenhirLib.EngineTypes.next = _menhir_stack;
28382 };
28383 } = _menhir_stack in
28384 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
28385 let _1 : 'tv_stm_dots = Obj.magic _1 in
28386 let _startpos = _startpos__1_ in
28387 let _endpos = _endpos__2_ in
28388 let _v : 'tv_toplevel_after_exp =
28389 # 1636 "parser_cocci_menhir.mly"
28390 (_1::_2)
28391 # 28392 "parser_cocci_menhir.ml"
28392 in
28393 _menhir_env.MenhirLib.EngineTypes.stack <- {
28394 MenhirLib.EngineTypes.state = _menhir_s;
28395 MenhirLib.EngineTypes.semv = Obj.repr _v;
28396 MenhirLib.EngineTypes.startp = _startpos;
28397 MenhirLib.EngineTypes.endp = _endpos;
28398 MenhirLib.EngineTypes.next = _menhir_stack;
28399 });
28400 (fun _menhir_env ->
28401 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28402 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
28403 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
28404 let _endpos = _startpos in
28405 let _v : 'tv_toplevel_after_stm =
28406 # 1645 "parser_cocci_menhir.mly"
28407 ([])
28408 # 28409 "parser_cocci_menhir.ml"
28409 in
28410 _menhir_env.MenhirLib.EngineTypes.stack <- {
28411 MenhirLib.EngineTypes.state = _menhir_s;
28412 MenhirLib.EngineTypes.semv = Obj.repr _v;
28413 MenhirLib.EngineTypes.startp = _startpos;
28414 MenhirLib.EngineTypes.endp = _endpos;
28415 MenhirLib.EngineTypes.next = _menhir_stack;
28416 });
28417 (fun _menhir_env ->
28418 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28419 let {
28420 MenhirLib.EngineTypes.semv = _2;
28421 MenhirLib.EngineTypes.startp = _startpos__2_;
28422 MenhirLib.EngineTypes.endp = _endpos__2_;
28423 MenhirLib.EngineTypes.next = {
28424 MenhirLib.EngineTypes.state = _menhir_s;
28425 MenhirLib.EngineTypes.semv = _1;
28426 MenhirLib.EngineTypes.startp = _startpos__1_;
28427 MenhirLib.EngineTypes.endp = _endpos__1_;
28428 MenhirLib.EngineTypes.next = _menhir_stack;
28429 };
28430 } = _menhir_stack in
28431 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
28432 let _1 : 'tv_stm_dots = Obj.magic _1 in
28433 let _startpos = _startpos__1_ in
28434 let _endpos = _endpos__2_ in
28435 let _v : 'tv_toplevel_after_stm =
28436 # 1646 "parser_cocci_menhir.mly"
28437 (_1::_2)
28438 # 28439 "parser_cocci_menhir.ml"
28439 in
28440 _menhir_env.MenhirLib.EngineTypes.stack <- {
28441 MenhirLib.EngineTypes.state = _menhir_s;
28442 MenhirLib.EngineTypes.semv = Obj.repr _v;
28443 MenhirLib.EngineTypes.startp = _startpos;
28444 MenhirLib.EngineTypes.endp = _endpos;
28445 MenhirLib.EngineTypes.next = _menhir_stack;
28446 });
28447 (fun _menhir_env ->
28448 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28449 let {
28450 MenhirLib.EngineTypes.semv = _2;
28451 MenhirLib.EngineTypes.startp = _startpos__2_;
28452 MenhirLib.EngineTypes.endp = _endpos__2_;
28453 MenhirLib.EngineTypes.next = {
28454 MenhirLib.EngineTypes.state = _menhir_s;
28455 MenhirLib.EngineTypes.semv = _1;
28456 MenhirLib.EngineTypes.startp = _startpos__1_;
28457 MenhirLib.EngineTypes.endp = _endpos__1_;
28458 MenhirLib.EngineTypes.next = _menhir_stack;
28459 };
28460 } = _menhir_stack in
28461 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
28462 let _1 : 'tv_decl_statement = Obj.magic _1 in
28463 let _startpos = _startpos__1_ in
28464 let _endpos = _endpos__2_ in
28465 let _v : 'tv_toplevel_after_stm =
28466 # 1647 "parser_cocci_menhir.mly"
28467 (_1@_2)
28468 # 28469 "parser_cocci_menhir.ml"
28469 in
28470 _menhir_env.MenhirLib.EngineTypes.stack <- {
28471 MenhirLib.EngineTypes.state = _menhir_s;
28472 MenhirLib.EngineTypes.semv = Obj.repr _v;
28473 MenhirLib.EngineTypes.startp = _startpos;
28474 MenhirLib.EngineTypes.endp = _endpos;
28475 MenhirLib.EngineTypes.next = _menhir_stack;
28476 });
28477 (fun _menhir_env ->
28478 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28479 let {
28480 MenhirLib.EngineTypes.semv = _2;
28481 MenhirLib.EngineTypes.startp = _startpos__2_;
28482 MenhirLib.EngineTypes.endp = _endpos__2_;
28483 MenhirLib.EngineTypes.next = {
28484 MenhirLib.EngineTypes.state = _menhir_s;
28485 MenhirLib.EngineTypes.semv = _1;
28486 MenhirLib.EngineTypes.startp = _startpos__1_;
28487 MenhirLib.EngineTypes.endp = _endpos__1_;
28488 MenhirLib.EngineTypes.next = _menhir_stack;
28489 };
28490 } = _menhir_stack in
28491 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
28492 let _1 : 'tv_stm_dots = Obj.magic _1 in
28493 let _startpos = _startpos__1_ in
28494 let _endpos = _endpos__2_ in
28495 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
28496 # 1625 "parser_cocci_menhir.mly"
28497 ( _1::_2 )
28498 # 28499 "parser_cocci_menhir.ml"
28499 in
28500 _menhir_env.MenhirLib.EngineTypes.stack <- {
28501 MenhirLib.EngineTypes.state = _menhir_s;
28502 MenhirLib.EngineTypes.semv = Obj.repr _v;
28503 MenhirLib.EngineTypes.startp = _startpos;
28504 MenhirLib.EngineTypes.endp = _endpos;
28505 MenhirLib.EngineTypes.next = _menhir_stack;
28506 });
28507 (fun _menhir_env ->
28508 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28509 let {
28510 MenhirLib.EngineTypes.semv = _2;
28511 MenhirLib.EngineTypes.startp = _startpos__2_;
28512 MenhirLib.EngineTypes.endp = _endpos__2_;
28513 MenhirLib.EngineTypes.next = {
28514 MenhirLib.EngineTypes.state = _menhir_s;
28515 MenhirLib.EngineTypes.semv = _1;
28516 MenhirLib.EngineTypes.startp = _startpos__1_;
28517 MenhirLib.EngineTypes.endp = _endpos__1_;
28518 MenhirLib.EngineTypes.next = _menhir_stack;
28519 };
28520 } = _menhir_stack in
28521 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
28522 let _1 : 'tv_expr = Obj.magic _1 in
28523 let _startpos = _startpos__1_ in
28524 let _endpos = _endpos__2_ in
28525 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
28526 # 1626 "parser_cocci_menhir.mly"
28527 ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
28528 # 28529 "parser_cocci_menhir.ml"
28529 in
28530 _menhir_env.MenhirLib.EngineTypes.stack <- {
28531 MenhirLib.EngineTypes.state = _menhir_s;
28532 MenhirLib.EngineTypes.semv = Obj.repr _v;
28533 MenhirLib.EngineTypes.startp = _startpos;
28534 MenhirLib.EngineTypes.endp = _endpos;
28535 MenhirLib.EngineTypes.next = _menhir_stack;
28536 });
28537 (fun _menhir_env ->
28538 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28539 let {
28540 MenhirLib.EngineTypes.semv = _2;
28541 MenhirLib.EngineTypes.startp = _startpos__2_;
28542 MenhirLib.EngineTypes.endp = _endpos__2_;
28543 MenhirLib.EngineTypes.next = {
28544 MenhirLib.EngineTypes.state = _menhir_s;
28545 MenhirLib.EngineTypes.semv = _1;
28546 MenhirLib.EngineTypes.startp = _startpos__1_;
28547 MenhirLib.EngineTypes.endp = _endpos__1_;
28548 MenhirLib.EngineTypes.next = _menhir_stack;
28549 };
28550 } = _menhir_stack in
28551 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
28552 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
28553 let _startpos = _startpos__1_ in
28554 let _endpos = _endpos__2_ in
28555 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
28556 # 1627 "parser_cocci_menhir.mly"
28557 ( _1@_2 )
28558 # 28559 "parser_cocci_menhir.ml"
28559 in
28560 _menhir_env.MenhirLib.EngineTypes.stack <- {
28561 MenhirLib.EngineTypes.state = _menhir_s;
28562 MenhirLib.EngineTypes.semv = Obj.repr _v;
28563 MenhirLib.EngineTypes.startp = _startpos;
28564 MenhirLib.EngineTypes.endp = _endpos;
28565 MenhirLib.EngineTypes.next = _menhir_stack;
28566 });
28567 (fun _menhir_env ->
28568 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28569 let {
28570 MenhirLib.EngineTypes.semv = b;
28571 MenhirLib.EngineTypes.startp = _startpos_b_;
28572 MenhirLib.EngineTypes.endp = _endpos_b_;
28573 MenhirLib.EngineTypes.next = {
28574 MenhirLib.EngineTypes.semv = w0;
28575 MenhirLib.EngineTypes.startp = _startpos_w0_;
28576 MenhirLib.EngineTypes.endp = _endpos_w0_;
28577 MenhirLib.EngineTypes.next = {
28578 MenhirLib.EngineTypes.state = _menhir_s;
28579 MenhirLib.EngineTypes.semv = a0;
28580 MenhirLib.EngineTypes.startp = _startpos_a0_;
28581 MenhirLib.EngineTypes.endp = _endpos_a0_;
28582 MenhirLib.EngineTypes.next = _menhir_stack;
28583 };
28584 };
28585 } = _menhir_stack in
28586 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
28587 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
28588 let a0 : (
28589 # 73 "parser_cocci_menhir.mly"
28590 (Data.clt)
28591 # 28592 "parser_cocci_menhir.ml"
28592 ) = Obj.magic a0 in
28593 let _startpos = _startpos_a0_ in
28594 let _endpos = _endpos_b_ in
28595 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
28596 let w = w0 in
28597 let a = a0 in
28598
28599 # 898 "parser_cocci_menhir.mly"
28600 ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) )
28601 # 28602 "parser_cocci_menhir.ml"
28602
28603 in
28604
28605 # 1618 "parser_cocci_menhir.mly"
28606 ( a::b )
28607 # 28608 "parser_cocci_menhir.ml"
28608 in
28609 _menhir_env.MenhirLib.EngineTypes.stack <- {
28610 MenhirLib.EngineTypes.state = _menhir_s;
28611 MenhirLib.EngineTypes.semv = Obj.repr _v;
28612 MenhirLib.EngineTypes.startp = _startpos;
28613 MenhirLib.EngineTypes.endp = _endpos;
28614 MenhirLib.EngineTypes.next = _menhir_stack;
28615 });
28616 (fun _menhir_env ->
28617 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28618 let {
28619 MenhirLib.EngineTypes.semv = b;
28620 MenhirLib.EngineTypes.startp = _startpos_b_;
28621 MenhirLib.EngineTypes.endp = _endpos_b_;
28622 MenhirLib.EngineTypes.next = {
28623 MenhirLib.EngineTypes.semv = c0;
28624 MenhirLib.EngineTypes.startp = _startpos_c0_;
28625 MenhirLib.EngineTypes.endp = _endpos_c0_;
28626 MenhirLib.EngineTypes.next = {
28627 MenhirLib.EngineTypes.semv = b0;
28628 MenhirLib.EngineTypes.startp = _startpos_b0_;
28629 MenhirLib.EngineTypes.endp = _endpos_b0_;
28630 MenhirLib.EngineTypes.next = {
28631 MenhirLib.EngineTypes.semv = w0;
28632 MenhirLib.EngineTypes.startp = _startpos_w0_;
28633 MenhirLib.EngineTypes.endp = _endpos_w0_;
28634 MenhirLib.EngineTypes.next = {
28635 MenhirLib.EngineTypes.state = _menhir_s;
28636 MenhirLib.EngineTypes.semv = a0;
28637 MenhirLib.EngineTypes.startp = _startpos_a0_;
28638 MenhirLib.EngineTypes.endp = _endpos_a0_;
28639 MenhirLib.EngineTypes.next = _menhir_stack;
28640 };
28641 };
28642 };
28643 };
28644 } = _menhir_stack in
28645 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
28646 let c0 : (
28647 # 73 "parser_cocci_menhir.mly"
28648 (Data.clt)
28649 # 28650 "parser_cocci_menhir.ml"
28650 ) = Obj.magic c0 in
28651 let b0 : 'tv_nest_start = Obj.magic b0 in
28652 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
28653 let a0 : (
28654 # 73 "parser_cocci_menhir.mly"
28655 (Data.clt)
28656 # 28657 "parser_cocci_menhir.ml"
28657 ) = Obj.magic a0 in
28658 let _startpos = _startpos_a0_ in
28659 let _endpos = _endpos_b_ in
28660 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
28661 let c = c0 in
28662 let b = b0 in
28663 let w = w0 in
28664 let a = a0 in
28665
28666 # 902 "parser_cocci_menhir.mly"
28667 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
28668 P.clt2mcode "...>" c, List.concat w, false)) )
28669 # 28670 "parser_cocci_menhir.ml"
28670
28671 in
28672
28673 # 1619 "parser_cocci_menhir.mly"
28674 ( a::b )
28675 # 28676 "parser_cocci_menhir.ml"
28676 in
28677 _menhir_env.MenhirLib.EngineTypes.stack <- {
28678 MenhirLib.EngineTypes.state = _menhir_s;
28679 MenhirLib.EngineTypes.semv = Obj.repr _v;
28680 MenhirLib.EngineTypes.startp = _startpos;
28681 MenhirLib.EngineTypes.endp = _endpos;
28682 MenhirLib.EngineTypes.next = _menhir_stack;
28683 });
28684 (fun _menhir_env ->
28685 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28686 let {
28687 MenhirLib.EngineTypes.semv = b;
28688 MenhirLib.EngineTypes.startp = _startpos_b_;
28689 MenhirLib.EngineTypes.endp = _endpos_b_;
28690 MenhirLib.EngineTypes.next = {
28691 MenhirLib.EngineTypes.semv = c0;
28692 MenhirLib.EngineTypes.startp = _startpos_c0_;
28693 MenhirLib.EngineTypes.endp = _endpos_c0_;
28694 MenhirLib.EngineTypes.next = {
28695 MenhirLib.EngineTypes.semv = b0;
28696 MenhirLib.EngineTypes.startp = _startpos_b0_;
28697 MenhirLib.EngineTypes.endp = _endpos_b0_;
28698 MenhirLib.EngineTypes.next = {
28699 MenhirLib.EngineTypes.semv = w0;
28700 MenhirLib.EngineTypes.startp = _startpos_w0_;
28701 MenhirLib.EngineTypes.endp = _endpos_w0_;
28702 MenhirLib.EngineTypes.next = {
28703 MenhirLib.EngineTypes.state = _menhir_s;
28704 MenhirLib.EngineTypes.semv = a0;
28705 MenhirLib.EngineTypes.startp = _startpos_a0_;
28706 MenhirLib.EngineTypes.endp = _endpos_a0_;
28707 MenhirLib.EngineTypes.next = _menhir_stack;
28708 };
28709 };
28710 };
28711 };
28712 } = _menhir_stack in
28713 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
28714 let c0 : (
28715 # 73 "parser_cocci_menhir.mly"
28716 (Data.clt)
28717 # 28718 "parser_cocci_menhir.ml"
28718 ) = Obj.magic c0 in
28719 let b0 : 'tv_nest_start = Obj.magic b0 in
28720 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
28721 let a0 : (
28722 # 73 "parser_cocci_menhir.mly"
28723 (Data.clt)
28724 # 28725 "parser_cocci_menhir.ml"
28725 ) = Obj.magic a0 in
28726 let _startpos = _startpos_a0_ in
28727 let _endpos = _endpos_b_ in
28728 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
28729 let c = c0 in
28730 let b = b0 in
28731 let w = w0 in
28732 let a = a0 in
28733
28734 # 905 "parser_cocci_menhir.mly"
28735 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
28736 P.clt2mcode "...+>" c, List.concat w, true)) )
28737 # 28738 "parser_cocci_menhir.ml"
28738
28739 in
28740
28741 # 1619 "parser_cocci_menhir.mly"
28742 ( a::b )
28743 # 28744 "parser_cocci_menhir.ml"
28744 in
28745 _menhir_env.MenhirLib.EngineTypes.stack <- {
28746 MenhirLib.EngineTypes.state = _menhir_s;
28747 MenhirLib.EngineTypes.semv = Obj.repr _v;
28748 MenhirLib.EngineTypes.startp = _startpos;
28749 MenhirLib.EngineTypes.endp = _endpos;
28750 MenhirLib.EngineTypes.next = _menhir_stack;
28751 });
28752 (fun _menhir_env ->
28753 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28754 let {
28755 MenhirLib.EngineTypes.semv = c0;
28756 MenhirLib.EngineTypes.startp = _startpos_c0_;
28757 MenhirLib.EngineTypes.endp = _endpos_c0_;
28758 MenhirLib.EngineTypes.next = {
28759 MenhirLib.EngineTypes.semv = b0;
28760 MenhirLib.EngineTypes.startp = _startpos_b0_;
28761 MenhirLib.EngineTypes.endp = _endpos_b0_;
28762 MenhirLib.EngineTypes.next = {
28763 MenhirLib.EngineTypes.semv = w0;
28764 MenhirLib.EngineTypes.startp = _startpos_w0_;
28765 MenhirLib.EngineTypes.endp = _endpos_w0_;
28766 MenhirLib.EngineTypes.next = {
28767 MenhirLib.EngineTypes.state = _menhir_s;
28768 MenhirLib.EngineTypes.semv = a0;
28769 MenhirLib.EngineTypes.startp = _startpos_a0_;
28770 MenhirLib.EngineTypes.endp = _endpos_a0_;
28771 MenhirLib.EngineTypes.next = _menhir_stack;
28772 };
28773 };
28774 };
28775 } = _menhir_stack in
28776 let c0 : (
28777 # 73 "parser_cocci_menhir.mly"
28778 (Data.clt)
28779 # 28780 "parser_cocci_menhir.ml"
28780 ) = Obj.magic c0 in
28781 let b0 : 'tv_nest_start = Obj.magic b0 in
28782 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
28783 let a0 : (
28784 # 73 "parser_cocci_menhir.mly"
28785 (Data.clt)
28786 # 28787 "parser_cocci_menhir.ml"
28787 ) = Obj.magic a0 in
28788 let _startpos = _startpos_a0_ in
28789 let _endpos = _endpos_c0_ in
28790 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
28791 let c = c0 in
28792 let b = b0 in
28793 let w = w0 in
28794 let a = a0 in
28795
28796 # 902 "parser_cocci_menhir.mly"
28797 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
28798 P.clt2mcode "...>" c, List.concat w, false)) )
28799 # 28800 "parser_cocci_menhir.ml"
28800
28801 in
28802
28803 # 1620 "parser_cocci_menhir.mly"
28804 ( [a] )
28805 # 28806 "parser_cocci_menhir.ml"
28806 in
28807 _menhir_env.MenhirLib.EngineTypes.stack <- {
28808 MenhirLib.EngineTypes.state = _menhir_s;
28809 MenhirLib.EngineTypes.semv = Obj.repr _v;
28810 MenhirLib.EngineTypes.startp = _startpos;
28811 MenhirLib.EngineTypes.endp = _endpos;
28812 MenhirLib.EngineTypes.next = _menhir_stack;
28813 });
28814 (fun _menhir_env ->
28815 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28816 let {
28817 MenhirLib.EngineTypes.semv = c0;
28818 MenhirLib.EngineTypes.startp = _startpos_c0_;
28819 MenhirLib.EngineTypes.endp = _endpos_c0_;
28820 MenhirLib.EngineTypes.next = {
28821 MenhirLib.EngineTypes.semv = b0;
28822 MenhirLib.EngineTypes.startp = _startpos_b0_;
28823 MenhirLib.EngineTypes.endp = _endpos_b0_;
28824 MenhirLib.EngineTypes.next = {
28825 MenhirLib.EngineTypes.semv = w0;
28826 MenhirLib.EngineTypes.startp = _startpos_w0_;
28827 MenhirLib.EngineTypes.endp = _endpos_w0_;
28828 MenhirLib.EngineTypes.next = {
28829 MenhirLib.EngineTypes.state = _menhir_s;
28830 MenhirLib.EngineTypes.semv = a0;
28831 MenhirLib.EngineTypes.startp = _startpos_a0_;
28832 MenhirLib.EngineTypes.endp = _endpos_a0_;
28833 MenhirLib.EngineTypes.next = _menhir_stack;
28834 };
28835 };
28836 };
28837 } = _menhir_stack in
28838 let c0 : (
28839 # 73 "parser_cocci_menhir.mly"
28840 (Data.clt)
28841 # 28842 "parser_cocci_menhir.ml"
28842 ) = Obj.magic c0 in
28843 let b0 : 'tv_nest_start = Obj.magic b0 in
28844 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
28845 let a0 : (
28846 # 73 "parser_cocci_menhir.mly"
28847 (Data.clt)
28848 # 28849 "parser_cocci_menhir.ml"
28849 ) = Obj.magic a0 in
28850 let _startpos = _startpos_a0_ in
28851 let _endpos = _endpos_c0_ in
28852 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
28853 let c = c0 in
28854 let b = b0 in
28855 let w = w0 in
28856 let a = a0 in
28857
28858 # 905 "parser_cocci_menhir.mly"
28859 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
28860 P.clt2mcode "...+>" c, List.concat w, true)) )
28861 # 28862 "parser_cocci_menhir.ml"
28862
28863 in
28864
28865 # 1620 "parser_cocci_menhir.mly"
28866 ( [a] )
28867 # 28868 "parser_cocci_menhir.ml"
28868 in
28869 _menhir_env.MenhirLib.EngineTypes.stack <- {
28870 MenhirLib.EngineTypes.state = _menhir_s;
28871 MenhirLib.EngineTypes.semv = Obj.repr _v;
28872 MenhirLib.EngineTypes.startp = _startpos;
28873 MenhirLib.EngineTypes.endp = _endpos;
28874 MenhirLib.EngineTypes.next = _menhir_stack;
28875 });
28876 (fun _menhir_env ->
28877 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28878 let {
28879 MenhirLib.EngineTypes.semv = _2;
28880 MenhirLib.EngineTypes.startp = _startpos__2_;
28881 MenhirLib.EngineTypes.endp = _endpos__2_;
28882 MenhirLib.EngineTypes.next = {
28883 MenhirLib.EngineTypes.state = _menhir_s;
28884 MenhirLib.EngineTypes.semv = _1;
28885 MenhirLib.EngineTypes.startp = _startpos__1_;
28886 MenhirLib.EngineTypes.endp = _endpos__1_;
28887 MenhirLib.EngineTypes.next = _menhir_stack;
28888 };
28889 } = _menhir_stack in
28890 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
28891 let _1 : 'tv_expr = Obj.magic _1 in
28892 let _startpos = _startpos__1_ in
28893 let _endpos = _endpos__2_ in
28894 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
28895 # 1621 "parser_cocci_menhir.mly"
28896 ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
28897 # 28898 "parser_cocci_menhir.ml"
28898 in
28899 _menhir_env.MenhirLib.EngineTypes.stack <- {
28900 MenhirLib.EngineTypes.state = _menhir_s;
28901 MenhirLib.EngineTypes.semv = Obj.repr _v;
28902 MenhirLib.EngineTypes.startp = _startpos;
28903 MenhirLib.EngineTypes.endp = _endpos;
28904 MenhirLib.EngineTypes.next = _menhir_stack;
28905 });
28906 (fun _menhir_env ->
28907 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28908 let {
28909 MenhirLib.EngineTypes.semv = _2;
28910 MenhirLib.EngineTypes.startp = _startpos__2_;
28911 MenhirLib.EngineTypes.endp = _endpos__2_;
28912 MenhirLib.EngineTypes.next = {
28913 MenhirLib.EngineTypes.state = _menhir_s;
28914 MenhirLib.EngineTypes.semv = _1;
28915 MenhirLib.EngineTypes.startp = _startpos__1_;
28916 MenhirLib.EngineTypes.endp = _endpos__1_;
28917 MenhirLib.EngineTypes.next = _menhir_stack;
28918 };
28919 } = _menhir_stack in
28920 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
28921 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
28922 let _startpos = _startpos__1_ in
28923 let _endpos = _endpos__2_ in
28924 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
28925 # 1622 "parser_cocci_menhir.mly"
28926 ( _1@_2 )
28927 # 28928 "parser_cocci_menhir.ml"
28928 in
28929 _menhir_env.MenhirLib.EngineTypes.stack <- {
28930 MenhirLib.EngineTypes.state = _menhir_s;
28931 MenhirLib.EngineTypes.semv = Obj.repr _v;
28932 MenhirLib.EngineTypes.startp = _startpos;
28933 MenhirLib.EngineTypes.endp = _endpos;
28934 MenhirLib.EngineTypes.next = _menhir_stack;
28935 });
28936 (fun _menhir_env ->
28937 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28938 let {
28939 MenhirLib.EngineTypes.state = _menhir_s;
28940 MenhirLib.EngineTypes.semv = _1;
28941 MenhirLib.EngineTypes.startp = _startpos__1_;
28942 MenhirLib.EngineTypes.endp = _endpos__1_;
28943 MenhirLib.EngineTypes.next = _menhir_stack;
28944 } = _menhir_stack in
28945 let _1 : 'tv_pure_ident = Obj.magic _1 in
28946 let _startpos = _startpos__1_ in
28947 let _endpos = _endpos__1_ in
28948 let _v : 'tv_typedef_ident =
28949 # 1530 "parser_cocci_menhir.mly"
28950 ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) )
28951 # 28952 "parser_cocci_menhir.ml"
28952 in
28953 _menhir_env.MenhirLib.EngineTypes.stack <- {
28954 MenhirLib.EngineTypes.state = _menhir_s;
28955 MenhirLib.EngineTypes.semv = Obj.repr _v;
28956 MenhirLib.EngineTypes.startp = _startpos;
28957 MenhirLib.EngineTypes.endp = _endpos;
28958 MenhirLib.EngineTypes.next = _menhir_stack;
28959 });
28960 (fun _menhir_env ->
28961 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28962 let {
28963 MenhirLib.EngineTypes.state = _menhir_s;
28964 MenhirLib.EngineTypes.semv = _1;
28965 MenhirLib.EngineTypes.startp = _startpos__1_;
28966 MenhirLib.EngineTypes.endp = _endpos__1_;
28967 MenhirLib.EngineTypes.next = _menhir_stack;
28968 } = _menhir_stack in
28969 let _1 : (
28970 # 64 "parser_cocci_menhir.mly"
28971 (Parse_aux.info)
28972 # 28973 "parser_cocci_menhir.ml"
28973 ) = Obj.magic _1 in
28974 let _startpos = _startpos__1_ in
28975 let _endpos = _endpos__1_ in
28976 let _v : 'tv_typedef_ident =
28977 # 1532 "parser_cocci_menhir.mly"
28978 ( let (nm,pure,clt) = _1 in
28979 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
28980 # 28981 "parser_cocci_menhir.ml"
28981 in
28982 _menhir_env.MenhirLib.EngineTypes.stack <- {
28983 MenhirLib.EngineTypes.state = _menhir_s;
28984 MenhirLib.EngineTypes.semv = Obj.repr _v;
28985 MenhirLib.EngineTypes.startp = _startpos;
28986 MenhirLib.EngineTypes.endp = _endpos;
28987 MenhirLib.EngineTypes.next = _menhir_stack;
28988 });
28989 (fun _menhir_env ->
28990 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28991 let {
28992 MenhirLib.EngineTypes.state = _menhir_s;
28993 MenhirLib.EngineTypes.semv = _1;
28994 MenhirLib.EngineTypes.startp = _startpos__1_;
28995 MenhirLib.EngineTypes.endp = _endpos__1_;
28996 MenhirLib.EngineTypes.next = _menhir_stack;
28997 } = _menhir_stack in
28998 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
28999 let _startpos = _startpos__1_ in
29000 let _endpos = _endpos__1_ in
29001 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
29002 # 1298 "parser_cocci_menhir.mly"
29003 ( _1 )
29004 # 29005 "parser_cocci_menhir.ml"
29005 in
29006 _menhir_env.MenhirLib.EngineTypes.stack <- {
29007 MenhirLib.EngineTypes.state = _menhir_s;
29008 MenhirLib.EngineTypes.semv = Obj.repr _v;
29009 MenhirLib.EngineTypes.startp = _startpos;
29010 MenhirLib.EngineTypes.endp = _endpos;
29011 MenhirLib.EngineTypes.next = _menhir_stack;
29012 });
29013 (fun _menhir_env ->
29014 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29015 let {
29016 MenhirLib.EngineTypes.semv = _2;
29017 MenhirLib.EngineTypes.startp = _startpos__2_;
29018 MenhirLib.EngineTypes.endp = _endpos__2_;
29019 MenhirLib.EngineTypes.next = {
29020 MenhirLib.EngineTypes.state = _menhir_s;
29021 MenhirLib.EngineTypes.semv = _1;
29022 MenhirLib.EngineTypes.startp = _startpos__1_;
29023 MenhirLib.EngineTypes.endp = _endpos__1_;
29024 MenhirLib.EngineTypes.next = _menhir_stack;
29025 };
29026 } = _menhir_stack in
29027 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
29028 let _1 : (
29029 # 85 "parser_cocci_menhir.mly"
29030 (Data.clt)
29031 # 29032 "parser_cocci_menhir.ml"
29032 ) = Obj.magic _1 in
29033 let _startpos = _startpos__1_ in
29034 let _endpos = _endpos__2_ in
29035 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
29036 # 1300 "parser_cocci_menhir.mly"
29037 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
29038 # 29039 "parser_cocci_menhir.ml"
29039 in
29040 _menhir_env.MenhirLib.EngineTypes.stack <- {
29041 MenhirLib.EngineTypes.state = _menhir_s;
29042 MenhirLib.EngineTypes.semv = Obj.repr _v;
29043 MenhirLib.EngineTypes.startp = _startpos;
29044 MenhirLib.EngineTypes.endp = _endpos;
29045 MenhirLib.EngineTypes.next = _menhir_stack;
29046 });
29047 (fun _menhir_env ->
29048 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29049 let {
29050 MenhirLib.EngineTypes.semv = _2;
29051 MenhirLib.EngineTypes.startp = _startpos__2_;
29052 MenhirLib.EngineTypes.endp = _endpos__2_;
29053 MenhirLib.EngineTypes.next = {
29054 MenhirLib.EngineTypes.state = _menhir_s;
29055 MenhirLib.EngineTypes.semv = _1;
29056 MenhirLib.EngineTypes.startp = _startpos__1_;
29057 MenhirLib.EngineTypes.endp = _endpos__1_;
29058 MenhirLib.EngineTypes.next = _menhir_stack;
29059 };
29060 } = _menhir_stack in
29061 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
29062 let _1 : (
29063 # 85 "parser_cocci_menhir.mly"
29064 (Data.clt)
29065 # 29066 "parser_cocci_menhir.ml"
29066 ) = Obj.magic _1 in
29067 let _startpos = _startpos__1_ in
29068 let _endpos = _endpos__2_ in
29069 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
29070 # 1302 "parser_cocci_menhir.mly"
29071 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
29072 # 29073 "parser_cocci_menhir.ml"
29073 in
29074 _menhir_env.MenhirLib.EngineTypes.stack <- {
29075 MenhirLib.EngineTypes.state = _menhir_s;
29076 MenhirLib.EngineTypes.semv = Obj.repr _v;
29077 MenhirLib.EngineTypes.startp = _startpos;
29078 MenhirLib.EngineTypes.endp = _endpos;
29079 MenhirLib.EngineTypes.next = _menhir_stack;
29080 });
29081 (fun _menhir_env ->
29082 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29083 let {
29084 MenhirLib.EngineTypes.semv = _2;
29085 MenhirLib.EngineTypes.startp = _startpos__2_;
29086 MenhirLib.EngineTypes.endp = _endpos__2_;
29087 MenhirLib.EngineTypes.next = {
29088 MenhirLib.EngineTypes.state = _menhir_s;
29089 MenhirLib.EngineTypes.semv = _1;
29090 MenhirLib.EngineTypes.startp = _startpos__1_;
29091 MenhirLib.EngineTypes.endp = _endpos__1_;
29092 MenhirLib.EngineTypes.next = _menhir_stack;
29093 };
29094 } = _menhir_stack in
29095 let _2 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _2 in
29096 let _1 : 'tv_unary_op = Obj.magic _1 in
29097 let _startpos = _startpos__1_ in
29098 let _endpos = _endpos__2_ in
29099 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
29100 # 1304 "parser_cocci_menhir.mly"
29101 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
29102 # 29103 "parser_cocci_menhir.ml"
29103 in
29104 _menhir_env.MenhirLib.EngineTypes.stack <- {
29105 MenhirLib.EngineTypes.state = _menhir_s;
29106 MenhirLib.EngineTypes.semv = Obj.repr _v;
29107 MenhirLib.EngineTypes.startp = _startpos;
29108 MenhirLib.EngineTypes.endp = _endpos;
29109 MenhirLib.EngineTypes.next = _menhir_stack;
29110 });
29111 (fun _menhir_env ->
29112 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29113 let {
29114 MenhirLib.EngineTypes.semv = _2;
29115 MenhirLib.EngineTypes.startp = _startpos__2_;
29116 MenhirLib.EngineTypes.endp = _endpos__2_;
29117 MenhirLib.EngineTypes.next = {
29118 MenhirLib.EngineTypes.state = _menhir_s;
29119 MenhirLib.EngineTypes.semv = _1;
29120 MenhirLib.EngineTypes.startp = _startpos__1_;
29121 MenhirLib.EngineTypes.endp = _endpos__1_;
29122 MenhirLib.EngineTypes.next = _menhir_stack;
29123 };
29124 } = _menhir_stack in
29125 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
29126 let _1 : (
29127 # 76 "parser_cocci_menhir.mly"
29128 (Data.clt)
29129 # 29130 "parser_cocci_menhir.ml"
29130 ) = Obj.magic _1 in
29131 let _startpos = _startpos__1_ in
29132 let _endpos = _endpos__2_ in
29133 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
29134 # 1306 "parser_cocci_menhir.mly"
29135 ( let mcode = P.clt2mcode Ast.Not _1 in
29136 Ast0.wrap(Ast0.Unary(_2, mcode)) )
29137 # 29138 "parser_cocci_menhir.ml"
29138 in
29139 _menhir_env.MenhirLib.EngineTypes.stack <- {
29140 MenhirLib.EngineTypes.state = _menhir_s;
29141 MenhirLib.EngineTypes.semv = Obj.repr _v;
29142 MenhirLib.EngineTypes.startp = _startpos;
29143 MenhirLib.EngineTypes.endp = _endpos;
29144 MenhirLib.EngineTypes.next = _menhir_stack;
29145 });
29146 (fun _menhir_env ->
29147 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29148 let {
29149 MenhirLib.EngineTypes.semv = _2;
29150 MenhirLib.EngineTypes.startp = _startpos__2_;
29151 MenhirLib.EngineTypes.endp = _endpos__2_;
29152 MenhirLib.EngineTypes.next = {
29153 MenhirLib.EngineTypes.state = _menhir_s;
29154 MenhirLib.EngineTypes.semv = _1;
29155 MenhirLib.EngineTypes.startp = _startpos__1_;
29156 MenhirLib.EngineTypes.endp = _endpos__1_;
29157 MenhirLib.EngineTypes.next = _menhir_stack;
29158 };
29159 } = _menhir_stack in
29160 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
29161 let _1 : (
29162 # 58 "parser_cocci_menhir.mly"
29163 (Data.clt)
29164 # 29165 "parser_cocci_menhir.ml"
29165 ) = Obj.magic _1 in
29166 let _startpos = _startpos__1_ in
29167 let _endpos = _endpos__2_ in
29168 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
29169 # 1309 "parser_cocci_menhir.mly"
29170 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
29171 # 29172 "parser_cocci_menhir.ml"
29172 in
29173 _menhir_env.MenhirLib.EngineTypes.stack <- {
29174 MenhirLib.EngineTypes.state = _menhir_s;
29175 MenhirLib.EngineTypes.semv = Obj.repr _v;
29176 MenhirLib.EngineTypes.startp = _startpos;
29177 MenhirLib.EngineTypes.endp = _endpos;
29178 MenhirLib.EngineTypes.next = _menhir_stack;
29179 });
29180 (fun _menhir_env ->
29181 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29182 let {
29183 MenhirLib.EngineTypes.semv = rp;
29184 MenhirLib.EngineTypes.startp = _startpos_rp_;
29185 MenhirLib.EngineTypes.endp = _endpos_rp_;
29186 MenhirLib.EngineTypes.next = {
29187 MenhirLib.EngineTypes.semv = t;
29188 MenhirLib.EngineTypes.startp = _startpos_t_;
29189 MenhirLib.EngineTypes.endp = _endpos_t_;
29190 MenhirLib.EngineTypes.next = {
29191 MenhirLib.EngineTypes.semv = lp;
29192 MenhirLib.EngineTypes.startp = _startpos_lp_;
29193 MenhirLib.EngineTypes.endp = _endpos_lp_;
29194 MenhirLib.EngineTypes.next = {
29195 MenhirLib.EngineTypes.state = _menhir_s;
29196 MenhirLib.EngineTypes.semv = s;
29197 MenhirLib.EngineTypes.startp = _startpos_s_;
29198 MenhirLib.EngineTypes.endp = _endpos_s_;
29199 MenhirLib.EngineTypes.next = _menhir_stack;
29200 };
29201 };
29202 };
29203 } = _menhir_stack in
29204 let rp : (
29205 # 77 "parser_cocci_menhir.mly"
29206 (Data.clt)
29207 # 29208 "parser_cocci_menhir.ml"
29208 ) = Obj.magic rp in
29209 let t : 'tv_ctype = Obj.magic t in
29210 let lp : (
29211 # 76 "parser_cocci_menhir.mly"
29212 (Data.clt)
29213 # 29214 "parser_cocci_menhir.ml"
29214 ) = Obj.magic lp in
29215 let s : (
29216 # 58 "parser_cocci_menhir.mly"
29217 (Data.clt)
29218 # 29219 "parser_cocci_menhir.ml"
29219 ) = Obj.magic s in
29220 let _startpos = _startpos_s_ in
29221 let _endpos = _endpos_rp_ in
29222 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
29223 # 1311 "parser_cocci_menhir.mly"
29224 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
29225 P.clt2mcode "(" lp,t,
29226 P.clt2mcode ")" rp)) )
29227 # 29228 "parser_cocci_menhir.ml"
29228 in
29229 _menhir_env.MenhirLib.EngineTypes.stack <- {
29230 MenhirLib.EngineTypes.state = _menhir_s;
29231 MenhirLib.EngineTypes.semv = Obj.repr _v;
29232 MenhirLib.EngineTypes.startp = _startpos;
29233 MenhirLib.EngineTypes.endp = _endpos;
29234 MenhirLib.EngineTypes.next = _menhir_stack;
29235 });
29236 (fun _menhir_env ->
29237 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29238 let {
29239 MenhirLib.EngineTypes.state = _menhir_s;
29240 MenhirLib.EngineTypes.semv = _1;
29241 MenhirLib.EngineTypes.startp = _startpos__1_;
29242 MenhirLib.EngineTypes.endp = _endpos__1_;
29243 MenhirLib.EngineTypes.next = _menhir_stack;
29244 } = _menhir_stack in
29245 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
29246 let _startpos = _startpos__1_ in
29247 let _endpos = _endpos__1_ in
29248 let _v : 'tv_unary_expr_eexpr_invalid_ =
29249 # 1298 "parser_cocci_menhir.mly"
29250 ( _1 )
29251 # 29252 "parser_cocci_menhir.ml"
29252 in
29253 _menhir_env.MenhirLib.EngineTypes.stack <- {
29254 MenhirLib.EngineTypes.state = _menhir_s;
29255 MenhirLib.EngineTypes.semv = Obj.repr _v;
29256 MenhirLib.EngineTypes.startp = _startpos;
29257 MenhirLib.EngineTypes.endp = _endpos;
29258 MenhirLib.EngineTypes.next = _menhir_stack;
29259 });
29260 (fun _menhir_env ->
29261 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29262 let {
29263 MenhirLib.EngineTypes.semv = _2;
29264 MenhirLib.EngineTypes.startp = _startpos__2_;
29265 MenhirLib.EngineTypes.endp = _endpos__2_;
29266 MenhirLib.EngineTypes.next = {
29267 MenhirLib.EngineTypes.state = _menhir_s;
29268 MenhirLib.EngineTypes.semv = _1;
29269 MenhirLib.EngineTypes.startp = _startpos__1_;
29270 MenhirLib.EngineTypes.endp = _endpos__1_;
29271 MenhirLib.EngineTypes.next = _menhir_stack;
29272 };
29273 } = _menhir_stack in
29274 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
29275 let _1 : (
29276 # 85 "parser_cocci_menhir.mly"
29277 (Data.clt)
29278 # 29279 "parser_cocci_menhir.ml"
29279 ) = Obj.magic _1 in
29280 let _startpos = _startpos__1_ in
29281 let _endpos = _endpos__2_ in
29282 let _v : 'tv_unary_expr_eexpr_invalid_ =
29283 # 1300 "parser_cocci_menhir.mly"
29284 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
29285 # 29286 "parser_cocci_menhir.ml"
29286 in
29287 _menhir_env.MenhirLib.EngineTypes.stack <- {
29288 MenhirLib.EngineTypes.state = _menhir_s;
29289 MenhirLib.EngineTypes.semv = Obj.repr _v;
29290 MenhirLib.EngineTypes.startp = _startpos;
29291 MenhirLib.EngineTypes.endp = _endpos;
29292 MenhirLib.EngineTypes.next = _menhir_stack;
29293 });
29294 (fun _menhir_env ->
29295 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29296 let {
29297 MenhirLib.EngineTypes.semv = _2;
29298 MenhirLib.EngineTypes.startp = _startpos__2_;
29299 MenhirLib.EngineTypes.endp = _endpos__2_;
29300 MenhirLib.EngineTypes.next = {
29301 MenhirLib.EngineTypes.state = _menhir_s;
29302 MenhirLib.EngineTypes.semv = _1;
29303 MenhirLib.EngineTypes.startp = _startpos__1_;
29304 MenhirLib.EngineTypes.endp = _endpos__1_;
29305 MenhirLib.EngineTypes.next = _menhir_stack;
29306 };
29307 } = _menhir_stack in
29308 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
29309 let _1 : (
29310 # 85 "parser_cocci_menhir.mly"
29311 (Data.clt)
29312 # 29313 "parser_cocci_menhir.ml"
29313 ) = Obj.magic _1 in
29314 let _startpos = _startpos__1_ in
29315 let _endpos = _endpos__2_ in
29316 let _v : 'tv_unary_expr_eexpr_invalid_ =
29317 # 1302 "parser_cocci_menhir.mly"
29318 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
29319 # 29320 "parser_cocci_menhir.ml"
29320 in
29321 _menhir_env.MenhirLib.EngineTypes.stack <- {
29322 MenhirLib.EngineTypes.state = _menhir_s;
29323 MenhirLib.EngineTypes.semv = Obj.repr _v;
29324 MenhirLib.EngineTypes.startp = _startpos;
29325 MenhirLib.EngineTypes.endp = _endpos;
29326 MenhirLib.EngineTypes.next = _menhir_stack;
29327 });
29328 (fun _menhir_env ->
29329 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29330 let {
29331 MenhirLib.EngineTypes.semv = _2;
29332 MenhirLib.EngineTypes.startp = _startpos__2_;
29333 MenhirLib.EngineTypes.endp = _endpos__2_;
29334 MenhirLib.EngineTypes.next = {
29335 MenhirLib.EngineTypes.state = _menhir_s;
29336 MenhirLib.EngineTypes.semv = _1;
29337 MenhirLib.EngineTypes.startp = _startpos__1_;
29338 MenhirLib.EngineTypes.endp = _endpos__1_;
29339 MenhirLib.EngineTypes.next = _menhir_stack;
29340 };
29341 } = _menhir_stack in
29342 let _2 : 'tv_cast_expr_eexpr_invalid_ = Obj.magic _2 in
29343 let _1 : 'tv_unary_op = Obj.magic _1 in
29344 let _startpos = _startpos__1_ in
29345 let _endpos = _endpos__2_ in
29346 let _v : 'tv_unary_expr_eexpr_invalid_ =
29347 # 1304 "parser_cocci_menhir.mly"
29348 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
29349 # 29350 "parser_cocci_menhir.ml"
29350 in
29351 _menhir_env.MenhirLib.EngineTypes.stack <- {
29352 MenhirLib.EngineTypes.state = _menhir_s;
29353 MenhirLib.EngineTypes.semv = Obj.repr _v;
29354 MenhirLib.EngineTypes.startp = _startpos;
29355 MenhirLib.EngineTypes.endp = _endpos;
29356 MenhirLib.EngineTypes.next = _menhir_stack;
29357 });
29358 (fun _menhir_env ->
29359 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29360 let {
29361 MenhirLib.EngineTypes.semv = _2;
29362 MenhirLib.EngineTypes.startp = _startpos__2_;
29363 MenhirLib.EngineTypes.endp = _endpos__2_;
29364 MenhirLib.EngineTypes.next = {
29365 MenhirLib.EngineTypes.state = _menhir_s;
29366 MenhirLib.EngineTypes.semv = _1;
29367 MenhirLib.EngineTypes.startp = _startpos__1_;
29368 MenhirLib.EngineTypes.endp = _endpos__1_;
29369 MenhirLib.EngineTypes.next = _menhir_stack;
29370 };
29371 } = _menhir_stack in
29372 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
29373 let _1 : (
29374 # 76 "parser_cocci_menhir.mly"
29375 (Data.clt)
29376 # 29377 "parser_cocci_menhir.ml"
29377 ) = Obj.magic _1 in
29378 let _startpos = _startpos__1_ in
29379 let _endpos = _endpos__2_ in
29380 let _v : 'tv_unary_expr_eexpr_invalid_ =
29381 # 1306 "parser_cocci_menhir.mly"
29382 ( let mcode = P.clt2mcode Ast.Not _1 in
29383 Ast0.wrap(Ast0.Unary(_2, mcode)) )
29384 # 29385 "parser_cocci_menhir.ml"
29385 in
29386 _menhir_env.MenhirLib.EngineTypes.stack <- {
29387 MenhirLib.EngineTypes.state = _menhir_s;
29388 MenhirLib.EngineTypes.semv = Obj.repr _v;
29389 MenhirLib.EngineTypes.startp = _startpos;
29390 MenhirLib.EngineTypes.endp = _endpos;
29391 MenhirLib.EngineTypes.next = _menhir_stack;
29392 });
29393 (fun _menhir_env ->
29394 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29395 let {
29396 MenhirLib.EngineTypes.semv = _2;
29397 MenhirLib.EngineTypes.startp = _startpos__2_;
29398 MenhirLib.EngineTypes.endp = _endpos__2_;
29399 MenhirLib.EngineTypes.next = {
29400 MenhirLib.EngineTypes.state = _menhir_s;
29401 MenhirLib.EngineTypes.semv = _1;
29402 MenhirLib.EngineTypes.startp = _startpos__1_;
29403 MenhirLib.EngineTypes.endp = _endpos__1_;
29404 MenhirLib.EngineTypes.next = _menhir_stack;
29405 };
29406 } = _menhir_stack in
29407 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
29408 let _1 : (
29409 # 58 "parser_cocci_menhir.mly"
29410 (Data.clt)
29411 # 29412 "parser_cocci_menhir.ml"
29412 ) = Obj.magic _1 in
29413 let _startpos = _startpos__1_ in
29414 let _endpos = _endpos__2_ in
29415 let _v : 'tv_unary_expr_eexpr_invalid_ =
29416 # 1309 "parser_cocci_menhir.mly"
29417 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
29418 # 29419 "parser_cocci_menhir.ml"
29419 in
29420 _menhir_env.MenhirLib.EngineTypes.stack <- {
29421 MenhirLib.EngineTypes.state = _menhir_s;
29422 MenhirLib.EngineTypes.semv = Obj.repr _v;
29423 MenhirLib.EngineTypes.startp = _startpos;
29424 MenhirLib.EngineTypes.endp = _endpos;
29425 MenhirLib.EngineTypes.next = _menhir_stack;
29426 });
29427 (fun _menhir_env ->
29428 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29429 let {
29430 MenhirLib.EngineTypes.semv = rp;
29431 MenhirLib.EngineTypes.startp = _startpos_rp_;
29432 MenhirLib.EngineTypes.endp = _endpos_rp_;
29433 MenhirLib.EngineTypes.next = {
29434 MenhirLib.EngineTypes.semv = t;
29435 MenhirLib.EngineTypes.startp = _startpos_t_;
29436 MenhirLib.EngineTypes.endp = _endpos_t_;
29437 MenhirLib.EngineTypes.next = {
29438 MenhirLib.EngineTypes.semv = lp;
29439 MenhirLib.EngineTypes.startp = _startpos_lp_;
29440 MenhirLib.EngineTypes.endp = _endpos_lp_;
29441 MenhirLib.EngineTypes.next = {
29442 MenhirLib.EngineTypes.state = _menhir_s;
29443 MenhirLib.EngineTypes.semv = s;
29444 MenhirLib.EngineTypes.startp = _startpos_s_;
29445 MenhirLib.EngineTypes.endp = _endpos_s_;
29446 MenhirLib.EngineTypes.next = _menhir_stack;
29447 };
29448 };
29449 };
29450 } = _menhir_stack in
29451 let rp : (
29452 # 77 "parser_cocci_menhir.mly"
29453 (Data.clt)
29454 # 29455 "parser_cocci_menhir.ml"
29455 ) = Obj.magic rp in
29456 let t : 'tv_ctype = Obj.magic t in
29457 let lp : (
29458 # 76 "parser_cocci_menhir.mly"
29459 (Data.clt)
29460 # 29461 "parser_cocci_menhir.ml"
29461 ) = Obj.magic lp in
29462 let s : (
29463 # 58 "parser_cocci_menhir.mly"
29464 (Data.clt)
29465 # 29466 "parser_cocci_menhir.ml"
29466 ) = Obj.magic s in
29467 let _startpos = _startpos_s_ in
29468 let _endpos = _endpos_rp_ in
29469 let _v : 'tv_unary_expr_eexpr_invalid_ =
29470 # 1311 "parser_cocci_menhir.mly"
29471 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
29472 P.clt2mcode "(" lp,t,
29473 P.clt2mcode ")" rp)) )
29474 # 29475 "parser_cocci_menhir.ml"
29475 in
29476 _menhir_env.MenhirLib.EngineTypes.stack <- {
29477 MenhirLib.EngineTypes.state = _menhir_s;
29478 MenhirLib.EngineTypes.semv = Obj.repr _v;
29479 MenhirLib.EngineTypes.startp = _startpos;
29480 MenhirLib.EngineTypes.endp = _endpos;
29481 MenhirLib.EngineTypes.next = _menhir_stack;
29482 });
29483 (fun _menhir_env ->
29484 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29485 let {
29486 MenhirLib.EngineTypes.state = _menhir_s;
29487 MenhirLib.EngineTypes.semv = _1;
29488 MenhirLib.EngineTypes.startp = _startpos__1_;
29489 MenhirLib.EngineTypes.endp = _endpos__1_;
29490 MenhirLib.EngineTypes.next = _menhir_stack;
29491 } = _menhir_stack in
29492 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
29493 let _startpos = _startpos__1_ in
29494 let _endpos = _endpos__1_ in
29495 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
29496 # 1298 "parser_cocci_menhir.mly"
29497 ( _1 )
29498 # 29499 "parser_cocci_menhir.ml"
29499 in
29500 _menhir_env.MenhirLib.EngineTypes.stack <- {
29501 MenhirLib.EngineTypes.state = _menhir_s;
29502 MenhirLib.EngineTypes.semv = Obj.repr _v;
29503 MenhirLib.EngineTypes.startp = _startpos;
29504 MenhirLib.EngineTypes.endp = _endpos;
29505 MenhirLib.EngineTypes.next = _menhir_stack;
29506 });
29507 (fun _menhir_env ->
29508 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29509 let {
29510 MenhirLib.EngineTypes.semv = _2;
29511 MenhirLib.EngineTypes.startp = _startpos__2_;
29512 MenhirLib.EngineTypes.endp = _endpos__2_;
29513 MenhirLib.EngineTypes.next = {
29514 MenhirLib.EngineTypes.state = _menhir_s;
29515 MenhirLib.EngineTypes.semv = _1;
29516 MenhirLib.EngineTypes.startp = _startpos__1_;
29517 MenhirLib.EngineTypes.endp = _endpos__1_;
29518 MenhirLib.EngineTypes.next = _menhir_stack;
29519 };
29520 } = _menhir_stack in
29521 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
29522 let _1 : (
29523 # 85 "parser_cocci_menhir.mly"
29524 (Data.clt)
29525 # 29526 "parser_cocci_menhir.ml"
29526 ) = Obj.magic _1 in
29527 let _startpos = _startpos__1_ in
29528 let _endpos = _endpos__2_ in
29529 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
29530 # 1300 "parser_cocci_menhir.mly"
29531 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
29532 # 29533 "parser_cocci_menhir.ml"
29533 in
29534 _menhir_env.MenhirLib.EngineTypes.stack <- {
29535 MenhirLib.EngineTypes.state = _menhir_s;
29536 MenhirLib.EngineTypes.semv = Obj.repr _v;
29537 MenhirLib.EngineTypes.startp = _startpos;
29538 MenhirLib.EngineTypes.endp = _endpos;
29539 MenhirLib.EngineTypes.next = _menhir_stack;
29540 });
29541 (fun _menhir_env ->
29542 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29543 let {
29544 MenhirLib.EngineTypes.semv = _2;
29545 MenhirLib.EngineTypes.startp = _startpos__2_;
29546 MenhirLib.EngineTypes.endp = _endpos__2_;
29547 MenhirLib.EngineTypes.next = {
29548 MenhirLib.EngineTypes.state = _menhir_s;
29549 MenhirLib.EngineTypes.semv = _1;
29550 MenhirLib.EngineTypes.startp = _startpos__1_;
29551 MenhirLib.EngineTypes.endp = _endpos__1_;
29552 MenhirLib.EngineTypes.next = _menhir_stack;
29553 };
29554 } = _menhir_stack in
29555 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
29556 let _1 : (
29557 # 85 "parser_cocci_menhir.mly"
29558 (Data.clt)
29559 # 29560 "parser_cocci_menhir.ml"
29560 ) = Obj.magic _1 in
29561 let _startpos = _startpos__1_ in
29562 let _endpos = _endpos__2_ in
29563 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
29564 # 1302 "parser_cocci_menhir.mly"
29565 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
29566 # 29567 "parser_cocci_menhir.ml"
29567 in
29568 _menhir_env.MenhirLib.EngineTypes.stack <- {
29569 MenhirLib.EngineTypes.state = _menhir_s;
29570 MenhirLib.EngineTypes.semv = Obj.repr _v;
29571 MenhirLib.EngineTypes.startp = _startpos;
29572 MenhirLib.EngineTypes.endp = _endpos;
29573 MenhirLib.EngineTypes.next = _menhir_stack;
29574 });
29575 (fun _menhir_env ->
29576 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29577 let {
29578 MenhirLib.EngineTypes.semv = _2;
29579 MenhirLib.EngineTypes.startp = _startpos__2_;
29580 MenhirLib.EngineTypes.endp = _endpos__2_;
29581 MenhirLib.EngineTypes.next = {
29582 MenhirLib.EngineTypes.state = _menhir_s;
29583 MenhirLib.EngineTypes.semv = _1;
29584 MenhirLib.EngineTypes.startp = _startpos__1_;
29585 MenhirLib.EngineTypes.endp = _endpos__1_;
29586 MenhirLib.EngineTypes.next = _menhir_stack;
29587 };
29588 } = _menhir_stack in
29589 let _2 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _2 in
29590 let _1 : 'tv_unary_op = Obj.magic _1 in
29591 let _startpos = _startpos__1_ in
29592 let _endpos = _endpos__2_ in
29593 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
29594 # 1304 "parser_cocci_menhir.mly"
29595 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
29596 # 29597 "parser_cocci_menhir.ml"
29597 in
29598 _menhir_env.MenhirLib.EngineTypes.stack <- {
29599 MenhirLib.EngineTypes.state = _menhir_s;
29600 MenhirLib.EngineTypes.semv = Obj.repr _v;
29601 MenhirLib.EngineTypes.startp = _startpos;
29602 MenhirLib.EngineTypes.endp = _endpos;
29603 MenhirLib.EngineTypes.next = _menhir_stack;
29604 });
29605 (fun _menhir_env ->
29606 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29607 let {
29608 MenhirLib.EngineTypes.semv = _2;
29609 MenhirLib.EngineTypes.startp = _startpos__2_;
29610 MenhirLib.EngineTypes.endp = _endpos__2_;
29611 MenhirLib.EngineTypes.next = {
29612 MenhirLib.EngineTypes.state = _menhir_s;
29613 MenhirLib.EngineTypes.semv = _1;
29614 MenhirLib.EngineTypes.startp = _startpos__1_;
29615 MenhirLib.EngineTypes.endp = _endpos__1_;
29616 MenhirLib.EngineTypes.next = _menhir_stack;
29617 };
29618 } = _menhir_stack in
29619 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
29620 let _1 : (
29621 # 76 "parser_cocci_menhir.mly"
29622 (Data.clt)
29623 # 29624 "parser_cocci_menhir.ml"
29624 ) = Obj.magic _1 in
29625 let _startpos = _startpos__1_ in
29626 let _endpos = _endpos__2_ in
29627 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
29628 # 1306 "parser_cocci_menhir.mly"
29629 ( let mcode = P.clt2mcode Ast.Not _1 in
29630 Ast0.wrap(Ast0.Unary(_2, mcode)) )
29631 # 29632 "parser_cocci_menhir.ml"
29632 in
29633 _menhir_env.MenhirLib.EngineTypes.stack <- {
29634 MenhirLib.EngineTypes.state = _menhir_s;
29635 MenhirLib.EngineTypes.semv = Obj.repr _v;
29636 MenhirLib.EngineTypes.startp = _startpos;
29637 MenhirLib.EngineTypes.endp = _endpos;
29638 MenhirLib.EngineTypes.next = _menhir_stack;
29639 });
29640 (fun _menhir_env ->
29641 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29642 let {
29643 MenhirLib.EngineTypes.semv = _2;
29644 MenhirLib.EngineTypes.startp = _startpos__2_;
29645 MenhirLib.EngineTypes.endp = _endpos__2_;
29646 MenhirLib.EngineTypes.next = {
29647 MenhirLib.EngineTypes.state = _menhir_s;
29648 MenhirLib.EngineTypes.semv = _1;
29649 MenhirLib.EngineTypes.startp = _startpos__1_;
29650 MenhirLib.EngineTypes.endp = _endpos__1_;
29651 MenhirLib.EngineTypes.next = _menhir_stack;
29652 };
29653 } = _menhir_stack in
29654 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
29655 let _1 : (
29656 # 58 "parser_cocci_menhir.mly"
29657 (Data.clt)
29658 # 29659 "parser_cocci_menhir.ml"
29659 ) = Obj.magic _1 in
29660 let _startpos = _startpos__1_ in
29661 let _endpos = _endpos__2_ in
29662 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
29663 # 1309 "parser_cocci_menhir.mly"
29664 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
29665 # 29666 "parser_cocci_menhir.ml"
29666 in
29667 _menhir_env.MenhirLib.EngineTypes.stack <- {
29668 MenhirLib.EngineTypes.state = _menhir_s;
29669 MenhirLib.EngineTypes.semv = Obj.repr _v;
29670 MenhirLib.EngineTypes.startp = _startpos;
29671 MenhirLib.EngineTypes.endp = _endpos;
29672 MenhirLib.EngineTypes.next = _menhir_stack;
29673 });
29674 (fun _menhir_env ->
29675 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29676 let {
29677 MenhirLib.EngineTypes.semv = rp;
29678 MenhirLib.EngineTypes.startp = _startpos_rp_;
29679 MenhirLib.EngineTypes.endp = _endpos_rp_;
29680 MenhirLib.EngineTypes.next = {
29681 MenhirLib.EngineTypes.semv = t;
29682 MenhirLib.EngineTypes.startp = _startpos_t_;
29683 MenhirLib.EngineTypes.endp = _endpos_t_;
29684 MenhirLib.EngineTypes.next = {
29685 MenhirLib.EngineTypes.semv = lp;
29686 MenhirLib.EngineTypes.startp = _startpos_lp_;
29687 MenhirLib.EngineTypes.endp = _endpos_lp_;
29688 MenhirLib.EngineTypes.next = {
29689 MenhirLib.EngineTypes.state = _menhir_s;
29690 MenhirLib.EngineTypes.semv = s;
29691 MenhirLib.EngineTypes.startp = _startpos_s_;
29692 MenhirLib.EngineTypes.endp = _endpos_s_;
29693 MenhirLib.EngineTypes.next = _menhir_stack;
29694 };
29695 };
29696 };
29697 } = _menhir_stack in
29698 let rp : (
29699 # 77 "parser_cocci_menhir.mly"
29700 (Data.clt)
29701 # 29702 "parser_cocci_menhir.ml"
29702 ) = Obj.magic rp in
29703 let t : 'tv_ctype = Obj.magic t in
29704 let lp : (
29705 # 76 "parser_cocci_menhir.mly"
29706 (Data.clt)
29707 # 29708 "parser_cocci_menhir.ml"
29708 ) = Obj.magic lp in
29709 let s : (
29710 # 58 "parser_cocci_menhir.mly"
29711 (Data.clt)
29712 # 29713 "parser_cocci_menhir.ml"
29713 ) = Obj.magic s in
29714 let _startpos = _startpos_s_ in
29715 let _endpos = _endpos_rp_ in
29716 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
29717 # 1311 "parser_cocci_menhir.mly"
29718 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
29719 P.clt2mcode "(" lp,t,
29720 P.clt2mcode ")" rp)) )
29721 # 29722 "parser_cocci_menhir.ml"
29722 in
29723 _menhir_env.MenhirLib.EngineTypes.stack <- {
29724 MenhirLib.EngineTypes.state = _menhir_s;
29725 MenhirLib.EngineTypes.semv = Obj.repr _v;
29726 MenhirLib.EngineTypes.startp = _startpos;
29727 MenhirLib.EngineTypes.endp = _endpos;
29728 MenhirLib.EngineTypes.next = _menhir_stack;
29729 });
29730 (fun _menhir_env ->
29731 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29732 let {
29733 MenhirLib.EngineTypes.state = _menhir_s;
29734 MenhirLib.EngineTypes.semv = _1;
29735 MenhirLib.EngineTypes.startp = _startpos__1_;
29736 MenhirLib.EngineTypes.endp = _endpos__1_;
29737 MenhirLib.EngineTypes.next = _menhir_stack;
29738 } = _menhir_stack in
29739 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
29740 let _startpos = _startpos__1_ in
29741 let _endpos = _endpos__1_ in
29742 let _v : 'tv_unary_expr_expr_invalid_ =
29743 # 1298 "parser_cocci_menhir.mly"
29744 ( _1 )
29745 # 29746 "parser_cocci_menhir.ml"
29746 in
29747 _menhir_env.MenhirLib.EngineTypes.stack <- {
29748 MenhirLib.EngineTypes.state = _menhir_s;
29749 MenhirLib.EngineTypes.semv = Obj.repr _v;
29750 MenhirLib.EngineTypes.startp = _startpos;
29751 MenhirLib.EngineTypes.endp = _endpos;
29752 MenhirLib.EngineTypes.next = _menhir_stack;
29753 });
29754 (fun _menhir_env ->
29755 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29756 let {
29757 MenhirLib.EngineTypes.semv = _2;
29758 MenhirLib.EngineTypes.startp = _startpos__2_;
29759 MenhirLib.EngineTypes.endp = _endpos__2_;
29760 MenhirLib.EngineTypes.next = {
29761 MenhirLib.EngineTypes.state = _menhir_s;
29762 MenhirLib.EngineTypes.semv = _1;
29763 MenhirLib.EngineTypes.startp = _startpos__1_;
29764 MenhirLib.EngineTypes.endp = _endpos__1_;
29765 MenhirLib.EngineTypes.next = _menhir_stack;
29766 };
29767 } = _menhir_stack in
29768 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
29769 let _1 : (
29770 # 85 "parser_cocci_menhir.mly"
29771 (Data.clt)
29772 # 29773 "parser_cocci_menhir.ml"
29773 ) = Obj.magic _1 in
29774 let _startpos = _startpos__1_ in
29775 let _endpos = _endpos__2_ in
29776 let _v : 'tv_unary_expr_expr_invalid_ =
29777 # 1300 "parser_cocci_menhir.mly"
29778 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
29779 # 29780 "parser_cocci_menhir.ml"
29780 in
29781 _menhir_env.MenhirLib.EngineTypes.stack <- {
29782 MenhirLib.EngineTypes.state = _menhir_s;
29783 MenhirLib.EngineTypes.semv = Obj.repr _v;
29784 MenhirLib.EngineTypes.startp = _startpos;
29785 MenhirLib.EngineTypes.endp = _endpos;
29786 MenhirLib.EngineTypes.next = _menhir_stack;
29787 });
29788 (fun _menhir_env ->
29789 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29790 let {
29791 MenhirLib.EngineTypes.semv = _2;
29792 MenhirLib.EngineTypes.startp = _startpos__2_;
29793 MenhirLib.EngineTypes.endp = _endpos__2_;
29794 MenhirLib.EngineTypes.next = {
29795 MenhirLib.EngineTypes.state = _menhir_s;
29796 MenhirLib.EngineTypes.semv = _1;
29797 MenhirLib.EngineTypes.startp = _startpos__1_;
29798 MenhirLib.EngineTypes.endp = _endpos__1_;
29799 MenhirLib.EngineTypes.next = _menhir_stack;
29800 };
29801 } = _menhir_stack in
29802 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
29803 let _1 : (
29804 # 85 "parser_cocci_menhir.mly"
29805 (Data.clt)
29806 # 29807 "parser_cocci_menhir.ml"
29807 ) = Obj.magic _1 in
29808 let _startpos = _startpos__1_ in
29809 let _endpos = _endpos__2_ in
29810 let _v : 'tv_unary_expr_expr_invalid_ =
29811 # 1302 "parser_cocci_menhir.mly"
29812 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
29813 # 29814 "parser_cocci_menhir.ml"
29814 in
29815 _menhir_env.MenhirLib.EngineTypes.stack <- {
29816 MenhirLib.EngineTypes.state = _menhir_s;
29817 MenhirLib.EngineTypes.semv = Obj.repr _v;
29818 MenhirLib.EngineTypes.startp = _startpos;
29819 MenhirLib.EngineTypes.endp = _endpos;
29820 MenhirLib.EngineTypes.next = _menhir_stack;
29821 });
29822 (fun _menhir_env ->
29823 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29824 let {
29825 MenhirLib.EngineTypes.semv = _2;
29826 MenhirLib.EngineTypes.startp = _startpos__2_;
29827 MenhirLib.EngineTypes.endp = _endpos__2_;
29828 MenhirLib.EngineTypes.next = {
29829 MenhirLib.EngineTypes.state = _menhir_s;
29830 MenhirLib.EngineTypes.semv = _1;
29831 MenhirLib.EngineTypes.startp = _startpos__1_;
29832 MenhirLib.EngineTypes.endp = _endpos__1_;
29833 MenhirLib.EngineTypes.next = _menhir_stack;
29834 };
29835 } = _menhir_stack in
29836 let _2 : 'tv_cast_expr_expr_invalid_ = Obj.magic _2 in
29837 let _1 : 'tv_unary_op = Obj.magic _1 in
29838 let _startpos = _startpos__1_ in
29839 let _endpos = _endpos__2_ in
29840 let _v : 'tv_unary_expr_expr_invalid_ =
29841 # 1304 "parser_cocci_menhir.mly"
29842 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
29843 # 29844 "parser_cocci_menhir.ml"
29844 in
29845 _menhir_env.MenhirLib.EngineTypes.stack <- {
29846 MenhirLib.EngineTypes.state = _menhir_s;
29847 MenhirLib.EngineTypes.semv = Obj.repr _v;
29848 MenhirLib.EngineTypes.startp = _startpos;
29849 MenhirLib.EngineTypes.endp = _endpos;
29850 MenhirLib.EngineTypes.next = _menhir_stack;
29851 });
29852 (fun _menhir_env ->
29853 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29854 let {
29855 MenhirLib.EngineTypes.semv = _2;
29856 MenhirLib.EngineTypes.startp = _startpos__2_;
29857 MenhirLib.EngineTypes.endp = _endpos__2_;
29858 MenhirLib.EngineTypes.next = {
29859 MenhirLib.EngineTypes.state = _menhir_s;
29860 MenhirLib.EngineTypes.semv = _1;
29861 MenhirLib.EngineTypes.startp = _startpos__1_;
29862 MenhirLib.EngineTypes.endp = _endpos__1_;
29863 MenhirLib.EngineTypes.next = _menhir_stack;
29864 };
29865 } = _menhir_stack in
29866 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
29867 let _1 : (
29868 # 76 "parser_cocci_menhir.mly"
29869 (Data.clt)
29870 # 29871 "parser_cocci_menhir.ml"
29871 ) = Obj.magic _1 in
29872 let _startpos = _startpos__1_ in
29873 let _endpos = _endpos__2_ in
29874 let _v : 'tv_unary_expr_expr_invalid_ =
29875 # 1306 "parser_cocci_menhir.mly"
29876 ( let mcode = P.clt2mcode Ast.Not _1 in
29877 Ast0.wrap(Ast0.Unary(_2, mcode)) )
29878 # 29879 "parser_cocci_menhir.ml"
29879 in
29880 _menhir_env.MenhirLib.EngineTypes.stack <- {
29881 MenhirLib.EngineTypes.state = _menhir_s;
29882 MenhirLib.EngineTypes.semv = Obj.repr _v;
29883 MenhirLib.EngineTypes.startp = _startpos;
29884 MenhirLib.EngineTypes.endp = _endpos;
29885 MenhirLib.EngineTypes.next = _menhir_stack;
29886 });
29887 (fun _menhir_env ->
29888 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29889 let {
29890 MenhirLib.EngineTypes.semv = _2;
29891 MenhirLib.EngineTypes.startp = _startpos__2_;
29892 MenhirLib.EngineTypes.endp = _endpos__2_;
29893 MenhirLib.EngineTypes.next = {
29894 MenhirLib.EngineTypes.state = _menhir_s;
29895 MenhirLib.EngineTypes.semv = _1;
29896 MenhirLib.EngineTypes.startp = _startpos__1_;
29897 MenhirLib.EngineTypes.endp = _endpos__1_;
29898 MenhirLib.EngineTypes.next = _menhir_stack;
29899 };
29900 } = _menhir_stack in
29901 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
29902 let _1 : (
29903 # 58 "parser_cocci_menhir.mly"
29904 (Data.clt)
29905 # 29906 "parser_cocci_menhir.ml"
29906 ) = Obj.magic _1 in
29907 let _startpos = _startpos__1_ in
29908 let _endpos = _endpos__2_ in
29909 let _v : 'tv_unary_expr_expr_invalid_ =
29910 # 1309 "parser_cocci_menhir.mly"
29911 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
29912 # 29913 "parser_cocci_menhir.ml"
29913 in
29914 _menhir_env.MenhirLib.EngineTypes.stack <- {
29915 MenhirLib.EngineTypes.state = _menhir_s;
29916 MenhirLib.EngineTypes.semv = Obj.repr _v;
29917 MenhirLib.EngineTypes.startp = _startpos;
29918 MenhirLib.EngineTypes.endp = _endpos;
29919 MenhirLib.EngineTypes.next = _menhir_stack;
29920 });
29921 (fun _menhir_env ->
29922 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29923 let {
29924 MenhirLib.EngineTypes.semv = rp;
29925 MenhirLib.EngineTypes.startp = _startpos_rp_;
29926 MenhirLib.EngineTypes.endp = _endpos_rp_;
29927 MenhirLib.EngineTypes.next = {
29928 MenhirLib.EngineTypes.semv = t;
29929 MenhirLib.EngineTypes.startp = _startpos_t_;
29930 MenhirLib.EngineTypes.endp = _endpos_t_;
29931 MenhirLib.EngineTypes.next = {
29932 MenhirLib.EngineTypes.semv = lp;
29933 MenhirLib.EngineTypes.startp = _startpos_lp_;
29934 MenhirLib.EngineTypes.endp = _endpos_lp_;
29935 MenhirLib.EngineTypes.next = {
29936 MenhirLib.EngineTypes.state = _menhir_s;
29937 MenhirLib.EngineTypes.semv = s;
29938 MenhirLib.EngineTypes.startp = _startpos_s_;
29939 MenhirLib.EngineTypes.endp = _endpos_s_;
29940 MenhirLib.EngineTypes.next = _menhir_stack;
29941 };
29942 };
29943 };
29944 } = _menhir_stack in
29945 let rp : (
29946 # 77 "parser_cocci_menhir.mly"
29947 (Data.clt)
29948 # 29949 "parser_cocci_menhir.ml"
29949 ) = Obj.magic rp in
29950 let t : 'tv_ctype = Obj.magic t in
29951 let lp : (
29952 # 76 "parser_cocci_menhir.mly"
29953 (Data.clt)
29954 # 29955 "parser_cocci_menhir.ml"
29955 ) = Obj.magic lp in
29956 let s : (
29957 # 58 "parser_cocci_menhir.mly"
29958 (Data.clt)
29959 # 29960 "parser_cocci_menhir.ml"
29960 ) = Obj.magic s in
29961 let _startpos = _startpos_s_ in
29962 let _endpos = _endpos_rp_ in
29963 let _v : 'tv_unary_expr_expr_invalid_ =
29964 # 1311 "parser_cocci_menhir.mly"
29965 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
29966 P.clt2mcode "(" lp,t,
29967 P.clt2mcode ")" rp)) )
29968 # 29969 "parser_cocci_menhir.ml"
29969 in
29970 _menhir_env.MenhirLib.EngineTypes.stack <- {
29971 MenhirLib.EngineTypes.state = _menhir_s;
29972 MenhirLib.EngineTypes.semv = Obj.repr _v;
29973 MenhirLib.EngineTypes.startp = _startpos;
29974 MenhirLib.EngineTypes.endp = _endpos;
29975 MenhirLib.EngineTypes.next = _menhir_stack;
29976 });
29977 (fun _menhir_env ->
29978 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29979 let {
29980 MenhirLib.EngineTypes.state = _menhir_s;
29981 MenhirLib.EngineTypes.semv = _1;
29982 MenhirLib.EngineTypes.startp = _startpos__1_;
29983 MenhirLib.EngineTypes.endp = _endpos__1_;
29984 MenhirLib.EngineTypes.next = _menhir_stack;
29985 } = _menhir_stack in
29986 let _1 : (
29987 # 93 "parser_cocci_menhir.mly"
29988 (Data.clt)
29989 # 29990 "parser_cocci_menhir.ml"
29990 ) = Obj.magic _1 in
29991 let _startpos = _startpos__1_ in
29992 let _endpos = _endpos__1_ in
29993 let _v : 'tv_unary_op =
29994 # 1315 "parser_cocci_menhir.mly"
29995 ( P.clt2mcode Ast.GetRef _1 )
29996 # 29997 "parser_cocci_menhir.ml"
29997 in
29998 _menhir_env.MenhirLib.EngineTypes.stack <- {
29999 MenhirLib.EngineTypes.state = _menhir_s;
30000 MenhirLib.EngineTypes.semv = Obj.repr _v;
30001 MenhirLib.EngineTypes.startp = _startpos;
30002 MenhirLib.EngineTypes.endp = _endpos;
30003 MenhirLib.EngineTypes.next = _menhir_stack;
30004 });
30005 (fun _menhir_env ->
30006 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30007 let {
30008 MenhirLib.EngineTypes.state = _menhir_s;
30009 MenhirLib.EngineTypes.semv = _1;
30010 MenhirLib.EngineTypes.startp = _startpos__1_;
30011 MenhirLib.EngineTypes.endp = _endpos__1_;
30012 MenhirLib.EngineTypes.next = _menhir_stack;
30013 } = _menhir_stack in
30014 let _1 : (
30015 # 99 "parser_cocci_menhir.mly"
30016 (Data.clt)
30017 # 30018 "parser_cocci_menhir.ml"
30018 ) = Obj.magic _1 in
30019 let _startpos = _startpos__1_ in
30020 let _endpos = _endpos__1_ in
30021 let _v : 'tv_unary_op =
30022 # 1316 "parser_cocci_menhir.mly"
30023 ( P.clt2mcode Ast.DeRef _1 )
30024 # 30025 "parser_cocci_menhir.ml"
30025 in
30026 _menhir_env.MenhirLib.EngineTypes.stack <- {
30027 MenhirLib.EngineTypes.state = _menhir_s;
30028 MenhirLib.EngineTypes.semv = Obj.repr _v;
30029 MenhirLib.EngineTypes.startp = _startpos;
30030 MenhirLib.EngineTypes.endp = _endpos;
30031 MenhirLib.EngineTypes.next = _menhir_stack;
30032 });
30033 (fun _menhir_env ->
30034 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30035 let {
30036 MenhirLib.EngineTypes.state = _menhir_s;
30037 MenhirLib.EngineTypes.semv = _1;
30038 MenhirLib.EngineTypes.startp = _startpos__1_;
30039 MenhirLib.EngineTypes.endp = _endpos__1_;
30040 MenhirLib.EngineTypes.next = _menhir_stack;
30041 } = _menhir_stack in
30042 let _1 : (
30043 # 98 "parser_cocci_menhir.mly"
30044 (Data.clt)
30045 # 30046 "parser_cocci_menhir.ml"
30046 ) = Obj.magic _1 in
30047 let _startpos = _startpos__1_ in
30048 let _endpos = _endpos__1_ in
30049 let _v : 'tv_unary_op =
30050 # 1317 "parser_cocci_menhir.mly"
30051 ( P.clt2mcode Ast.UnPlus _1 )
30052 # 30053 "parser_cocci_menhir.ml"
30053 in
30054 _menhir_env.MenhirLib.EngineTypes.stack <- {
30055 MenhirLib.EngineTypes.state = _menhir_s;
30056 MenhirLib.EngineTypes.semv = Obj.repr _v;
30057 MenhirLib.EngineTypes.startp = _startpos;
30058 MenhirLib.EngineTypes.endp = _endpos;
30059 MenhirLib.EngineTypes.next = _menhir_stack;
30060 });
30061 (fun _menhir_env ->
30062 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30063 let {
30064 MenhirLib.EngineTypes.state = _menhir_s;
30065 MenhirLib.EngineTypes.semv = _1;
30066 MenhirLib.EngineTypes.startp = _startpos__1_;
30067 MenhirLib.EngineTypes.endp = _endpos__1_;
30068 MenhirLib.EngineTypes.next = _menhir_stack;
30069 } = _menhir_stack in
30070 let _1 : (
30071 # 98 "parser_cocci_menhir.mly"
30072 (Data.clt)
30073 # 30074 "parser_cocci_menhir.ml"
30074 ) = Obj.magic _1 in
30075 let _startpos = _startpos__1_ in
30076 let _endpos = _endpos__1_ in
30077 let _v : 'tv_unary_op =
30078 # 1318 "parser_cocci_menhir.mly"
30079 ( P.clt2mcode Ast.UnMinus _1 )
30080 # 30081 "parser_cocci_menhir.ml"
30081 in
30082 _menhir_env.MenhirLib.EngineTypes.stack <- {
30083 MenhirLib.EngineTypes.state = _menhir_s;
30084 MenhirLib.EngineTypes.semv = Obj.repr _v;
30085 MenhirLib.EngineTypes.startp = _startpos;
30086 MenhirLib.EngineTypes.endp = _endpos;
30087 MenhirLib.EngineTypes.next = _menhir_stack;
30088 });
30089 (fun _menhir_env ->
30090 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30091 let {
30092 MenhirLib.EngineTypes.state = _menhir_s;
30093 MenhirLib.EngineTypes.semv = _1;
30094 MenhirLib.EngineTypes.startp = _startpos__1_;
30095 MenhirLib.EngineTypes.endp = _endpos__1_;
30096 MenhirLib.EngineTypes.next = _menhir_stack;
30097 } = _menhir_stack in
30098 let _1 : (
30099 # 99 "parser_cocci_menhir.mly"
30100 (Data.clt)
30101 # 30102 "parser_cocci_menhir.ml"
30102 ) = Obj.magic _1 in
30103 let _startpos = _startpos__1_ in
30104 let _endpos = _endpos__1_ in
30105 let _v : 'tv_unary_op =
30106 # 1319 "parser_cocci_menhir.mly"
30107 ( P.clt2mcode Ast.Tilde _1 )
30108 # 30109 "parser_cocci_menhir.ml"
30109 in
30110 _menhir_env.MenhirLib.EngineTypes.stack <- {
30111 MenhirLib.EngineTypes.state = _menhir_s;
30112 MenhirLib.EngineTypes.semv = Obj.repr _v;
30113 MenhirLib.EngineTypes.startp = _startpos;
30114 MenhirLib.EngineTypes.endp = _endpos;
30115 MenhirLib.EngineTypes.next = _menhir_stack;
30116 });
30117 (fun _menhir_env ->
30118 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30119 let {
30120 MenhirLib.EngineTypes.semv = _2;
30121 MenhirLib.EngineTypes.startp = _startpos__2_;
30122 MenhirLib.EngineTypes.endp = _endpos__2_;
30123 MenhirLib.EngineTypes.next = {
30124 MenhirLib.EngineTypes.state = _menhir_s;
30125 MenhirLib.EngineTypes.semv = _1;
30126 MenhirLib.EngineTypes.startp = _startpos__1_;
30127 MenhirLib.EngineTypes.endp = _endpos__1_;
30128 MenhirLib.EngineTypes.next = _menhir_stack;
30129 };
30130 } = _menhir_stack in
30131 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
30132 let _1 : 'tv_expr = Obj.magic _1 in
30133 let _startpos = _startpos__1_ in
30134 let _endpos = _endpos__2_ in
30135 let _v : 'tv_when_start =
30136 # 1744 "parser_cocci_menhir.mly"
30137 ( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) )
30138 # 30139 "parser_cocci_menhir.ml"
30139 in
30140 _menhir_env.MenhirLib.EngineTypes.stack <- {
30141 MenhirLib.EngineTypes.state = _menhir_s;
30142 MenhirLib.EngineTypes.semv = Obj.repr _v;
30143 MenhirLib.EngineTypes.startp = _startpos;
30144 MenhirLib.EngineTypes.endp = _endpos;
30145 MenhirLib.EngineTypes.next = _menhir_stack;
30146 });
30147 (fun _menhir_env ->
30148 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30149 let {
30150 MenhirLib.EngineTypes.semv = _2;
30151 MenhirLib.EngineTypes.startp = _startpos__2_;
30152 MenhirLib.EngineTypes.endp = _endpos__2_;
30153 MenhirLib.EngineTypes.next = {
30154 MenhirLib.EngineTypes.state = _menhir_s;
30155 MenhirLib.EngineTypes.semv = _1;
30156 MenhirLib.EngineTypes.startp = _startpos__1_;
30157 MenhirLib.EngineTypes.endp = _endpos__1_;
30158 MenhirLib.EngineTypes.next = _menhir_stack;
30159 };
30160 } = _menhir_stack in
30161 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
30162 let _1 : 'tv_decl_statement = Obj.magic _1 in
30163 let _startpos = _startpos__1_ in
30164 let _endpos = _endpos__2_ in
30165 let _v : 'tv_when_start =
30166 # 1746 "parser_cocci_menhir.mly"
30167 ( Ast0.wrap(Ast0.DOTS(_1@_2)) )
30168 # 30169 "parser_cocci_menhir.ml"
30169 in
30170 _menhir_env.MenhirLib.EngineTypes.stack <- {
30171 MenhirLib.EngineTypes.state = _menhir_s;
30172 MenhirLib.EngineTypes.semv = Obj.repr _v;
30173 MenhirLib.EngineTypes.startp = _startpos;
30174 MenhirLib.EngineTypes.endp = _endpos;
30175 MenhirLib.EngineTypes.next = _menhir_stack;
30176 });
30177 (fun _menhir_env ->
30178 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30179 let {
30180 MenhirLib.EngineTypes.state = _menhir_s;
30181 MenhirLib.EngineTypes.semv = w;
30182 MenhirLib.EngineTypes.startp = _startpos_w_;
30183 MenhirLib.EngineTypes.endp = _endpos_w_;
30184 MenhirLib.EngineTypes.next = _menhir_stack;
30185 } = _menhir_stack in
30186 let w : 'tv_whens_when_start_rule_elem_statement_ = Obj.magic w in
30187 let _startpos = _startpos_w_ in
30188 let _endpos = _endpos_w_ in
30189 let _v : 'tv_whenppdecs =
30190 # 909 "parser_cocci_menhir.mly"
30191 ( w )
30192 # 30193 "parser_cocci_menhir.ml"
30193 in
30194 _menhir_env.MenhirLib.EngineTypes.stack <- {
30195 MenhirLib.EngineTypes.state = _menhir_s;
30196 MenhirLib.EngineTypes.semv = Obj.repr _v;
30197 MenhirLib.EngineTypes.startp = _startpos;
30198 MenhirLib.EngineTypes.endp = _endpos;
30199 MenhirLib.EngineTypes.next = _menhir_stack;
30200 });
30201 (fun _menhir_env ->
30202 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30203 let {
30204 MenhirLib.EngineTypes.startp = _startpos__4_;
30205 MenhirLib.EngineTypes.endp = _endpos__4_;
30206 MenhirLib.EngineTypes.next = {
30207 MenhirLib.EngineTypes.semv = w;
30208 MenhirLib.EngineTypes.startp = _startpos_w_;
30209 MenhirLib.EngineTypes.endp = _endpos_w_;
30210 MenhirLib.EngineTypes.next = {
30211 MenhirLib.EngineTypes.startp = _startpos__2_;
30212 MenhirLib.EngineTypes.endp = _endpos__2_;
30213 MenhirLib.EngineTypes.next = {
30214 MenhirLib.EngineTypes.state = _menhir_s;
30215 MenhirLib.EngineTypes.startp = _startpos__1_;
30216 MenhirLib.EngineTypes.endp = _endpos__1_;
30217 MenhirLib.EngineTypes.next = _menhir_stack;
30218 };
30219 };
30220 };
30221 } = _menhir_stack in
30222 let w : 'tv_when_start = Obj.magic w in
30223 let _startpos = _startpos__1_ in
30224 let _endpos = _endpos__4_ in
30225 let _v : 'tv_whens_when_start_rule_elem_statement_ =
30226 # 1812 "parser_cocci_menhir.mly"
30227 ( [Ast0.WhenNot w] )
30228 # 30229 "parser_cocci_menhir.ml"
30229 in
30230 _menhir_env.MenhirLib.EngineTypes.stack <- {
30231 MenhirLib.EngineTypes.state = _menhir_s;
30232 MenhirLib.EngineTypes.semv = Obj.repr _v;
30233 MenhirLib.EngineTypes.startp = _startpos;
30234 MenhirLib.EngineTypes.endp = _endpos;
30235 MenhirLib.EngineTypes.next = _menhir_stack;
30236 });
30237 (fun _menhir_env ->
30238 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30239 let {
30240 MenhirLib.EngineTypes.startp = _startpos__4_;
30241 MenhirLib.EngineTypes.endp = _endpos__4_;
30242 MenhirLib.EngineTypes.next = {
30243 MenhirLib.EngineTypes.semv = w;
30244 MenhirLib.EngineTypes.startp = _startpos_w_;
30245 MenhirLib.EngineTypes.endp = _endpos_w_;
30246 MenhirLib.EngineTypes.next = {
30247 MenhirLib.EngineTypes.startp = _startpos__2_;
30248 MenhirLib.EngineTypes.endp = _endpos__2_;
30249 MenhirLib.EngineTypes.next = {
30250 MenhirLib.EngineTypes.state = _menhir_s;
30251 MenhirLib.EngineTypes.startp = _startpos__1_;
30252 MenhirLib.EngineTypes.endp = _endpos__1_;
30253 MenhirLib.EngineTypes.next = _menhir_stack;
30254 };
30255 };
30256 };
30257 } = _menhir_stack in
30258 let w : 'tv_rule_elem_statement = Obj.magic w in
30259 let _startpos = _startpos__1_ in
30260 let _endpos = _endpos__4_ in
30261 let _v : 'tv_whens_when_start_rule_elem_statement_ =
30262 # 1813 "parser_cocci_menhir.mly"
30263 ( [Ast0.WhenAlways w] )
30264 # 30265 "parser_cocci_menhir.ml"
30265 in
30266 _menhir_env.MenhirLib.EngineTypes.stack <- {
30267 MenhirLib.EngineTypes.state = _menhir_s;
30268 MenhirLib.EngineTypes.semv = Obj.repr _v;
30269 MenhirLib.EngineTypes.startp = _startpos;
30270 MenhirLib.EngineTypes.endp = _endpos;
30271 MenhirLib.EngineTypes.next = _menhir_stack;
30272 });
30273 (fun _menhir_env ->
30274 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30275 let {
30276 MenhirLib.EngineTypes.startp = _startpos__3_;
30277 MenhirLib.EngineTypes.endp = _endpos__3_;
30278 MenhirLib.EngineTypes.next = {
30279 MenhirLib.EngineTypes.semv = _2;
30280 MenhirLib.EngineTypes.startp = _startpos__2_;
30281 MenhirLib.EngineTypes.endp = _endpos__2_;
30282 MenhirLib.EngineTypes.next = {
30283 MenhirLib.EngineTypes.state = _menhir_s;
30284 MenhirLib.EngineTypes.startp = _startpos__1_;
30285 MenhirLib.EngineTypes.endp = _endpos__1_;
30286 MenhirLib.EngineTypes.next = _menhir_stack;
30287 };
30288 };
30289 } = _menhir_stack in
30290 let _2 : 'tv_comma_list_any_strict_ = Obj.magic _2 in
30291 let _startpos = _startpos__1_ in
30292 let _endpos = _endpos__3_ in
30293 let _v : 'tv_whens_when_start_rule_elem_statement_ =
30294 # 1815 "parser_cocci_menhir.mly"
30295 ( List.map (function x -> Ast0.WhenModifier(x)) _2 )
30296 # 30297 "parser_cocci_menhir.ml"
30297 in
30298 _menhir_env.MenhirLib.EngineTypes.stack <- {
30299 MenhirLib.EngineTypes.state = _menhir_s;
30300 MenhirLib.EngineTypes.semv = Obj.repr _v;
30301 MenhirLib.EngineTypes.startp = _startpos;
30302 MenhirLib.EngineTypes.endp = _endpos;
30303 MenhirLib.EngineTypes.next = _menhir_stack;
30304 });
30305 (fun _menhir_env ->
30306 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30307 let {
30308 MenhirLib.EngineTypes.startp = _startpos__4_;
30309 MenhirLib.EngineTypes.endp = _endpos__4_;
30310 MenhirLib.EngineTypes.next = {
30311 MenhirLib.EngineTypes.semv = e;
30312 MenhirLib.EngineTypes.startp = _startpos_e_;
30313 MenhirLib.EngineTypes.endp = _endpos_e_;
30314 MenhirLib.EngineTypes.next = {
30315 MenhirLib.EngineTypes.startp = _startpos__2_;
30316 MenhirLib.EngineTypes.endp = _endpos__2_;
30317 MenhirLib.EngineTypes.next = {
30318 MenhirLib.EngineTypes.state = _menhir_s;
30319 MenhirLib.EngineTypes.startp = _startpos__1_;
30320 MenhirLib.EngineTypes.endp = _endpos__1_;
30321 MenhirLib.EngineTypes.next = _menhir_stack;
30322 };
30323 };
30324 };
30325 } = _menhir_stack in
30326 let e : 'tv_eexpr = Obj.magic e in
30327 let _startpos = _startpos__1_ in
30328 let _endpos = _endpos__4_ in
30329 let _v : 'tv_whens_when_start_rule_elem_statement_ =
30330 # 1816 "parser_cocci_menhir.mly"
30331 ( [Ast0.WhenNotTrue e] )
30332 # 30333 "parser_cocci_menhir.ml"
30333 in
30334 _menhir_env.MenhirLib.EngineTypes.stack <- {
30335 MenhirLib.EngineTypes.state = _menhir_s;
30336 MenhirLib.EngineTypes.semv = Obj.repr _v;
30337 MenhirLib.EngineTypes.startp = _startpos;
30338 MenhirLib.EngineTypes.endp = _endpos;
30339 MenhirLib.EngineTypes.next = _menhir_stack;
30340 });
30341 (fun _menhir_env ->
30342 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30343 let {
30344 MenhirLib.EngineTypes.startp = _startpos__4_;
30345 MenhirLib.EngineTypes.endp = _endpos__4_;
30346 MenhirLib.EngineTypes.next = {
30347 MenhirLib.EngineTypes.semv = e;
30348 MenhirLib.EngineTypes.startp = _startpos_e_;
30349 MenhirLib.EngineTypes.endp = _endpos_e_;
30350 MenhirLib.EngineTypes.next = {
30351 MenhirLib.EngineTypes.startp = _startpos__2_;
30352 MenhirLib.EngineTypes.endp = _endpos__2_;
30353 MenhirLib.EngineTypes.next = {
30354 MenhirLib.EngineTypes.state = _menhir_s;
30355 MenhirLib.EngineTypes.startp = _startpos__1_;
30356 MenhirLib.EngineTypes.endp = _endpos__1_;
30357 MenhirLib.EngineTypes.next = _menhir_stack;
30358 };
30359 };
30360 };
30361 } = _menhir_stack in
30362 let e : 'tv_eexpr = Obj.magic e in
30363 let _startpos = _startpos__1_ in
30364 let _endpos = _endpos__4_ in
30365 let _v : 'tv_whens_when_start_rule_elem_statement_ =
30366 # 1817 "parser_cocci_menhir.mly"
30367 ( [Ast0.WhenNotFalse e] )
30368 # 30369 "parser_cocci_menhir.ml"
30369 in
30370 _menhir_env.MenhirLib.EngineTypes.stack <- {
30371 MenhirLib.EngineTypes.state = _menhir_s;
30372 MenhirLib.EngineTypes.semv = Obj.repr _v;
30373 MenhirLib.EngineTypes.startp = _startpos;
30374 MenhirLib.EngineTypes.endp = _endpos;
30375 MenhirLib.EngineTypes.next = _menhir_stack;
30376 });
30377 |]
30378
30379 let recovery =
30380 false
30381
30382 let trace =
30383 None
30384
30385 end)
30386
30387 let rec script_meta_main =
30388 fun lexer lexbuf ->
30389 (Obj.magic (MenhirInterpreter.entry 1549 lexer lexbuf) : (
30390 # 159 "parser_cocci_menhir.mly"
30391 (string * (string * string))
30392 # 30393 "parser_cocci_menhir.ml"
30393 ))
30394
30395 and rule_name =
30396 fun lexer lexbuf ->
30397 (Obj.magic (MenhirInterpreter.entry 1477 lexer lexbuf) : (
30398 # 153 "parser_cocci_menhir.mly"
30399 (Ast_cocci.rulename)
30400 # 30401 "parser_cocci_menhir.ml"
30401 ))
30402
30403 and reinit =
30404 fun lexer lexbuf ->
30405 (Obj.magic (MenhirInterpreter.entry 1475 lexer lexbuf) : (
30406 # 131 "parser_cocci_menhir.mly"
30407 (unit)
30408 # 30409 "parser_cocci_menhir.ml"
30409 ))
30410
30411 and plus_main =
30412 fun lexer lexbuf ->
30413 (Obj.magic (MenhirInterpreter.entry 1439 lexer lexbuf) : (
30414 # 140 "parser_cocci_menhir.mly"
30415 (Ast0_cocci.rule)
30416 # 30417 "parser_cocci_menhir.ml"
30417 ))
30418
30419 and plus_exp_main =
30420 fun lexer lexbuf ->
30421 (Obj.magic (MenhirInterpreter.entry 1430 lexer lexbuf) : (
30422 # 143 "parser_cocci_menhir.mly"
30423 (Ast0_cocci.rule)
30424 # 30425 "parser_cocci_menhir.ml"
30425 ))
30426
30427 and never_used =
30428 fun lexer lexbuf ->
30429 (Obj.magic (MenhirInterpreter.entry 1424 lexer lexbuf) : (
30430 # 168 "parser_cocci_menhir.mly"
30431 (unit)
30432 # 30433 "parser_cocci_menhir.ml"
30433 ))
30434
30435 and minus_main =
30436 fun lexer lexbuf ->
30437 (Obj.magic (MenhirInterpreter.entry 1338 lexer lexbuf) : (
30438 # 134 "parser_cocci_menhir.mly"
30439 (Ast0_cocci.rule)
30440 # 30441 "parser_cocci_menhir.ml"
30441 ))
30442
30443 and minus_exp_main =
30444 fun lexer lexbuf ->
30445 (Obj.magic (MenhirInterpreter.entry 1314 lexer lexbuf) : (
30446 # 137 "parser_cocci_menhir.mly"
30447 (Ast0_cocci.rule)
30448 # 30449 "parser_cocci_menhir.ml"
30449 ))
30450
30451 and meta_main =
30452 fun lexer lexbuf ->
30453 (Obj.magic (MenhirInterpreter.entry 1311 lexer lexbuf) : (
30454 # 157 "parser_cocci_menhir.mly"
30455 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
30456 # 30457 "parser_cocci_menhir.ml"
30457 ))
30458
30459 and iso_rule_name =
30460 fun lexer lexbuf ->
30461 (Obj.magic (MenhirInterpreter.entry 1307 lexer lexbuf) : (
30462 # 149 "parser_cocci_menhir.mly"
30463 (Ast_cocci.rulename)
30464 # 30465 "parser_cocci_menhir.ml"
30465 ))
30466
30467 and iso_meta_main =
30468 fun lexer lexbuf ->
30469 (Obj.magic (MenhirInterpreter.entry 1104 lexer lexbuf) : (
30470 # 165 "parser_cocci_menhir.mly"
30471 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
30472 # 30473 "parser_cocci_menhir.ml"
30473 ))
30474
30475 and iso_main =
30476 fun lexer lexbuf ->
30477 (Obj.magic (MenhirInterpreter.entry 10 lexer lexbuf) : (
30478 # 162 "parser_cocci_menhir.mly"
30479 (Ast0_cocci.anything list list)
30480 # 30481 "parser_cocci_menhir.ml"
30481 ))
30482
30483 and include_main =
30484 fun lexer lexbuf ->
30485 (Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : (
30486 # 146 "parser_cocci_menhir.mly"
30487 ((string,string) Common.either list)
30488 # 30489 "parser_cocci_menhir.ml"
30489 ))
30490
30491
30492