Release coccinelle-0.2.3rc2
[bpt/coccinelle.git] / parsing_cocci / parser_cocci_menhir.ml
1 exception Error
2
3 type token =
4 | Tvolatile of (
5 # 56 "parser_cocci_menhir.mly"
6 (Data.clt)
7 # 8 "parser_cocci_menhir.ml"
8 )
9 | Tvoid of (
10 # 52 "parser_cocci_menhir.mly"
11 (Data.clt)
12 # 13 "parser_cocci_menhir.ml"
13 )
14 | Tunsigned of (
15 # 53 "parser_cocci_menhir.mly"
16 (Data.clt)
17 # 18 "parser_cocci_menhir.ml"
18 )
19 | Tunion of (
20 # 52 "parser_cocci_menhir.mly"
21 (Data.clt)
22 # 23 "parser_cocci_menhir.ml"
23 )
24 | Ttypedef of (
25 # 55 "parser_cocci_menhir.mly"
26 (Data.clt)
27 # 28 "parser_cocci_menhir.ml"
28 )
29 | Tstruct of (
30 # 52 "parser_cocci_menhir.mly"
31 (Data.clt)
32 # 33 "parser_cocci_menhir.ml"
33 )
34 | Tstatic of (
35 # 55 "parser_cocci_menhir.mly"
36 (Data.clt)
37 # 38 "parser_cocci_menhir.ml"
38 )
39 | Tsigned of (
40 # 53 "parser_cocci_menhir.mly"
41 (Data.clt)
42 # 43 "parser_cocci_menhir.ml"
43 )
44 | Tshort of (
45 # 51 "parser_cocci_menhir.mly"
46 (Data.clt)
47 # 48 "parser_cocci_menhir.ml"
48 )
49 | Tregister of (
50 # 55 "parser_cocci_menhir.mly"
51 (Data.clt)
52 # 53 "parser_cocci_menhir.ml"
53 )
54 | Tlong of (
55 # 51 "parser_cocci_menhir.mly"
56 (Data.clt)
57 # 58 "parser_cocci_menhir.ml"
58 )
59 | Tlist
60 | Tint of (
61 # 51 "parser_cocci_menhir.mly"
62 (Data.clt)
63 # 64 "parser_cocci_menhir.ml"
64 )
65 | Tinline of (
66 # 55 "parser_cocci_menhir.mly"
67 (Data.clt)
68 # 69 "parser_cocci_menhir.ml"
69 )
70 | Tfloat of (
71 # 51 "parser_cocci_menhir.mly"
72 (Data.clt)
73 # 74 "parser_cocci_menhir.ml"
74 )
75 | Textern of (
76 # 55 "parser_cocci_menhir.mly"
77 (Data.clt)
78 # 79 "parser_cocci_menhir.ml"
79 )
80 | Tenum of (
81 # 52 "parser_cocci_menhir.mly"
82 (Data.clt)
83 # 84 "parser_cocci_menhir.ml"
84 )
85 | Tdouble of (
86 # 51 "parser_cocci_menhir.mly"
87 (Data.clt)
88 # 89 "parser_cocci_menhir.ml"
89 )
90 | Tconst of (
91 # 56 "parser_cocci_menhir.mly"
92 (Data.clt)
93 # 94 "parser_cocci_menhir.ml"
94 )
95 | Tchar of (
96 # 51 "parser_cocci_menhir.mly"
97 (Data.clt)
98 # 99 "parser_cocci_menhir.ml"
99 )
100 | Tauto of (
101 # 55 "parser_cocci_menhir.mly"
102 (Data.clt)
103 # 104 "parser_cocci_menhir.ml"
104 )
105 | Tattr of (
106 # 57 "parser_cocci_menhir.mly"
107 (string * Data.clt)
108 # 109 "parser_cocci_menhir.ml"
109 )
110 | TXor of (
111 # 95 "parser_cocci_menhir.mly"
112 (Data.clt)
113 # 114 "parser_cocci_menhir.ml"
114 )
115 | TWords
116 | TWhy0
117 | TWhy of (
118 # 79 "parser_cocci_menhir.mly"
119 (Data.clt)
120 # 121 "parser_cocci_menhir.ml"
121 )
122 | TWhile of (
123 # 59 "parser_cocci_menhir.mly"
124 (Data.clt)
125 # 126 "parser_cocci_menhir.ml"
126 )
127 | TWhenTrue of (
128 # 77 "parser_cocci_menhir.mly"
129 (Data.clt)
130 # 131 "parser_cocci_menhir.ml"
131 )
132 | TWhenFalse of (
133 # 77 "parser_cocci_menhir.mly"
134 (Data.clt)
135 # 136 "parser_cocci_menhir.ml"
136 )
137 | TWhen of (
138 # 77 "parser_cocci_menhir.mly"
139 (Data.clt)
140 # 141 "parser_cocci_menhir.ml"
141 )
142 | TVirtual
143 | TUsing
144 | TTypedef
145 | TTypeId of (
146 # 61 "parser_cocci_menhir.mly"
147 (string * Data.clt)
148 # 149 "parser_cocci_menhir.ml"
149 )
150 | TType
151 | TTildeExclEq of (
152 # 97 "parser_cocci_menhir.mly"
153 (Data.clt)
154 # 155 "parser_cocci_menhir.ml"
155 )
156 | TTildeEq of (
157 # 97 "parser_cocci_menhir.mly"
158 (Data.clt)
159 # 160 "parser_cocci_menhir.ml"
160 )
161 | TTilde of (
162 # 102 "parser_cocci_menhir.mly"
163 (Data.clt)
164 # 165 "parser_cocci_menhir.ml"
165 )
166 | TSwitch of (
167 # 59 "parser_cocci_menhir.mly"
168 (Data.clt)
169 # 170 "parser_cocci_menhir.ml"
170 )
171 | TSub of (
172 # 97 "parser_cocci_menhir.mly"
173 (Data.clt)
174 # 175 "parser_cocci_menhir.ml"
175 )
176 | TString of (
177 # 90 "parser_cocci_menhir.mly"
178 (string * Data.clt)
179 # 180 "parser_cocci_menhir.ml"
180 )
181 | TStrict of (
182 # 77 "parser_cocci_menhir.mly"
183 (Data.clt)
184 # 185 "parser_cocci_menhir.ml"
185 )
186 | TStatement
187 | TSizeof of (
188 # 60 "parser_cocci_menhir.mly"
189 (Data.clt)
190 # 191 "parser_cocci_menhir.ml"
191 )
192 | TShOp of (
193 # 99 "parser_cocci_menhir.mly"
194 (Ast_cocci.arithOp * Data.clt)
195 # 196 "parser_cocci_menhir.ml"
196 )
197 | TScriptData of (
198 # 74 "parser_cocci_menhir.mly"
199 (string)
200 # 201 "parser_cocci_menhir.ml"
201 )
202 | TScript
203 | TRuleName of (
204 # 49 "parser_cocci_menhir.mly"
205 (string)
206 # 207 "parser_cocci_menhir.ml"
207 )
208 | TRightIso
209 | TReturn of (
210 # 59 "parser_cocci_menhir.mly"
211 (Data.clt)
212 # 213 "parser_cocci_menhir.ml"
213 )
214 | TPure
215 | TPtrOp of (
216 # 107 "parser_cocci_menhir.mly"
217 (Data.clt)
218 # 219 "parser_cocci_menhir.ml"
219 )
220 | TPtVirg of (
221 # 110 "parser_cocci_menhir.mly"
222 (Data.clt)
223 # 224 "parser_cocci_menhir.ml"
224 )
225 | TPragma of (
226 # 62 "parser_cocci_menhir.mly"
227 (Ast_cocci.added_string * Data.clt)
228 # 229 "parser_cocci_menhir.ml"
229 )
230 | TPosition
231 | TPosAny
232 | TPlusFile of (
233 # 86 "parser_cocci_menhir.mly"
234 (string * Data.clt)
235 # 236 "parser_cocci_menhir.ml"
236 )
237 | TPlus0
238 | TPlus of (
239 # 101 "parser_cocci_menhir.mly"
240 (Data.clt)
241 # 242 "parser_cocci_menhir.ml"
242 )
243 | TPathIsoFile of (
244 # 82 "parser_cocci_menhir.mly"
245 (string)
246 # 247 "parser_cocci_menhir.ml"
247 )
248 | TParameter
249 | TPOEllipsis of (
250 # 76 "parser_cocci_menhir.mly"
251 (Data.clt)
252 # 253 "parser_cocci_menhir.ml"
253 )
254 | TPCEllipsis of (
255 # 76 "parser_cocci_menhir.mly"
256 (Data.clt)
257 # 258 "parser_cocci_menhir.ml"
258 )
259 | TPArob
260 | TOrLog of (
261 # 92 "parser_cocci_menhir.mly"
262 (Data.clt)
263 # 264 "parser_cocci_menhir.ml"
264 )
265 | TOr of (
266 # 94 "parser_cocci_menhir.mly"
267 (Data.clt)
268 # 269 "parser_cocci_menhir.ml"
269 )
270 | TOn
271 | TOPar0 of (
272 # 79 "parser_cocci_menhir.mly"
273 (Data.clt)
274 # 275 "parser_cocci_menhir.ml"
275 )
276 | TOPar of (
277 # 79 "parser_cocci_menhir.mly"
278 (Data.clt)
279 # 280 "parser_cocci_menhir.ml"
280 )
281 | TOInit of (
282 # 104 "parser_cocci_menhir.mly"
283 (Data.clt)
284 # 285 "parser_cocci_menhir.ml"
285 )
286 | TOEllipsis of (
287 # 76 "parser_cocci_menhir.mly"
288 (Data.clt)
289 # 290 "parser_cocci_menhir.ml"
290 )
291 | TOCro of (
292 # 105 "parser_cocci_menhir.mly"
293 (Data.clt)
294 # 295 "parser_cocci_menhir.ml"
295 )
296 | TOBrace of (
297 # 104 "parser_cocci_menhir.mly"
298 (Data.clt)
299 # 300 "parser_cocci_menhir.ml"
300 )
301 | TNothing
302 | TNotEq of (
303 # 97 "parser_cocci_menhir.mly"
304 (Data.clt)
305 # 306 "parser_cocci_menhir.ml"
306 )
307 | TNever
308 | TName
309 | TMul of (
310 # 102 "parser_cocci_menhir.mly"
311 (Data.clt)
312 # 313 "parser_cocci_menhir.ml"
313 )
314 | TMinusFile of (
315 # 86 "parser_cocci_menhir.mly"
316 (string * Data.clt)
317 # 318 "parser_cocci_menhir.ml"
318 )
319 | TMinus of (
320 # 101 "parser_cocci_menhir.mly"
321 (Data.clt)
322 # 323 "parser_cocci_menhir.ml"
323 )
324 | TMid0 of (
325 # 80 "parser_cocci_menhir.mly"
326 (Data.clt)
327 # 328 "parser_cocci_menhir.ml"
328 )
329 | TMetaType of (
330 # 67 "parser_cocci_menhir.mly"
331 (Parse_aux.info)
332 # 333 "parser_cocci_menhir.ml"
333 )
334 | TMetaStmList of (
335 # 67 "parser_cocci_menhir.mly"
336 (Parse_aux.info)
337 # 338 "parser_cocci_menhir.ml"
338 )
339 | TMetaStm of (
340 # 67 "parser_cocci_menhir.mly"
341 (Parse_aux.info)
342 # 343 "parser_cocci_menhir.ml"
343 )
344 | TMetaPos of (
345 # 71 "parser_cocci_menhir.mly"
346 (Parse_aux.pos_info)
347 # 348 "parser_cocci_menhir.ml"
348 )
349 | TMetaParamList of (
350 # 69 "parser_cocci_menhir.mly"
351 (Parse_aux.list_info)
352 # 353 "parser_cocci_menhir.ml"
353 )
354 | TMetaParam of (
355 # 67 "parser_cocci_menhir.mly"
356 (Parse_aux.info)
357 # 358 "parser_cocci_menhir.ml"
358 )
359 | TMetaLocalIdExp of (
360 # 70 "parser_cocci_menhir.mly"
361 (Parse_aux.typed_expinfo)
362 # 363 "parser_cocci_menhir.ml"
363 )
364 | TMetaLocalFunc of (
365 # 64 "parser_cocci_menhir.mly"
366 (Parse_aux.idinfo)
367 # 368 "parser_cocci_menhir.ml"
368 )
369 | TMetaIterator of (
370 # 65 "parser_cocci_menhir.mly"
371 (Parse_aux.idinfo)
372 # 373 "parser_cocci_menhir.ml"
373 )
374 | TMetaInit of (
375 # 68 "parser_cocci_menhir.mly"
376 (Parse_aux.info)
377 # 378 "parser_cocci_menhir.ml"
378 )
379 | TMetaIdExp of (
380 # 70 "parser_cocci_menhir.mly"
381 (Parse_aux.typed_expinfo)
382 # 383 "parser_cocci_menhir.ml"
383 )
384 | TMetaId of (
385 # 64 "parser_cocci_menhir.mly"
386 (Parse_aux.idinfo)
387 # 388 "parser_cocci_menhir.ml"
388 )
389 | TMetaFunc of (
390 # 64 "parser_cocci_menhir.mly"
391 (Parse_aux.idinfo)
392 # 393 "parser_cocci_menhir.ml"
393 )
394 | TMetaExpList of (
395 # 69 "parser_cocci_menhir.mly"
396 (Parse_aux.list_info)
397 # 398 "parser_cocci_menhir.ml"
398 )
399 | TMetaExp of (
400 # 70 "parser_cocci_menhir.mly"
401 (Parse_aux.typed_expinfo)
402 # 403 "parser_cocci_menhir.ml"
403 )
404 | TMetaErr of (
405 # 66 "parser_cocci_menhir.mly"
406 (Parse_aux.expinfo)
407 # 408 "parser_cocci_menhir.ml"
408 )
409 | TMetaDeclarer of (
410 # 65 "parser_cocci_menhir.mly"
411 (Parse_aux.idinfo)
412 # 413 "parser_cocci_menhir.ml"
413 )
414 | TMetaConst of (
415 # 70 "parser_cocci_menhir.mly"
416 (Parse_aux.typed_expinfo)
417 # 418 "parser_cocci_menhir.ml"
418 )
419 | TMPtVirg
420 | TLogOp of (
421 # 98 "parser_cocci_menhir.mly"
422 (Ast_cocci.logicalOp * Data.clt)
423 # 424 "parser_cocci_menhir.ml"
424 )
425 | TLocal
426 | TLineEnd of (
427 # 77 "parser_cocci_menhir.mly"
428 (Data.clt)
429 # 430 "parser_cocci_menhir.ml"
430 )
431 | TIteratorId of (
432 # 61 "parser_cocci_menhir.mly"
433 (string * Data.clt)
434 # 435 "parser_cocci_menhir.ml"
435 )
436 | TIterator
437 | TIsoType
438 | TIsoTopLevel
439 | TIsoToTestExpression
440 | TIsoTestExpression
441 | TIsoStatement
442 | TIsoExpression
443 | TIsoDeclaration
444 | TIsoArgExpression
445 | TIso
446 | TInvalid
447 | TInt of (
448 # 90 "parser_cocci_menhir.mly"
449 (string * Data.clt)
450 # 451 "parser_cocci_menhir.ml"
451 )
452 | TInitialize
453 | TInitialiser
454 | TIncludeNL of (
455 # 83 "parser_cocci_menhir.mly"
456 (string * Data.clt)
457 # 458 "parser_cocci_menhir.ml"
458 )
459 | TIncludeL of (
460 # 83 "parser_cocci_menhir.mly"
461 (string * Data.clt)
462 # 463 "parser_cocci_menhir.ml"
463 )
464 | TInc of (
465 # 88 "parser_cocci_menhir.mly"
466 (Data.clt)
467 # 468 "parser_cocci_menhir.ml"
468 )
469 | TIf of (
470 # 59 "parser_cocci_menhir.mly"
471 (Data.clt)
472 # 473 "parser_cocci_menhir.ml"
473 )
474 | TIdentifier
475 | TIdent of (
476 # 61 "parser_cocci_menhir.mly"
477 (string * Data.clt)
478 # 479 "parser_cocci_menhir.ml"
479 )
480 | TIdExpression
481 | TGoto of (
482 # 60 "parser_cocci_menhir.mly"
483 (Data.clt)
484 # 485 "parser_cocci_menhir.ml"
485 )
486 | TGenerated
487 | TFunction
488 | TFunDecl of (
489 # 60 "parser_cocci_menhir.mly"
490 (Data.clt)
491 # 492 "parser_cocci_menhir.ml"
492 )
493 | TFresh
494 | TForall
495 | TFor of (
496 # 59 "parser_cocci_menhir.mly"
497 (Data.clt)
498 # 499 "parser_cocci_menhir.ml"
499 )
500 | TFloat of (
501 # 90 "parser_cocci_menhir.mly"
502 (string * Data.clt)
503 # 504 "parser_cocci_menhir.ml"
504 )
505 | TFinalize
506 | TExtends
507 | TExpression
508 | TExists
509 | TEver
510 | TError
511 | TEqEq of (
512 # 97 "parser_cocci_menhir.mly"
513 (Data.clt)
514 # 515 "parser_cocci_menhir.ml"
515 )
516 | TEq of (
517 # 110 "parser_cocci_menhir.mly"
518 (Data.clt)
519 # 520 "parser_cocci_menhir.ml"
520 )
521 | TElse of (
522 # 59 "parser_cocci_menhir.mly"
523 (Data.clt)
524 # 525 "parser_cocci_menhir.ml"
525 )
526 | TEllipsis of (
527 # 76 "parser_cocci_menhir.mly"
528 (Data.clt)
529 # 530 "parser_cocci_menhir.ml"
530 )
531 | TDotDot of (
532 # 79 "parser_cocci_menhir.mly"
533 (Data.clt)
534 # 535 "parser_cocci_menhir.ml"
535 )
536 | TDot of (
537 # 110 "parser_cocci_menhir.mly"
538 (Data.clt)
539 # 540 "parser_cocci_menhir.ml"
540 )
541 | TDo of (
542 # 59 "parser_cocci_menhir.mly"
543 (Data.clt)
544 # 545 "parser_cocci_menhir.ml"
545 )
546 | TDmOp of (
547 # 100 "parser_cocci_menhir.mly"
548 (Ast_cocci.arithOp * Data.clt)
549 # 550 "parser_cocci_menhir.ml"
550 )
551 | TDisable
552 | TDepends
553 | TDefineParam of (
554 # 85 "parser_cocci_menhir.mly"
555 (Data.clt * token * int * int)
556 # 557 "parser_cocci_menhir.ml"
557 )
558 | TDefine of (
559 # 84 "parser_cocci_menhir.mly"
560 (Data.clt * token)
561 # 562 "parser_cocci_menhir.ml"
562 )
563 | TDefault of (
564 # 59 "parser_cocci_menhir.mly"
565 (Data.clt)
566 # 567 "parser_cocci_menhir.ml"
567 )
568 | TDeclarerId of (
569 # 61 "parser_cocci_menhir.mly"
570 (string * Data.clt)
571 # 572 "parser_cocci_menhir.ml"
572 )
573 | TDeclarer
574 | TDec of (
575 # 88 "parser_cocci_menhir.mly"
576 (Data.clt)
577 # 578 "parser_cocci_menhir.ml"
578 )
579 | TCppConcatOp
580 | TContinue of (
581 # 60 "parser_cocci_menhir.mly"
582 (Data.clt)
583 # 584 "parser_cocci_menhir.ml"
584 )
585 | TContext
586 | TConstant
587 | TComma of (
588 # 110 "parser_cocci_menhir.mly"
589 (Data.clt)
590 # 591 "parser_cocci_menhir.ml"
591 )
592 | TChar of (
593 # 90 "parser_cocci_menhir.mly"
594 (string * Data.clt)
595 # 596 "parser_cocci_menhir.ml"
596 )
597 | TCase of (
598 # 59 "parser_cocci_menhir.mly"
599 (Data.clt)
600 # 601 "parser_cocci_menhir.ml"
601 )
602 | TCPar0 of (
603 # 80 "parser_cocci_menhir.mly"
604 (Data.clt)
605 # 606 "parser_cocci_menhir.ml"
606 )
607 | TCPar of (
608 # 80 "parser_cocci_menhir.mly"
609 (Data.clt)
610 # 611 "parser_cocci_menhir.ml"
611 )
612 | TCEllipsis of (
613 # 76 "parser_cocci_menhir.mly"
614 (Data.clt)
615 # 616 "parser_cocci_menhir.ml"
616 )
617 | TCCro of (
618 # 105 "parser_cocci_menhir.mly"
619 (Data.clt)
620 # 621 "parser_cocci_menhir.ml"
621 )
622 | TCBrace of (
623 # 104 "parser_cocci_menhir.mly"
624 (Data.clt)
625 # 626 "parser_cocci_menhir.ml"
626 )
627 | TBreak of (
628 # 60 "parser_cocci_menhir.mly"
629 (Data.clt)
630 # 631 "parser_cocci_menhir.ml"
631 )
632 | TBang0
633 | TBang of (
634 # 79 "parser_cocci_menhir.mly"
635 (Data.clt)
636 # 637 "parser_cocci_menhir.ml"
637 )
638 | TAssign of (
639 # 111 "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 # 77 "parser_cocci_menhir.mly"
647 (Data.clt)
648 # 649 "parser_cocci_menhir.ml"
649 )
650 | TAndLog of (
651 # 93 "parser_cocci_menhir.mly"
652 (Data.clt)
653 # 654 "parser_cocci_menhir.ml"
654 )
655 | TAnd of (
656 # 96 "parser_cocci_menhir.mly"
657 (Data.clt)
658 # 659 "parser_cocci_menhir.ml"
659 )
660 | EOF
661
662 and _menhir_jeton = token
663
664
665 # 25 "parser_cocci_menhir.mly"
666
667
668 (* Not clear how to allow function declarations to specify a return type
669 and how to allow both to be specified as static, because they are in
670 different rules. The rules seem to have to be combined, which would allow
671 functions to be declared as local variables *)
672
673 (* Not clear how to let a function have a parameter of type void. At the
674 moment, void is allowed to be the type of a variable, which is wrong, and a
675 parameter needs both a type and an identifier *)
676 module Ast0 = Ast0_cocci
677 module Ast = Ast_cocci
678 module P = Parse_aux
679
680 # 681 "parser_cocci_menhir.ml"
681 let _eRR =
682 Error
683
684 module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
685
686 exception Error = Error
687
688 type token = _menhir_jeton
689
690 let token2terminal : token -> int =
691 fun _tok ->
692 match _tok with
693 | EOF ->
694 177
695 | TAnd _ ->
696 176
697 | TAndLog _ ->
698 175
699 | TAny _ ->
700 174
701 | TArob ->
702 173
703 | TArobArob ->
704 172
705 | TAssign _ ->
706 171
707 | TBang _ ->
708 170
709 | TBang0 ->
710 169
711 | TBreak _ ->
712 168
713 | TCBrace _ ->
714 167
715 | TCCro _ ->
716 166
717 | TCEllipsis _ ->
718 165
719 | TCPar _ ->
720 164
721 | TCPar0 _ ->
722 163
723 | TCase _ ->
724 162
725 | TChar _ ->
726 161
727 | TComma _ ->
728 160
729 | TConstant ->
730 159
731 | TContext ->
732 158
733 | TContinue _ ->
734 157
735 | TCppConcatOp ->
736 156
737 | TDec _ ->
738 155
739 | TDeclarer ->
740 154
741 | TDeclarerId _ ->
742 153
743 | TDefault _ ->
744 152
745 | TDefine _ ->
746 151
747 | TDefineParam _ ->
748 150
749 | TDepends ->
750 149
751 | TDisable ->
752 148
753 | TDmOp _ ->
754 147
755 | TDo _ ->
756 146
757 | TDot _ ->
758 145
759 | TDotDot _ ->
760 144
761 | TEllipsis _ ->
762 143
763 | TElse _ ->
764 142
765 | TEq _ ->
766 141
767 | TEqEq _ ->
768 140
769 | TError ->
770 139
771 | TEver ->
772 138
773 | TExists ->
774 137
775 | TExpression ->
776 136
777 | TExtends ->
778 135
779 | TFinalize ->
780 134
781 | TFloat _ ->
782 133
783 | TFor _ ->
784 132
785 | TForall ->
786 131
787 | TFresh ->
788 130
789 | TFunDecl _ ->
790 129
791 | TFunction ->
792 128
793 | TGenerated ->
794 127
795 | TGoto _ ->
796 126
797 | TIdExpression ->
798 125
799 | TIdent _ ->
800 124
801 | TIdentifier ->
802 123
803 | TIf _ ->
804 122
805 | TInc _ ->
806 121
807 | TIncludeL _ ->
808 120
809 | TIncludeNL _ ->
810 119
811 | TInitialiser ->
812 118
813 | TInitialize ->
814 117
815 | TInt _ ->
816 116
817 | TInvalid ->
818 115
819 | TIso ->
820 114
821 | TIsoArgExpression ->
822 113
823 | TIsoDeclaration ->
824 112
825 | TIsoExpression ->
826 111
827 | TIsoStatement ->
828 110
829 | TIsoTestExpression ->
830 109
831 | TIsoToTestExpression ->
832 108
833 | TIsoTopLevel ->
834 107
835 | TIsoType ->
836 106
837 | TIterator ->
838 105
839 | TIteratorId _ ->
840 104
841 | TLineEnd _ ->
842 103
843 | TLocal ->
844 102
845 | TLogOp _ ->
846 101
847 | TMPtVirg ->
848 100
849 | TMetaConst _ ->
850 99
851 | TMetaDeclarer _ ->
852 98
853 | TMetaErr _ ->
854 97
855 | TMetaExp _ ->
856 96
857 | TMetaExpList _ ->
858 95
859 | TMetaFunc _ ->
860 94
861 | TMetaId _ ->
862 93
863 | TMetaIdExp _ ->
864 92
865 | TMetaInit _ ->
866 91
867 | TMetaIterator _ ->
868 90
869 | TMetaLocalFunc _ ->
870 89
871 | TMetaLocalIdExp _ ->
872 88
873 | TMetaParam _ ->
874 87
875 | TMetaParamList _ ->
876 86
877 | TMetaPos _ ->
878 85
879 | TMetaStm _ ->
880 84
881 | TMetaStmList _ ->
882 83
883 | TMetaType _ ->
884 82
885 | TMid0 _ ->
886 81
887 | TMinus _ ->
888 80
889 | TMinusFile _ ->
890 79
891 | TMul _ ->
892 78
893 | TName ->
894 77
895 | TNever ->
896 76
897 | TNotEq _ ->
898 75
899 | TNothing ->
900 74
901 | TOBrace _ ->
902 73
903 | TOCro _ ->
904 72
905 | TOEllipsis _ ->
906 71
907 | TOInit _ ->
908 70
909 | TOPar _ ->
910 69
911 | TOPar0 _ ->
912 68
913 | TOn ->
914 67
915 | TOr _ ->
916 66
917 | TOrLog _ ->
918 65
919 | TPArob ->
920 64
921 | TPCEllipsis _ ->
922 63
923 | TPOEllipsis _ ->
924 62
925 | TParameter ->
926 61
927 | TPathIsoFile _ ->
928 60
929 | TPlus _ ->
930 59
931 | TPlus0 ->
932 58
933 | TPlusFile _ ->
934 57
935 | TPosAny ->
936 56
937 | TPosition ->
938 55
939 | TPragma _ ->
940 54
941 | TPtVirg _ ->
942 53
943 | TPtrOp _ ->
944 52
945 | TPure ->
946 51
947 | TReturn _ ->
948 50
949 | TRightIso ->
950 49
951 | TRuleName _ ->
952 48
953 | TScript ->
954 47
955 | TScriptData _ ->
956 46
957 | TShOp _ ->
958 45
959 | TSizeof _ ->
960 44
961 | TStatement ->
962 43
963 | TStrict _ ->
964 42
965 | TString _ ->
966 41
967 | TSub _ ->
968 40
969 | TSwitch _ ->
970 39
971 | TTilde _ ->
972 38
973 | TTildeEq _ ->
974 37
975 | TTildeExclEq _ ->
976 36
977 | TType ->
978 35
979 | TTypeId _ ->
980 34
981 | TTypedef ->
982 33
983 | TUsing ->
984 32
985 | TVirtual ->
986 31
987 | TWhen _ ->
988 30
989 | TWhenFalse _ ->
990 29
991 | TWhenTrue _ ->
992 28
993 | TWhile _ ->
994 27
995 | TWhy _ ->
996 26
997 | TWhy0 ->
998 25
999 | TWords ->
1000 24
1001 | TXor _ ->
1002 23
1003 | Tattr _ ->
1004 22
1005 | Tauto _ ->
1006 21
1007 | Tchar _ ->
1008 20
1009 | Tconst _ ->
1010 19
1011 | Tdouble _ ->
1012 18
1013 | Tenum _ ->
1014 17
1015 | Textern _ ->
1016 16
1017 | Tfloat _ ->
1018 15
1019 | Tinline _ ->
1020 14
1021 | Tint _ ->
1022 13
1023 | Tlist ->
1024 12
1025 | Tlong _ ->
1026 11
1027 | Tregister _ ->
1028 10
1029 | Tshort _ ->
1030 9
1031 | Tsigned _ ->
1032 8
1033 | Tstatic _ ->
1034 7
1035 | Tstruct _ ->
1036 6
1037 | Ttypedef _ ->
1038 5
1039 | Tunion _ ->
1040 4
1041 | Tunsigned _ ->
1042 3
1043 | Tvoid _ ->
1044 2
1045 | Tvolatile _ ->
1046 1
1047
1048 let error_terminal =
1049 0
1050
1051 let token2value : token -> Obj.t =
1052 fun _tok ->
1053 match _tok with
1054 | EOF ->
1055 Obj.repr ()
1056 | TAnd _v ->
1057 Obj.repr _v
1058 | TAndLog _v ->
1059 Obj.repr _v
1060 | TAny _v ->
1061 Obj.repr _v
1062 | TArob ->
1063 Obj.repr ()
1064 | TArobArob ->
1065 Obj.repr ()
1066 | TAssign _v ->
1067 Obj.repr _v
1068 | TBang _v ->
1069 Obj.repr _v
1070 | TBang0 ->
1071 Obj.repr ()
1072 | TBreak _v ->
1073 Obj.repr _v
1074 | TCBrace _v ->
1075 Obj.repr _v
1076 | TCCro _v ->
1077 Obj.repr _v
1078 | TCEllipsis _v ->
1079 Obj.repr _v
1080 | TCPar _v ->
1081 Obj.repr _v
1082 | TCPar0 _v ->
1083 Obj.repr _v
1084 | TCase _v ->
1085 Obj.repr _v
1086 | TChar _v ->
1087 Obj.repr _v
1088 | TComma _v ->
1089 Obj.repr _v
1090 | TConstant ->
1091 Obj.repr ()
1092 | TContext ->
1093 Obj.repr ()
1094 | TContinue _v ->
1095 Obj.repr _v
1096 | TCppConcatOp ->
1097 Obj.repr ()
1098 | TDec _v ->
1099 Obj.repr _v
1100 | TDeclarer ->
1101 Obj.repr ()
1102 | TDeclarerId _v ->
1103 Obj.repr _v
1104 | TDefault _v ->
1105 Obj.repr _v
1106 | TDefine _v ->
1107 Obj.repr _v
1108 | TDefineParam _v ->
1109 Obj.repr _v
1110 | TDepends ->
1111 Obj.repr ()
1112 | TDisable ->
1113 Obj.repr ()
1114 | TDmOp _v ->
1115 Obj.repr _v
1116 | TDo _v ->
1117 Obj.repr _v
1118 | TDot _v ->
1119 Obj.repr _v
1120 | TDotDot _v ->
1121 Obj.repr _v
1122 | TEllipsis _v ->
1123 Obj.repr _v
1124 | TElse _v ->
1125 Obj.repr _v
1126 | TEq _v ->
1127 Obj.repr _v
1128 | TEqEq _v ->
1129 Obj.repr _v
1130 | TError ->
1131 Obj.repr ()
1132 | TEver ->
1133 Obj.repr ()
1134 | TExists ->
1135 Obj.repr ()
1136 | TExpression ->
1137 Obj.repr ()
1138 | TExtends ->
1139 Obj.repr ()
1140 | TFinalize ->
1141 Obj.repr ()
1142 | TFloat _v ->
1143 Obj.repr _v
1144 | TFor _v ->
1145 Obj.repr _v
1146 | TForall ->
1147 Obj.repr ()
1148 | TFresh ->
1149 Obj.repr ()
1150 | TFunDecl _v ->
1151 Obj.repr _v
1152 | TFunction ->
1153 Obj.repr ()
1154 | TGenerated ->
1155 Obj.repr ()
1156 | TGoto _v ->
1157 Obj.repr _v
1158 | TIdExpression ->
1159 Obj.repr ()
1160 | TIdent _v ->
1161 Obj.repr _v
1162 | TIdentifier ->
1163 Obj.repr ()
1164 | TIf _v ->
1165 Obj.repr _v
1166 | TInc _v ->
1167 Obj.repr _v
1168 | TIncludeL _v ->
1169 Obj.repr _v
1170 | TIncludeNL _v ->
1171 Obj.repr _v
1172 | TInitialiser ->
1173 Obj.repr ()
1174 | TInitialize ->
1175 Obj.repr ()
1176 | TInt _v ->
1177 Obj.repr _v
1178 | TInvalid ->
1179 Obj.repr ()
1180 | TIso ->
1181 Obj.repr ()
1182 | TIsoArgExpression ->
1183 Obj.repr ()
1184 | TIsoDeclaration ->
1185 Obj.repr ()
1186 | TIsoExpression ->
1187 Obj.repr ()
1188 | TIsoStatement ->
1189 Obj.repr ()
1190 | TIsoTestExpression ->
1191 Obj.repr ()
1192 | TIsoToTestExpression ->
1193 Obj.repr ()
1194 | TIsoTopLevel ->
1195 Obj.repr ()
1196 | TIsoType ->
1197 Obj.repr ()
1198 | TIterator ->
1199 Obj.repr ()
1200 | TIteratorId _v ->
1201 Obj.repr _v
1202 | TLineEnd _v ->
1203 Obj.repr _v
1204 | TLocal ->
1205 Obj.repr ()
1206 | TLogOp _v ->
1207 Obj.repr _v
1208 | TMPtVirg ->
1209 Obj.repr ()
1210 | TMetaConst _v ->
1211 Obj.repr _v
1212 | TMetaDeclarer _v ->
1213 Obj.repr _v
1214 | TMetaErr _v ->
1215 Obj.repr _v
1216 | TMetaExp _v ->
1217 Obj.repr _v
1218 | TMetaExpList _v ->
1219 Obj.repr _v
1220 | TMetaFunc _v ->
1221 Obj.repr _v
1222 | TMetaId _v ->
1223 Obj.repr _v
1224 | TMetaIdExp _v ->
1225 Obj.repr _v
1226 | TMetaInit _v ->
1227 Obj.repr _v
1228 | TMetaIterator _v ->
1229 Obj.repr _v
1230 | TMetaLocalFunc _v ->
1231 Obj.repr _v
1232 | TMetaLocalIdExp _v ->
1233 Obj.repr _v
1234 | TMetaParam _v ->
1235 Obj.repr _v
1236 | TMetaParamList _v ->
1237 Obj.repr _v
1238 | TMetaPos _v ->
1239 Obj.repr _v
1240 | TMetaStm _v ->
1241 Obj.repr _v
1242 | TMetaStmList _v ->
1243 Obj.repr _v
1244 | TMetaType _v ->
1245 Obj.repr _v
1246 | TMid0 _v ->
1247 Obj.repr _v
1248 | TMinus _v ->
1249 Obj.repr _v
1250 | TMinusFile _v ->
1251 Obj.repr _v
1252 | TMul _v ->
1253 Obj.repr _v
1254 | TName ->
1255 Obj.repr ()
1256 | TNever ->
1257 Obj.repr ()
1258 | TNotEq _v ->
1259 Obj.repr _v
1260 | TNothing ->
1261 Obj.repr ()
1262 | TOBrace _v ->
1263 Obj.repr _v
1264 | TOCro _v ->
1265 Obj.repr _v
1266 | TOEllipsis _v ->
1267 Obj.repr _v
1268 | TOInit _v ->
1269 Obj.repr _v
1270 | TOPar _v ->
1271 Obj.repr _v
1272 | TOPar0 _v ->
1273 Obj.repr _v
1274 | TOn ->
1275 Obj.repr ()
1276 | TOr _v ->
1277 Obj.repr _v
1278 | TOrLog _v ->
1279 Obj.repr _v
1280 | TPArob ->
1281 Obj.repr ()
1282 | TPCEllipsis _v ->
1283 Obj.repr _v
1284 | TPOEllipsis _v ->
1285 Obj.repr _v
1286 | TParameter ->
1287 Obj.repr ()
1288 | TPathIsoFile _v ->
1289 Obj.repr _v
1290 | TPlus _v ->
1291 Obj.repr _v
1292 | TPlus0 ->
1293 Obj.repr ()
1294 | TPlusFile _v ->
1295 Obj.repr _v
1296 | TPosAny ->
1297 Obj.repr ()
1298 | TPosition ->
1299 Obj.repr ()
1300 | TPragma _v ->
1301 Obj.repr _v
1302 | TPtVirg _v ->
1303 Obj.repr _v
1304 | TPtrOp _v ->
1305 Obj.repr _v
1306 | TPure ->
1307 Obj.repr ()
1308 | TReturn _v ->
1309 Obj.repr _v
1310 | TRightIso ->
1311 Obj.repr ()
1312 | TRuleName _v ->
1313 Obj.repr _v
1314 | TScript ->
1315 Obj.repr ()
1316 | TScriptData _v ->
1317 Obj.repr _v
1318 | TShOp _v ->
1319 Obj.repr _v
1320 | TSizeof _v ->
1321 Obj.repr _v
1322 | TStatement ->
1323 Obj.repr ()
1324 | TStrict _v ->
1325 Obj.repr _v
1326 | TString _v ->
1327 Obj.repr _v
1328 | TSub _v ->
1329 Obj.repr _v
1330 | TSwitch _v ->
1331 Obj.repr _v
1332 | TTilde _v ->
1333 Obj.repr _v
1334 | TTildeEq _v ->
1335 Obj.repr _v
1336 | TTildeExclEq _v ->
1337 Obj.repr _v
1338 | TType ->
1339 Obj.repr ()
1340 | TTypeId _v ->
1341 Obj.repr _v
1342 | TTypedef ->
1343 Obj.repr ()
1344 | TUsing ->
1345 Obj.repr ()
1346 | TVirtual ->
1347 Obj.repr ()
1348 | TWhen _v ->
1349 Obj.repr _v
1350 | TWhenFalse _v ->
1351 Obj.repr _v
1352 | TWhenTrue _v ->
1353 Obj.repr _v
1354 | TWhile _v ->
1355 Obj.repr _v
1356 | TWhy _v ->
1357 Obj.repr _v
1358 | TWhy0 ->
1359 Obj.repr ()
1360 | TWords ->
1361 Obj.repr ()
1362 | TXor _v ->
1363 Obj.repr _v
1364 | Tattr _v ->
1365 Obj.repr _v
1366 | Tauto _v ->
1367 Obj.repr _v
1368 | Tchar _v ->
1369 Obj.repr _v
1370 | Tconst _v ->
1371 Obj.repr _v
1372 | Tdouble _v ->
1373 Obj.repr _v
1374 | Tenum _v ->
1375 Obj.repr _v
1376 | Textern _v ->
1377 Obj.repr _v
1378 | Tfloat _v ->
1379 Obj.repr _v
1380 | Tinline _v ->
1381 Obj.repr _v
1382 | Tint _v ->
1383 Obj.repr _v
1384 | Tlist ->
1385 Obj.repr ()
1386 | Tlong _v ->
1387 Obj.repr _v
1388 | Tregister _v ->
1389 Obj.repr _v
1390 | Tshort _v ->
1391 Obj.repr _v
1392 | Tsigned _v ->
1393 Obj.repr _v
1394 | Tstatic _v ->
1395 Obj.repr _v
1396 | Tstruct _v ->
1397 Obj.repr _v
1398 | Ttypedef _v ->
1399 Obj.repr _v
1400 | Tunion _v ->
1401 Obj.repr _v
1402 | Tunsigned _v ->
1403 Obj.repr _v
1404 | Tvoid _v ->
1405 Obj.repr _v
1406 | Tvolatile _v ->
1407 Obj.repr _v
1408
1409 let default_reduction =
1410 (16, "\000\000\000\000\002\161\000|\000\000\000\000\002\234\001L\000\000\001J\001K\001I\000\000\001N\001M\000\001\000\000\001\140\000\000\000\000\000\140\000\000\000\000\001|\000\165\000\000\000\000\000\152\000\000\000\000\000\157\000\156\000\000\000\153\000\000\000\151\000\000\000\000\000\000\000\155\000\000\000\154\003!\003 \000\000\000\000\000\145\000\000\000\000\000\150\000\149\000\000\000\146\000\000\000\144\000\000\000\000\000\000\000\148\000\000\000\147\000\000\000\159\000\000\000\000\000\164\000\163\000\000\000\160\000\000\000\167\000\000\001F\001E\000\000\000\168\000\000\000\166\000\139\000\000\000\158\000\000\000\173\000\000\000\000\000\000\000\162\000\000\000\000\000\000\003\023\000\000\000\000\000\000\000\000\000\000\003\028\000\000\000\000\000\170\000\000\003\030\000\000\000\000\000\000\003\155\002k\000\000\003\153\000\000\002\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\152\003\154\002q\001A\002p\001?\001@\002o\002n\002m\002i\000\000\000\000\002j\001\014\000\000\002l\000\000\003\151\000\000\000c\001>\002L\000\000\000\000\002O\000\000\000\015\000\000\000\000\000\000\000\000\001\015\002h\002t\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\134\002'\000R\001\024\000^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\\\000T\000\000\000S\001\025\000\000\002R\001\026\000\014\000\016\000\000\000\000\000\195\000\000\000\000\000\182\000\000\000\000\000\187\000\186\000\000\000\183\000\000\000\181\000\000\000\000\000\000\000\185\000\000\000\184\000\000\000\000\000\175\000\000\000\000\000\180\000\179\000\000\000\176\000\000\000\174\000\000\000\000\000\000\000\178\000\000\000\177\000\000\000\189\000\000\000\000\000\194\000\193\000\000\000\190\000\000\000\197\000\000\000\000\000\198\000\000\000\196\000\000\000\188\000\000\000\203\000\000\000\000\000\000\000\192\000\000\000\000\000\000\000\000\000\202\000\000\000\000\000\142\000\000\000\000\000\000\000\000\000\000\000\000\002\014\000\211\000\000\000\000\000n\000o\002\013\001\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\222\000\217\000\000\001\239\000\000\000\000\000\000\000\000\000\210\000\208\000\223\000\000\001\132\000\000\000\000\003\025\000\000\003\024\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\201\000\199\000\000\000\000\003\027\003\031\000\191\000\000\000\000\001\029\000\000\000\000\002M\002P\000\000\002N\002Q\003~\003\127\003}\000\000\002r\003|\000\000\002\140\000\000\000\000\002\139\002\138\002\137\002\136\002\135\002\131\000\000\000\000\002\132\000\000\002\134\000\000\000\000\000g\002Z\000\000\000\000\002]\000\000\000\000\002`\000\000\000\000\002[\002^\000\000\002\\\002_\002\142\002\130\003\140\003\141\003\139\003\138\000h\000\000\000\000\000W\000\000\000V\001\"\000\000\001\248\000\000\000\000\000\000\000\000\000\000\001\019\001\254\000\000\000\000\001\164\000U\0001\001\012\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\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002s\000\000\000\206\000\000\000\000\001\233\000\000\001\154\001\214\000\000\000\000\001\232\000\000\001\152\001\213\000\000\000\000\000d\000\000\002\141\000\000\000\000\003\143\003\142\000\000\001\249\000\000\000\000\003\129\003\128\000\000\000Q\000\207\000\000\001~\000\000\003\026\000\000\000\000\000\000\000\000\000\171\000\169\000\000\001\023\000\000\000\000\000\172\000\161\000\000\000\000\001f\000\000\001e\000\000\001t\000\000\001\142\000\000\000\000\000\000\003Q\000\000\000\000\003D\000\000\000\000\003I\003H\000\000\003E\000\000\003C\000\000\000\000\000\000\003G\000\000\003F\000\000\000\000\003=\000\000\000\000\003B\003A\000\000\003>\000\000\003<\000\000\000\000\000\000\003@\000\000\003?\000\000\003K\000\000\000\000\003P\003O\000\000\003L\000\000\003S\000\000\000\000\003T\000\000\003R\000\000\003J\000\000\003Y\000\000\000\000\000\000\003N\000\000\000\000\003x\000\000\000\000\000\000\000\000\003X\003M\000\000\003z\000\000\000\000\002\250\003y\000\132\000\000\000\251\000\000\000\000\000\000\000\000\003V\000\000\000\000\000\000\000\000\003W\003U\000\000\000\000\003o\000\000\000\000\003b\000\000\000\000\003g\003f\000\000\003c\000\000\003a\000\000\000\000\000\000\003e\000\000\003d\000\000\000\000\003[\000\000\000\000\003`\003_\000\000\003\\\000\000\003Z\000\000\000\000\000\000\003^\000\000\003]\000\000\003i\000\000\000\000\003n\003m\000\000\003j\000\000\003q\000\000\000\000\003r\000\000\003p\000\000\003h\000\000\003w\000\000\000\000\000\000\003l\000\000\000\000\000\000\000\000\003v\003k\000\000\000\000\000\000\000\000\003t\000\000\000\000\000\000\000\000\003u\003s\003\019\003\021\003\022\003\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\212\000\000\000\000\000y\000\000\000\000\000\000\002x\000\000\000\000\000\000\002\128\000\000\000\000\002\127\000\000\003\136\002~\002}\002|\002{\002z\001b\002v\000\000\000\000\002w\000\000\002y\000\000\000\000\000\000\000\000\000\000\000e\002S\000\000\000\000\002V\000\000\000\000\002Y\000\000\000\000\002T\002W\000\000\002U\002X\002\129\002u\000f\003\133\003\134\003\132\003\131\003\135\000\000\000\000\000\000\000\000\001\011\001\n\000\000\000\000\000\000\000\000\000\000\000\000\001W\000\000\001\021\001T\000\000\001\t\000\000\000\000\000\000\001[\000\000\000\000\001\\\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\001`\000\000\000\000\001_\000\000\000\000\000\000\000\000\000\000\000\000\000u\000\000\000\000\000v\000q\000s\000r\001a\001Z\001]\000\000\001Y\001V\000\000\001U\000\000\000\244\000\000\002\228\000\000\000\000\000\240\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\247\000\000\000\000\000\250\000\000\000\000\000\000\000\000\000\000\000\000\001D\000\000\000\000\000\000\000\237\000\000\000\234\000\000\000\000\000\000\000\000\000\000\000\245\000\000\000\241\000\000\000\000\000\000\000\000\000\242\000\000\000\238\000\000\000\000\000\000\002\146\000\000\000\000\000\000\000\000\002\153\000\000\000\000\002\152\002\151\002\150\002\149\002\148\002\144\000\000\000\000\002\145\000\000\002\147\000\000\000\000\000i\002a\000\000\000\000\002d\000\000\000\000\002g\000\000\000\000\002b\002e\000\000\002c\002f\002\155\002\143\003\147\003\148\003\146\003\145\000j\000\000\000\000\000Z\000\000\000Y\000\000\002\154\000\000\001\215\000X\000?\001!\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\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\150\003\149\000\000\003\n\000\000\003\t\000\000\000\000\000\000\000\000\003\162\000\000\000\000\000\000\003\163\000\000\000\018\000\000\000\000\000\000\003\158\000\000\001\166\000\000\000\000\000\000\000\224\003\000\001z\001y\001P\001O\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\016\001\017\001\001\000\000\001\138\000\000\000\000\001\000\000\252\000\000\001\003\000\253\001\002\000\000\003\012\000\000\003\011\002\253\000\000\000\000\000\000\000\000\000\000\003\006\000\000\000\000\000\000\000\000\003\007\002\255\000\000\003\013\000\000\003\001\000\000\000\228\001Q\000\000\003\016\000\000\001S\000\000\000\000\003'\000\000\003.\000\230\000\000\000\235\000\000\003(\000\229\000\000\003)\000\000\0030\000\000\000\000\000\000\000\000\000\248\000\000\000\232\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\246\000\000\000\000\000\249\000\000\000\000\000\000\000\000\001C\000\000\000\000\000\000\000\236\000\000\000\233\000\000\000\000\000\000\000\000\000\000\000\243\000\000\000\239\000\226\000\225\000\000\0031\0032\000\000\0033\000\000\0034\000\000\001R\003\004\000\000\000\000\001\237\000\000\001\162\001\219\000\000\002\254\000\000\000\000\000\000\003\003\000\000\000\000\000\000\0017\000\000\0011\000\000\0012\000\000\001<\0010\001;\000\000\003\015\001=\000\000\000\231\000\000\000\000\000\000\000\000\0019\0014\001\234\000\000\0015\000\000\0016\000\000\001\156\001\216\000\000\000\000\000\000\001\244\000\000\001\242\000\000\000\000\001\246\001\240\000\000\001\247\001\241\000\000\003\017\001\250\000\000\000\227\000\000\000\000\001\235\000\000\001\158\001\217\000\000\003\159\000\000\003\156\000\000\003\157\000\019\000\020\000\000\000\000\002\206\000\000\002\205\000\000\000\000\002\208\000\000\002\207\000\000\000\000\000\000\002\023\000\000\000\000\002\027\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\030\000\000\000\000\002!\000\000\002\017\000\000\000\000\002\020\000\000\000\000\000\000\002\024\000\000\000\000\002\028\000\000\000\000\001\236\000\000\000\000\002\021\000\000\000\000\002\025\002\203\002\018\000\000\002\204\000\000\000\000\000\000\000\000\002\031\000\000\002\015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\029\000\000\000\000\002 \000\000\002\016\000\000\000\000\002\019\000\000\000\000\000\000\002\022\000\000\000\000\002\026\000\000\001\160\001\218\000\000\002\209\000\000\000\000\000\000\003\160\000\017\000w\000\000\003\161\000\000\000\000\002\224\000\000\000\000\003\018\000a\000\000\000\000\000\000\000b\000\000\003\008\000\000\001\128\000\000\001\134\003\005\000\000\000\000\001l\000\000\001k\000\000\001u\000\000\001\148\000\000\000\000\000\000\001j\000\000\001i\000\000\001r\000\000\001\146\000\000\000\000\000\000\001q\000\000\000\000\000\000\001n\000\000\001m\000\000\001s\000\000\001\150\000\000\000\000\000\000\001o\000\000\000\000\000\000\001h\000\000\001g\000\000\001v\000\000\001\144\000\000\000\000\000\000\001p\000\002\000\000\000N\000O\000\000\000\000\002\171\002\175\002\179\002\167\002\164\000\000\000\000\002\176\002\183\002\168\002\182\002\166\002\181\002\170\002\162\002\169\002\178\002\165\002\172\002\163\002\174\002\180\002\177\002\173\001\182\001\181\000\130\000\000\000\000\002\246\000\000\000\000\002\218\000\000\000\000\002\220\002\219\002\193\000\000\000\000\002\252\002\185\002\184\002\186\000\000\001\194\000M\001w\000\003\000\000\000\000\002\158\000\000\002%\000\000\000\131\000\000\000\000\002\248\000\000\000\000\000\000\000{\000\000\000\000\002\232\000\000\002\n\002\t\001\176\002\194\000\000\001\210\000\000\002\159\000\000\000\000\000}\000\000\000\000\002\236\000\000\001\191\000\000\000\000\001\187\000\000\000\000\000\000\001\190\000\000\001\189\000\000\000\000\000\000\000\000\000\000\000\000\001\211\000\000\001\185\000\000\001\184\000\000\000x\000\000\000\000\002\226\000\000\000\000\001\180\000\000\000\000\000\128\000\000\000\000\002\242\000\000\000\000\002\201\000\000\002\200\000\000\000\000\000\000\002\008\002\007\002\198\002-\002\189\002\199\000\000\001\197\000\000\000\000\000\000\001\193\000\000\001\199\000\000\000\000\001\188\000\000\000\000\000\000\002\191\000\129\000\000\000\000\002\244\000\000\002\190\000\000\001\195\000\000\000\000\001\196\000\000\000\000\000\000\000\000\000\000\000\000\001\212\000\000\001\186\000\000\002\000\000~\000\000\000\000\002\238\000\000\000\000\000\000\000\000\003#\003\"\000\000\000\000\001H\000z\001G\000\000\000\000\002\230\000\000\002\002\002\001\002\004\002\187\002)\002\003\000\000\000\127\000\000\000\000\002\240\000\000\000\000\000\000\000\000\002\006\002\005\002\197\002\195\002+\002\188\002\196\000\000\001\204\000\000\001\208\000\000\000\000\001\200\000\000\000\000\000\000\001\192\000\000\001\198\000\000\000\000\000\000\000\000\001\179\000\000\000\000\001\207\000\000\001\206\000\000\000\000\000\000\000\000\001\203\000\000\000\000\001\202\000\000\001\201\000\000\000\000\000\000\000\000\001\205\000\000\001\209\000\000\000\000\001x\000\004\000\000\001\183\000\005\000\000\000\000\001%\000\006\000\000\001\223\001\224\001\222\000\000\001\221\003$\001\172\000\000\000\007\000\000\001\226\001\227\001\225\000\000\000\000\000\000\000\000\001'\000\000\000\000\000\000\000\000\001,\001.\001-\001(\001*\001)\000\000\000\000\000\000\000\000\000\000\003*\0037\000\000\003+\000\000\003,\000\000\000\000\003%\000\000\000\000\000\000\000\000\0036\000\000\000\000\0035\001\231\001\230\000\000\000\000\001\174\001\220\001\228\000\000\000\000\000\000\000\000\002\012\000\000\000\000\000l\000m\002\011\000\000\000\000\000\000\000\220\000\000\001\130\000\000\000\000\000\219\000\215\000\000\000\000\000\000\000\000\001B\000\000\003:\000\000\003;\000\000\000\000\001\253\001\251\000\000\001\252\000\008\000\000\000\t\000\000\002<\002=\002;\000\000\002:\000\000\000\n\000\000\002?\002@\002>\000\000\002B\000\000\000\000\000\000\0024\000\000\000\000\0026\000\000\0020\000\000\0022\000\000\0027\000\000\0028\000\000\0021\002/\002C\001\178\0029\000\000\002E\000\000\002D\000\000\002F\000\000\002\202\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002G\000\000\000\000\002J\000\000\002I\000\000\002H\001\004\000\000\000\000\000\000\000\000\001\005\002K\000\000\000\000\002\213\000\000\000\000\000\000\000\000\002\214\000\000\000\000\001$\000\000\000\000\000\000\000\000\000\000\002\222\000k\000\000\000\000\001\013\000\000\001\031\001\030\000\000\001d\000\000\002\212\001\170\001\168\000\000\000\000\000\000\000\000\002\215\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\211\000\000\000\000\000\000\000\000\000\000\000\000\002\210\000\000\000\013\000\000\000\000\000\000\000\000\000\000\002\217\000\000\000\000\000\000\002\216")
1411
1412 let error =
1413 (178, "\000\000\000\001\128\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\000\000\000\000\000\000\000\000\000\000\128\016\192\000\000\129\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\252\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\018\168h\005\001\013P@Hf\004`4\002!\222\t\000\0029\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\163\128\000\0001\000\001\000\024\017\128@\008\002\016\000\000\000&C\016\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001v\142\000\000\000\196\000\004\000`F\001\000 \008@\000\000\000\153\012@H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\202\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\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\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\202\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\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\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004B@F\001\000 \008@\000\000\000\153\012^\181^\000\008\000 \000\002\008\008\000\000\000\000\002\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\008\128\002\000\000 \128\128\000\000\000\000 \000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\000 \000\002\008\008\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000@\000\000\000\128\000\000\000\000\000\001\235U\224\000\128\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \000\128\000\008 \000\000\000\000\008\000\001\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\016\000\002 \000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016B \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\000\000A\000\130\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008'\173W\128\002$\136\001 \208*\012\237\000\000\132\128@\016\001\004\002\t\235U\224\000\137\"\000H4\n\131;@\000! \016\004\000A\000\130\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \158\181^\000\008\146 \004\131@\1683\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\001\019\004\217d\176\000\001@\008\016\000\003t\004'\135p\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\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\"H\128\018\013\002\160\207\208\000\008H\004\001\000\016H \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000DA\006\001,\000\000P\002\000\000\000\217\000\t\161\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\013\144\000\158\029\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000`\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\002\000\000\000 \000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005@\128\000\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000L\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000L\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\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\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\004@\000D$\004`\016\002\000\132\000\000\000\t\144\197\235U\224\000\128\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \128\128\000\000\000\000 \000\000\000\000\004\000z\213x\000 \000\128\000\008 \000\000\000\000\008\000\001\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000@\000\000\000\128\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\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\000\128\002\000\000 \000\140\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\128\002\000\000 \000\140\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\004\000\000\000\008\000\000\000\000\136\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\128\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \000\128\000\008\000#\000\000\000\000\000\000\001\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\000\007\173W\128\002\000\008\000\000\128\0020\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\000 \000\002\000\008\192\000\000\000\000\000\000@\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\008\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000 \000\000\000\008\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000@\000\000\000\128\000\000\000\000\000\001\235U\224\000\128\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\016\000\017\t\001\024\004\000\128!\000\000\000\002d1z\213x\000 \000\128\000\008 \000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\018(`\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\137\"\000H4\n\131?@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\146\000\004\131@\1603\180\000\002\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000\000\004\016\008 \000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\001\002\004Y$\160\000\001\000\000\016\000\003T\004\001\004`\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"H\128\018\013\002\160\207\208\000\008H\004\001\000\016H \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\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 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\004X\004\160\000\001\000\000\000\000\003D\000\001\004`\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000@\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\128\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\016\000\030\181^\000\008\000 \000\002\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\137\"\000H4\n\131;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\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\008\146 \004\131@\1683\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000D\000\004B@F\001\000 \008@\000\000\000\153\012^\181^\000\008\000 \000\002\008\008\000\000\000\000\002\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\004\138\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000 \000\000\000\000\000\000\000^\181^\000\008\000 \000\002\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\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\001\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\008\210(\004\003\024\174;\188 \006z\131\000\008\213\016('\173W\128\002\000\008\000\000\128\002\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\002\000\000\000 \000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005@\128\000\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\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\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\002\000\008\000\000\128\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\0001\136\000\000\144\000\135h$\000\008\192\000\007\173W\128\002\000\008\000\000\130\002\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\004\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\004\000\000\000\008\000\000\000\000\000\000\030\181^\000\008\000 \000\002\008\008\000\000\000\000\002\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\0001\136\000\000\144\000\135h$\000\008\192\000\007\173W\128\002\000\008\000\000\130\002\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\004\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\235U\160\000\128\002\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005@\128\000\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001P \000\000\002\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\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\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\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\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@BD\016\003\024\128\000\t\000\008v\130@\000\140\000\000z\213x\000 \000\128\000\008 \000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000\000\000\002\000\000\000\000\000\000\007\173W\128\002\000\008\000\000\130\002\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\004\000\000\008\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\012b\000\000$\000!\218\t\000\0020\000\001\235U\224\000\128\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\002\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000@\013 \128@1\n#\187B\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000 \000\128\000\008\000 \000 \000\000\008\000\000\000\192!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\002\000\000 \000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\t \000H5\n\003{@\000! \016\004\000A\000\130\000\000\000\000\002H\000\016\012\226\128\206\208\000\024H\004\005@\016A \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\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\002$\136\001 \208*\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\003\000\1603\180\000\006\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000@0\n\003;@\000a \016\000\000A\000\130\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \158\181^\000\008\146 \004\131@\1683\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\t \000@0\n\003;@\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000@\129\006I(\000\000@\000\004\000\000\133\001\008\000\024\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\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\008\146 \004\131@\1683\244\000\002\018\001\000@\004\018\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\002\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\0038\1603\180\000\006\018\001\001P\004\016H \000\000\000\000$\128\001\000\206(\012\237\000\001\132\128@T\001\004\002\008\000\000\004\128\000\0170M\150K\000\000\020\000\129\000\0007@BPw\000\000\000\002\002H\000\016\012\226\128\206\208\000\024H\004\005@\016A \128\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\000\000\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\001\003\004\025$\176\000\001\000\000\016\000\0034\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\t \000@3\n\003;@\000a \016\017\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000$\128\001\000\204(\012\237\000\001\132\128@D\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\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\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\002H\000\016\012\226\128\206\208\000\024H\004\005@\016A \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001\000\206(\012\237\000\001\132\128@T\001\004\018\008\000\000\000\000\t \000@3\138\003;@\000a \016\021\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\146\000\004\0038\1603\180\000\006\018\001\001P\004\016H \000\000\000\000$\128\001\000\206(\012\237\000\001\132\128@D\001\004\018\008\000\000\000\000\t \000@3\138\003;@\000a \016\021\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000$\128\001\000\206(\012\237\000\001\132\128@T\001\004\018\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\004`\000\000\000\128\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\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\000\128\002\000\000 \000\140\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\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 \000H5\n\003{@\000! \016\004\000A\000\130\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\000\008\000\000\000\000\000\000\000\000\016\000\018\000\000\000\000\000\000\000\000\016\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\030\181^\000\008\000 \000\002\000\008\192\000\000\000\000\000\000@\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000 \000\000\000\000\000\000$\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\128\002\000\000\000\000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000 \000\000\000\000\000\000$\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\004\000\000\128\000\000\000\000\000\000\146\000\004\131P\1607\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\127\245\252\016#H\160\018\013B\184\238\240\128\025\234\012\001#\212a\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$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\t \000@0\n\003;@\000a \016\000\000A\000\130z\213x\000\"H\128\018\013\002\160\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@0\n\003;@\000a \016\000\000A\000\130\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000\000\000\146\000\004\003\000\1603\180\000\006\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\004L\019e\146\192\000\005\000 @\000\013P\016\020\029\192\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\137\"\000H4\n\131?@\000! \016\004\000A \130\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$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\013\016\000\020\029\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\128\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000H\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\128\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000H\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\128\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000H\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\128\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000H\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\024\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\128\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000H\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\128\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7z\213x\000\"H\128\018\013\002\160\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\004\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\030#H\160\016\012b\184\238\240\128\025\234\012\000#T@\160\128\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\004\017\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240@\141\"\128@1\n\227\187\194\000g\1680\000\141Q\002\130\127\245\252\016#H\160\018\013B\248\238\240\128\025\234\012\001#TP\160\159\253\127\007\136\210(\004\003\024\174;\188 \006z\131\000\008\213\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\223\248x\141\"\128@1\139\227\187\198\000g\1690\000\143Q\198\179\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\008\210(\004\003\024\174;\188 \006z\131\000\008\213\016('\255_\193\0024\138\001 \212/\142\239\008\001\158\160\192\0185E\n\t\255\215\240@\141\"\128H5\n\227\187\194\000g\1680\004\141Q\006\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\004\000\210\008\004\003\016\162;\180 \006z\131\000\008\197\016( \000\000\001\0004\130\001\000\196(\142\237\008\001\158\160\192\0021D\n\008\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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 \016H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\001\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A \130\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\210\008\004\003\016\162;\180 \006z\131\000\008\197\016( \000\000\001\0004\130\001\000\196(\142\237\008\001\158\160\192\0021D\n\008\000\000\000\000\000\000\000\000\000\000\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\136\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\137\"\000H4\n\131?@\000! \016\004\000A \130\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\210\008\004\003\016\162;\180 \006z\131\000\008\197\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\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#H\160\018\013B\184\238\241\128\025\234\012\001#T@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\223\248x\141\"\128@1\139\227\187\198\000g\1690\000\143Q\198\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240@\141\"\128@1\138\227\187\198\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\002\001\000\000\000\001\000\000\000\000\001\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\007\255_\193\0024\138\001\000\198+\142\239\024\001\158\160\192\0025D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\001\019\004\217d\176\001\001@\008\018\000\003t\004\005\007p\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\008\004\000\000\000\004\000\000\000\000\004\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\0024\138\001 \212+\142\239\024\001\158\160\192\0185D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#H\160\016\012b\184\238\241\128\025\234\012\000#T@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\137\"\000H4\n\131?@\000! \016\004\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\016\000\001\024\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\000 \000\002\000\008\192\000\000\000\000\000\000@\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131P\1607\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\000 \000\002\000\008\192\000\000\000\000\000\000@\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000 \000\000\000\000\000\000$\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\128\002\000\000\000\000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000 \000\000\000\000\000\000$\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\210(\004\131P\174;\188`\006z\131\000H\213\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\002\001\000\000\000\001\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\0024\138\001 \212+\142\239\024\001\158\160\192\0185D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\004\000\000F\001\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\016\003H \016\012B\136\238\208\128\025\234\012\000#\020@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\001\000\000\000\000\000\000\000\000\000\000@\000\127\247\254\016#H\224\019\013B\248\238\241\1289\234L\003#\212u\172\192\000\000\004\000\210\008\004\003\016\162;\180 \006z\131\000\008\197\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240@\141\"\128@1\139\227\187\194\000g\1680\000\143Q\198\130\000\000\000\000\000\000\000\002\001\000\000\000\000\000\000\000\000\001\000\000\000\000\031\253\127\004\008\210(\004\003\024\190;\188 \006z\131\000\008\245\028h \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\008\004\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\008\210(\004\131P\190;\188 \006z\131\000H\245\028h \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240@\141\"\128H5\011\227\187\194\000g\1680\004\143Q\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\016\000\031\253\127\004\008\210(\004\003\024\190;\188 \006z\131\000\008\213\020( \000\000\000\000\000\000\000 \016\004\000\000\000\000\000\000\000\016\000\001\000\001\255\215\240@\141\"\128@1\139\227\187\194\000g\1680\000\141QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\008\004\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\031\253\127\004\008\210(\004\131P\190;\188 \006z\131\000H\213\020( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000@\004\004`\000\000\000\128\000\000\000\001\000\000\000\000\000\000\000\001\000\012\004\000\000\000\000\000\128\000\000\004\000\000\016\001\127\245\252\016#H\160\016\012b\184\238\240\128\025\234\012\000#T@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004@0\016\000\000\000\000\002\000\000\000\016\000\000@\004\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#H\224\019\013B\184\238\240\1289\234\012\001#TD\160\223\253\127\004\008\210(\004\003\024\174;\188 \006z\131\000\008\213\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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#H\224\019\013B\184\238\240\1289\234\012\001#TD\160\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\016\000\031\253\127\004\008\210(\004\131P\190;\188 \006z\131\000H\213\020( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\002\001\000\000\000\001\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\0024\138\001 \212+\142\239\024\001\158\160\192\0185D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\191_\192\002$\138\001\000\192*\012\239\000\001\132\128@\000\005D\n\008\000\000\000\000\t \016H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\239\215\240\000\137\"\128@0\n\131;\192\000a \016\000\001Q\002\130\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\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 \000\128\000\008\000 \000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\024\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \000\128\000\008\000#\000\000\000\000\000\000\001\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131P\1607\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000 \000\128\000\000\000 \000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000@\000{\245\252\000\"H\160\016\012\002\160\206\240\000\024H\004\000\000T@\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\018\000\000@\193\006I,\000@@\000\004\128\000\197\001\001\001\024\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131P\1607\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\146 \004\131@\1683\244\000\002\018\001\000@\004\018\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\001\000\000\017\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\000\128\002\000\000 \000\140\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\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 \000H5\n\003{@\000! \016\004\000A\000\130\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\235U\160\000\128\002\000\000\000\000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\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 \000H5\n\003{@\000! \016\004\000A\000\130\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\001\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\004\000\004\000@F\000\000\000\008\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\002\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016@\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\0024\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\008\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\127\245\252\016#H\160\018\013B\184\238\240\128\025\234\012\001#\212a\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\192\002\000\008\000\000\128\002\000\002\000\000\000\128\000\000\012\002\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\023\255_\193\0024\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#H\160\016\012b\184\238\240\128\025\234\012\000#T@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000 \000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\016\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\003H \016\012B\136\238\208\128\025\234\012\000#\020@\160\128\000\000\000\000\000\016\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\016\000\000\001\0004\130\001\000\196(\142\237\008\001\158\160\192\0021D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\003H \016\012B\136\238\208\128\025\234\012\000#\020@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000 \000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\192\002\000\008\000\000\128\002\000\002\000\000\000\128\000\000\004\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\127\245\252\000 \000\128\000\008\000 \000 \000\000\008\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\192\002\000\008\000\000\128\002\000\002\000\000\000\128\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\016\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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^\016\028\004$I\002\016\008\000\000\144\000\133($\000\008\192\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000 \020\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\008\000\128P\016\017\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000 \000\000\000\128\008\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\004\000\000\128\000\000\000\000\000\000\016 \000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\008\128\000\000\000\000\000\000\016 \000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\192BD\016!\000\128\000\t\000\008R\002@\000\140\000\000z\213x\000p\016\128\004\008@ \000\002@\002\020\128\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\024@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\008\000\000\000 \002\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\002\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 @\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\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\192B@\016!\000\128\000\t\000\008R\002@\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\028\004 \001\002\016\008\000\000\144\000\133 $\000\008@\000\000\000\128\008\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\129\000\000\002\000 \020\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\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\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\002\000 \020\004$A\000\001\000\000\002\144\000\135h$\000\008\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000 \002\001@BD\016\002\016\000\000)\000\008v\130@\000\142\000\000\000\008\000\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\128\008\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\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\008\000 \000\002\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000z\213x\000 \000\128\000\008\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000 \002\001@BD\016\002\024\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\000\000\000\000\000\000\128\008\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\128\000\000\002\000 \020\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\000\000@\000\000 \000\000\000\000\000\000\002\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128P\016\145\004\000D\000\000\002@\002\029\160\144\000#\000\000\000\002\000 \020\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\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@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\008\000\128\\\016\145\004\000\020\000\000\n@\002\029\160\144\000#\128\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\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\129P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000 \000\000\000\128\008\021\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\000\000\000\000\016\000\000\008\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\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\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\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@BD\016\000\024\000\000\t\000\008v\130@\000\140\000\000\000\008\000\128P\144\145\004\000\148\000\000\n@\002\029\160\144\000#\128\000\000\002\000 \020\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000 \002\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\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\128\000\000\000\000\000\000\000\000\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\128P\016\145\004\000\006\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\002\000\000\000\008\000\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\001\000\000\000\128\000\000\000\000\000\000\008\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\008\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 @\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000 \000\000\000\128\008\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\128\000\000\000\016\000\000\008\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\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@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000 \002\001pBD\016\000P\000\000)\000\008v\130@\000\142\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\128\000\000\000\000\000\000\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\128p\016\145\004\008D \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\128\008\005\001\001\016@\000@\000\000$\000!\218\t\000\0020\000\000\000 \002\001rBD\016\000X\000\000)\000\008v\130@\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\001\235u\226\001\192BD\016!\024\128\000\t\000\008v\130@\000\140\000\000\000\008\000\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\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@BD\016\000\016\000\000\t\000\008v\130@\000\140\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\128\000\000\000\000\000\000\000\000\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\128P\016\145\004\000\132\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\128\008\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\225\001\192BD\144!\000\128\000\t\000\008R\130@\000\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \2088\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\127\225\0024\138\001 \244;\142\239\008\001\158\164\192\0185D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#H\160\018\015B\184\238\240\128\025\234L\001#T@\172\222\253\255\128\008\000 \000\002\000\008\000\000\000\000\000\016\000\000\000\000\000\007\191\127\224\002\000\008\000\000\128\002\000\000\000\000\000\004\000\000\000\000\000\001\239\223\248\000\128\002\000\000 \000\128\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\018(`\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\004\138\024\000\000\000\000\000\000\000\000\000\000\000\000\001\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\240x\141\"\128@1\138\227\187\194\000g\1680\000\141Q\002\130\127\245\252\016#H\160\016\012b\184\238\240\128\025\234\012\000#T@\160\128\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\0024\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\204\000\000\000\000\000\000\000\008\004\000\000\000\000\000\000\000\000\004\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@ \016\000\000\000\000\000\000\000\000\016\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\127\245\252\016#H\160\018\013B\184\238\240\128\025\234\012\001#T@\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$\128\001\000\206(\012\237\000\001\132\128@T\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\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\136\210(\004\003\024\174;\188 \006z\131\000\008\213\016('\255_\193\0024\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\127\245\252\016#H\160\016\012b\184\238\240\128\025\234\012\000#T@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\2264\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\t\255\215\240@\141\"\128@1\138\227\187\194\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\239\223\248\000\128\002\000\000 \000\128\000\000\000\000!\000\000\000\000\000\000\001\"\134\000\000\000\000\000\004\000\000F\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\017\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\001\235U\224\000\128\002\000\000 \000\140\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\008\000\000\128\0020\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\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\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\136\000\030\181^\000\008\000 \000\002\000\008\192\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\0024\138\001 \212+\142\239\008\001\158\160\192\0185D\026\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000@\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240@\141\"\128H5\n\227\187\194\000g\1680\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\001\000\001\000\000\017\128\000\000\002\016\000\000\000\000\003\016\000\000\000\000\000 \008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\003\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#H\160\018\015C\184\238\240\128\025\234L\001#T@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\127\225\0024\138\001 \244+\142\239\008\001\158\164\192\0185D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#H\160\016\012b\184\238\240\128\025\234L\000#T@\172\192\000\000\000\000\000\000\000\128@\000\000\000\000\000\000\000\000@\000\000\003\023\255\127\225\0024\138\001\000\198+\142\239\008\001\158\164\192\0025D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#H\160\018\013B\184\238\240\128\025\234L\001#T@\172\223\253\255\132\008\210(\004\003\024\174;\188 \006z\147\000\008\213\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\008\004\000\000\000\000\000\000\000\000\004\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\031\253\255\132\008\210(\004\131P\174;\188 \006z\147\000H\213\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\223\248@\141\"\128H5\n\227\187\194\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\255\132\008\210(\004\131P\174;\188 \006z\147\000H\213\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\000\016\000\016\000\001\024\000\000\000!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\210(\004\131P\174;\188 \006z\147\000H\213\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\008\004\000\000\000\000\000\000\000\000\004\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\031\253\255\132\008\210(\004\131P\174;\188 \006z\147\000H\213\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\000\016\000\016\000\001\024\000\000\000!\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\016\000\000\000\000\000\000\000\000@\145<\000\192\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\001\000\000\001\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\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\000\000\000\000\000\000\000 \000\001\002\000\000\000\000\000\000\000\008\000\000\000\008\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\002\000@\000\000\000\000\000\008\000\000@\128\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\002\000\000\000\001\000\000\000\000\000\000\000\000C\000 \000 \020\000\000\000\000\000\000\128\000\004\008\000\000\000\000\000\000\000 \000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\001\000\000\000\000\000\000\000\000C\000 \000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000G\0000\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\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\001\012\000\192\000\000@\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0040\002\000 \001\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0040\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\192\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000G\0000\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\016\192\012\000\000\004\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\0040\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\012\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000C\0000\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\016\192\008\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0040\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\012\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\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")
1414
1415 let action =
1416 ((16, "\000\136\000\193\000\000\000\000\t\156\000\193\000\000\000\000\000\021\000\000\000\000\000\000\000\199\000\000\000\000\000\000\000\136\000\000\001^-\196\000\000\018\212\018\212\000\000\000\000*\254\018\212\000\000<\144\018\212\000\000\000\000\018\212\000\000\018\212\000\000\000%\000B\018\212\000\000\018\212\000\000\000\000\000\000+f\018\212\000\000<\156\018\212\000\000\000\000\018\212\000\000\018\212\000\000\000|\000\244\018\212\000\000\018\212\000\000\018\212\000\000<\204\018\212\000\000\000\000\018\212\000\000\018\212\000\000\000w\000\000\000\000\018\212\000\000\018\212\000\000\000\000\018\212\000\000\018\212\000\000\000\252\001\180\018\212\000\000-\196<\144JP\000\000\021@\002&-\196\000EJP\000\000\001\188\018\212\000\000JP\000\000\000w\003z/\162\000\000\000\0009J\000\000=\148\000\000> -\164-\164\0206\0206=\148\0206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0009\214-\164\000\000\000\0009\214\000\0009\214\000\000-\164\000\000\000\000\000\000\023\186\000w\000\000\0206\000\000+\248-\164\027\232-\164\000\000\000\000\000\000\000\000\000\000\000\000\031x-\164 r-\164 \208-\164!\202-\164\000\000-\164\000\000-\164\"(-\164#\"-\164#\128-\164$z-\164$\216/\162\002\"-\164\000\000\000\000\000\000\000\000\000\000-\164%\210-\164&0-\164'*-\164\000\000\000\000-\164\000\000\000\000\002x\000\000\000\000\000\000\000\000\001\182\018\212\000\000\000\252\018\212\000\000>\162\018\212\000\000\000\000\018\212\000\000\018\212\000\000\002\180\003\002\018\212\000\000\018\212\000\000\007\230\018\212\000\000>\214\018\212\000\000\000\000\018\212\000\000\018\212\000\000\0030\003\226\018\212\000\000\018\212\000\000\018\212\000\000>\226\018\212\000\000\000\000\018\212\000\000\018\212\000\000\000w\018\212\000\000\018\212\000\000\018\212\000\000\018\212\000\000\003\218\004\006\018\212\000\000<\224JP\003\238\018\212\000\000A*J|\000\000\000\031\004\178\000w\004\028\004\230J\196\000\000\000\000\000)K\170\000\000\000\000\000\000\000\000\005\218\005X\000E\005\146J\196\001BJ\196\000\000\000\000\004\234\000\000\005\006\005\210J\196\005\022\000\000\000\000\000\000\000)\000\000\0054\006.\000\000\0062\000\000\005\220\000\150JP\005p\018\212\000\000>\162JP\005t\018\212\000\000\000\000\000w\006Z\000\000\000\000\000\000\001v\0206\000\000-\164\005\130\000\000\000\000\000w\000\000\000\000\000\000\000\000\000\000\005\136\000\000\000\000\005\144\000\000\005\148=\148\000\000\000\000\000\000\000\000\000\000\000\000?\212-\164\000\000?\212\000\000?\212=\148\000\000\000\000A*\000w\000\000\0206\005\156\000\000-\164\005\208\000\000\000\000\000w\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000Lx-\164\000\000-\164\000\000\000\000\005\214\000\000\000\000:\128\006\142-\164\006\\\000\000\000\000=\148\000\000\000\000\000\000\000\000\000\000\000\000@x=\148An=\148M\n=\148MH=\148\000\000=\148\000\000=\148M\188=\148N\000=\148NZ=\148N\178=\148O\012/\162\0062=\148\000\000=\148OP=\148O\128=\148O\196\006\016\000\000\006\"\000\000\000\132-\164\000\000\000\132\000\000\000\000\002\016-\196\000\000\002\016\000\000\000\000\006\"-\164\000\000\006&\000\000\0206\0064\000\000\000\000\007\000\000\000\0206\0068\000\000\000\000\006:\000\000\000\000\003z\000\000\007(\000\000>\214JP\006H\018\212\000\000\000\000\006\226\000\000\006f\018\212\000\000\000\000\000\t-\196\000\000-\196\000\000\006X\000\000\000\t\000\000\016\150\031x\018\170\000\000\008d\018\170\000\000\018\170\018\170\000\000\000\000\018\170\000\000\018\170\000\000\006\156\006\200\018\170\000\000\018\170\000\000\t\002\018\170\000\000\018\212\018\170\000\000\000\000\018\170\000\000\018\170\000\000\006\160\006\210\018\170\000\000\018\170\000\000\018\170\000\000\018\226\018\170\000\000\000\000\018\170\000\000\018\170\000\000\000w\018\170\000\000\018\170\000\000\018\170\000\000\018\170\000\000\006\170\006\218\018\170\000\000-\196\006\142\000\000\018\196JP\006\144\018\170\000\000\000\000\000=\000\000\002\028\000=\000\000\000\000\000\000\007|\000\000\001\020JP\006\154\018\170\000\000\018\212JP\006\158\018\170\000\000\000\000\007>\018\170\000\000\n\002\018\170\000\0000n\018\170\000\000\000\000\018\170\000\000\018\170\000\000\006\212\007\002\018\170\000\000\018\170\000\000\n0\018\170\000\0000\134\018\170\000\000\000\000\018\170\000\000\018\170\000\000\006\220\007\012\018\170\000\000\018\170\000\000\018\170\000\0000\138\018\170\000\000\000\000\018\170\000\000\018\170\000\000\000w\018\170\000\000\018\170\000\000\018\170\000\000\018\170\000\000\006\230\007\018\018\170\000\000\018\226JP\006\194\018\170\000\000\000\000\002bJP\006\196\018\170\000\0000\134JP\006\206\018\170\000\000\000\000\000\000\000\000\000\000\000\000\007\150-\164\006\220\021\246\007\156-\164\006\224\007\158-\196\000\000\000\000-\196\000w\000\000\001\192-\164'v\000\000A\170-\164\006\236\000\000\0206\006\236\000\000\006\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000BT-\164\000\000BT\000\000BTB\224\0206\006\246B\224\000\000\000\000L:\000w\000\000\0206\006\252\000\000-\164\007\022\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-\164\001,-\164\007\026\000\000\000\000(J'v\026(\030V\007\230-\164\000\000\007\184\000\000\000\000\000w\000\000;\028\007n'v\000\000\007p'v\000\000\001L\000\000\000\000\023FB\224\031\228B\2248\240B\224BNB\224\000\000B\224\000\000B\224HJB\224P\030B\224P&B\224PvB\224P~B\224P\216B\224Q\028B\224QL\000\000\007R(\244\000\000)\158)\158\007T)\158*H)\158\000\000\007^)\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007R\000\000\000\000\007V\000\000\008<\000\000\000w\000\000\001\192\008>\000\000\004F\008\020\000w\007j\008,J\196\007p\002*\000\000-\164\008R\000\000\005\252\006\174\0084J\196\007z\008`\000\000\002.-\164\008d\000\000\008l\000\000\005\220\000w\002\190-\164\008p\000\000\008t\000\000\000w\003t-\164\008v\000\000\008x\000\000\001\018\007\196\006\232\000\000ClC\248\0206\007\160\000\000\007\172C\248\000\000\000\000\000\000\000\000\000\000\000\000D\132-\164\000\000D\132\000\000D\132C\248\000\000\000\000\026\134\000w\000\000\0206\007\174\000\000-\164\007\172\000\000\000\000\000w\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000,b-\164\000\000-\164\000\000\007\186\000\000\000\132\000\000\000\000\000\000\000\000\000\0001pC\2481\160C\2482\170C\2482\218C\248\000\000C\248\000\000C\2483\228C\2484\020C\2485\030C\2485NC\2486X/\162\007\242C\248\000\000C\2486\136C\2487\146C\2487\194\0206\007\206\000\000\000\000-\164\000\000\008\180\000\000\001`\008\138-\164\008T\000\000\008\142-\164\008X\000\000\000\031\000\000\006\232\006\232\001`\000\000\001`\000\000\016\150\006\232\006\232\000\000\000\000\000\000\000\000\000\000\000\000\008\158-\164\007\228\021\246\022\198\000w\008\202\000\000\008\172/\162\008\214/\162\008\218-\164\008\002\021\246\021\246\000w\002^\001T\000\000\000\000\000\000\002^\000\000\003,\000w\000\000\000\000\008\004\000\000\000\000\000\000\008\238\000\000\008\242\000\000\000\000\t(\008\214-\164\008\"\t\002\000\000\008\232\0206\008,\021\246\000\000\000\000\008Z\000\000\000\015\000\000\005\134\000\000\000\000\001`\000\000\008\176\000\000\012p\004\020\000\000\012p\000\000\000\000\025\028\000\000\004\020\000\000\000\000\t\172\000\000\012p\000\000\008\248\0206\008>\t \000\000\000%\000\000\008\242\000w\008J\t\012J\196\008T\002\146\000\000-\164\t>\000\000\t>J\196\008\144\tv\000\000\004\028-\164\tz\000\000\t|\000\000\005\220\000w\004\156-\164\t~\000\000\t\128\000\000\000\000\000\000\t\172\000\000\000\000\004\020\000\000\006\232\000\000\000%\000\000\000\000\003^\022\198\000\000\003^\000\000\000\000\008\168\000\000\003:\000\003\021\246\000\000\004$\000O\004$\000\000\000\015\000\000\006\232\000\000\006\232\000\000\000\000\000\000\008\164\000\000\000\000\008\182\000\000\004\216\005\134\001V\004$\000\000\000\000\000\000\008J\000\000\006\232\000\000\004\216\000\000\000\000\003\022\000\015\016\150\000\000\000\015\000\000\008J\016\150\000\000\000\000\008J\000\000\000\000\008\182\000\000\000\000\008\188\000\000\004\222\006\232\000\000\004\222\000\000\000\000\t8\000\000\004\020\000\000\006\232\000\000\000\000\000\000\017\2368\190\000\000\t\160\000\000\017\236\t\164\000\000\t\168\000\000-\196\000w\003\140\000\000-\164\t\172\000\000\005\166\t~\000w\008\214\t\150J\196\008\220\003\180\000\000-\164\t\188\000\000\003\244\000\000-\164\t\196\000\000\005\220\000w\004,\000\000-\164\t\198\000\000\005*\017\236\000\000\025\028\004\192\000\000-\164\t\214\000\000\000\000\000\000\003\250\000\000\t\186\0206\t\006\t\236\000\000\007\n\000\000\t\190\000w\t\"\t\234J\196\t0\005\156\000\000-\164\n\020\000\000\005\160\000\000-\164\n\022\000\000\005\220\000w\005\172\000\000-\164\n\024\000\000\005*\000\000\000\000\t>\000\000\003\250\008\230\t\184\000\000\000\000\000\000\t\186\000\000\0020\000\031\000\000\016\150\n\012\000\000\000\000-\164\tn\006\232\000\000\tH\000\000\001\018\000\000-\196\000\000\000\000\002\190\016\150\000\000\016\150\000\000\t6\000\000\002\190\000\000-\164\003\138-\164\000\000-\164\000\000\tN\000\000\003\138\000\000-\164\003\138\tP\000\000\021\246\004 \021\246\000\000\021\246\000\000\tV\000\000\004 \000\000-\164\003\138\tX\000\000-\196\004\226-\196\000\000-\196\000\000\t^\000\000\004\226\000\000-\164\003\138\t`\000\000\000\000\025\028\000\000\000\000\t\206.\130\000\000\000\000\000\000\000\000\000\000\t\170\004$\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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.\130\000\000\004\132\000x\000\000\t\172\000\193\000\000\000\000\000\000\004\130\000x\000\000\000\000\000\000\000\000\n\n\000\000\000\000\000\000\000\000\027\232\029J\000\000EB\000\000.\130\000\000\0016.\130\000\000\000?\000K\000K\000\000\002L\000K\000\000\t\136\000\000\000\000\000\000\000\000\n\024\000\000\029\196\000\000\031x.\130\000\000\000W.\130\000\000\n\028\000\000.\130\n \000\000G6/\016\n$\000\000\n(\000\000G\196;\152.\130\t\166.\130\n0\000\000\n2\000\000\n6\000\000-\196\000\000\002\134-\196\000\000\t\180\018\170\000\000\000\207.\130\000\000\005l.\130\000\000\003L\n\182\000\000\n\184\000\000.\130.\130\t\216\000\000\000\000\000\000\000\000\000\000\000\000\nt\000\000H8.\130\nv\000\000\nx\000\000.\130\nz\000\000.\130\n$\000\193\000\000\000\000\005\230.\130\000\000\003L\000\000\n\128\000\000.\130\n\130\000\000E\176/\016.\130\n\000.\130\n\134\000\000\n\136\000\000F\\\000\000\000\000\006\026.\130\000\000\002\194\000L\000K\n\008\000\000\000\000\000N\000N\000\000\000\000\000\000\003\186\000N\000\000\n\n\000\000\000\000\000\000\000\000\000\000\000\000.\130\000\000\006f.\130\000\000\001`\004@\000\193\n\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\156\000\000\n\162\000\000.\130\n\164\000\000H\198.\130\n\172\000\000\n\182\000\000\021\140\n^I\018\018\196\000\000.\130\n\190\000\000\n\192\000\000\n\144\021\140.\130\n\200\000\000.\130\n\210\000\000\n\212\000\000F\234\nR.\130\n\224\000\000\n\228\000\000\000\193\nV\000\000\000\000\025\028\000\000\000\000\002z\011F\000\000\000\000\002\174\000\000\000\000\000\000-\164\000\000\000\000\000\000\002\194\000\000\004\248\000\000\000\000\000\000\004$A*A*A*\000\000\002P\002P\002P\002P\000\000\000\000\000\000\000\000\000\000\000\000\001`\016\150\011<\013\210\000O\000\000\000\000\001&\000\000\t\172\000\000'v\nn\000\000\001`\016\150\n\130\0154\000\000\001`\013\210\000\000\000\000\000\000A*\006v\000\000\000\000\000\000\n\214\0014\011PK~\000\000\004\136LZ\000\000\000\000\000\000\t~\011@\000w\000\000\004\136\000\000\004\176K~\000\000\000\000\n\152\011P\006\232\n\150\000\000\001&\000\000\t\172\000\000:\194\004<\000\000\000\000\011<\000\000\000\000\002z\000\000\005\016\000\000\000\000\000\000-\164\000\000\002\194\000\000\005N\000\000\000\000\000\000\005\134\000\000\011\014\002\144\011\014\000\000\006\232\011\014\000\000\002\144\000\000\006\232\000\000\006\232\000\000\006\232\000\000\t:\000\000\000\000\000\000\000\000\000\000\006\232\000\000\002\144\000\000\006\232\000\000D^\000\000\000\000\nj\n\200\000\193\005p\011d\003\004\000\000\003\004\011\140\000\000\011\142\000\000\011\144\000\000\000\000\004p\003\004\007r\003\004\000\000\000\000\004\174\n\152\000\000\n\216\000\193\005p\n\160\000\000\nj\011\164\000\000\n|\003P\011\182\000\215\011\182\000\000\000\000\002\030\000\193\000\000\001\152\000\000\000\000\002\178\000\000\n\178\000\000\000\000\000\000\n\238\000\193\005p\n\184\000\000\000\000\nj\n|\003P\002\030\001\152\002\178\n\186\000\000\n|\003P\002\030\001\152\002\178\n\192\000\000\000\193\000\000\011\194\001V\n\252\000\193\011X\000\000\011\000\000\193\011\\\000\000"), (16, "\012\005\012\005\012\005\012\005\012\005\012\005\012\005\012\005\012\005\012\005\012\005\021>\012\005\012\005\012\005\012\005\012\005\012\005\012\005\012\005\012\005\012\005\008\137\014\242\011q\022\234\012\005\015\026\000\n\011q\011q\000&\015&\012\005\001\"\016\162\022\030\012\005\012\005\001~\012\005\011q\007\201\012\005\022\026\007\150\016.\012\005\012\005\012\005\000*\016\166\008\210\027\250\004>\014\242\007\201\011\169\012\005\001\"\015\030\012\005\012\005\006\137\015&\000\n\011q\012\005\012\005\006\185\012\005\001\230\012\005\0007\000;\012\250\001\242\012\005\001\"\012\005\012\005\012\005\012\005\012\005\015\162\017F\021>\012\005\012\005\012\005\000\n\012\005\012\005\012\005\000\n\012\005\012\005\012\005\012\005\000\006\000\"\021\170\012\005\012\005\016>\003\245\000\n\007\201\021\174\000\n\007\158\023\226\023\246\012\005\012\005\012\005\018r\022f\012\005\012\005\012\005\012\005\018v\012\005\011\169\012\005\018z\000\150\012\005\006\185\004~\012\005\012\005\012\177\012\177\003:\016>\003B\012\177\003R\004^\017v\012\005\006\026\006\t\012\005\003Z\006\222\004\222\012\005\012\005\012\005\012\005\021\186\012\005\023\250\012\005\000\154\007\201\019\238\012\005\012\005\012\005\000\n\012\005\006\137\012\005\012\005\001\"\012\005\007\201\012\005\012\005\0061\003b\012\005\012\005\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\000.\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\000\n\016.\011\209\028\154\006\145\014\246\015\006\015\022\000\226\003r\014\242\006\145\008\246\023\002\023\n\006\145\006\145\023\222\006\145\015&\028\170\006\145\003.\0036\000\170\006\145\000\174\006\145\003z\003\190\006a\003\198\001\"\003\214\014\242\003\222\006\145\003\230\003\242\011n\003\250\006)\006)\015&\001\230\006\145\006\145\000\230\001\238\001\242\006\145\006\145\024F\004\221\004\002\006\145\011\217\006\145\006\145\006\145\006\145\006\145\021\154\000\n\001\"\006\145\006\145\006\145\004\n\006\145\006\145\006\145\001R\006\145\006\145\006\145\006\145\008\165\011\137\000\n\006\145\006\145\000N\007\182\020j\020\146\020\162\020\202\020\218\021\002\013n\016>\006\145\006\145\011v\000\n\006\145\006\145\006\145\006\145\020\026\006\145\004\026\006\145\nR\005\249\006\145\nV\006\025\006\145\006\145\025\138\011\174\nZ\015\170\016>\022\014\011\130\n^\025\142\012\177\012\177\004\138\006\145\011\225\012\177\003q\006\145\006\145\006\145\006\145\012\234\006\145\011\137\006\145\004\221\028\022\008\165\006\145\006\145\006\145\004}\028\026\001V\006\145\006\145\006\246\006\145\005\030\006\145\006\145\001v\004m\006\145\006\145\006\169\006\169\006\169\006\169\006\169\006\169\006\169\006\169\006\169\006\169\006\169\n\158\006\169\006\169\006\169\006\169\006\169\006\169\006\169\006\169\006\169\006\169\006\169\004}\n*\006\169\006\169\016.\016\194\011y\012\182\006\169\006\169\006\169\006\169\001\138\014\242\006\169\006\169\023\222\006\169\006\169\025.\006\169\001\"\015&\020J\006\169\006\161\006\169\011\137\006\169\006\169\006\161\006\161\006\169\006\169\006\169\006\169\006\169\006\169\006\169\006\169\002\206\012\238\028\n\013\026\006\169\006\169\006\169\006\169\004\169\006\169\006Y\023\242\000\n\008\218\006\169\025.\006\169\027\130\006\169\006\169\006\169\006\169\012\182\020\002\006\169\006\169\006\169\006\161\006\169\006\169\006\169\016\162\006\169\006\169\006\169\006\169\008\157\022*\027\134\027\242\006\169\023\002\023\n\006\169\011\153\027\138\015\166\016\166\020R\016.\006!\006\169\006\169\016\198\016>\006\169\006\169\006\169\006\169\006\246\006\169\006\169\006\169\003\026\028\"\006\169\022\210\001\230\006\169\006\169\006\169\012\250\001\242\011\129\003f\013:\006\169\006\222\011\137\006\169\023\018\005\241\006\169\008\201\008\201\020r\006\169\006\169\008\201\006\169\018\174\006\169\003j\006\169\012\182\017R\008\157\006\169\025?\025C\001\162\005\137\000\n\025G\006\169\008\173\006\169\027\146\006\169\006\169\018\222\006I\006\169\006\169\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\021*\001\014\025v\001\022\nZ\001\030\0012\001:\001>\n^\025z\003\170\021.\006\153\027\154\nb\006Y\018\242\006\153\006\153\019N\0212\001F\0216\015\194\020z\001\166\nr\003\249\013v\006\153\021:\013z\016.\006a\020\170\001N\011\137\014\226\021F\008\173\013V\014\242\021J\005\241\019\014\026\159\001\178\006\222\021N\025\174\015&\006\129\018\178\026\163\006\153\015:\013\130\025\218\025\230\012\182\015>\017\130\005\241\026\166\021R\001\218\005\241\001\222\004\185\001b\0166\015F\018\226\012\206\024J\013\150\001\230\015J\003\174\013\154\011\142\001\242\012\177\013\158\013\162\n\134\013\166\006A\004\029\021V\027\170\015N\021Z\001\230\024\n\004\014\004\018\012\250\001\242\020\178\011\137\011\145\n\226\013\170\018\246\021^\015R\015V\013\174\015Z\021b\000\n\021f\015n\021j\021n\004\149\021r\0192\015z\013\182\027\170\016>\021v\016\234\000\n\021z\004&\000\n\006a\025\250\020\226\019\018\015\154\011\233\n\253\004B\015\158\015\218\004\185\n\138\021~\013\186\012\182\015\222\021\130\021\134\004J\013\190\004\185\004\185\012\177\012\177\004N\004\185\015\230\012\177\013\194\017\198\006\177\006\177\018F\006Q\002\"\006\177\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\021\166\001\014\025v\001\022\nZ\001\030\0012\001:\001>\n^\025z\004\029\017\n\027\186\021\198\nb\004\029\004\029\011\233\n\253\020\234\026:\001F\019\"\027\178\006\001\001\166\nr\004\029\013v\0196\012\182\013z\003.\0036\000\170\001N\000\174\014\226\003z\003\190\026f\003\198\004z\003\214\003e\003\222\001\178\003\230\003\242\014\242\003\250\019\138\004\029\019\158\027\178\015:\013\130\025\218\015&\019\186\015>\017\202\004\130\006i\004\002\001\218\006q\001\222\004\201\001b\0166\015F\018\194\004\154\011\193\013\150\001\230\015J\004\n\013\154\011\142\001\242\0069\013\158\013\162\n\134\013\166\004\162\025g\025k\016:\015N\001\230\025o\004\166\004\174\012\250\001\242\004v\005\021\026\191\026\195\n\226\013\170\006y\026\199\015R\015V\013\174\015Z\004\198\000\n\004\026\015n\nR\004\249\004\149\nV\005\021\015z\013\182\025\138\001\"\nZ\004\202\027z\004\210\000\n\n^\025\142\016>\026\223\026\227\015\154\022\246\011\201\026\231\015\158\015\218\019\142\n\138\019\162\013\186\004\230\015\222\004\250\005\014\019\190\013\190\004\025\004\201\005.\005R\000\n\000\n\015\230\005^\013\194\005f\006\193\006\193\011\177\005\186\002\"\006\193\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\012\206\001\014\025v\001\022\nZ\001\030\0012\001:\001>\n^\025z\005\021\005\017\003A\005\198\nb\006\018\003A\006\"\023z\001\230\006*\001F\011\185\012\250\001\242\001\166\nr\004\245\013v\005\021\005\017\013z\t\"\t*\000\170\001N\000\174\014\226\tn\t\178\006\170\t\186\006\206\t\202\023\210\t\210\001\178\t\218\t\230\014\242\t\238\006\214\007\014\007\026\000\n\015\"\013\130\019j\015&\004\169\015>\007&\0072\007>\t\246\001\218\007J\001\222\004\229\001b\015B\015F\007^\019n\007n\013\150\001\230\015J\t\254\013\154\011\142\001\242\024:\013\158\013\162\n\134\013\166\007~\004\021\007\134\012\185\015N\007\171\001\230\007\246\007\250\008:\012\250\001\242\005\017\008>\008\158\n\226\013\170\008\162\008\178\015R\015V\013\174\015Z\008\194\000\n\n\014\015n\008\238\008\254\004\149\t\018\005\017\015z\013\182\004\021\tZ\003~\t^\003\134\t\158\003\150\000\n\t\162\016>\n\002\n\006\015\154\003\158\n\026\n2\015\158\015\218\004\229\n\138\nF\013\186\nf\015\222\nn\nv\n~\013\190\004\229\004\229\n\130\n\182\n\194\004\229\015\230\n\202\013\194\011\014\008\209\008\209\011.\003\166\002\"\008\209\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\011:\001\014\011~\001\022\nZ\001\030\0012\001:\001>\n^\007\202\004\021\007\210\011\154\007\226\nb\004\021\004\021\011\166\011\190\003\182\007\234\001F\011\202\012R\012f\001\166\nr\004\021\013v\012z\012\158\013z\012\170\012\178\012\198\001N\007\209\014\226\012\210\012\218\016.\012\222\012\230\004\021\012\246\013\006\001\178\013\014\007\242\014\242\007\209\013\018\004\021\013\"\027\178\015\"\013\130\013*\015&\013B\015>\013J\013^\013f\013r\001\218\013\138\001\222\004\221\001b\015B\015F\013\146\013\230\013\242\013\150\001\230\015J\014:\013\154\011\142\001\242\008\002\013\158\013\162\n\134\013\166\014\178\008\014\014\218\008\022\015N\008&\014\238\014\250\015\002\015\n\015\018\015^\008.\015f\007\209\n\226\013\170\015v\015~\015R\015V\013\174\015Z\015\134\000\n\015\142\015n\nR\015\150\015\210\nV\019j\015z\013\182\025\138\015\226\nZ\015\234\015\246\015\250\0086\n^\025\142\016>\016\002\016\006\015\154\019n\016\014\016\022\015\158\015\218\016&\n\138\016J\013\186\016\142\015\222\016\150\006\246\016\154\013\190\016\170\004\221\016\178\007\209\016\182\001\230\015\230\016\190\013\194\012\250\001\242\016\162\008F\016\206\002\"\007\209\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\016\166\001\014\016\214\001\022\nZ\001\030\0012\001:\001>\n^\016\222\011\161\011\161\000\n\016\226\nb\016\242\016\250\017\018\017\026\001\230\017j\001F\017\178\012\250\001\242\001\166\nr\017\190\013v\0182\018>\013z\018^\026N\018\138\001N\018\150\014\226\018\158\t.\018\186\t6\018\198\tF\018\206\018\210\001\178\018\218\018\234\014\242\tN\006Y\018\254\019\026\000\n\015\"\013\130\001\"\015&\004\169\015>\019>\tr\019V\tz\001\218\t\138\001\222\019^\001b\015B\015F\019b\t\146\019r\013\150\001\230\015J\tV\013\154\011\142\001\242\019z\013\158\013\162\n\134\013\166\019~\000\n\019\134\012\185\015N\019\150\019\170\019\198\019\218\019\234\019\250\020\018\011\161\020\"\t\154\n\226\013\170\020.\020_\015R\015V\013\174\015Z\011\161\000\n\tf\015n\004\137\011\161\011\161\020\135\020\159\015z\013\182\020\191\020\215\004\025\003A\020\247\021\015\021&\003A\027n\016>\021B\021\178\015\154\021\223\t\170\0226\015\158\015\218\000\022\n\138\022K\013\186\022s\015\222\022\127\011\161\022\143\013\190\022\151\022\170\011\161\011\161\022\179\022\187\015\230\022\195\013\194\022\222\012\185\012\185\023\006\023\014\002\"\012\185\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\023\030\001\014\025v\001\022\nZ\001\030\0012\001:\001>\n^\025z\023;\023K\023S\023_\nb\023j\023\143\023\155\023\174\023\183\023\191\001F\027\202\023\234\024\022\001\166\nr\024R\013v\000\n\024s\013z\027\222\024{\024\135\001N\004\137\014\226\024\151\0286\027\226\004\137\004\137\024\159\024\170\004\025\001\178\024\191\024\199\024\206\004\025\004\025\024\219\004\137\004\137\015:\013\130\024\231\024\239\024\250\015>\026\246\004\025\027z\025\003\001\218\025\011\001\222\025\023\001b\0166\015F\0252\025\186\025\226\013\150\001\230\015J\004\137\013\154\011\142\001\242\025\242\013\158\013\162\n\134\013\166\004\025\026&\026.\026R\015N\026v\026z\026\130\026\171\027r\027~\027\142\027\150\027\158\027\199\n\226\013\170\027\206\027\219\015R\015V\013\174\015Z\027\230\000\n\027\246\015n\028+\028:\004\149\028G\028k\015z\013\182\028\135\028\150\028\158\028\167\028\174\028\183\000\000\000\000\000\000\000\000\000\000\000\000\015\154\000\000\000\000\000\000\015\158\015\218\000\000\n\138\000\000\013\186\000\000\015\222\000\000\000\000\000\000\013\190\000\000\000\000\000\000\000\000\000\000\000\000\015\230\000\000\013\194\000\000\008\181\008\181\000\000\000\000\002\"\008\181\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\000\000\013v\000\000\000\000\013z\000\000\000\000\000\000\001N\000\000\014\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015:\013\130\000\000\000\000\000\000\015>\016R\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\0166\015F\000\000\000\000\000\000\013\150\001\230\015J\000\000\013\154\011\142\001\242\000\000\013\158\013\162\n\134\013\166\000\000\000\000\000\000\012\149\015N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\170\000\000\000\000\015R\015V\013\174\015Z\000\000\000\n\000\000\015n\000\000\000\000\000\000\000\000\000\000\015z\013\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\154\000\000\000\000\000\000\015\158\015\218\000\000\n\138\000\000\013\186\000\000\015\222\000\000\000\000\000\000\013\190\000\000\000\000\000\000\000\000\000\000\000\000\015\230\000\000\013\194\000\000\012\149\012\149\000\000\000\000\002\"\012\149\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\000\000\013v\000\000\000\000\013z\000\000\000\000\000\000\001N\000\000\014\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015:\013\130\000\000\000\000\000\000\015>\025\190\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\0166\015F\000\000\000\000\000\000\013\150\001\230\015J\000\000\013\154\011\142\001\242\000\000\013\158\013\162\n\134\013\166\000\000\000\000\000\000\000\000\015N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\170\000\000\000\000\015R\015V\013\174\015Z\000\000\000\n\000\000\015n\000\000\000\000\000\000\000\000\000\000\015z\013\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\154\000\000\000\000\000\000\015\158\015\218\000\000\n\138\000\000\013\186\000\000\015\222\000\000\000\000\000\000\013\190\000\000\000\000\000\000\000\000\000\000\000\000\015\230\000\000\013\194\000\000\012\225\012\225\000\000\000\000\002\"\012\225\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\000\000\013v\000\000\000\000\013z\000\000\000\000\000\000\001N\000\000\014\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015:\013\130\000\000\000\000\000\000\015>\025\190\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\0166\015F\000\000\000\000\000\000\013\150\001\230\015J\000\000\013\154\011\142\001\242\000\000\013\158\013\162\n\134\013\166\000\000\000\000\000\000\000\000\015N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\170\000\000\000\000\015R\015V\013\174\015Z\000\000\000\n\000\000\015n\000\000\000\000\000\000\000\000\000\000\015z\013\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\154\000\000\000\000\000\000\015\158\015\218\000\000\n\138\000\000\013\186\000\000\015\222\000\000\000\000\000\000\013\190\000\000\000\000\000\000\000\000\000\000\000\000\015\230\000\000\013\194\000\000\012\221\012\221\000\000\000\000\002\"\012\221\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\000\000\013v\000\000\000\000\013z\000\000\000\000\000\000\001N\000\000\014\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015:\013\130\000\000\000\000\000\000\015>\017\254\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\0166\015F\000\000\000\000\000\000\013\150\001\230\015J\000\000\013\154\011\142\001\242\000\000\013\158\013\162\n\134\013\166\000\000\000\000\000\000\000\000\015N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\170\000\000\000\000\015R\015V\013\174\015Z\000\000\000\n\000\000\015n\000\000\000\000\000\000\000\000\000\000\015z\013\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\154\000\000\000\000\000\000\015\158\015\218\000\000\n\138\000\000\013\186\000\000\015\222\000\000\000\000\000\000\013\190\000\000\000\000\000\000\000\000\000\000\000\000\015\230\000\000\013\194\000\000\000R\000V\000f\000\170\002\"\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\000\000\000\000\013v\000\000\000\000\013z\000\000\000\000\000\000\001N\000\000\018~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\142\013\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\000\000\000\000\000\000\000\000\000\000\013\150\001\230\000\000\000\000\013\154\001\238\001\242\000\000\013\158\013\162\n\134\013\166\000\000\000\000\000\000\000\000\000\000\000\000\007\214\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\170\000\000\000\000\005\233\005\233\013\174\000\000\005\233\000\n\000\000\005\233\008\026\005\233\000\000\005\233\000\000\005\233\013\182\008Z\005\233\000\000\005\233\005\233\000\000\005\233\005\233\000\000\005\233\n\129\n\129\005\233\005\233\n\129\005\233\005\233\005\233\000\000\n\138\000\000\013\186\005\233\018\146\005\233\005\233\000\000\013\190\000\000\005\233\005\233\005\233\005\233\005\233\018\154\005\233\013\194\005\233\005\233\000Z\005\233\000\000\002\"\005\233\005\233\000\000\005\233\008\186\000\000\n\129\005\233\005\233\000Z\000\000\005\233\t\n\005\233\000\000\000\000\005\233\000Z\005\233\n\018\005\233\005\233\000\000\005\233\000Z\000\000\000\000\000\000\005\233\000\000\000\000\n\129\005\233\005\233\000\000\000\000\005\233\000\000\000\000\000\000\000\000\005\233\005\233\005\233\005\233\005\233\005\233\000\000\005\233\005\233\000\000\005\233\000\000\005\233\005\233\005\233\005\233\005\233\005\233\005\233\000\000\005\233\005\233\005\233\005\233\000\000\005\233\005\233\005\233\005\233\005\233\005\233\005\233\005\233\005\233\005\233\005\233\005\233\005\233\000\000\000\000\000\000\005\233\000\000\000\000\005\233\000\000\000\000\000\000\005\233\005\233\n\129\000\000\005\233\000\000\000\000\000\000\005\233\005\233\005\233\005\233\000\000\005\233\005\233\005\233\005\233\005\233\000\000\000\000\000\000\000\000\005\233\005\233\000\000\000\000\000\000\005\233\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\000\000\000\000\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\206\001\202\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\000\000\000\000\000\000\000\000\000\000\001\226\001\230\000\000\000\000\001\234\001\238\001\242\002F\001\246\001\250\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\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\014\004U\004U\004U\004U\000\000\004U\000\000\004U\004U\002\018\004U\000\000\004U\000\000\004U\000\000\004U\004U\004U\004U\000\000\002\022\000\000\000\000\000\000\000\000\000\000\002\026\000\000\001r\004i\000\000\000\000\004U\000\000\000\000\002\030\000\000\000R\007\190\007\198\000\170\002\"\000\174\000\000\008\n\008N\004U\008V\021*\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\000\000\000\000\021.\000\000\000\000\000\000\000\000\000\000\004U\000\000\000\000\0212\008\146\0216\004U\000\000\000\000\000\000\000\000\000\000\000\000\021:\004U\000\000\000\000\000\000\024\166\000\000\000\000\021F\000\000\000\000\000\000\021J\000\000\000\000\000\000\000\000\000\000\021N\000\000\000\000\000\000\000\000\000\000\000\000\008\170\000\000\000\000\000\000\000\000\022\198\000\000\000\000\000\000\021R\023\194\000\000\nb\000\000\008\182\000\000\000\000\000\000\004U\000\000\000\000\000\000\000\000\001\166\nr\000\000\013v\000\000\000\000\013z\000\000\000\000\000\000\000\000\021V\014\226\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\021^\000\000\000\000\015j\013\130\021b\000\n\021f\015>\021j\021n\004U\021r\001\218\000\000\001\222\000\000\000\000\021v\015F\000\000\021z\000\000\013\150\001\230\015J\000\000\013\154\011\142\001\242\000\000\013\158\013\162\000\000\013\166\000\000\021~\000\000\000\000\015N\021\130\021\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\170\000\000\000\000\015R\015V\013\174\015Z\000\000\000\n\000\000\015n\000\000\000\000\000\000\000\000\nb\015z\013\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\nr\000\000\013v\015\154\000\000\013z\000\000\015\158\015\218\000\000\000\000\014\226\013\186\000\000\015\222\000\000\000\000\000\000\013\190\000\000\001\178\000\000\000\000\000\000\000\000\015\230\000\000\013\194\000\000\013~\013\130\000\000\000\000\002\"\015>\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\015F\000\000\000\000\011\226\013\150\001\230\015J\000\000\013\154\011\142\001\242\000\000\013\158\013\162\000\000\013\166\000\000\000\000\000\000\000\000\015N\000\000\000\000\000\000\000\000\011\234\000\000\000\000\000\000\000\000\000\000\n\226\013\170\000\000\000\000\015R\015V\013\174\015Z\011\242\000\n\000\000\015n\000\000\000\000\0122\012:\000\000\015z\013\182\000\000\000\000\000\000\000\000\000\000\012\018\000\000\000\000\011\250\000\000\012\n\013\233\015\154\000\000\013\233\000\000\015\158\015\218\000\000\000\000\000\000\013\186\000\000\015\222\000\000\000\000\000\000\013\190\000\000\000\000\000\000\012\026\000\000\013\233\015\230\000\000\013\194\013\233\000\000\000\000\002:\013\233\002\"\000\000\000\000\000\000\000\000\013\233\000\000\000\000\013\233\013\233\000\000\013\233\013\233\000\000\000\000\002B\000\000\013\233\005&\000\000\000\000\013\233\000\000\000\000\013\233\000\000\013\233\013\233\012\"\000\000\000\000\000\000\000\000\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\233\005]\013\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\233\000\000\000\000\012B\012*\000\000\000\000\0052\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\233\013\233\000\000\013\233\013\233\0056\000\000\013\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005>\000\000\000\000\000\000\000\000\013\233\000\000\000\000\013\233\013\233\013\233\013\233\000\000\000\000\000\000\000\000\013\233\013\233\013\233\000\000\013\233\013\233\013\233\001=\001=\001=\001=\000\000\001=\000\000\001=\001=\000\000\001=\000\000\001=\000\000\001=\000\000\001=\001=\001=\001=\000\000\000\000\004\245\000\000\021\026\004\245\000\000\000\000\000\000\000\000\000\000\000\000\001=\001=\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001=\000\000\004\245\000\000\000\000\001=\004\245\000\000\001=\004\245\004\245\000\000\001=\000\000\000\000\021\030\004\245\000\000\001=\004\245\004\245\000\000\004\245\004\245\000\000\001=\004\245\000\000\004\245\004\245\001=\000\000\004\245\000\000\000\000\004\245\000\000\004\245\004\245\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\245\001=\004\245\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\245\000\000\000\000\000\000\001=\000\000\000\000\004\245\000\000\001=\000\n\001=\000\000\000\000\001=\000\000\021\"\000\000\000\000\000\000\000\000\000\000\001=\000\000\000\000\001=\004\245\004\245\000\000\004\245\005\017\004\245\000\000\004\245\000\000\000\000\000\000\000\000\000\000\000\000\001=\004\245\000\000\004\249\001=\001=\004\249\000\000\000\000\004\245\000\000\004\245\000\000\000\000\000\000\021\226\000\000\004\245\004\245\004\245\000\000\004\245\004\245\004\245\000\000\004\249\000\000\000\000\000\000\004\249\000\000\000\000\004\249\004\249\000\000\000\000\000\000\000\000\000\000\004\249\000\000\000\000\004\249\004\249\000\000\004\249\004\249\000\000\000\000\004\249\014=\004\249\004\249\014=\000\000\004\249\000\000\000\000\004\249\000\000\004\249\004\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014=\000\000\000\000\000\000\014=\000\000\000\000\013\214\014=\004\249\000\000\004\249\000\000\000\000\014=\000\000\000\000\014=\014=\000\000\014=\014=\004\249\000\000\013\222\000\000\014=\013\234\000\000\004\249\014=\000\000\000\000\014=\000\000\014=\014=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\249\004\249\000\000\004\249\005\021\004\249\000\000\004\249\014=\000\000\014=\000\000\000\000\000\000\000\000\004\249\000\000\000\000\000\000\000\000\004\249\014=\000\000\004\249\000\000\004\249\000\000\000\000\013\246\000\000\000\000\004\249\004\249\004\249\000\000\004\249\004\249\004\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014=\014=\000\000\014=\000\000\013\250\000\000\014=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014=\000\000\014=\000\000\000\000\000\000\000\000\000\000\014=\014=\014=\000\000\014=\014=\014=\n}\n}\n}\n}\000\000\n}\000\000\n}\n}\000\000\n}\000\000\n}\000\000\n}\000\000\n}\n}\n}\n}\000\000\000\000\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\n}\n}\n}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n}\000\000\001\137\000\000\000\000\n}\001\137\000\000\021\242\000\000\001\137\000\000\021\250\000\000\000\000\000\000\001\137\000\000\n}\001\137\001\137\000\000\001\137\001\137\000\000\n}\000\000\000\000\001\137\000\000\n}\000\000\001\137\000\000\000\000\001\137\000\000\001\137\001\137\n}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\n}\001\137\000\000\n}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\000\000\n}\000\000\000\000\000\000\000\000\n}\000\000\n}\000\000\000\000\n}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n}\000\000\000\000\n}\001\137\002V\000\000\001\137\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\n}\000\000\000\000\000\000\022N\n}\001\137\000\000\000\000\001\137\001\137\001\137\001\137\000\000\000\000\000\000\000\000\002\254\001\137\001\137\000\000\001\137\001\137\001\137\nm\nm\nm\nm\000\000\nm\000\000\nm\nm\000\000\nm\000\000\nm\000\000\nm\000\000\nm\nm\nm\nm\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nm\nm\nm\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nm\000\000\000\000\000\000\000\000\nm\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nm\nq\nq\nq\nq\000\000\nq\nm\nq\nq\000\000\nq\nm\nq\000\000\nq\000\000\nq\nq\nq\nq\nm\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nq\nq\nq\000\000\000\000\000\000\000\000\000\000\nm\000\000\nq\nm\000\000\000\000\000\000\nq\000\000\000\000\022R\000\000\000\000\000\000\000\000\000\000\nm\000\000\000\000\000\000\nq\nm\000\000\nm\000\000\000\000\nm\nq\000\000\000\000\000\000\000\000\nq\000\000\nm\000\000\000\000\nm\000\000\000\000\000\000\nq\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nm\000\000\000\000\000\000\021\246\nm\000\000\000\000\000\000\nq\011\150\000\000\nq\000\000\000\000\000\000\000\000\000\000\004M\000\000\000\000\004M\000\000\000\000\004M\nq\000\000\000\000\000\000\000\000\nq\000\000\nq\000\000\000\000\nq\000\000\000\000\000\000\004M\000\000\000\000\000\000\nq\000\000\000\000\nq\000\000\004M\004M\000\000\000\000\004M\004M\004M\000\000\000\000\000\000\004M\000\000\004M\nq\000\000\000\000\000\000\000\000\nq\000\000\004M\004M\000\000\000\000\004M\004M\004M\000\000\004M\004M\000\000\004M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004M\004M\000\000\000\000\000\000\000\000\004M\000\000\000\000\004M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004M\000\000\004M\000\000\004M\000R\007\190\007\198\000\170\000\000\000\174\000\000\008\n\008N\004M\008V\000\000\008f\000\000\008n\004M\008v\008\130\001:\008\138\000\000\004M\002v\000\000\004M\002\198\000\000\000\000\000\000\000\000\004M\000\000\022Z\008\146\022v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\130\000\000\002~\000\000\000\000\008\154\002\017\000\000\000\000\000\000\002\017\000\000\000\000\000\000\000\000\000\000\002\134\000\000\022\154\002\017\002\017\000\000\002\230\002\238\000\000\008\170\000\000\000\000\002\017\000\000\022\198\000\000\002\166\000\000\000\181\002\142\000\000\002\158\002\017\008\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\234\000\000\002\174\022\230\002\017\000\000\023>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\242\002\017\000\000\000\000\000\000\023V\000\181\000\181\000\000\000\000\023b\000\000\008\133\000\000\000\000\023\146\012\018\000\000\000\000\011\250\000\000\012\n\000\000\023\158\000\000\000\000\024~\002\182\000\000\000\000\002\017\002\017\000\000\000\000\002\150\000}\000\000\000\000\000}\000\000\000\000\024\138\012\026\000\000\000\000\000\000\024\162\002\017\000\000\000\000\002\017\002\017\002\017\002\017\000\000\000\000\000\000\002~\000\000\002\017\002\017\000}\002\246\002\190\002\017\000}\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000\000\012\"\000e\000}\000\000\000e\000\000\002\166\012\002\000\000\002\142\000\000\002\158\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\002\174\000\000\000}\000\181\012*\002\134\000\000\000\000\000e\000e\000\000\000e\000e\000}\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\002\142\000\000\002\158\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000}\000}\000\000\000\000\002\150\000e\000\000\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000}\000e\000\000\000}\000}\000}\000}\000\000\000\000\000\000\000\000\000\000\000}\000}\000\000\000}\002\190\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000\000\000\000\002\150\000]\000\000\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000e\000e\000\000\000\000\000\000\000]\000\000\000e\000e\000]\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\000a\000]\000\000\000a\000\000\000]\000\000\000\000\002\142\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\000\000\000a\000\000\000\000\000\000\000a\000]\000\000\000]\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000a\000a\000]\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\002\142\000\000\000a\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000\000\002\150\000a\000\000\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000a\000\000\000]\000]\000]\000]\000\000\000\000\000\000\000\000\000\000\000]\000]\000\000\000]\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000\000\002\150\000q\000\000\000\000\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000a\000a\000\000\000\000\000\000\002~\000\000\000a\000a\000q\000a\000a\000a\000q\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000q\000q\000\000\000q\000q\000\000\000\000\000\000\000i\000q\000\000\000i\000\000\000q\000\000\000\000\002\142\000\000\002\158\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\002\174\000\000\000q\000\000\000\000\002\134\000\000\000\000\000i\000i\000\000\000i\000i\000q\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\002\142\000\000\002\158\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000\000\000\000\002\150\000i\000\000\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000i\000\000\000q\000q\000q\000q\000\000\000\000\000\000\000\000\000\000\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\000i\000\000\000\000\000i\000i\000\000\000\000\002\150\000m\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000i\000i\000\000\000\000\000\000\002~\000\000\000i\000i\000m\000i\000i\000i\000m\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000m\000m\000\000\000m\000m\000\000\000\000\000\000\000u\000m\000\000\000u\000\000\000m\000\000\000\000\002\142\000\000\002\158\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\002\174\000\000\000m\000\000\000\000\002\134\000\000\000\000\000u\000u\000\000\000u\000u\000m\000\000\000\000\000\000\000u\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000m\000\000\000\000\002\150\002\174\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000u\000\000\000m\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000m\000m\000\000\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000u\000u\000\000\000\000\002\150\002v\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000\000\000\000\000u\000u\000u\000u\000\000\000\000\000\000\002~\000\000\000u\000u\000\133\000u\000u\000u\000\133\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\133\000\133\000\000\000\133\002\238\000\000\000\000\000\000\002v\000\133\000\000\000y\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000y\000\000\000\000\000\000\000y\002\174\000\000\000\133\000\000\000\000\002\134\000\000\000\000\000y\000y\000\000\000y\000y\000\133\000\000\000\000\000\000\000y\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000\133\000\133\000\000\000\000\002\150\002\174\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\133\000y\000\000\000\133\000\133\000\133\000\133\000\000\000\000\000\000\000\000\000\000\000\133\000\133\000\000\002\246\002\190\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000y\000y\000\000\000\000\002\150\002v\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000y\000y\000y\000y\000\000\000\000\000\000\002~\000\000\000y\000y\000\129\000y\002\190\000y\000\129\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\129\000\129\000\000\000\129\002\238\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\002\166\001\166\000\000\002\142\n\166\002\158\000\129\n\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\002\174\000\000\000\129\000\000\000\000\n\174\011\006\000\000\000\000\011n\011\134\011\138\000\000\000\129\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\142\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\002\182\000\000\000\000\000\129\000\129\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\129\000\000\000\n\000\129\000\129\000\129\000\129\000\000\000\000\000\000\000\000\n\242\000\129\000\129\000\000\000\129\002\190\000\129\000\000\006\025\000\000\011\146\001\166\011\174\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\000\000\n\246\000\000\000\000\000\000\000\000\000\000\n\250\000\000\000\000\000\000\001\178\000\000\012\162\000\000\000\000\n\254\000\000\000\000\000\000\n\174\011\006\002\"\000\000\011n\011\134\011\138\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\142\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\001\166\000\n\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\025\000\000\011\146\001\178\011\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\011\006\n\246\000\000\011n\011\134\011\138\000\000\n\250\000\000\001\218\000\000\001\222\000\000\012\146\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\011\142\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\001\166\000\n\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\025\000\000\011\146\001\178\011\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\011\006\n\246\000\000\011n\011\134\012^\000\000\n\250\000\000\001\218\000\000\001\222\000\000\005u\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\011\142\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\001\166\000\n\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\025\000\000\011\146\001\178\011\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\011\006\n\246\000\000\011n\011\134\012n\000\000\n\250\000\000\001\218\000\000\001\222\000\000\001\189\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\011\142\001\242\000\000\n\214\n\218\0031\n\222\000j\0031\000r\000\000\000\130\0031\000\000\0031\000\000\000\000\000\000\000\138\0031\0031\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\146\0031\006\025\000\000\000\000\0031\011\174\000\000\000\000\000\000\000\000\003-\000\000\000\182\003-\000\190\n\246\000\206\003-\000\000\003-\0031\n\250\000\000\000\214\003-\003-\000\000\001\205\000\000\000\000\n\254\000\000\0031\000\162\000\000\000\000\002\"\000\000\000\000\000\000\0031\000\000\000\000\000\000\0031\0031\000\000\000\000\000\000\000\000\000\000\000\222\003-\000\000\0031\000\000\003-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0031\000\000\000\000\000\000\000\000\000\000\000\000\003-\000\000\000\000\0031\000\000\000\000\000\000\000\000\0031\000\000\000\000\000\000\003-\000\238\000\000\000\000\000\000\000\000\000\000\000\000\003-\000\000\000\000\000\000\003-\003-\000\000\001\137\000\000\000\000\001\137\000\000\000\000\000\000\003-\000\000\000\000\000\000\000\000\0031\000\000\000\000\0031\0031\000\000\003-\0031\000\000\000\000\001\137\000\000\0031\0031\001\137\000\000\003-\0031\001\137\000\000\000\000\003-\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\001\137\001\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\001\161\000\000\001\137\001\161\001\137\001\137\000\000\000\000\000\000\000\000\000\000\003-\000\000\000\000\003-\003-\000\000\000\000\003-\000\000\000\000\000\000\001\161\003-\003-\001\137\001\161\001\137\003-\000\000\001\161\000\000\000\000\000\000\000\000\000\000\001\161\000\000\001\137\001\161\001\161\000\000\001\161\001\161\000\000\000\000\000\000\000\000\001\161\000\000\000\000\000\000\001\161\000\000\000\000\001\161\000\000\001\161\001\161\000\000\000\000\000\000\000\000\000\000\001\137\002N\000\000\001\137\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000\000\001\161\000\000\000\000\000\000\001\137\000\000\000\000\001\137\001\137\000\000\001\137\001\161\000\000\000\000\000\000\003\n\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\000\000\000\000\000\000\000\000\000\000\000\000\001\161\014&\000\000\001\161\000\000\000\000\000\000\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\000\000\000\000\001\161\000\000\001\161\000\000\000\000\000\000\000\000\000\000\014.\001\161\001\161\000\000\001\161\001\161\001\161\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\001\166\000\000\000\000\001\170\000\000\000\000\001\174\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\014\230\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\000\000\001N\000\000\000\000\000\000\001\198\001\202\000\000\001\210\000\000\n\162\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\001^\000\000\000\000\000\000\001\226\001\230\001j\011\158\001\234\001\238\001\242\000\000\001\246\001\250\001b\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\000\000\000\n\134\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\021*\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\014\000\000\021.\000\000\000\000\000\000\000\000\000\n\000\000\023f\002\018\0212\000\000\0216\n\213\n\213\000\000\000\000\000\000\000\000\000\000\021:\002\022\000\000\000\000\000\000\021>\000\000\002\026\021F\000\000\008\149\000\000\021J\000\000\006\017\n\138\002\030\000\000\021N\000\000\000\000\000\000\002\"\000\000\006\017\000\000\000\000\000\000\000\000\006\017\023\022\000\000\n\213\000\000\021R\000\000\000\000\000\000\000\000\000\000\021*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021.\000\000\000\000\000\000\000\000\n\213\000\000\021V\000\000\0212\021Z\0216\000\000\000\000\000\000\000\000\n\169\000\000\000\000\021:\000\000\000\000\000\000\021^\021>\000\000\000\000\021F\021b\000\n\021f\021J\021j\021n\000\000\021r\000\000\021N\000\000\000\000\000\000\021v\000\000\000\000\021z\000\000\000\000\000\000\023\166\000\000\000\000\n\169\000\000\021R\000\000\000\000\000\000\000\000\000\000\021~\000\000\000\000\000\000\021\130\021\134\n\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\169\000\000\021V\000\000\000\000\021Z\000\000\000\000\000\000\000\000\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\021^\000\000\000\000\000\000\000\000\021b\000\n\021f\008\149\021j\021n\000\000\021r\000\000\001\178\000\000\000\000\001\182\021v\000\000\000\000\021z\000\000\001\198\001\202\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\021~\000\000\000\000\000\000\021\130\021\134\n\169\001\226\001\230\000\000\000\000\001\234\001\238\001\242\000\000\001\246\001\250\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\000\t:\005\233\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\t~\005\233\t\190\005\233\000\000\000\000\000\000\000\000\002\014\000\000\005\233\000\000\005\233\005\233\000\000\005\233\000\000\000\000\002\018\008\149\005\233\000\000\005\233\000\000\005\233\005\233\005\233\000\000\005\233\000\000\002\022\000\000\005\233\000\000\005\233\000\000\002\026\005\233\005\233\005\233\005\233\008\149\005\233\000\000\005\233\002\030\005\233\000\000\000\000\005\233\005\233\002\"\005\233\000\000\005\233\000Z\000\000\000\000\000\000\005\233\000\000\005\233\n>\005\233\000\000\000\000\005\233\000Z\005\233\000Z\000\000\005\233\000\000\005\233\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\005\233\005\233\005\233\005\233\000\000\000\000\000\000\005\233\005\233\005\233\000\000\005\233\005\233\000\000\005\233\000\000\005\233\000\000\000\000\005\233\005\233\005\233\005\233\005\233\005\233\005\233\005\233\000\000\005\233\000\000\000\000\000\000\005\233\000\000\005\233\005\233\014Z\005\233\005\233\014\170\000\000\000\000\005\233\005\233\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\005\233\000\000\005\233\005\233\005\233\005\233\014b\000\000\001%\000\000\002!\001%\000\000\000\000\002!\000\000\000\000\000\000\000\000\000\000\014j\000\000\000\000\002!\002!\000\000\014\186\014\194\000\000\000\000\014b\000\000\002!\000\000\001%\000\000\014\138\000\000\001%\014r\000\000\014\130\002!\000\000\014j\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\014\138\000\000\014\146\014r\002!\014\130\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\014\146\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\014\154\000\000\000\000\002!\000\000\000\000\000\000\014z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002!\014\154\002!\000\000\001%\000\000\000\000\000\000\014z\002!\002!\000\000\014\202\014\162\002!\000\000\000\000\001\013\000\000\000\000\001\013\000\000\000\000\000\000\001%\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\001%\001%\000\000\001%\014\162\001%\001\013\000\000\001\005\000\000\001\013\001\005\000\000\000\000\001\013\000\000\000\000\000\000\000\000\000\000\014j\000\000\000\000\001\013\001\013\000\000\001\013\001\013\000\000\000\000\001\005\000\000\001\013\000\000\001\005\000\000\001\013\000\000\001\005\014r\000\000\014\130\001\013\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\001\013\014r\001\013\001\005\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\001\013\000\000\000\000\001\013\000\000\000\000\000\000\014z\000\000\000\000\000\000\000\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\005\001\013\000\000\001\005\000\000\000\000\000\000\014z\001\013\001\013\000\000\001\013\001\013\001\013\000\000\000\000\001\t\000\000\000\000\001\t\000\000\000\000\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\001\005\001\005\000\000\001\005\001\005\001\005\001\t\000\000\001\025\000\000\001\t\001\025\000\000\000\000\001\t\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\001\t\001\t\000\000\001\t\001\t\000\000\000\000\014b\000\000\001\t\000\000\001\025\000\000\001\t\000\000\001\025\014r\000\000\001\t\001\t\000\000\014j\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\001\t\014r\001\t\014\130\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\146\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\001\t\000\000\000\000\001\t\000\000\000\000\000\000\014z\000\000\000\000\000\000\000\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\025\001\t\000\000\001\025\000\000\000\000\000\000\014z\001\t\001\t\000\000\001\t\001\t\001\t\000\000\000\000\001\017\000\000\000\000\001\017\000\000\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\025\014b\000\000\001\021\000\000\001\017\001\021\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\014j\000\000\000\000\001\017\001\017\000\000\001\017\001\017\000\000\000\000\014b\000\000\001\017\000\000\001\021\000\000\001\017\000\000\001\021\014r\000\000\014\130\001\017\000\000\014j\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\001\017\014r\001\017\014\130\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\146\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\001\017\000\000\000\000\001\017\000\000\000\000\000\000\014z\000\000\000\000\000\000\000\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\021\001\017\000\000\001\021\000\000\000\000\000\000\014z\001\017\001\017\000\000\001\017\001\017\001\017\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\000\000\001\021\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\001\021\001\021\000\000\001\021\001\021\001\021\014b\000\000\014Z\000\000\001\029\001-\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\014j\000\000\000\000\001\029\001\029\000\000\001\029\001\029\000\000\000\000\014b\000\000\001\029\000\000\001-\000\000\014\138\000\000\001-\014r\000\000\014\130\001\029\000\000\014j\000\000\000\000\001-\001-\000\000\001-\014\194\000\000\000\000\000\000\000\000\001-\000\000\000\000\000\000\014\138\000\000\014\146\014r\001\029\014\130\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\146\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001-\000\000\014\154\000\000\000\000\001\029\000\000\000\000\000\000\014z\000\000\000\000\000\000\000\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\014\154\001\029\000\000\001-\000\000\000\000\000\000\014z\001\029\001\029\000\000\001\029\001\029\001\029\000\000\000\000\014Z\000\000\000\000\001!\000\000\000\000\000\000\001-\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\001-\001-\000\000\014\202\014\162\001-\014b\000\000\014Z\000\000\001!\001)\000\000\000\000\001!\000\000\000\000\000\000\000\000\000\000\014j\000\000\000\000\001!\001!\000\000\001!\001!\000\000\000\000\014b\000\000\001!\000\000\001)\000\000\014\138\000\000\001)\014r\000\000\014\130\001!\000\000\014j\000\000\000\000\001)\001)\000\000\001)\014\194\000\000\000\000\000\000\000\000\001)\000\000\000\000\000\000\014\138\000\000\014\146\014r\001!\014\130\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\146\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\014\154\000\000\000\000\001!\000\000\000\000\000\000\014z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\014\154\001!\000\000\001)\000\000\000\000\000\000\014z\001!\001!\000\000\001!\014\162\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\001\166\001)\000\000\001\170\000\000\000\000\001\174\000\000\001)\001)\000\157\001)\014\162\001)\000\000\018\130\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\198\001\202\000\157\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\011\242\000\000\000\000\000\000\001\226\001\230\000\157\000\157\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\000\157\000\000\000\000\011\250\000\000\012\n\000\000\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\000\000\000\157\000\000\000\000\001\178\000\000\000\000\001\182\002\014\000\000\000\000\000\000\000\000\001\198\0076\000\000\001\210\000\000\002\018\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\002\022\000\000\000\000\001\226\001\230\000\000\002\026\001\234\001\238\001\242\000\157\001\246\001\250\000\000\001\254\002\030\000\000\012\002\000\000\000\000\000\000\002\"\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\000\157\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\157\000\157\001\182\002\014\000\000\000\000\000\000\000\000\001\198\002\n\000\000\001\210\000\000\002\018\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\002\022\000\000\000\000\001\226\001\230\000\000\002\026\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\002\030\000\000\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\030\002\002\000\000\000\000\000\000\000\000\002\006\000\000\004E\000\n\nR\004E\000\000\nV\004E\000\000\000\000\025\138\002\014\nZ\000\000\000\000\000\000\000\000\n^\025\142\000\000\000\000\002\018\004E\000\000\000\000\004E\000\000\000\000\000\000\000\000\000\000\004E\004E\002\022\004E\000\000\000\000\000\000\000\000\002\026\000\000\004E\000\000\004E\000\000\000\000\000\000\000\000\002\030\016\162\000\000\004E\004E\000\000\002\"\004E\004E\004E\000\000\004E\004E\000\000\004E\000\000\004\245\016\166\000\000\004\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\000\000\004E\001\230\004\245\004E\000\000\012\250\001\242\000\000\000\000\004\245\004\245\000\000\004E\000\000\000\000\000\000\004\245\000\000\000\000\000\000\000\000\000\000\004\245\004\245\000\000\000\000\004\245\000\000\000\000\004\245\000\000\021*\004\245\000\000\004E\004\245\000\n\004\245\004\245\000\000\004E\004\169\000\000\021.\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\0212\000\000\0216\004E\000\000\000\000\004\245\000\000\000\000\000\000\021:\000\000\000\000\000\000\000\000\021>\000\000\000\000\021F\000\000\000\000\000\000\021J\000\000\000\000\000\000\004\245\000\000\021N\000\000\000\000\000\000\007\145\007\145\000\000\000\000\000\000\007\145\000\000\022\162\000\000\000\000\000\000\000\000\021R\004\245\004\245\000\000\000\000\005\017\004\245\000\000\004\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\245\000\000\000\000\000\000\000\000\004\245\000\000\n\169\004\245\021V\000\000\000\000\021Z\000\000\000\000\000\000\004\245\000\000\000\000\000\000\004\245\004\245\000\000\000\000\000\000\021^\000\000\000\000\000\000\000\000\021b\000\n\021f\000\000\021j\021n\000\000\021r\005\233\000\000\000\000\005\233\000v\021v\005\233\005\233\021z\005\233\000\194\000\000\000\000\005\233\005\233\005\233\000\000\000\000\000\000\000\000\005\233\005\233\000\000\021~\000\000\000\000\000\000\021\130\021\134\n\169\005\233\000\000\000\000\005\233\001\002\000\000\000\000\005\233\000\000\005\233\005\233\000\000\005\233\005\233\005\233\005\233\005\233\005\233\005\233\005\233\000\000\000\000\005\233\000\000\005\233\005\233\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\001f\000\000\005\233\000\000\000\000\000Z\005\233\000\000\005\233\000\000\005\233\000Z\000\000\000\000\005\233\000\000\005\233\000\000\000\000\000\000\005\233\005\233\005\233\000\000\000\000\000\000\005\233\005\233\000\000\000\000\005\233\000\000\000\000\000\000\000\000\000Z\005\233\000\000\005\233\000\000\004\030\005\233\000\000\000\000\000\000\000Z\005\233\005\233\005\233\000\000\005\233\005\233\000\000\000\000\000\000\000\000\005\233\005\233\000\000\000\000\005\233\005\233\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\000\000\005\233\005\233\000\000\000\000\005\233\005\233\000\000\005\233\005\233\001\166\005\233\005\233\001\186\005\233\005\233\001\190\000\000\000\000\005\233\005\233\005\233\000\000\000\000\000\000\005\233\000\000\000\000\000\000\000\000\000\000\001\178\005\233\000\000\001\182\005\233\005\233\000\000\000\000\005\233\001\194\001\214\005\233\001\210\005\233\005\233\005\233\000\000\000\000\005\233\001\218\000\000\001\222\000\000\005\233\005\233\000\000\000\000\000\000\005\233\005j\001\230\000\000\000\000\005n\001\238\001\242\000\000\005r\005v\000\000\005z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\000\000\000\000\001\186\000\000\000\000\001\190\000\000\005~\000\000\000\000\000\000\000\000\005\130\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\005\138\000\000\000\000\000\000\000\000\001\194\007\030\000\000\001\210\005\233\000\000\000\000\005\233\003F\000\000\001\218\005\233\001\222\005\233\000\000\000\000\000\000\005\142\005\233\005\233\005j\001\230\000\000\005\146\005n\001\238\001\242\000\000\005r\005v\005\233\005z\005\150\005\233\003\138\000\000\005\233\005\233\002\"\005\233\003\202\000\000\000\000\005\233\005\233\005\233\005\233\000\000\005~\000\000\005\233\005\233\000\000\005\130\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\138\005\233\000\000\000\000\000\000\004\242\000\000\005\233\000\000\000\000\000Z\005\233\000\000\005\233\000\000\000\000\000\000\005\233\000\000\000\000\000\000\005\233\005\142\000\000\000\000\005\233\005\233\005\233\005\146\000\000\000\000\007f\000\000\005\233\000\000\005\233\000Z\005\150\000\000\005\233\000\000\000\000\000Z\002\"\000\000\005\233\005\233\005\233\000\000\000\000\000\000\005\233\005\233\005\233\000\000\000\000\005\233\005\233\005\233\000\000\000\000\005\233\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\005\233\000\000\000\000\000\000\000\000\005\233\005\233\000\000\000\000\000\000\005\233\005\233\000\000\005\233\005\233\000\000\000\000\005\233\000\000\000\000\000\000\000\000\005\233\005\233\000\000\000\000\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\005\233\001\166\005\233\005\233\001\186\005\233\005\233\001\190\005\233\005\233\000\000\000\000\000\000\005\233\005\233\005\233\000\000\000\000\000\000\005\233\000\000\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\194\005\134\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005j\001\230\000\000\000\000\005n\001\238\001\242\000\000\005r\005v\000\000\005z\000\000\000\000\000\000\000\000\000\000\006R\000\000\000\000\006\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005~\000\000\000\000\000\000\000\000\005\130\000\000\000\000\000\n\000\000\000\000\006Z\000\000\000\000\000\000\000\000\000\000\005\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\000\000\000\000\000\002\025\000\000\006\178\006\186\000\000\000\000\000\000\000\000\000\000\000\000\005\142\000\000\006\130\000\000\000\000\006j\005\146\006z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\150\000\000\000R\000V\000f\000\170\002\"\000\174\nR\000\178\000\246\nV\000\254\006\138\001\014\025v\001\022\nZ\001\030\0012\001:\001>\n^\025z\014!\000\000\000\000\014!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014!\000\000\000\000\001N\000\000\000\000\006\146\005\170\000\000\002\025\000\000\000\000\000\237\006r\014!\000\237\000\000\000\000\014!\000\000\014!\014!\000\000\001^\005\178\000\000\000\000\005\190\000\000\001j\014!\002\025\000\000\014!\006Z\014!\000\000\001b\000\000\000\000\000\000\006\194\006\154\000\000\000\000\000\000\000\000\000\000\006b\000\000\000\000\000\000\000\237\000\000\000\237\000\237\014!\001\166\000\000\000\000\n\166\000\000\000\000\n\170\006\130\000\000\000\000\006j\000\000\006z\000\000\000\000\000\000\000\000\000\000\000\000\005\202\000\000\001\178\000\n\000\000\000\000\000\000\000\000\004\149\000\000\000\000\n\174\n\186\000\000\006\138\000\000\000\000\000\000\000\000\014!\014!\001\218\014!\001\222\005\206\000\000\014!\000\000\000\000\000\000\000\000\n\206\001\230\000\000\005\214\n\210\001\238\001\242\000\000\n\214\n\218\000\000\n\222\000\000\014!\000\000\0021\000\000\000\149\000\000\014!\000\000\000\000\006\146\014!\014!\000\237\000\000\n\226\n\230\006r\000\000\000\000\000\000\n\234\000\000\001\166\000\n\000\000\n\166\000\149\000\000\n\170\000\000\000\000\000\000\n\242\000\000\000\237\000\000\000\000\000\000\000\000\000\000\000\149\000\000\000\000\001\178\000\237\006\154\000\149\000\149\000\000\000\000\000\000\000\000\n\174\n\238\n\246\000\000\000\149\000\000\000\000\011\250\n\250\000\149\001\218\000\000\001\222\000\000\000\000\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\001\238\001\242\000\000\n\214\n\218\000\149\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\000\000\000\000\n\166\000\000\000\000\n\170\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\149\n\174\011\006\000\000\000\000\000\000\000\000\012\002\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\n\246\000\000\000\149\n\206\001\230\000\000\n\250\n\210\001\238\001\242\000\000\n\214\n\218\000\000\n\222\n\254\000\000\000\149\000\149\000\000\000\000\002\"\000\000\001\166\000\000\000\000\013v\000\000\000\000\013z\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\013~\014\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\n\246\000\000\000\000\013\150\001\230\000\000\n\250\013\154\001\238\001\242\000\000\013\158\013\162\000\000\013\166\n\254\000\000\000\000\000\000\000\000\000\000\002\"\000\000\001\166\000\000\000\000\013v\000\000\000\000\013z\n\226\013\170\000\000\000\000\000\000\000\000\013\174\000\000\000\000\000\n\000\000\000\000\000\000\nR\001\178\000\000\nV\000\000\013\182\000\000\025\138\000\000\nZ\013~\013\130\000\000\000\000\n^\025\142\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\013\186\000\000\000\000\013\150\001\230\000\000\013\190\013\154\001\238\001\242\000\000\013\158\013\162\000\000\013\166\013\194\000\000\000\000\000\000\016\162\000\000\002\"\000\000\001\166\000\000\000\000\013v\000\000\000\000\013z\n\226\013\170\000\000\000\000\000\000\016\166\013\174\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\013\182\000\000\000\000\000\000\000\000\013~\013\178\001\230\000\000\000\000\000\000\012\250\001\242\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\013\186\000\000\000\000\013\150\001\230\000\000\013\190\013\154\001\238\001\242\000\000\013\158\013\162\000\000\013\166\013\194\000\000\000\000\000\000\000\000\000\n\002\"\008\141\000\000\000\000\004\169\000\000\000\000\000\000\000\000\n\226\013\170\000\000\000\000\008\141\000\000\013\174\000\000\000\000\000\n\000\000\000\000\000\000\008\141\000\000\008\141\000\000\000\000\013\182\000\000\000\000\000\000\000\000\008\141\000\000\000\000\000\000\000\000\008\141\000\000\000\000\008\141\000\000\000\000\000\000\008\141\021\254\000\000\t\001\t\001\013\186\008\141\000\000\t\001\000\000\000\000\013\190\023\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\194\000\000\008\141\000\000\021.\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\0212\000\000\0216\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021:\000\000\000\000\000\000\008\141\021>\000\000\008\141\021F\000\000\000\000\000\000\021J\000\000\000\000\000\000\000\000\000\000\021N\000\000\008\141\000\000\000\000\000\000\000\000\008\141\008\141\008\141\000\000\008\141\008\141\000\000\008\141\000\000\021R\023\194\000\000\000\000\008\141\000\000\000\000\008\141\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\249\008\141\000\000\000\000\021V\008\141\008\141\021Z\000\000\000\000\000\000\000\000\007\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021^\007\249\000\000\007\249\000\000\021b\000\n\021f\000\000\021j\021n\007\249\021r\000\000\000\000\000\000\007\249\000\000\021v\007\249\000\000\021z\000\000\007\249\000\000\000\000\000\000\000\000\000\000\007\249\000\000\000\000\000\000\000\000\000\000\000\000\021~\000\000\000\000\000\000\021\130\021\134\000\000\000\000\000\000\007\249\023\194\000\000\000\000\000\000\000\000\021*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021.\000\000\000\000\000\000\000\000\000\000\000\000\007\249\000\000\0212\007\249\0216\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021:\000\000\000\000\000\000\007\249\021>\000\000\022\134\021F\007\249\007\249\007\249\021J\007\249\007\249\000\000\007\249\000\000\021N\021.\000\000\000\000\007\249\000\000\000\000\007\249\000\000\000\000\0212\024\246\0216\000\000\000\000\000\000\021R\000\000\000\000\000\000\021:\000\000\007\249\000\000\000\000\021>\007\249\007\249\021F\000\000\000\000\000\000\021J\000\000\000\000\000\000\000\000\000\000\021N\000\000\000\000\021V\000\000\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021R\000\000\000\000\021^\000\000\000\000\022\158\000\000\021b\000\n\021f\000\000\021j\021n\000\000\021r\000\000\000\000\021.\000\000\000\000\021v\000\000\000\000\021z\021V\000\000\0212\021Z\0216\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021:\000\000\021~\000\000\021^\021>\021\130\021\134\021F\021b\000\n\021f\021J\021j\021n\000\000\021r\000\000\021N\000\000\000\000\000\000\021v\000\000\000\000\021z\000\000\021*\000\000\000\000\000\000\000\000\000\000\000\000\021R\000\000\000\000\000\000\000\000\021.\021~\000\000\000\000\000\000\021\130\021\134\000\000\000\153\0212\000\000\0216\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021:\021V\000\000\000\000\021Z\021>\000\000\000\000\021F\000\000\000\000\000\153\021J\000\000\000\000\000\000\000\000\021^\021N\000\000\000\000\000\000\021b\000\n\021f\000\153\021j\021n\000\000\021r\000\000\000\153\000\153\000\000\023B\021v\000\000\000\000\021z\000\000\021*\000\153\000\000\000\000\011\250\000\000\000\153\000\000\000\000\000\000\000\000\000\000\021.\021~\000\000\000\000\000\000\021\130\021\134\021V\000\000\0212\021Z\0216\000\000\000\000\000\000\000\153\000\000\000\000\000\000\021:\000\000\000\000\000\000\021^\021>\000\000\021*\021F\021b\000\n\021f\021J\021j\021n\000\000\021r\000\000\021N\021.\000\000\000\000\021v\000\000\000\000\021z\000\000\000\000\0212\000\000\0216\000\000\000\000\000\000\024\142\000\153\000\000\000\000\021:\000\000\021~\000\000\012\002\000\000\021\130\021\134\021F\000\000\000\000\000\000\021J\000\000\000\000\000\000\000\000\000\153\021N\000\000\000\000\021V\000\000\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\153\021R\000\000\000\000\021^\000\000\000\000\000\000\000\000\021b\000\n\021f\000\000\021j\021n\000\000\021r\000\000\000\000\000\000\000\000\000\000\021v\000\000\000\000\021z\021V\000\000\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021~\000\000\021^\000\000\021\130\021\134\000\000\021b\024\174\021f\000\000\021j\021n\000\000\021r\000\000\000\000\000\000\000\000\000\000\021v\000\000\000\000\021z\000\000\000\000\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~\000\000\000\000\000\000\021\130\021\134\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\001F\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\001^\000\254\001N\001\014\000\000\001\022\001j\001\030\0012\001:\001>\000\000\000\000\000\000\001b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001^\000\000\001F\000\000\000\000\000\000\001j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\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\000\001^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\000\000\001n\004R\004V\000\n\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\001n\001\022\012q\001\030\0012\001:\001>\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\001F\001\014\000\000\001\022\0029\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\001N\000\000\004Z\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001^\000\000\001N\003]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\000\000\000\000\0262\004V\000\000\000\000\001^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\000\000\000\000\004R\004V\000\000\000R\000V\000f\000\170\000\000\000\174\014\005\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\005\000\000\000\000\000\000\0266\001F\000\000\011\030\000\000\001\153\000\000\000\000\001\153\000\000\014\005\000\000\000\000\000\000\000\000\001N\014\005\014\005\000\000\000\000\011&\003U\004b\0112\000\000\000\000\014\005\001\153\000\000\014\005\000\000\014\005\000\000\000\000\000\000\001^\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\000\000\001\153\000\000\001\153\001\153\001b\000\000\000\000\014\005\0262\004V\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\011>\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\213\000\000\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\005\000\000\000\000\000\000\000\000\011B\000\000\014\005\000\000\000\213\000\000\000\000\000\000\000\000\000\000\011J\000\000\000\000\000\205\026>\014\005\000\205\000\000\006b\000\000\000\000\000\000\000\213\000\000\000\213\000\213\001\153\005\250\000\000\001\153\014\005\014\005\000\000\001\153\000\213\000\205\000\000\006j\000\000\006z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\205\000\000\001\153\000\000\000\205\000\000\000\205\000\205\006\002\000\000\000\000\000\213\001\153\001\153\000\000\000\000\000\205\000\000\000\000\006j\000\000\000\205\000\209\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\205\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\213\000\000\000\000\000\225\006r\000\209\000\225\000\000\000\000\000\209\000\000\000\209\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\213\000\000\006j\006Z\000\209\000\000\000\205\000\000\000\000\000\205\000\213\000\213\000\000\006r\000\000\000\000\000\000\006b\000\000\000\000\000\000\000\225\000\000\000\225\000\225\000\209\000\217\000\000\000\000\000\217\000\000\000\205\000\000\000\225\000\000\000\000\006j\000\000\006z\000\000\000\000\000\205\000\205\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\138\000\000\000\000\006b\000\000\000\209\000\000\000\217\000\209\000\217\000\217\000\221\006r\000\000\000\221\000\000\000\000\000\000\000\000\000\217\000\000\000\000\006j\000\000\006z\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\000\006Z\000\000\000\000\000\000\000\000\000\000\000\225\000\209\000\209\000\225\000\000\000\000\000\217\006r\006b\000\000\000\000\000\000\000\221\000\000\000\221\000\221\000\000\000\229\000\000\000\000\000\229\000\000\000\000\000\000\000\221\000\225\000\000\006j\000\000\006z\000\000\000\000\000\000\000\000\000\000\000\225\000\225\000\000\000\000\006Z\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\217\000\000\006\138\006R\006r\006b\000\245\000\000\000\000\000\229\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\130\000\217\000\000\006j\006Z\006z\006R\000\000\000\000\000\233\000\000\000\217\000\217\000\000\000\000\000\000\000\000\000\000\006b\000\000\000\221\000\000\000\245\000\221\000\245\006\186\006\138\006r\006Z\000\000\000\000\000\000\000\000\000\000\006\130\000\000\000\000\006j\000\000\006z\006R\000\000\006b\000\241\000\000\000\221\000\233\000\000\000\233\000\233\000\000\000\000\000\000\000\000\000\000\000\221\000\221\000\000\006\130\000\000\006\138\006j\006Z\006z\000\000\006\146\000\000\000\000\000\229\000\000\000\000\000\000\006r\000\000\000\000\000\000\006b\000\000\000\000\000\000\000\241\000\000\000\241\006\186\006\138\000\169\000\000\000\000\000\000\000\161\000\229\000\000\006\130\000\000\000\000\006j\000\000\006z\000\000\006\146\000\229\000\229\000\245\000\000\000\000\000\000\006r\011\234\000\000\000\000\000\000\011\234\000\000\000\000\000\000\000\000\000\000\000\000\006\138\000\000\000\000\011\242\000\000\006\146\000\245\011\242\000\233\000\169\000\169\000\165\006r\000\161\000\161\000\173\006\194\006\154\000\000\000\169\000\000\000\000\011\250\000\161\012\n\000\000\011\250\000\000\012\n\000\000\000\233\000\000\000\000\011\234\000\000\000\000\000\000\011\234\000\000\006\146\000\233\006\154\000\241\000\000\000\000\012\026\006r\011\242\000\000\000\161\000\000\011\242\000\000\000\165\000\165\000\000\000\000\000\173\000\173\000\000\011\226\000\000\000\000\000\165\000\241\000\000\011\250\012\018\012\n\000\000\011\250\000\000\012\n\000\000\000\241\006\154\000\000\000\000\000\000\000\000\000\000\000\000\011\234\000\000\000\169\000\000\000\000\000\000\000\161\012\026\000\000\012\002\000\000\012\026\011\226\012\002\011\242\000\000\000\000\000\000\000\000\000\000\000\189\012:\000\169\000\000\000\000\000\000\000\161\000\000\000\000\000\000\012\018\000\000\000\000\011\250\011\234\012\n\011\226\000\169\000\169\000\000\000\000\000\161\000\161\000\000\000\000\000\000\000\165\000\000\011\242\000\000\012\"\000\000\000\000\012\002\000\177\000\177\012\026\012\002\011\234\000\000\000\000\000\000\000\000\000\000\012\018\000\000\000\165\011\250\000\000\012\n\000\173\000\000\011\242\000\000\000\000\000\000\000\000\000\000\000\185\012:\000\000\000\165\000\165\000\000\000\000\000\173\000\173\000\000\012\018\000\000\012\026\011\250\000\000\012\n\000\000\012\"\000\000\000\000\000\000\000\000\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\026\000\189\000\000\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\"\012B\012*\000\000\000\000\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\000\000\000\000\000\000\012\"\000\000\000\000\000\000\000\000\000\000\000\000\012\002\000\000\000\000\000\000\000\177\012*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\012*"))
1417
1418 let lhs =
1419 (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\016\001\016\001\016\001\015\001\015\001\015\001\015\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\n\001\n\001\n\001\n\001\t\001\008\001\008\001\008\001\007\001\007\001\007\001\006\001\006\001\006\001\005\001\005\001\005\001\004\001\003\001\002\001\001\001\001\001\000\001\000\000\255\000\255\000\254\000\254\000\253\000\253\000\252\000\251\000\251\000\250\000\250\000\249\000\249\000\249\000\249\000\248\000\248\000\248\000\247\000\246\000\245\000\244\000\243\000\242\000\241\000\240\000\239\000\238\000\237\000\236\000\235\000\234\000\233\000\233\000\232\000\232\000\231\000\231\000\230\000\230\000\229\000\229\000\229\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\227\000\226\000\226\000\226\000\226\000\225\000\225\000\224\000\224\000\223\000\223\000\222\000\222\000\222\000\221\000\221\000\221\000\220\000\220\000\220\000\220\000\219\000\219\000\219\000\219\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\217\000\216\000\216\000\215\000\215\000\215\000\214\000\214\000\213\000\213\000\213\000\212\000\212\000\211\000\211\000\211\000\210\000\209\000\208\000\208\000\207\000\207\000\206\000\206\000\205\000\205\000\204\000\204\000\203\000\202\000\201\000\201\000\200\000\200\000\199\000\199\000\199\000\198\000\197\000\196\000\196\000\195\000\194\000\194\000\194\000\194\000\194\000\193\000\193\000\193\000\193\000\192\000\192\000\192\000\192\000\191\000\191\000\191\000\191\000\190\000\189\000\189\000\188\000\188\000\188\000\187\000\186\000\186\000\186\000\186\000\185\000\184\000\184\000\183\000\183\000\182\000\182\000\181\000\181\000\181\000\181\000\180\000\180\000\179\000\179\000\179\000\179\000\179\000\178\000\178\000\178\000\178\000\177\000\177\000\177\000\177\000\177\000\176\000\175\000\175\000\175\000\175\000\174\000\173\000\173\000\172\000\172\000\171\000\171\000\170\000\170\000\169\000\169\000\168\000\168\000\167\000\167\000\167\000\167\000\167\000\167\000\167\000\167\000\166\000\165\000\164\000\164\000\163\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\155\000\155\000\154\000\154\000\153\000\153\000\152\000\152\000\151\000\151\000\150\000\150\000\149\000\149\000\148\000\148\000\147\000\147\000\146\000\146\000\145\000\145\000\144\000\144\000\143\000\143\000\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\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\131\000\130\000\129\000\128\000\127\000~\000}\000|\000{\000z\000z\000z\000y\000y\000y\000x\000x\000x\000x\000w\000v\000u\000t\000s\000r\000q\000q\000p\000p\000p\000o\000o\000n\000n\000n\000m\000m\000l\000k\000k\000k\000j\000i\000i\000h\000h\000g\000g\000f\000f\000e\000e\000d\000d\000c\000c\000b\000b\000a\000a\000a\000a\000a\000a\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[\000Z\000Z\000Z\000Z\000Z\000Y\000Y\000X\000X\000X\000X\000W\000V\000U\000U\000U\000T\000T\000T\000S\000S\000S\000S\000S\000S\000R\000R\000R\000R\000R\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000P\000P\000P\000P\000P\000P\000P\000O\000O\000O\000O\000O\000O\000O\000N\000N\000N\000N\000N\000N\000N\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000I\000I\000I\000I\000I\000H\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000F\000F\000F\000E\000D\000C\000B\000B\000A\000A\000@\000?\000?\000?\000>\000>\000=\000=\000<\000;\000;\000;\000;\000;\000;\000;\000:\000:\000:\000:\000:\000:\0009\0009\0008\0008\0008\0007\0007\0006\0006\0005\0005\0004\0004\0003\0003\0002\0002\0001\0001\0000\0000\000/\000/\000.\000.\000-\000-\000,\000,\000+\000+\000*\000*\000)\000)\000(\000(\000'\000'\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000%\000%\000%\000$\000$\000$\000$\000#\000#\000#\000#\000#\000\"\000!\000!\000!\000 \000 \000\031\000\031\000\030\000\029\000\028\000\028\000\028\000\028\000\027\000\027\000\027\000\026\000\026\000\025\000\025\000\025\000\024\000\024\000\024\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\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")
1420
1421 let goto =
1422 ((16, "\000\193\000l\000\000\000\000\000\000\000G\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\001C\000\182\000\000\001\019\000\197\000\000\000\000\000\000\000\139\000\000\000[\000\252\000\000\000\000\001t\000\000\001\166\000\000\000\000\000\000\001\206\000\000\002\018\000\000\000\000\000\000\000\000\003@\000\000\003R\003\134\000\000\000\000\004\132\000\000\004\172\000\000\000\000\000\000\005\166\000\000\005\182\000\000\005\208\000\000\006\000\006(\000\000\000\000\006J\000\000\006\200\000\000\000\000\000\000\000\000\007f\000\000\007n\000\000\000\000\007\218\000\000\008\018\000\000\000\000\000\000\008\026\000\000\000\160\008P\000\011\000\000\000\000\000\000\0072\002@\002\240\000\000\000\000\008\170\000\000\000\236\000\000\000\168\000\247\000\023\000\000\000\000\013\196\000\000\002\246\000\000\0028\004\128\000\160\011\002\000\160\003\148\031<\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\226\011\002\000\000\000\000\017\002\000\000\0188\000\000\001^\000\000\000\000\000\000\000\000\002R\000\000\018\144\000\000\000\000\014\156\000\000\023\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n,\000\000\011@\000\000\011D\000\000\015\144\000\000\019\236\000\000\019\240\000\000\023*\000\000\023>\000\000\028`\000\000!\030\000\000\006\026\000\000\006D\000\000\000\000\000\000\000\000\000\000#P\000\000)2\000\000)J\000\000\027v\000\000\000\000\028\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\008\228\000\000\000\000\t\"\000\000\t\132\t\202\000\000\000\000\t\208\000\000\t\218\000\000\000\000\000\000\t\222\000\000\t\224\000\000\000\000\t\230\000\000\t\246\n\016\000\000\000\000\n\024\000\000\n \000\000\000\000\000\000\n*\000\000\n,\000\000\n.\000\000\n2\nB\000\000\000\000\n\130\000\000\n\144\000\000\003\014\n\176\000\000\n\210\000\000\n\220\000\000\n\232\000\000\000\000\000\000\011\000\000\000\011\004\0056\000\000\011\014\000\000\000\194\006\154\000\000\002\216\000\000\004\006\000\000\000\000\007F\000\000\000\000\001\017\003z\000\000\000\000\000\000\000\000\003>\000\000\003P\000\000\008\168\000\000\002\026\000\000\000\000\000\000\000\000\000\000\000\000\008\208\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\000\0001\003\152\017\172\000\000\011\020\000\000\011\024\019\142\000\000\011\026\000\000\000\000\004\190\000\000\000\000\000\000\000\000\000\000\026\152\000\0000\148\000\000\000\000\000\000\003\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\144\000\000\000\000\000\000\000\000\000\000\000\000\006\160\031<\000\000\007\142\000\000\020\216\022\190\000\000\000\000\000\000\004@\000\000 2\000\000\000\0000\230\000\000\000\000\000\000\005\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\128\000\000&\208\000\000\000\000\000\000\000\000\000\199\000\000\000\00012\000\000\000\000\000\000\000n\000s\000\000\000\000\000\000\000\000\000\000\000\000\0006\000\000\004\144\000\000\005\158\000\000\n~\000\000\011^\000\000\012\016\000\000\012\146\000\000\016\142\000\000\027\210\000\000\0302\000\000\014\144\000\000\004\012\000\000\031n\000\000%\172\000\000+\150\000\000\000\000\000\000\000\000\000\000\000\1711\170\000\000\000:\000\000\000\000\000}\001\132\000\000\001\028\000\000\000\000\000\000\005\190\000\000\000\000\000\000'(\000\000\000\000\000\000\000\000\000\000(\n\000\000\000\000\000\000\000\000\000\000\000\000\001\028\000\000\000\000\000\000\011(\020\254\000\000\011*\000\000\000\000\000\000\000\000\000\000\011,\000\000\000\000\000\129\007\166\000\000\008H\000\000\000\000\000\000\000}\000\000\012\206\001\196\011.\000\000\000\000\011:\000\000\011B\011F\000\000\000\000\011J\000\000\011N\000\000\000\000\000\000\011T\000\000\011V\000\000\000\000\011^\000\000\011d\011f\000\000\000\000\011v\000\000\011~\000\000\000\000\000\000\011\128\000\000\011\146\000\000\011\150\000\000\011\152\011\160\000\000\000\000\011\162\000\000\011\166\000\000\005\218\011\172\000\000\011\174\000\000\011\176\000\000\011\192\000\000\000\000\000\000\011\198\000\000\006\020\000\000\000\000\011\206\023\164\000\000\011\210\000\000\000\000\000`\000\000\000\000\003J\000\000\000\000\000\000\000\000\000\000\006&\025\134\000\000\011\218\000\000\011\224\030\"\000\000\011\228\000\000\000\000\012\236\011\236\000\000\000\000\011\238\000\000\012\004\012\018\000\000\000\000\012\030\000\000\012(\000\000\000\000\000\000\012*\000\000\012,\000\000\000\000\0122\000\000\012:\012<\000\000\000\000\012@\000\000\012B\000\000\000\000\000\000\012R\000\000\012T\000\000\012V\000\000\012X\012Z\000\000\000\000\012b\000\000\012d\000\000\007\008\012v\000\000\012z\000\000\012\154\000\000\012\160\000\000\000\000\000\000\012\162\000\000\012\164\"\028\000\000\012\168\000\000\000\000\007x#d\000\000\012\170\000\000\012\174&\028\000\000\012\176\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\212\000\000#\240\000\0002H\000\000\000\000\000Z\000\000\000\000\001\188\000\214\000\000\000\000\020H%\136\000\000\017$\017\030\000\000\000\000((\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029\028((\000\000\029\184\000\000$\240\0120(\156\000\000\016\214\000\000\000\000\000\000\007\168\000\000 \214\000\000\000\0002\130\000\000\000\000\000\000\007\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\156\000\0002\182\000\000\000\000\000\000(\242\007:\000\000\000\000\000\000\022~\000\000\000\000\000\000\000\000\007\206\000\000\000\000\000\000\031\132\000\000\000\0006\188\000\000\000\157\000\000\000\000\000\000\000\025\000\000\001\248\000\000\002\140\000\000\0042\000\000\008\146\000\000\t\164\000\000\014R\000\000\014\170\000\000\017\128\000\000\022\\\000\000\024@\000\000\027*\000\000\031\008\000\000\000\000\000\000)\246\000\000*8*\138\000\000*\2243h+<\000\000\000\000+r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004R\000\000\000\000\000\000\000\000\005z\000\000\004\216\000\000\000\000\024<\000\000\000\000\000\000+f\000\000\000\000\000\000\000\000\000\000\0258\000\000\000\000\000\000\000\000+\200\000\000\000\000\000\000\000\000\004\004\004r\000\000,$\000\000\000\000\000\000\000\000\008\176\000\000,\134\000\000\000\000\000\000\000\000\000~\000\000\007|\000\000\015\178\006t(\214\000\000\000\000\000\000\013F\000\000\000\000\000\000\000\000\000\000\000\000\018\246(\214\000\000\021\170\000\000\024\234\013\248\000\000\000\000\000\000\0080\000\000 \240\000\000\000\0002\222\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\0006\128\000\0006\220\000\000\000\000\000\000\001 \000\000\000\000\000\000\000\000\000\000\000\000\007b\000\000\016T\000\000\018\190\000\000\024h\000\000\025\152\000\000'\n\000\000/\228\000\0001\186\000\0002\238\000\0003>\000\000,\200\000\000\000&\000\0004v\000\0006z\000\0007\016\000\000),\000\000\000\000\000\0003l\000\000\000\000\000\000\004 \000\0003\132\000\000\000\000\000\0004\026\000\000\000\000\0010\000\000\024\200\000!\005\026\000\000\005:\000\000\013\144\002\n\008\014\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\\\000\000$<$\000\008\142\000\000\000\000\000\000-\022\000\000-$\000\000-^\000\000%$%H\002\154\000\144\008\170\000\000\000\000\000\000\002>\000\000\000\000\003|\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\134\000\000\000\000\000\000\000\000!<\000\000&\n\000\000\000\000\000\000\000\000\000\000\000\000\014\024\000\000\000\000\005\188\000\000\000\000\000\000\025v\002\164\000\000\026\016\000\000\000\000\008\176\000\000\002\196\000\000\000\000\014\198\000\000\026\206\000\000\000\000!\254\000\000\000\000\000\000\006\204\000\000\000\000\005\002\000\000\000\000\0266\000\000\000\000\000\000-|\000\000\000\000\000\000\027\222\000\000\000\000\000\000\000\000-\212\000\000\000\000\000\000\000\000\004>\011\144\000\000-\226\000\000\000\000\000\000\000\000\000\000\000\000\015N\000\000\000\000\002\238\000\000\015\204\000\000\006\204\000\000\000\000\001\130\tD\000\000\003\006\000\000\000\000\000\000\000\000\001 \000\000&$\000\000\026 \003H\027h\000\000\003h\000\000\016\192\000\000\017>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\254\028&\005\024\028\192\000\000\000\000\000\000\005\154\000\000\017\180\000\000\004\"\000\000\000\000\t\192\004\246\029n\000\000\006\136\000\000\0182\029~\000\000\000\000\019&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\190\0082\000\000\0064\000\000\000\000\000\000\000\000\006V\000\000\019\164\000\000\000\000\000\000\"\1644\172\000\000\000\000\000\000 \024\000\000\000\000\000\000\000\000\0070\006`\000\000\000\000.:\000\000\000\000\002\236\000\000\007\024\000\000\000\000\030>\000\000\000\000\000\000.\136\000\000\000\000\000\000\000\000.\194\000\000\000\000\006\236\008\150\000\000\000\000.\220\000\000\000\000\006\206#\006\000\000\008\194\000\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\008\224\000\000\000\000\"n\000\000\000\000\000\000/\144\000\000\000\000\000\000\000\0000\016\000\000\000\000\008\182\t(\000\000\000\0000@\000\000\000\000\008.\000\000\000\000\000\000\000\000\001 \000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002t\000\000\020,\000\000\000\000\000\0004\176\000\000\t\194\000\000\000\000\000\000\003\154\000\000\005\004\000\000\000\000\006\192\020\238\000\000\021v\000\000\000\000\000\000\008\008\000\0005$\00885:\000\0005|\000\000\000\000\000\000\008l\000\0005\208\008t\000\000\000\000&\128\008\204&\230\000\000'B\000\000\000\000\000\000\t\020\000\0005\240\t\026\000\000\000\000\020\190\t\132!\192\000\000$\018\000\000\000\000\000\000\t\136\000\0006>\t\184\000\000\000\000\000\000\000?\000\000\000\000\000\000\007v\000\000\000\000\000\000\000\000\000\000\000\000\005\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\002X\000\000\000\000\003\026\000\000\000\000\013h\000\000\000\000\000\000\000\000\007\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013l\000\000\000\000\013B\000\000\000%\000\000\000\000\000\134\000\000\0052\012\246\002\156\000\000\000\000\003\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\252\018\016\000\000\000\000\005\\\000\000\000\000\000\000\021\156\000\000\000\000\0224\023\014\000\000\000\000\000\000\000\000\023\172\027\254\000w\000\000\031\246\000\000\000\000\000\000\000\000\000\000\000\000\008*\000\000\000\000\006\164\000\000\000\000\012\190\000\000\000\000\003n\000\000\000\000\012\194\000\000\000w\000\000\000\000\000\000\000\000\011\n \020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0138 \196\000\000\000\000\000\000\000\000#L\000\000\000\000\003\022\000\000\013z\000\000\000\000\000\000\t\238\000\000\000\186\000\000\000\000\000\000\017X\000\000\000\000\015l$N\011~\000\000$\152\000\000\000\000\000\000\000\000\013>\000\000\000\000\000\000\n4\000\000\001\170\013\016\004\016\000\000\000\000\000\000\008|\008J\000\000\000\000\000\000\000\000\002D\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\132\000\000\000\000\016^\000\000\000\029\013\142\003\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\144\000\000\000\000\0248%b\000\000\000\000\000\000\000\000\0026\000\000\005\008\011\198\000\000\028\202\000\000\000\000\000\000\000\000\000\000\000\146!\012\000\000\000\000&\176\000\000\000\000\000\000\000\000\nV\000\000)*\000\000\000\000\000\000\000\000\007D\000\000\000\000\000\000\006\242\000\000\000\000\001\160\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\144\000\000\000\000\000\000\005\028\000\000\000\000\000\000\000\000\000\000\000\004\004\150\007\150\008\220\000\000\005\186\005\212\t\004\t\134\000\000\000\000\000\000\000\000\000\000\000\000\006b\021\244\000\000\030d\007X\000\000\000\000\008\248\000\000\022\232\000\000)\226\000\000\000\000\008\160\023f\000\000\030t\000\000\008\176\031\"\000\000\000\000\000\000\004\242\005\186\000\000\000\000\000\000\000\000\0088\000\000\011<\000\000\000\157\011z\000\000\000\000\000\000\003>\000\000\003P\000\000\t\002\000\000\000\000\0032\000\000\000\000\000\000\000\000\n8\000\000\000\000\t\238\000\000\023\220\000\000\020\236\013L\000\000\000\000\000\000\000\000\000\000\000G\000\000\000\000\000\000\000\000\000\0000\236\000\000\000R\000\000\000\000\000\000\000\000\000\000\001\148\000\000\n\182\t\136\011\200\000\000\002\170\012F\000\000\n\146\000\000\003\164\000\000\004D\000\000\005>\000\000\020\236\000\000\000\000\000\000\000\000\000\000\005\222\000\000\n\162\000\000\006\216\000\000\020\236\013\174\000\000\004\222\000\000\013\160\012\138\000\000\tH\000\000\n\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\168\000\000\011\020\000\000\000\000\000\000\000\000\000\000\000\000\013\166\012\158\000\000\000\000\012\196\000\000\000\000\012\166\t\218\013\226\000\000\013\232\000\000\000\000\t\186\011P\000\000\012\220\000\000\000\000\013\018\000\000\000\000\000\000\000\000\000\000\000\000\013\222\012\204\000\000\000\000\000\000\012\238\012\212\n\166\n\156\012\240\013&\000\000\000\000\012\222\n\176\n\170\012\252\0138\000\000\000\000\n\138\000\000\000\000\000\000\000\000\014\008\000\000\000\000\000\000\014\016\000\000\000\000"), (16, "\003r\003\137\005\202\005\203\002\193\000\138\005E\002\197\0017\000\147\003@\005\170\005t\005u\000\007\000\018\000_\006\023\003r\003\137\002\164\004`\004H\001.\005\130\006\130\000\025\000_\000a\001\225\000e\006\131\005\204\001\186\000_\003r\003s\000\005\006\132\001\212\004\025\000\017\005\205\001g\001\140\001h\005\131\006\024\001B\006\025\006\174\006\175\005\134\005t\005u\0010\004\026\001\192\003t\000\013\000\140\000\140\003u\001\188\002\198\000\024\000\141\000g\002\199\0026\000\142\001g\000J\001~\004\026\005v\003t\000_\006\026\002\246\003u\002\164\006\150\001\210\000\016\000\017\001\143\001\194\006\027\002:\001\234\000\140\001\237\003t\000\028\006-\000\138\003u\000\151\000\140\000\147\005z\001i\000\004\006\179\002=\001j\001\141\001\236\005\133\001\236\004\143\000_\003\142\001/\001\181\005v\003T\000 \006\013\0029\000h\006\134\000_\0045\006\182\000\005\000\140\006\183\000_\001i\005\131\001\013\002\245\001j\005{\001w\005\134\005t\005u\006\135\006\014\001\213\006\017\005t\005u\001/\001\186\004\003\001\141\000_\000f\000\140\000e\005\202\005\203\000J\000\141\003\130\002\166\006V\000\142\002\212\004\008\001w\004\231\004\003\004\t\004\027\000g\003\131\004\145\004n\006\151\002\213\000\152\003\130\001\187\0065\000J\006\187\004\008\004\\\000K\005\226\004\t\004\027\006\136\003\131\000\151\000g\000\138\000\182\003\130\005\205\000\139\006\137\000\153\004\013\001\012\006\162\005v\004I\003[\004h\003\131\004\253\005v\0068\004#\001\179\001\181\004\127\001x\004@\003\146\004\013\005\146\003r\003\137\004\030\006\164\000\183\001\015\005\011\0016\000_\004#\003\237\004\027\006\166\006\188\004@\003\146\000_\005|\006V\003\147\006\132\006\189\004\025\001x\003\148\002\247\006\008\000\155\003\149\000\140\0024\000\184\003\174\003\150\000\141\000\185\000_\003\147\000\142\002\250\002=\000\157\003\148\001\192\001\186\005\015\003\149\001\142\000\152\000h\002\193\003\150\004#\002\197\003\147\004(\004\026\004@\003t\003r\003\137\003\238\003u\001\145\002;\001\183\000\151\006\208\003\150\001\144\000\153\000\031\000h\001\193\003\145\000_\002\165\001\150\000\008\002\164\004`\004H\001g\000_\001\203\002H\001\214\006-\006\t\004W\001\189\001\145\000\203\001\215\006;\000\183\001\146\002=\006\n\006\011\001\147\001\229\005\013\000\203\001\012\001\148\000\140\001\015\001E\0016\002\198\006\013\006N\006O\002\199\004\026\002\167\003t\000\155\004Y\006\209\003u\000\184\006\004\002\193\005h\000\185\002\197\001\015\006S\0016\000\"\000\157\006\014\0031\006\017\005t\005u\000\140\003r\003\137\001i\000J\000\152\006\001\001j\004\022\005f\004\003\001\"\005\002\000J\005i\005t\005u\000_\000$\004\023\003\130\006\132\006\194\004H\004\029\004\008\001\027\000\153\005\137\004\t\004\027\006\210\003\131\004o\003\142\004\023\001\181\001w\000(\001g\006\137\001~\000\140\004\254\006\212\004N\002\198\006V\006-\000J\002\199\001\213\000_\000a\000b\000e\004\023\004\026\002=\003t\004\013\005v\006.\003u\004\030\006\214\001\191\005\000\000\203\004\003\002\212\004#\000*\006\205\006\216\001Q\004@\003\146\005v\003\130\000J\005p\002\213\005\221\004\008\000_\0026\003\239\004\t\004\027\003@\003\131\000g\004q\0033\000\140\003L\005q\001i\003\147\002H\004b\001j\004\\\003\148\005\222\0028\000J\003\149\005\225\005t\005u\005\138\003\150\001x\001\217\006\002\004b\001g\004\013\001~\000_\0063\004I\000\144\004h\003r\003\137\005\188\001\131\004#\000J\001w\004\127\001$\004@\003\146\0029\003\238\001\028\000J\001\029\000_\000\203\002\212\004W\006\132\006\194\004H\004\003\005\189\002\247\006\153\005\192\005t\005u\002\213\002H\003\147\003\130\003\240\006=\000J\003\148\004\008\002\252\0061\003\149\004\t\004\027\006\200\003\131\003\150\005v\000\140\004X\000J\001i\001g\006\137\001h\001j\004\026\004\011\003t\003\203\003\204\001\026\003u\000\004\0017\000h\003\243\003\244\003\246\000J\005\140\002\193\006\199\004\013\002\197\000h\001\027\004I\003A\006\202\003r\003\137\001\131\001x\004#\001w\000\005\006\204\005\137\004@\003\146\005v\000\251\0017\001\204\005\141\000_\000/\001\012\002\247\006\132\006\194\004H\005\000\003M\000J\0003\001\134\000\140\0014\000\138\001i\003\147\002\254\000\147\001j\001-\003\148\001g\004\188\001h\003\149\001\015\003/\0016\001(\003\150\000\140\004j\001\144\002H\002\198\0002\004A\000J\002\199\004\026\000_\003t\002\166\005\014\006`\003u\000J\004e\001w\004|\003\240\004\003\006\155\005\227\001\145\006\201\006\146\005\138\006\147\001\146\000\203\003\130\000J\001\147\001<\001x\004\008\004|\001\148\000\140\004\t\004\027\006\200\003\131\000\141\005\138\001\132\000\140\000\142\004~\001i\006\137\003\242\001O\001j\004\011\000_\003\203\003\204\001\134\006`\005\003\001\028\004\129\001\029\000_\000\203\004}\005\206\002\164\000J\004\013\007\019\003\203\003\204\004I\000\151\006\202\003r\003\137\004t\001\144\004#\000J\001w\006\204\007\020\004@\003\146\000h\000_\000a\001\t\000e\000_\001x\002\165\001\198\006\132\006\194\004H\004\003\002\212\001\145\000J\003T\005c\005d\001\146\005\013\003\147\003\130\001\147\000J\002\213\003\148\004\008\001\148\001l\003\149\004\t\004\027\006\200\003\131\003\150\005\155\001g\000h\001h\006\020\000g\006\137\0005\001\018\004\026\004\011\003t\004\139\003\203\003\204\003u\001\172\000\138\000h\002\166\004t\000\139\005\153\005t\005u\006\203\004\013\0007\000\152\005\250\004I\005\144\006\202\003r\003\137\006e\001x\004#\001\145\003@\006\204\006X\004@\003\146\006Y\001\183\0030\006k\006e\000_\000\153\002\166\001\148\006\132\006\194\004H\000h\000\140\002\247\006]\001i\003\206\003N\000\138\001j\003\147\005\016\000\147\005\145\000h\003\148\003@\003\000\000\140\003\149\000\183\000_\003\205\000\141\003\150\003R\006b\000\142\000\203\000\138\007\028\005v\000J\000\139\004\026\000h\003t\004\027\006a\001w\003u\003\203\003\204\000\155\001u\001C\004\003\000\184\004\154\001\145\006\211\000\185\004v\003r\003\137\000\151\003\130\000\157\0036\004\023\006V\004\008\004\148\001\152\000\140\004\t\004\027\006\200\003\131\000\141\000J\005\015\006\133\000\142\003L\001g\006\137\001|\004#\004,\004\011\004(\001\012\004@\004\129\000\140\000\179\004\017\000_\001\014\000\141\000e\004\150\000_\000\142\000h\004\013\000;\003A\000J\004I\000\151\006\202\003r\003\137\000=\001\015\004#\0016\000\140\006\204\003t\004@\003\146\005\182\003u\001x\004y\000?\000_\002,\004\148\000\151\006\132\006\194\004H\004\003\000h\000g\0017\003A\000\140\000\152\002\166\001i\003\147\003\130\006i\001j\003F\003\148\004\008\000C\002\031\003\149\004\t\004\027\006\200\003\131\003\150\006h\004\149\002\193\003@\000\153\002\197\006\137\003J\004\132\004\026\004\011\003t\000B\000_\000_\003u\003\142\001\223\001w\004\194\006m\003F\003r\003s\000_\006\215\004\013\006q\000\152\000E\004I\002B\006\202\000J\001\145\003r\003\137\004#\004\023\003J\006\204\000J\004@\003\146\001g\000\182\001{\004\243\001\154\000\152\000\153\000_\001\197\004\170\000g\002\164\004`\004H\002\238\005e\000h\003\130\002\198\006E\000_\003\147\002\199\001\189\006`\000\203\003\148\000\153\000_\003\131\003\149\000\183\005\023\004\245\000\140\003\150\003t\005f\006I\006J\003u\003\144\005i\005t\005u\000J\001\"\004\026\000G\003t\005\025\001x\000\181\003u\000\155\005s\000\140\004\003\000\184\001i\004\171\001\027\000\185\001j\003r\003\137\001\012\003\130\000\157\000J\000h\005q\004\008\0045\003\146\000\155\004\t\004\027\006\200\003\131\000_\000J\003r\003\137\002\164\004`\004H\006\137\000J\000\157\001\015\004\011\0016\001w\000_\005\180\003\147\000\203\000_\002\239\002x\003\148\002\164\004`\004H\003\149\005v\004\013\000h\000_\003\150\004I\006G\006\202\004:\005\179\002\212\003\019\004#\003\020\004\026\006\204\003t\004@\003\146\002\242\003u\000L\002\213\006\000\002\193\000N\004>\002\197\003\203\003\204\003\130\000J\004\026\004\003\003t\000\140\003\203\003\204\003u\000J\003\147\003\023\003\131\003\130\006\001\003\148\004\179\002\245\004\008\003\149\002\143\000_\004\t\004\027\003\150\003\131\005\006\004n\0017\004\176\001\015\004\193\0016\001%\001x\0011\005|\004\011\001\028\006\001\001\029\000_\000\203\004\243\002\201\002\166\006j\000_\000J\000Q\000\140\006`\000J\004\013\002\198\006t\002\210\004I\002\199\004h\005\026\002\247\000J\002\237\004#\000J\004\023\004(\004\237\004@\003\146\006e\005w\004\244\000J\002\248\004\003\000S\005\025\003\147\006b\000W\000\203\003r\003\137\005!\003\130\001\"\001\231\000J\000\203\004\008\003\147\003\152\004\003\004\t\004\027\003\148\003\131\004l\004n\003\149\001\027\005#\003\130\004V\003\150\001\"\001\228\004\008\004\011\005$\003w\004\t\004\027\005'\003\131\004\147\004n\006\139\003\128\001g\001\027\001h\006\002\000J\004\013\006{\004\011\005#\004I\002\193\004h\005#\002\197\006\128\006e\004#\006\191\002\238\004(\003t\004@\003\146\004\013\003u\003r\003\137\004I\006\007\004h\006\233\002\212\000d\005\180\004#\000\203\005/\004(\003\221\004@\003\146\000_\000h\002\213\003\147\002\164\004`\004H\001\233\003\148\000\203\005\183\003\236\003\149\0051\000h\000\140\006\163\003\150\001i\002\166\000\205\003\147\001j\000h\006\005\000\140\003\148\004\023\006\206\002\198\003\149\0052\006\152\002\199\005\224\003\150\0055\000\138\000h\003@\004\026\000\139\003t\003r\003\137\004\195\003u\006a\001%\0051\001&\000\208\001w\001\028\005#\001\029\005\222\000\203\003U\000_\005\225\005t\005u\002\164\004`\004H\006g\004\204\001%\004\003\001+\002\247\005\246\001\028\000h\001\029\003Y\000\203\001g\003\130\001h\006b\004\222\000\203\004\008\003\002\001\192\006\233\004\t\005\243\005=\003\131\005@\000\140\005\244\005\247\005t\005u\000\141\004\026\000\212\003t\000\142\004\011\007\005\003u\003r\003\137\005?\006\191\005?\005\244\005\247\005t\005u\005C\001\194\006\191\004\238\004\013\006\240\007\002\000_\006\151\005v\007$\006\132\002\212\004\025\001x\000\151\006f\004\003\005#\000\140\000\211\003\146\001i\000\214\002\213\007%\001j\003\130\000\216\000\138\000\220\000\222\004\008\000\147\000\225\000h\004\t\004\027\0045\003\131\005\n\004n\000\229\003\147\005v\000_\006\197\004\026\003\148\003t\006\233\004\011\003\149\003u\006\213\000\228\001w\003\150\007\012\000\231\000\138\005v\000\138\000\233\000\139\006\207\000\139\004\013\000\237\000\239\000\241\004I\000\245\004h\000_\001g\004\003\001h\004#\004:\000\244\004(\001}\004@\003\146\000\140\003\130\005\201\005t\005u\000\141\004\008\000\152\002\247\000\142\004\t\004\027\004>\003\131\006\160\004n\007\004\007\024\006\234\006\233\000_\003\147\003\004\007\023\007\031\004\011\003\148\000\247\007\030\000\153\003\149\000\140\007\013\000\140\000\249\003\150\000\141\000\151\000\141\000\005\000\142\004\013\000\142\003r\003\137\004I\000\140\004h\001x\001i\000\252\002\166\004#\001j\004\003\004(\006\153\004@\003\146\000_\005\235\005t\005u\006\132\003\130\004\025\005v\000\254\000\151\004\008\000\151\000J\001\000\004\t\004\027\006\193\003\131\000\155\001\002\001g\003\147\001h\006B\001w\006\137\003\148\007\012\006\145\006\196\003\149\001\006\000\159\001F\007\012\003\150\002\193\006\236\001\011\002\197\004\026\001;\003t\001A\001@\004\013\003u\003r\003\137\004\030\006\198\001\222\001\221\001\227\001\241\000\152\004#\001\145\006\192\006\204\001\244\004@\003\146\000_\001\248\005v\001\247\006\132\001\250\004\025\001\252\001\156\001T\002\000\002\002\007\013\000\140\000\153\002\005\001i\007\013\002\t\002\008\001j\003\147\001g\000\152\001h\000\152\003\148\002\011\006\238\000\140\003\149\002\013\002\017\002\198\001\195\003\150\000\203\002\199\001x\000\183\004\026\002\019\003t\002\021\002\025\000\153\003u\000\153\002\024\002\027\001w\002\029\003r\003\137\002 \002\"\002$\006\156\006\195\006\157\000h\006\146\000\155\006\147\002&\000\203\000\184\002*\000_\004\003\000\185\0023\002\164\0022\004\025\005\191\000\157\002A\000\140\003\130\002G\001i\002F\002\138\004\008\001j\002J\002M\004\t\004\027\006\193\003\131\006\146\000\155\006\147\000\155\000\203\005\189\002Q\006\137\005\192\005t\005u\006\196\004B\002P\001\145\000\161\004\026\000\163\003t\002S\003r\003s\003u\001w\002U\002Y\002[\004\013\001\158\002^\004F\004\030\006\198\002b\002a\001x\002d\002f\004#\002\212\004\003\006\204\005\188\004@\003\146\002j\002l\002n\002r\002q\003\130\002\213\005\018\002t\002v\004\008\004\142\003r\003\137\004\t\004\027\006\193\003\131\002y\005\189\002{\003\147\005\192\005t\005u\006\137\003\148\005v\000_\006\196\003\149\000\140\002\164\003t\004\025\003\150\002}\003u\000\138\002\127\002\131\002\137\001\209\002\136\002\142\004\013\002\148\002\147\005n\004\030\006\198\005\150\005\129\005\143\005\185\001x\004#\005\220\001\145\006\204\005\242\004@\003\146\004\003\003r\003s\005\252\006\022\004\026\006\172\003t\006\218\001\160\003\130\003u\002\215\006\222\006\241\004\008\006\245\003r\003\137\004\t\004\027\003\147\003\131\005v\006\246\004\018\003\148\006\251\006\252\007\001\003\149\000\140\007\000\000_\004\131\003\150\000\141\002\164\004\020\004\025\000\142\004\140\007\008\007\n\007\016\004\142\002\193\007\017\007\021\002\197\004\013\007\022\007\025\007\026\004\030\004\133\007\029\000\140\007 \003t\001\145\004#\007!\003u\004(\007)\004@\003\146\000\151\007-\003\130\000\000\000\000\004\026\001\162\003t\000\000\000\138\000\000\003u\000\000\000\147\003\131\000\138\000\000\000\000\000\000\000\149\000\000\003\147\002\193\000\000\000\000\002\197\003\148\000\000\000\000\004\003\003\149\000\000\000\000\000\000\000\140\003\150\003r\003\137\002\198\003\130\000\000\000\000\002\199\000\000\004\008\004 \000\000\000\000\004\t\004\027\000\138\003\131\000_\000\000\001V\000\000\002\164\004!\004H\005\212\000\000\000\000\000\000\004\131\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\140\000\000\000\000\000\142\000\000\000\141\000\152\000\140\004\013\000\142\003\136\002\198\004\030\004\133\000\000\002\199\001\170\000\000\000\000\004#\003\130\004\026\004(\003t\004@\003\146\004\003\003u\000\153\000\000\000\000\000\151\003\131\003r\003\137\000\140\003\130\000\151\000\000\000\000\000\141\004\008\004K\000\000\000\142\004\t\004\027\003\147\003\131\000_\000\000\000\000\003\148\002\164\004!\004H\003\149\000\000\000\000\000\000\004M\003\150\000\000\000\000\000\000\002\212\000\138\000\000\000\000\000\000\000\139\000\000\000\151\000\000\000\000\000\000\004\013\002\213\000\000\005\243\004\030\004O\000\000\003r\003\184\000\000\000\000\004#\000\000\004\026\004Q\003t\004@\003\146\000\000\003u\003r\003\137\000\000\003\132\000\000\005\244\005\247\005t\005u\004P\000\000\000\000\000\152\002\212\000\000\000\000\000_\004\003\000\152\003\147\002\164\004!\004H\000\000\003\148\002\213\000\140\003\130\003\149\000\182\000\000\000\141\004\008\003\150\000\153\000\142\004\t\004\027\000\000\003\131\000\153\006\012\000\000\000\140\000\000\003t\000\000\000\000\000\000\003u\002\247\004\011\000\000\000\152\000\000\000\000\004\026\000\000\003t\000\183\000\000\000\000\003u\000\151\003\006\000\154\000\000\004\013\003r\003s\005v\004I\000\000\004J\000\000\000\153\000\000\000\000\004#\000\000\000\000\004(\000\155\004@\003\146\004\003\000\184\000\000\000\155\000\000\000\185\000\000\000\000\000\194\002\247\003\130\000\157\001g\000\000\001h\004\008\000\000\000\157\006\016\004\t\004\027\003\147\003\131\003\008\000\000\000\000\003\148\000\000\000\000\000\000\003\149\000\000\000\000\000\000\004\011\003\150\000\000\003r\003\137\000\140\006\014\003t\006\017\005t\005u\003u\000\000\000\000\002\193\000\000\004\013\002\197\000\000\000_\004I\000\152\004J\002\164\004`\004H\003\130\004#\000\000\004\003\004(\000\000\004@\003\146\000\140\000\000\000\138\001i\003\131\003\130\001S\001j\000\000\000\153\004\008\000\000\000\000\000\000\004\t\004\027\000\138\003\131\000\000\002\193\000\147\003\147\002\219\006\030\000\000\004\026\003\148\003t\000\000\004\011\003\149\003u\003r\003\137\000\000\003\150\000\140\001w\005v\000\000\002\198\000\000\000\000\000\000\002\199\004\013\000\000\000\000\000_\004I\000\000\004J\002\164\004`\004H\000\000\004#\000\155\000\140\004(\000\000\004@\003\146\000\141\000\000\002\193\000\000\000\142\002\197\000\000\000\000\000\165\000\140\003\130\005\188\000\140\000\000\000\141\000\000\002\198\000\000\000\142\000\000\002\199\003\147\003\131\000\000\000\000\004\026\003\148\003t\003r\003\137\003\149\003u\000\151\005\189\000\000\003\150\005\192\005t\005u\000\000\000_\000a\0019\000e\000_\000\000\000\151\000\000\002\164\004`\004H\001x\000\000\000\000\004\003\000\000\000\000\000\000\000\140\000\000\000\000\000\000\002\198\000\000\003\130\000\000\002\199\002\173\000\000\004\008\000\000\000\000\000\000\004\t\004\027\002\212\003\131\000\000\004g\000\000\000g\000\000\000\000\000\000\004\026\000\000\003t\002\213\004\011\003\147\003u\003r\003\137\000\000\000\138\000\000\000\000\000\000\001R\000\000\005v\000\000\000\000\003\154\004\013\000\000\005\152\000_\004I\000\152\004h\002\164\004\134\004H\002\212\004#\000\000\004\003\004(\001\145\004@\003\146\000\000\000\152\000\000\000\000\002\213\003\130\005\153\005t\005u\000\153\004\008\001\164\000\000\000\000\004\t\004\027\000\138\003\131\001\183\004i\000\147\003\147\000\000\000\153\000\000\004\026\003\148\003t\000\140\004\011\003\149\003u\000_\000\141\002\214\003\150\000\000\000\142\002\212\003r\003s\000\000\000\000\000\000\000\000\004\013\000\000\000\000\000\183\004I\002\213\004h\000\000\000\000\004\003\000\000\004#\000\000\000\000\004(\000\000\004@\003\146\004\136\003\130\000\151\000\000\003r\003\135\004\008\005v\000\155\000\140\004\t\004\027\000\184\003\131\000\141\004{\000\185\000\000\000\142\005\230\000\000\003\147\000\157\000\000\000\000\004\011\003\148\001\012\003r\003\137\003\149\000\000\000\140\000\000\003t\003\150\000\000\000\000\003u\000\000\000\000\004\013\000\000\000\000\000_\004I\000\151\004h\002\164\004\134\004H\001\015\004#\0016\004\003\004(\002\247\004@\003\146\000\000\000\140\000\000\003t\000\000\003\130\000\000\003u\000\000\000\000\004\008\003\n\000\000\000\000\004\t\004\027\000\000\003\131\000\000\000\000\000\152\003\147\000\000\000\000\000\000\004\026\003\148\003t\000\000\004\011\003\149\003u\003r\003\137\000\000\003\150\000\000\000_\000a\001>\000e\004\156\000\153\000\000\000\000\004\013\000\000\000\000\000_\004I\000\000\004\137\002\164\004!\004H\005\156\004#\000\000\000\000\004(\000\000\004@\003\146\004\138\000\152\000\000\000\000\000\000\000\138\000\000\000\138\000\000\000\139\000\000\000\139\003\130\000\000\000g\000\197\000\198\000\200\000\201\000\000\000\000\003\147\000\000\000\153\003\131\004\026\003\148\003t\000\000\000\000\003\149\003u\000\000\000\000\000\000\003\150\000\000\003r\003\137\000\000\003\130\000\000\000\000\000\202\000\000\000\203\000\000\000\000\000\183\000\000\000\000\000\138\003\131\000_\004\003\000\147\000\000\002\164\000\000\004\025\000\000\000\140\000\000\000\140\003\130\000\000\000\141\000\000\000\141\004\008\000\142\000\155\000\142\004\t\004\027\000\184\003\131\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\001G\004\011\000\000\000\000\003\147\000\000\004\026\000\000\003t\000\000\000\000\000\151\003u\000\151\000\000\000\000\000\000\004\013\003\156\000\000\000\140\004I\000\000\004\137\000\000\000\141\000\000\000\000\004#\000\142\004\003\004(\000\000\004@\003\146\000\000\001g\000\000\001z\000_\003\130\000\000\005\004\002\164\000\000\004\008\004\142\003r\003\137\004\t\004\027\000\000\003\131\000\000\000\000\000\000\003\147\000\151\000\000\001\012\000\000\003\148\000\000\000_\004\011\003\149\006e\002\164\000\000\004\025\003\150\000_\000a\001\219\000e\000\000\000\000\000\000\000\000\003T\004\013\000\000\002\166\001\015\004I\0016\004J\000\000\000\152\000\000\000\152\004#\000\140\000\000\004(\001i\004@\003\146\004\003\001j\000\000\000\000\003@\004\026\000\000\003t\000\000\000\000\003\130\003u\000\153\000g\000\153\004\008\000\000\003r\003\137\004\t\004\027\003\147\003\131\000\000\000\000\000\000\003\148\000\000\003,\000\000\003\149\001w\000\000\000_\004\131\003\150\000\152\002\164\000\000\004\025\000\000\005\020\000\000\003r\003\134\004\142\000\000\000\000\000\000\000\000\004\013\000\000\000\000\002\235\004\030\004\133\000\000\000\000\000\153\000\000\000\155\004#\000\155\000\000\004(\000\000\004@\003\146\005\152\000\000\000\000\000\000\000\000\004\026\000\167\003t\000\169\000\000\000\000\003u\003r\003\137\000\000\000\183\000\000\000\000\000\000\000\000\000\000\003\147\005\153\005t\005u\004\027\003\148\000\000\000_\004\003\003\149\000\140\002\164\003t\004\025\003\150\000\000\003u\000\155\003\130\001x\005\022\000\184\000\000\004\008\004\142\000\185\000h\004\t\004\027\0045\003\131\000\157\000\000\000\000\000\000\000\000\006i\000\000\0058\000\000\000\000\000\000\004\131\002\193\000\000\004#\002\197\004\026\004(\003t\004@\000\000\000\000\003u\000\000\005\152\001\012\000\000\004\013\000\000\000\138\000\000\004\030\004\133\000\147\005v\000\000\000\000\000\000\004#\004:\000\000\004(\000\000\004@\003\146\004\003\005\153\005t\005u\001\015\000\000\0016\006n\000\000\000\000\003\130\004\142\004>\000\000\000\000\004\008\001g\006\013\001h\004\t\004\027\003\147\003\131\000\140\000\000\000\000\003\148\002\198\000\000\000\000\003\149\002\199\000\000\000\000\004\131\003\150\003\130\003r\003\137\006\014\000\140\006\017\005t\005u\000\000\000\141\006v\000\000\003\131\000\142\004\013\000\000\000\000\000_\004\030\004\133\000\000\002\164\004!\004H\000\000\004#\000\000\004\003\004(\005v\004@\003\146\000\000\000\000\000\138\000\000\000\140\003\130\000\139\001i\000\000\000\151\004\008\001j\000\138\000\000\004\t\004\027\000\139\003\131\000\000\000\000\005\152\003\147\000\000\000\000\000\000\004\026\003\148\003t\005\159\004\131\003\149\003u\003r\003\137\000\000\003\150\000\000\005v\000\000\000\000\000\000\001w\005\153\005t\005u\004\013\000\000\000\000\000_\004\030\004\133\000\000\002\164\000\000\004\025\000\000\004#\002\212\000\140\004(\000\000\004@\003\146\000\141\000\000\000\000\000\000\000\142\000\140\002\213\000\138\000\000\000\000\000\141\000\149\000\000\000\000\000\142\002\233\000_\000a\0020\000e\000\000\003\147\000\000\000\152\000\000\004\026\003\148\003t\003r\003\137\003\149\003u\000\151\000\000\000\000\003\150\005\152\006\165\000\000\000\000\002\235\005\165\000\151\005v\000_\000\153\000\000\000\000\002\164\004!\004H\000\000\000\000\000\000\004\003\001x\000g\000\000\005\153\005t\005u\006|\000\000\000\140\003\130\004\142\000\000\000\000\000\141\004\008\000\183\000\000\000\142\004\t\004\027\002\247\003\131\000\000\002\193\006\028\000\000\002\197\000\000\000\000\004\026\000\000\003t\000\000\004\011\003\012\003u\000\000\000_\000\155\000\000\000\000\000\000\000\184\003r\003s\000\151\000\185\000\000\005\188\004\013\000\000\000\000\000\157\004I\000\152\004J\000\000\000\000\000\000\000\000\004#\000\000\004\003\004(\000\152\004@\003\146\005v\001y\000\000\005\189\000\000\003\130\005\192\005t\005u\000\153\004\008\000\000\000\140\000\000\004\t\004\027\002\198\003\131\000\000\000\153\002\199\003\147\000\000\004\151\003r\003\137\003\148\000\000\005\163\004\131\003\149\000\000\000\140\000\000\003t\003\150\001\"\000\000\003u\000\000\000_\003r\003\133\000\000\002\164\004\013\004H\000\000\000\000\004\030\004\133\001\027\000\000\000\000\004\003\000\152\004#\000\155\000\000\004(\000\000\004@\003\146\000\000\003\130\000\000\001\012\000\155\000\000\004\008\005v\000\171\000\000\004\t\004\027\000\000\003\131\000\153\000\000\000\000\004\026\000\173\003t\000\000\003\147\000\000\003u\000\000\004\011\003\148\001\015\000\000\0016\003\149\000\000\000\000\000_\000\140\003\150\003t\000\000\000\000\000\154\003u\004\013\000\000\000\000\005\176\004I\000\000\004J\003r\003\137\000\000\002\212\004#\000\000\000\000\004(\000\000\004@\003\146\000\000\004L\000\000\000\155\002\213\000_\003r\003s\000\156\002\164\000\000\004\025\003\130\000_\000a\002?\000e\000\157\000\000\000\000\000\000\003\147\000\000\000\000\003\131\000\000\003\148\000\000\000\000\000\000\003\149\000\000\006\013\000\000\000\000\003\150\000\000\001%\000\000\0039\001\"\000\000\001\028\000\000\001\029\004\026\000\203\003t\000\000\000\000\004\003\003u\006'\000g\006\014\001\027\006\017\005t\005u\000\000\003\130\000\000\000\140\000\000\003t\004\008\003r\003\137\003u\004\t\004\027\000\000\003\131\002\247\003r\003\137\000\000\003\130\004\024\000\000\000\000\000\000\000_\000\000\004\153\000\000\002\164\003\014\004\025\003\131\000_\003\147\000\000\000\000\002\164\000\000\004\025\000\000\000\000\000\000\004\013\000_\000\000\000\000\004I\003\158\004\155\000\000\000\000\000\000\000\000\004#\000\000\000\000\004(\000\000\004@\003\146\000\000\000\000\005v\000\000\004\026\000\000\003t\000\000\000\000\000\000\003u\000\000\004\026\000\000\003t\000\000\000\138\000\000\003u\004\003\000\147\003\147\000\000\000\000\000\000\000\000\003\148\000\000\000\000\003\130\003\149\000\000\000_\000\000\004\008\003\150\000\000\000\000\004\t\004\027\000\000\003\131\000\000\003r\003\137\001%\003\130\003C\000\000\001\"\001\028\000\000\001\029\004\028\000\203\004\"\000\000\000\000\003\131\000_\000\000\000\000\000\000\002\164\001\027\004\025\000\000\001\012\000\000\004\013\000\000\000\000\000\140\004\030\004\031\000\000\000\000\000\141\000\000\000\000\004#\000\142\000\000\004(\000\000\004@\003\146\000\000\000\000\002\193\000\000\001\015\002\197\0016\000\000\000\000\004\003\000\000\000\000\004\026\000\000\003t\000\000\000\000\004\003\003u\003\130\006!\003\147\000\151\000\000\004\008\000\000\003\148\003\130\004\t\004\027\003\149\003\131\004\008\003r\003\137\003\150\004\t\004\027\003\147\003\131\000\138\000\000\000\000\004\028\000\149\004k\000\000\000\000\000\000\000_\000\000\004d\003\160\002\164\000\000\004\025\000\000\000\000\000\140\004\013\000\000\000\000\002\198\004\030\004\031\000\000\002\199\004\013\000\000\000\000\004#\004\030\004f\004(\000\000\004@\003\146\000\000\004#\000\000\000\000\004(\000\000\004@\003\146\001%\001g\004/\001h\004\026\001\028\003t\001\029\000\000\000\203\003u\000\140\000\000\003\147\000\152\000\000\000\141\000\000\003\148\004\003\000\142\003\147\003\149\000_\000\000\000\000\003\148\003\150\001I\003\130\003\149\000\201\000\000\000\000\004\008\003\150\000\153\000\000\004\t\004\027\000\000\003\131\000\000\003r\003\137\000\000\000\000\000\000\000\151\000\000\000\000\000\000\000\000\004\028\000\000\005\152\000\202\000\140\000\203\000_\001i\000\183\000\000\002\164\001j\004\025\000\000\000\000\000\000\004\013\000\000\000\000\000\138\004\030\004\031\002\212\000\139\005\153\005t\005u\004#\000\000\000\000\004(\000\155\004@\003\146\002\213\000\184\001\"\000\000\000\000\000\185\000\000\001w\000\000\004\003\000\000\000\157\004\026\001G\003t\000\000\000\000\001\027\003u\003\130\000\000\003\147\000\000\000\000\004\008\000\000\003\148\000\000\004\t\004\027\003\149\003\131\000\000\003r\003\137\003\150\000\000\004c\000\152\000\000\000\138\000\140\000\000\004d\000\149\000\000\000\141\000\000\000\000\000_\000\142\000\000\000\000\002\164\005v\004\025\000\000\000\000\000\000\004\013\000\153\000\000\000\000\004\030\004f\000\000\000\000\000\000\006\013\002\247\004#\000\000\000\000\004(\000\000\004@\003\146\000\000\000\151\002\193\000\000\000\000\002\218\003\016\001x\000\154\000\000\000\000\000\000\004\026\006\014\003t\006\017\005t\005u\003u\000\140\000\000\003\147\000\000\000\000\000\141\000\000\003\148\004\003\000\142\000\000\003\149\000\155\000\000\000\000\000\000\003\150\000\193\003\130\000\000\000\000\000\000\000\000\004\008\003r\003\137\000\157\004\t\004\027\001%\003\131\0047\003r\003\137\001\028\004w\001\029\000\151\000\203\000\140\000_\000\000\004x\002\198\002\164\000\000\004\025\002\199\000_\000\000\000\000\000\000\002\164\000\000\004\025\000\000\001\145\000\000\004\013\000\152\005v\002\193\004\030\004z\002\217\005\174\000\000\000\000\000\000\004#\001\166\000\000\004(\000\000\004@\003\146\000\000\000\000\000\000\000\000\004\026\000\153\003t\000\000\000\000\004\003\003u\000\000\004\026\000\000\003t\000\000\000\000\000\000\003u\003\130\000\000\003\147\000\000\000\000\004\008\000\000\003\148\000\000\004\t\004\027\003\149\003\131\000\000\000\000\000\000\003\150\000\000\004u\000\152\000\000\000\000\000\140\000\000\004d\004\130\002\198\001g\000\000\001h\002\199\000\000\000\000\004\135\000\155\000_\000a\002D\000e\000\000\004\013\000\153\000\000\000\000\004\030\004f\002\212\000\000\000\175\000_\000\000\004#\003r\003\137\004(\000\000\004@\003\146\002\213\000\000\003r\003\137\000\000\006r\000\000\000\000\000\154\000\000\000_\000\000\006/\006~\002\164\000\000\004\025\000g\000_\004\003\000\000\003\147\002\164\000\000\004\025\000\140\003\148\004\003\001i\003\130\003\149\000\155\001j\000\000\004\008\003\150\000\196\003\130\004\t\004\027\000\000\003\131\004\008\000\000\000\000\000\157\004\t\004\027\000\000\003\131\004\026\000\000\003t\004\131\000\000\000\000\003u\001\"\004\026\000\000\003t\004\131\001w\000\000\003u\000\000\002\212\000\000\000\000\004\013\000\000\000\000\001\027\004\030\004\133\000\000\002\193\004\013\002\213\002\197\004#\004\030\004\133\004(\000\000\004@\003\146\000\000\004#\003r\003\137\004(\000\000\004@\003\146\000\000\000\000\000\000\000\000\000\000\006\129\000\000\000\138\000\000\000\000\000_\000\147\000\000\003\147\002\164\000\000\004\025\000\000\003\148\000\000\000\000\003\147\003\149\000_\000\000\000\000\003\148\003\150\000\000\000\000\003\149\000\000\001g\000\000\001h\003\150\000\000\000\140\000\000\000\000\000\000\002\198\000\000\002\193\001x\002\199\002\197\004\003\000\000\000\000\004\026\000\000\003t\000\000\001\012\004\003\003u\003\130\000\000\000\000\000\000\000\000\004\008\000\140\000\000\003\130\004\t\004\027\000\141\003\131\004\008\000\000\000\142\000\000\004\t\004\027\000\000\003\131\001\015\000\000\0016\006s\000\000\000\000\000\000\001%\000\000\004\182\000\140\006s\001\028\001i\001\029\000\000\000\203\001j\000\000\004\013\000\000\002\238\000\151\004\030\006u\002\198\000\000\004\013\000\000\002\199\004#\004\030\006u\004(\001\145\004@\003\146\000\000\004#\003r\003\137\004(\000\000\004@\003\146\000\000\000\000\001w\001\168\000\000\000\000\000\000\000\138\000\000\005\152\000_\000\147\000\000\003\147\004\169\000\000\002\212\000\000\003\148\004\003\000\000\003\147\003\149\000_\005\152\000\000\003\148\003\150\002\213\003\130\003\149\005\153\005t\005u\004\008\003\150\000\000\004\200\004\t\004\027\000\000\003\131\000\000\000\000\000\000\000\000\005\153\005t\005u\000\000\004\203\000\000\003t\006s\000\152\000\000\003u\000\000\000\000\000\000\000\000\002\239\000\000\000\140\000\000\000\000\000\000\000\000\000\141\004\013\000\000\001W\000\142\004\030\006u\004\209\000\153\000\000\002\212\001x\004#\002\241\000\000\004(\000\000\004@\003\146\002\242\000\000\000\138\002\213\000\000\000\000\000\147\000\000\005v\001Y\002\247\000\203\000\000\000\151\000\183\000\138\000\000\004\246\000_\000\147\003\142\003\147\001\181\005v\003\018\005\152\003\148\000\000\002\245\000\000\003\149\000_\000\000\000\000\000\000\003\150\000\000\000\155\000\138\000\000\000\000\000\184\000\139\000\000\000\000\000\185\000\000\005\153\005t\005u\000\000\000\157\000\000\000\138\000\000\000\000\000\000\000\147\000\140\006\013\001\145\000\000\000\000\000\141\000\000\003\130\000\000\000\142\000\000\000_\000\000\000\140\002\247\000\000\001\174\004\210\000\141\003\131\000\000\000\000\000\142\006\014\000\000\006\017\005t\005u\002\248\000\138\000\000\004\248\000\152\000\149\000\000\000\000\000\140\000\151\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\197\001n\000\200\000\201\000\151\000\140\000\000\005v\000\153\000\000\000\141\005\172\004\213\000\000\000\142\004\249\000\000\004\236\003\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\199\000\151\000\202\000\000\000\203\000_\000\000\000\183\000\000\002\164\000\000\000\000\000\000\000\140\003\147\000\000\000\151\005v\000\141\003\148\000\138\000\000\000\142\003\149\000\147\000\000\000\000\000\000\003\150\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000_\000\000\000\185\000\000\000\000\000\000\000\152\000\000\000\157\003T\001G\000\000\000\000\000\000\000\151\000_\000a\002\134\000e\000\152\000\197\002\203\000\200\000\201\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\197\003y\000\200\000\201\000\000\000\000\000\000\000\140\000\153\000\152\000\000\000\000\000\141\000\000\000\000\000\202\000\142\000\203\000\000\005\210\000\183\000\000\000g\000_\000\152\000\000\000\000\000\000\000\202\000\000\000\203\000\153\000\000\000\183\003r\003\137\000\000\000\000\000\197\004\005\000\200\000\201\000\000\000\155\000\151\000\000\000\153\000\184\000\000\000\000\000_\000\185\000\000\0066\004\169\000\000\000\155\000\157\000\152\001G\000\184\000\000\000\000\000\000\000\185\000\000\000\202\000\000\000\203\000\000\000\157\000\183\001G\000\000\000\000\000\000\000\000\004\250\000\000\000\155\000\153\000\000\000\000\003r\003\137\000\000\000\000\000\000\004\027\001\"\004\203\000\000\003t\000\177\000\155\000\000\003u\000\138\000\184\000_\000\000\000\147\000\185\004\169\001\027\000\154\000\000\000\000\000\157\000\000\001G\000\000\000\000\000_\000\000\004\209\000\000\000\000\000\000\000\000\000\138\000\152\005:\000\000\000\139\000\000\004\202\000\000\000\155\004#\000\000\000\000\004(\001\128\004@\000\197\004%\000\200\000\201\004\203\000\000\003t\000\157\000\153\000\000\003u\000_\000a\002\140\000e\005\152\000\000\000\000\000\140\001\012\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\202\004\209\000\203\000\000\000\000\000\183\000\000\000\000\000\000\005\153\005t\005u\000\000\000\140\000\000\001\015\000\000\0016\000\141\000\000\000\000\000\000\000\142\000g\000\000\000\000\000\000\000\151\000\155\003\130\000\000\000\000\000\184\000\000\000\000\000\000\000\185\003r\003\137\004\210\000\000\003\131\000\157\000\000\001G\003r\003\137\000\000\000\000\001%\000\151\004\225\000\000\004\211\001\028\000\000\001\029\000\000\000\203\003\252\005\017\000\000\000\000\000\000\000\000\000\000\000\000\004T\000\000\000\000\000_\000\000\000\000\005v\002\164\003r\003\137\000\000\003\130\000\000\004\213\000\000\000\000\004\218\000\000\004\236\003\146\000\000\004\210\000\000\003\131\000\000\000\000\002\238\000\000\003t\000\000\003\252\004]\003u\000\000\002\238\004\211\003t\000\152\000\000\000\000\003u\003\147\000\000\003T\000\000\000\000\003\148\000\000\000\000\005\152\003\149\000\197\004\215\000\200\000\201\003\150\000\000\000\000\000\000\000\153\000\152\000\000\004\213\000\000\002\238\004\218\003t\004\236\003\146\000\000\003u\005\153\005t\005u\000\000\000\000\000\000\000\000\000\000\000\202\000\000\000\203\000\153\000\000\000\183\000\000\005\152\004Z\001\012\000\000\003\147\003\142\000\000\000\000\000\000\003\148\000\000\000\000\002\193\003\149\000\000\002\216\000\000\000\000\003\150\000\000\000\000\000\155\005\153\005t\005u\000\184\001\015\005\215\0016\000\185\000\000\000\000\004\003\000\000\000\000\000\157\000\000\001G\003r\003\137\004\003\000\000\003\130\000\000\000\155\000\000\000\000\004\008\000\000\005v\003\130\004\t\000\000\000\000\003\131\004\008\003r\003\137\000\187\004\t\003\252\004S\003\131\000\000\000\000\000\000\004\011\000\000\000\140\004\027\004\003\000\000\002\198\000\000\004\\\000\000\002\199\000\000\003\252\003\253\003\130\000\000\004\013\000\000\000\000\004\008\005v\000\000\002\193\004\t\004\013\002\197\003\131\000\000\002\238\000\000\003t\000\000\000\000\003\146\003u\005\152\000\000\005<\004\011\000\000\001g\003\146\001h\000\000\004#\000\000\002\238\004(\003t\004@\000\000\000\000\003u\000\000\004\013\003\147\000\000\005\153\005t\005u\003\148\000\000\000\000\003\147\003\149\000\000\000\000\000\000\003\148\003\150\000\000\003\146\003\149\000\000\000\000\000\000\000\000\003\150\002\238\000\000\000\000\000\000\002\198\000\000\000\000\000\000\002\199\003r\003\137\000\000\005\239\000\000\000\000\003\147\000\000\000\000\000\140\000\000\003\148\001i\003r\003\137\003\149\001j\002\212\000\000\000\000\003\150\000\000\003\252\004\007\000\000\000_\000a\002\145\000e\002\213\000\000\000\000\000\000\004\003\005v\003\252\004_\000\000\000\000\000\000\005\237\000\000\000\000\003\130\000\000\000\000\001w\000\000\004\008\000\000\000\000\004\003\004\t\000\000\000\000\003\131\002\238\000\000\003t\003r\003\137\003\130\003u\000\000\000\000\000g\004\008\004\011\000\000\002\238\004\t\003t\000\000\003\131\000\000\003u\002\239\000\000\000\000\000\000\000\000\003\252\005*\004\013\000\000\004\011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\212\003&\003*\003\020\000\000\000\000\000\138\003\146\004\013\002\242\000\149\000\000\002\213\000\000\000\000\000\000\000\000\003r\003\137\000\000\006\013\000\000\002\238\000\000\003t\003\146\000\000\000\000\003u\003\147\001x\003\023\000\000\000\000\003\148\003r\003s\002\245\003\149\003\252\005,\000\000\006\014\003\150\006\017\005t\005u\003\147\006%\000\000\000\138\000\000\003\148\000\000\000\147\004\003\003\149\000\000\000\000\000\000\000\000\003\150\000\140\003r\003\137\003\130\000_\000\141\004\003\000\000\004\008\000\142\000\000\002\238\004\t\003t\000\000\003\131\003\130\003u\000\000\002\247\000\000\004\008\000\000\003\252\005.\004\t\000\000\004\011\003\131\000\140\000\000\003t\000\000\002\248\000\000\003u\001\145\000\151\000\000\000\000\004\011\000\000\001\012\004\013\000\140\000\000\005v\000\000\000\000\000\141\001\176\000\000\004\003\000\142\000\000\000\000\004\013\002\238\000\000\003t\003\146\000\000\003\130\003u\000\000\000\000\001\015\004\008\0016\000\000\000\000\004\t\000\000\003\146\003\131\000\000\000\000\000\000\000\000\000\000\000\000\000\151\003\147\000\000\000\000\000\000\004\011\003\148\000\000\000\000\000\000\003\149\000\000\000\000\000\000\003\147\003\150\000\000\000\000\000\000\003\148\000\138\004\013\004\003\003\149\000\147\000\000\000\000\000\000\003\150\000\000\000\000\000\000\003\130\000\152\000\000\000\138\000_\004\008\003\146\000\147\000\000\004\t\000\000\000\000\003\131\000\000\000\000\000\000\000\000\000\000\003\130\000_\000\000\000\000\000\000\000\153\004\011\000\000\000\000\000\000\003\147\000\000\003\131\000\000\000\000\003\148\000\000\000\000\004\003\003\149\0069\000\000\004\013\000\000\003\150\000\000\000\140\000\152\003\130\000\000\000\154\000\141\000\000\004\008\000\000\000\142\000\000\004\t\000\000\003\146\003\131\000\140\000\000\000\138\001W\000\000\000\141\000\147\000\000\000\153\000\142\000\000\004\011\000\155\000\000\000\000\000\000\000\000\001\130\000_\000\000\003\147\000\000\000\151\000\000\000\000\003\148\000\157\004\013\001\201\003\149\000\203\000\138\000\000\000\183\003\150\000\147\000\000\000\151\003\147\000\000\000\000\000\000\000\000\000\000\003\146\002\193\000\000\000_\002\197\000\000\000\000\000\000\003\162\000\000\000\000\000\000\000\155\000\000\000\140\000\000\000\184\000\000\000\000\000\141\000\185\000\000\003\147\000\142\000\000\000\000\000\157\003\148\000\000\000\000\000\138\003\149\000\000\000\138\000\147\000\000\003\150\000\139\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\138\000_\000\000\000\141\000\139\000\000\000\151\000\142\000\000\000\000\000\152\000\000\002\238\000\000\006\013\000\000\002\198\000\000\000\000\000\000\002\199\000\000\000\000\000\000\000\000\000\152\000\000\001T\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\151\006\014\000\000\006\017\005t\005u\000\140\002\176\000\000\000\140\000\000\000\141\000\153\000\000\000\141\000\142\000\000\001\207\000\142\000\203\000\000\000\140\000\183\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\002\178\000\000\000\203\000\000\000\000\000\183\000\000\000\000\000\000\002\193\000\000\000\151\002\197\000\155\000\151\000\000\000\152\000\184\000\000\002\193\000\000\000\185\002\197\000\000\000\000\000\000\000\151\000\157\000\155\000\000\002\239\000\000\000\184\002\176\000\000\005v\000\185\000\000\000\153\000\000\000\000\000\000\000\157\000\000\000\000\000\152\000\000\002\212\003&\003'\003\020\000\000\002\193\000\000\000\000\002\197\002\242\000\000\002\195\002\213\000\203\000\000\003b\000\183\000\000\002\238\000\000\000\153\000\000\002\198\000\000\000\000\000\000\002\199\000\000\002\238\000\000\000\000\003\023\002\198\000\000\000\000\000\000\002\199\002\245\000\000\000\155\003d\000\152\000\203\000\184\000\152\000\183\002\193\000\185\000\000\002\197\000\000\000\000\000\000\000\157\000\000\000\000\000\152\000\000\003b\000\000\000\000\002\238\000\000\000\153\000\000\002\198\000\153\000\000\000\155\002\199\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\153\000\000\000\000\002\247\000\157\003\182\000\000\000\203\000\000\000\000\000\183\002\193\000\000\000\000\002\197\006@\000\000\002\248\000\000\000\000\000\000\000\000\000\000\000\000\002\238\002\239\000\000\000\000\002\198\000\000\000\000\000\000\002\199\000\155\000\000\002\239\000\155\000\184\000\000\000\000\000\000\000\185\002\212\003&\006x\003\020\000\000\000\157\000\155\000\000\000\189\002\242\002\212\003\022\002\213\003\020\000\000\002\193\000\000\000\000\002\197\002\242\000\191\000\000\002\213\000\000\000\000\002\238\002\239\000\000\000\000\002\198\000\000\003\023\000\000\002\199\000\000\000\000\000\138\002\245\000\000\000\000\000\147\003\023\002\193\002\212\000\000\002\197\003\025\002\245\000\000\000\000\000\000\000\000\002\242\000\000\000\000\002\213\000\000\000\000\000\000\000\000\001g\000\000\001h\000\000\000\000\000\000\000\000\002\239\000\000\000\000\000\000\002\238\000\000\000\000\003\027\002\198\000\000\000\000\000\000\002\199\002\245\002\247\000\000\000\000\002\212\000\138\000\000\003\025\000\000\000\147\000\000\002\247\000\140\002\242\000\000\002\248\002\213\000\141\002\238\000\000\000\000\000\142\002\198\000\000\000\000\002\248\002\199\000\000\000\000\000\000\002\239\000\000\000\000\000\000\000\000\003\027\000\140\000\000\003$\001i\000\000\002\245\000\000\001j\002\247\000\000\000\000\002\212\000\000\000\151\003\025\000\138\000\000\000\000\000\000\000\147\002\242\000\000\002\248\002\213\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\000\001w\000\000\000\000\002\239\000\000\003\027\003#\000\000\000\000\000\000\000\000\002\245\002\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\212\000\000\000\000\003\025\000\000\000\151\002\248\000\138\000\000\002\242\002\239\000\147\002\213\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\003=\000\000\002\212\000\000\003\"\003\025\003\027\000\000\000\152\000\000\002\247\002\242\002\245\000\000\002\213\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\000\000\000\002\248\002\235\000\151\000\000\000\000\000\000\000\153\000\000\001x\003\027\000\000\000\000\000\000\000\000\000\140\002\245\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\003H\003\029\000\000\000\000\000\000\000\138\000\183\002\247\000\152\000\147\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\000\000\000\002\248\000\140\000\000\000\000\002\235\000\151\000\141\003 \000\155\000\153\000\142\000\000\000\184\002\247\000\000\000\000\000\185\000\000\000\000\000\000\000\138\000\000\000\157\003\172\000\147\003P\000\000\002\248\000\000\000\000\001\145\000\000\000\000\000\152\000\183\000\138\000\000\000\000\000\151\000\147\000\140\000\000\000\000\000\000\001\178\000\141\000\000\000\140\000\000\000\142\002\235\000\000\000\141\000\000\000\000\000\153\000\142\000\155\000\000\000\000\000\000\000\184\003\225\000\000\000\000\000\185\000\000\000\000\000\000\003\227\000\000\000\157\000\000\000\000\003W\000\000\000\140\000\151\000\000\000\138\000\183\000\141\000\152\000\147\000\151\000\142\000\138\000\000\000\000\000\000\000\147\000\140\000\000\000\000\000\000\000\000\000\141\000\000\003\229\002\235\000\142\000\000\000\000\000\155\000\153\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\151\000\000\000\152\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\151\000\183\000\138\000\000\000\182\000\000\000\147\000\140\000\000\000\153\000\000\000\000\000\141\000\000\000\140\000\000\000\142\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\155\000\000\000\152\000\000\000\184\000\000\000\000\000\000\000\185\000\152\000\183\000\000\000\000\000\000\000\157\000\000\000\000\000\138\000\000\000\182\000\151\000\147\000\000\000\000\000\153\000\000\000\182\000\151\000\000\000\000\000\000\000\153\000\000\000\155\000\140\000\000\000\000\000\184\000\152\000\141\000\000\000\185\000\000\000\142\000\000\0043\000\138\000\157\000\000\000\183\000\147\000\000\000\000\000\152\000\000\000\182\000\183\000\000\000\000\000\138\000\153\000\000\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\002\235\000\151\000\155\000\140\000\000\000\153\000\184\000\000\000\141\000\155\000\185\000\000\000\142\000\184\000\000\000\183\000\157\000\185\000\000\004<\000\000\000\000\000\000\000\157\000\000\000\000\004D\000\152\000\000\000\000\000\183\000\000\000\140\000\000\000\152\000\000\000\000\000\141\000\155\000\000\000\151\000\142\000\184\000\000\002\235\000\140\000\185\000\000\000\000\000\153\000\141\002\235\000\157\000\155\000\142\000\000\000\153\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\151\004\174\000\000\000\138\000\000\000\183\000\000\000\147\000\000\000\152\000\138\000\000\000\183\000\151\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\235\000\000\000\155\000\000\000\000\000\153\000\184\000\000\000\000\000\155\000\185\000\000\000\000\000\184\004\186\000\000\000\157\000\185\000\000\000\000\000\000\000\000\000\152\000\157\000\000\000\000\003r\003s\000\000\000\000\000\183\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\002\235\000\140\000\000\000\142\004\191\000\153\000\141\000\000\000\000\000\138\000\142\000\000\000\152\000\147\000\155\000\000\000\000\004\198\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\152\000\000\000\000\000\157\002\235\000\183\000\151\000\000\000\138\000\153\000\000\000\000\000\147\000\151\000\000\000\000\000\000\002\235\000\140\000\000\003t\000\000\000\153\000\000\003u\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\183\000\000\000\185\000\000\000\000\000\000\000\140\000\000\000\157\000\000\000\000\000\141\000\000\000\183\000\138\000\142\000\138\000\000\000\147\000\000\000\147\000\000\000\000\000\155\000\000\000\000\000\000\000\184\006T\000\000\000\140\000\185\000\000\000\000\000\000\000\141\000\155\000\157\000\000\000\142\000\184\004\207\000\000\000\151\000\185\000\000\000\000\000\000\004\229\000\152\000\157\000\000\000\000\000\000\000\000\000\000\000\152\000\138\000\000\000\000\000\138\000\147\000\000\000\000\000\147\000\000\002\235\000\151\000\000\000\000\000\140\000\153\000\140\002\235\006\180\000\141\000\000\000\141\000\153\000\142\000\000\000\142\000\000\000\000\000\000\000\000\003\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\183\000\000\003\131\000\147\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\151\000\000\000\151\000\000\000\000\004\234\000\140\000\000\000\000\000\140\000\000\000\141\000\155\000\152\000\141\000\142\000\184\000\000\000\142\000\155\000\185\000\000\000\000\000\184\000\000\000\000\000\157\000\185\000\000\004\241\002\235\000\000\000\000\000\157\000\000\000\153\000\000\000\152\000\000\000\000\000\000\000\000\000\000\000\151\000\140\000\000\000\151\000\000\000\138\000\141\000\000\000\000\000\147\000\142\002\235\000\000\003r\003s\003\147\000\153\000\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\000\000\000\003\164\000\147\000\000\000\000\000\000\000\152\000\000\000\152\000\000\000\151\000\000\000\155\000\183\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\006U\000\000\001K\000\157\000\000\000\153\000\000\000\153\000\000\000\000\000\140\000\000\000\000\000\155\000\000\000\141\000\000\000\184\000\140\000\142\003t\000\185\000\000\000\000\003u\000\000\000\152\000\157\000\000\000\152\000\183\000\140\000\183\000\138\000\000\000\000\000\141\000\147\000\000\000\000\000\142\000\000\000\000\001q\000\000\000\000\006U\000\151\000\153\000\000\000\000\000\153\000\000\000\155\000\000\000\155\000\000\000\184\000\000\000\184\000\000\000\185\000\138\000\185\000\152\000\000\000\147\000\157\000\151\000\157\000\000\000\000\000\000\000\183\000\000\000\138\000\183\000\000\000\000\000\147\000\000\001\138\000\000\000\000\000\000\000\000\000\153\000\000\000\138\000\140\000\000\000\000\000\147\000\000\000\141\000\000\000\155\000\000\000\142\000\155\000\184\000\000\000\000\000\184\000\185\000\000\000\000\000\185\000\138\000\000\000\157\000\183\000\147\000\157\000\000\000\000\003r\003s\000\140\000\000\003\130\000\000\000\000\000\141\000\152\000\000\000\151\000\142\000\000\000\000\000\000\000\140\003\131\000\000\000\155\000\000\000\141\000\000\000\184\000\000\000\142\001\185\000\185\000\000\000\140\000\152\000\153\000\000\000\157\000\141\000\000\000\000\000\000\000\142\000\000\000\151\003r\003s\000\000\000\000\000\000\000\000\002\155\000\000\000\140\000\000\000\000\000\153\000\151\000\141\000\000\000\183\000\140\000\142\003t\000\000\000\000\002\193\003u\000\138\002\197\000\151\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\183\000\000\000\155\000\147\000\000\000\000\000\184\003\147\000\000\000\151\000\185\000\152\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\140\003\166\003t\000\155\000\000\000\000\003u\000\184\002\159\000\000\000\000\000\185\000\000\000\153\000\000\000\000\000\000\000\157\000\000\000\000\000\152\002\238\000\000\000\140\000\000\002\198\000\000\000\000\000\141\002\199\000\000\000\000\000\142\000\152\000\000\000\140\000\000\002\206\000\183\000\000\000\141\000\000\000\153\000\000\000\142\000\000\000\152\000\000\000\000\000\000\002\221\000\000\000\000\000\000\000\138\000\153\000\000\000\000\000\147\000\000\000\151\000\155\003\130\002\223\000\000\000\184\000\152\000\183\000\153\000\185\000\000\000\000\000\151\000\000\003\131\000\157\000\000\000\000\000\000\000\000\000\183\000\000\000\000\003|\000\000\000\000\000\000\000\138\000\153\000\000\000\155\000\147\000\000\000\183\000\184\000\000\000\000\000\000\000\185\000\000\003r\003s\003\130\000\155\000\157\000\000\002\239\000\184\000\138\000\000\000\140\000\185\000\147\000\183\003\131\000\141\000\155\000\157\000\000\000\142\000\184\000\000\000\000\002\212\000\185\000\000\003\030\000\138\000\000\000\138\000\157\000\147\002\242\000\147\000\000\002\213\000\155\000\152\000\000\000\000\000\184\003\147\000\000\000\140\000\185\000\000\000\000\000\151\000\141\000\152\000\157\000\000\000\142\000\000\003\187\003\168\000\140\000\000\003t\000\153\002\245\000\000\003u\000\000\000\140\000\000\003\192\000\000\000\000\000\141\000\000\000\153\000\000\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\151\003\147\000\000\000\140\000\183\000\140\000\000\000\138\000\141\000\000\000\141\000\147\000\142\000\000\000\142\003\170\000\183\003!\000\138\000\000\000\000\000\151\000\147\000\000\002\247\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\002\248\000\155\000\151\000\157\000\151\000\184\000\152\000\000\000\000\000\185\000\000\000\000\000\000\000\138\000\000\000\157\000\000\000\147\000\000\000\000\000\000\000\000\000\000\003\196\000\000\000\140\000\000\000\000\000\153\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\140\000\000\000\000\000\152\003\130\000\141\000\000\000\000\000\000\000\142\000\000\000\000\000\000\000\000\000\000\000\000\003\131\000\183\000\000\000\138\003\217\000\000\000\000\000\147\000\152\000\153\000\151\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\138\000\000\000\151\000\141\000\147\000\155\004\000\000\142\000\152\000\184\000\152\000\153\000\000\000\185\000\000\000\183\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\000\000\000\004\162\000\000\005\008\000\000\000\000\000\153\000\000\000\153\000\000\000\000\000\151\000\183\000\000\000\155\000\138\000\140\000\000\000\184\000\147\000\000\000\141\000\185\000\000\003\147\000\142\000\000\000\000\000\157\000\000\000\000\000\183\000\140\000\183\000\000\000\155\000\000\000\141\003\176\000\184\000\000\000\142\000\000\000\185\000\152\003r\003s\000\000\000\138\000\157\000\000\000\000\000\149\000\151\000\155\000\152\000\155\000\000\000\184\000\000\000\184\005\028\000\185\000\000\000\185\000\000\000\153\000\000\000\157\000\151\000\157\000\140\005\030\000\000\000\000\000\000\000\141\000\153\002\193\000\000\000\142\002\197\000\000\000\000\000\000\000\000\000\000\000\000\000\152\000\000\000\000\000\183\000\000\000\000\000\138\000\000\000\000\000\000\000\149\000\000\000\000\000\140\000\183\003t\000\140\005 \000\000\003u\000\151\000\141\000\153\000\000\000\000\000\142\000\155\000\000\000\000\000\000\000\184\000\000\003r\003s\000\185\000\000\000\000\000\155\000\000\000\000\000\157\000\184\000\152\000\000\000\000\000\185\002\238\000\183\000\000\000\000\002\198\000\157\000\000\000\151\002\199\000\000\000\000\000\000\000\152\005&\000\000\000\000\000\140\000\000\000\153\000\000\000\000\000\141\000\000\000\000\000\155\000\142\000\000\000\000\000\184\0054\000\000\000\000\000\185\000\000\000\153\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\140\000\183\003t\000\000\000\000\000\000\003u\000\000\000\000\000\152\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\000\000\000\000\000\000\155\000\000\005B\003\130\000\184\000\000\000\000\000\153\000\185\000\000\000\000\000\000\000\000\000\000\000\157\003\131\000\155\000\000\000\152\002\239\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\183\000\000\000\000\000\000\002\212\000\000\000\000\002\244\000\153\000\000\000\000\000\000\000\000\002\242\000\000\000\000\002\213\000\000\000\000\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\152\000\154\000\000\000\000\000\000\000\157\000\000\000\000\000\000\002\245\000\000\000\000\000\000\000\000\003\130\000\000\000\000\000\000\003\147\000\000\000\000\000\000\000\153\000\000\000\155\000\000\003\131\000\000\000\000\003\139\000\000\000\000\003\178\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\154\000\000\000\000\000\000\000\000\000\000\002\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\248\000\000\000\000\000\155\000\000\000\000\000\000\000\000\003\141\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\180"))
1423
1424 let semantic_action =
1425 [|
1426 (fun _menhir_env ->
1427 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1428 let {
1429 MenhirLib.EngineTypes.state = _menhir_s;
1430 MenhirLib.EngineTypes.semv = _1;
1431 MenhirLib.EngineTypes.startp = _startpos__1_;
1432 MenhirLib.EngineTypes.endp = _endpos__1_;
1433 MenhirLib.EngineTypes.next = _menhir_stack;
1434 } = _menhir_stack in
1435 raise (MenhirLib.TableInterpreter.Accept _1));
1436 (fun _menhir_env ->
1437 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1438 let {
1439 MenhirLib.EngineTypes.state = _menhir_s;
1440 MenhirLib.EngineTypes.semv = _1;
1441 MenhirLib.EngineTypes.startp = _startpos__1_;
1442 MenhirLib.EngineTypes.endp = _endpos__1_;
1443 MenhirLib.EngineTypes.next = _menhir_stack;
1444 } = _menhir_stack in
1445 raise (MenhirLib.TableInterpreter.Accept _1));
1446 (fun _menhir_env ->
1447 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1448 let {
1449 MenhirLib.EngineTypes.state = _menhir_s;
1450 MenhirLib.EngineTypes.semv = _1;
1451 MenhirLib.EngineTypes.startp = _startpos__1_;
1452 MenhirLib.EngineTypes.endp = _endpos__1_;
1453 MenhirLib.EngineTypes.next = _menhir_stack;
1454 } = _menhir_stack in
1455 raise (MenhirLib.TableInterpreter.Accept _1));
1456 (fun _menhir_env ->
1457 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1458 let {
1459 MenhirLib.EngineTypes.state = _menhir_s;
1460 MenhirLib.EngineTypes.semv = _1;
1461 MenhirLib.EngineTypes.startp = _startpos__1_;
1462 MenhirLib.EngineTypes.endp = _endpos__1_;
1463 MenhirLib.EngineTypes.next = _menhir_stack;
1464 } = _menhir_stack in
1465 raise (MenhirLib.TableInterpreter.Accept _1));
1466 (fun _menhir_env ->
1467 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1468 let {
1469 MenhirLib.EngineTypes.state = _menhir_s;
1470 MenhirLib.EngineTypes.semv = _1;
1471 MenhirLib.EngineTypes.startp = _startpos__1_;
1472 MenhirLib.EngineTypes.endp = _endpos__1_;
1473 MenhirLib.EngineTypes.next = _menhir_stack;
1474 } = _menhir_stack in
1475 raise (MenhirLib.TableInterpreter.Accept _1));
1476 (fun _menhir_env ->
1477 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1478 let {
1479 MenhirLib.EngineTypes.state = _menhir_s;
1480 MenhirLib.EngineTypes.semv = _1;
1481 MenhirLib.EngineTypes.startp = _startpos__1_;
1482 MenhirLib.EngineTypes.endp = _endpos__1_;
1483 MenhirLib.EngineTypes.next = _menhir_stack;
1484 } = _menhir_stack in
1485 raise (MenhirLib.TableInterpreter.Accept _1));
1486 (fun _menhir_env ->
1487 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1488 let {
1489 MenhirLib.EngineTypes.state = _menhir_s;
1490 MenhirLib.EngineTypes.semv = _1;
1491 MenhirLib.EngineTypes.startp = _startpos__1_;
1492 MenhirLib.EngineTypes.endp = _endpos__1_;
1493 MenhirLib.EngineTypes.next = _menhir_stack;
1494 } = _menhir_stack in
1495 raise (MenhirLib.TableInterpreter.Accept _1));
1496 (fun _menhir_env ->
1497 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1498 let {
1499 MenhirLib.EngineTypes.state = _menhir_s;
1500 MenhirLib.EngineTypes.semv = _1;
1501 MenhirLib.EngineTypes.startp = _startpos__1_;
1502 MenhirLib.EngineTypes.endp = _endpos__1_;
1503 MenhirLib.EngineTypes.next = _menhir_stack;
1504 } = _menhir_stack in
1505 raise (MenhirLib.TableInterpreter.Accept _1));
1506 (fun _menhir_env ->
1507 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1508 let {
1509 MenhirLib.EngineTypes.state = _menhir_s;
1510 MenhirLib.EngineTypes.semv = _1;
1511 MenhirLib.EngineTypes.startp = _startpos__1_;
1512 MenhirLib.EngineTypes.endp = _endpos__1_;
1513 MenhirLib.EngineTypes.next = _menhir_stack;
1514 } = _menhir_stack in
1515 raise (MenhirLib.TableInterpreter.Accept _1));
1516 (fun _menhir_env ->
1517 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1518 let {
1519 MenhirLib.EngineTypes.state = _menhir_s;
1520 MenhirLib.EngineTypes.semv = _1;
1521 MenhirLib.EngineTypes.startp = _startpos__1_;
1522 MenhirLib.EngineTypes.endp = _endpos__1_;
1523 MenhirLib.EngineTypes.next = _menhir_stack;
1524 } = _menhir_stack in
1525 raise (MenhirLib.TableInterpreter.Accept _1));
1526 (fun _menhir_env ->
1527 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1528 let {
1529 MenhirLib.EngineTypes.state = _menhir_s;
1530 MenhirLib.EngineTypes.semv = _1;
1531 MenhirLib.EngineTypes.startp = _startpos__1_;
1532 MenhirLib.EngineTypes.endp = _endpos__1_;
1533 MenhirLib.EngineTypes.next = _menhir_stack;
1534 } = _menhir_stack in
1535 raise (MenhirLib.TableInterpreter.Accept _1));
1536 (fun _menhir_env ->
1537 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1538 let {
1539 MenhirLib.EngineTypes.state = _menhir_s;
1540 MenhirLib.EngineTypes.semv = _1;
1541 MenhirLib.EngineTypes.startp = _startpos__1_;
1542 MenhirLib.EngineTypes.endp = _endpos__1_;
1543 MenhirLib.EngineTypes.next = _menhir_stack;
1544 } = _menhir_stack in
1545 raise (MenhirLib.TableInterpreter.Accept _1));
1546 (fun _menhir_env ->
1547 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1548 let {
1549 MenhirLib.EngineTypes.state = _menhir_s;
1550 MenhirLib.EngineTypes.semv = _1;
1551 MenhirLib.EngineTypes.startp = _startpos__1_;
1552 MenhirLib.EngineTypes.endp = _endpos__1_;
1553 MenhirLib.EngineTypes.next = _menhir_stack;
1554 } = _menhir_stack in
1555 raise (MenhirLib.TableInterpreter.Accept _1));
1556 (fun _menhir_env ->
1557 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1558 let {
1559 MenhirLib.EngineTypes.state = _menhir_s;
1560 MenhirLib.EngineTypes.semv = _1;
1561 MenhirLib.EngineTypes.startp = _startpos__1_;
1562 MenhirLib.EngineTypes.endp = _endpos__1_;
1563 MenhirLib.EngineTypes.next = _menhir_stack;
1564 } = _menhir_stack in
1565 let _1 : 'tv_eexpr = Obj.magic _1 in
1566 let _startpos = _startpos__1_ in
1567 let _endpos = _endpos__1_ in
1568 let _v : 'tv_aexpr =
1569 # 1936 "parser_cocci_menhir.mly"
1570 ( Ast0.set_arg_exp _1 )
1571 # 1572 "parser_cocci_menhir.ml"
1572 in
1573 _menhir_env.MenhirLib.EngineTypes.stack <- {
1574 MenhirLib.EngineTypes.state = _menhir_s;
1575 MenhirLib.EngineTypes.semv = Obj.repr _v;
1576 MenhirLib.EngineTypes.startp = _startpos;
1577 MenhirLib.EngineTypes.endp = _endpos;
1578 MenhirLib.EngineTypes.next = _menhir_stack;
1579 });
1580 (fun _menhir_env ->
1581 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1582 let {
1583 MenhirLib.EngineTypes.state = _menhir_s;
1584 MenhirLib.EngineTypes.semv = _1;
1585 MenhirLib.EngineTypes.startp = _startpos__1_;
1586 MenhirLib.EngineTypes.endp = _endpos__1_;
1587 MenhirLib.EngineTypes.next = _menhir_stack;
1588 } = _menhir_stack in
1589 let _1 : (
1590 # 69 "parser_cocci_menhir.mly"
1591 (Parse_aux.list_info)
1592 # 1593 "parser_cocci_menhir.ml"
1593 ) = Obj.magic _1 in
1594 let _startpos = _startpos__1_ in
1595 let _endpos = _endpos__1_ in
1596 let _v : 'tv_aexpr =
1597 # 1938 "parser_cocci_menhir.mly"
1598 ( let (nm,lenname,pure,clt) = _1 in
1599 let nm = P.clt2mcode nm clt in
1600 let lenname =
1601 match lenname with
1602 Some nm -> Some(P.clt2mcode nm clt)
1603 | None -> None in
1604 Ast0.wrap(Ast0.MetaExprList(nm,lenname,pure)) )
1605 # 1606 "parser_cocci_menhir.ml"
1606 in
1607 _menhir_env.MenhirLib.EngineTypes.stack <- {
1608 MenhirLib.EngineTypes.state = _menhir_s;
1609 MenhirLib.EngineTypes.semv = Obj.repr _v;
1610 MenhirLib.EngineTypes.startp = _startpos;
1611 MenhirLib.EngineTypes.endp = _endpos;
1612 MenhirLib.EngineTypes.next = _menhir_stack;
1613 });
1614 (fun _menhir_env ->
1615 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1616 let {
1617 MenhirLib.EngineTypes.state = _menhir_s;
1618 MenhirLib.EngineTypes.semv = _1;
1619 MenhirLib.EngineTypes.startp = _startpos__1_;
1620 MenhirLib.EngineTypes.endp = _endpos__1_;
1621 MenhirLib.EngineTypes.next = _menhir_stack;
1622 } = _menhir_stack in
1623 let _1 : 'tv_ctype = Obj.magic _1 in
1624 let _startpos = _startpos__1_ in
1625 let _endpos = _endpos__1_ in
1626 let _v : 'tv_aexpr =
1627 # 1946 "parser_cocci_menhir.mly"
1628 ( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) )
1629 # 1630 "parser_cocci_menhir.ml"
1630 in
1631 _menhir_env.MenhirLib.EngineTypes.stack <- {
1632 MenhirLib.EngineTypes.state = _menhir_s;
1633 MenhirLib.EngineTypes.semv = Obj.repr _v;
1634 MenhirLib.EngineTypes.startp = _startpos;
1635 MenhirLib.EngineTypes.endp = _endpos;
1636 MenhirLib.EngineTypes.next = _menhir_stack;
1637 });
1638 (fun _menhir_env ->
1639 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1640 let {
1641 MenhirLib.EngineTypes.state = _menhir_s;
1642 MenhirLib.EngineTypes.startp = _startpos__1_;
1643 MenhirLib.EngineTypes.endp = _endpos__1_;
1644 MenhirLib.EngineTypes.next = _menhir_stack;
1645 } = _menhir_stack in
1646 let _startpos = _startpos__1_ in
1647 let _endpos = _endpos__1_ in
1648 let _v : 'tv_any_strict =
1649 # 1990 "parser_cocci_menhir.mly"
1650 ( Ast.WhenAny )
1651 # 1652 "parser_cocci_menhir.ml"
1652 in
1653 _menhir_env.MenhirLib.EngineTypes.stack <- {
1654 MenhirLib.EngineTypes.state = _menhir_s;
1655 MenhirLib.EngineTypes.semv = Obj.repr _v;
1656 MenhirLib.EngineTypes.startp = _startpos;
1657 MenhirLib.EngineTypes.endp = _endpos;
1658 MenhirLib.EngineTypes.next = _menhir_stack;
1659 });
1660 (fun _menhir_env ->
1661 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1662 let {
1663 MenhirLib.EngineTypes.state = _menhir_s;
1664 MenhirLib.EngineTypes.startp = _startpos__1_;
1665 MenhirLib.EngineTypes.endp = _endpos__1_;
1666 MenhirLib.EngineTypes.next = _menhir_stack;
1667 } = _menhir_stack in
1668 let _startpos = _startpos__1_ in
1669 let _endpos = _endpos__1_ in
1670 let _v : 'tv_any_strict =
1671 # 1991 "parser_cocci_menhir.mly"
1672 ( Ast.WhenStrict )
1673 # 1674 "parser_cocci_menhir.ml"
1674 in
1675 _menhir_env.MenhirLib.EngineTypes.stack <- {
1676 MenhirLib.EngineTypes.state = _menhir_s;
1677 MenhirLib.EngineTypes.semv = Obj.repr _v;
1678 MenhirLib.EngineTypes.startp = _startpos;
1679 MenhirLib.EngineTypes.endp = _endpos;
1680 MenhirLib.EngineTypes.next = _menhir_stack;
1681 });
1682 (fun _menhir_env ->
1683 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1684 let {
1685 MenhirLib.EngineTypes.state = _menhir_s;
1686 MenhirLib.EngineTypes.startp = _startpos__1_;
1687 MenhirLib.EngineTypes.endp = _endpos__1_;
1688 MenhirLib.EngineTypes.next = _menhir_stack;
1689 } = _menhir_stack in
1690 let _startpos = _startpos__1_ in
1691 let _endpos = _endpos__1_ in
1692 let _v : 'tv_any_strict =
1693 # 1992 "parser_cocci_menhir.mly"
1694 ( Ast.WhenForall )
1695 # 1696 "parser_cocci_menhir.ml"
1696 in
1697 _menhir_env.MenhirLib.EngineTypes.stack <- {
1698 MenhirLib.EngineTypes.state = _menhir_s;
1699 MenhirLib.EngineTypes.semv = Obj.repr _v;
1700 MenhirLib.EngineTypes.startp = _startpos;
1701 MenhirLib.EngineTypes.endp = _endpos;
1702 MenhirLib.EngineTypes.next = _menhir_stack;
1703 });
1704 (fun _menhir_env ->
1705 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1706 let {
1707 MenhirLib.EngineTypes.state = _menhir_s;
1708 MenhirLib.EngineTypes.startp = _startpos__1_;
1709 MenhirLib.EngineTypes.endp = _endpos__1_;
1710 MenhirLib.EngineTypes.next = _menhir_stack;
1711 } = _menhir_stack in
1712 let _startpos = _startpos__1_ in
1713 let _endpos = _endpos__1_ in
1714 let _v : 'tv_any_strict =
1715 # 1993 "parser_cocci_menhir.mly"
1716 ( Ast.WhenExists )
1717 # 1718 "parser_cocci_menhir.ml"
1718 in
1719 _menhir_env.MenhirLib.EngineTypes.stack <- {
1720 MenhirLib.EngineTypes.state = _menhir_s;
1721 MenhirLib.EngineTypes.semv = Obj.repr _v;
1722 MenhirLib.EngineTypes.startp = _startpos;
1723 MenhirLib.EngineTypes.endp = _endpos;
1724 MenhirLib.EngineTypes.next = _menhir_stack;
1725 });
1726 (fun _menhir_env ->
1727 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1728 let {
1729 MenhirLib.EngineTypes.state = _menhir_s;
1730 MenhirLib.EngineTypes.semv = _1;
1731 MenhirLib.EngineTypes.startp = _startpos__1_;
1732 MenhirLib.EngineTypes.endp = _endpos__1_;
1733 MenhirLib.EngineTypes.next = _menhir_stack;
1734 } = _menhir_stack in
1735 let _1 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1736 let _startpos = _startpos__1_ in
1737 let _endpos = _endpos__1_ in
1738 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1739 # 1297 "parser_cocci_menhir.mly"
1740 ( _1 )
1741 # 1742 "parser_cocci_menhir.ml"
1742 in
1743 _menhir_env.MenhirLib.EngineTypes.stack <- {
1744 MenhirLib.EngineTypes.state = _menhir_s;
1745 MenhirLib.EngineTypes.semv = Obj.repr _v;
1746 MenhirLib.EngineTypes.startp = _startpos;
1747 MenhirLib.EngineTypes.endp = _endpos;
1748 MenhirLib.EngineTypes.next = _menhir_stack;
1749 });
1750 (fun _menhir_env ->
1751 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1752 let {
1753 MenhirLib.EngineTypes.semv = _3;
1754 MenhirLib.EngineTypes.startp = _startpos__3_;
1755 MenhirLib.EngineTypes.endp = _endpos__3_;
1756 MenhirLib.EngineTypes.next = {
1757 MenhirLib.EngineTypes.semv = _2;
1758 MenhirLib.EngineTypes.startp = _startpos__2_;
1759 MenhirLib.EngineTypes.endp = _endpos__2_;
1760 MenhirLib.EngineTypes.next = {
1761 MenhirLib.EngineTypes.state = _menhir_s;
1762 MenhirLib.EngineTypes.semv = _1;
1763 MenhirLib.EngineTypes.startp = _startpos__1_;
1764 MenhirLib.EngineTypes.endp = _endpos__1_;
1765 MenhirLib.EngineTypes.next = _menhir_stack;
1766 };
1767 };
1768 } = _menhir_stack in
1769 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1770 let _2 : (
1771 # 102 "parser_cocci_menhir.mly"
1772 (Data.clt)
1773 # 1774 "parser_cocci_menhir.ml"
1774 ) = Obj.magic _2 in
1775 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1776 let _startpos = _startpos__1_ in
1777 let _endpos = _endpos__3_ in
1778 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1779 # 1299 "parser_cocci_menhir.mly"
1780 ( P.arith_op Ast.Mul _1 _2 _3 )
1781 # 1782 "parser_cocci_menhir.ml"
1782 in
1783 _menhir_env.MenhirLib.EngineTypes.stack <- {
1784 MenhirLib.EngineTypes.state = _menhir_s;
1785 MenhirLib.EngineTypes.semv = Obj.repr _v;
1786 MenhirLib.EngineTypes.startp = _startpos;
1787 MenhirLib.EngineTypes.endp = _endpos;
1788 MenhirLib.EngineTypes.next = _menhir_stack;
1789 });
1790 (fun _menhir_env ->
1791 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1792 let {
1793 MenhirLib.EngineTypes.semv = _3;
1794 MenhirLib.EngineTypes.startp = _startpos__3_;
1795 MenhirLib.EngineTypes.endp = _endpos__3_;
1796 MenhirLib.EngineTypes.next = {
1797 MenhirLib.EngineTypes.semv = _2;
1798 MenhirLib.EngineTypes.startp = _startpos__2_;
1799 MenhirLib.EngineTypes.endp = _endpos__2_;
1800 MenhirLib.EngineTypes.next = {
1801 MenhirLib.EngineTypes.state = _menhir_s;
1802 MenhirLib.EngineTypes.semv = _1;
1803 MenhirLib.EngineTypes.startp = _startpos__1_;
1804 MenhirLib.EngineTypes.endp = _endpos__1_;
1805 MenhirLib.EngineTypes.next = _menhir_stack;
1806 };
1807 };
1808 } = _menhir_stack in
1809 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1810 let _2 : (
1811 # 100 "parser_cocci_menhir.mly"
1812 (Ast_cocci.arithOp * Data.clt)
1813 # 1814 "parser_cocci_menhir.ml"
1814 ) = Obj.magic _2 in
1815 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1816 let _startpos = _startpos__1_ in
1817 let _endpos = _endpos__3_ in
1818 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1819 # 1301 "parser_cocci_menhir.mly"
1820 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
1821 # 1822 "parser_cocci_menhir.ml"
1822 in
1823 _menhir_env.MenhirLib.EngineTypes.stack <- {
1824 MenhirLib.EngineTypes.state = _menhir_s;
1825 MenhirLib.EngineTypes.semv = Obj.repr _v;
1826 MenhirLib.EngineTypes.startp = _startpos;
1827 MenhirLib.EngineTypes.endp = _endpos;
1828 MenhirLib.EngineTypes.next = _menhir_stack;
1829 });
1830 (fun _menhir_env ->
1831 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1832 let {
1833 MenhirLib.EngineTypes.semv = _3;
1834 MenhirLib.EngineTypes.startp = _startpos__3_;
1835 MenhirLib.EngineTypes.endp = _endpos__3_;
1836 MenhirLib.EngineTypes.next = {
1837 MenhirLib.EngineTypes.semv = _2;
1838 MenhirLib.EngineTypes.startp = _startpos__2_;
1839 MenhirLib.EngineTypes.endp = _endpos__2_;
1840 MenhirLib.EngineTypes.next = {
1841 MenhirLib.EngineTypes.state = _menhir_s;
1842 MenhirLib.EngineTypes.semv = _1;
1843 MenhirLib.EngineTypes.startp = _startpos__1_;
1844 MenhirLib.EngineTypes.endp = _endpos__1_;
1845 MenhirLib.EngineTypes.next = _menhir_stack;
1846 };
1847 };
1848 } = _menhir_stack in
1849 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1850 let _2 : (
1851 # 101 "parser_cocci_menhir.mly"
1852 (Data.clt)
1853 # 1854 "parser_cocci_menhir.ml"
1854 ) = Obj.magic _2 in
1855 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1856 let _startpos = _startpos__1_ in
1857 let _endpos = _endpos__3_ in
1858 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1859 # 1303 "parser_cocci_menhir.mly"
1860 ( P.arith_op Ast.Plus _1 _2 _3 )
1861 # 1862 "parser_cocci_menhir.ml"
1862 in
1863 _menhir_env.MenhirLib.EngineTypes.stack <- {
1864 MenhirLib.EngineTypes.state = _menhir_s;
1865 MenhirLib.EngineTypes.semv = Obj.repr _v;
1866 MenhirLib.EngineTypes.startp = _startpos;
1867 MenhirLib.EngineTypes.endp = _endpos;
1868 MenhirLib.EngineTypes.next = _menhir_stack;
1869 });
1870 (fun _menhir_env ->
1871 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1872 let {
1873 MenhirLib.EngineTypes.semv = _3;
1874 MenhirLib.EngineTypes.startp = _startpos__3_;
1875 MenhirLib.EngineTypes.endp = _endpos__3_;
1876 MenhirLib.EngineTypes.next = {
1877 MenhirLib.EngineTypes.semv = _2;
1878 MenhirLib.EngineTypes.startp = _startpos__2_;
1879 MenhirLib.EngineTypes.endp = _endpos__2_;
1880 MenhirLib.EngineTypes.next = {
1881 MenhirLib.EngineTypes.state = _menhir_s;
1882 MenhirLib.EngineTypes.semv = _1;
1883 MenhirLib.EngineTypes.startp = _startpos__1_;
1884 MenhirLib.EngineTypes.endp = _endpos__1_;
1885 MenhirLib.EngineTypes.next = _menhir_stack;
1886 };
1887 };
1888 } = _menhir_stack in
1889 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1890 let _2 : (
1891 # 101 "parser_cocci_menhir.mly"
1892 (Data.clt)
1893 # 1894 "parser_cocci_menhir.ml"
1894 ) = Obj.magic _2 in
1895 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1896 let _startpos = _startpos__1_ in
1897 let _endpos = _endpos__3_ in
1898 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1899 # 1305 "parser_cocci_menhir.mly"
1900 ( P.arith_op Ast.Minus _1 _2 _3 )
1901 # 1902 "parser_cocci_menhir.ml"
1902 in
1903 _menhir_env.MenhirLib.EngineTypes.stack <- {
1904 MenhirLib.EngineTypes.state = _menhir_s;
1905 MenhirLib.EngineTypes.semv = Obj.repr _v;
1906 MenhirLib.EngineTypes.startp = _startpos;
1907 MenhirLib.EngineTypes.endp = _endpos;
1908 MenhirLib.EngineTypes.next = _menhir_stack;
1909 });
1910 (fun _menhir_env ->
1911 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1912 let {
1913 MenhirLib.EngineTypes.semv = _3;
1914 MenhirLib.EngineTypes.startp = _startpos__3_;
1915 MenhirLib.EngineTypes.endp = _endpos__3_;
1916 MenhirLib.EngineTypes.next = {
1917 MenhirLib.EngineTypes.semv = _2;
1918 MenhirLib.EngineTypes.startp = _startpos__2_;
1919 MenhirLib.EngineTypes.endp = _endpos__2_;
1920 MenhirLib.EngineTypes.next = {
1921 MenhirLib.EngineTypes.state = _menhir_s;
1922 MenhirLib.EngineTypes.semv = _1;
1923 MenhirLib.EngineTypes.startp = _startpos__1_;
1924 MenhirLib.EngineTypes.endp = _endpos__1_;
1925 MenhirLib.EngineTypes.next = _menhir_stack;
1926 };
1927 };
1928 } = _menhir_stack in
1929 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1930 let _2 : (
1931 # 99 "parser_cocci_menhir.mly"
1932 (Ast_cocci.arithOp * Data.clt)
1933 # 1934 "parser_cocci_menhir.ml"
1934 ) = Obj.magic _2 in
1935 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1936 let _startpos = _startpos__1_ in
1937 let _endpos = _endpos__3_ in
1938 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1939 # 1307 "parser_cocci_menhir.mly"
1940 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
1941 # 1942 "parser_cocci_menhir.ml"
1942 in
1943 _menhir_env.MenhirLib.EngineTypes.stack <- {
1944 MenhirLib.EngineTypes.state = _menhir_s;
1945 MenhirLib.EngineTypes.semv = Obj.repr _v;
1946 MenhirLib.EngineTypes.startp = _startpos;
1947 MenhirLib.EngineTypes.endp = _endpos;
1948 MenhirLib.EngineTypes.next = _menhir_stack;
1949 });
1950 (fun _menhir_env ->
1951 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1952 let {
1953 MenhirLib.EngineTypes.semv = _3;
1954 MenhirLib.EngineTypes.startp = _startpos__3_;
1955 MenhirLib.EngineTypes.endp = _endpos__3_;
1956 MenhirLib.EngineTypes.next = {
1957 MenhirLib.EngineTypes.semv = _2;
1958 MenhirLib.EngineTypes.startp = _startpos__2_;
1959 MenhirLib.EngineTypes.endp = _endpos__2_;
1960 MenhirLib.EngineTypes.next = {
1961 MenhirLib.EngineTypes.state = _menhir_s;
1962 MenhirLib.EngineTypes.semv = _1;
1963 MenhirLib.EngineTypes.startp = _startpos__1_;
1964 MenhirLib.EngineTypes.endp = _endpos__1_;
1965 MenhirLib.EngineTypes.next = _menhir_stack;
1966 };
1967 };
1968 } = _menhir_stack in
1969 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1970 let _2 : (
1971 # 98 "parser_cocci_menhir.mly"
1972 (Ast_cocci.logicalOp * Data.clt)
1973 # 1974 "parser_cocci_menhir.ml"
1974 ) = Obj.magic _2 in
1975 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1976 let _startpos = _startpos__1_ in
1977 let _endpos = _endpos__3_ in
1978 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1979 # 1309 "parser_cocci_menhir.mly"
1980 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
1981 # 1982 "parser_cocci_menhir.ml"
1982 in
1983 _menhir_env.MenhirLib.EngineTypes.stack <- {
1984 MenhirLib.EngineTypes.state = _menhir_s;
1985 MenhirLib.EngineTypes.semv = Obj.repr _v;
1986 MenhirLib.EngineTypes.startp = _startpos;
1987 MenhirLib.EngineTypes.endp = _endpos;
1988 MenhirLib.EngineTypes.next = _menhir_stack;
1989 });
1990 (fun _menhir_env ->
1991 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1992 let {
1993 MenhirLib.EngineTypes.semv = _3;
1994 MenhirLib.EngineTypes.startp = _startpos__3_;
1995 MenhirLib.EngineTypes.endp = _endpos__3_;
1996 MenhirLib.EngineTypes.next = {
1997 MenhirLib.EngineTypes.semv = _2;
1998 MenhirLib.EngineTypes.startp = _startpos__2_;
1999 MenhirLib.EngineTypes.endp = _endpos__2_;
2000 MenhirLib.EngineTypes.next = {
2001 MenhirLib.EngineTypes.state = _menhir_s;
2002 MenhirLib.EngineTypes.semv = _1;
2003 MenhirLib.EngineTypes.startp = _startpos__1_;
2004 MenhirLib.EngineTypes.endp = _endpos__1_;
2005 MenhirLib.EngineTypes.next = _menhir_stack;
2006 };
2007 };
2008 } = _menhir_stack in
2009 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2010 let _2 : (
2011 # 97 "parser_cocci_menhir.mly"
2012 (Data.clt)
2013 # 2014 "parser_cocci_menhir.ml"
2014 ) = Obj.magic _2 in
2015 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2016 let _startpos = _startpos__1_ in
2017 let _endpos = _endpos__3_ in
2018 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2019 # 1311 "parser_cocci_menhir.mly"
2020 ( P.logic_op Ast.Eq _1 _2 _3 )
2021 # 2022 "parser_cocci_menhir.ml"
2022 in
2023 _menhir_env.MenhirLib.EngineTypes.stack <- {
2024 MenhirLib.EngineTypes.state = _menhir_s;
2025 MenhirLib.EngineTypes.semv = Obj.repr _v;
2026 MenhirLib.EngineTypes.startp = _startpos;
2027 MenhirLib.EngineTypes.endp = _endpos;
2028 MenhirLib.EngineTypes.next = _menhir_stack;
2029 });
2030 (fun _menhir_env ->
2031 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2032 let {
2033 MenhirLib.EngineTypes.semv = _3;
2034 MenhirLib.EngineTypes.startp = _startpos__3_;
2035 MenhirLib.EngineTypes.endp = _endpos__3_;
2036 MenhirLib.EngineTypes.next = {
2037 MenhirLib.EngineTypes.semv = _2;
2038 MenhirLib.EngineTypes.startp = _startpos__2_;
2039 MenhirLib.EngineTypes.endp = _endpos__2_;
2040 MenhirLib.EngineTypes.next = {
2041 MenhirLib.EngineTypes.state = _menhir_s;
2042 MenhirLib.EngineTypes.semv = _1;
2043 MenhirLib.EngineTypes.startp = _startpos__1_;
2044 MenhirLib.EngineTypes.endp = _endpos__1_;
2045 MenhirLib.EngineTypes.next = _menhir_stack;
2046 };
2047 };
2048 } = _menhir_stack in
2049 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2050 let _2 : (
2051 # 97 "parser_cocci_menhir.mly"
2052 (Data.clt)
2053 # 2054 "parser_cocci_menhir.ml"
2054 ) = Obj.magic _2 in
2055 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2056 let _startpos = _startpos__1_ in
2057 let _endpos = _endpos__3_ in
2058 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2059 # 1313 "parser_cocci_menhir.mly"
2060 ( P.logic_op Ast.NotEq _1 _2 _3 )
2061 # 2062 "parser_cocci_menhir.ml"
2062 in
2063 _menhir_env.MenhirLib.EngineTypes.stack <- {
2064 MenhirLib.EngineTypes.state = _menhir_s;
2065 MenhirLib.EngineTypes.semv = Obj.repr _v;
2066 MenhirLib.EngineTypes.startp = _startpos;
2067 MenhirLib.EngineTypes.endp = _endpos;
2068 MenhirLib.EngineTypes.next = _menhir_stack;
2069 });
2070 (fun _menhir_env ->
2071 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2072 let {
2073 MenhirLib.EngineTypes.semv = _3;
2074 MenhirLib.EngineTypes.startp = _startpos__3_;
2075 MenhirLib.EngineTypes.endp = _endpos__3_;
2076 MenhirLib.EngineTypes.next = {
2077 MenhirLib.EngineTypes.semv = _2;
2078 MenhirLib.EngineTypes.startp = _startpos__2_;
2079 MenhirLib.EngineTypes.endp = _endpos__2_;
2080 MenhirLib.EngineTypes.next = {
2081 MenhirLib.EngineTypes.state = _menhir_s;
2082 MenhirLib.EngineTypes.semv = _1;
2083 MenhirLib.EngineTypes.startp = _startpos__1_;
2084 MenhirLib.EngineTypes.endp = _endpos__1_;
2085 MenhirLib.EngineTypes.next = _menhir_stack;
2086 };
2087 };
2088 } = _menhir_stack in
2089 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2090 let _2 : (
2091 # 96 "parser_cocci_menhir.mly"
2092 (Data.clt)
2093 # 2094 "parser_cocci_menhir.ml"
2094 ) = Obj.magic _2 in
2095 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2096 let _startpos = _startpos__1_ in
2097 let _endpos = _endpos__3_ in
2098 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2099 # 1315 "parser_cocci_menhir.mly"
2100 ( P.arith_op Ast.And _1 _2 _3 )
2101 # 2102 "parser_cocci_menhir.ml"
2102 in
2103 _menhir_env.MenhirLib.EngineTypes.stack <- {
2104 MenhirLib.EngineTypes.state = _menhir_s;
2105 MenhirLib.EngineTypes.semv = Obj.repr _v;
2106 MenhirLib.EngineTypes.startp = _startpos;
2107 MenhirLib.EngineTypes.endp = _endpos;
2108 MenhirLib.EngineTypes.next = _menhir_stack;
2109 });
2110 (fun _menhir_env ->
2111 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2112 let {
2113 MenhirLib.EngineTypes.semv = _3;
2114 MenhirLib.EngineTypes.startp = _startpos__3_;
2115 MenhirLib.EngineTypes.endp = _endpos__3_;
2116 MenhirLib.EngineTypes.next = {
2117 MenhirLib.EngineTypes.semv = _2;
2118 MenhirLib.EngineTypes.startp = _startpos__2_;
2119 MenhirLib.EngineTypes.endp = _endpos__2_;
2120 MenhirLib.EngineTypes.next = {
2121 MenhirLib.EngineTypes.state = _menhir_s;
2122 MenhirLib.EngineTypes.semv = _1;
2123 MenhirLib.EngineTypes.startp = _startpos__1_;
2124 MenhirLib.EngineTypes.endp = _endpos__1_;
2125 MenhirLib.EngineTypes.next = _menhir_stack;
2126 };
2127 };
2128 } = _menhir_stack in
2129 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2130 let _2 : (
2131 # 94 "parser_cocci_menhir.mly"
2132 (Data.clt)
2133 # 2134 "parser_cocci_menhir.ml"
2134 ) = Obj.magic _2 in
2135 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2136 let _startpos = _startpos__1_ in
2137 let _endpos = _endpos__3_ in
2138 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2139 # 1317 "parser_cocci_menhir.mly"
2140 ( P.arith_op Ast.Or _1 _2 _3 )
2141 # 2142 "parser_cocci_menhir.ml"
2142 in
2143 _menhir_env.MenhirLib.EngineTypes.stack <- {
2144 MenhirLib.EngineTypes.state = _menhir_s;
2145 MenhirLib.EngineTypes.semv = Obj.repr _v;
2146 MenhirLib.EngineTypes.startp = _startpos;
2147 MenhirLib.EngineTypes.endp = _endpos;
2148 MenhirLib.EngineTypes.next = _menhir_stack;
2149 });
2150 (fun _menhir_env ->
2151 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2152 let {
2153 MenhirLib.EngineTypes.semv = _3;
2154 MenhirLib.EngineTypes.startp = _startpos__3_;
2155 MenhirLib.EngineTypes.endp = _endpos__3_;
2156 MenhirLib.EngineTypes.next = {
2157 MenhirLib.EngineTypes.semv = _2;
2158 MenhirLib.EngineTypes.startp = _startpos__2_;
2159 MenhirLib.EngineTypes.endp = _endpos__2_;
2160 MenhirLib.EngineTypes.next = {
2161 MenhirLib.EngineTypes.state = _menhir_s;
2162 MenhirLib.EngineTypes.semv = _1;
2163 MenhirLib.EngineTypes.startp = _startpos__1_;
2164 MenhirLib.EngineTypes.endp = _endpos__1_;
2165 MenhirLib.EngineTypes.next = _menhir_stack;
2166 };
2167 };
2168 } = _menhir_stack in
2169 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2170 let _2 : (
2171 # 95 "parser_cocci_menhir.mly"
2172 (Data.clt)
2173 # 2174 "parser_cocci_menhir.ml"
2174 ) = Obj.magic _2 in
2175 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2176 let _startpos = _startpos__1_ in
2177 let _endpos = _endpos__3_ in
2178 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2179 # 1319 "parser_cocci_menhir.mly"
2180 ( P.arith_op Ast.Xor _1 _2 _3 )
2181 # 2182 "parser_cocci_menhir.ml"
2182 in
2183 _menhir_env.MenhirLib.EngineTypes.stack <- {
2184 MenhirLib.EngineTypes.state = _menhir_s;
2185 MenhirLib.EngineTypes.semv = Obj.repr _v;
2186 MenhirLib.EngineTypes.startp = _startpos;
2187 MenhirLib.EngineTypes.endp = _endpos;
2188 MenhirLib.EngineTypes.next = _menhir_stack;
2189 });
2190 (fun _menhir_env ->
2191 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2192 let {
2193 MenhirLib.EngineTypes.semv = _3;
2194 MenhirLib.EngineTypes.startp = _startpos__3_;
2195 MenhirLib.EngineTypes.endp = _endpos__3_;
2196 MenhirLib.EngineTypes.next = {
2197 MenhirLib.EngineTypes.semv = _2;
2198 MenhirLib.EngineTypes.startp = _startpos__2_;
2199 MenhirLib.EngineTypes.endp = _endpos__2_;
2200 MenhirLib.EngineTypes.next = {
2201 MenhirLib.EngineTypes.state = _menhir_s;
2202 MenhirLib.EngineTypes.semv = _1;
2203 MenhirLib.EngineTypes.startp = _startpos__1_;
2204 MenhirLib.EngineTypes.endp = _endpos__1_;
2205 MenhirLib.EngineTypes.next = _menhir_stack;
2206 };
2207 };
2208 } = _menhir_stack in
2209 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2210 let _2 : (
2211 # 93 "parser_cocci_menhir.mly"
2212 (Data.clt)
2213 # 2214 "parser_cocci_menhir.ml"
2214 ) = Obj.magic _2 in
2215 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2216 let _startpos = _startpos__1_ in
2217 let _endpos = _endpos__3_ in
2218 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2219 # 1321 "parser_cocci_menhir.mly"
2220 ( P.logic_op Ast.AndLog _1 _2 _3 )
2221 # 2222 "parser_cocci_menhir.ml"
2222 in
2223 _menhir_env.MenhirLib.EngineTypes.stack <- {
2224 MenhirLib.EngineTypes.state = _menhir_s;
2225 MenhirLib.EngineTypes.semv = Obj.repr _v;
2226 MenhirLib.EngineTypes.startp = _startpos;
2227 MenhirLib.EngineTypes.endp = _endpos;
2228 MenhirLib.EngineTypes.next = _menhir_stack;
2229 });
2230 (fun _menhir_env ->
2231 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2232 let {
2233 MenhirLib.EngineTypes.semv = _3;
2234 MenhirLib.EngineTypes.startp = _startpos__3_;
2235 MenhirLib.EngineTypes.endp = _endpos__3_;
2236 MenhirLib.EngineTypes.next = {
2237 MenhirLib.EngineTypes.semv = _2;
2238 MenhirLib.EngineTypes.startp = _startpos__2_;
2239 MenhirLib.EngineTypes.endp = _endpos__2_;
2240 MenhirLib.EngineTypes.next = {
2241 MenhirLib.EngineTypes.state = _menhir_s;
2242 MenhirLib.EngineTypes.semv = _1;
2243 MenhirLib.EngineTypes.startp = _startpos__1_;
2244 MenhirLib.EngineTypes.endp = _endpos__1_;
2245 MenhirLib.EngineTypes.next = _menhir_stack;
2246 };
2247 };
2248 } = _menhir_stack in
2249 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2250 let _2 : (
2251 # 92 "parser_cocci_menhir.mly"
2252 (Data.clt)
2253 # 2254 "parser_cocci_menhir.ml"
2254 ) = Obj.magic _2 in
2255 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2256 let _startpos = _startpos__1_ in
2257 let _endpos = _endpos__3_ in
2258 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2259 # 1323 "parser_cocci_menhir.mly"
2260 ( P.logic_op Ast.OrLog _1 _2 _3 )
2261 # 2262 "parser_cocci_menhir.ml"
2262 in
2263 _menhir_env.MenhirLib.EngineTypes.stack <- {
2264 MenhirLib.EngineTypes.state = _menhir_s;
2265 MenhirLib.EngineTypes.semv = Obj.repr _v;
2266 MenhirLib.EngineTypes.startp = _startpos;
2267 MenhirLib.EngineTypes.endp = _endpos;
2268 MenhirLib.EngineTypes.next = _menhir_stack;
2269 });
2270 (fun _menhir_env ->
2271 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2272 let {
2273 MenhirLib.EngineTypes.state = _menhir_s;
2274 MenhirLib.EngineTypes.semv = _1;
2275 MenhirLib.EngineTypes.startp = _startpos__1_;
2276 MenhirLib.EngineTypes.endp = _endpos__1_;
2277 MenhirLib.EngineTypes.next = _menhir_stack;
2278 } = _menhir_stack in
2279 let _1 : 'tv_cast_expr_eexpr_invalid_ = Obj.magic _1 in
2280 let _startpos = _startpos__1_ in
2281 let _endpos = _endpos__1_ in
2282 let _v : 'tv_arith_expr_eexpr_invalid_ =
2283 # 1297 "parser_cocci_menhir.mly"
2284 ( _1 )
2285 # 2286 "parser_cocci_menhir.ml"
2286 in
2287 _menhir_env.MenhirLib.EngineTypes.stack <- {
2288 MenhirLib.EngineTypes.state = _menhir_s;
2289 MenhirLib.EngineTypes.semv = Obj.repr _v;
2290 MenhirLib.EngineTypes.startp = _startpos;
2291 MenhirLib.EngineTypes.endp = _endpos;
2292 MenhirLib.EngineTypes.next = _menhir_stack;
2293 });
2294 (fun _menhir_env ->
2295 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2296 let {
2297 MenhirLib.EngineTypes.semv = _3;
2298 MenhirLib.EngineTypes.startp = _startpos__3_;
2299 MenhirLib.EngineTypes.endp = _endpos__3_;
2300 MenhirLib.EngineTypes.next = {
2301 MenhirLib.EngineTypes.semv = _2;
2302 MenhirLib.EngineTypes.startp = _startpos__2_;
2303 MenhirLib.EngineTypes.endp = _endpos__2_;
2304 MenhirLib.EngineTypes.next = {
2305 MenhirLib.EngineTypes.state = _menhir_s;
2306 MenhirLib.EngineTypes.semv = _1;
2307 MenhirLib.EngineTypes.startp = _startpos__1_;
2308 MenhirLib.EngineTypes.endp = _endpos__1_;
2309 MenhirLib.EngineTypes.next = _menhir_stack;
2310 };
2311 };
2312 } = _menhir_stack in
2313 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2314 let _2 : (
2315 # 102 "parser_cocci_menhir.mly"
2316 (Data.clt)
2317 # 2318 "parser_cocci_menhir.ml"
2318 ) = Obj.magic _2 in
2319 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2320 let _startpos = _startpos__1_ in
2321 let _endpos = _endpos__3_ in
2322 let _v : 'tv_arith_expr_eexpr_invalid_ =
2323 # 1299 "parser_cocci_menhir.mly"
2324 ( P.arith_op Ast.Mul _1 _2 _3 )
2325 # 2326 "parser_cocci_menhir.ml"
2326 in
2327 _menhir_env.MenhirLib.EngineTypes.stack <- {
2328 MenhirLib.EngineTypes.state = _menhir_s;
2329 MenhirLib.EngineTypes.semv = Obj.repr _v;
2330 MenhirLib.EngineTypes.startp = _startpos;
2331 MenhirLib.EngineTypes.endp = _endpos;
2332 MenhirLib.EngineTypes.next = _menhir_stack;
2333 });
2334 (fun _menhir_env ->
2335 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2336 let {
2337 MenhirLib.EngineTypes.semv = _3;
2338 MenhirLib.EngineTypes.startp = _startpos__3_;
2339 MenhirLib.EngineTypes.endp = _endpos__3_;
2340 MenhirLib.EngineTypes.next = {
2341 MenhirLib.EngineTypes.semv = _2;
2342 MenhirLib.EngineTypes.startp = _startpos__2_;
2343 MenhirLib.EngineTypes.endp = _endpos__2_;
2344 MenhirLib.EngineTypes.next = {
2345 MenhirLib.EngineTypes.state = _menhir_s;
2346 MenhirLib.EngineTypes.semv = _1;
2347 MenhirLib.EngineTypes.startp = _startpos__1_;
2348 MenhirLib.EngineTypes.endp = _endpos__1_;
2349 MenhirLib.EngineTypes.next = _menhir_stack;
2350 };
2351 };
2352 } = _menhir_stack in
2353 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2354 let _2 : (
2355 # 100 "parser_cocci_menhir.mly"
2356 (Ast_cocci.arithOp * Data.clt)
2357 # 2358 "parser_cocci_menhir.ml"
2358 ) = Obj.magic _2 in
2359 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2360 let _startpos = _startpos__1_ in
2361 let _endpos = _endpos__3_ in
2362 let _v : 'tv_arith_expr_eexpr_invalid_ =
2363 # 1301 "parser_cocci_menhir.mly"
2364 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2365 # 2366 "parser_cocci_menhir.ml"
2366 in
2367 _menhir_env.MenhirLib.EngineTypes.stack <- {
2368 MenhirLib.EngineTypes.state = _menhir_s;
2369 MenhirLib.EngineTypes.semv = Obj.repr _v;
2370 MenhirLib.EngineTypes.startp = _startpos;
2371 MenhirLib.EngineTypes.endp = _endpos;
2372 MenhirLib.EngineTypes.next = _menhir_stack;
2373 });
2374 (fun _menhir_env ->
2375 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2376 let {
2377 MenhirLib.EngineTypes.semv = _3;
2378 MenhirLib.EngineTypes.startp = _startpos__3_;
2379 MenhirLib.EngineTypes.endp = _endpos__3_;
2380 MenhirLib.EngineTypes.next = {
2381 MenhirLib.EngineTypes.semv = _2;
2382 MenhirLib.EngineTypes.startp = _startpos__2_;
2383 MenhirLib.EngineTypes.endp = _endpos__2_;
2384 MenhirLib.EngineTypes.next = {
2385 MenhirLib.EngineTypes.state = _menhir_s;
2386 MenhirLib.EngineTypes.semv = _1;
2387 MenhirLib.EngineTypes.startp = _startpos__1_;
2388 MenhirLib.EngineTypes.endp = _endpos__1_;
2389 MenhirLib.EngineTypes.next = _menhir_stack;
2390 };
2391 };
2392 } = _menhir_stack in
2393 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2394 let _2 : (
2395 # 101 "parser_cocci_menhir.mly"
2396 (Data.clt)
2397 # 2398 "parser_cocci_menhir.ml"
2398 ) = Obj.magic _2 in
2399 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2400 let _startpos = _startpos__1_ in
2401 let _endpos = _endpos__3_ in
2402 let _v : 'tv_arith_expr_eexpr_invalid_ =
2403 # 1303 "parser_cocci_menhir.mly"
2404 ( P.arith_op Ast.Plus _1 _2 _3 )
2405 # 2406 "parser_cocci_menhir.ml"
2406 in
2407 _menhir_env.MenhirLib.EngineTypes.stack <- {
2408 MenhirLib.EngineTypes.state = _menhir_s;
2409 MenhirLib.EngineTypes.semv = Obj.repr _v;
2410 MenhirLib.EngineTypes.startp = _startpos;
2411 MenhirLib.EngineTypes.endp = _endpos;
2412 MenhirLib.EngineTypes.next = _menhir_stack;
2413 });
2414 (fun _menhir_env ->
2415 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2416 let {
2417 MenhirLib.EngineTypes.semv = _3;
2418 MenhirLib.EngineTypes.startp = _startpos__3_;
2419 MenhirLib.EngineTypes.endp = _endpos__3_;
2420 MenhirLib.EngineTypes.next = {
2421 MenhirLib.EngineTypes.semv = _2;
2422 MenhirLib.EngineTypes.startp = _startpos__2_;
2423 MenhirLib.EngineTypes.endp = _endpos__2_;
2424 MenhirLib.EngineTypes.next = {
2425 MenhirLib.EngineTypes.state = _menhir_s;
2426 MenhirLib.EngineTypes.semv = _1;
2427 MenhirLib.EngineTypes.startp = _startpos__1_;
2428 MenhirLib.EngineTypes.endp = _endpos__1_;
2429 MenhirLib.EngineTypes.next = _menhir_stack;
2430 };
2431 };
2432 } = _menhir_stack in
2433 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2434 let _2 : (
2435 # 101 "parser_cocci_menhir.mly"
2436 (Data.clt)
2437 # 2438 "parser_cocci_menhir.ml"
2438 ) = Obj.magic _2 in
2439 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2440 let _startpos = _startpos__1_ in
2441 let _endpos = _endpos__3_ in
2442 let _v : 'tv_arith_expr_eexpr_invalid_ =
2443 # 1305 "parser_cocci_menhir.mly"
2444 ( P.arith_op Ast.Minus _1 _2 _3 )
2445 # 2446 "parser_cocci_menhir.ml"
2446 in
2447 _menhir_env.MenhirLib.EngineTypes.stack <- {
2448 MenhirLib.EngineTypes.state = _menhir_s;
2449 MenhirLib.EngineTypes.semv = Obj.repr _v;
2450 MenhirLib.EngineTypes.startp = _startpos;
2451 MenhirLib.EngineTypes.endp = _endpos;
2452 MenhirLib.EngineTypes.next = _menhir_stack;
2453 });
2454 (fun _menhir_env ->
2455 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2456 let {
2457 MenhirLib.EngineTypes.semv = _3;
2458 MenhirLib.EngineTypes.startp = _startpos__3_;
2459 MenhirLib.EngineTypes.endp = _endpos__3_;
2460 MenhirLib.EngineTypes.next = {
2461 MenhirLib.EngineTypes.semv = _2;
2462 MenhirLib.EngineTypes.startp = _startpos__2_;
2463 MenhirLib.EngineTypes.endp = _endpos__2_;
2464 MenhirLib.EngineTypes.next = {
2465 MenhirLib.EngineTypes.state = _menhir_s;
2466 MenhirLib.EngineTypes.semv = _1;
2467 MenhirLib.EngineTypes.startp = _startpos__1_;
2468 MenhirLib.EngineTypes.endp = _endpos__1_;
2469 MenhirLib.EngineTypes.next = _menhir_stack;
2470 };
2471 };
2472 } = _menhir_stack in
2473 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2474 let _2 : (
2475 # 99 "parser_cocci_menhir.mly"
2476 (Ast_cocci.arithOp * Data.clt)
2477 # 2478 "parser_cocci_menhir.ml"
2478 ) = Obj.magic _2 in
2479 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2480 let _startpos = _startpos__1_ in
2481 let _endpos = _endpos__3_ in
2482 let _v : 'tv_arith_expr_eexpr_invalid_ =
2483 # 1307 "parser_cocci_menhir.mly"
2484 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2485 # 2486 "parser_cocci_menhir.ml"
2486 in
2487 _menhir_env.MenhirLib.EngineTypes.stack <- {
2488 MenhirLib.EngineTypes.state = _menhir_s;
2489 MenhirLib.EngineTypes.semv = Obj.repr _v;
2490 MenhirLib.EngineTypes.startp = _startpos;
2491 MenhirLib.EngineTypes.endp = _endpos;
2492 MenhirLib.EngineTypes.next = _menhir_stack;
2493 });
2494 (fun _menhir_env ->
2495 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2496 let {
2497 MenhirLib.EngineTypes.semv = _3;
2498 MenhirLib.EngineTypes.startp = _startpos__3_;
2499 MenhirLib.EngineTypes.endp = _endpos__3_;
2500 MenhirLib.EngineTypes.next = {
2501 MenhirLib.EngineTypes.semv = _2;
2502 MenhirLib.EngineTypes.startp = _startpos__2_;
2503 MenhirLib.EngineTypes.endp = _endpos__2_;
2504 MenhirLib.EngineTypes.next = {
2505 MenhirLib.EngineTypes.state = _menhir_s;
2506 MenhirLib.EngineTypes.semv = _1;
2507 MenhirLib.EngineTypes.startp = _startpos__1_;
2508 MenhirLib.EngineTypes.endp = _endpos__1_;
2509 MenhirLib.EngineTypes.next = _menhir_stack;
2510 };
2511 };
2512 } = _menhir_stack in
2513 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2514 let _2 : (
2515 # 98 "parser_cocci_menhir.mly"
2516 (Ast_cocci.logicalOp * Data.clt)
2517 # 2518 "parser_cocci_menhir.ml"
2518 ) = Obj.magic _2 in
2519 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2520 let _startpos = _startpos__1_ in
2521 let _endpos = _endpos__3_ in
2522 let _v : 'tv_arith_expr_eexpr_invalid_ =
2523 # 1309 "parser_cocci_menhir.mly"
2524 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
2525 # 2526 "parser_cocci_menhir.ml"
2526 in
2527 _menhir_env.MenhirLib.EngineTypes.stack <- {
2528 MenhirLib.EngineTypes.state = _menhir_s;
2529 MenhirLib.EngineTypes.semv = Obj.repr _v;
2530 MenhirLib.EngineTypes.startp = _startpos;
2531 MenhirLib.EngineTypes.endp = _endpos;
2532 MenhirLib.EngineTypes.next = _menhir_stack;
2533 });
2534 (fun _menhir_env ->
2535 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2536 let {
2537 MenhirLib.EngineTypes.semv = _3;
2538 MenhirLib.EngineTypes.startp = _startpos__3_;
2539 MenhirLib.EngineTypes.endp = _endpos__3_;
2540 MenhirLib.EngineTypes.next = {
2541 MenhirLib.EngineTypes.semv = _2;
2542 MenhirLib.EngineTypes.startp = _startpos__2_;
2543 MenhirLib.EngineTypes.endp = _endpos__2_;
2544 MenhirLib.EngineTypes.next = {
2545 MenhirLib.EngineTypes.state = _menhir_s;
2546 MenhirLib.EngineTypes.semv = _1;
2547 MenhirLib.EngineTypes.startp = _startpos__1_;
2548 MenhirLib.EngineTypes.endp = _endpos__1_;
2549 MenhirLib.EngineTypes.next = _menhir_stack;
2550 };
2551 };
2552 } = _menhir_stack in
2553 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2554 let _2 : (
2555 # 97 "parser_cocci_menhir.mly"
2556 (Data.clt)
2557 # 2558 "parser_cocci_menhir.ml"
2558 ) = Obj.magic _2 in
2559 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2560 let _startpos = _startpos__1_ in
2561 let _endpos = _endpos__3_ in
2562 let _v : 'tv_arith_expr_eexpr_invalid_ =
2563 # 1311 "parser_cocci_menhir.mly"
2564 ( P.logic_op Ast.Eq _1 _2 _3 )
2565 # 2566 "parser_cocci_menhir.ml"
2566 in
2567 _menhir_env.MenhirLib.EngineTypes.stack <- {
2568 MenhirLib.EngineTypes.state = _menhir_s;
2569 MenhirLib.EngineTypes.semv = Obj.repr _v;
2570 MenhirLib.EngineTypes.startp = _startpos;
2571 MenhirLib.EngineTypes.endp = _endpos;
2572 MenhirLib.EngineTypes.next = _menhir_stack;
2573 });
2574 (fun _menhir_env ->
2575 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2576 let {
2577 MenhirLib.EngineTypes.semv = _3;
2578 MenhirLib.EngineTypes.startp = _startpos__3_;
2579 MenhirLib.EngineTypes.endp = _endpos__3_;
2580 MenhirLib.EngineTypes.next = {
2581 MenhirLib.EngineTypes.semv = _2;
2582 MenhirLib.EngineTypes.startp = _startpos__2_;
2583 MenhirLib.EngineTypes.endp = _endpos__2_;
2584 MenhirLib.EngineTypes.next = {
2585 MenhirLib.EngineTypes.state = _menhir_s;
2586 MenhirLib.EngineTypes.semv = _1;
2587 MenhirLib.EngineTypes.startp = _startpos__1_;
2588 MenhirLib.EngineTypes.endp = _endpos__1_;
2589 MenhirLib.EngineTypes.next = _menhir_stack;
2590 };
2591 };
2592 } = _menhir_stack in
2593 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2594 let _2 : (
2595 # 97 "parser_cocci_menhir.mly"
2596 (Data.clt)
2597 # 2598 "parser_cocci_menhir.ml"
2598 ) = Obj.magic _2 in
2599 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2600 let _startpos = _startpos__1_ in
2601 let _endpos = _endpos__3_ in
2602 let _v : 'tv_arith_expr_eexpr_invalid_ =
2603 # 1313 "parser_cocci_menhir.mly"
2604 ( P.logic_op Ast.NotEq _1 _2 _3 )
2605 # 2606 "parser_cocci_menhir.ml"
2606 in
2607 _menhir_env.MenhirLib.EngineTypes.stack <- {
2608 MenhirLib.EngineTypes.state = _menhir_s;
2609 MenhirLib.EngineTypes.semv = Obj.repr _v;
2610 MenhirLib.EngineTypes.startp = _startpos;
2611 MenhirLib.EngineTypes.endp = _endpos;
2612 MenhirLib.EngineTypes.next = _menhir_stack;
2613 });
2614 (fun _menhir_env ->
2615 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2616 let {
2617 MenhirLib.EngineTypes.semv = _3;
2618 MenhirLib.EngineTypes.startp = _startpos__3_;
2619 MenhirLib.EngineTypes.endp = _endpos__3_;
2620 MenhirLib.EngineTypes.next = {
2621 MenhirLib.EngineTypes.semv = _2;
2622 MenhirLib.EngineTypes.startp = _startpos__2_;
2623 MenhirLib.EngineTypes.endp = _endpos__2_;
2624 MenhirLib.EngineTypes.next = {
2625 MenhirLib.EngineTypes.state = _menhir_s;
2626 MenhirLib.EngineTypes.semv = _1;
2627 MenhirLib.EngineTypes.startp = _startpos__1_;
2628 MenhirLib.EngineTypes.endp = _endpos__1_;
2629 MenhirLib.EngineTypes.next = _menhir_stack;
2630 };
2631 };
2632 } = _menhir_stack in
2633 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2634 let _2 : (
2635 # 96 "parser_cocci_menhir.mly"
2636 (Data.clt)
2637 # 2638 "parser_cocci_menhir.ml"
2638 ) = Obj.magic _2 in
2639 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2640 let _startpos = _startpos__1_ in
2641 let _endpos = _endpos__3_ in
2642 let _v : 'tv_arith_expr_eexpr_invalid_ =
2643 # 1315 "parser_cocci_menhir.mly"
2644 ( P.arith_op Ast.And _1 _2 _3 )
2645 # 2646 "parser_cocci_menhir.ml"
2646 in
2647 _menhir_env.MenhirLib.EngineTypes.stack <- {
2648 MenhirLib.EngineTypes.state = _menhir_s;
2649 MenhirLib.EngineTypes.semv = Obj.repr _v;
2650 MenhirLib.EngineTypes.startp = _startpos;
2651 MenhirLib.EngineTypes.endp = _endpos;
2652 MenhirLib.EngineTypes.next = _menhir_stack;
2653 });
2654 (fun _menhir_env ->
2655 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2656 let {
2657 MenhirLib.EngineTypes.semv = _3;
2658 MenhirLib.EngineTypes.startp = _startpos__3_;
2659 MenhirLib.EngineTypes.endp = _endpos__3_;
2660 MenhirLib.EngineTypes.next = {
2661 MenhirLib.EngineTypes.semv = _2;
2662 MenhirLib.EngineTypes.startp = _startpos__2_;
2663 MenhirLib.EngineTypes.endp = _endpos__2_;
2664 MenhirLib.EngineTypes.next = {
2665 MenhirLib.EngineTypes.state = _menhir_s;
2666 MenhirLib.EngineTypes.semv = _1;
2667 MenhirLib.EngineTypes.startp = _startpos__1_;
2668 MenhirLib.EngineTypes.endp = _endpos__1_;
2669 MenhirLib.EngineTypes.next = _menhir_stack;
2670 };
2671 };
2672 } = _menhir_stack in
2673 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2674 let _2 : (
2675 # 94 "parser_cocci_menhir.mly"
2676 (Data.clt)
2677 # 2678 "parser_cocci_menhir.ml"
2678 ) = Obj.magic _2 in
2679 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2680 let _startpos = _startpos__1_ in
2681 let _endpos = _endpos__3_ in
2682 let _v : 'tv_arith_expr_eexpr_invalid_ =
2683 # 1317 "parser_cocci_menhir.mly"
2684 ( P.arith_op Ast.Or _1 _2 _3 )
2685 # 2686 "parser_cocci_menhir.ml"
2686 in
2687 _menhir_env.MenhirLib.EngineTypes.stack <- {
2688 MenhirLib.EngineTypes.state = _menhir_s;
2689 MenhirLib.EngineTypes.semv = Obj.repr _v;
2690 MenhirLib.EngineTypes.startp = _startpos;
2691 MenhirLib.EngineTypes.endp = _endpos;
2692 MenhirLib.EngineTypes.next = _menhir_stack;
2693 });
2694 (fun _menhir_env ->
2695 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2696 let {
2697 MenhirLib.EngineTypes.semv = _3;
2698 MenhirLib.EngineTypes.startp = _startpos__3_;
2699 MenhirLib.EngineTypes.endp = _endpos__3_;
2700 MenhirLib.EngineTypes.next = {
2701 MenhirLib.EngineTypes.semv = _2;
2702 MenhirLib.EngineTypes.startp = _startpos__2_;
2703 MenhirLib.EngineTypes.endp = _endpos__2_;
2704 MenhirLib.EngineTypes.next = {
2705 MenhirLib.EngineTypes.state = _menhir_s;
2706 MenhirLib.EngineTypes.semv = _1;
2707 MenhirLib.EngineTypes.startp = _startpos__1_;
2708 MenhirLib.EngineTypes.endp = _endpos__1_;
2709 MenhirLib.EngineTypes.next = _menhir_stack;
2710 };
2711 };
2712 } = _menhir_stack in
2713 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2714 let _2 : (
2715 # 95 "parser_cocci_menhir.mly"
2716 (Data.clt)
2717 # 2718 "parser_cocci_menhir.ml"
2718 ) = Obj.magic _2 in
2719 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2720 let _startpos = _startpos__1_ in
2721 let _endpos = _endpos__3_ in
2722 let _v : 'tv_arith_expr_eexpr_invalid_ =
2723 # 1319 "parser_cocci_menhir.mly"
2724 ( P.arith_op Ast.Xor _1 _2 _3 )
2725 # 2726 "parser_cocci_menhir.ml"
2726 in
2727 _menhir_env.MenhirLib.EngineTypes.stack <- {
2728 MenhirLib.EngineTypes.state = _menhir_s;
2729 MenhirLib.EngineTypes.semv = Obj.repr _v;
2730 MenhirLib.EngineTypes.startp = _startpos;
2731 MenhirLib.EngineTypes.endp = _endpos;
2732 MenhirLib.EngineTypes.next = _menhir_stack;
2733 });
2734 (fun _menhir_env ->
2735 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2736 let {
2737 MenhirLib.EngineTypes.semv = _3;
2738 MenhirLib.EngineTypes.startp = _startpos__3_;
2739 MenhirLib.EngineTypes.endp = _endpos__3_;
2740 MenhirLib.EngineTypes.next = {
2741 MenhirLib.EngineTypes.semv = _2;
2742 MenhirLib.EngineTypes.startp = _startpos__2_;
2743 MenhirLib.EngineTypes.endp = _endpos__2_;
2744 MenhirLib.EngineTypes.next = {
2745 MenhirLib.EngineTypes.state = _menhir_s;
2746 MenhirLib.EngineTypes.semv = _1;
2747 MenhirLib.EngineTypes.startp = _startpos__1_;
2748 MenhirLib.EngineTypes.endp = _endpos__1_;
2749 MenhirLib.EngineTypes.next = _menhir_stack;
2750 };
2751 };
2752 } = _menhir_stack in
2753 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2754 let _2 : (
2755 # 93 "parser_cocci_menhir.mly"
2756 (Data.clt)
2757 # 2758 "parser_cocci_menhir.ml"
2758 ) = Obj.magic _2 in
2759 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2760 let _startpos = _startpos__1_ in
2761 let _endpos = _endpos__3_ in
2762 let _v : 'tv_arith_expr_eexpr_invalid_ =
2763 # 1321 "parser_cocci_menhir.mly"
2764 ( P.logic_op Ast.AndLog _1 _2 _3 )
2765 # 2766 "parser_cocci_menhir.ml"
2766 in
2767 _menhir_env.MenhirLib.EngineTypes.stack <- {
2768 MenhirLib.EngineTypes.state = _menhir_s;
2769 MenhirLib.EngineTypes.semv = Obj.repr _v;
2770 MenhirLib.EngineTypes.startp = _startpos;
2771 MenhirLib.EngineTypes.endp = _endpos;
2772 MenhirLib.EngineTypes.next = _menhir_stack;
2773 });
2774 (fun _menhir_env ->
2775 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2776 let {
2777 MenhirLib.EngineTypes.semv = _3;
2778 MenhirLib.EngineTypes.startp = _startpos__3_;
2779 MenhirLib.EngineTypes.endp = _endpos__3_;
2780 MenhirLib.EngineTypes.next = {
2781 MenhirLib.EngineTypes.semv = _2;
2782 MenhirLib.EngineTypes.startp = _startpos__2_;
2783 MenhirLib.EngineTypes.endp = _endpos__2_;
2784 MenhirLib.EngineTypes.next = {
2785 MenhirLib.EngineTypes.state = _menhir_s;
2786 MenhirLib.EngineTypes.semv = _1;
2787 MenhirLib.EngineTypes.startp = _startpos__1_;
2788 MenhirLib.EngineTypes.endp = _endpos__1_;
2789 MenhirLib.EngineTypes.next = _menhir_stack;
2790 };
2791 };
2792 } = _menhir_stack in
2793 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2794 let _2 : (
2795 # 92 "parser_cocci_menhir.mly"
2796 (Data.clt)
2797 # 2798 "parser_cocci_menhir.ml"
2798 ) = Obj.magic _2 in
2799 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2800 let _startpos = _startpos__1_ in
2801 let _endpos = _endpos__3_ in
2802 let _v : 'tv_arith_expr_eexpr_invalid_ =
2803 # 1323 "parser_cocci_menhir.mly"
2804 ( P.logic_op Ast.OrLog _1 _2 _3 )
2805 # 2806 "parser_cocci_menhir.ml"
2806 in
2807 _menhir_env.MenhirLib.EngineTypes.stack <- {
2808 MenhirLib.EngineTypes.state = _menhir_s;
2809 MenhirLib.EngineTypes.semv = Obj.repr _v;
2810 MenhirLib.EngineTypes.startp = _startpos;
2811 MenhirLib.EngineTypes.endp = _endpos;
2812 MenhirLib.EngineTypes.next = _menhir_stack;
2813 });
2814 (fun _menhir_env ->
2815 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2816 let {
2817 MenhirLib.EngineTypes.state = _menhir_s;
2818 MenhirLib.EngineTypes.semv = _1;
2819 MenhirLib.EngineTypes.startp = _startpos__1_;
2820 MenhirLib.EngineTypes.endp = _endpos__1_;
2821 MenhirLib.EngineTypes.next = _menhir_stack;
2822 } = _menhir_stack in
2823 let _1 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2824 let _startpos = _startpos__1_ in
2825 let _endpos = _endpos__1_ in
2826 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2827 # 1297 "parser_cocci_menhir.mly"
2828 ( _1 )
2829 # 2830 "parser_cocci_menhir.ml"
2830 in
2831 _menhir_env.MenhirLib.EngineTypes.stack <- {
2832 MenhirLib.EngineTypes.state = _menhir_s;
2833 MenhirLib.EngineTypes.semv = Obj.repr _v;
2834 MenhirLib.EngineTypes.startp = _startpos;
2835 MenhirLib.EngineTypes.endp = _endpos;
2836 MenhirLib.EngineTypes.next = _menhir_stack;
2837 });
2838 (fun _menhir_env ->
2839 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2840 let {
2841 MenhirLib.EngineTypes.semv = _3;
2842 MenhirLib.EngineTypes.startp = _startpos__3_;
2843 MenhirLib.EngineTypes.endp = _endpos__3_;
2844 MenhirLib.EngineTypes.next = {
2845 MenhirLib.EngineTypes.semv = _2;
2846 MenhirLib.EngineTypes.startp = _startpos__2_;
2847 MenhirLib.EngineTypes.endp = _endpos__2_;
2848 MenhirLib.EngineTypes.next = {
2849 MenhirLib.EngineTypes.state = _menhir_s;
2850 MenhirLib.EngineTypes.semv = _1;
2851 MenhirLib.EngineTypes.startp = _startpos__1_;
2852 MenhirLib.EngineTypes.endp = _endpos__1_;
2853 MenhirLib.EngineTypes.next = _menhir_stack;
2854 };
2855 };
2856 } = _menhir_stack in
2857 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
2858 let _2 : (
2859 # 102 "parser_cocci_menhir.mly"
2860 (Data.clt)
2861 # 2862 "parser_cocci_menhir.ml"
2862 ) = Obj.magic _2 in
2863 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2864 let _startpos = _startpos__1_ in
2865 let _endpos = _endpos__3_ in
2866 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2867 # 1299 "parser_cocci_menhir.mly"
2868 ( P.arith_op Ast.Mul _1 _2 _3 )
2869 # 2870 "parser_cocci_menhir.ml"
2870 in
2871 _menhir_env.MenhirLib.EngineTypes.stack <- {
2872 MenhirLib.EngineTypes.state = _menhir_s;
2873 MenhirLib.EngineTypes.semv = Obj.repr _v;
2874 MenhirLib.EngineTypes.startp = _startpos;
2875 MenhirLib.EngineTypes.endp = _endpos;
2876 MenhirLib.EngineTypes.next = _menhir_stack;
2877 });
2878 (fun _menhir_env ->
2879 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2880 let {
2881 MenhirLib.EngineTypes.semv = _3;
2882 MenhirLib.EngineTypes.startp = _startpos__3_;
2883 MenhirLib.EngineTypes.endp = _endpos__3_;
2884 MenhirLib.EngineTypes.next = {
2885 MenhirLib.EngineTypes.semv = _2;
2886 MenhirLib.EngineTypes.startp = _startpos__2_;
2887 MenhirLib.EngineTypes.endp = _endpos__2_;
2888 MenhirLib.EngineTypes.next = {
2889 MenhirLib.EngineTypes.state = _menhir_s;
2890 MenhirLib.EngineTypes.semv = _1;
2891 MenhirLib.EngineTypes.startp = _startpos__1_;
2892 MenhirLib.EngineTypes.endp = _endpos__1_;
2893 MenhirLib.EngineTypes.next = _menhir_stack;
2894 };
2895 };
2896 } = _menhir_stack in
2897 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
2898 let _2 : (
2899 # 100 "parser_cocci_menhir.mly"
2900 (Ast_cocci.arithOp * Data.clt)
2901 # 2902 "parser_cocci_menhir.ml"
2902 ) = Obj.magic _2 in
2903 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2904 let _startpos = _startpos__1_ in
2905 let _endpos = _endpos__3_ in
2906 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2907 # 1301 "parser_cocci_menhir.mly"
2908 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2909 # 2910 "parser_cocci_menhir.ml"
2910 in
2911 _menhir_env.MenhirLib.EngineTypes.stack <- {
2912 MenhirLib.EngineTypes.state = _menhir_s;
2913 MenhirLib.EngineTypes.semv = Obj.repr _v;
2914 MenhirLib.EngineTypes.startp = _startpos;
2915 MenhirLib.EngineTypes.endp = _endpos;
2916 MenhirLib.EngineTypes.next = _menhir_stack;
2917 });
2918 (fun _menhir_env ->
2919 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2920 let {
2921 MenhirLib.EngineTypes.semv = _3;
2922 MenhirLib.EngineTypes.startp = _startpos__3_;
2923 MenhirLib.EngineTypes.endp = _endpos__3_;
2924 MenhirLib.EngineTypes.next = {
2925 MenhirLib.EngineTypes.semv = _2;
2926 MenhirLib.EngineTypes.startp = _startpos__2_;
2927 MenhirLib.EngineTypes.endp = _endpos__2_;
2928 MenhirLib.EngineTypes.next = {
2929 MenhirLib.EngineTypes.state = _menhir_s;
2930 MenhirLib.EngineTypes.semv = _1;
2931 MenhirLib.EngineTypes.startp = _startpos__1_;
2932 MenhirLib.EngineTypes.endp = _endpos__1_;
2933 MenhirLib.EngineTypes.next = _menhir_stack;
2934 };
2935 };
2936 } = _menhir_stack in
2937 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
2938 let _2 : (
2939 # 101 "parser_cocci_menhir.mly"
2940 (Data.clt)
2941 # 2942 "parser_cocci_menhir.ml"
2942 ) = Obj.magic _2 in
2943 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2944 let _startpos = _startpos__1_ in
2945 let _endpos = _endpos__3_ in
2946 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2947 # 1303 "parser_cocci_menhir.mly"
2948 ( P.arith_op Ast.Plus _1 _2 _3 )
2949 # 2950 "parser_cocci_menhir.ml"
2950 in
2951 _menhir_env.MenhirLib.EngineTypes.stack <- {
2952 MenhirLib.EngineTypes.state = _menhir_s;
2953 MenhirLib.EngineTypes.semv = Obj.repr _v;
2954 MenhirLib.EngineTypes.startp = _startpos;
2955 MenhirLib.EngineTypes.endp = _endpos;
2956 MenhirLib.EngineTypes.next = _menhir_stack;
2957 });
2958 (fun _menhir_env ->
2959 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2960 let {
2961 MenhirLib.EngineTypes.semv = _3;
2962 MenhirLib.EngineTypes.startp = _startpos__3_;
2963 MenhirLib.EngineTypes.endp = _endpos__3_;
2964 MenhirLib.EngineTypes.next = {
2965 MenhirLib.EngineTypes.semv = _2;
2966 MenhirLib.EngineTypes.startp = _startpos__2_;
2967 MenhirLib.EngineTypes.endp = _endpos__2_;
2968 MenhirLib.EngineTypes.next = {
2969 MenhirLib.EngineTypes.state = _menhir_s;
2970 MenhirLib.EngineTypes.semv = _1;
2971 MenhirLib.EngineTypes.startp = _startpos__1_;
2972 MenhirLib.EngineTypes.endp = _endpos__1_;
2973 MenhirLib.EngineTypes.next = _menhir_stack;
2974 };
2975 };
2976 } = _menhir_stack in
2977 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
2978 let _2 : (
2979 # 101 "parser_cocci_menhir.mly"
2980 (Data.clt)
2981 # 2982 "parser_cocci_menhir.ml"
2982 ) = Obj.magic _2 in
2983 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2984 let _startpos = _startpos__1_ in
2985 let _endpos = _endpos__3_ in
2986 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2987 # 1305 "parser_cocci_menhir.mly"
2988 ( P.arith_op Ast.Minus _1 _2 _3 )
2989 # 2990 "parser_cocci_menhir.ml"
2990 in
2991 _menhir_env.MenhirLib.EngineTypes.stack <- {
2992 MenhirLib.EngineTypes.state = _menhir_s;
2993 MenhirLib.EngineTypes.semv = Obj.repr _v;
2994 MenhirLib.EngineTypes.startp = _startpos;
2995 MenhirLib.EngineTypes.endp = _endpos;
2996 MenhirLib.EngineTypes.next = _menhir_stack;
2997 });
2998 (fun _menhir_env ->
2999 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3000 let {
3001 MenhirLib.EngineTypes.semv = _3;
3002 MenhirLib.EngineTypes.startp = _startpos__3_;
3003 MenhirLib.EngineTypes.endp = _endpos__3_;
3004 MenhirLib.EngineTypes.next = {
3005 MenhirLib.EngineTypes.semv = _2;
3006 MenhirLib.EngineTypes.startp = _startpos__2_;
3007 MenhirLib.EngineTypes.endp = _endpos__2_;
3008 MenhirLib.EngineTypes.next = {
3009 MenhirLib.EngineTypes.state = _menhir_s;
3010 MenhirLib.EngineTypes.semv = _1;
3011 MenhirLib.EngineTypes.startp = _startpos__1_;
3012 MenhirLib.EngineTypes.endp = _endpos__1_;
3013 MenhirLib.EngineTypes.next = _menhir_stack;
3014 };
3015 };
3016 } = _menhir_stack in
3017 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3018 let _2 : (
3019 # 99 "parser_cocci_menhir.mly"
3020 (Ast_cocci.arithOp * Data.clt)
3021 # 3022 "parser_cocci_menhir.ml"
3022 ) = Obj.magic _2 in
3023 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3024 let _startpos = _startpos__1_ in
3025 let _endpos = _endpos__3_ in
3026 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3027 # 1307 "parser_cocci_menhir.mly"
3028 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3029 # 3030 "parser_cocci_menhir.ml"
3030 in
3031 _menhir_env.MenhirLib.EngineTypes.stack <- {
3032 MenhirLib.EngineTypes.state = _menhir_s;
3033 MenhirLib.EngineTypes.semv = Obj.repr _v;
3034 MenhirLib.EngineTypes.startp = _startpos;
3035 MenhirLib.EngineTypes.endp = _endpos;
3036 MenhirLib.EngineTypes.next = _menhir_stack;
3037 });
3038 (fun _menhir_env ->
3039 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3040 let {
3041 MenhirLib.EngineTypes.semv = _3;
3042 MenhirLib.EngineTypes.startp = _startpos__3_;
3043 MenhirLib.EngineTypes.endp = _endpos__3_;
3044 MenhirLib.EngineTypes.next = {
3045 MenhirLib.EngineTypes.semv = _2;
3046 MenhirLib.EngineTypes.startp = _startpos__2_;
3047 MenhirLib.EngineTypes.endp = _endpos__2_;
3048 MenhirLib.EngineTypes.next = {
3049 MenhirLib.EngineTypes.state = _menhir_s;
3050 MenhirLib.EngineTypes.semv = _1;
3051 MenhirLib.EngineTypes.startp = _startpos__1_;
3052 MenhirLib.EngineTypes.endp = _endpos__1_;
3053 MenhirLib.EngineTypes.next = _menhir_stack;
3054 };
3055 };
3056 } = _menhir_stack in
3057 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3058 let _2 : (
3059 # 98 "parser_cocci_menhir.mly"
3060 (Ast_cocci.logicalOp * Data.clt)
3061 # 3062 "parser_cocci_menhir.ml"
3062 ) = Obj.magic _2 in
3063 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3064 let _startpos = _startpos__1_ in
3065 let _endpos = _endpos__3_ in
3066 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3067 # 1309 "parser_cocci_menhir.mly"
3068 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
3069 # 3070 "parser_cocci_menhir.ml"
3070 in
3071 _menhir_env.MenhirLib.EngineTypes.stack <- {
3072 MenhirLib.EngineTypes.state = _menhir_s;
3073 MenhirLib.EngineTypes.semv = Obj.repr _v;
3074 MenhirLib.EngineTypes.startp = _startpos;
3075 MenhirLib.EngineTypes.endp = _endpos;
3076 MenhirLib.EngineTypes.next = _menhir_stack;
3077 });
3078 (fun _menhir_env ->
3079 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3080 let {
3081 MenhirLib.EngineTypes.semv = _3;
3082 MenhirLib.EngineTypes.startp = _startpos__3_;
3083 MenhirLib.EngineTypes.endp = _endpos__3_;
3084 MenhirLib.EngineTypes.next = {
3085 MenhirLib.EngineTypes.semv = _2;
3086 MenhirLib.EngineTypes.startp = _startpos__2_;
3087 MenhirLib.EngineTypes.endp = _endpos__2_;
3088 MenhirLib.EngineTypes.next = {
3089 MenhirLib.EngineTypes.state = _menhir_s;
3090 MenhirLib.EngineTypes.semv = _1;
3091 MenhirLib.EngineTypes.startp = _startpos__1_;
3092 MenhirLib.EngineTypes.endp = _endpos__1_;
3093 MenhirLib.EngineTypes.next = _menhir_stack;
3094 };
3095 };
3096 } = _menhir_stack in
3097 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3098 let _2 : (
3099 # 97 "parser_cocci_menhir.mly"
3100 (Data.clt)
3101 # 3102 "parser_cocci_menhir.ml"
3102 ) = Obj.magic _2 in
3103 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3104 let _startpos = _startpos__1_ in
3105 let _endpos = _endpos__3_ in
3106 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3107 # 1311 "parser_cocci_menhir.mly"
3108 ( P.logic_op Ast.Eq _1 _2 _3 )
3109 # 3110 "parser_cocci_menhir.ml"
3110 in
3111 _menhir_env.MenhirLib.EngineTypes.stack <- {
3112 MenhirLib.EngineTypes.state = _menhir_s;
3113 MenhirLib.EngineTypes.semv = Obj.repr _v;
3114 MenhirLib.EngineTypes.startp = _startpos;
3115 MenhirLib.EngineTypes.endp = _endpos;
3116 MenhirLib.EngineTypes.next = _menhir_stack;
3117 });
3118 (fun _menhir_env ->
3119 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3120 let {
3121 MenhirLib.EngineTypes.semv = _3;
3122 MenhirLib.EngineTypes.startp = _startpos__3_;
3123 MenhirLib.EngineTypes.endp = _endpos__3_;
3124 MenhirLib.EngineTypes.next = {
3125 MenhirLib.EngineTypes.semv = _2;
3126 MenhirLib.EngineTypes.startp = _startpos__2_;
3127 MenhirLib.EngineTypes.endp = _endpos__2_;
3128 MenhirLib.EngineTypes.next = {
3129 MenhirLib.EngineTypes.state = _menhir_s;
3130 MenhirLib.EngineTypes.semv = _1;
3131 MenhirLib.EngineTypes.startp = _startpos__1_;
3132 MenhirLib.EngineTypes.endp = _endpos__1_;
3133 MenhirLib.EngineTypes.next = _menhir_stack;
3134 };
3135 };
3136 } = _menhir_stack in
3137 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3138 let _2 : (
3139 # 97 "parser_cocci_menhir.mly"
3140 (Data.clt)
3141 # 3142 "parser_cocci_menhir.ml"
3142 ) = Obj.magic _2 in
3143 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3144 let _startpos = _startpos__1_ in
3145 let _endpos = _endpos__3_ in
3146 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3147 # 1313 "parser_cocci_menhir.mly"
3148 ( P.logic_op Ast.NotEq _1 _2 _3 )
3149 # 3150 "parser_cocci_menhir.ml"
3150 in
3151 _menhir_env.MenhirLib.EngineTypes.stack <- {
3152 MenhirLib.EngineTypes.state = _menhir_s;
3153 MenhirLib.EngineTypes.semv = Obj.repr _v;
3154 MenhirLib.EngineTypes.startp = _startpos;
3155 MenhirLib.EngineTypes.endp = _endpos;
3156 MenhirLib.EngineTypes.next = _menhir_stack;
3157 });
3158 (fun _menhir_env ->
3159 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3160 let {
3161 MenhirLib.EngineTypes.semv = _3;
3162 MenhirLib.EngineTypes.startp = _startpos__3_;
3163 MenhirLib.EngineTypes.endp = _endpos__3_;
3164 MenhirLib.EngineTypes.next = {
3165 MenhirLib.EngineTypes.semv = _2;
3166 MenhirLib.EngineTypes.startp = _startpos__2_;
3167 MenhirLib.EngineTypes.endp = _endpos__2_;
3168 MenhirLib.EngineTypes.next = {
3169 MenhirLib.EngineTypes.state = _menhir_s;
3170 MenhirLib.EngineTypes.semv = _1;
3171 MenhirLib.EngineTypes.startp = _startpos__1_;
3172 MenhirLib.EngineTypes.endp = _endpos__1_;
3173 MenhirLib.EngineTypes.next = _menhir_stack;
3174 };
3175 };
3176 } = _menhir_stack in
3177 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3178 let _2 : (
3179 # 96 "parser_cocci_menhir.mly"
3180 (Data.clt)
3181 # 3182 "parser_cocci_menhir.ml"
3182 ) = Obj.magic _2 in
3183 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3184 let _startpos = _startpos__1_ in
3185 let _endpos = _endpos__3_ in
3186 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3187 # 1315 "parser_cocci_menhir.mly"
3188 ( P.arith_op Ast.And _1 _2 _3 )
3189 # 3190 "parser_cocci_menhir.ml"
3190 in
3191 _menhir_env.MenhirLib.EngineTypes.stack <- {
3192 MenhirLib.EngineTypes.state = _menhir_s;
3193 MenhirLib.EngineTypes.semv = Obj.repr _v;
3194 MenhirLib.EngineTypes.startp = _startpos;
3195 MenhirLib.EngineTypes.endp = _endpos;
3196 MenhirLib.EngineTypes.next = _menhir_stack;
3197 });
3198 (fun _menhir_env ->
3199 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3200 let {
3201 MenhirLib.EngineTypes.semv = _3;
3202 MenhirLib.EngineTypes.startp = _startpos__3_;
3203 MenhirLib.EngineTypes.endp = _endpos__3_;
3204 MenhirLib.EngineTypes.next = {
3205 MenhirLib.EngineTypes.semv = _2;
3206 MenhirLib.EngineTypes.startp = _startpos__2_;
3207 MenhirLib.EngineTypes.endp = _endpos__2_;
3208 MenhirLib.EngineTypes.next = {
3209 MenhirLib.EngineTypes.state = _menhir_s;
3210 MenhirLib.EngineTypes.semv = _1;
3211 MenhirLib.EngineTypes.startp = _startpos__1_;
3212 MenhirLib.EngineTypes.endp = _endpos__1_;
3213 MenhirLib.EngineTypes.next = _menhir_stack;
3214 };
3215 };
3216 } = _menhir_stack in
3217 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3218 let _2 : (
3219 # 94 "parser_cocci_menhir.mly"
3220 (Data.clt)
3221 # 3222 "parser_cocci_menhir.ml"
3222 ) = Obj.magic _2 in
3223 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3224 let _startpos = _startpos__1_ in
3225 let _endpos = _endpos__3_ in
3226 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3227 # 1317 "parser_cocci_menhir.mly"
3228 ( P.arith_op Ast.Or _1 _2 _3 )
3229 # 3230 "parser_cocci_menhir.ml"
3230 in
3231 _menhir_env.MenhirLib.EngineTypes.stack <- {
3232 MenhirLib.EngineTypes.state = _menhir_s;
3233 MenhirLib.EngineTypes.semv = Obj.repr _v;
3234 MenhirLib.EngineTypes.startp = _startpos;
3235 MenhirLib.EngineTypes.endp = _endpos;
3236 MenhirLib.EngineTypes.next = _menhir_stack;
3237 });
3238 (fun _menhir_env ->
3239 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3240 let {
3241 MenhirLib.EngineTypes.semv = _3;
3242 MenhirLib.EngineTypes.startp = _startpos__3_;
3243 MenhirLib.EngineTypes.endp = _endpos__3_;
3244 MenhirLib.EngineTypes.next = {
3245 MenhirLib.EngineTypes.semv = _2;
3246 MenhirLib.EngineTypes.startp = _startpos__2_;
3247 MenhirLib.EngineTypes.endp = _endpos__2_;
3248 MenhirLib.EngineTypes.next = {
3249 MenhirLib.EngineTypes.state = _menhir_s;
3250 MenhirLib.EngineTypes.semv = _1;
3251 MenhirLib.EngineTypes.startp = _startpos__1_;
3252 MenhirLib.EngineTypes.endp = _endpos__1_;
3253 MenhirLib.EngineTypes.next = _menhir_stack;
3254 };
3255 };
3256 } = _menhir_stack in
3257 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3258 let _2 : (
3259 # 95 "parser_cocci_menhir.mly"
3260 (Data.clt)
3261 # 3262 "parser_cocci_menhir.ml"
3262 ) = Obj.magic _2 in
3263 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3264 let _startpos = _startpos__1_ in
3265 let _endpos = _endpos__3_ in
3266 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3267 # 1319 "parser_cocci_menhir.mly"
3268 ( P.arith_op Ast.Xor _1 _2 _3 )
3269 # 3270 "parser_cocci_menhir.ml"
3270 in
3271 _menhir_env.MenhirLib.EngineTypes.stack <- {
3272 MenhirLib.EngineTypes.state = _menhir_s;
3273 MenhirLib.EngineTypes.semv = Obj.repr _v;
3274 MenhirLib.EngineTypes.startp = _startpos;
3275 MenhirLib.EngineTypes.endp = _endpos;
3276 MenhirLib.EngineTypes.next = _menhir_stack;
3277 });
3278 (fun _menhir_env ->
3279 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3280 let {
3281 MenhirLib.EngineTypes.semv = _3;
3282 MenhirLib.EngineTypes.startp = _startpos__3_;
3283 MenhirLib.EngineTypes.endp = _endpos__3_;
3284 MenhirLib.EngineTypes.next = {
3285 MenhirLib.EngineTypes.semv = _2;
3286 MenhirLib.EngineTypes.startp = _startpos__2_;
3287 MenhirLib.EngineTypes.endp = _endpos__2_;
3288 MenhirLib.EngineTypes.next = {
3289 MenhirLib.EngineTypes.state = _menhir_s;
3290 MenhirLib.EngineTypes.semv = _1;
3291 MenhirLib.EngineTypes.startp = _startpos__1_;
3292 MenhirLib.EngineTypes.endp = _endpos__1_;
3293 MenhirLib.EngineTypes.next = _menhir_stack;
3294 };
3295 };
3296 } = _menhir_stack in
3297 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3298 let _2 : (
3299 # 93 "parser_cocci_menhir.mly"
3300 (Data.clt)
3301 # 3302 "parser_cocci_menhir.ml"
3302 ) = Obj.magic _2 in
3303 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3304 let _startpos = _startpos__1_ in
3305 let _endpos = _endpos__3_ in
3306 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3307 # 1321 "parser_cocci_menhir.mly"
3308 ( P.logic_op Ast.AndLog _1 _2 _3 )
3309 # 3310 "parser_cocci_menhir.ml"
3310 in
3311 _menhir_env.MenhirLib.EngineTypes.stack <- {
3312 MenhirLib.EngineTypes.state = _menhir_s;
3313 MenhirLib.EngineTypes.semv = Obj.repr _v;
3314 MenhirLib.EngineTypes.startp = _startpos;
3315 MenhirLib.EngineTypes.endp = _endpos;
3316 MenhirLib.EngineTypes.next = _menhir_stack;
3317 });
3318 (fun _menhir_env ->
3319 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3320 let {
3321 MenhirLib.EngineTypes.semv = _3;
3322 MenhirLib.EngineTypes.startp = _startpos__3_;
3323 MenhirLib.EngineTypes.endp = _endpos__3_;
3324 MenhirLib.EngineTypes.next = {
3325 MenhirLib.EngineTypes.semv = _2;
3326 MenhirLib.EngineTypes.startp = _startpos__2_;
3327 MenhirLib.EngineTypes.endp = _endpos__2_;
3328 MenhirLib.EngineTypes.next = {
3329 MenhirLib.EngineTypes.state = _menhir_s;
3330 MenhirLib.EngineTypes.semv = _1;
3331 MenhirLib.EngineTypes.startp = _startpos__1_;
3332 MenhirLib.EngineTypes.endp = _endpos__1_;
3333 MenhirLib.EngineTypes.next = _menhir_stack;
3334 };
3335 };
3336 } = _menhir_stack in
3337 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3338 let _2 : (
3339 # 92 "parser_cocci_menhir.mly"
3340 (Data.clt)
3341 # 3342 "parser_cocci_menhir.ml"
3342 ) = Obj.magic _2 in
3343 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3344 let _startpos = _startpos__1_ in
3345 let _endpos = _endpos__3_ in
3346 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3347 # 1323 "parser_cocci_menhir.mly"
3348 ( P.logic_op Ast.OrLog _1 _2 _3 )
3349 # 3350 "parser_cocci_menhir.ml"
3350 in
3351 _menhir_env.MenhirLib.EngineTypes.stack <- {
3352 MenhirLib.EngineTypes.state = _menhir_s;
3353 MenhirLib.EngineTypes.semv = Obj.repr _v;
3354 MenhirLib.EngineTypes.startp = _startpos;
3355 MenhirLib.EngineTypes.endp = _endpos;
3356 MenhirLib.EngineTypes.next = _menhir_stack;
3357 });
3358 (fun _menhir_env ->
3359 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3360 let {
3361 MenhirLib.EngineTypes.state = _menhir_s;
3362 MenhirLib.EngineTypes.semv = _1;
3363 MenhirLib.EngineTypes.startp = _startpos__1_;
3364 MenhirLib.EngineTypes.endp = _endpos__1_;
3365 MenhirLib.EngineTypes.next = _menhir_stack;
3366 } = _menhir_stack in
3367 let _1 : 'tv_cast_expr_expr_invalid_ = Obj.magic _1 in
3368 let _startpos = _startpos__1_ in
3369 let _endpos = _endpos__1_ in
3370 let _v : 'tv_arith_expr_expr_invalid_ =
3371 # 1297 "parser_cocci_menhir.mly"
3372 ( _1 )
3373 # 3374 "parser_cocci_menhir.ml"
3374 in
3375 _menhir_env.MenhirLib.EngineTypes.stack <- {
3376 MenhirLib.EngineTypes.state = _menhir_s;
3377 MenhirLib.EngineTypes.semv = Obj.repr _v;
3378 MenhirLib.EngineTypes.startp = _startpos;
3379 MenhirLib.EngineTypes.endp = _endpos;
3380 MenhirLib.EngineTypes.next = _menhir_stack;
3381 });
3382 (fun _menhir_env ->
3383 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3384 let {
3385 MenhirLib.EngineTypes.semv = _3;
3386 MenhirLib.EngineTypes.startp = _startpos__3_;
3387 MenhirLib.EngineTypes.endp = _endpos__3_;
3388 MenhirLib.EngineTypes.next = {
3389 MenhirLib.EngineTypes.semv = _2;
3390 MenhirLib.EngineTypes.startp = _startpos__2_;
3391 MenhirLib.EngineTypes.endp = _endpos__2_;
3392 MenhirLib.EngineTypes.next = {
3393 MenhirLib.EngineTypes.state = _menhir_s;
3394 MenhirLib.EngineTypes.semv = _1;
3395 MenhirLib.EngineTypes.startp = _startpos__1_;
3396 MenhirLib.EngineTypes.endp = _endpos__1_;
3397 MenhirLib.EngineTypes.next = _menhir_stack;
3398 };
3399 };
3400 } = _menhir_stack in
3401 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3402 let _2 : (
3403 # 102 "parser_cocci_menhir.mly"
3404 (Data.clt)
3405 # 3406 "parser_cocci_menhir.ml"
3406 ) = Obj.magic _2 in
3407 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3408 let _startpos = _startpos__1_ in
3409 let _endpos = _endpos__3_ in
3410 let _v : 'tv_arith_expr_expr_invalid_ =
3411 # 1299 "parser_cocci_menhir.mly"
3412 ( P.arith_op Ast.Mul _1 _2 _3 )
3413 # 3414 "parser_cocci_menhir.ml"
3414 in
3415 _menhir_env.MenhirLib.EngineTypes.stack <- {
3416 MenhirLib.EngineTypes.state = _menhir_s;
3417 MenhirLib.EngineTypes.semv = Obj.repr _v;
3418 MenhirLib.EngineTypes.startp = _startpos;
3419 MenhirLib.EngineTypes.endp = _endpos;
3420 MenhirLib.EngineTypes.next = _menhir_stack;
3421 });
3422 (fun _menhir_env ->
3423 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3424 let {
3425 MenhirLib.EngineTypes.semv = _3;
3426 MenhirLib.EngineTypes.startp = _startpos__3_;
3427 MenhirLib.EngineTypes.endp = _endpos__3_;
3428 MenhirLib.EngineTypes.next = {
3429 MenhirLib.EngineTypes.semv = _2;
3430 MenhirLib.EngineTypes.startp = _startpos__2_;
3431 MenhirLib.EngineTypes.endp = _endpos__2_;
3432 MenhirLib.EngineTypes.next = {
3433 MenhirLib.EngineTypes.state = _menhir_s;
3434 MenhirLib.EngineTypes.semv = _1;
3435 MenhirLib.EngineTypes.startp = _startpos__1_;
3436 MenhirLib.EngineTypes.endp = _endpos__1_;
3437 MenhirLib.EngineTypes.next = _menhir_stack;
3438 };
3439 };
3440 } = _menhir_stack in
3441 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3442 let _2 : (
3443 # 100 "parser_cocci_menhir.mly"
3444 (Ast_cocci.arithOp * Data.clt)
3445 # 3446 "parser_cocci_menhir.ml"
3446 ) = Obj.magic _2 in
3447 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3448 let _startpos = _startpos__1_ in
3449 let _endpos = _endpos__3_ in
3450 let _v : 'tv_arith_expr_expr_invalid_ =
3451 # 1301 "parser_cocci_menhir.mly"
3452 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3453 # 3454 "parser_cocci_menhir.ml"
3454 in
3455 _menhir_env.MenhirLib.EngineTypes.stack <- {
3456 MenhirLib.EngineTypes.state = _menhir_s;
3457 MenhirLib.EngineTypes.semv = Obj.repr _v;
3458 MenhirLib.EngineTypes.startp = _startpos;
3459 MenhirLib.EngineTypes.endp = _endpos;
3460 MenhirLib.EngineTypes.next = _menhir_stack;
3461 });
3462 (fun _menhir_env ->
3463 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3464 let {
3465 MenhirLib.EngineTypes.semv = _3;
3466 MenhirLib.EngineTypes.startp = _startpos__3_;
3467 MenhirLib.EngineTypes.endp = _endpos__3_;
3468 MenhirLib.EngineTypes.next = {
3469 MenhirLib.EngineTypes.semv = _2;
3470 MenhirLib.EngineTypes.startp = _startpos__2_;
3471 MenhirLib.EngineTypes.endp = _endpos__2_;
3472 MenhirLib.EngineTypes.next = {
3473 MenhirLib.EngineTypes.state = _menhir_s;
3474 MenhirLib.EngineTypes.semv = _1;
3475 MenhirLib.EngineTypes.startp = _startpos__1_;
3476 MenhirLib.EngineTypes.endp = _endpos__1_;
3477 MenhirLib.EngineTypes.next = _menhir_stack;
3478 };
3479 };
3480 } = _menhir_stack in
3481 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3482 let _2 : (
3483 # 101 "parser_cocci_menhir.mly"
3484 (Data.clt)
3485 # 3486 "parser_cocci_menhir.ml"
3486 ) = Obj.magic _2 in
3487 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3488 let _startpos = _startpos__1_ in
3489 let _endpos = _endpos__3_ in
3490 let _v : 'tv_arith_expr_expr_invalid_ =
3491 # 1303 "parser_cocci_menhir.mly"
3492 ( P.arith_op Ast.Plus _1 _2 _3 )
3493 # 3494 "parser_cocci_menhir.ml"
3494 in
3495 _menhir_env.MenhirLib.EngineTypes.stack <- {
3496 MenhirLib.EngineTypes.state = _menhir_s;
3497 MenhirLib.EngineTypes.semv = Obj.repr _v;
3498 MenhirLib.EngineTypes.startp = _startpos;
3499 MenhirLib.EngineTypes.endp = _endpos;
3500 MenhirLib.EngineTypes.next = _menhir_stack;
3501 });
3502 (fun _menhir_env ->
3503 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3504 let {
3505 MenhirLib.EngineTypes.semv = _3;
3506 MenhirLib.EngineTypes.startp = _startpos__3_;
3507 MenhirLib.EngineTypes.endp = _endpos__3_;
3508 MenhirLib.EngineTypes.next = {
3509 MenhirLib.EngineTypes.semv = _2;
3510 MenhirLib.EngineTypes.startp = _startpos__2_;
3511 MenhirLib.EngineTypes.endp = _endpos__2_;
3512 MenhirLib.EngineTypes.next = {
3513 MenhirLib.EngineTypes.state = _menhir_s;
3514 MenhirLib.EngineTypes.semv = _1;
3515 MenhirLib.EngineTypes.startp = _startpos__1_;
3516 MenhirLib.EngineTypes.endp = _endpos__1_;
3517 MenhirLib.EngineTypes.next = _menhir_stack;
3518 };
3519 };
3520 } = _menhir_stack in
3521 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3522 let _2 : (
3523 # 101 "parser_cocci_menhir.mly"
3524 (Data.clt)
3525 # 3526 "parser_cocci_menhir.ml"
3526 ) = Obj.magic _2 in
3527 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3528 let _startpos = _startpos__1_ in
3529 let _endpos = _endpos__3_ in
3530 let _v : 'tv_arith_expr_expr_invalid_ =
3531 # 1305 "parser_cocci_menhir.mly"
3532 ( P.arith_op Ast.Minus _1 _2 _3 )
3533 # 3534 "parser_cocci_menhir.ml"
3534 in
3535 _menhir_env.MenhirLib.EngineTypes.stack <- {
3536 MenhirLib.EngineTypes.state = _menhir_s;
3537 MenhirLib.EngineTypes.semv = Obj.repr _v;
3538 MenhirLib.EngineTypes.startp = _startpos;
3539 MenhirLib.EngineTypes.endp = _endpos;
3540 MenhirLib.EngineTypes.next = _menhir_stack;
3541 });
3542 (fun _menhir_env ->
3543 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3544 let {
3545 MenhirLib.EngineTypes.semv = _3;
3546 MenhirLib.EngineTypes.startp = _startpos__3_;
3547 MenhirLib.EngineTypes.endp = _endpos__3_;
3548 MenhirLib.EngineTypes.next = {
3549 MenhirLib.EngineTypes.semv = _2;
3550 MenhirLib.EngineTypes.startp = _startpos__2_;
3551 MenhirLib.EngineTypes.endp = _endpos__2_;
3552 MenhirLib.EngineTypes.next = {
3553 MenhirLib.EngineTypes.state = _menhir_s;
3554 MenhirLib.EngineTypes.semv = _1;
3555 MenhirLib.EngineTypes.startp = _startpos__1_;
3556 MenhirLib.EngineTypes.endp = _endpos__1_;
3557 MenhirLib.EngineTypes.next = _menhir_stack;
3558 };
3559 };
3560 } = _menhir_stack in
3561 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3562 let _2 : (
3563 # 99 "parser_cocci_menhir.mly"
3564 (Ast_cocci.arithOp * Data.clt)
3565 # 3566 "parser_cocci_menhir.ml"
3566 ) = Obj.magic _2 in
3567 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3568 let _startpos = _startpos__1_ in
3569 let _endpos = _endpos__3_ in
3570 let _v : 'tv_arith_expr_expr_invalid_ =
3571 # 1307 "parser_cocci_menhir.mly"
3572 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3573 # 3574 "parser_cocci_menhir.ml"
3574 in
3575 _menhir_env.MenhirLib.EngineTypes.stack <- {
3576 MenhirLib.EngineTypes.state = _menhir_s;
3577 MenhirLib.EngineTypes.semv = Obj.repr _v;
3578 MenhirLib.EngineTypes.startp = _startpos;
3579 MenhirLib.EngineTypes.endp = _endpos;
3580 MenhirLib.EngineTypes.next = _menhir_stack;
3581 });
3582 (fun _menhir_env ->
3583 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3584 let {
3585 MenhirLib.EngineTypes.semv = _3;
3586 MenhirLib.EngineTypes.startp = _startpos__3_;
3587 MenhirLib.EngineTypes.endp = _endpos__3_;
3588 MenhirLib.EngineTypes.next = {
3589 MenhirLib.EngineTypes.semv = _2;
3590 MenhirLib.EngineTypes.startp = _startpos__2_;
3591 MenhirLib.EngineTypes.endp = _endpos__2_;
3592 MenhirLib.EngineTypes.next = {
3593 MenhirLib.EngineTypes.state = _menhir_s;
3594 MenhirLib.EngineTypes.semv = _1;
3595 MenhirLib.EngineTypes.startp = _startpos__1_;
3596 MenhirLib.EngineTypes.endp = _endpos__1_;
3597 MenhirLib.EngineTypes.next = _menhir_stack;
3598 };
3599 };
3600 } = _menhir_stack in
3601 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3602 let _2 : (
3603 # 98 "parser_cocci_menhir.mly"
3604 (Ast_cocci.logicalOp * Data.clt)
3605 # 3606 "parser_cocci_menhir.ml"
3606 ) = Obj.magic _2 in
3607 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3608 let _startpos = _startpos__1_ in
3609 let _endpos = _endpos__3_ in
3610 let _v : 'tv_arith_expr_expr_invalid_ =
3611 # 1309 "parser_cocci_menhir.mly"
3612 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
3613 # 3614 "parser_cocci_menhir.ml"
3614 in
3615 _menhir_env.MenhirLib.EngineTypes.stack <- {
3616 MenhirLib.EngineTypes.state = _menhir_s;
3617 MenhirLib.EngineTypes.semv = Obj.repr _v;
3618 MenhirLib.EngineTypes.startp = _startpos;
3619 MenhirLib.EngineTypes.endp = _endpos;
3620 MenhirLib.EngineTypes.next = _menhir_stack;
3621 });
3622 (fun _menhir_env ->
3623 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3624 let {
3625 MenhirLib.EngineTypes.semv = _3;
3626 MenhirLib.EngineTypes.startp = _startpos__3_;
3627 MenhirLib.EngineTypes.endp = _endpos__3_;
3628 MenhirLib.EngineTypes.next = {
3629 MenhirLib.EngineTypes.semv = _2;
3630 MenhirLib.EngineTypes.startp = _startpos__2_;
3631 MenhirLib.EngineTypes.endp = _endpos__2_;
3632 MenhirLib.EngineTypes.next = {
3633 MenhirLib.EngineTypes.state = _menhir_s;
3634 MenhirLib.EngineTypes.semv = _1;
3635 MenhirLib.EngineTypes.startp = _startpos__1_;
3636 MenhirLib.EngineTypes.endp = _endpos__1_;
3637 MenhirLib.EngineTypes.next = _menhir_stack;
3638 };
3639 };
3640 } = _menhir_stack in
3641 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3642 let _2 : (
3643 # 97 "parser_cocci_menhir.mly"
3644 (Data.clt)
3645 # 3646 "parser_cocci_menhir.ml"
3646 ) = Obj.magic _2 in
3647 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3648 let _startpos = _startpos__1_ in
3649 let _endpos = _endpos__3_ in
3650 let _v : 'tv_arith_expr_expr_invalid_ =
3651 # 1311 "parser_cocci_menhir.mly"
3652 ( P.logic_op Ast.Eq _1 _2 _3 )
3653 # 3654 "parser_cocci_menhir.ml"
3654 in
3655 _menhir_env.MenhirLib.EngineTypes.stack <- {
3656 MenhirLib.EngineTypes.state = _menhir_s;
3657 MenhirLib.EngineTypes.semv = Obj.repr _v;
3658 MenhirLib.EngineTypes.startp = _startpos;
3659 MenhirLib.EngineTypes.endp = _endpos;
3660 MenhirLib.EngineTypes.next = _menhir_stack;
3661 });
3662 (fun _menhir_env ->
3663 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3664 let {
3665 MenhirLib.EngineTypes.semv = _3;
3666 MenhirLib.EngineTypes.startp = _startpos__3_;
3667 MenhirLib.EngineTypes.endp = _endpos__3_;
3668 MenhirLib.EngineTypes.next = {
3669 MenhirLib.EngineTypes.semv = _2;
3670 MenhirLib.EngineTypes.startp = _startpos__2_;
3671 MenhirLib.EngineTypes.endp = _endpos__2_;
3672 MenhirLib.EngineTypes.next = {
3673 MenhirLib.EngineTypes.state = _menhir_s;
3674 MenhirLib.EngineTypes.semv = _1;
3675 MenhirLib.EngineTypes.startp = _startpos__1_;
3676 MenhirLib.EngineTypes.endp = _endpos__1_;
3677 MenhirLib.EngineTypes.next = _menhir_stack;
3678 };
3679 };
3680 } = _menhir_stack in
3681 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3682 let _2 : (
3683 # 97 "parser_cocci_menhir.mly"
3684 (Data.clt)
3685 # 3686 "parser_cocci_menhir.ml"
3686 ) = Obj.magic _2 in
3687 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3688 let _startpos = _startpos__1_ in
3689 let _endpos = _endpos__3_ in
3690 let _v : 'tv_arith_expr_expr_invalid_ =
3691 # 1313 "parser_cocci_menhir.mly"
3692 ( P.logic_op Ast.NotEq _1 _2 _3 )
3693 # 3694 "parser_cocci_menhir.ml"
3694 in
3695 _menhir_env.MenhirLib.EngineTypes.stack <- {
3696 MenhirLib.EngineTypes.state = _menhir_s;
3697 MenhirLib.EngineTypes.semv = Obj.repr _v;
3698 MenhirLib.EngineTypes.startp = _startpos;
3699 MenhirLib.EngineTypes.endp = _endpos;
3700 MenhirLib.EngineTypes.next = _menhir_stack;
3701 });
3702 (fun _menhir_env ->
3703 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3704 let {
3705 MenhirLib.EngineTypes.semv = _3;
3706 MenhirLib.EngineTypes.startp = _startpos__3_;
3707 MenhirLib.EngineTypes.endp = _endpos__3_;
3708 MenhirLib.EngineTypes.next = {
3709 MenhirLib.EngineTypes.semv = _2;
3710 MenhirLib.EngineTypes.startp = _startpos__2_;
3711 MenhirLib.EngineTypes.endp = _endpos__2_;
3712 MenhirLib.EngineTypes.next = {
3713 MenhirLib.EngineTypes.state = _menhir_s;
3714 MenhirLib.EngineTypes.semv = _1;
3715 MenhirLib.EngineTypes.startp = _startpos__1_;
3716 MenhirLib.EngineTypes.endp = _endpos__1_;
3717 MenhirLib.EngineTypes.next = _menhir_stack;
3718 };
3719 };
3720 } = _menhir_stack in
3721 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3722 let _2 : (
3723 # 96 "parser_cocci_menhir.mly"
3724 (Data.clt)
3725 # 3726 "parser_cocci_menhir.ml"
3726 ) = Obj.magic _2 in
3727 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3728 let _startpos = _startpos__1_ in
3729 let _endpos = _endpos__3_ in
3730 let _v : 'tv_arith_expr_expr_invalid_ =
3731 # 1315 "parser_cocci_menhir.mly"
3732 ( P.arith_op Ast.And _1 _2 _3 )
3733 # 3734 "parser_cocci_menhir.ml"
3734 in
3735 _menhir_env.MenhirLib.EngineTypes.stack <- {
3736 MenhirLib.EngineTypes.state = _menhir_s;
3737 MenhirLib.EngineTypes.semv = Obj.repr _v;
3738 MenhirLib.EngineTypes.startp = _startpos;
3739 MenhirLib.EngineTypes.endp = _endpos;
3740 MenhirLib.EngineTypes.next = _menhir_stack;
3741 });
3742 (fun _menhir_env ->
3743 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3744 let {
3745 MenhirLib.EngineTypes.semv = _3;
3746 MenhirLib.EngineTypes.startp = _startpos__3_;
3747 MenhirLib.EngineTypes.endp = _endpos__3_;
3748 MenhirLib.EngineTypes.next = {
3749 MenhirLib.EngineTypes.semv = _2;
3750 MenhirLib.EngineTypes.startp = _startpos__2_;
3751 MenhirLib.EngineTypes.endp = _endpos__2_;
3752 MenhirLib.EngineTypes.next = {
3753 MenhirLib.EngineTypes.state = _menhir_s;
3754 MenhirLib.EngineTypes.semv = _1;
3755 MenhirLib.EngineTypes.startp = _startpos__1_;
3756 MenhirLib.EngineTypes.endp = _endpos__1_;
3757 MenhirLib.EngineTypes.next = _menhir_stack;
3758 };
3759 };
3760 } = _menhir_stack in
3761 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3762 let _2 : (
3763 # 94 "parser_cocci_menhir.mly"
3764 (Data.clt)
3765 # 3766 "parser_cocci_menhir.ml"
3766 ) = Obj.magic _2 in
3767 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3768 let _startpos = _startpos__1_ in
3769 let _endpos = _endpos__3_ in
3770 let _v : 'tv_arith_expr_expr_invalid_ =
3771 # 1317 "parser_cocci_menhir.mly"
3772 ( P.arith_op Ast.Or _1 _2 _3 )
3773 # 3774 "parser_cocci_menhir.ml"
3774 in
3775 _menhir_env.MenhirLib.EngineTypes.stack <- {
3776 MenhirLib.EngineTypes.state = _menhir_s;
3777 MenhirLib.EngineTypes.semv = Obj.repr _v;
3778 MenhirLib.EngineTypes.startp = _startpos;
3779 MenhirLib.EngineTypes.endp = _endpos;
3780 MenhirLib.EngineTypes.next = _menhir_stack;
3781 });
3782 (fun _menhir_env ->
3783 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3784 let {
3785 MenhirLib.EngineTypes.semv = _3;
3786 MenhirLib.EngineTypes.startp = _startpos__3_;
3787 MenhirLib.EngineTypes.endp = _endpos__3_;
3788 MenhirLib.EngineTypes.next = {
3789 MenhirLib.EngineTypes.semv = _2;
3790 MenhirLib.EngineTypes.startp = _startpos__2_;
3791 MenhirLib.EngineTypes.endp = _endpos__2_;
3792 MenhirLib.EngineTypes.next = {
3793 MenhirLib.EngineTypes.state = _menhir_s;
3794 MenhirLib.EngineTypes.semv = _1;
3795 MenhirLib.EngineTypes.startp = _startpos__1_;
3796 MenhirLib.EngineTypes.endp = _endpos__1_;
3797 MenhirLib.EngineTypes.next = _menhir_stack;
3798 };
3799 };
3800 } = _menhir_stack in
3801 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3802 let _2 : (
3803 # 95 "parser_cocci_menhir.mly"
3804 (Data.clt)
3805 # 3806 "parser_cocci_menhir.ml"
3806 ) = Obj.magic _2 in
3807 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3808 let _startpos = _startpos__1_ in
3809 let _endpos = _endpos__3_ in
3810 let _v : 'tv_arith_expr_expr_invalid_ =
3811 # 1319 "parser_cocci_menhir.mly"
3812 ( P.arith_op Ast.Xor _1 _2 _3 )
3813 # 3814 "parser_cocci_menhir.ml"
3814 in
3815 _menhir_env.MenhirLib.EngineTypes.stack <- {
3816 MenhirLib.EngineTypes.state = _menhir_s;
3817 MenhirLib.EngineTypes.semv = Obj.repr _v;
3818 MenhirLib.EngineTypes.startp = _startpos;
3819 MenhirLib.EngineTypes.endp = _endpos;
3820 MenhirLib.EngineTypes.next = _menhir_stack;
3821 });
3822 (fun _menhir_env ->
3823 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3824 let {
3825 MenhirLib.EngineTypes.semv = _3;
3826 MenhirLib.EngineTypes.startp = _startpos__3_;
3827 MenhirLib.EngineTypes.endp = _endpos__3_;
3828 MenhirLib.EngineTypes.next = {
3829 MenhirLib.EngineTypes.semv = _2;
3830 MenhirLib.EngineTypes.startp = _startpos__2_;
3831 MenhirLib.EngineTypes.endp = _endpos__2_;
3832 MenhirLib.EngineTypes.next = {
3833 MenhirLib.EngineTypes.state = _menhir_s;
3834 MenhirLib.EngineTypes.semv = _1;
3835 MenhirLib.EngineTypes.startp = _startpos__1_;
3836 MenhirLib.EngineTypes.endp = _endpos__1_;
3837 MenhirLib.EngineTypes.next = _menhir_stack;
3838 };
3839 };
3840 } = _menhir_stack in
3841 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3842 let _2 : (
3843 # 93 "parser_cocci_menhir.mly"
3844 (Data.clt)
3845 # 3846 "parser_cocci_menhir.ml"
3846 ) = Obj.magic _2 in
3847 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3848 let _startpos = _startpos__1_ in
3849 let _endpos = _endpos__3_ in
3850 let _v : 'tv_arith_expr_expr_invalid_ =
3851 # 1321 "parser_cocci_menhir.mly"
3852 ( P.logic_op Ast.AndLog _1 _2 _3 )
3853 # 3854 "parser_cocci_menhir.ml"
3854 in
3855 _menhir_env.MenhirLib.EngineTypes.stack <- {
3856 MenhirLib.EngineTypes.state = _menhir_s;
3857 MenhirLib.EngineTypes.semv = Obj.repr _v;
3858 MenhirLib.EngineTypes.startp = _startpos;
3859 MenhirLib.EngineTypes.endp = _endpos;
3860 MenhirLib.EngineTypes.next = _menhir_stack;
3861 });
3862 (fun _menhir_env ->
3863 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3864 let {
3865 MenhirLib.EngineTypes.semv = _3;
3866 MenhirLib.EngineTypes.startp = _startpos__3_;
3867 MenhirLib.EngineTypes.endp = _endpos__3_;
3868 MenhirLib.EngineTypes.next = {
3869 MenhirLib.EngineTypes.semv = _2;
3870 MenhirLib.EngineTypes.startp = _startpos__2_;
3871 MenhirLib.EngineTypes.endp = _endpos__2_;
3872 MenhirLib.EngineTypes.next = {
3873 MenhirLib.EngineTypes.state = _menhir_s;
3874 MenhirLib.EngineTypes.semv = _1;
3875 MenhirLib.EngineTypes.startp = _startpos__1_;
3876 MenhirLib.EngineTypes.endp = _endpos__1_;
3877 MenhirLib.EngineTypes.next = _menhir_stack;
3878 };
3879 };
3880 } = _menhir_stack in
3881 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3882 let _2 : (
3883 # 92 "parser_cocci_menhir.mly"
3884 (Data.clt)
3885 # 3886 "parser_cocci_menhir.ml"
3886 ) = Obj.magic _2 in
3887 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3888 let _startpos = _startpos__1_ in
3889 let _endpos = _endpos__3_ in
3890 let _v : 'tv_arith_expr_expr_invalid_ =
3891 # 1323 "parser_cocci_menhir.mly"
3892 ( P.logic_op Ast.OrLog _1 _2 _3 )
3893 # 3894 "parser_cocci_menhir.ml"
3894 in
3895 _menhir_env.MenhirLib.EngineTypes.stack <- {
3896 MenhirLib.EngineTypes.state = _menhir_s;
3897 MenhirLib.EngineTypes.semv = Obj.repr _v;
3898 MenhirLib.EngineTypes.startp = _startpos;
3899 MenhirLib.EngineTypes.endp = _endpos;
3900 MenhirLib.EngineTypes.next = _menhir_stack;
3901 });
3902 (fun _menhir_env ->
3903 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3904 let {
3905 MenhirLib.EngineTypes.state = _menhir_s;
3906 MenhirLib.EngineTypes.startp = _startpos__1_;
3907 MenhirLib.EngineTypes.endp = _endpos__1_;
3908 MenhirLib.EngineTypes.next = _menhir_stack;
3909 } = _menhir_stack in
3910 let _startpos = _startpos__1_ in
3911 let _endpos = _endpos__1_ in
3912 let _v : 'tv_arity =
3913 # 499 "parser_cocci_menhir.mly"
3914 ( Ast.UNIQUE )
3915 # 3916 "parser_cocci_menhir.ml"
3916 in
3917 _menhir_env.MenhirLib.EngineTypes.stack <- {
3918 MenhirLib.EngineTypes.state = _menhir_s;
3919 MenhirLib.EngineTypes.semv = Obj.repr _v;
3920 MenhirLib.EngineTypes.startp = _startpos;
3921 MenhirLib.EngineTypes.endp = _endpos;
3922 MenhirLib.EngineTypes.next = _menhir_stack;
3923 });
3924 (fun _menhir_env ->
3925 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3926 let {
3927 MenhirLib.EngineTypes.state = _menhir_s;
3928 MenhirLib.EngineTypes.startp = _startpos__1_;
3929 MenhirLib.EngineTypes.endp = _endpos__1_;
3930 MenhirLib.EngineTypes.next = _menhir_stack;
3931 } = _menhir_stack in
3932 let _startpos = _startpos__1_ in
3933 let _endpos = _endpos__1_ in
3934 let _v : 'tv_arity =
3935 # 500 "parser_cocci_menhir.mly"
3936 ( Ast.OPT )
3937 # 3938 "parser_cocci_menhir.ml"
3938 in
3939 _menhir_env.MenhirLib.EngineTypes.stack <- {
3940 MenhirLib.EngineTypes.state = _menhir_s;
3941 MenhirLib.EngineTypes.semv = Obj.repr _v;
3942 MenhirLib.EngineTypes.startp = _startpos;
3943 MenhirLib.EngineTypes.endp = _endpos;
3944 MenhirLib.EngineTypes.next = _menhir_stack;
3945 });
3946 (fun _menhir_env ->
3947 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3948 let {
3949 MenhirLib.EngineTypes.state = _menhir_s;
3950 MenhirLib.EngineTypes.startp = _startpos__1_;
3951 MenhirLib.EngineTypes.endp = _endpos__1_;
3952 MenhirLib.EngineTypes.next = _menhir_stack;
3953 } = _menhir_stack in
3954 let _startpos = _startpos__1_ in
3955 let _endpos = _endpos__1_ in
3956 let _v : 'tv_arity =
3957 # 501 "parser_cocci_menhir.mly"
3958 ( Ast.MULTI )
3959 # 3960 "parser_cocci_menhir.ml"
3960 in
3961 _menhir_env.MenhirLib.EngineTypes.stack <- {
3962 MenhirLib.EngineTypes.state = _menhir_s;
3963 MenhirLib.EngineTypes.semv = Obj.repr _v;
3964 MenhirLib.EngineTypes.startp = _startpos;
3965 MenhirLib.EngineTypes.endp = _endpos;
3966 MenhirLib.EngineTypes.next = _menhir_stack;
3967 });
3968 (fun _menhir_env ->
3969 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3970 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
3971 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
3972 let _endpos = _startpos in
3973 let _v : 'tv_arity =
3974 # 502 "parser_cocci_menhir.mly"
3975 ( Ast.NONE )
3976 # 3977 "parser_cocci_menhir.ml"
3977 in
3978 _menhir_env.MenhirLib.EngineTypes.stack <- {
3979 MenhirLib.EngineTypes.state = _menhir_s;
3980 MenhirLib.EngineTypes.semv = Obj.repr _v;
3981 MenhirLib.EngineTypes.startp = _startpos;
3982 MenhirLib.EngineTypes.endp = _endpos;
3983 MenhirLib.EngineTypes.next = _menhir_stack;
3984 });
3985 (fun _menhir_env ->
3986 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3987 let {
3988 MenhirLib.EngineTypes.semv = r;
3989 MenhirLib.EngineTypes.startp = _startpos_r_;
3990 MenhirLib.EngineTypes.endp = _endpos_r_;
3991 MenhirLib.EngineTypes.next = {
3992 MenhirLib.EngineTypes.semv = i;
3993 MenhirLib.EngineTypes.startp = _startpos_i_;
3994 MenhirLib.EngineTypes.endp = _endpos_i_;
3995 MenhirLib.EngineTypes.next = {
3996 MenhirLib.EngineTypes.state = _menhir_s;
3997 MenhirLib.EngineTypes.semv = l;
3998 MenhirLib.EngineTypes.startp = _startpos_l_;
3999 MenhirLib.EngineTypes.endp = _endpos_l_;
4000 MenhirLib.EngineTypes.next = _menhir_stack;
4001 };
4002 };
4003 } = _menhir_stack in
4004 let r : (
4005 # 105 "parser_cocci_menhir.mly"
4006 (Data.clt)
4007 # 4008 "parser_cocci_menhir.ml"
4008 ) = Obj.magic r in
4009 let i : 'tv_option_eexpr_ = Obj.magic i in
4010 let l : (
4011 # 105 "parser_cocci_menhir.mly"
4012 (Data.clt)
4013 # 4014 "parser_cocci_menhir.ml"
4014 ) = Obj.magic l in
4015 let _startpos = _startpos_l_ in
4016 let _endpos = _endpos_r_ in
4017 let _v : 'tv_array_dec =
4018 # 1100 "parser_cocci_menhir.mly"
4019 ( (l,i,r) )
4020 # 4021 "parser_cocci_menhir.ml"
4021 in
4022 _menhir_env.MenhirLib.EngineTypes.stack <- {
4023 MenhirLib.EngineTypes.state = _menhir_s;
4024 MenhirLib.EngineTypes.semv = Obj.repr _v;
4025 MenhirLib.EngineTypes.startp = _startpos;
4026 MenhirLib.EngineTypes.endp = _endpos;
4027 MenhirLib.EngineTypes.next = _menhir_stack;
4028 });
4029 (fun _menhir_env ->
4030 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4031 let {
4032 MenhirLib.EngineTypes.state = _menhir_s;
4033 MenhirLib.EngineTypes.semv = _1;
4034 MenhirLib.EngineTypes.startp = _startpos__1_;
4035 MenhirLib.EngineTypes.endp = _endpos__1_;
4036 MenhirLib.EngineTypes.next = _menhir_stack;
4037 } = _menhir_stack in
4038 let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4039 let _startpos = _startpos__1_ in
4040 let _endpos = _endpos__1_ in
4041 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4042 # 1269 "parser_cocci_menhir.mly"
4043 ( _1 )
4044 # 4045 "parser_cocci_menhir.ml"
4045 in
4046 _menhir_env.MenhirLib.EngineTypes.stack <- {
4047 MenhirLib.EngineTypes.state = _menhir_s;
4048 MenhirLib.EngineTypes.semv = Obj.repr _v;
4049 MenhirLib.EngineTypes.startp = _startpos;
4050 MenhirLib.EngineTypes.endp = _endpos;
4051 MenhirLib.EngineTypes.next = _menhir_stack;
4052 });
4053 (fun _menhir_env ->
4054 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4055 let {
4056 MenhirLib.EngineTypes.semv = _3;
4057 MenhirLib.EngineTypes.startp = _startpos__3_;
4058 MenhirLib.EngineTypes.endp = _endpos__3_;
4059 MenhirLib.EngineTypes.next = {
4060 MenhirLib.EngineTypes.semv = _2;
4061 MenhirLib.EngineTypes.startp = _startpos__2_;
4062 MenhirLib.EngineTypes.endp = _endpos__2_;
4063 MenhirLib.EngineTypes.next = {
4064 MenhirLib.EngineTypes.state = _menhir_s;
4065 MenhirLib.EngineTypes.semv = _1;
4066 MenhirLib.EngineTypes.startp = _startpos__1_;
4067 MenhirLib.EngineTypes.endp = _endpos__1_;
4068 MenhirLib.EngineTypes.next = _menhir_stack;
4069 };
4070 };
4071 } = _menhir_stack in
4072 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4073 let _2 : (
4074 # 111 "parser_cocci_menhir.mly"
4075 (Ast_cocci.assignOp * Data.clt)
4076 # 4077 "parser_cocci_menhir.ml"
4077 ) = Obj.magic _2 in
4078 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4079 let _startpos = _startpos__1_ in
4080 let _endpos = _endpos__3_ in
4081 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4082 # 1271 "parser_cocci_menhir.mly"
4083 ( let (op,clt) = _2 in
4084 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4085 Ast0.set_arg_exp _3,false)) )
4086 # 4087 "parser_cocci_menhir.ml"
4087 in
4088 _menhir_env.MenhirLib.EngineTypes.stack <- {
4089 MenhirLib.EngineTypes.state = _menhir_s;
4090 MenhirLib.EngineTypes.semv = Obj.repr _v;
4091 MenhirLib.EngineTypes.startp = _startpos;
4092 MenhirLib.EngineTypes.endp = _endpos;
4093 MenhirLib.EngineTypes.next = _menhir_stack;
4094 });
4095 (fun _menhir_env ->
4096 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4097 let {
4098 MenhirLib.EngineTypes.semv = _3;
4099 MenhirLib.EngineTypes.startp = _startpos__3_;
4100 MenhirLib.EngineTypes.endp = _endpos__3_;
4101 MenhirLib.EngineTypes.next = {
4102 MenhirLib.EngineTypes.semv = _2;
4103 MenhirLib.EngineTypes.startp = _startpos__2_;
4104 MenhirLib.EngineTypes.endp = _endpos__2_;
4105 MenhirLib.EngineTypes.next = {
4106 MenhirLib.EngineTypes.state = _menhir_s;
4107 MenhirLib.EngineTypes.semv = _1;
4108 MenhirLib.EngineTypes.startp = _startpos__1_;
4109 MenhirLib.EngineTypes.endp = _endpos__1_;
4110 MenhirLib.EngineTypes.next = _menhir_stack;
4111 };
4112 };
4113 } = _menhir_stack in
4114 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4115 let _2 : (
4116 # 110 "parser_cocci_menhir.mly"
4117 (Data.clt)
4118 # 4119 "parser_cocci_menhir.ml"
4119 ) = Obj.magic _2 in
4120 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4121 let _startpos = _startpos__1_ in
4122 let _endpos = _endpos__3_ in
4123 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4124 # 1275 "parser_cocci_menhir.mly"
4125 ( Ast0.wrap
4126 (Ast0.Assignment
4127 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4128 # 4129 "parser_cocci_menhir.ml"
4129 in
4130 _menhir_env.MenhirLib.EngineTypes.stack <- {
4131 MenhirLib.EngineTypes.state = _menhir_s;
4132 MenhirLib.EngineTypes.semv = Obj.repr _v;
4133 MenhirLib.EngineTypes.startp = _startpos;
4134 MenhirLib.EngineTypes.endp = _endpos;
4135 MenhirLib.EngineTypes.next = _menhir_stack;
4136 });
4137 (fun _menhir_env ->
4138 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4139 let {
4140 MenhirLib.EngineTypes.state = _menhir_s;
4141 MenhirLib.EngineTypes.semv = _1;
4142 MenhirLib.EngineTypes.startp = _startpos__1_;
4143 MenhirLib.EngineTypes.endp = _endpos__1_;
4144 MenhirLib.EngineTypes.next = _menhir_stack;
4145 } = _menhir_stack in
4146 let _1 : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4147 let _startpos = _startpos__1_ in
4148 let _endpos = _endpos__1_ in
4149 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
4150 # 1269 "parser_cocci_menhir.mly"
4151 ( _1 )
4152 # 4153 "parser_cocci_menhir.ml"
4153 in
4154 _menhir_env.MenhirLib.EngineTypes.stack <- {
4155 MenhirLib.EngineTypes.state = _menhir_s;
4156 MenhirLib.EngineTypes.semv = Obj.repr _v;
4157 MenhirLib.EngineTypes.startp = _startpos;
4158 MenhirLib.EngineTypes.endp = _endpos;
4159 MenhirLib.EngineTypes.next = _menhir_stack;
4160 });
4161 (fun _menhir_env ->
4162 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4163 let {
4164 MenhirLib.EngineTypes.semv = _3;
4165 MenhirLib.EngineTypes.startp = _startpos__3_;
4166 MenhirLib.EngineTypes.endp = _endpos__3_;
4167 MenhirLib.EngineTypes.next = {
4168 MenhirLib.EngineTypes.semv = _2;
4169 MenhirLib.EngineTypes.startp = _startpos__2_;
4170 MenhirLib.EngineTypes.endp = _endpos__2_;
4171 MenhirLib.EngineTypes.next = {
4172 MenhirLib.EngineTypes.state = _menhir_s;
4173 MenhirLib.EngineTypes.semv = _1;
4174 MenhirLib.EngineTypes.startp = _startpos__1_;
4175 MenhirLib.EngineTypes.endp = _endpos__1_;
4176 MenhirLib.EngineTypes.next = _menhir_stack;
4177 };
4178 };
4179 } = _menhir_stack in
4180 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4181 let _2 : (
4182 # 111 "parser_cocci_menhir.mly"
4183 (Ast_cocci.assignOp * Data.clt)
4184 # 4185 "parser_cocci_menhir.ml"
4185 ) = Obj.magic _2 in
4186 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4187 let _startpos = _startpos__1_ in
4188 let _endpos = _endpos__3_ in
4189 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
4190 # 1271 "parser_cocci_menhir.mly"
4191 ( let (op,clt) = _2 in
4192 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4193 Ast0.set_arg_exp _3,false)) )
4194 # 4195 "parser_cocci_menhir.ml"
4195 in
4196 _menhir_env.MenhirLib.EngineTypes.stack <- {
4197 MenhirLib.EngineTypes.state = _menhir_s;
4198 MenhirLib.EngineTypes.semv = Obj.repr _v;
4199 MenhirLib.EngineTypes.startp = _startpos;
4200 MenhirLib.EngineTypes.endp = _endpos;
4201 MenhirLib.EngineTypes.next = _menhir_stack;
4202 });
4203 (fun _menhir_env ->
4204 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4205 let {
4206 MenhirLib.EngineTypes.semv = _3;
4207 MenhirLib.EngineTypes.startp = _startpos__3_;
4208 MenhirLib.EngineTypes.endp = _endpos__3_;
4209 MenhirLib.EngineTypes.next = {
4210 MenhirLib.EngineTypes.semv = _2;
4211 MenhirLib.EngineTypes.startp = _startpos__2_;
4212 MenhirLib.EngineTypes.endp = _endpos__2_;
4213 MenhirLib.EngineTypes.next = {
4214 MenhirLib.EngineTypes.state = _menhir_s;
4215 MenhirLib.EngineTypes.semv = _1;
4216 MenhirLib.EngineTypes.startp = _startpos__1_;
4217 MenhirLib.EngineTypes.endp = _endpos__1_;
4218 MenhirLib.EngineTypes.next = _menhir_stack;
4219 };
4220 };
4221 } = _menhir_stack in
4222 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4223 let _2 : (
4224 # 110 "parser_cocci_menhir.mly"
4225 (Data.clt)
4226 # 4227 "parser_cocci_menhir.ml"
4227 ) = Obj.magic _2 in
4228 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4229 let _startpos = _startpos__1_ in
4230 let _endpos = _endpos__3_ in
4231 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
4232 # 1275 "parser_cocci_menhir.mly"
4233 ( Ast0.wrap
4234 (Ast0.Assignment
4235 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4236 # 4237 "parser_cocci_menhir.ml"
4237 in
4238 _menhir_env.MenhirLib.EngineTypes.stack <- {
4239 MenhirLib.EngineTypes.state = _menhir_s;
4240 MenhirLib.EngineTypes.semv = Obj.repr _v;
4241 MenhirLib.EngineTypes.startp = _startpos;
4242 MenhirLib.EngineTypes.endp = _endpos;
4243 MenhirLib.EngineTypes.next = _menhir_stack;
4244 });
4245 (fun _menhir_env ->
4246 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4247 let {
4248 MenhirLib.EngineTypes.state = _menhir_s;
4249 MenhirLib.EngineTypes.semv = _1;
4250 MenhirLib.EngineTypes.startp = _startpos__1_;
4251 MenhirLib.EngineTypes.endp = _endpos__1_;
4252 MenhirLib.EngineTypes.next = _menhir_stack;
4253 } = _menhir_stack in
4254 let _1 : 'tv_cond_expr_expr_invalid_ = Obj.magic _1 in
4255 let _startpos = _startpos__1_ in
4256 let _endpos = _endpos__1_ in
4257 let _v : 'tv_assign_expr_expr_invalid_ =
4258 # 1269 "parser_cocci_menhir.mly"
4259 ( _1 )
4260 # 4261 "parser_cocci_menhir.ml"
4261 in
4262 _menhir_env.MenhirLib.EngineTypes.stack <- {
4263 MenhirLib.EngineTypes.state = _menhir_s;
4264 MenhirLib.EngineTypes.semv = Obj.repr _v;
4265 MenhirLib.EngineTypes.startp = _startpos;
4266 MenhirLib.EngineTypes.endp = _endpos;
4267 MenhirLib.EngineTypes.next = _menhir_stack;
4268 });
4269 (fun _menhir_env ->
4270 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4271 let {
4272 MenhirLib.EngineTypes.semv = _3;
4273 MenhirLib.EngineTypes.startp = _startpos__3_;
4274 MenhirLib.EngineTypes.endp = _endpos__3_;
4275 MenhirLib.EngineTypes.next = {
4276 MenhirLib.EngineTypes.semv = _2;
4277 MenhirLib.EngineTypes.startp = _startpos__2_;
4278 MenhirLib.EngineTypes.endp = _endpos__2_;
4279 MenhirLib.EngineTypes.next = {
4280 MenhirLib.EngineTypes.state = _menhir_s;
4281 MenhirLib.EngineTypes.semv = _1;
4282 MenhirLib.EngineTypes.startp = _startpos__1_;
4283 MenhirLib.EngineTypes.endp = _endpos__1_;
4284 MenhirLib.EngineTypes.next = _menhir_stack;
4285 };
4286 };
4287 } = _menhir_stack in
4288 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4289 let _2 : (
4290 # 111 "parser_cocci_menhir.mly"
4291 (Ast_cocci.assignOp * Data.clt)
4292 # 4293 "parser_cocci_menhir.ml"
4293 ) = Obj.magic _2 in
4294 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
4295 let _startpos = _startpos__1_ in
4296 let _endpos = _endpos__3_ in
4297 let _v : 'tv_assign_expr_expr_invalid_ =
4298 # 1271 "parser_cocci_menhir.mly"
4299 ( let (op,clt) = _2 in
4300 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4301 Ast0.set_arg_exp _3,false)) )
4302 # 4303 "parser_cocci_menhir.ml"
4303 in
4304 _menhir_env.MenhirLib.EngineTypes.stack <- {
4305 MenhirLib.EngineTypes.state = _menhir_s;
4306 MenhirLib.EngineTypes.semv = Obj.repr _v;
4307 MenhirLib.EngineTypes.startp = _startpos;
4308 MenhirLib.EngineTypes.endp = _endpos;
4309 MenhirLib.EngineTypes.next = _menhir_stack;
4310 });
4311 (fun _menhir_env ->
4312 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4313 let {
4314 MenhirLib.EngineTypes.semv = _3;
4315 MenhirLib.EngineTypes.startp = _startpos__3_;
4316 MenhirLib.EngineTypes.endp = _endpos__3_;
4317 MenhirLib.EngineTypes.next = {
4318 MenhirLib.EngineTypes.semv = _2;
4319 MenhirLib.EngineTypes.startp = _startpos__2_;
4320 MenhirLib.EngineTypes.endp = _endpos__2_;
4321 MenhirLib.EngineTypes.next = {
4322 MenhirLib.EngineTypes.state = _menhir_s;
4323 MenhirLib.EngineTypes.semv = _1;
4324 MenhirLib.EngineTypes.startp = _startpos__1_;
4325 MenhirLib.EngineTypes.endp = _endpos__1_;
4326 MenhirLib.EngineTypes.next = _menhir_stack;
4327 };
4328 };
4329 } = _menhir_stack in
4330 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4331 let _2 : (
4332 # 110 "parser_cocci_menhir.mly"
4333 (Data.clt)
4334 # 4335 "parser_cocci_menhir.ml"
4335 ) = Obj.magic _2 in
4336 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
4337 let _startpos = _startpos__1_ in
4338 let _endpos = _endpos__3_ in
4339 let _v : 'tv_assign_expr_expr_invalid_ =
4340 # 1275 "parser_cocci_menhir.mly"
4341 ( Ast0.wrap
4342 (Ast0.Assignment
4343 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4344 # 4345 "parser_cocci_menhir.ml"
4345 in
4346 _menhir_env.MenhirLib.EngineTypes.stack <- {
4347 MenhirLib.EngineTypes.state = _menhir_s;
4348 MenhirLib.EngineTypes.semv = Obj.repr _v;
4349 MenhirLib.EngineTypes.startp = _startpos;
4350 MenhirLib.EngineTypes.endp = _endpos;
4351 MenhirLib.EngineTypes.next = _menhir_stack;
4352 });
4353 (fun _menhir_env ->
4354 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4355 let {
4356 MenhirLib.EngineTypes.state = _menhir_s;
4357 MenhirLib.EngineTypes.semv = _1;
4358 MenhirLib.EngineTypes.startp = _startpos__1_;
4359 MenhirLib.EngineTypes.endp = _endpos__1_;
4360 MenhirLib.EngineTypes.next = _menhir_stack;
4361 } = _menhir_stack in
4362 let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4363 let _startpos = _startpos__1_ in
4364 let _endpos = _endpos__1_ in
4365 let _v : 'tv_assign_expr_bis =
4366 # 1280 "parser_cocci_menhir.mly"
4367 ( _1 )
4368 # 4369 "parser_cocci_menhir.ml"
4369 in
4370 _menhir_env.MenhirLib.EngineTypes.stack <- {
4371 MenhirLib.EngineTypes.state = _menhir_s;
4372 MenhirLib.EngineTypes.semv = Obj.repr _v;
4373 MenhirLib.EngineTypes.startp = _startpos;
4374 MenhirLib.EngineTypes.endp = _endpos;
4375 MenhirLib.EngineTypes.next = _menhir_stack;
4376 });
4377 (fun _menhir_env ->
4378 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4379 let {
4380 MenhirLib.EngineTypes.semv = _3;
4381 MenhirLib.EngineTypes.startp = _startpos__3_;
4382 MenhirLib.EngineTypes.endp = _endpos__3_;
4383 MenhirLib.EngineTypes.next = {
4384 MenhirLib.EngineTypes.semv = _2;
4385 MenhirLib.EngineTypes.startp = _startpos__2_;
4386 MenhirLib.EngineTypes.endp = _endpos__2_;
4387 MenhirLib.EngineTypes.next = {
4388 MenhirLib.EngineTypes.state = _menhir_s;
4389 MenhirLib.EngineTypes.semv = _1;
4390 MenhirLib.EngineTypes.startp = _startpos__1_;
4391 MenhirLib.EngineTypes.endp = _endpos__1_;
4392 MenhirLib.EngineTypes.next = _menhir_stack;
4393 };
4394 };
4395 } = _menhir_stack in
4396 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4397 let _2 : (
4398 # 111 "parser_cocci_menhir.mly"
4399 (Ast_cocci.assignOp * Data.clt)
4400 # 4401 "parser_cocci_menhir.ml"
4401 ) = Obj.magic _2 in
4402 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4403 let _startpos = _startpos__1_ in
4404 let _endpos = _endpos__3_ in
4405 let _v : 'tv_assign_expr_bis =
4406 # 1282 "parser_cocci_menhir.mly"
4407 ( let (op,clt) = _2 in
4408 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4409 Ast0.set_arg_exp _3,false)) )
4410 # 4411 "parser_cocci_menhir.ml"
4411 in
4412 _menhir_env.MenhirLib.EngineTypes.stack <- {
4413 MenhirLib.EngineTypes.state = _menhir_s;
4414 MenhirLib.EngineTypes.semv = Obj.repr _v;
4415 MenhirLib.EngineTypes.startp = _startpos;
4416 MenhirLib.EngineTypes.endp = _endpos;
4417 MenhirLib.EngineTypes.next = _menhir_stack;
4418 });
4419 (fun _menhir_env ->
4420 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4421 let {
4422 MenhirLib.EngineTypes.semv = _3;
4423 MenhirLib.EngineTypes.startp = _startpos__3_;
4424 MenhirLib.EngineTypes.endp = _endpos__3_;
4425 MenhirLib.EngineTypes.next = {
4426 MenhirLib.EngineTypes.semv = _2;
4427 MenhirLib.EngineTypes.startp = _startpos__2_;
4428 MenhirLib.EngineTypes.endp = _endpos__2_;
4429 MenhirLib.EngineTypes.next = {
4430 MenhirLib.EngineTypes.state = _menhir_s;
4431 MenhirLib.EngineTypes.semv = _1;
4432 MenhirLib.EngineTypes.startp = _startpos__1_;
4433 MenhirLib.EngineTypes.endp = _endpos__1_;
4434 MenhirLib.EngineTypes.next = _menhir_stack;
4435 };
4436 };
4437 } = _menhir_stack in
4438 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4439 let _2 : (
4440 # 110 "parser_cocci_menhir.mly"
4441 (Data.clt)
4442 # 4443 "parser_cocci_menhir.ml"
4443 ) = Obj.magic _2 in
4444 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4445 let _startpos = _startpos__1_ in
4446 let _endpos = _endpos__3_ in
4447 let _v : 'tv_assign_expr_bis =
4448 # 1286 "parser_cocci_menhir.mly"
4449 ( Ast0.wrap
4450 (Ast0.Assignment
4451 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4452 # 4453 "parser_cocci_menhir.ml"
4453 in
4454 _menhir_env.MenhirLib.EngineTypes.stack <- {
4455 MenhirLib.EngineTypes.state = _menhir_s;
4456 MenhirLib.EngineTypes.semv = Obj.repr _v;
4457 MenhirLib.EngineTypes.startp = _startpos;
4458 MenhirLib.EngineTypes.endp = _endpos;
4459 MenhirLib.EngineTypes.next = _menhir_stack;
4460 });
4461 (fun _menhir_env ->
4462 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4463 let {
4464 MenhirLib.EngineTypes.state = _menhir_s;
4465 MenhirLib.EngineTypes.semv = _1;
4466 MenhirLib.EngineTypes.startp = _startpos__1_;
4467 MenhirLib.EngineTypes.endp = _endpos__1_;
4468 MenhirLib.EngineTypes.next = _menhir_stack;
4469 } = _menhir_stack in
4470 let _1 : 'tv_assign_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4471 let _startpos = _startpos__1_ in
4472 let _endpos = _endpos__1_ in
4473 let _v : 'tv_basic_expr_eexpr_dot_expressions_ =
4474 # 1266 "parser_cocci_menhir.mly"
4475 ( _1 )
4476 # 4477 "parser_cocci_menhir.ml"
4477 in
4478 _menhir_env.MenhirLib.EngineTypes.stack <- {
4479 MenhirLib.EngineTypes.state = _menhir_s;
4480 MenhirLib.EngineTypes.semv = Obj.repr _v;
4481 MenhirLib.EngineTypes.startp = _startpos;
4482 MenhirLib.EngineTypes.endp = _endpos;
4483 MenhirLib.EngineTypes.next = _menhir_stack;
4484 });
4485 (fun _menhir_env ->
4486 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4487 let {
4488 MenhirLib.EngineTypes.state = _menhir_s;
4489 MenhirLib.EngineTypes.semv = _1;
4490 MenhirLib.EngineTypes.startp = _startpos__1_;
4491 MenhirLib.EngineTypes.endp = _endpos__1_;
4492 MenhirLib.EngineTypes.next = _menhir_stack;
4493 } = _menhir_stack in
4494 let _1 : 'tv_assign_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4495 let _startpos = _startpos__1_ in
4496 let _endpos = _endpos__1_ in
4497 let _v : 'tv_basic_expr_eexpr_nest_expressions_ =
4498 # 1266 "parser_cocci_menhir.mly"
4499 ( _1 )
4500 # 4501 "parser_cocci_menhir.ml"
4501 in
4502 _menhir_env.MenhirLib.EngineTypes.stack <- {
4503 MenhirLib.EngineTypes.state = _menhir_s;
4504 MenhirLib.EngineTypes.semv = Obj.repr _v;
4505 MenhirLib.EngineTypes.startp = _startpos;
4506 MenhirLib.EngineTypes.endp = _endpos;
4507 MenhirLib.EngineTypes.next = _menhir_stack;
4508 });
4509 (fun _menhir_env ->
4510 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4511 let {
4512 MenhirLib.EngineTypes.state = _menhir_s;
4513 MenhirLib.EngineTypes.semv = _1;
4514 MenhirLib.EngineTypes.startp = _startpos__1_;
4515 MenhirLib.EngineTypes.endp = _endpos__1_;
4516 MenhirLib.EngineTypes.next = _menhir_stack;
4517 } = _menhir_stack in
4518 let _1 : 'tv_assign_expr_expr_invalid_ = Obj.magic _1 in
4519 let _startpos = _startpos__1_ in
4520 let _endpos = _endpos__1_ in
4521 let _v : 'tv_basic_expr_expr_invalid_ =
4522 # 1266 "parser_cocci_menhir.mly"
4523 ( _1 )
4524 # 4525 "parser_cocci_menhir.ml"
4525 in
4526 _menhir_env.MenhirLib.EngineTypes.stack <- {
4527 MenhirLib.EngineTypes.state = _menhir_s;
4528 MenhirLib.EngineTypes.semv = Obj.repr _v;
4529 MenhirLib.EngineTypes.startp = _startpos;
4530 MenhirLib.EngineTypes.endp = _endpos;
4531 MenhirLib.EngineTypes.next = _menhir_stack;
4532 });
4533 (fun _menhir_env ->
4534 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4535 let {
4536 MenhirLib.EngineTypes.semv = _3;
4537 MenhirLib.EngineTypes.startp = _startpos__3_;
4538 MenhirLib.EngineTypes.endp = _endpos__3_;
4539 MenhirLib.EngineTypes.next = {
4540 MenhirLib.EngineTypes.semv = _2;
4541 MenhirLib.EngineTypes.startp = _startpos__2_;
4542 MenhirLib.EngineTypes.endp = _endpos__2_;
4543 MenhirLib.EngineTypes.next = {
4544 MenhirLib.EngineTypes.state = _menhir_s;
4545 MenhirLib.EngineTypes.semv = _1;
4546 MenhirLib.EngineTypes.startp = _startpos__1_;
4547 MenhirLib.EngineTypes.endp = _endpos__1_;
4548 MenhirLib.EngineTypes.next = _menhir_stack;
4549 };
4550 };
4551 } = _menhir_stack in
4552 let _3 : 'tv_fun_start = Obj.magic _3 in
4553 let _2 : (
4554 # 79 "parser_cocci_menhir.mly"
4555 (Data.clt)
4556 # 4557 "parser_cocci_menhir.ml"
4557 ) = Obj.magic _2 in
4558 let _1 : (
4559 # 59 "parser_cocci_menhir.mly"
4560 (Data.clt)
4561 # 4562 "parser_cocci_menhir.ml"
4562 ) = Obj.magic _1 in
4563 let _startpos = _startpos__1_ in
4564 let _endpos = _endpos__3_ in
4565 let _v : 'tv_case_line =
4566 # 964 "parser_cocci_menhir.mly"
4567 ( Ast0.wrap
4568 (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) )
4569 # 4570 "parser_cocci_menhir.ml"
4570 in
4571 _menhir_env.MenhirLib.EngineTypes.stack <- {
4572 MenhirLib.EngineTypes.state = _menhir_s;
4573 MenhirLib.EngineTypes.semv = Obj.repr _v;
4574 MenhirLib.EngineTypes.startp = _startpos;
4575 MenhirLib.EngineTypes.endp = _endpos;
4576 MenhirLib.EngineTypes.next = _menhir_stack;
4577 });
4578 (fun _menhir_env ->
4579 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4580 let {
4581 MenhirLib.EngineTypes.semv = _4;
4582 MenhirLib.EngineTypes.startp = _startpos__4_;
4583 MenhirLib.EngineTypes.endp = _endpos__4_;
4584 MenhirLib.EngineTypes.next = {
4585 MenhirLib.EngineTypes.semv = _3;
4586 MenhirLib.EngineTypes.startp = _startpos__3_;
4587 MenhirLib.EngineTypes.endp = _endpos__3_;
4588 MenhirLib.EngineTypes.next = {
4589 MenhirLib.EngineTypes.semv = _2;
4590 MenhirLib.EngineTypes.startp = _startpos__2_;
4591 MenhirLib.EngineTypes.endp = _endpos__2_;
4592 MenhirLib.EngineTypes.next = {
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 };
4599 };
4600 };
4601 } = _menhir_stack in
4602 let _4 : 'tv_fun_start = Obj.magic _4 in
4603 let _3 : (
4604 # 79 "parser_cocci_menhir.mly"
4605 (Data.clt)
4606 # 4607 "parser_cocci_menhir.ml"
4607 ) = Obj.magic _3 in
4608 let _2 : 'tv_eexpr = Obj.magic _2 in
4609 let _1 : (
4610 # 59 "parser_cocci_menhir.mly"
4611 (Data.clt)
4612 # 4613 "parser_cocci_menhir.ml"
4613 ) = Obj.magic _1 in
4614 let _startpos = _startpos__1_ in
4615 let _endpos = _endpos__4_ in
4616 let _v : 'tv_case_line =
4617 # 967 "parser_cocci_menhir.mly"
4618 ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) )
4619 # 4620 "parser_cocci_menhir.ml"
4620 in
4621 _menhir_env.MenhirLib.EngineTypes.stack <- {
4622 MenhirLib.EngineTypes.state = _menhir_s;
4623 MenhirLib.EngineTypes.semv = Obj.repr _v;
4624 MenhirLib.EngineTypes.startp = _startpos;
4625 MenhirLib.EngineTypes.endp = _endpos;
4626 MenhirLib.EngineTypes.next = _menhir_stack;
4627 });
4628 (fun _menhir_env ->
4629 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4630 let {
4631 MenhirLib.EngineTypes.state = _menhir_s;
4632 MenhirLib.EngineTypes.semv = _1;
4633 MenhirLib.EngineTypes.startp = _startpos__1_;
4634 MenhirLib.EngineTypes.endp = _endpos__1_;
4635 MenhirLib.EngineTypes.next = _menhir_stack;
4636 } = _menhir_stack in
4637 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4638 let _startpos = _startpos__1_ in
4639 let _endpos = _endpos__1_ in
4640 let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
4641 # 1326 "parser_cocci_menhir.mly"
4642 ( _1 )
4643 # 4644 "parser_cocci_menhir.ml"
4644 in
4645 _menhir_env.MenhirLib.EngineTypes.stack <- {
4646 MenhirLib.EngineTypes.state = _menhir_s;
4647 MenhirLib.EngineTypes.semv = Obj.repr _v;
4648 MenhirLib.EngineTypes.startp = _startpos;
4649 MenhirLib.EngineTypes.endp = _endpos;
4650 MenhirLib.EngineTypes.next = _menhir_stack;
4651 });
4652 (fun _menhir_env ->
4653 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4654 let {
4655 MenhirLib.EngineTypes.semv = e;
4656 MenhirLib.EngineTypes.startp = _startpos_e_;
4657 MenhirLib.EngineTypes.endp = _endpos_e_;
4658 MenhirLib.EngineTypes.next = {
4659 MenhirLib.EngineTypes.semv = rp;
4660 MenhirLib.EngineTypes.startp = _startpos_rp_;
4661 MenhirLib.EngineTypes.endp = _endpos_rp_;
4662 MenhirLib.EngineTypes.next = {
4663 MenhirLib.EngineTypes.semv = t;
4664 MenhirLib.EngineTypes.startp = _startpos_t_;
4665 MenhirLib.EngineTypes.endp = _endpos_t_;
4666 MenhirLib.EngineTypes.next = {
4667 MenhirLib.EngineTypes.state = _menhir_s;
4668 MenhirLib.EngineTypes.semv = lp;
4669 MenhirLib.EngineTypes.startp = _startpos_lp_;
4670 MenhirLib.EngineTypes.endp = _endpos_lp_;
4671 MenhirLib.EngineTypes.next = _menhir_stack;
4672 };
4673 };
4674 };
4675 } = _menhir_stack in
4676 let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in
4677 let rp : (
4678 # 80 "parser_cocci_menhir.mly"
4679 (Data.clt)
4680 # 4681 "parser_cocci_menhir.ml"
4681 ) = Obj.magic rp in
4682 let t : 'tv_ctype = Obj.magic t in
4683 let lp : (
4684 # 79 "parser_cocci_menhir.mly"
4685 (Data.clt)
4686 # 4687 "parser_cocci_menhir.ml"
4687 ) = Obj.magic lp in
4688 let _startpos = _startpos_lp_ in
4689 let _endpos = _endpos_e_ in
4690 let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
4691 # 1328 "parser_cocci_menhir.mly"
4692 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
4693 P.clt2mcode ")" rp, e)) )
4694 # 4695 "parser_cocci_menhir.ml"
4695 in
4696 _menhir_env.MenhirLib.EngineTypes.stack <- {
4697 MenhirLib.EngineTypes.state = _menhir_s;
4698 MenhirLib.EngineTypes.semv = Obj.repr _v;
4699 MenhirLib.EngineTypes.startp = _startpos;
4700 MenhirLib.EngineTypes.endp = _endpos;
4701 MenhirLib.EngineTypes.next = _menhir_stack;
4702 });
4703 (fun _menhir_env ->
4704 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4705 let {
4706 MenhirLib.EngineTypes.state = _menhir_s;
4707 MenhirLib.EngineTypes.semv = _1;
4708 MenhirLib.EngineTypes.startp = _startpos__1_;
4709 MenhirLib.EngineTypes.endp = _endpos__1_;
4710 MenhirLib.EngineTypes.next = _menhir_stack;
4711 } = _menhir_stack in
4712 let _1 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _1 in
4713 let _startpos = _startpos__1_ in
4714 let _endpos = _endpos__1_ in
4715 let _v : 'tv_cast_expr_eexpr_invalid_ =
4716 # 1326 "parser_cocci_menhir.mly"
4717 ( _1 )
4718 # 4719 "parser_cocci_menhir.ml"
4719 in
4720 _menhir_env.MenhirLib.EngineTypes.stack <- {
4721 MenhirLib.EngineTypes.state = _menhir_s;
4722 MenhirLib.EngineTypes.semv = Obj.repr _v;
4723 MenhirLib.EngineTypes.startp = _startpos;
4724 MenhirLib.EngineTypes.endp = _endpos;
4725 MenhirLib.EngineTypes.next = _menhir_stack;
4726 });
4727 (fun _menhir_env ->
4728 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4729 let {
4730 MenhirLib.EngineTypes.semv = e;
4731 MenhirLib.EngineTypes.startp = _startpos_e_;
4732 MenhirLib.EngineTypes.endp = _endpos_e_;
4733 MenhirLib.EngineTypes.next = {
4734 MenhirLib.EngineTypes.semv = rp;
4735 MenhirLib.EngineTypes.startp = _startpos_rp_;
4736 MenhirLib.EngineTypes.endp = _endpos_rp_;
4737 MenhirLib.EngineTypes.next = {
4738 MenhirLib.EngineTypes.semv = t;
4739 MenhirLib.EngineTypes.startp = _startpos_t_;
4740 MenhirLib.EngineTypes.endp = _endpos_t_;
4741 MenhirLib.EngineTypes.next = {
4742 MenhirLib.EngineTypes.state = _menhir_s;
4743 MenhirLib.EngineTypes.semv = lp;
4744 MenhirLib.EngineTypes.startp = _startpos_lp_;
4745 MenhirLib.EngineTypes.endp = _endpos_lp_;
4746 MenhirLib.EngineTypes.next = _menhir_stack;
4747 };
4748 };
4749 };
4750 } = _menhir_stack in
4751 let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in
4752 let rp : (
4753 # 80 "parser_cocci_menhir.mly"
4754 (Data.clt)
4755 # 4756 "parser_cocci_menhir.ml"
4756 ) = Obj.magic rp in
4757 let t : 'tv_ctype = Obj.magic t in
4758 let lp : (
4759 # 79 "parser_cocci_menhir.mly"
4760 (Data.clt)
4761 # 4762 "parser_cocci_menhir.ml"
4762 ) = Obj.magic lp in
4763 let _startpos = _startpos_lp_ in
4764 let _endpos = _endpos_e_ in
4765 let _v : 'tv_cast_expr_eexpr_invalid_ =
4766 # 1328 "parser_cocci_menhir.mly"
4767 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
4768 P.clt2mcode ")" rp, e)) )
4769 # 4770 "parser_cocci_menhir.ml"
4770 in
4771 _menhir_env.MenhirLib.EngineTypes.stack <- {
4772 MenhirLib.EngineTypes.state = _menhir_s;
4773 MenhirLib.EngineTypes.semv = Obj.repr _v;
4774 MenhirLib.EngineTypes.startp = _startpos;
4775 MenhirLib.EngineTypes.endp = _endpos;
4776 MenhirLib.EngineTypes.next = _menhir_stack;
4777 });
4778 (fun _menhir_env ->
4779 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4780 let {
4781 MenhirLib.EngineTypes.state = _menhir_s;
4782 MenhirLib.EngineTypes.semv = _1;
4783 MenhirLib.EngineTypes.startp = _startpos__1_;
4784 MenhirLib.EngineTypes.endp = _endpos__1_;
4785 MenhirLib.EngineTypes.next = _menhir_stack;
4786 } = _menhir_stack in
4787 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4788 let _startpos = _startpos__1_ in
4789 let _endpos = _endpos__1_ in
4790 let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
4791 # 1326 "parser_cocci_menhir.mly"
4792 ( _1 )
4793 # 4794 "parser_cocci_menhir.ml"
4794 in
4795 _menhir_env.MenhirLib.EngineTypes.stack <- {
4796 MenhirLib.EngineTypes.state = _menhir_s;
4797 MenhirLib.EngineTypes.semv = Obj.repr _v;
4798 MenhirLib.EngineTypes.startp = _startpos;
4799 MenhirLib.EngineTypes.endp = _endpos;
4800 MenhirLib.EngineTypes.next = _menhir_stack;
4801 });
4802 (fun _menhir_env ->
4803 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4804 let {
4805 MenhirLib.EngineTypes.semv = e;
4806 MenhirLib.EngineTypes.startp = _startpos_e_;
4807 MenhirLib.EngineTypes.endp = _endpos_e_;
4808 MenhirLib.EngineTypes.next = {
4809 MenhirLib.EngineTypes.semv = rp;
4810 MenhirLib.EngineTypes.startp = _startpos_rp_;
4811 MenhirLib.EngineTypes.endp = _endpos_rp_;
4812 MenhirLib.EngineTypes.next = {
4813 MenhirLib.EngineTypes.semv = t;
4814 MenhirLib.EngineTypes.startp = _startpos_t_;
4815 MenhirLib.EngineTypes.endp = _endpos_t_;
4816 MenhirLib.EngineTypes.next = {
4817 MenhirLib.EngineTypes.state = _menhir_s;
4818 MenhirLib.EngineTypes.semv = lp;
4819 MenhirLib.EngineTypes.startp = _startpos_lp_;
4820 MenhirLib.EngineTypes.endp = _endpos_lp_;
4821 MenhirLib.EngineTypes.next = _menhir_stack;
4822 };
4823 };
4824 };
4825 } = _menhir_stack in
4826 let e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in
4827 let rp : (
4828 # 80 "parser_cocci_menhir.mly"
4829 (Data.clt)
4830 # 4831 "parser_cocci_menhir.ml"
4831 ) = Obj.magic rp in
4832 let t : 'tv_ctype = Obj.magic t in
4833 let lp : (
4834 # 79 "parser_cocci_menhir.mly"
4835 (Data.clt)
4836 # 4837 "parser_cocci_menhir.ml"
4837 ) = Obj.magic lp in
4838 let _startpos = _startpos_lp_ in
4839 let _endpos = _endpos_e_ in
4840 let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
4841 # 1328 "parser_cocci_menhir.mly"
4842 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
4843 P.clt2mcode ")" rp, e)) )
4844 # 4845 "parser_cocci_menhir.ml"
4845 in
4846 _menhir_env.MenhirLib.EngineTypes.stack <- {
4847 MenhirLib.EngineTypes.state = _menhir_s;
4848 MenhirLib.EngineTypes.semv = Obj.repr _v;
4849 MenhirLib.EngineTypes.startp = _startpos;
4850 MenhirLib.EngineTypes.endp = _endpos;
4851 MenhirLib.EngineTypes.next = _menhir_stack;
4852 });
4853 (fun _menhir_env ->
4854 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4855 let {
4856 MenhirLib.EngineTypes.state = _menhir_s;
4857 MenhirLib.EngineTypes.semv = _1;
4858 MenhirLib.EngineTypes.startp = _startpos__1_;
4859 MenhirLib.EngineTypes.endp = _endpos__1_;
4860 MenhirLib.EngineTypes.next = _menhir_stack;
4861 } = _menhir_stack in
4862 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
4863 let _startpos = _startpos__1_ in
4864 let _endpos = _endpos__1_ in
4865 let _v : 'tv_cast_expr_expr_invalid_ =
4866 # 1326 "parser_cocci_menhir.mly"
4867 ( _1 )
4868 # 4869 "parser_cocci_menhir.ml"
4869 in
4870 _menhir_env.MenhirLib.EngineTypes.stack <- {
4871 MenhirLib.EngineTypes.state = _menhir_s;
4872 MenhirLib.EngineTypes.semv = Obj.repr _v;
4873 MenhirLib.EngineTypes.startp = _startpos;
4874 MenhirLib.EngineTypes.endp = _endpos;
4875 MenhirLib.EngineTypes.next = _menhir_stack;
4876 });
4877 (fun _menhir_env ->
4878 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4879 let {
4880 MenhirLib.EngineTypes.semv = e;
4881 MenhirLib.EngineTypes.startp = _startpos_e_;
4882 MenhirLib.EngineTypes.endp = _endpos_e_;
4883 MenhirLib.EngineTypes.next = {
4884 MenhirLib.EngineTypes.semv = rp;
4885 MenhirLib.EngineTypes.startp = _startpos_rp_;
4886 MenhirLib.EngineTypes.endp = _endpos_rp_;
4887 MenhirLib.EngineTypes.next = {
4888 MenhirLib.EngineTypes.semv = t;
4889 MenhirLib.EngineTypes.startp = _startpos_t_;
4890 MenhirLib.EngineTypes.endp = _endpos_t_;
4891 MenhirLib.EngineTypes.next = {
4892 MenhirLib.EngineTypes.state = _menhir_s;
4893 MenhirLib.EngineTypes.semv = lp;
4894 MenhirLib.EngineTypes.startp = _startpos_lp_;
4895 MenhirLib.EngineTypes.endp = _endpos_lp_;
4896 MenhirLib.EngineTypes.next = _menhir_stack;
4897 };
4898 };
4899 };
4900 } = _menhir_stack in
4901 let e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in
4902 let rp : (
4903 # 80 "parser_cocci_menhir.mly"
4904 (Data.clt)
4905 # 4906 "parser_cocci_menhir.ml"
4906 ) = Obj.magic rp in
4907 let t : 'tv_ctype = Obj.magic t in
4908 let lp : (
4909 # 79 "parser_cocci_menhir.mly"
4910 (Data.clt)
4911 # 4912 "parser_cocci_menhir.ml"
4912 ) = Obj.magic lp in
4913 let _startpos = _startpos_lp_ in
4914 let _endpos = _endpos_e_ in
4915 let _v : 'tv_cast_expr_expr_invalid_ =
4916 # 1328 "parser_cocci_menhir.mly"
4917 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
4918 P.clt2mcode ")" rp, e)) )
4919 # 4920 "parser_cocci_menhir.ml"
4920 in
4921 _menhir_env.MenhirLib.EngineTypes.stack <- {
4922 MenhirLib.EngineTypes.state = _menhir_s;
4923 MenhirLib.EngineTypes.semv = Obj.repr _v;
4924 MenhirLib.EngineTypes.startp = _startpos;
4925 MenhirLib.EngineTypes.endp = _endpos;
4926 MenhirLib.EngineTypes.next = _menhir_stack;
4927 });
4928 (fun _menhir_env ->
4929 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4930 let {
4931 MenhirLib.EngineTypes.semv = _2;
4932 MenhirLib.EngineTypes.startp = _startpos__2_;
4933 MenhirLib.EngineTypes.endp = _endpos__2_;
4934 MenhirLib.EngineTypes.next = {
4935 MenhirLib.EngineTypes.state = _menhir_s;
4936 MenhirLib.EngineTypes.startp = _startpos__1_;
4937 MenhirLib.EngineTypes.endp = _endpos__1_;
4938 MenhirLib.EngineTypes.next = _menhir_stack;
4939 };
4940 } = _menhir_stack in
4941 let _2 : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic _2 in
4942 let _startpos = _startpos__1_ in
4943 let _endpos = _endpos__2_ in
4944 let _v : 'tv_choose_iso =
4945 # 240 "parser_cocci_menhir.mly"
4946 ( List.map P.id2name _2 )
4947 # 4948 "parser_cocci_menhir.ml"
4948 in
4949 _menhir_env.MenhirLib.EngineTypes.stack <- {
4950 MenhirLib.EngineTypes.state = _menhir_s;
4951 MenhirLib.EngineTypes.semv = Obj.repr _v;
4952 MenhirLib.EngineTypes.startp = _startpos;
4953 MenhirLib.EngineTypes.endp = _endpos;
4954 MenhirLib.EngineTypes.next = _menhir_stack;
4955 });
4956 (fun _menhir_env ->
4957 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4958 let {
4959 MenhirLib.EngineTypes.semv = _2;
4960 MenhirLib.EngineTypes.startp = _startpos__2_;
4961 MenhirLib.EngineTypes.endp = _endpos__2_;
4962 MenhirLib.EngineTypes.next = {
4963 MenhirLib.EngineTypes.state = _menhir_s;
4964 MenhirLib.EngineTypes.semv = _1;
4965 MenhirLib.EngineTypes.startp = _startpos__1_;
4966 MenhirLib.EngineTypes.endp = _endpos__1_;
4967 MenhirLib.EngineTypes.next = _menhir_stack;
4968 };
4969 } = _menhir_stack in
4970 let _2 : (
4971 # 76 "parser_cocci_menhir.mly"
4972 (Data.clt)
4973 # 4974 "parser_cocci_menhir.ml"
4974 ) = Obj.magic _2 in
4975 let _1 : (
4976 # 110 "parser_cocci_menhir.mly"
4977 (Data.clt)
4978 # 4979 "parser_cocci_menhir.ml"
4979 ) = Obj.magic _1 in
4980 let _startpos = _startpos__1_ in
4981 let _endpos = _endpos__2_ in
4982 let _v : 'tv_comma_decls_TEllipsis_decl_ =
4983 # 1731 "parser_cocci_menhir.mly"
4984 ( function dot_builder ->
4985 [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
4986 dot_builder _2] )
4987 # 4988 "parser_cocci_menhir.ml"
4988 in
4989 _menhir_env.MenhirLib.EngineTypes.stack <- {
4990 MenhirLib.EngineTypes.state = _menhir_s;
4991 MenhirLib.EngineTypes.semv = Obj.repr _v;
4992 MenhirLib.EngineTypes.startp = _startpos;
4993 MenhirLib.EngineTypes.endp = _endpos;
4994 MenhirLib.EngineTypes.next = _menhir_stack;
4995 });
4996 (fun _menhir_env ->
4997 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4998 let {
4999 MenhirLib.EngineTypes.semv = _2;
5000 MenhirLib.EngineTypes.startp = _startpos__2_;
5001 MenhirLib.EngineTypes.endp = _endpos__2_;
5002 MenhirLib.EngineTypes.next = {
5003 MenhirLib.EngineTypes.state = _menhir_s;
5004 MenhirLib.EngineTypes.semv = _1;
5005 MenhirLib.EngineTypes.startp = _startpos__1_;
5006 MenhirLib.EngineTypes.endp = _endpos__1_;
5007 MenhirLib.EngineTypes.next = _menhir_stack;
5008 };
5009 } = _menhir_stack in
5010 let _2 : 'tv_one_dec_decl_ = Obj.magic _2 in
5011 let _1 : (
5012 # 110 "parser_cocci_menhir.mly"
5013 (Data.clt)
5014 # 5015 "parser_cocci_menhir.ml"
5015 ) = Obj.magic _1 in
5016 let _startpos = _startpos__1_ in
5017 let _endpos = _endpos__2_ in
5018 let _v : 'tv_comma_decls_TEllipsis_decl_ =
5019 # 1735 "parser_cocci_menhir.mly"
5020 ( function dot_builder ->
5021 [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
5022 # 5023 "parser_cocci_menhir.ml"
5023 in
5024 _menhir_env.MenhirLib.EngineTypes.stack <- {
5025 MenhirLib.EngineTypes.state = _menhir_s;
5026 MenhirLib.EngineTypes.semv = Obj.repr _v;
5027 MenhirLib.EngineTypes.startp = _startpos;
5028 MenhirLib.EngineTypes.endp = _endpos;
5029 MenhirLib.EngineTypes.next = _menhir_stack;
5030 });
5031 (fun _menhir_env ->
5032 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5033 let {
5034 MenhirLib.EngineTypes.semv = _2;
5035 MenhirLib.EngineTypes.startp = _startpos__2_;
5036 MenhirLib.EngineTypes.endp = _endpos__2_;
5037 MenhirLib.EngineTypes.next = {
5038 MenhirLib.EngineTypes.state = _menhir_s;
5039 MenhirLib.EngineTypes.semv = _1;
5040 MenhirLib.EngineTypes.startp = _startpos__1_;
5041 MenhirLib.EngineTypes.endp = _endpos__1_;
5042 MenhirLib.EngineTypes.next = _menhir_stack;
5043 };
5044 } = _menhir_stack in
5045 let _2 : (
5046 # 76 "parser_cocci_menhir.mly"
5047 (Data.clt)
5048 # 5049 "parser_cocci_menhir.ml"
5049 ) = Obj.magic _2 in
5050 let _1 : (
5051 # 110 "parser_cocci_menhir.mly"
5052 (Data.clt)
5053 # 5054 "parser_cocci_menhir.ml"
5054 ) = Obj.magic _1 in
5055 let _startpos = _startpos__1_ in
5056 let _endpos = _endpos__2_ in
5057 let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ =
5058 # 1731 "parser_cocci_menhir.mly"
5059 ( function dot_builder ->
5060 [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
5061 dot_builder _2] )
5062 # 5063 "parser_cocci_menhir.ml"
5063 in
5064 _menhir_env.MenhirLib.EngineTypes.stack <- {
5065 MenhirLib.EngineTypes.state = _menhir_s;
5066 MenhirLib.EngineTypes.semv = Obj.repr _v;
5067 MenhirLib.EngineTypes.startp = _startpos;
5068 MenhirLib.EngineTypes.endp = _endpos;
5069 MenhirLib.EngineTypes.next = _menhir_stack;
5070 });
5071 (fun _menhir_env ->
5072 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5073 let {
5074 MenhirLib.EngineTypes.semv = _2;
5075 MenhirLib.EngineTypes.startp = _startpos__2_;
5076 MenhirLib.EngineTypes.endp = _endpos__2_;
5077 MenhirLib.EngineTypes.next = {
5078 MenhirLib.EngineTypes.state = _menhir_s;
5079 MenhirLib.EngineTypes.semv = _1;
5080 MenhirLib.EngineTypes.startp = _startpos__1_;
5081 MenhirLib.EngineTypes.endp = _endpos__1_;
5082 MenhirLib.EngineTypes.next = _menhir_stack;
5083 };
5084 } = _menhir_stack in
5085 let _2 : 'tv_one_dec_name_opt_decl_ = Obj.magic _2 in
5086 let _1 : (
5087 # 110 "parser_cocci_menhir.mly"
5088 (Data.clt)
5089 # 5090 "parser_cocci_menhir.ml"
5090 ) = Obj.magic _1 in
5091 let _startpos = _startpos__1_ in
5092 let _endpos = _endpos__2_ in
5093 let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ =
5094 # 1735 "parser_cocci_menhir.mly"
5095 ( function dot_builder ->
5096 [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
5097 # 5098 "parser_cocci_menhir.ml"
5098 in
5099 _menhir_env.MenhirLib.EngineTypes.stack <- {
5100 MenhirLib.EngineTypes.state = _menhir_s;
5101 MenhirLib.EngineTypes.semv = Obj.repr _v;
5102 MenhirLib.EngineTypes.startp = _startpos;
5103 MenhirLib.EngineTypes.endp = _endpos;
5104 MenhirLib.EngineTypes.next = _menhir_stack;
5105 });
5106 (fun _menhir_env ->
5107 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5108 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
5109 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
5110 let _endpos = _startpos in
5111 let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
5112 # 1155 "parser_cocci_menhir.mly"
5113 ( [] )
5114 # 5115 "parser_cocci_menhir.ml"
5115 in
5116 _menhir_env.MenhirLib.EngineTypes.stack <- {
5117 MenhirLib.EngineTypes.state = _menhir_s;
5118 MenhirLib.EngineTypes.semv = Obj.repr _v;
5119 MenhirLib.EngineTypes.startp = _startpos;
5120 MenhirLib.EngineTypes.endp = _endpos;
5121 MenhirLib.EngineTypes.next = _menhir_stack;
5122 });
5123 (fun _menhir_env ->
5124 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5125 let {
5126 MenhirLib.EngineTypes.semv = r;
5127 MenhirLib.EngineTypes.startp = _startpos_r_;
5128 MenhirLib.EngineTypes.endp = _endpos_r_;
5129 MenhirLib.EngineTypes.next = {
5130 MenhirLib.EngineTypes.state = _menhir_s;
5131 MenhirLib.EngineTypes.semv = d;
5132 MenhirLib.EngineTypes.startp = _startpos_d_;
5133 MenhirLib.EngineTypes.endp = _endpos_d_;
5134 MenhirLib.EngineTypes.next = _menhir_stack;
5135 };
5136 } = _menhir_stack in
5137 let r : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ = Obj.magic r in
5138 let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
5139 let _startpos = _startpos_d_ in
5140 let _endpos = _endpos_r_ in
5141 let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
5142 # 1157 "parser_cocci_menhir.mly"
5143 ( (function dot_builder -> [dot_builder d])::r )
5144 # 5145 "parser_cocci_menhir.ml"
5145 in
5146 _menhir_env.MenhirLib.EngineTypes.stack <- {
5147 MenhirLib.EngineTypes.state = _menhir_s;
5148 MenhirLib.EngineTypes.semv = Obj.repr _v;
5149 MenhirLib.EngineTypes.startp = _startpos;
5150 MenhirLib.EngineTypes.endp = _endpos;
5151 MenhirLib.EngineTypes.next = _menhir_stack;
5152 });
5153 (fun _menhir_env ->
5154 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5155 let {
5156 MenhirLib.EngineTypes.semv = r;
5157 MenhirLib.EngineTypes.startp = _startpos_r_;
5158 MenhirLib.EngineTypes.endp = _endpos_r_;
5159 MenhirLib.EngineTypes.next = {
5160 MenhirLib.EngineTypes.state = _menhir_s;
5161 MenhirLib.EngineTypes.startp = _startpos__1_;
5162 MenhirLib.EngineTypes.endp = _endpos__1_;
5163 MenhirLib.EngineTypes.next = _menhir_stack;
5164 };
5165 } = _menhir_stack in
5166 let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
5167 let _startpos = _startpos__1_ in
5168 let _endpos = _endpos_r_ in
5169 let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
5170 # 1158 "parser_cocci_menhir.mly"
5171 ( r )
5172 # 5173 "parser_cocci_menhir.ml"
5173 in
5174 _menhir_env.MenhirLib.EngineTypes.stack <- {
5175 MenhirLib.EngineTypes.state = _menhir_s;
5176 MenhirLib.EngineTypes.semv = Obj.repr _v;
5177 MenhirLib.EngineTypes.startp = _startpos;
5178 MenhirLib.EngineTypes.endp = _endpos;
5179 MenhirLib.EngineTypes.next = _menhir_stack;
5180 });
5181 (fun _menhir_env ->
5182 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5183 let {
5184 MenhirLib.EngineTypes.semv = r;
5185 MenhirLib.EngineTypes.startp = _startpos_r_;
5186 MenhirLib.EngineTypes.endp = _endpos_r_;
5187 MenhirLib.EngineTypes.next = {
5188 MenhirLib.EngineTypes.semv = c;
5189 MenhirLib.EngineTypes.startp = _startpos_c_;
5190 MenhirLib.EngineTypes.endp = _endpos_c_;
5191 MenhirLib.EngineTypes.next = {
5192 MenhirLib.EngineTypes.state = _menhir_s;
5193 MenhirLib.EngineTypes.semv = i;
5194 MenhirLib.EngineTypes.startp = _startpos_i_;
5195 MenhirLib.EngineTypes.endp = _endpos_i_;
5196 MenhirLib.EngineTypes.next = _menhir_stack;
5197 };
5198 };
5199 } = _menhir_stack in
5200 let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
5201 let c : (
5202 # 110 "parser_cocci_menhir.mly"
5203 (Data.clt)
5204 # 5205 "parser_cocci_menhir.ml"
5205 ) = Obj.magic c in
5206 let i : 'tv_initialize2 = Obj.magic i in
5207 let _startpos = _startpos_i_ in
5208 let _endpos = _endpos_r_ in
5209 let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
5210 # 1160 "parser_cocci_menhir.mly"
5211 ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
5212 r )
5213 # 5214 "parser_cocci_menhir.ml"
5214 in
5215 _menhir_env.MenhirLib.EngineTypes.stack <- {
5216 MenhirLib.EngineTypes.state = _menhir_s;
5217 MenhirLib.EngineTypes.semv = Obj.repr _v;
5218 MenhirLib.EngineTypes.startp = _startpos;
5219 MenhirLib.EngineTypes.endp = _endpos;
5220 MenhirLib.EngineTypes.next = _menhir_stack;
5221 });
5222 (fun _menhir_env ->
5223 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5224 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
5225 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
5226 let _endpos = _startpos in
5227 let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ =
5228 # 1164 "parser_cocci_menhir.mly"
5229 ( [] )
5230 # 5231 "parser_cocci_menhir.ml"
5231 in
5232 _menhir_env.MenhirLib.EngineTypes.stack <- {
5233 MenhirLib.EngineTypes.state = _menhir_s;
5234 MenhirLib.EngineTypes.semv = Obj.repr _v;
5235 MenhirLib.EngineTypes.startp = _startpos;
5236 MenhirLib.EngineTypes.endp = _endpos;
5237 MenhirLib.EngineTypes.next = _menhir_stack;
5238 });
5239 (fun _menhir_env ->
5240 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5241 let {
5242 MenhirLib.EngineTypes.semv = r;
5243 MenhirLib.EngineTypes.startp = _startpos_r_;
5244 MenhirLib.EngineTypes.endp = _endpos_r_;
5245 MenhirLib.EngineTypes.next = {
5246 MenhirLib.EngineTypes.state = _menhir_s;
5247 MenhirLib.EngineTypes.startp = _startpos__1_;
5248 MenhirLib.EngineTypes.endp = _endpos__1_;
5249 MenhirLib.EngineTypes.next = _menhir_stack;
5250 };
5251 } = _menhir_stack in
5252 let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
5253 let _startpos = _startpos__1_ in
5254 let _endpos = _endpos_r_ in
5255 let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ =
5256 # 1165 "parser_cocci_menhir.mly"
5257 ( r )
5258 # 5259 "parser_cocci_menhir.ml"
5259 in
5260 _menhir_env.MenhirLib.EngineTypes.stack <- {
5261 MenhirLib.EngineTypes.state = _menhir_s;
5262 MenhirLib.EngineTypes.semv = Obj.repr _v;
5263 MenhirLib.EngineTypes.startp = _startpos;
5264 MenhirLib.EngineTypes.endp = _endpos;
5265 MenhirLib.EngineTypes.next = _menhir_stack;
5266 });
5267 (fun _menhir_env ->
5268 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5269 let {
5270 MenhirLib.EngineTypes.semv = r;
5271 MenhirLib.EngineTypes.startp = _startpos_r_;
5272 MenhirLib.EngineTypes.endp = _endpos_r_;
5273 MenhirLib.EngineTypes.next = {
5274 MenhirLib.EngineTypes.semv = c;
5275 MenhirLib.EngineTypes.startp = _startpos_c_;
5276 MenhirLib.EngineTypes.endp = _endpos_c_;
5277 MenhirLib.EngineTypes.next = {
5278 MenhirLib.EngineTypes.state = _menhir_s;
5279 MenhirLib.EngineTypes.semv = i;
5280 MenhirLib.EngineTypes.startp = _startpos_i_;
5281 MenhirLib.EngineTypes.endp = _endpos_i_;
5282 MenhirLib.EngineTypes.next = _menhir_stack;
5283 };
5284 };
5285 } = _menhir_stack in
5286 let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
5287 let c : (
5288 # 110 "parser_cocci_menhir.mly"
5289 (Data.clt)
5290 # 5291 "parser_cocci_menhir.ml"
5291 ) = Obj.magic c in
5292 let i : 'tv_initialize2 = Obj.magic i in
5293 let _startpos = _startpos_i_ in
5294 let _endpos = _endpos_r_ in
5295 let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ =
5296 # 1167 "parser_cocci_menhir.mly"
5297 ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
5298 r )
5299 # 5300 "parser_cocci_menhir.ml"
5300 in
5301 _menhir_env.MenhirLib.EngineTypes.stack <- {
5302 MenhirLib.EngineTypes.state = _menhir_s;
5303 MenhirLib.EngineTypes.semv = Obj.repr _v;
5304 MenhirLib.EngineTypes.startp = _startpos;
5305 MenhirLib.EngineTypes.endp = _endpos;
5306 MenhirLib.EngineTypes.next = _menhir_stack;
5307 });
5308 (fun _menhir_env ->
5309 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5310 let {
5311 MenhirLib.EngineTypes.state = _menhir_s;
5312 MenhirLib.EngineTypes.semv = _1;
5313 MenhirLib.EngineTypes.startp = _startpos__1_;
5314 MenhirLib.EngineTypes.endp = _endpos__1_;
5315 MenhirLib.EngineTypes.next = _menhir_stack;
5316 } = _menhir_stack in
5317 let _1 : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic _1 in
5318 let _startpos = _startpos__1_ in
5319 let _endpos = _endpos__1_ in
5320 let _v : 'tv_comma_list_any_strict_ =
5321 # 1968 "parser_cocci_menhir.mly"
5322 ( _1 )
5323 # 5324 "parser_cocci_menhir.ml"
5324 in
5325 _menhir_env.MenhirLib.EngineTypes.stack <- {
5326 MenhirLib.EngineTypes.state = _menhir_s;
5327 MenhirLib.EngineTypes.semv = Obj.repr _v;
5328 MenhirLib.EngineTypes.startp = _startpos;
5329 MenhirLib.EngineTypes.endp = _endpos;
5330 MenhirLib.EngineTypes.next = _menhir_stack;
5331 });
5332 (fun _menhir_env ->
5333 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5334 let {
5335 MenhirLib.EngineTypes.state = _menhir_s;
5336 MenhirLib.EngineTypes.semv = _1;
5337 MenhirLib.EngineTypes.startp = _startpos__1_;
5338 MenhirLib.EngineTypes.endp = _endpos__1_;
5339 MenhirLib.EngineTypes.next = _menhir_stack;
5340 } = _menhir_stack in
5341 let _1 : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic _1 in
5342 let _startpos = _startpos__1_ in
5343 let _endpos = _endpos__1_ in
5344 let _v : 'tv_comma_list_ctype_ =
5345 # 1968 "parser_cocci_menhir.mly"
5346 ( _1 )
5347 # 5348 "parser_cocci_menhir.ml"
5348 in
5349 _menhir_env.MenhirLib.EngineTypes.stack <- {
5350 MenhirLib.EngineTypes.state = _menhir_s;
5351 MenhirLib.EngineTypes.semv = Obj.repr _v;
5352 MenhirLib.EngineTypes.startp = _startpos;
5353 MenhirLib.EngineTypes.endp = _endpos;
5354 MenhirLib.EngineTypes.next = _menhir_stack;
5355 });
5356 (fun _menhir_env ->
5357 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5358 let {
5359 MenhirLib.EngineTypes.state = _menhir_s;
5360 MenhirLib.EngineTypes.semv = _1;
5361 MenhirLib.EngineTypes.startp = _startpos__1_;
5362 MenhirLib.EngineTypes.endp = _endpos__1_;
5363 MenhirLib.EngineTypes.next = _menhir_stack;
5364 } = _menhir_stack in
5365 let _1 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic _1 in
5366 let _startpos = _startpos__1_ in
5367 let _endpos = _endpos__1_ in
5368 let _v : 'tv_comma_list_d_ident_ =
5369 # 1968 "parser_cocci_menhir.mly"
5370 ( _1 )
5371 # 5372 "parser_cocci_menhir.ml"
5372 in
5373 _menhir_env.MenhirLib.EngineTypes.stack <- {
5374 MenhirLib.EngineTypes.state = _menhir_s;
5375 MenhirLib.EngineTypes.semv = Obj.repr _v;
5376 MenhirLib.EngineTypes.startp = _startpos;
5377 MenhirLib.EngineTypes.endp = _endpos;
5378 MenhirLib.EngineTypes.next = _menhir_stack;
5379 });
5380 (fun _menhir_env ->
5381 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5382 let {
5383 MenhirLib.EngineTypes.state = _menhir_s;
5384 MenhirLib.EngineTypes.semv = _1;
5385 MenhirLib.EngineTypes.startp = _startpos__1_;
5386 MenhirLib.EngineTypes.endp = _endpos__1_;
5387 MenhirLib.EngineTypes.next = _menhir_stack;
5388 } = _menhir_stack in
5389 let _1 : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic _1 in
5390 let _startpos = _startpos__1_ in
5391 let _endpos = _endpos__1_ in
5392 let _v : 'tv_comma_list_ident_or_const_ =
5393 # 1968 "parser_cocci_menhir.mly"
5394 ( _1 )
5395 # 5396 "parser_cocci_menhir.ml"
5396 in
5397 _menhir_env.MenhirLib.EngineTypes.stack <- {
5398 MenhirLib.EngineTypes.state = _menhir_s;
5399 MenhirLib.EngineTypes.semv = Obj.repr _v;
5400 MenhirLib.EngineTypes.startp = _startpos;
5401 MenhirLib.EngineTypes.endp = _endpos;
5402 MenhirLib.EngineTypes.next = _menhir_stack;
5403 });
5404 (fun _menhir_env ->
5405 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5406 let {
5407 MenhirLib.EngineTypes.state = _menhir_s;
5408 MenhirLib.EngineTypes.semv = _1;
5409 MenhirLib.EngineTypes.startp = _startpos__1_;
5410 MenhirLib.EngineTypes.endp = _endpos__1_;
5411 MenhirLib.EngineTypes.next = _menhir_stack;
5412 } = _menhir_stack in
5413 let _1 : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic _1 in
5414 let _startpos = _startpos__1_ in
5415 let _endpos = _endpos__1_ in
5416 let _v : 'tv_comma_list_meta_ident_ =
5417 # 1968 "parser_cocci_menhir.mly"
5418 ( _1 )
5419 # 5420 "parser_cocci_menhir.ml"
5420 in
5421 _menhir_env.MenhirLib.EngineTypes.stack <- {
5422 MenhirLib.EngineTypes.state = _menhir_s;
5423 MenhirLib.EngineTypes.semv = Obj.repr _v;
5424 MenhirLib.EngineTypes.startp = _startpos;
5425 MenhirLib.EngineTypes.endp = _endpos;
5426 MenhirLib.EngineTypes.next = _menhir_stack;
5427 });
5428 (fun _menhir_env ->
5429 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5430 let {
5431 MenhirLib.EngineTypes.state = _menhir_s;
5432 MenhirLib.EngineTypes.semv = _1;
5433 MenhirLib.EngineTypes.startp = _startpos__1_;
5434 MenhirLib.EngineTypes.endp = _endpos__1_;
5435 MenhirLib.EngineTypes.next = _menhir_stack;
5436 } = _menhir_stack in
5437 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _1 in
5438 let _startpos = _startpos__1_ in
5439 let _endpos = _endpos__1_ in
5440 let _v : 'tv_comma_list_pure_ident_ =
5441 # 1968 "parser_cocci_menhir.mly"
5442 ( _1 )
5443 # 5444 "parser_cocci_menhir.ml"
5444 in
5445 _menhir_env.MenhirLib.EngineTypes.stack <- {
5446 MenhirLib.EngineTypes.state = _menhir_s;
5447 MenhirLib.EngineTypes.semv = Obj.repr _v;
5448 MenhirLib.EngineTypes.startp = _startpos;
5449 MenhirLib.EngineTypes.endp = _endpos;
5450 MenhirLib.EngineTypes.next = _menhir_stack;
5451 });
5452 (fun _menhir_env ->
5453 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5454 let {
5455 MenhirLib.EngineTypes.state = _menhir_s;
5456 MenhirLib.EngineTypes.semv = _1;
5457 MenhirLib.EngineTypes.startp = _startpos__1_;
5458 MenhirLib.EngineTypes.endp = _endpos__1_;
5459 MenhirLib.EngineTypes.next = _menhir_stack;
5460 } = _menhir_stack in
5461 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic _1 in
5462 let _startpos = _startpos__1_ in
5463 let _endpos = _endpos__1_ in
5464 let _v : 'tv_comma_list_pure_ident_or_meta_ident_ =
5465 # 1968 "parser_cocci_menhir.mly"
5466 ( _1 )
5467 # 5468 "parser_cocci_menhir.ml"
5468 in
5469 _menhir_env.MenhirLib.EngineTypes.stack <- {
5470 MenhirLib.EngineTypes.state = _menhir_s;
5471 MenhirLib.EngineTypes.semv = Obj.repr _v;
5472 MenhirLib.EngineTypes.startp = _startpos;
5473 MenhirLib.EngineTypes.endp = _endpos;
5474 MenhirLib.EngineTypes.next = _menhir_stack;
5475 });
5476 (fun _menhir_env ->
5477 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5478 let {
5479 MenhirLib.EngineTypes.state = _menhir_s;
5480 MenhirLib.EngineTypes.semv = _1;
5481 MenhirLib.EngineTypes.startp = _startpos__1_;
5482 MenhirLib.EngineTypes.endp = _endpos__1_;
5483 MenhirLib.EngineTypes.next = _menhir_stack;
5484 } = _menhir_stack in
5485 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic _1 in
5486 let _startpos = _startpos__1_ in
5487 let _endpos = _endpos__1_ in
5488 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
5489 # 1968 "parser_cocci_menhir.mly"
5490 ( _1 )
5491 # 5492 "parser_cocci_menhir.ml"
5492 in
5493 _menhir_env.MenhirLib.EngineTypes.stack <- {
5494 MenhirLib.EngineTypes.state = _menhir_s;
5495 MenhirLib.EngineTypes.semv = Obj.repr _v;
5496 MenhirLib.EngineTypes.startp = _startpos;
5497 MenhirLib.EngineTypes.endp = _endpos;
5498 MenhirLib.EngineTypes.next = _menhir_stack;
5499 });
5500 (fun _menhir_env ->
5501 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5502 let {
5503 MenhirLib.EngineTypes.state = _menhir_s;
5504 MenhirLib.EngineTypes.semv = _1;
5505 MenhirLib.EngineTypes.startp = _startpos__1_;
5506 MenhirLib.EngineTypes.endp = _endpos__1_;
5507 MenhirLib.EngineTypes.next = _menhir_stack;
5508 } = _menhir_stack in
5509 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic _1 in
5510 let _startpos = _startpos__1_ in
5511 let _endpos = _endpos__1_ in
5512 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
5513 # 1968 "parser_cocci_menhir.mly"
5514 ( _1 )
5515 # 5516 "parser_cocci_menhir.ml"
5516 in
5517 _menhir_env.MenhirLib.EngineTypes.stack <- {
5518 MenhirLib.EngineTypes.state = _menhir_s;
5519 MenhirLib.EngineTypes.semv = Obj.repr _v;
5520 MenhirLib.EngineTypes.startp = _startpos;
5521 MenhirLib.EngineTypes.endp = _endpos;
5522 MenhirLib.EngineTypes.next = _menhir_stack;
5523 });
5524 (fun _menhir_env ->
5525 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5526 let {
5527 MenhirLib.EngineTypes.state = _menhir_s;
5528 MenhirLib.EngineTypes.semv = _1;
5529 MenhirLib.EngineTypes.startp = _startpos__1_;
5530 MenhirLib.EngineTypes.endp = _endpos__1_;
5531 MenhirLib.EngineTypes.next = _menhir_stack;
5532 } = _menhir_stack in
5533 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic _1 in
5534 let _startpos = _startpos__1_ in
5535 let _endpos = _endpos__1_ in
5536 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
5537 # 1968 "parser_cocci_menhir.mly"
5538 ( _1 )
5539 # 5540 "parser_cocci_menhir.ml"
5540 in
5541 _menhir_env.MenhirLib.EngineTypes.stack <- {
5542 MenhirLib.EngineTypes.state = _menhir_s;
5543 MenhirLib.EngineTypes.semv = Obj.repr _v;
5544 MenhirLib.EngineTypes.startp = _startpos;
5545 MenhirLib.EngineTypes.endp = _endpos;
5546 MenhirLib.EngineTypes.next = _menhir_stack;
5547 });
5548 (fun _menhir_env ->
5549 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5550 let {
5551 MenhirLib.EngineTypes.state = _menhir_s;
5552 MenhirLib.EngineTypes.semv = _1;
5553 MenhirLib.EngineTypes.startp = _startpos__1_;
5554 MenhirLib.EngineTypes.endp = _endpos__1_;
5555 MenhirLib.EngineTypes.next = _menhir_stack;
5556 } = _menhir_stack in
5557 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic _1 in
5558 let _startpos = _startpos__1_ in
5559 let _endpos = _endpos__1_ in
5560 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
5561 # 1968 "parser_cocci_menhir.mly"
5562 ( _1 )
5563 # 5564 "parser_cocci_menhir.ml"
5564 in
5565 _menhir_env.MenhirLib.EngineTypes.stack <- {
5566 MenhirLib.EngineTypes.state = _menhir_s;
5567 MenhirLib.EngineTypes.semv = Obj.repr _v;
5568 MenhirLib.EngineTypes.startp = _startpos;
5569 MenhirLib.EngineTypes.endp = _endpos;
5570 MenhirLib.EngineTypes.next = _menhir_stack;
5571 });
5572 (fun _menhir_env ->
5573 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5574 let {
5575 MenhirLib.EngineTypes.state = _menhir_s;
5576 MenhirLib.EngineTypes.semv = _1;
5577 MenhirLib.EngineTypes.startp = _startpos__1_;
5578 MenhirLib.EngineTypes.endp = _endpos__1_;
5579 MenhirLib.EngineTypes.next = _menhir_stack;
5580 } = _menhir_stack in
5581 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic _1 in
5582 let _startpos = _startpos__1_ in
5583 let _endpos = _endpos__1_ in
5584 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ =
5585 # 1968 "parser_cocci_menhir.mly"
5586 ( _1 )
5587 # 5588 "parser_cocci_menhir.ml"
5588 in
5589 _menhir_env.MenhirLib.EngineTypes.stack <- {
5590 MenhirLib.EngineTypes.state = _menhir_s;
5591 MenhirLib.EngineTypes.semv = Obj.repr _v;
5592 MenhirLib.EngineTypes.startp = _startpos;
5593 MenhirLib.EngineTypes.endp = _endpos;
5594 MenhirLib.EngineTypes.next = _menhir_stack;
5595 });
5596 (fun _menhir_env ->
5597 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5598 let {
5599 MenhirLib.EngineTypes.state = _menhir_s;
5600 MenhirLib.EngineTypes.semv = _1;
5601 MenhirLib.EngineTypes.startp = _startpos__1_;
5602 MenhirLib.EngineTypes.endp = _endpos__1_;
5603 MenhirLib.EngineTypes.next = _menhir_stack;
5604 } = _menhir_stack in
5605 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic _1 in
5606 let _startpos = _startpos__1_ in
5607 let _endpos = _endpos__1_ in
5608 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
5609 # 1968 "parser_cocci_menhir.mly"
5610 ( _1 )
5611 # 5612 "parser_cocci_menhir.ml"
5612 in
5613 _menhir_env.MenhirLib.EngineTypes.stack <- {
5614 MenhirLib.EngineTypes.state = _menhir_s;
5615 MenhirLib.EngineTypes.semv = Obj.repr _v;
5616 MenhirLib.EngineTypes.startp = _startpos;
5617 MenhirLib.EngineTypes.endp = _endpos;
5618 MenhirLib.EngineTypes.next = _menhir_stack;
5619 });
5620 (fun _menhir_env ->
5621 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5622 let {
5623 MenhirLib.EngineTypes.state = _menhir_s;
5624 MenhirLib.EngineTypes.semv = _1;
5625 MenhirLib.EngineTypes.startp = _startpos__1_;
5626 MenhirLib.EngineTypes.endp = _endpos__1_;
5627 MenhirLib.EngineTypes.next = _menhir_stack;
5628 } = _menhir_stack in
5629 let _1 : 'tv_separated_nonempty_list_TComma_typedef_ident_ = Obj.magic _1 in
5630 let _startpos = _startpos__1_ in
5631 let _endpos = _endpos__1_ in
5632 let _v : 'tv_comma_list_typedef_ident_ =
5633 # 1968 "parser_cocci_menhir.mly"
5634 ( _1 )
5635 # 5636 "parser_cocci_menhir.ml"
5636 in
5637 _menhir_env.MenhirLib.EngineTypes.stack <- {
5638 MenhirLib.EngineTypes.state = _menhir_s;
5639 MenhirLib.EngineTypes.semv = Obj.repr _v;
5640 MenhirLib.EngineTypes.startp = _startpos;
5641 MenhirLib.EngineTypes.endp = _endpos;
5642 MenhirLib.EngineTypes.next = _menhir_stack;
5643 });
5644 (fun _menhir_env ->
5645 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5646 let {
5647 MenhirLib.EngineTypes.state = _menhir_s;
5648 MenhirLib.EngineTypes.semv = _1;
5649 MenhirLib.EngineTypes.startp = _startpos__1_;
5650 MenhirLib.EngineTypes.endp = _endpos__1_;
5651 MenhirLib.EngineTypes.next = _menhir_stack;
5652 } = _menhir_stack in
5653 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
5654 let _startpos = _startpos__1_ in
5655 let _endpos = _endpos__1_ in
5656 let _v : 'tv_cond_expr_eexpr_dot_expressions_ =
5657 # 1291 "parser_cocci_menhir.mly"
5658 ( _1 )
5659 # 5660 "parser_cocci_menhir.ml"
5660 in
5661 _menhir_env.MenhirLib.EngineTypes.stack <- {
5662 MenhirLib.EngineTypes.state = _menhir_s;
5663 MenhirLib.EngineTypes.semv = Obj.repr _v;
5664 MenhirLib.EngineTypes.startp = _startpos;
5665 MenhirLib.EngineTypes.endp = _endpos;
5666 MenhirLib.EngineTypes.next = _menhir_stack;
5667 });
5668 (fun _menhir_env ->
5669 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5670 let {
5671 MenhirLib.EngineTypes.semv = r;
5672 MenhirLib.EngineTypes.startp = _startpos_r_;
5673 MenhirLib.EngineTypes.endp = _endpos_r_;
5674 MenhirLib.EngineTypes.next = {
5675 MenhirLib.EngineTypes.semv = dd;
5676 MenhirLib.EngineTypes.startp = _startpos_dd_;
5677 MenhirLib.EngineTypes.endp = _endpos_dd_;
5678 MenhirLib.EngineTypes.next = {
5679 MenhirLib.EngineTypes.semv = t;
5680 MenhirLib.EngineTypes.startp = _startpos_t_;
5681 MenhirLib.EngineTypes.endp = _endpos_t_;
5682 MenhirLib.EngineTypes.next = {
5683 MenhirLib.EngineTypes.semv = w;
5684 MenhirLib.EngineTypes.startp = _startpos_w_;
5685 MenhirLib.EngineTypes.endp = _endpos_w_;
5686 MenhirLib.EngineTypes.next = {
5687 MenhirLib.EngineTypes.state = _menhir_s;
5688 MenhirLib.EngineTypes.semv = l;
5689 MenhirLib.EngineTypes.startp = _startpos_l_;
5690 MenhirLib.EngineTypes.endp = _endpos_l_;
5691 MenhirLib.EngineTypes.next = _menhir_stack;
5692 };
5693 };
5694 };
5695 };
5696 } = _menhir_stack in
5697 let r : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic r in
5698 let dd : (
5699 # 79 "parser_cocci_menhir.mly"
5700 (Data.clt)
5701 # 5702 "parser_cocci_menhir.ml"
5702 ) = Obj.magic dd in
5703 let t : 'tv_option_eexpr_ = Obj.magic t in
5704 let w : (
5705 # 79 "parser_cocci_menhir.mly"
5706 (Data.clt)
5707 # 5708 "parser_cocci_menhir.ml"
5708 ) = Obj.magic w in
5709 let l : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic l in
5710 let _startpos = _startpos_l_ in
5711 let _endpos = _endpos_r_ in
5712 let _v : 'tv_cond_expr_eexpr_dot_expressions_ =
5713 # 1293 "parser_cocci_menhir.mly"
5714 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
5715 P.clt2mcode ":" dd, r)) )
5716 # 5717 "parser_cocci_menhir.ml"
5717 in
5718 _menhir_env.MenhirLib.EngineTypes.stack <- {
5719 MenhirLib.EngineTypes.state = _menhir_s;
5720 MenhirLib.EngineTypes.semv = Obj.repr _v;
5721 MenhirLib.EngineTypes.startp = _startpos;
5722 MenhirLib.EngineTypes.endp = _endpos;
5723 MenhirLib.EngineTypes.next = _menhir_stack;
5724 });
5725 (fun _menhir_env ->
5726 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5727 let {
5728 MenhirLib.EngineTypes.state = _menhir_s;
5729 MenhirLib.EngineTypes.semv = _1;
5730 MenhirLib.EngineTypes.startp = _startpos__1_;
5731 MenhirLib.EngineTypes.endp = _endpos__1_;
5732 MenhirLib.EngineTypes.next = _menhir_stack;
5733 } = _menhir_stack in
5734 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
5735 let _startpos = _startpos__1_ in
5736 let _endpos = _endpos__1_ in
5737 let _v : 'tv_cond_expr_eexpr_nest_expressions_ =
5738 # 1291 "parser_cocci_menhir.mly"
5739 ( _1 )
5740 # 5741 "parser_cocci_menhir.ml"
5741 in
5742 _menhir_env.MenhirLib.EngineTypes.stack <- {
5743 MenhirLib.EngineTypes.state = _menhir_s;
5744 MenhirLib.EngineTypes.semv = Obj.repr _v;
5745 MenhirLib.EngineTypes.startp = _startpos;
5746 MenhirLib.EngineTypes.endp = _endpos;
5747 MenhirLib.EngineTypes.next = _menhir_stack;
5748 });
5749 (fun _menhir_env ->
5750 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5751 let {
5752 MenhirLib.EngineTypes.semv = r;
5753 MenhirLib.EngineTypes.startp = _startpos_r_;
5754 MenhirLib.EngineTypes.endp = _endpos_r_;
5755 MenhirLib.EngineTypes.next = {
5756 MenhirLib.EngineTypes.semv = dd;
5757 MenhirLib.EngineTypes.startp = _startpos_dd_;
5758 MenhirLib.EngineTypes.endp = _endpos_dd_;
5759 MenhirLib.EngineTypes.next = {
5760 MenhirLib.EngineTypes.semv = t;
5761 MenhirLib.EngineTypes.startp = _startpos_t_;
5762 MenhirLib.EngineTypes.endp = _endpos_t_;
5763 MenhirLib.EngineTypes.next = {
5764 MenhirLib.EngineTypes.semv = w;
5765 MenhirLib.EngineTypes.startp = _startpos_w_;
5766 MenhirLib.EngineTypes.endp = _endpos_w_;
5767 MenhirLib.EngineTypes.next = {
5768 MenhirLib.EngineTypes.state = _menhir_s;
5769 MenhirLib.EngineTypes.semv = l;
5770 MenhirLib.EngineTypes.startp = _startpos_l_;
5771 MenhirLib.EngineTypes.endp = _endpos_l_;
5772 MenhirLib.EngineTypes.next = _menhir_stack;
5773 };
5774 };
5775 };
5776 };
5777 } = _menhir_stack in
5778 let r : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic r in
5779 let dd : (
5780 # 79 "parser_cocci_menhir.mly"
5781 (Data.clt)
5782 # 5783 "parser_cocci_menhir.ml"
5783 ) = Obj.magic dd in
5784 let t : 'tv_option_eexpr_ = Obj.magic t in
5785 let w : (
5786 # 79 "parser_cocci_menhir.mly"
5787 (Data.clt)
5788 # 5789 "parser_cocci_menhir.ml"
5789 ) = Obj.magic w in
5790 let l : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic l in
5791 let _startpos = _startpos_l_ in
5792 let _endpos = _endpos_r_ in
5793 let _v : 'tv_cond_expr_eexpr_nest_expressions_ =
5794 # 1293 "parser_cocci_menhir.mly"
5795 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
5796 P.clt2mcode ":" dd, r)) )
5797 # 5798 "parser_cocci_menhir.ml"
5798 in
5799 _menhir_env.MenhirLib.EngineTypes.stack <- {
5800 MenhirLib.EngineTypes.state = _menhir_s;
5801 MenhirLib.EngineTypes.semv = Obj.repr _v;
5802 MenhirLib.EngineTypes.startp = _startpos;
5803 MenhirLib.EngineTypes.endp = _endpos;
5804 MenhirLib.EngineTypes.next = _menhir_stack;
5805 });
5806 (fun _menhir_env ->
5807 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5808 let {
5809 MenhirLib.EngineTypes.state = _menhir_s;
5810 MenhirLib.EngineTypes.semv = _1;
5811 MenhirLib.EngineTypes.startp = _startpos__1_;
5812 MenhirLib.EngineTypes.endp = _endpos__1_;
5813 MenhirLib.EngineTypes.next = _menhir_stack;
5814 } = _menhir_stack in
5815 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
5816 let _startpos = _startpos__1_ in
5817 let _endpos = _endpos__1_ in
5818 let _v : 'tv_cond_expr_expr_invalid_ =
5819 # 1291 "parser_cocci_menhir.mly"
5820 ( _1 )
5821 # 5822 "parser_cocci_menhir.ml"
5822 in
5823 _menhir_env.MenhirLib.EngineTypes.stack <- {
5824 MenhirLib.EngineTypes.state = _menhir_s;
5825 MenhirLib.EngineTypes.semv = Obj.repr _v;
5826 MenhirLib.EngineTypes.startp = _startpos;
5827 MenhirLib.EngineTypes.endp = _endpos;
5828 MenhirLib.EngineTypes.next = _menhir_stack;
5829 });
5830 (fun _menhir_env ->
5831 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5832 let {
5833 MenhirLib.EngineTypes.semv = r;
5834 MenhirLib.EngineTypes.startp = _startpos_r_;
5835 MenhirLib.EngineTypes.endp = _endpos_r_;
5836 MenhirLib.EngineTypes.next = {
5837 MenhirLib.EngineTypes.semv = dd;
5838 MenhirLib.EngineTypes.startp = _startpos_dd_;
5839 MenhirLib.EngineTypes.endp = _endpos_dd_;
5840 MenhirLib.EngineTypes.next = {
5841 MenhirLib.EngineTypes.semv = t;
5842 MenhirLib.EngineTypes.startp = _startpos_t_;
5843 MenhirLib.EngineTypes.endp = _endpos_t_;
5844 MenhirLib.EngineTypes.next = {
5845 MenhirLib.EngineTypes.semv = w;
5846 MenhirLib.EngineTypes.startp = _startpos_w_;
5847 MenhirLib.EngineTypes.endp = _endpos_w_;
5848 MenhirLib.EngineTypes.next = {
5849 MenhirLib.EngineTypes.state = _menhir_s;
5850 MenhirLib.EngineTypes.semv = l;
5851 MenhirLib.EngineTypes.startp = _startpos_l_;
5852 MenhirLib.EngineTypes.endp = _endpos_l_;
5853 MenhirLib.EngineTypes.next = _menhir_stack;
5854 };
5855 };
5856 };
5857 };
5858 } = _menhir_stack in
5859 let r : 'tv_cond_expr_expr_invalid_ = Obj.magic r in
5860 let dd : (
5861 # 79 "parser_cocci_menhir.mly"
5862 (Data.clt)
5863 # 5864 "parser_cocci_menhir.ml"
5864 ) = Obj.magic dd in
5865 let t : 'tv_option_eexpr_ = Obj.magic t in
5866 let w : (
5867 # 79 "parser_cocci_menhir.mly"
5868 (Data.clt)
5869 # 5870 "parser_cocci_menhir.ml"
5870 ) = Obj.magic w in
5871 let l : 'tv_arith_expr_expr_invalid_ = Obj.magic l in
5872 let _startpos = _startpos_l_ in
5873 let _endpos = _endpos_r_ in
5874 let _v : 'tv_cond_expr_expr_invalid_ =
5875 # 1293 "parser_cocci_menhir.mly"
5876 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
5877 P.clt2mcode ":" dd, r)) )
5878 # 5879 "parser_cocci_menhir.ml"
5879 in
5880 _menhir_env.MenhirLib.EngineTypes.stack <- {
5881 MenhirLib.EngineTypes.state = _menhir_s;
5882 MenhirLib.EngineTypes.semv = Obj.repr _v;
5883 MenhirLib.EngineTypes.startp = _startpos;
5884 MenhirLib.EngineTypes.endp = _endpos;
5885 MenhirLib.EngineTypes.next = _menhir_stack;
5886 });
5887 (fun _menhir_env ->
5888 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5889 let {
5890 MenhirLib.EngineTypes.state = _menhir_s;
5891 MenhirLib.EngineTypes.semv = _1;
5892 MenhirLib.EngineTypes.startp = _startpos__1_;
5893 MenhirLib.EngineTypes.endp = _endpos__1_;
5894 MenhirLib.EngineTypes.next = _menhir_stack;
5895 } = _menhir_stack in
5896 let _1 : (
5897 # 56 "parser_cocci_menhir.mly"
5898 (Data.clt)
5899 # 5900 "parser_cocci_menhir.ml"
5900 ) = Obj.magic _1 in
5901 let _startpos = _startpos__1_ in
5902 let _endpos = _endpos__1_ in
5903 let _v : 'tv_const_vol =
5904 # 873 "parser_cocci_menhir.mly"
5905 ( P.clt2mcode Ast.Const _1 )
5906 # 5907 "parser_cocci_menhir.ml"
5907 in
5908 _menhir_env.MenhirLib.EngineTypes.stack <- {
5909 MenhirLib.EngineTypes.state = _menhir_s;
5910 MenhirLib.EngineTypes.semv = Obj.repr _v;
5911 MenhirLib.EngineTypes.startp = _startpos;
5912 MenhirLib.EngineTypes.endp = _endpos;
5913 MenhirLib.EngineTypes.next = _menhir_stack;
5914 });
5915 (fun _menhir_env ->
5916 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5917 let {
5918 MenhirLib.EngineTypes.state = _menhir_s;
5919 MenhirLib.EngineTypes.semv = _1;
5920 MenhirLib.EngineTypes.startp = _startpos__1_;
5921 MenhirLib.EngineTypes.endp = _endpos__1_;
5922 MenhirLib.EngineTypes.next = _menhir_stack;
5923 } = _menhir_stack in
5924 let _1 : (
5925 # 56 "parser_cocci_menhir.mly"
5926 (Data.clt)
5927 # 5928 "parser_cocci_menhir.ml"
5928 ) = Obj.magic _1 in
5929 let _startpos = _startpos__1_ in
5930 let _endpos = _endpos__1_ in
5931 let _v : 'tv_const_vol =
5932 # 874 "parser_cocci_menhir.mly"
5933 ( P.clt2mcode Ast.Volatile _1 )
5934 # 5935 "parser_cocci_menhir.ml"
5935 in
5936 _menhir_env.MenhirLib.EngineTypes.stack <- {
5937 MenhirLib.EngineTypes.state = _menhir_s;
5938 MenhirLib.EngineTypes.semv = Obj.repr _v;
5939 MenhirLib.EngineTypes.startp = _startpos;
5940 MenhirLib.EngineTypes.endp = _endpos;
5941 MenhirLib.EngineTypes.next = _menhir_stack;
5942 });
5943 (fun _menhir_env ->
5944 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5945 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
5946 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
5947 let _endpos = _startpos in
5948 let _v : 'tv_continue_struct_decl_list =
5949 # 623 "parser_cocci_menhir.mly"
5950 ( [] )
5951 # 5952 "parser_cocci_menhir.ml"
5952 in
5953 _menhir_env.MenhirLib.EngineTypes.stack <- {
5954 MenhirLib.EngineTypes.state = _menhir_s;
5955 MenhirLib.EngineTypes.semv = Obj.repr _v;
5956 MenhirLib.EngineTypes.startp = _startpos;
5957 MenhirLib.EngineTypes.endp = _endpos;
5958 MenhirLib.EngineTypes.next = _menhir_stack;
5959 });
5960 (fun _menhir_env ->
5961 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5962 let {
5963 MenhirLib.EngineTypes.semv = _2;
5964 MenhirLib.EngineTypes.startp = _startpos__2_;
5965 MenhirLib.EngineTypes.endp = _endpos__2_;
5966 MenhirLib.EngineTypes.next = {
5967 MenhirLib.EngineTypes.state = _menhir_s;
5968 MenhirLib.EngineTypes.semv = _1;
5969 MenhirLib.EngineTypes.startp = _startpos__1_;
5970 MenhirLib.EngineTypes.endp = _endpos__1_;
5971 MenhirLib.EngineTypes.next = _menhir_stack;
5972 };
5973 } = _menhir_stack in
5974 let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
5975 let _1 : 'tv_struct_decl = Obj.magic _1 in
5976 let _startpos = _startpos__1_ in
5977 let _endpos = _endpos__2_ in
5978 let _v : 'tv_continue_struct_decl_list =
5979 # 624 "parser_cocci_menhir.mly"
5980 ( _1@_2 )
5981 # 5982 "parser_cocci_menhir.ml"
5982 in
5983 _menhir_env.MenhirLib.EngineTypes.stack <- {
5984 MenhirLib.EngineTypes.state = _menhir_s;
5985 MenhirLib.EngineTypes.semv = Obj.repr _v;
5986 MenhirLib.EngineTypes.startp = _startpos;
5987 MenhirLib.EngineTypes.endp = _endpos;
5988 MenhirLib.EngineTypes.next = _menhir_stack;
5989 });
5990 (fun _menhir_env ->
5991 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5992 let {
5993 MenhirLib.EngineTypes.state = _menhir_s;
5994 MenhirLib.EngineTypes.semv = _1;
5995 MenhirLib.EngineTypes.startp = _startpos__1_;
5996 MenhirLib.EngineTypes.endp = _endpos__1_;
5997 MenhirLib.EngineTypes.next = _menhir_stack;
5998 } = _menhir_stack in
5999 let _1 : 'tv_struct_decl = Obj.magic _1 in
6000 let _startpos = _startpos__1_ in
6001 let _endpos = _endpos__1_ in
6002 let _v : 'tv_continue_struct_decl_list =
6003 # 625 "parser_cocci_menhir.mly"
6004 ( _1 )
6005 # 6006 "parser_cocci_menhir.ml"
6006 in
6007 _menhir_env.MenhirLib.EngineTypes.stack <- {
6008 MenhirLib.EngineTypes.state = _menhir_s;
6009 MenhirLib.EngineTypes.semv = Obj.repr _v;
6010 MenhirLib.EngineTypes.startp = _startpos;
6011 MenhirLib.EngineTypes.endp = _endpos;
6012 MenhirLib.EngineTypes.next = _menhir_stack;
6013 });
6014 (fun _menhir_env ->
6015 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6016 let {
6017 MenhirLib.EngineTypes.semv = m;
6018 MenhirLib.EngineTypes.startp = _startpos_m_;
6019 MenhirLib.EngineTypes.endp = _endpos_m_;
6020 MenhirLib.EngineTypes.next = {
6021 MenhirLib.EngineTypes.semv = ty00;
6022 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6023 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6024 MenhirLib.EngineTypes.next = {
6025 MenhirLib.EngineTypes.state = _menhir_s;
6026 MenhirLib.EngineTypes.semv = r0;
6027 MenhirLib.EngineTypes.startp = _startpos_r0_;
6028 MenhirLib.EngineTypes.endp = _endpos_r0_;
6029 MenhirLib.EngineTypes.next = _menhir_stack;
6030 };
6031 };
6032 } = _menhir_stack in
6033 let m : 'tv_list_TMul_ = Obj.magic m in
6034 let ty00 : (
6035 # 51 "parser_cocci_menhir.mly"
6036 (Data.clt)
6037 # 6038 "parser_cocci_menhir.ml"
6038 ) = Obj.magic ty00 in
6039 let r0 : (
6040 # 53 "parser_cocci_menhir.mly"
6041 (Data.clt)
6042 # 6043 "parser_cocci_menhir.ml"
6043 ) = Obj.magic r0 in
6044 let _startpos = _startpos_r0_ in
6045 let _endpos = _endpos_m_ in
6046 let _v : 'tv_ctype = let ty =
6047 let ty0 = ty00 in
6048 let r = r0 in
6049 let ty =
6050 let ty = ty0 in
6051
6052 # 509 "parser_cocci_menhir.mly"
6053 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
6054 # 6055 "parser_cocci_menhir.ml"
6055
6056 in
6057
6058 # 561 "parser_cocci_menhir.mly"
6059 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6060 # 6061 "parser_cocci_menhir.ml"
6061
6062 in
6063 let cv =
6064
6065 # 39 "standard.mly"
6066 ( None )
6067 # 6068 "parser_cocci_menhir.ml"
6068
6069 in
6070
6071 # 569 "parser_cocci_menhir.mly"
6072 ( P.pointerify (P.make_cv cv ty) m )
6073 # 6074 "parser_cocci_menhir.ml"
6074 in
6075 _menhir_env.MenhirLib.EngineTypes.stack <- {
6076 MenhirLib.EngineTypes.state = _menhir_s;
6077 MenhirLib.EngineTypes.semv = Obj.repr _v;
6078 MenhirLib.EngineTypes.startp = _startpos;
6079 MenhirLib.EngineTypes.endp = _endpos;
6080 MenhirLib.EngineTypes.next = _menhir_stack;
6081 });
6082 (fun _menhir_env ->
6083 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6084 let {
6085 MenhirLib.EngineTypes.semv = m;
6086 MenhirLib.EngineTypes.startp = _startpos_m_;
6087 MenhirLib.EngineTypes.endp = _endpos_m_;
6088 MenhirLib.EngineTypes.next = {
6089 MenhirLib.EngineTypes.semv = ty00;
6090 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6091 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6092 MenhirLib.EngineTypes.next = {
6093 MenhirLib.EngineTypes.state = _menhir_s;
6094 MenhirLib.EngineTypes.semv = r0;
6095 MenhirLib.EngineTypes.startp = _startpos_r0_;
6096 MenhirLib.EngineTypes.endp = _endpos_r0_;
6097 MenhirLib.EngineTypes.next = _menhir_stack;
6098 };
6099 };
6100 } = _menhir_stack in
6101 let m : 'tv_list_TMul_ = Obj.magic m in
6102 let ty00 : (
6103 # 51 "parser_cocci_menhir.mly"
6104 (Data.clt)
6105 # 6106 "parser_cocci_menhir.ml"
6106 ) = Obj.magic ty00 in
6107 let r0 : (
6108 # 53 "parser_cocci_menhir.mly"
6109 (Data.clt)
6110 # 6111 "parser_cocci_menhir.ml"
6111 ) = Obj.magic r0 in
6112 let _startpos = _startpos_r0_ in
6113 let _endpos = _endpos_m_ in
6114 let _v : 'tv_ctype = let ty =
6115 let ty0 = ty00 in
6116 let r = r0 in
6117 let ty =
6118 let ty = ty0 in
6119
6120 # 511 "parser_cocci_menhir.mly"
6121 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
6122 # 6123 "parser_cocci_menhir.ml"
6123
6124 in
6125
6126 # 561 "parser_cocci_menhir.mly"
6127 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6128 # 6129 "parser_cocci_menhir.ml"
6129
6130 in
6131 let cv =
6132
6133 # 39 "standard.mly"
6134 ( None )
6135 # 6136 "parser_cocci_menhir.ml"
6136
6137 in
6138
6139 # 569 "parser_cocci_menhir.mly"
6140 ( P.pointerify (P.make_cv cv ty) m )
6141 # 6142 "parser_cocci_menhir.ml"
6142 in
6143 _menhir_env.MenhirLib.EngineTypes.stack <- {
6144 MenhirLib.EngineTypes.state = _menhir_s;
6145 MenhirLib.EngineTypes.semv = Obj.repr _v;
6146 MenhirLib.EngineTypes.startp = _startpos;
6147 MenhirLib.EngineTypes.endp = _endpos;
6148 MenhirLib.EngineTypes.next = _menhir_stack;
6149 });
6150 (fun _menhir_env ->
6151 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6152 let {
6153 MenhirLib.EngineTypes.semv = m;
6154 MenhirLib.EngineTypes.startp = _startpos_m_;
6155 MenhirLib.EngineTypes.endp = _endpos_m_;
6156 MenhirLib.EngineTypes.next = {
6157 MenhirLib.EngineTypes.semv = ty00;
6158 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6159 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6160 MenhirLib.EngineTypes.next = {
6161 MenhirLib.EngineTypes.state = _menhir_s;
6162 MenhirLib.EngineTypes.semv = r0;
6163 MenhirLib.EngineTypes.startp = _startpos_r0_;
6164 MenhirLib.EngineTypes.endp = _endpos_r0_;
6165 MenhirLib.EngineTypes.next = _menhir_stack;
6166 };
6167 };
6168 } = _menhir_stack in
6169 let m : 'tv_list_TMul_ = Obj.magic m in
6170 let ty00 : (
6171 # 51 "parser_cocci_menhir.mly"
6172 (Data.clt)
6173 # 6174 "parser_cocci_menhir.ml"
6174 ) = Obj.magic ty00 in
6175 let r0 : (
6176 # 53 "parser_cocci_menhir.mly"
6177 (Data.clt)
6178 # 6179 "parser_cocci_menhir.ml"
6179 ) = Obj.magic r0 in
6180 let _startpos = _startpos_r0_ in
6181 let _endpos = _endpos_m_ in
6182 let _v : 'tv_ctype = let ty =
6183 let ty0 = ty00 in
6184 let r = r0 in
6185 let ty =
6186 let ty = ty0 in
6187
6188 # 513 "parser_cocci_menhir.mly"
6189 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
6190 # 6191 "parser_cocci_menhir.ml"
6191
6192 in
6193
6194 # 561 "parser_cocci_menhir.mly"
6195 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6196 # 6197 "parser_cocci_menhir.ml"
6197
6198 in
6199 let cv =
6200
6201 # 39 "standard.mly"
6202 ( None )
6203 # 6204 "parser_cocci_menhir.ml"
6204
6205 in
6206
6207 # 569 "parser_cocci_menhir.mly"
6208 ( P.pointerify (P.make_cv cv ty) m )
6209 # 6210 "parser_cocci_menhir.ml"
6210 in
6211 _menhir_env.MenhirLib.EngineTypes.stack <- {
6212 MenhirLib.EngineTypes.state = _menhir_s;
6213 MenhirLib.EngineTypes.semv = Obj.repr _v;
6214 MenhirLib.EngineTypes.startp = _startpos;
6215 MenhirLib.EngineTypes.endp = _endpos;
6216 MenhirLib.EngineTypes.next = _menhir_stack;
6217 });
6218 (fun _menhir_env ->
6219 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6220 let {
6221 MenhirLib.EngineTypes.semv = m;
6222 MenhirLib.EngineTypes.startp = _startpos_m_;
6223 MenhirLib.EngineTypes.endp = _endpos_m_;
6224 MenhirLib.EngineTypes.next = {
6225 MenhirLib.EngineTypes.semv = p00;
6226 MenhirLib.EngineTypes.startp = _startpos_p00_;
6227 MenhirLib.EngineTypes.endp = _endpos_p00_;
6228 MenhirLib.EngineTypes.next = {
6229 MenhirLib.EngineTypes.state = _menhir_s;
6230 MenhirLib.EngineTypes.semv = r0;
6231 MenhirLib.EngineTypes.startp = _startpos_r0_;
6232 MenhirLib.EngineTypes.endp = _endpos_r0_;
6233 MenhirLib.EngineTypes.next = _menhir_stack;
6234 };
6235 };
6236 } = _menhir_stack in
6237 let m : 'tv_list_TMul_ = Obj.magic m in
6238 let p00 : (
6239 # 67 "parser_cocci_menhir.mly"
6240 (Parse_aux.info)
6241 # 6242 "parser_cocci_menhir.ml"
6242 ) = Obj.magic p00 in
6243 let r0 : (
6244 # 53 "parser_cocci_menhir.mly"
6245 (Data.clt)
6246 # 6247 "parser_cocci_menhir.ml"
6247 ) = Obj.magic r0 in
6248 let _startpos = _startpos_r0_ in
6249 let _endpos = _endpos_m_ in
6250 let _v : 'tv_ctype = let ty =
6251 let p0 = p00 in
6252 let r = r0 in
6253 let ty =
6254 let p = p0 in
6255
6256 # 515 "parser_cocci_menhir.mly"
6257 ( let (nm,pure,clt) = p in
6258 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
6259 # 6260 "parser_cocci_menhir.ml"
6260
6261 in
6262
6263 # 561 "parser_cocci_menhir.mly"
6264 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6265 # 6266 "parser_cocci_menhir.ml"
6266
6267 in
6268 let cv =
6269
6270 # 39 "standard.mly"
6271 ( None )
6272 # 6273 "parser_cocci_menhir.ml"
6273
6274 in
6275
6276 # 569 "parser_cocci_menhir.mly"
6277 ( P.pointerify (P.make_cv cv ty) m )
6278 # 6279 "parser_cocci_menhir.ml"
6279 in
6280 _menhir_env.MenhirLib.EngineTypes.stack <- {
6281 MenhirLib.EngineTypes.state = _menhir_s;
6282 MenhirLib.EngineTypes.semv = Obj.repr _v;
6283 MenhirLib.EngineTypes.startp = _startpos;
6284 MenhirLib.EngineTypes.endp = _endpos;
6285 MenhirLib.EngineTypes.next = _menhir_stack;
6286 });
6287 (fun _menhir_env ->
6288 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6289 let {
6290 MenhirLib.EngineTypes.semv = m;
6291 MenhirLib.EngineTypes.startp = _startpos_m_;
6292 MenhirLib.EngineTypes.endp = _endpos_m_;
6293 MenhirLib.EngineTypes.next = {
6294 MenhirLib.EngineTypes.semv = p00;
6295 MenhirLib.EngineTypes.startp = _startpos_p00_;
6296 MenhirLib.EngineTypes.endp = _endpos_p00_;
6297 MenhirLib.EngineTypes.next = {
6298 MenhirLib.EngineTypes.startp = _startpos__3_;
6299 MenhirLib.EngineTypes.endp = _endpos__3_;
6300 MenhirLib.EngineTypes.next = {
6301 MenhirLib.EngineTypes.semv = r00;
6302 MenhirLib.EngineTypes.startp = _startpos_r00_;
6303 MenhirLib.EngineTypes.endp = _endpos_r00_;
6304 MenhirLib.EngineTypes.next = {
6305 MenhirLib.EngineTypes.state = _menhir_s;
6306 MenhirLib.EngineTypes.semv = r1;
6307 MenhirLib.EngineTypes.startp = _startpos_r1_;
6308 MenhirLib.EngineTypes.endp = _endpos_r1_;
6309 MenhirLib.EngineTypes.next = _menhir_stack;
6310 };
6311 };
6312 };
6313 };
6314 } = _menhir_stack in
6315 let m : 'tv_list_TMul_ = Obj.magic m in
6316 let p00 : (
6317 # 61 "parser_cocci_menhir.mly"
6318 (string * Data.clt)
6319 # 6320 "parser_cocci_menhir.ml"
6320 ) = Obj.magic p00 in
6321 let r00 : (
6322 # 49 "parser_cocci_menhir.mly"
6323 (string)
6324 # 6325 "parser_cocci_menhir.ml"
6325 ) = Obj.magic r00 in
6326 let r1 : (
6327 # 53 "parser_cocci_menhir.mly"
6328 (Data.clt)
6329 # 6330 "parser_cocci_menhir.ml"
6330 ) = Obj.magic r1 in
6331 let _startpos = _startpos_r1_ in
6332 let _endpos = _endpos_m_ in
6333 let _v : 'tv_ctype = let ty =
6334 let p0 = p00 in
6335 let r0 = r00 in
6336 let r = r1 in
6337 let ty =
6338 let p = p0 in
6339 let r = r0 in
6340
6341 # 518 "parser_cocci_menhir.mly"
6342 ( let nm = (r,P.id2name p) in
6343 (* this is only possible when we are in a metavar decl. Otherwise,
6344 it will be represented already as a MetaType *)
6345 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
6346 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
6347 Ast0.Impure (*will be ignored*))) )
6348 # 6349 "parser_cocci_menhir.ml"
6349
6350 in
6351
6352 # 561 "parser_cocci_menhir.mly"
6353 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6354 # 6355 "parser_cocci_menhir.ml"
6355
6356 in
6357 let cv =
6358
6359 # 39 "standard.mly"
6360 ( None )
6361 # 6362 "parser_cocci_menhir.ml"
6362
6363 in
6364
6365 # 569 "parser_cocci_menhir.mly"
6366 ( P.pointerify (P.make_cv cv ty) m )
6367 # 6368 "parser_cocci_menhir.ml"
6368 in
6369 _menhir_env.MenhirLib.EngineTypes.stack <- {
6370 MenhirLib.EngineTypes.state = _menhir_s;
6371 MenhirLib.EngineTypes.semv = Obj.repr _v;
6372 MenhirLib.EngineTypes.startp = _startpos;
6373 MenhirLib.EngineTypes.endp = _endpos;
6374 MenhirLib.EngineTypes.next = _menhir_stack;
6375 });
6376 (fun _menhir_env ->
6377 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6378 let {
6379 MenhirLib.EngineTypes.semv = m;
6380 MenhirLib.EngineTypes.startp = _startpos_m_;
6381 MenhirLib.EngineTypes.endp = _endpos_m_;
6382 MenhirLib.EngineTypes.next = {
6383 MenhirLib.EngineTypes.semv = ty00;
6384 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6385 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6386 MenhirLib.EngineTypes.next = {
6387 MenhirLib.EngineTypes.state = _menhir_s;
6388 MenhirLib.EngineTypes.semv = r0;
6389 MenhirLib.EngineTypes.startp = _startpos_r0_;
6390 MenhirLib.EngineTypes.endp = _endpos_r0_;
6391 MenhirLib.EngineTypes.next = _menhir_stack;
6392 };
6393 };
6394 } = _menhir_stack in
6395 let m : 'tv_list_TMul_ = Obj.magic m in
6396 let ty00 : (
6397 # 51 "parser_cocci_menhir.mly"
6398 (Data.clt)
6399 # 6400 "parser_cocci_menhir.ml"
6400 ) = Obj.magic ty00 in
6401 let r0 : (
6402 # 53 "parser_cocci_menhir.mly"
6403 (Data.clt)
6404 # 6405 "parser_cocci_menhir.ml"
6405 ) = Obj.magic r0 in
6406 let _startpos = _startpos_r0_ in
6407 let _endpos = _endpos_m_ in
6408 let _v : 'tv_ctype = let ty =
6409 let ty0 = ty00 in
6410 let r = r0 in
6411 let ty =
6412 let ty = ty0 in
6413
6414 # 525 "parser_cocci_menhir.mly"
6415 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
6416 # 6417 "parser_cocci_menhir.ml"
6417
6418 in
6419
6420 # 561 "parser_cocci_menhir.mly"
6421 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6422 # 6423 "parser_cocci_menhir.ml"
6423
6424 in
6425 let cv =
6426
6427 # 39 "standard.mly"
6428 ( None )
6429 # 6430 "parser_cocci_menhir.ml"
6430
6431 in
6432
6433 # 569 "parser_cocci_menhir.mly"
6434 ( P.pointerify (P.make_cv cv ty) m )
6435 # 6436 "parser_cocci_menhir.ml"
6436 in
6437 _menhir_env.MenhirLib.EngineTypes.stack <- {
6438 MenhirLib.EngineTypes.state = _menhir_s;
6439 MenhirLib.EngineTypes.semv = Obj.repr _v;
6440 MenhirLib.EngineTypes.startp = _startpos;
6441 MenhirLib.EngineTypes.endp = _endpos;
6442 MenhirLib.EngineTypes.next = _menhir_stack;
6443 });
6444 (fun _menhir_env ->
6445 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6446 let {
6447 MenhirLib.EngineTypes.semv = m;
6448 MenhirLib.EngineTypes.startp = _startpos_m_;
6449 MenhirLib.EngineTypes.endp = _endpos_m_;
6450 MenhirLib.EngineTypes.next = {
6451 MenhirLib.EngineTypes.semv = ty200;
6452 MenhirLib.EngineTypes.startp = _startpos_ty200_;
6453 MenhirLib.EngineTypes.endp = _endpos_ty200_;
6454 MenhirLib.EngineTypes.next = {
6455 MenhirLib.EngineTypes.semv = ty100;
6456 MenhirLib.EngineTypes.startp = _startpos_ty100_;
6457 MenhirLib.EngineTypes.endp = _endpos_ty100_;
6458 MenhirLib.EngineTypes.next = {
6459 MenhirLib.EngineTypes.state = _menhir_s;
6460 MenhirLib.EngineTypes.semv = r0;
6461 MenhirLib.EngineTypes.startp = _startpos_r0_;
6462 MenhirLib.EngineTypes.endp = _endpos_r0_;
6463 MenhirLib.EngineTypes.next = _menhir_stack;
6464 };
6465 };
6466 };
6467 } = _menhir_stack in
6468 let m : 'tv_list_TMul_ = Obj.magic m in
6469 let ty200 : (
6470 # 51 "parser_cocci_menhir.mly"
6471 (Data.clt)
6472 # 6473 "parser_cocci_menhir.ml"
6473 ) = Obj.magic ty200 in
6474 let ty100 : (
6475 # 51 "parser_cocci_menhir.mly"
6476 (Data.clt)
6477 # 6478 "parser_cocci_menhir.ml"
6478 ) = Obj.magic ty100 in
6479 let r0 : (
6480 # 53 "parser_cocci_menhir.mly"
6481 (Data.clt)
6482 # 6483 "parser_cocci_menhir.ml"
6483 ) = Obj.magic r0 in
6484 let _startpos = _startpos_r0_ in
6485 let _endpos = _endpos_m_ in
6486 let _v : 'tv_ctype = let ty =
6487 let ty20 = ty200 in
6488 let ty10 = ty100 in
6489 let r = r0 in
6490 let ty =
6491 let ty2 = ty20 in
6492 let ty1 = ty10 in
6493
6494 # 527 "parser_cocci_menhir.mly"
6495 ( Ast0.wrap
6496 (Ast0.BaseType
6497 (Ast.LongLongType,
6498 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
6499 # 6500 "parser_cocci_menhir.ml"
6500
6501 in
6502
6503 # 561 "parser_cocci_menhir.mly"
6504 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6505 # 6506 "parser_cocci_menhir.ml"
6506
6507 in
6508 let cv =
6509
6510 # 39 "standard.mly"
6511 ( None )
6512 # 6513 "parser_cocci_menhir.ml"
6513
6514 in
6515
6516 # 569 "parser_cocci_menhir.mly"
6517 ( P.pointerify (P.make_cv cv ty) m )
6518 # 6519 "parser_cocci_menhir.ml"
6519 in
6520 _menhir_env.MenhirLib.EngineTypes.stack <- {
6521 MenhirLib.EngineTypes.state = _menhir_s;
6522 MenhirLib.EngineTypes.semv = Obj.repr _v;
6523 MenhirLib.EngineTypes.startp = _startpos;
6524 MenhirLib.EngineTypes.endp = _endpos;
6525 MenhirLib.EngineTypes.next = _menhir_stack;
6526 });
6527 (fun _menhir_env ->
6528 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6529 let {
6530 MenhirLib.EngineTypes.semv = m;
6531 MenhirLib.EngineTypes.startp = _startpos_m_;
6532 MenhirLib.EngineTypes.endp = _endpos_m_;
6533 MenhirLib.EngineTypes.next = {
6534 MenhirLib.EngineTypes.semv = ty00;
6535 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6536 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6537 MenhirLib.EngineTypes.next = {
6538 MenhirLib.EngineTypes.state = _menhir_s;
6539 MenhirLib.EngineTypes.semv = r0;
6540 MenhirLib.EngineTypes.startp = _startpos_r0_;
6541 MenhirLib.EngineTypes.endp = _endpos_r0_;
6542 MenhirLib.EngineTypes.next = _menhir_stack;
6543 };
6544 };
6545 } = _menhir_stack in
6546 let m : 'tv_list_TMul_ = Obj.magic m in
6547 let ty00 : (
6548 # 51 "parser_cocci_menhir.mly"
6549 (Data.clt)
6550 # 6551 "parser_cocci_menhir.ml"
6551 ) = Obj.magic ty00 in
6552 let r0 : (
6553 # 53 "parser_cocci_menhir.mly"
6554 (Data.clt)
6555 # 6556 "parser_cocci_menhir.ml"
6556 ) = Obj.magic r0 in
6557 let _startpos = _startpos_r0_ in
6558 let _endpos = _endpos_m_ in
6559 let _v : 'tv_ctype = let ty =
6560 let ty0 = ty00 in
6561 let r = r0 in
6562 let ty =
6563 let ty = ty0 in
6564
6565 # 509 "parser_cocci_menhir.mly"
6566 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
6567 # 6568 "parser_cocci_menhir.ml"
6568
6569 in
6570
6571 # 563 "parser_cocci_menhir.mly"
6572 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6573 # 6574 "parser_cocci_menhir.ml"
6574
6575 in
6576 let cv =
6577
6578 # 39 "standard.mly"
6579 ( None )
6580 # 6581 "parser_cocci_menhir.ml"
6581
6582 in
6583
6584 # 569 "parser_cocci_menhir.mly"
6585 ( P.pointerify (P.make_cv cv ty) m )
6586 # 6587 "parser_cocci_menhir.ml"
6587 in
6588 _menhir_env.MenhirLib.EngineTypes.stack <- {
6589 MenhirLib.EngineTypes.state = _menhir_s;
6590 MenhirLib.EngineTypes.semv = Obj.repr _v;
6591 MenhirLib.EngineTypes.startp = _startpos;
6592 MenhirLib.EngineTypes.endp = _endpos;
6593 MenhirLib.EngineTypes.next = _menhir_stack;
6594 });
6595 (fun _menhir_env ->
6596 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6597 let {
6598 MenhirLib.EngineTypes.semv = m;
6599 MenhirLib.EngineTypes.startp = _startpos_m_;
6600 MenhirLib.EngineTypes.endp = _endpos_m_;
6601 MenhirLib.EngineTypes.next = {
6602 MenhirLib.EngineTypes.semv = ty00;
6603 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6604 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6605 MenhirLib.EngineTypes.next = {
6606 MenhirLib.EngineTypes.state = _menhir_s;
6607 MenhirLib.EngineTypes.semv = r0;
6608 MenhirLib.EngineTypes.startp = _startpos_r0_;
6609 MenhirLib.EngineTypes.endp = _endpos_r0_;
6610 MenhirLib.EngineTypes.next = _menhir_stack;
6611 };
6612 };
6613 } = _menhir_stack in
6614 let m : 'tv_list_TMul_ = Obj.magic m in
6615 let ty00 : (
6616 # 51 "parser_cocci_menhir.mly"
6617 (Data.clt)
6618 # 6619 "parser_cocci_menhir.ml"
6619 ) = Obj.magic ty00 in
6620 let r0 : (
6621 # 53 "parser_cocci_menhir.mly"
6622 (Data.clt)
6623 # 6624 "parser_cocci_menhir.ml"
6624 ) = Obj.magic r0 in
6625 let _startpos = _startpos_r0_ in
6626 let _endpos = _endpos_m_ in
6627 let _v : 'tv_ctype = let ty =
6628 let ty0 = ty00 in
6629 let r = r0 in
6630 let ty =
6631 let ty = ty0 in
6632
6633 # 511 "parser_cocci_menhir.mly"
6634 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
6635 # 6636 "parser_cocci_menhir.ml"
6636
6637 in
6638
6639 # 563 "parser_cocci_menhir.mly"
6640 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6641 # 6642 "parser_cocci_menhir.ml"
6642
6643 in
6644 let cv =
6645
6646 # 39 "standard.mly"
6647 ( None )
6648 # 6649 "parser_cocci_menhir.ml"
6649
6650 in
6651
6652 # 569 "parser_cocci_menhir.mly"
6653 ( P.pointerify (P.make_cv cv ty) m )
6654 # 6655 "parser_cocci_menhir.ml"
6655 in
6656 _menhir_env.MenhirLib.EngineTypes.stack <- {
6657 MenhirLib.EngineTypes.state = _menhir_s;
6658 MenhirLib.EngineTypes.semv = Obj.repr _v;
6659 MenhirLib.EngineTypes.startp = _startpos;
6660 MenhirLib.EngineTypes.endp = _endpos;
6661 MenhirLib.EngineTypes.next = _menhir_stack;
6662 });
6663 (fun _menhir_env ->
6664 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6665 let {
6666 MenhirLib.EngineTypes.semv = m;
6667 MenhirLib.EngineTypes.startp = _startpos_m_;
6668 MenhirLib.EngineTypes.endp = _endpos_m_;
6669 MenhirLib.EngineTypes.next = {
6670 MenhirLib.EngineTypes.semv = ty00;
6671 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6672 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6673 MenhirLib.EngineTypes.next = {
6674 MenhirLib.EngineTypes.state = _menhir_s;
6675 MenhirLib.EngineTypes.semv = r0;
6676 MenhirLib.EngineTypes.startp = _startpos_r0_;
6677 MenhirLib.EngineTypes.endp = _endpos_r0_;
6678 MenhirLib.EngineTypes.next = _menhir_stack;
6679 };
6680 };
6681 } = _menhir_stack in
6682 let m : 'tv_list_TMul_ = Obj.magic m in
6683 let ty00 : (
6684 # 51 "parser_cocci_menhir.mly"
6685 (Data.clt)
6686 # 6687 "parser_cocci_menhir.ml"
6687 ) = Obj.magic ty00 in
6688 let r0 : (
6689 # 53 "parser_cocci_menhir.mly"
6690 (Data.clt)
6691 # 6692 "parser_cocci_menhir.ml"
6692 ) = Obj.magic r0 in
6693 let _startpos = _startpos_r0_ in
6694 let _endpos = _endpos_m_ in
6695 let _v : 'tv_ctype = let ty =
6696 let ty0 = ty00 in
6697 let r = r0 in
6698 let ty =
6699 let ty = ty0 in
6700
6701 # 513 "parser_cocci_menhir.mly"
6702 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
6703 # 6704 "parser_cocci_menhir.ml"
6704
6705 in
6706
6707 # 563 "parser_cocci_menhir.mly"
6708 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6709 # 6710 "parser_cocci_menhir.ml"
6710
6711 in
6712 let cv =
6713
6714 # 39 "standard.mly"
6715 ( None )
6716 # 6717 "parser_cocci_menhir.ml"
6717
6718 in
6719
6720 # 569 "parser_cocci_menhir.mly"
6721 ( P.pointerify (P.make_cv cv ty) m )
6722 # 6723 "parser_cocci_menhir.ml"
6723 in
6724 _menhir_env.MenhirLib.EngineTypes.stack <- {
6725 MenhirLib.EngineTypes.state = _menhir_s;
6726 MenhirLib.EngineTypes.semv = Obj.repr _v;
6727 MenhirLib.EngineTypes.startp = _startpos;
6728 MenhirLib.EngineTypes.endp = _endpos;
6729 MenhirLib.EngineTypes.next = _menhir_stack;
6730 });
6731 (fun _menhir_env ->
6732 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6733 let {
6734 MenhirLib.EngineTypes.semv = m;
6735 MenhirLib.EngineTypes.startp = _startpos_m_;
6736 MenhirLib.EngineTypes.endp = _endpos_m_;
6737 MenhirLib.EngineTypes.next = {
6738 MenhirLib.EngineTypes.semv = p00;
6739 MenhirLib.EngineTypes.startp = _startpos_p00_;
6740 MenhirLib.EngineTypes.endp = _endpos_p00_;
6741 MenhirLib.EngineTypes.next = {
6742 MenhirLib.EngineTypes.state = _menhir_s;
6743 MenhirLib.EngineTypes.semv = r0;
6744 MenhirLib.EngineTypes.startp = _startpos_r0_;
6745 MenhirLib.EngineTypes.endp = _endpos_r0_;
6746 MenhirLib.EngineTypes.next = _menhir_stack;
6747 };
6748 };
6749 } = _menhir_stack in
6750 let m : 'tv_list_TMul_ = Obj.magic m in
6751 let p00 : (
6752 # 67 "parser_cocci_menhir.mly"
6753 (Parse_aux.info)
6754 # 6755 "parser_cocci_menhir.ml"
6755 ) = Obj.magic p00 in
6756 let r0 : (
6757 # 53 "parser_cocci_menhir.mly"
6758 (Data.clt)
6759 # 6760 "parser_cocci_menhir.ml"
6760 ) = Obj.magic r0 in
6761 let _startpos = _startpos_r0_ in
6762 let _endpos = _endpos_m_ in
6763 let _v : 'tv_ctype = let ty =
6764 let p0 = p00 in
6765 let r = r0 in
6766 let ty =
6767 let p = p0 in
6768
6769 # 515 "parser_cocci_menhir.mly"
6770 ( let (nm,pure,clt) = p in
6771 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
6772 # 6773 "parser_cocci_menhir.ml"
6773
6774 in
6775
6776 # 563 "parser_cocci_menhir.mly"
6777 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6778 # 6779 "parser_cocci_menhir.ml"
6779
6780 in
6781 let cv =
6782
6783 # 39 "standard.mly"
6784 ( None )
6785 # 6786 "parser_cocci_menhir.ml"
6786
6787 in
6788
6789 # 569 "parser_cocci_menhir.mly"
6790 ( P.pointerify (P.make_cv cv ty) m )
6791 # 6792 "parser_cocci_menhir.ml"
6792 in
6793 _menhir_env.MenhirLib.EngineTypes.stack <- {
6794 MenhirLib.EngineTypes.state = _menhir_s;
6795 MenhirLib.EngineTypes.semv = Obj.repr _v;
6796 MenhirLib.EngineTypes.startp = _startpos;
6797 MenhirLib.EngineTypes.endp = _endpos;
6798 MenhirLib.EngineTypes.next = _menhir_stack;
6799 });
6800 (fun _menhir_env ->
6801 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6802 let {
6803 MenhirLib.EngineTypes.semv = m;
6804 MenhirLib.EngineTypes.startp = _startpos_m_;
6805 MenhirLib.EngineTypes.endp = _endpos_m_;
6806 MenhirLib.EngineTypes.next = {
6807 MenhirLib.EngineTypes.semv = p00;
6808 MenhirLib.EngineTypes.startp = _startpos_p00_;
6809 MenhirLib.EngineTypes.endp = _endpos_p00_;
6810 MenhirLib.EngineTypes.next = {
6811 MenhirLib.EngineTypes.startp = _startpos__3_;
6812 MenhirLib.EngineTypes.endp = _endpos__3_;
6813 MenhirLib.EngineTypes.next = {
6814 MenhirLib.EngineTypes.semv = r00;
6815 MenhirLib.EngineTypes.startp = _startpos_r00_;
6816 MenhirLib.EngineTypes.endp = _endpos_r00_;
6817 MenhirLib.EngineTypes.next = {
6818 MenhirLib.EngineTypes.state = _menhir_s;
6819 MenhirLib.EngineTypes.semv = r1;
6820 MenhirLib.EngineTypes.startp = _startpos_r1_;
6821 MenhirLib.EngineTypes.endp = _endpos_r1_;
6822 MenhirLib.EngineTypes.next = _menhir_stack;
6823 };
6824 };
6825 };
6826 };
6827 } = _menhir_stack in
6828 let m : 'tv_list_TMul_ = Obj.magic m in
6829 let p00 : (
6830 # 61 "parser_cocci_menhir.mly"
6831 (string * Data.clt)
6832 # 6833 "parser_cocci_menhir.ml"
6833 ) = Obj.magic p00 in
6834 let r00 : (
6835 # 49 "parser_cocci_menhir.mly"
6836 (string)
6837 # 6838 "parser_cocci_menhir.ml"
6838 ) = Obj.magic r00 in
6839 let r1 : (
6840 # 53 "parser_cocci_menhir.mly"
6841 (Data.clt)
6842 # 6843 "parser_cocci_menhir.ml"
6843 ) = Obj.magic r1 in
6844 let _startpos = _startpos_r1_ in
6845 let _endpos = _endpos_m_ in
6846 let _v : 'tv_ctype = let ty =
6847 let p0 = p00 in
6848 let r0 = r00 in
6849 let r = r1 in
6850 let ty =
6851 let p = p0 in
6852 let r = r0 in
6853
6854 # 518 "parser_cocci_menhir.mly"
6855 ( let nm = (r,P.id2name p) in
6856 (* this is only possible when we are in a metavar decl. Otherwise,
6857 it will be represented already as a MetaType *)
6858 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
6859 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
6860 Ast0.Impure (*will be ignored*))) )
6861 # 6862 "parser_cocci_menhir.ml"
6862
6863 in
6864
6865 # 563 "parser_cocci_menhir.mly"
6866 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6867 # 6868 "parser_cocci_menhir.ml"
6868
6869 in
6870 let cv =
6871
6872 # 39 "standard.mly"
6873 ( None )
6874 # 6875 "parser_cocci_menhir.ml"
6875
6876 in
6877
6878 # 569 "parser_cocci_menhir.mly"
6879 ( P.pointerify (P.make_cv cv ty) m )
6880 # 6881 "parser_cocci_menhir.ml"
6881 in
6882 _menhir_env.MenhirLib.EngineTypes.stack <- {
6883 MenhirLib.EngineTypes.state = _menhir_s;
6884 MenhirLib.EngineTypes.semv = Obj.repr _v;
6885 MenhirLib.EngineTypes.startp = _startpos;
6886 MenhirLib.EngineTypes.endp = _endpos;
6887 MenhirLib.EngineTypes.next = _menhir_stack;
6888 });
6889 (fun _menhir_env ->
6890 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6891 let {
6892 MenhirLib.EngineTypes.semv = m;
6893 MenhirLib.EngineTypes.startp = _startpos_m_;
6894 MenhirLib.EngineTypes.endp = _endpos_m_;
6895 MenhirLib.EngineTypes.next = {
6896 MenhirLib.EngineTypes.semv = ty00;
6897 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6898 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6899 MenhirLib.EngineTypes.next = {
6900 MenhirLib.EngineTypes.state = _menhir_s;
6901 MenhirLib.EngineTypes.semv = r0;
6902 MenhirLib.EngineTypes.startp = _startpos_r0_;
6903 MenhirLib.EngineTypes.endp = _endpos_r0_;
6904 MenhirLib.EngineTypes.next = _menhir_stack;
6905 };
6906 };
6907 } = _menhir_stack in
6908 let m : 'tv_list_TMul_ = Obj.magic m in
6909 let ty00 : (
6910 # 51 "parser_cocci_menhir.mly"
6911 (Data.clt)
6912 # 6913 "parser_cocci_menhir.ml"
6913 ) = Obj.magic ty00 in
6914 let r0 : (
6915 # 53 "parser_cocci_menhir.mly"
6916 (Data.clt)
6917 # 6918 "parser_cocci_menhir.ml"
6918 ) = Obj.magic r0 in
6919 let _startpos = _startpos_r0_ in
6920 let _endpos = _endpos_m_ in
6921 let _v : 'tv_ctype = let ty =
6922 let ty0 = ty00 in
6923 let r = r0 in
6924 let ty =
6925 let ty = ty0 in
6926
6927 # 525 "parser_cocci_menhir.mly"
6928 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
6929 # 6930 "parser_cocci_menhir.ml"
6930
6931 in
6932
6933 # 563 "parser_cocci_menhir.mly"
6934 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
6935 # 6936 "parser_cocci_menhir.ml"
6936
6937 in
6938 let cv =
6939
6940 # 39 "standard.mly"
6941 ( None )
6942 # 6943 "parser_cocci_menhir.ml"
6943
6944 in
6945
6946 # 569 "parser_cocci_menhir.mly"
6947 ( P.pointerify (P.make_cv cv ty) m )
6948 # 6949 "parser_cocci_menhir.ml"
6949 in
6950 _menhir_env.MenhirLib.EngineTypes.stack <- {
6951 MenhirLib.EngineTypes.state = _menhir_s;
6952 MenhirLib.EngineTypes.semv = Obj.repr _v;
6953 MenhirLib.EngineTypes.startp = _startpos;
6954 MenhirLib.EngineTypes.endp = _endpos;
6955 MenhirLib.EngineTypes.next = _menhir_stack;
6956 });
6957 (fun _menhir_env ->
6958 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6959 let {
6960 MenhirLib.EngineTypes.semv = m;
6961 MenhirLib.EngineTypes.startp = _startpos_m_;
6962 MenhirLib.EngineTypes.endp = _endpos_m_;
6963 MenhirLib.EngineTypes.next = {
6964 MenhirLib.EngineTypes.semv = ty200;
6965 MenhirLib.EngineTypes.startp = _startpos_ty200_;
6966 MenhirLib.EngineTypes.endp = _endpos_ty200_;
6967 MenhirLib.EngineTypes.next = {
6968 MenhirLib.EngineTypes.semv = ty100;
6969 MenhirLib.EngineTypes.startp = _startpos_ty100_;
6970 MenhirLib.EngineTypes.endp = _endpos_ty100_;
6971 MenhirLib.EngineTypes.next = {
6972 MenhirLib.EngineTypes.state = _menhir_s;
6973 MenhirLib.EngineTypes.semv = r0;
6974 MenhirLib.EngineTypes.startp = _startpos_r0_;
6975 MenhirLib.EngineTypes.endp = _endpos_r0_;
6976 MenhirLib.EngineTypes.next = _menhir_stack;
6977 };
6978 };
6979 };
6980 } = _menhir_stack in
6981 let m : 'tv_list_TMul_ = Obj.magic m in
6982 let ty200 : (
6983 # 51 "parser_cocci_menhir.mly"
6984 (Data.clt)
6985 # 6986 "parser_cocci_menhir.ml"
6986 ) = Obj.magic ty200 in
6987 let ty100 : (
6988 # 51 "parser_cocci_menhir.mly"
6989 (Data.clt)
6990 # 6991 "parser_cocci_menhir.ml"
6991 ) = Obj.magic ty100 in
6992 let r0 : (
6993 # 53 "parser_cocci_menhir.mly"
6994 (Data.clt)
6995 # 6996 "parser_cocci_menhir.ml"
6996 ) = Obj.magic r0 in
6997 let _startpos = _startpos_r0_ in
6998 let _endpos = _endpos_m_ in
6999 let _v : 'tv_ctype = let ty =
7000 let ty20 = ty200 in
7001 let ty10 = ty100 in
7002 let r = r0 in
7003 let ty =
7004 let ty2 = ty20 in
7005 let ty1 = ty10 in
7006
7007 # 527 "parser_cocci_menhir.mly"
7008 ( Ast0.wrap
7009 (Ast0.BaseType
7010 (Ast.LongLongType,
7011 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
7012 # 7013 "parser_cocci_menhir.ml"
7013
7014 in
7015
7016 # 563 "parser_cocci_menhir.mly"
7017 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
7018 # 7019 "parser_cocci_menhir.ml"
7019
7020 in
7021 let cv =
7022
7023 # 39 "standard.mly"
7024 ( None )
7025 # 7026 "parser_cocci_menhir.ml"
7026
7027 in
7028
7029 # 569 "parser_cocci_menhir.mly"
7030 ( P.pointerify (P.make_cv cv ty) m )
7031 # 7032 "parser_cocci_menhir.ml"
7032 in
7033 _menhir_env.MenhirLib.EngineTypes.stack <- {
7034 MenhirLib.EngineTypes.state = _menhir_s;
7035 MenhirLib.EngineTypes.semv = Obj.repr _v;
7036 MenhirLib.EngineTypes.startp = _startpos;
7037 MenhirLib.EngineTypes.endp = _endpos;
7038 MenhirLib.EngineTypes.next = _menhir_stack;
7039 });
7040 (fun _menhir_env ->
7041 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7042 let {
7043 MenhirLib.EngineTypes.semv = m;
7044 MenhirLib.EngineTypes.startp = _startpos_m_;
7045 MenhirLib.EngineTypes.endp = _endpos_m_;
7046 MenhirLib.EngineTypes.next = {
7047 MenhirLib.EngineTypes.state = _menhir_s;
7048 MenhirLib.EngineTypes.semv = ty00;
7049 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7050 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7051 MenhirLib.EngineTypes.next = _menhir_stack;
7052 };
7053 } = _menhir_stack in
7054 let m : 'tv_list_TMul_ = Obj.magic m in
7055 let ty00 : (
7056 # 51 "parser_cocci_menhir.mly"
7057 (Data.clt)
7058 # 7059 "parser_cocci_menhir.ml"
7059 ) = Obj.magic ty00 in
7060 let _startpos = _startpos_ty00_ in
7061 let _endpos = _endpos_m_ in
7062 let _v : 'tv_ctype = let ty =
7063 let ty0 = ty00 in
7064 let ty =
7065 let ty = ty0 in
7066
7067 # 509 "parser_cocci_menhir.mly"
7068 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
7069 # 7070 "parser_cocci_menhir.ml"
7070
7071 in
7072
7073 # 564 "parser_cocci_menhir.mly"
7074 ( ty )
7075 # 7076 "parser_cocci_menhir.ml"
7076
7077 in
7078 let cv =
7079
7080 # 39 "standard.mly"
7081 ( None )
7082 # 7083 "parser_cocci_menhir.ml"
7083
7084 in
7085
7086 # 569 "parser_cocci_menhir.mly"
7087 ( P.pointerify (P.make_cv cv ty) m )
7088 # 7089 "parser_cocci_menhir.ml"
7089 in
7090 _menhir_env.MenhirLib.EngineTypes.stack <- {
7091 MenhirLib.EngineTypes.state = _menhir_s;
7092 MenhirLib.EngineTypes.semv = Obj.repr _v;
7093 MenhirLib.EngineTypes.startp = _startpos;
7094 MenhirLib.EngineTypes.endp = _endpos;
7095 MenhirLib.EngineTypes.next = _menhir_stack;
7096 });
7097 (fun _menhir_env ->
7098 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7099 let {
7100 MenhirLib.EngineTypes.semv = m;
7101 MenhirLib.EngineTypes.startp = _startpos_m_;
7102 MenhirLib.EngineTypes.endp = _endpos_m_;
7103 MenhirLib.EngineTypes.next = {
7104 MenhirLib.EngineTypes.state = _menhir_s;
7105 MenhirLib.EngineTypes.semv = ty00;
7106 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7107 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7108 MenhirLib.EngineTypes.next = _menhir_stack;
7109 };
7110 } = _menhir_stack in
7111 let m : 'tv_list_TMul_ = Obj.magic m in
7112 let ty00 : (
7113 # 51 "parser_cocci_menhir.mly"
7114 (Data.clt)
7115 # 7116 "parser_cocci_menhir.ml"
7116 ) = Obj.magic ty00 in
7117 let _startpos = _startpos_ty00_ in
7118 let _endpos = _endpos_m_ in
7119 let _v : 'tv_ctype = let ty =
7120 let ty0 = ty00 in
7121 let ty =
7122 let ty = ty0 in
7123
7124 # 511 "parser_cocci_menhir.mly"
7125 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
7126 # 7127 "parser_cocci_menhir.ml"
7127
7128 in
7129
7130 # 564 "parser_cocci_menhir.mly"
7131 ( ty )
7132 # 7133 "parser_cocci_menhir.ml"
7133
7134 in
7135 let cv =
7136
7137 # 39 "standard.mly"
7138 ( None )
7139 # 7140 "parser_cocci_menhir.ml"
7140
7141 in
7142
7143 # 569 "parser_cocci_menhir.mly"
7144 ( P.pointerify (P.make_cv cv ty) m )
7145 # 7146 "parser_cocci_menhir.ml"
7146 in
7147 _menhir_env.MenhirLib.EngineTypes.stack <- {
7148 MenhirLib.EngineTypes.state = _menhir_s;
7149 MenhirLib.EngineTypes.semv = Obj.repr _v;
7150 MenhirLib.EngineTypes.startp = _startpos;
7151 MenhirLib.EngineTypes.endp = _endpos;
7152 MenhirLib.EngineTypes.next = _menhir_stack;
7153 });
7154 (fun _menhir_env ->
7155 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7156 let {
7157 MenhirLib.EngineTypes.semv = m;
7158 MenhirLib.EngineTypes.startp = _startpos_m_;
7159 MenhirLib.EngineTypes.endp = _endpos_m_;
7160 MenhirLib.EngineTypes.next = {
7161 MenhirLib.EngineTypes.state = _menhir_s;
7162 MenhirLib.EngineTypes.semv = ty00;
7163 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7164 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7165 MenhirLib.EngineTypes.next = _menhir_stack;
7166 };
7167 } = _menhir_stack in
7168 let m : 'tv_list_TMul_ = Obj.magic m in
7169 let ty00 : (
7170 # 51 "parser_cocci_menhir.mly"
7171 (Data.clt)
7172 # 7173 "parser_cocci_menhir.ml"
7173 ) = Obj.magic ty00 in
7174 let _startpos = _startpos_ty00_ in
7175 let _endpos = _endpos_m_ in
7176 let _v : 'tv_ctype = let ty =
7177 let ty0 = ty00 in
7178 let ty =
7179 let ty = ty0 in
7180
7181 # 513 "parser_cocci_menhir.mly"
7182 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
7183 # 7184 "parser_cocci_menhir.ml"
7184
7185 in
7186
7187 # 564 "parser_cocci_menhir.mly"
7188 ( ty )
7189 # 7190 "parser_cocci_menhir.ml"
7190
7191 in
7192 let cv =
7193
7194 # 39 "standard.mly"
7195 ( None )
7196 # 7197 "parser_cocci_menhir.ml"
7197
7198 in
7199
7200 # 569 "parser_cocci_menhir.mly"
7201 ( P.pointerify (P.make_cv cv ty) m )
7202 # 7203 "parser_cocci_menhir.ml"
7203 in
7204 _menhir_env.MenhirLib.EngineTypes.stack <- {
7205 MenhirLib.EngineTypes.state = _menhir_s;
7206 MenhirLib.EngineTypes.semv = Obj.repr _v;
7207 MenhirLib.EngineTypes.startp = _startpos;
7208 MenhirLib.EngineTypes.endp = _endpos;
7209 MenhirLib.EngineTypes.next = _menhir_stack;
7210 });
7211 (fun _menhir_env ->
7212 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7213 let {
7214 MenhirLib.EngineTypes.semv = m;
7215 MenhirLib.EngineTypes.startp = _startpos_m_;
7216 MenhirLib.EngineTypes.endp = _endpos_m_;
7217 MenhirLib.EngineTypes.next = {
7218 MenhirLib.EngineTypes.state = _menhir_s;
7219 MenhirLib.EngineTypes.semv = p00;
7220 MenhirLib.EngineTypes.startp = _startpos_p00_;
7221 MenhirLib.EngineTypes.endp = _endpos_p00_;
7222 MenhirLib.EngineTypes.next = _menhir_stack;
7223 };
7224 } = _menhir_stack in
7225 let m : 'tv_list_TMul_ = Obj.magic m in
7226 let p00 : (
7227 # 67 "parser_cocci_menhir.mly"
7228 (Parse_aux.info)
7229 # 7230 "parser_cocci_menhir.ml"
7230 ) = Obj.magic p00 in
7231 let _startpos = _startpos_p00_ in
7232 let _endpos = _endpos_m_ in
7233 let _v : 'tv_ctype = let ty =
7234 let p0 = p00 in
7235 let ty =
7236 let p = p0 in
7237
7238 # 515 "parser_cocci_menhir.mly"
7239 ( let (nm,pure,clt) = p in
7240 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
7241 # 7242 "parser_cocci_menhir.ml"
7242
7243 in
7244
7245 # 564 "parser_cocci_menhir.mly"
7246 ( ty )
7247 # 7248 "parser_cocci_menhir.ml"
7248
7249 in
7250 let cv =
7251
7252 # 39 "standard.mly"
7253 ( None )
7254 # 7255 "parser_cocci_menhir.ml"
7255
7256 in
7257
7258 # 569 "parser_cocci_menhir.mly"
7259 ( P.pointerify (P.make_cv cv ty) m )
7260 # 7261 "parser_cocci_menhir.ml"
7261 in
7262 _menhir_env.MenhirLib.EngineTypes.stack <- {
7263 MenhirLib.EngineTypes.state = _menhir_s;
7264 MenhirLib.EngineTypes.semv = Obj.repr _v;
7265 MenhirLib.EngineTypes.startp = _startpos;
7266 MenhirLib.EngineTypes.endp = _endpos;
7267 MenhirLib.EngineTypes.next = _menhir_stack;
7268 });
7269 (fun _menhir_env ->
7270 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7271 let {
7272 MenhirLib.EngineTypes.semv = m;
7273 MenhirLib.EngineTypes.startp = _startpos_m_;
7274 MenhirLib.EngineTypes.endp = _endpos_m_;
7275 MenhirLib.EngineTypes.next = {
7276 MenhirLib.EngineTypes.semv = p00;
7277 MenhirLib.EngineTypes.startp = _startpos_p00_;
7278 MenhirLib.EngineTypes.endp = _endpos_p00_;
7279 MenhirLib.EngineTypes.next = {
7280 MenhirLib.EngineTypes.startp = _startpos__2_;
7281 MenhirLib.EngineTypes.endp = _endpos__2_;
7282 MenhirLib.EngineTypes.next = {
7283 MenhirLib.EngineTypes.state = _menhir_s;
7284 MenhirLib.EngineTypes.semv = r00;
7285 MenhirLib.EngineTypes.startp = _startpos_r00_;
7286 MenhirLib.EngineTypes.endp = _endpos_r00_;
7287 MenhirLib.EngineTypes.next = _menhir_stack;
7288 };
7289 };
7290 };
7291 } = _menhir_stack in
7292 let m : 'tv_list_TMul_ = Obj.magic m in
7293 let p00 : (
7294 # 61 "parser_cocci_menhir.mly"
7295 (string * Data.clt)
7296 # 7297 "parser_cocci_menhir.ml"
7297 ) = Obj.magic p00 in
7298 let r00 : (
7299 # 49 "parser_cocci_menhir.mly"
7300 (string)
7301 # 7302 "parser_cocci_menhir.ml"
7302 ) = Obj.magic r00 in
7303 let _startpos = _startpos_r00_ in
7304 let _endpos = _endpos_m_ in
7305 let _v : 'tv_ctype = let ty =
7306 let p0 = p00 in
7307 let r0 = r00 in
7308 let ty =
7309 let p = p0 in
7310 let r = r0 in
7311
7312 # 518 "parser_cocci_menhir.mly"
7313 ( let nm = (r,P.id2name p) in
7314 (* this is only possible when we are in a metavar decl. Otherwise,
7315 it will be represented already as a MetaType *)
7316 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
7317 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
7318 Ast0.Impure (*will be ignored*))) )
7319 # 7320 "parser_cocci_menhir.ml"
7320
7321 in
7322
7323 # 564 "parser_cocci_menhir.mly"
7324 ( ty )
7325 # 7326 "parser_cocci_menhir.ml"
7326
7327 in
7328 let cv =
7329
7330 # 39 "standard.mly"
7331 ( None )
7332 # 7333 "parser_cocci_menhir.ml"
7333
7334 in
7335
7336 # 569 "parser_cocci_menhir.mly"
7337 ( P.pointerify (P.make_cv cv ty) m )
7338 # 7339 "parser_cocci_menhir.ml"
7339 in
7340 _menhir_env.MenhirLib.EngineTypes.stack <- {
7341 MenhirLib.EngineTypes.state = _menhir_s;
7342 MenhirLib.EngineTypes.semv = Obj.repr _v;
7343 MenhirLib.EngineTypes.startp = _startpos;
7344 MenhirLib.EngineTypes.endp = _endpos;
7345 MenhirLib.EngineTypes.next = _menhir_stack;
7346 });
7347 (fun _menhir_env ->
7348 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7349 let {
7350 MenhirLib.EngineTypes.semv = m;
7351 MenhirLib.EngineTypes.startp = _startpos_m_;
7352 MenhirLib.EngineTypes.endp = _endpos_m_;
7353 MenhirLib.EngineTypes.next = {
7354 MenhirLib.EngineTypes.state = _menhir_s;
7355 MenhirLib.EngineTypes.semv = ty00;
7356 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7357 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7358 MenhirLib.EngineTypes.next = _menhir_stack;
7359 };
7360 } = _menhir_stack in
7361 let m : 'tv_list_TMul_ = Obj.magic m in
7362 let ty00 : (
7363 # 51 "parser_cocci_menhir.mly"
7364 (Data.clt)
7365 # 7366 "parser_cocci_menhir.ml"
7366 ) = Obj.magic ty00 in
7367 let _startpos = _startpos_ty00_ in
7368 let _endpos = _endpos_m_ in
7369 let _v : 'tv_ctype = let ty =
7370 let ty0 = ty00 in
7371 let ty =
7372 let ty = ty0 in
7373
7374 # 525 "parser_cocci_menhir.mly"
7375 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
7376 # 7377 "parser_cocci_menhir.ml"
7377
7378 in
7379
7380 # 564 "parser_cocci_menhir.mly"
7381 ( ty )
7382 # 7383 "parser_cocci_menhir.ml"
7383
7384 in
7385 let cv =
7386
7387 # 39 "standard.mly"
7388 ( None )
7389 # 7390 "parser_cocci_menhir.ml"
7390
7391 in
7392
7393 # 569 "parser_cocci_menhir.mly"
7394 ( P.pointerify (P.make_cv cv ty) m )
7395 # 7396 "parser_cocci_menhir.ml"
7396 in
7397 _menhir_env.MenhirLib.EngineTypes.stack <- {
7398 MenhirLib.EngineTypes.state = _menhir_s;
7399 MenhirLib.EngineTypes.semv = Obj.repr _v;
7400 MenhirLib.EngineTypes.startp = _startpos;
7401 MenhirLib.EngineTypes.endp = _endpos;
7402 MenhirLib.EngineTypes.next = _menhir_stack;
7403 });
7404 (fun _menhir_env ->
7405 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7406 let {
7407 MenhirLib.EngineTypes.semv = m;
7408 MenhirLib.EngineTypes.startp = _startpos_m_;
7409 MenhirLib.EngineTypes.endp = _endpos_m_;
7410 MenhirLib.EngineTypes.next = {
7411 MenhirLib.EngineTypes.semv = ty200;
7412 MenhirLib.EngineTypes.startp = _startpos_ty200_;
7413 MenhirLib.EngineTypes.endp = _endpos_ty200_;
7414 MenhirLib.EngineTypes.next = {
7415 MenhirLib.EngineTypes.state = _menhir_s;
7416 MenhirLib.EngineTypes.semv = ty100;
7417 MenhirLib.EngineTypes.startp = _startpos_ty100_;
7418 MenhirLib.EngineTypes.endp = _endpos_ty100_;
7419 MenhirLib.EngineTypes.next = _menhir_stack;
7420 };
7421 };
7422 } = _menhir_stack in
7423 let m : 'tv_list_TMul_ = Obj.magic m in
7424 let ty200 : (
7425 # 51 "parser_cocci_menhir.mly"
7426 (Data.clt)
7427 # 7428 "parser_cocci_menhir.ml"
7428 ) = Obj.magic ty200 in
7429 let ty100 : (
7430 # 51 "parser_cocci_menhir.mly"
7431 (Data.clt)
7432 # 7433 "parser_cocci_menhir.ml"
7433 ) = Obj.magic ty100 in
7434 let _startpos = _startpos_ty100_ in
7435 let _endpos = _endpos_m_ in
7436 let _v : 'tv_ctype = let ty =
7437 let ty20 = ty200 in
7438 let ty10 = ty100 in
7439 let ty =
7440 let ty2 = ty20 in
7441 let ty1 = ty10 in
7442
7443 # 527 "parser_cocci_menhir.mly"
7444 ( Ast0.wrap
7445 (Ast0.BaseType
7446 (Ast.LongLongType,
7447 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
7448 # 7449 "parser_cocci_menhir.ml"
7449
7450 in
7451
7452 # 564 "parser_cocci_menhir.mly"
7453 ( ty )
7454 # 7455 "parser_cocci_menhir.ml"
7455
7456 in
7457 let cv =
7458
7459 # 39 "standard.mly"
7460 ( None )
7461 # 7462 "parser_cocci_menhir.ml"
7462
7463 in
7464
7465 # 569 "parser_cocci_menhir.mly"
7466 ( P.pointerify (P.make_cv cv ty) m )
7467 # 7468 "parser_cocci_menhir.ml"
7468 in
7469 _menhir_env.MenhirLib.EngineTypes.stack <- {
7470 MenhirLib.EngineTypes.state = _menhir_s;
7471 MenhirLib.EngineTypes.semv = Obj.repr _v;
7472 MenhirLib.EngineTypes.startp = _startpos;
7473 MenhirLib.EngineTypes.endp = _endpos;
7474 MenhirLib.EngineTypes.next = _menhir_stack;
7475 });
7476 (fun _menhir_env ->
7477 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7478 let {
7479 MenhirLib.EngineTypes.semv = m;
7480 MenhirLib.EngineTypes.startp = _startpos_m_;
7481 MenhirLib.EngineTypes.endp = _endpos_m_;
7482 MenhirLib.EngineTypes.next = {
7483 MenhirLib.EngineTypes.state = _menhir_s;
7484 MenhirLib.EngineTypes.semv = ty00;
7485 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7486 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7487 MenhirLib.EngineTypes.next = _menhir_stack;
7488 };
7489 } = _menhir_stack in
7490 let m : 'tv_list_TMul_ = Obj.magic m in
7491 let ty00 : (
7492 # 52 "parser_cocci_menhir.mly"
7493 (Data.clt)
7494 # 7495 "parser_cocci_menhir.ml"
7495 ) = Obj.magic ty00 in
7496 let _startpos = _startpos_ty00_ in
7497 let _endpos = _endpos_m_ in
7498 let _v : 'tv_ctype = let ty =
7499 let ty0 = ty00 in
7500 let ty =
7501 let ty = ty0 in
7502
7503 # 535 "parser_cocci_menhir.mly"
7504 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
7505 # 7506 "parser_cocci_menhir.ml"
7506
7507 in
7508
7509 # 565 "parser_cocci_menhir.mly"
7510 ( ty )
7511 # 7512 "parser_cocci_menhir.ml"
7512
7513 in
7514 let cv =
7515
7516 # 39 "standard.mly"
7517 ( None )
7518 # 7519 "parser_cocci_menhir.ml"
7519
7520 in
7521
7522 # 569 "parser_cocci_menhir.mly"
7523 ( P.pointerify (P.make_cv cv ty) m )
7524 # 7525 "parser_cocci_menhir.ml"
7525 in
7526 _menhir_env.MenhirLib.EngineTypes.stack <- {
7527 MenhirLib.EngineTypes.state = _menhir_s;
7528 MenhirLib.EngineTypes.semv = Obj.repr _v;
7529 MenhirLib.EngineTypes.startp = _startpos;
7530 MenhirLib.EngineTypes.endp = _endpos;
7531 MenhirLib.EngineTypes.next = _menhir_stack;
7532 });
7533 (fun _menhir_env ->
7534 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7535 let {
7536 MenhirLib.EngineTypes.semv = m;
7537 MenhirLib.EngineTypes.startp = _startpos_m_;
7538 MenhirLib.EngineTypes.endp = _endpos_m_;
7539 MenhirLib.EngineTypes.next = {
7540 MenhirLib.EngineTypes.state = _menhir_s;
7541 MenhirLib.EngineTypes.semv = ty00;
7542 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7543 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7544 MenhirLib.EngineTypes.next = _menhir_stack;
7545 };
7546 } = _menhir_stack in
7547 let m : 'tv_list_TMul_ = Obj.magic m in
7548 let ty00 : (
7549 # 51 "parser_cocci_menhir.mly"
7550 (Data.clt)
7551 # 7552 "parser_cocci_menhir.ml"
7552 ) = Obj.magic ty00 in
7553 let _startpos = _startpos_ty00_ in
7554 let _endpos = _endpos_m_ in
7555 let _v : 'tv_ctype = let ty =
7556 let ty0 = ty00 in
7557 let ty =
7558 let ty = ty0 in
7559
7560 # 537 "parser_cocci_menhir.mly"
7561 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
7562 # 7563 "parser_cocci_menhir.ml"
7563
7564 in
7565
7566 # 565 "parser_cocci_menhir.mly"
7567 ( ty )
7568 # 7569 "parser_cocci_menhir.ml"
7569
7570 in
7571 let cv =
7572
7573 # 39 "standard.mly"
7574 ( None )
7575 # 7576 "parser_cocci_menhir.ml"
7576
7577 in
7578
7579 # 569 "parser_cocci_menhir.mly"
7580 ( P.pointerify (P.make_cv cv ty) m )
7581 # 7582 "parser_cocci_menhir.ml"
7582 in
7583 _menhir_env.MenhirLib.EngineTypes.stack <- {
7584 MenhirLib.EngineTypes.state = _menhir_s;
7585 MenhirLib.EngineTypes.semv = Obj.repr _v;
7586 MenhirLib.EngineTypes.startp = _startpos;
7587 MenhirLib.EngineTypes.endp = _endpos;
7588 MenhirLib.EngineTypes.next = _menhir_stack;
7589 });
7590 (fun _menhir_env ->
7591 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7592 let {
7593 MenhirLib.EngineTypes.semv = m;
7594 MenhirLib.EngineTypes.startp = _startpos_m_;
7595 MenhirLib.EngineTypes.endp = _endpos_m_;
7596 MenhirLib.EngineTypes.next = {
7597 MenhirLib.EngineTypes.state = _menhir_s;
7598 MenhirLib.EngineTypes.semv = ty00;
7599 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7600 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7601 MenhirLib.EngineTypes.next = _menhir_stack;
7602 };
7603 } = _menhir_stack in
7604 let m : 'tv_list_TMul_ = Obj.magic m in
7605 let ty00 : (
7606 # 51 "parser_cocci_menhir.mly"
7607 (Data.clt)
7608 # 7609 "parser_cocci_menhir.ml"
7609 ) = Obj.magic ty00 in
7610 let _startpos = _startpos_ty00_ in
7611 let _endpos = _endpos_m_ in
7612 let _v : 'tv_ctype = let ty =
7613 let ty0 = ty00 in
7614 let ty =
7615 let ty = ty0 in
7616
7617 # 539 "parser_cocci_menhir.mly"
7618 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
7619 # 7620 "parser_cocci_menhir.ml"
7620
7621 in
7622
7623 # 565 "parser_cocci_menhir.mly"
7624 ( ty )
7625 # 7626 "parser_cocci_menhir.ml"
7626
7627 in
7628 let cv =
7629
7630 # 39 "standard.mly"
7631 ( None )
7632 # 7633 "parser_cocci_menhir.ml"
7633
7634 in
7635
7636 # 569 "parser_cocci_menhir.mly"
7637 ( P.pointerify (P.make_cv cv ty) m )
7638 # 7639 "parser_cocci_menhir.ml"
7639 in
7640 _menhir_env.MenhirLib.EngineTypes.stack <- {
7641 MenhirLib.EngineTypes.state = _menhir_s;
7642 MenhirLib.EngineTypes.semv = Obj.repr _v;
7643 MenhirLib.EngineTypes.startp = _startpos;
7644 MenhirLib.EngineTypes.endp = _endpos;
7645 MenhirLib.EngineTypes.next = _menhir_stack;
7646 });
7647 (fun _menhir_env ->
7648 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7649 let {
7650 MenhirLib.EngineTypes.semv = m;
7651 MenhirLib.EngineTypes.startp = _startpos_m_;
7652 MenhirLib.EngineTypes.endp = _endpos_m_;
7653 MenhirLib.EngineTypes.next = {
7654 MenhirLib.EngineTypes.semv = i00;
7655 MenhirLib.EngineTypes.startp = _startpos_i00_;
7656 MenhirLib.EngineTypes.endp = _endpos_i00_;
7657 MenhirLib.EngineTypes.next = {
7658 MenhirLib.EngineTypes.state = _menhir_s;
7659 MenhirLib.EngineTypes.semv = s00;
7660 MenhirLib.EngineTypes.startp = _startpos_s00_;
7661 MenhirLib.EngineTypes.endp = _endpos_s00_;
7662 MenhirLib.EngineTypes.next = _menhir_stack;
7663 };
7664 };
7665 } = _menhir_stack in
7666 let m : 'tv_list_TMul_ = Obj.magic m in
7667 let i00 : 'tv_ident = Obj.magic i00 in
7668 let s00 : (
7669 # 52 "parser_cocci_menhir.mly"
7670 (Data.clt)
7671 # 7672 "parser_cocci_menhir.ml"
7672 ) = Obj.magic s00 in
7673 let _startpos = _startpos_s00_ in
7674 let _endpos = _endpos_m_ in
7675 let _v : 'tv_ctype = let ty =
7676 let i0 = i00 in
7677 let s0 = s00 in
7678 let ty =
7679 let i = i0 in
7680 let s = s0 in
7681
7682 # 541 "parser_cocci_menhir.mly"
7683 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
7684 # 7685 "parser_cocci_menhir.ml"
7685
7686 in
7687
7688 # 565 "parser_cocci_menhir.mly"
7689 ( ty )
7690 # 7691 "parser_cocci_menhir.ml"
7691
7692 in
7693 let cv =
7694
7695 # 39 "standard.mly"
7696 ( None )
7697 # 7698 "parser_cocci_menhir.ml"
7698
7699 in
7700
7701 # 569 "parser_cocci_menhir.mly"
7702 ( P.pointerify (P.make_cv cv ty) m )
7703 # 7704 "parser_cocci_menhir.ml"
7704 in
7705 _menhir_env.MenhirLib.EngineTypes.stack <- {
7706 MenhirLib.EngineTypes.state = _menhir_s;
7707 MenhirLib.EngineTypes.semv = Obj.repr _v;
7708 MenhirLib.EngineTypes.startp = _startpos;
7709 MenhirLib.EngineTypes.endp = _endpos;
7710 MenhirLib.EngineTypes.next = _menhir_stack;
7711 });
7712 (fun _menhir_env ->
7713 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7714 let {
7715 MenhirLib.EngineTypes.semv = m;
7716 MenhirLib.EngineTypes.startp = _startpos_m_;
7717 MenhirLib.EngineTypes.endp = _endpos_m_;
7718 MenhirLib.EngineTypes.next = {
7719 MenhirLib.EngineTypes.semv = i00;
7720 MenhirLib.EngineTypes.startp = _startpos_i00_;
7721 MenhirLib.EngineTypes.endp = _endpos_i00_;
7722 MenhirLib.EngineTypes.next = {
7723 MenhirLib.EngineTypes.state = _menhir_s;
7724 MenhirLib.EngineTypes.semv = s00;
7725 MenhirLib.EngineTypes.startp = _startpos_s00_;
7726 MenhirLib.EngineTypes.endp = _endpos_s00_;
7727 MenhirLib.EngineTypes.next = _menhir_stack;
7728 };
7729 };
7730 } = _menhir_stack in
7731 let m : 'tv_list_TMul_ = Obj.magic m in
7732 let i00 : 'tv_ident = Obj.magic i00 in
7733 let s00 : 'tv_struct_or_union = Obj.magic s00 in
7734 let _startpos = _startpos_s00_ in
7735 let _endpos = _endpos_m_ in
7736 let _v : 'tv_ctype = let ty =
7737 let i0 = i00 in
7738 let s0 = s00 in
7739 let ty =
7740 let i = i0 in
7741 let s = s0 in
7742
7743 # 543 "parser_cocci_menhir.mly"
7744 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
7745 # 7746 "parser_cocci_menhir.ml"
7746
7747 in
7748
7749 # 565 "parser_cocci_menhir.mly"
7750 ( ty )
7751 # 7752 "parser_cocci_menhir.ml"
7752
7753 in
7754 let cv =
7755
7756 # 39 "standard.mly"
7757 ( None )
7758 # 7759 "parser_cocci_menhir.ml"
7759
7760 in
7761
7762 # 569 "parser_cocci_menhir.mly"
7763 ( P.pointerify (P.make_cv cv ty) m )
7764 # 7765 "parser_cocci_menhir.ml"
7765 in
7766 _menhir_env.MenhirLib.EngineTypes.stack <- {
7767 MenhirLib.EngineTypes.state = _menhir_s;
7768 MenhirLib.EngineTypes.semv = Obj.repr _v;
7769 MenhirLib.EngineTypes.startp = _startpos;
7770 MenhirLib.EngineTypes.endp = _endpos;
7771 MenhirLib.EngineTypes.next = _menhir_stack;
7772 });
7773 (fun _menhir_env ->
7774 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7775 let {
7776 MenhirLib.EngineTypes.semv = m;
7777 MenhirLib.EngineTypes.startp = _startpos_m_;
7778 MenhirLib.EngineTypes.endp = _endpos_m_;
7779 MenhirLib.EngineTypes.next = {
7780 MenhirLib.EngineTypes.semv = r00;
7781 MenhirLib.EngineTypes.startp = _startpos_r00_;
7782 MenhirLib.EngineTypes.endp = _endpos_r00_;
7783 MenhirLib.EngineTypes.next = {
7784 MenhirLib.EngineTypes.semv = d00;
7785 MenhirLib.EngineTypes.startp = _startpos_d00_;
7786 MenhirLib.EngineTypes.endp = _endpos_d00_;
7787 MenhirLib.EngineTypes.next = {
7788 MenhirLib.EngineTypes.semv = l00;
7789 MenhirLib.EngineTypes.startp = _startpos_l00_;
7790 MenhirLib.EngineTypes.endp = _endpos_l00_;
7791 MenhirLib.EngineTypes.next = {
7792 MenhirLib.EngineTypes.state = _menhir_s;
7793 MenhirLib.EngineTypes.semv = s00;
7794 MenhirLib.EngineTypes.startp = _startpos_s00_;
7795 MenhirLib.EngineTypes.endp = _endpos_s00_;
7796 MenhirLib.EngineTypes.next = _menhir_stack;
7797 };
7798 };
7799 };
7800 };
7801 } = _menhir_stack in
7802 let m : 'tv_list_TMul_ = Obj.magic m in
7803 let r00 : (
7804 # 104 "parser_cocci_menhir.mly"
7805 (Data.clt)
7806 # 7807 "parser_cocci_menhir.ml"
7807 ) = Obj.magic r00 in
7808 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
7809 let l00 : (
7810 # 104 "parser_cocci_menhir.mly"
7811 (Data.clt)
7812 # 7813 "parser_cocci_menhir.ml"
7813 ) = Obj.magic l00 in
7814 let s00 : 'tv_struct_or_union = Obj.magic s00 in
7815 let _startpos = _startpos_s00_ in
7816 let _endpos = _endpos_m_ in
7817 let _v : 'tv_ctype = let ty =
7818 let r0 = r00 in
7819 let d0 = d00 in
7820 let l0 = l00 in
7821 let s0 = s00 in
7822 let ty =
7823 let r = r0 in
7824 let d = d0 in
7825 let l = l0 in
7826 let s = s0 in
7827 let i =
7828
7829 # 39 "standard.mly"
7830 ( None )
7831 # 7832 "parser_cocci_menhir.ml"
7832
7833 in
7834
7835 # 546 "parser_cocci_menhir.mly"
7836 ( (if i = None && !Data.in_iso
7837 then failwith "structures must be named in the iso file");
7838 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
7839 P.clt2mcode "{" l,
7840 d, P.clt2mcode "}" r)) )
7841 # 7842 "parser_cocci_menhir.ml"
7842
7843 in
7844
7845 # 565 "parser_cocci_menhir.mly"
7846 ( ty )
7847 # 7848 "parser_cocci_menhir.ml"
7848
7849 in
7850 let cv =
7851
7852 # 39 "standard.mly"
7853 ( None )
7854 # 7855 "parser_cocci_menhir.ml"
7855
7856 in
7857
7858 # 569 "parser_cocci_menhir.mly"
7859 ( P.pointerify (P.make_cv cv ty) m )
7860 # 7861 "parser_cocci_menhir.ml"
7861 in
7862 _menhir_env.MenhirLib.EngineTypes.stack <- {
7863 MenhirLib.EngineTypes.state = _menhir_s;
7864 MenhirLib.EngineTypes.semv = Obj.repr _v;
7865 MenhirLib.EngineTypes.startp = _startpos;
7866 MenhirLib.EngineTypes.endp = _endpos;
7867 MenhirLib.EngineTypes.next = _menhir_stack;
7868 });
7869 (fun _menhir_env ->
7870 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7871 let {
7872 MenhirLib.EngineTypes.semv = m;
7873 MenhirLib.EngineTypes.startp = _startpos_m_;
7874 MenhirLib.EngineTypes.endp = _endpos_m_;
7875 MenhirLib.EngineTypes.next = {
7876 MenhirLib.EngineTypes.semv = r00;
7877 MenhirLib.EngineTypes.startp = _startpos_r00_;
7878 MenhirLib.EngineTypes.endp = _endpos_r00_;
7879 MenhirLib.EngineTypes.next = {
7880 MenhirLib.EngineTypes.semv = d00;
7881 MenhirLib.EngineTypes.startp = _startpos_d00_;
7882 MenhirLib.EngineTypes.endp = _endpos_d00_;
7883 MenhirLib.EngineTypes.next = {
7884 MenhirLib.EngineTypes.semv = l00;
7885 MenhirLib.EngineTypes.startp = _startpos_l00_;
7886 MenhirLib.EngineTypes.endp = _endpos_l00_;
7887 MenhirLib.EngineTypes.next = {
7888 MenhirLib.EngineTypes.semv = x000;
7889 MenhirLib.EngineTypes.startp = _startpos_x000_;
7890 MenhirLib.EngineTypes.endp = _endpos_x000_;
7891 MenhirLib.EngineTypes.next = {
7892 MenhirLib.EngineTypes.state = _menhir_s;
7893 MenhirLib.EngineTypes.semv = s00;
7894 MenhirLib.EngineTypes.startp = _startpos_s00_;
7895 MenhirLib.EngineTypes.endp = _endpos_s00_;
7896 MenhirLib.EngineTypes.next = _menhir_stack;
7897 };
7898 };
7899 };
7900 };
7901 };
7902 } = _menhir_stack in
7903 let m : 'tv_list_TMul_ = Obj.magic m in
7904 let r00 : (
7905 # 104 "parser_cocci_menhir.mly"
7906 (Data.clt)
7907 # 7908 "parser_cocci_menhir.ml"
7908 ) = Obj.magic r00 in
7909 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
7910 let l00 : (
7911 # 104 "parser_cocci_menhir.mly"
7912 (Data.clt)
7913 # 7914 "parser_cocci_menhir.ml"
7914 ) = Obj.magic l00 in
7915 let x000 : 'tv_ident = Obj.magic x000 in
7916 let s00 : 'tv_struct_or_union = Obj.magic s00 in
7917 let _startpos = _startpos_s00_ in
7918 let _endpos = _endpos_m_ in
7919 let _v : 'tv_ctype = let ty =
7920 let r0 = r00 in
7921 let d0 = d00 in
7922 let l0 = l00 in
7923 let x00 = x000 in
7924 let s0 = s00 in
7925 let ty =
7926 let r = r0 in
7927 let d = d0 in
7928 let l = l0 in
7929 let x0 = x00 in
7930 let s = s0 in
7931 let i =
7932 let x = x0 in
7933
7934 # 41 "standard.mly"
7935 ( Some x )
7936 # 7937 "parser_cocci_menhir.ml"
7937
7938 in
7939
7940 # 546 "parser_cocci_menhir.mly"
7941 ( (if i = None && !Data.in_iso
7942 then failwith "structures must be named in the iso file");
7943 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
7944 P.clt2mcode "{" l,
7945 d, P.clt2mcode "}" r)) )
7946 # 7947 "parser_cocci_menhir.ml"
7947
7948 in
7949
7950 # 565 "parser_cocci_menhir.mly"
7951 ( ty )
7952 # 7953 "parser_cocci_menhir.ml"
7953
7954 in
7955 let cv =
7956
7957 # 39 "standard.mly"
7958 ( None )
7959 # 7960 "parser_cocci_menhir.ml"
7960
7961 in
7962
7963 # 569 "parser_cocci_menhir.mly"
7964 ( P.pointerify (P.make_cv cv ty) m )
7965 # 7966 "parser_cocci_menhir.ml"
7966 in
7967 _menhir_env.MenhirLib.EngineTypes.stack <- {
7968 MenhirLib.EngineTypes.state = _menhir_s;
7969 MenhirLib.EngineTypes.semv = Obj.repr _v;
7970 MenhirLib.EngineTypes.startp = _startpos;
7971 MenhirLib.EngineTypes.endp = _endpos;
7972 MenhirLib.EngineTypes.next = _menhir_stack;
7973 });
7974 (fun _menhir_env ->
7975 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7976 let {
7977 MenhirLib.EngineTypes.semv = m;
7978 MenhirLib.EngineTypes.startp = _startpos_m_;
7979 MenhirLib.EngineTypes.endp = _endpos_m_;
7980 MenhirLib.EngineTypes.next = {
7981 MenhirLib.EngineTypes.semv = r00;
7982 MenhirLib.EngineTypes.startp = _startpos_r00_;
7983 MenhirLib.EngineTypes.endp = _endpos_r00_;
7984 MenhirLib.EngineTypes.next = {
7985 MenhirLib.EngineTypes.semv = d00;
7986 MenhirLib.EngineTypes.startp = _startpos_d00_;
7987 MenhirLib.EngineTypes.endp = _endpos_d00_;
7988 MenhirLib.EngineTypes.next = {
7989 MenhirLib.EngineTypes.semv = l00;
7990 MenhirLib.EngineTypes.startp = _startpos_l00_;
7991 MenhirLib.EngineTypes.endp = _endpos_l00_;
7992 MenhirLib.EngineTypes.next = {
7993 MenhirLib.EngineTypes.state = _menhir_s;
7994 MenhirLib.EngineTypes.semv = s00;
7995 MenhirLib.EngineTypes.startp = _startpos_s00_;
7996 MenhirLib.EngineTypes.endp = _endpos_s00_;
7997 MenhirLib.EngineTypes.next = _menhir_stack;
7998 };
7999 };
8000 };
8001 };
8002 } = _menhir_stack in
8003 let m : 'tv_list_TMul_ = Obj.magic m in
8004 let r00 : (
8005 # 104 "parser_cocci_menhir.mly"
8006 (Data.clt)
8007 # 8008 "parser_cocci_menhir.ml"
8008 ) = Obj.magic r00 in
8009 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
8010 let l00 : (
8011 # 104 "parser_cocci_menhir.mly"
8012 (Data.clt)
8013 # 8014 "parser_cocci_menhir.ml"
8014 ) = Obj.magic l00 in
8015 let s00 : (
8016 # 67 "parser_cocci_menhir.mly"
8017 (Parse_aux.info)
8018 # 8019 "parser_cocci_menhir.ml"
8019 ) = Obj.magic s00 in
8020 let _startpos = _startpos_s00_ in
8021 let _endpos = _endpos_m_ in
8022 let _v : 'tv_ctype = let ty =
8023 let r0 = r00 in
8024 let d0 = d00 in
8025 let l0 = l00 in
8026 let s0 = s00 in
8027 let ty =
8028 let r = r0 in
8029 let d = d0 in
8030 let l = l0 in
8031 let s = s0 in
8032
8033 # 552 "parser_cocci_menhir.mly"
8034 ( let (nm,pure,clt) = s in
8035 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
8036 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
8037 # 8038 "parser_cocci_menhir.ml"
8038
8039 in
8040
8041 # 565 "parser_cocci_menhir.mly"
8042 ( ty )
8043 # 8044 "parser_cocci_menhir.ml"
8044
8045 in
8046 let cv =
8047
8048 # 39 "standard.mly"
8049 ( None )
8050 # 8051 "parser_cocci_menhir.ml"
8051
8052 in
8053
8054 # 569 "parser_cocci_menhir.mly"
8055 ( P.pointerify (P.make_cv cv ty) m )
8056 # 8057 "parser_cocci_menhir.ml"
8057 in
8058 _menhir_env.MenhirLib.EngineTypes.stack <- {
8059 MenhirLib.EngineTypes.state = _menhir_s;
8060 MenhirLib.EngineTypes.semv = Obj.repr _v;
8061 MenhirLib.EngineTypes.startp = _startpos;
8062 MenhirLib.EngineTypes.endp = _endpos;
8063 MenhirLib.EngineTypes.next = _menhir_stack;
8064 });
8065 (fun _menhir_env ->
8066 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8067 let {
8068 MenhirLib.EngineTypes.semv = m;
8069 MenhirLib.EngineTypes.startp = _startpos_m_;
8070 MenhirLib.EngineTypes.endp = _endpos_m_;
8071 MenhirLib.EngineTypes.next = {
8072 MenhirLib.EngineTypes.state = _menhir_s;
8073 MenhirLib.EngineTypes.semv = p00;
8074 MenhirLib.EngineTypes.startp = _startpos_p00_;
8075 MenhirLib.EngineTypes.endp = _endpos_p00_;
8076 MenhirLib.EngineTypes.next = _menhir_stack;
8077 };
8078 } = _menhir_stack in
8079 let m : 'tv_list_TMul_ = Obj.magic m in
8080 let p00 : (
8081 # 61 "parser_cocci_menhir.mly"
8082 (string * Data.clt)
8083 # 8084 "parser_cocci_menhir.ml"
8084 ) = Obj.magic p00 in
8085 let _startpos = _startpos_p00_ in
8086 let _endpos = _endpos_m_ in
8087 let _v : 'tv_ctype = let ty =
8088 let p0 = p00 in
8089 let ty =
8090 let p = p0 in
8091
8092 # 556 "parser_cocci_menhir.mly"
8093 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
8094 # 8095 "parser_cocci_menhir.ml"
8095
8096 in
8097
8098 # 565 "parser_cocci_menhir.mly"
8099 ( ty )
8100 # 8101 "parser_cocci_menhir.ml"
8101
8102 in
8103 let cv =
8104
8105 # 39 "standard.mly"
8106 ( None )
8107 # 8108 "parser_cocci_menhir.ml"
8108
8109 in
8110
8111 # 569 "parser_cocci_menhir.mly"
8112 ( P.pointerify (P.make_cv cv ty) m )
8113 # 8114 "parser_cocci_menhir.ml"
8114 in
8115 _menhir_env.MenhirLib.EngineTypes.stack <- {
8116 MenhirLib.EngineTypes.state = _menhir_s;
8117 MenhirLib.EngineTypes.semv = Obj.repr _v;
8118 MenhirLib.EngineTypes.startp = _startpos;
8119 MenhirLib.EngineTypes.endp = _endpos;
8120 MenhirLib.EngineTypes.next = _menhir_stack;
8121 });
8122 (fun _menhir_env ->
8123 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8124 let {
8125 MenhirLib.EngineTypes.semv = m;
8126 MenhirLib.EngineTypes.startp = _startpos_m_;
8127 MenhirLib.EngineTypes.endp = _endpos_m_;
8128 MenhirLib.EngineTypes.next = {
8129 MenhirLib.EngineTypes.semv = ty00;
8130 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8131 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8132 MenhirLib.EngineTypes.next = {
8133 MenhirLib.EngineTypes.semv = r0;
8134 MenhirLib.EngineTypes.startp = _startpos_r0_;
8135 MenhirLib.EngineTypes.endp = _endpos_r0_;
8136 MenhirLib.EngineTypes.next = {
8137 MenhirLib.EngineTypes.state = _menhir_s;
8138 MenhirLib.EngineTypes.semv = x0;
8139 MenhirLib.EngineTypes.startp = _startpos_x0_;
8140 MenhirLib.EngineTypes.endp = _endpos_x0_;
8141 MenhirLib.EngineTypes.next = _menhir_stack;
8142 };
8143 };
8144 };
8145 } = _menhir_stack in
8146 let m : 'tv_list_TMul_ = Obj.magic m in
8147 let ty00 : (
8148 # 51 "parser_cocci_menhir.mly"
8149 (Data.clt)
8150 # 8151 "parser_cocci_menhir.ml"
8151 ) = Obj.magic ty00 in
8152 let r0 : (
8153 # 53 "parser_cocci_menhir.mly"
8154 (Data.clt)
8155 # 8156 "parser_cocci_menhir.ml"
8156 ) = Obj.magic r0 in
8157 let x0 : 'tv_const_vol = Obj.magic x0 in
8158 let _startpos = _startpos_x0_ in
8159 let _endpos = _endpos_m_ in
8160 let _v : 'tv_ctype = let ty =
8161 let ty0 = ty00 in
8162 let r = r0 in
8163 let ty =
8164 let ty = ty0 in
8165
8166 # 509 "parser_cocci_menhir.mly"
8167 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
8168 # 8169 "parser_cocci_menhir.ml"
8169
8170 in
8171
8172 # 561 "parser_cocci_menhir.mly"
8173 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8174 # 8175 "parser_cocci_menhir.ml"
8175
8176 in
8177 let cv =
8178 let x = x0 in
8179
8180 # 41 "standard.mly"
8181 ( Some x )
8182 # 8183 "parser_cocci_menhir.ml"
8183
8184 in
8185
8186 # 569 "parser_cocci_menhir.mly"
8187 ( P.pointerify (P.make_cv cv ty) m )
8188 # 8189 "parser_cocci_menhir.ml"
8189 in
8190 _menhir_env.MenhirLib.EngineTypes.stack <- {
8191 MenhirLib.EngineTypes.state = _menhir_s;
8192 MenhirLib.EngineTypes.semv = Obj.repr _v;
8193 MenhirLib.EngineTypes.startp = _startpos;
8194 MenhirLib.EngineTypes.endp = _endpos;
8195 MenhirLib.EngineTypes.next = _menhir_stack;
8196 });
8197 (fun _menhir_env ->
8198 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8199 let {
8200 MenhirLib.EngineTypes.semv = m;
8201 MenhirLib.EngineTypes.startp = _startpos_m_;
8202 MenhirLib.EngineTypes.endp = _endpos_m_;
8203 MenhirLib.EngineTypes.next = {
8204 MenhirLib.EngineTypes.semv = ty00;
8205 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8206 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8207 MenhirLib.EngineTypes.next = {
8208 MenhirLib.EngineTypes.semv = r0;
8209 MenhirLib.EngineTypes.startp = _startpos_r0_;
8210 MenhirLib.EngineTypes.endp = _endpos_r0_;
8211 MenhirLib.EngineTypes.next = {
8212 MenhirLib.EngineTypes.state = _menhir_s;
8213 MenhirLib.EngineTypes.semv = x0;
8214 MenhirLib.EngineTypes.startp = _startpos_x0_;
8215 MenhirLib.EngineTypes.endp = _endpos_x0_;
8216 MenhirLib.EngineTypes.next = _menhir_stack;
8217 };
8218 };
8219 };
8220 } = _menhir_stack in
8221 let m : 'tv_list_TMul_ = Obj.magic m in
8222 let ty00 : (
8223 # 51 "parser_cocci_menhir.mly"
8224 (Data.clt)
8225 # 8226 "parser_cocci_menhir.ml"
8226 ) = Obj.magic ty00 in
8227 let r0 : (
8228 # 53 "parser_cocci_menhir.mly"
8229 (Data.clt)
8230 # 8231 "parser_cocci_menhir.ml"
8231 ) = Obj.magic r0 in
8232 let x0 : 'tv_const_vol = Obj.magic x0 in
8233 let _startpos = _startpos_x0_ in
8234 let _endpos = _endpos_m_ in
8235 let _v : 'tv_ctype = let ty =
8236 let ty0 = ty00 in
8237 let r = r0 in
8238 let ty =
8239 let ty = ty0 in
8240
8241 # 511 "parser_cocci_menhir.mly"
8242 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
8243 # 8244 "parser_cocci_menhir.ml"
8244
8245 in
8246
8247 # 561 "parser_cocci_menhir.mly"
8248 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8249 # 8250 "parser_cocci_menhir.ml"
8250
8251 in
8252 let cv =
8253 let x = x0 in
8254
8255 # 41 "standard.mly"
8256 ( Some x )
8257 # 8258 "parser_cocci_menhir.ml"
8258
8259 in
8260
8261 # 569 "parser_cocci_menhir.mly"
8262 ( P.pointerify (P.make_cv cv ty) m )
8263 # 8264 "parser_cocci_menhir.ml"
8264 in
8265 _menhir_env.MenhirLib.EngineTypes.stack <- {
8266 MenhirLib.EngineTypes.state = _menhir_s;
8267 MenhirLib.EngineTypes.semv = Obj.repr _v;
8268 MenhirLib.EngineTypes.startp = _startpos;
8269 MenhirLib.EngineTypes.endp = _endpos;
8270 MenhirLib.EngineTypes.next = _menhir_stack;
8271 });
8272 (fun _menhir_env ->
8273 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8274 let {
8275 MenhirLib.EngineTypes.semv = m;
8276 MenhirLib.EngineTypes.startp = _startpos_m_;
8277 MenhirLib.EngineTypes.endp = _endpos_m_;
8278 MenhirLib.EngineTypes.next = {
8279 MenhirLib.EngineTypes.semv = ty00;
8280 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8281 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8282 MenhirLib.EngineTypes.next = {
8283 MenhirLib.EngineTypes.semv = r0;
8284 MenhirLib.EngineTypes.startp = _startpos_r0_;
8285 MenhirLib.EngineTypes.endp = _endpos_r0_;
8286 MenhirLib.EngineTypes.next = {
8287 MenhirLib.EngineTypes.state = _menhir_s;
8288 MenhirLib.EngineTypes.semv = x0;
8289 MenhirLib.EngineTypes.startp = _startpos_x0_;
8290 MenhirLib.EngineTypes.endp = _endpos_x0_;
8291 MenhirLib.EngineTypes.next = _menhir_stack;
8292 };
8293 };
8294 };
8295 } = _menhir_stack in
8296 let m : 'tv_list_TMul_ = Obj.magic m in
8297 let ty00 : (
8298 # 51 "parser_cocci_menhir.mly"
8299 (Data.clt)
8300 # 8301 "parser_cocci_menhir.ml"
8301 ) = Obj.magic ty00 in
8302 let r0 : (
8303 # 53 "parser_cocci_menhir.mly"
8304 (Data.clt)
8305 # 8306 "parser_cocci_menhir.ml"
8306 ) = Obj.magic r0 in
8307 let x0 : 'tv_const_vol = Obj.magic x0 in
8308 let _startpos = _startpos_x0_ in
8309 let _endpos = _endpos_m_ in
8310 let _v : 'tv_ctype = let ty =
8311 let ty0 = ty00 in
8312 let r = r0 in
8313 let ty =
8314 let ty = ty0 in
8315
8316 # 513 "parser_cocci_menhir.mly"
8317 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
8318 # 8319 "parser_cocci_menhir.ml"
8319
8320 in
8321
8322 # 561 "parser_cocci_menhir.mly"
8323 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8324 # 8325 "parser_cocci_menhir.ml"
8325
8326 in
8327 let cv =
8328 let x = x0 in
8329
8330 # 41 "standard.mly"
8331 ( Some x )
8332 # 8333 "parser_cocci_menhir.ml"
8333
8334 in
8335
8336 # 569 "parser_cocci_menhir.mly"
8337 ( P.pointerify (P.make_cv cv ty) m )
8338 # 8339 "parser_cocci_menhir.ml"
8339 in
8340 _menhir_env.MenhirLib.EngineTypes.stack <- {
8341 MenhirLib.EngineTypes.state = _menhir_s;
8342 MenhirLib.EngineTypes.semv = Obj.repr _v;
8343 MenhirLib.EngineTypes.startp = _startpos;
8344 MenhirLib.EngineTypes.endp = _endpos;
8345 MenhirLib.EngineTypes.next = _menhir_stack;
8346 });
8347 (fun _menhir_env ->
8348 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8349 let {
8350 MenhirLib.EngineTypes.semv = m;
8351 MenhirLib.EngineTypes.startp = _startpos_m_;
8352 MenhirLib.EngineTypes.endp = _endpos_m_;
8353 MenhirLib.EngineTypes.next = {
8354 MenhirLib.EngineTypes.semv = p00;
8355 MenhirLib.EngineTypes.startp = _startpos_p00_;
8356 MenhirLib.EngineTypes.endp = _endpos_p00_;
8357 MenhirLib.EngineTypes.next = {
8358 MenhirLib.EngineTypes.semv = r0;
8359 MenhirLib.EngineTypes.startp = _startpos_r0_;
8360 MenhirLib.EngineTypes.endp = _endpos_r0_;
8361 MenhirLib.EngineTypes.next = {
8362 MenhirLib.EngineTypes.state = _menhir_s;
8363 MenhirLib.EngineTypes.semv = x0;
8364 MenhirLib.EngineTypes.startp = _startpos_x0_;
8365 MenhirLib.EngineTypes.endp = _endpos_x0_;
8366 MenhirLib.EngineTypes.next = _menhir_stack;
8367 };
8368 };
8369 };
8370 } = _menhir_stack in
8371 let m : 'tv_list_TMul_ = Obj.magic m in
8372 let p00 : (
8373 # 67 "parser_cocci_menhir.mly"
8374 (Parse_aux.info)
8375 # 8376 "parser_cocci_menhir.ml"
8376 ) = Obj.magic p00 in
8377 let r0 : (
8378 # 53 "parser_cocci_menhir.mly"
8379 (Data.clt)
8380 # 8381 "parser_cocci_menhir.ml"
8381 ) = Obj.magic r0 in
8382 let x0 : 'tv_const_vol = Obj.magic x0 in
8383 let _startpos = _startpos_x0_ in
8384 let _endpos = _endpos_m_ in
8385 let _v : 'tv_ctype = let ty =
8386 let p0 = p00 in
8387 let r = r0 in
8388 let ty =
8389 let p = p0 in
8390
8391 # 515 "parser_cocci_menhir.mly"
8392 ( let (nm,pure,clt) = p in
8393 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
8394 # 8395 "parser_cocci_menhir.ml"
8395
8396 in
8397
8398 # 561 "parser_cocci_menhir.mly"
8399 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8400 # 8401 "parser_cocci_menhir.ml"
8401
8402 in
8403 let cv =
8404 let x = x0 in
8405
8406 # 41 "standard.mly"
8407 ( Some x )
8408 # 8409 "parser_cocci_menhir.ml"
8409
8410 in
8411
8412 # 569 "parser_cocci_menhir.mly"
8413 ( P.pointerify (P.make_cv cv ty) m )
8414 # 8415 "parser_cocci_menhir.ml"
8415 in
8416 _menhir_env.MenhirLib.EngineTypes.stack <- {
8417 MenhirLib.EngineTypes.state = _menhir_s;
8418 MenhirLib.EngineTypes.semv = Obj.repr _v;
8419 MenhirLib.EngineTypes.startp = _startpos;
8420 MenhirLib.EngineTypes.endp = _endpos;
8421 MenhirLib.EngineTypes.next = _menhir_stack;
8422 });
8423 (fun _menhir_env ->
8424 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8425 let {
8426 MenhirLib.EngineTypes.semv = m;
8427 MenhirLib.EngineTypes.startp = _startpos_m_;
8428 MenhirLib.EngineTypes.endp = _endpos_m_;
8429 MenhirLib.EngineTypes.next = {
8430 MenhirLib.EngineTypes.semv = p00;
8431 MenhirLib.EngineTypes.startp = _startpos_p00_;
8432 MenhirLib.EngineTypes.endp = _endpos_p00_;
8433 MenhirLib.EngineTypes.next = {
8434 MenhirLib.EngineTypes.startp = _startpos__4_;
8435 MenhirLib.EngineTypes.endp = _endpos__4_;
8436 MenhirLib.EngineTypes.next = {
8437 MenhirLib.EngineTypes.semv = r00;
8438 MenhirLib.EngineTypes.startp = _startpos_r00_;
8439 MenhirLib.EngineTypes.endp = _endpos_r00_;
8440 MenhirLib.EngineTypes.next = {
8441 MenhirLib.EngineTypes.semv = r1;
8442 MenhirLib.EngineTypes.startp = _startpos_r1_;
8443 MenhirLib.EngineTypes.endp = _endpos_r1_;
8444 MenhirLib.EngineTypes.next = {
8445 MenhirLib.EngineTypes.state = _menhir_s;
8446 MenhirLib.EngineTypes.semv = x0;
8447 MenhirLib.EngineTypes.startp = _startpos_x0_;
8448 MenhirLib.EngineTypes.endp = _endpos_x0_;
8449 MenhirLib.EngineTypes.next = _menhir_stack;
8450 };
8451 };
8452 };
8453 };
8454 };
8455 } = _menhir_stack in
8456 let m : 'tv_list_TMul_ = Obj.magic m in
8457 let p00 : (
8458 # 61 "parser_cocci_menhir.mly"
8459 (string * Data.clt)
8460 # 8461 "parser_cocci_menhir.ml"
8461 ) = Obj.magic p00 in
8462 let r00 : (
8463 # 49 "parser_cocci_menhir.mly"
8464 (string)
8465 # 8466 "parser_cocci_menhir.ml"
8466 ) = Obj.magic r00 in
8467 let r1 : (
8468 # 53 "parser_cocci_menhir.mly"
8469 (Data.clt)
8470 # 8471 "parser_cocci_menhir.ml"
8471 ) = Obj.magic r1 in
8472 let x0 : 'tv_const_vol = Obj.magic x0 in
8473 let _startpos = _startpos_x0_ in
8474 let _endpos = _endpos_m_ in
8475 let _v : 'tv_ctype = let ty =
8476 let p0 = p00 in
8477 let r0 = r00 in
8478 let r = r1 in
8479 let ty =
8480 let p = p0 in
8481 let r = r0 in
8482
8483 # 518 "parser_cocci_menhir.mly"
8484 ( let nm = (r,P.id2name p) in
8485 (* this is only possible when we are in a metavar decl. Otherwise,
8486 it will be represented already as a MetaType *)
8487 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
8488 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
8489 Ast0.Impure (*will be ignored*))) )
8490 # 8491 "parser_cocci_menhir.ml"
8491
8492 in
8493
8494 # 561 "parser_cocci_menhir.mly"
8495 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8496 # 8497 "parser_cocci_menhir.ml"
8497
8498 in
8499 let cv =
8500 let x = x0 in
8501
8502 # 41 "standard.mly"
8503 ( Some x )
8504 # 8505 "parser_cocci_menhir.ml"
8505
8506 in
8507
8508 # 569 "parser_cocci_menhir.mly"
8509 ( P.pointerify (P.make_cv cv ty) m )
8510 # 8511 "parser_cocci_menhir.ml"
8511 in
8512 _menhir_env.MenhirLib.EngineTypes.stack <- {
8513 MenhirLib.EngineTypes.state = _menhir_s;
8514 MenhirLib.EngineTypes.semv = Obj.repr _v;
8515 MenhirLib.EngineTypes.startp = _startpos;
8516 MenhirLib.EngineTypes.endp = _endpos;
8517 MenhirLib.EngineTypes.next = _menhir_stack;
8518 });
8519 (fun _menhir_env ->
8520 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8521 let {
8522 MenhirLib.EngineTypes.semv = m;
8523 MenhirLib.EngineTypes.startp = _startpos_m_;
8524 MenhirLib.EngineTypes.endp = _endpos_m_;
8525 MenhirLib.EngineTypes.next = {
8526 MenhirLib.EngineTypes.semv = ty00;
8527 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8528 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8529 MenhirLib.EngineTypes.next = {
8530 MenhirLib.EngineTypes.semv = r0;
8531 MenhirLib.EngineTypes.startp = _startpos_r0_;
8532 MenhirLib.EngineTypes.endp = _endpos_r0_;
8533 MenhirLib.EngineTypes.next = {
8534 MenhirLib.EngineTypes.state = _menhir_s;
8535 MenhirLib.EngineTypes.semv = x0;
8536 MenhirLib.EngineTypes.startp = _startpos_x0_;
8537 MenhirLib.EngineTypes.endp = _endpos_x0_;
8538 MenhirLib.EngineTypes.next = _menhir_stack;
8539 };
8540 };
8541 };
8542 } = _menhir_stack in
8543 let m : 'tv_list_TMul_ = Obj.magic m in
8544 let ty00 : (
8545 # 51 "parser_cocci_menhir.mly"
8546 (Data.clt)
8547 # 8548 "parser_cocci_menhir.ml"
8548 ) = Obj.magic ty00 in
8549 let r0 : (
8550 # 53 "parser_cocci_menhir.mly"
8551 (Data.clt)
8552 # 8553 "parser_cocci_menhir.ml"
8553 ) = Obj.magic r0 in
8554 let x0 : 'tv_const_vol = Obj.magic x0 in
8555 let _startpos = _startpos_x0_ in
8556 let _endpos = _endpos_m_ in
8557 let _v : 'tv_ctype = let ty =
8558 let ty0 = ty00 in
8559 let r = r0 in
8560 let ty =
8561 let ty = ty0 in
8562
8563 # 525 "parser_cocci_menhir.mly"
8564 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
8565 # 8566 "parser_cocci_menhir.ml"
8566
8567 in
8568
8569 # 561 "parser_cocci_menhir.mly"
8570 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8571 # 8572 "parser_cocci_menhir.ml"
8572
8573 in
8574 let cv =
8575 let x = x0 in
8576
8577 # 41 "standard.mly"
8578 ( Some x )
8579 # 8580 "parser_cocci_menhir.ml"
8580
8581 in
8582
8583 # 569 "parser_cocci_menhir.mly"
8584 ( P.pointerify (P.make_cv cv ty) m )
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 = m;
8598 MenhirLib.EngineTypes.startp = _startpos_m_;
8599 MenhirLib.EngineTypes.endp = _endpos_m_;
8600 MenhirLib.EngineTypes.next = {
8601 MenhirLib.EngineTypes.semv = ty200;
8602 MenhirLib.EngineTypes.startp = _startpos_ty200_;
8603 MenhirLib.EngineTypes.endp = _endpos_ty200_;
8604 MenhirLib.EngineTypes.next = {
8605 MenhirLib.EngineTypes.semv = ty100;
8606 MenhirLib.EngineTypes.startp = _startpos_ty100_;
8607 MenhirLib.EngineTypes.endp = _endpos_ty100_;
8608 MenhirLib.EngineTypes.next = {
8609 MenhirLib.EngineTypes.semv = r0;
8610 MenhirLib.EngineTypes.startp = _startpos_r0_;
8611 MenhirLib.EngineTypes.endp = _endpos_r0_;
8612 MenhirLib.EngineTypes.next = {
8613 MenhirLib.EngineTypes.state = _menhir_s;
8614 MenhirLib.EngineTypes.semv = x0;
8615 MenhirLib.EngineTypes.startp = _startpos_x0_;
8616 MenhirLib.EngineTypes.endp = _endpos_x0_;
8617 MenhirLib.EngineTypes.next = _menhir_stack;
8618 };
8619 };
8620 };
8621 };
8622 } = _menhir_stack in
8623 let m : 'tv_list_TMul_ = Obj.magic m in
8624 let ty200 : (
8625 # 51 "parser_cocci_menhir.mly"
8626 (Data.clt)
8627 # 8628 "parser_cocci_menhir.ml"
8628 ) = Obj.magic ty200 in
8629 let ty100 : (
8630 # 51 "parser_cocci_menhir.mly"
8631 (Data.clt)
8632 # 8633 "parser_cocci_menhir.ml"
8633 ) = Obj.magic ty100 in
8634 let r0 : (
8635 # 53 "parser_cocci_menhir.mly"
8636 (Data.clt)
8637 # 8638 "parser_cocci_menhir.ml"
8638 ) = Obj.magic r0 in
8639 let x0 : 'tv_const_vol = Obj.magic x0 in
8640 let _startpos = _startpos_x0_ in
8641 let _endpos = _endpos_m_ in
8642 let _v : 'tv_ctype = let ty =
8643 let ty20 = ty200 in
8644 let ty10 = ty100 in
8645 let r = r0 in
8646 let ty =
8647 let ty2 = ty20 in
8648 let ty1 = ty10 in
8649
8650 # 527 "parser_cocci_menhir.mly"
8651 ( Ast0.wrap
8652 (Ast0.BaseType
8653 (Ast.LongLongType,
8654 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
8655 # 8656 "parser_cocci_menhir.ml"
8656
8657 in
8658
8659 # 561 "parser_cocci_menhir.mly"
8660 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
8661 # 8662 "parser_cocci_menhir.ml"
8662
8663 in
8664 let cv =
8665 let x = x0 in
8666
8667 # 41 "standard.mly"
8668 ( Some x )
8669 # 8670 "parser_cocci_menhir.ml"
8670
8671 in
8672
8673 # 569 "parser_cocci_menhir.mly"
8674 ( P.pointerify (P.make_cv cv ty) m )
8675 # 8676 "parser_cocci_menhir.ml"
8676 in
8677 _menhir_env.MenhirLib.EngineTypes.stack <- {
8678 MenhirLib.EngineTypes.state = _menhir_s;
8679 MenhirLib.EngineTypes.semv = Obj.repr _v;
8680 MenhirLib.EngineTypes.startp = _startpos;
8681 MenhirLib.EngineTypes.endp = _endpos;
8682 MenhirLib.EngineTypes.next = _menhir_stack;
8683 });
8684 (fun _menhir_env ->
8685 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8686 let {
8687 MenhirLib.EngineTypes.semv = m;
8688 MenhirLib.EngineTypes.startp = _startpos_m_;
8689 MenhirLib.EngineTypes.endp = _endpos_m_;
8690 MenhirLib.EngineTypes.next = {
8691 MenhirLib.EngineTypes.semv = ty00;
8692 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8693 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8694 MenhirLib.EngineTypes.next = {
8695 MenhirLib.EngineTypes.semv = r0;
8696 MenhirLib.EngineTypes.startp = _startpos_r0_;
8697 MenhirLib.EngineTypes.endp = _endpos_r0_;
8698 MenhirLib.EngineTypes.next = {
8699 MenhirLib.EngineTypes.state = _menhir_s;
8700 MenhirLib.EngineTypes.semv = x0;
8701 MenhirLib.EngineTypes.startp = _startpos_x0_;
8702 MenhirLib.EngineTypes.endp = _endpos_x0_;
8703 MenhirLib.EngineTypes.next = _menhir_stack;
8704 };
8705 };
8706 };
8707 } = _menhir_stack in
8708 let m : 'tv_list_TMul_ = Obj.magic m in
8709 let ty00 : (
8710 # 51 "parser_cocci_menhir.mly"
8711 (Data.clt)
8712 # 8713 "parser_cocci_menhir.ml"
8713 ) = Obj.magic ty00 in
8714 let r0 : (
8715 # 53 "parser_cocci_menhir.mly"
8716 (Data.clt)
8717 # 8718 "parser_cocci_menhir.ml"
8718 ) = Obj.magic r0 in
8719 let x0 : 'tv_const_vol = Obj.magic x0 in
8720 let _startpos = _startpos_x0_ in
8721 let _endpos = _endpos_m_ in
8722 let _v : 'tv_ctype = let ty =
8723 let ty0 = ty00 in
8724 let r = r0 in
8725 let ty =
8726 let ty = ty0 in
8727
8728 # 509 "parser_cocci_menhir.mly"
8729 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
8730 # 8731 "parser_cocci_menhir.ml"
8731
8732 in
8733
8734 # 563 "parser_cocci_menhir.mly"
8735 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8736 # 8737 "parser_cocci_menhir.ml"
8737
8738 in
8739 let cv =
8740 let x = x0 in
8741
8742 # 41 "standard.mly"
8743 ( Some x )
8744 # 8745 "parser_cocci_menhir.ml"
8745
8746 in
8747
8748 # 569 "parser_cocci_menhir.mly"
8749 ( P.pointerify (P.make_cv cv ty) m )
8750 # 8751 "parser_cocci_menhir.ml"
8751 in
8752 _menhir_env.MenhirLib.EngineTypes.stack <- {
8753 MenhirLib.EngineTypes.state = _menhir_s;
8754 MenhirLib.EngineTypes.semv = Obj.repr _v;
8755 MenhirLib.EngineTypes.startp = _startpos;
8756 MenhirLib.EngineTypes.endp = _endpos;
8757 MenhirLib.EngineTypes.next = _menhir_stack;
8758 });
8759 (fun _menhir_env ->
8760 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8761 let {
8762 MenhirLib.EngineTypes.semv = m;
8763 MenhirLib.EngineTypes.startp = _startpos_m_;
8764 MenhirLib.EngineTypes.endp = _endpos_m_;
8765 MenhirLib.EngineTypes.next = {
8766 MenhirLib.EngineTypes.semv = ty00;
8767 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8768 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8769 MenhirLib.EngineTypes.next = {
8770 MenhirLib.EngineTypes.semv = r0;
8771 MenhirLib.EngineTypes.startp = _startpos_r0_;
8772 MenhirLib.EngineTypes.endp = _endpos_r0_;
8773 MenhirLib.EngineTypes.next = {
8774 MenhirLib.EngineTypes.state = _menhir_s;
8775 MenhirLib.EngineTypes.semv = x0;
8776 MenhirLib.EngineTypes.startp = _startpos_x0_;
8777 MenhirLib.EngineTypes.endp = _endpos_x0_;
8778 MenhirLib.EngineTypes.next = _menhir_stack;
8779 };
8780 };
8781 };
8782 } = _menhir_stack in
8783 let m : 'tv_list_TMul_ = Obj.magic m in
8784 let ty00 : (
8785 # 51 "parser_cocci_menhir.mly"
8786 (Data.clt)
8787 # 8788 "parser_cocci_menhir.ml"
8788 ) = Obj.magic ty00 in
8789 let r0 : (
8790 # 53 "parser_cocci_menhir.mly"
8791 (Data.clt)
8792 # 8793 "parser_cocci_menhir.ml"
8793 ) = Obj.magic r0 in
8794 let x0 : 'tv_const_vol = Obj.magic x0 in
8795 let _startpos = _startpos_x0_ in
8796 let _endpos = _endpos_m_ in
8797 let _v : 'tv_ctype = let ty =
8798 let ty0 = ty00 in
8799 let r = r0 in
8800 let ty =
8801 let ty = ty0 in
8802
8803 # 511 "parser_cocci_menhir.mly"
8804 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
8805 # 8806 "parser_cocci_menhir.ml"
8806
8807 in
8808
8809 # 563 "parser_cocci_menhir.mly"
8810 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8811 # 8812 "parser_cocci_menhir.ml"
8812
8813 in
8814 let cv =
8815 let x = x0 in
8816
8817 # 41 "standard.mly"
8818 ( Some x )
8819 # 8820 "parser_cocci_menhir.ml"
8820
8821 in
8822
8823 # 569 "parser_cocci_menhir.mly"
8824 ( P.pointerify (P.make_cv cv ty) m )
8825 # 8826 "parser_cocci_menhir.ml"
8826 in
8827 _menhir_env.MenhirLib.EngineTypes.stack <- {
8828 MenhirLib.EngineTypes.state = _menhir_s;
8829 MenhirLib.EngineTypes.semv = Obj.repr _v;
8830 MenhirLib.EngineTypes.startp = _startpos;
8831 MenhirLib.EngineTypes.endp = _endpos;
8832 MenhirLib.EngineTypes.next = _menhir_stack;
8833 });
8834 (fun _menhir_env ->
8835 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8836 let {
8837 MenhirLib.EngineTypes.semv = m;
8838 MenhirLib.EngineTypes.startp = _startpos_m_;
8839 MenhirLib.EngineTypes.endp = _endpos_m_;
8840 MenhirLib.EngineTypes.next = {
8841 MenhirLib.EngineTypes.semv = ty00;
8842 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8843 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8844 MenhirLib.EngineTypes.next = {
8845 MenhirLib.EngineTypes.semv = r0;
8846 MenhirLib.EngineTypes.startp = _startpos_r0_;
8847 MenhirLib.EngineTypes.endp = _endpos_r0_;
8848 MenhirLib.EngineTypes.next = {
8849 MenhirLib.EngineTypes.state = _menhir_s;
8850 MenhirLib.EngineTypes.semv = x0;
8851 MenhirLib.EngineTypes.startp = _startpos_x0_;
8852 MenhirLib.EngineTypes.endp = _endpos_x0_;
8853 MenhirLib.EngineTypes.next = _menhir_stack;
8854 };
8855 };
8856 };
8857 } = _menhir_stack in
8858 let m : 'tv_list_TMul_ = Obj.magic m in
8859 let ty00 : (
8860 # 51 "parser_cocci_menhir.mly"
8861 (Data.clt)
8862 # 8863 "parser_cocci_menhir.ml"
8863 ) = Obj.magic ty00 in
8864 let r0 : (
8865 # 53 "parser_cocci_menhir.mly"
8866 (Data.clt)
8867 # 8868 "parser_cocci_menhir.ml"
8868 ) = Obj.magic r0 in
8869 let x0 : 'tv_const_vol = Obj.magic x0 in
8870 let _startpos = _startpos_x0_ in
8871 let _endpos = _endpos_m_ in
8872 let _v : 'tv_ctype = let ty =
8873 let ty0 = ty00 in
8874 let r = r0 in
8875 let ty =
8876 let ty = ty0 in
8877
8878 # 513 "parser_cocci_menhir.mly"
8879 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
8880 # 8881 "parser_cocci_menhir.ml"
8881
8882 in
8883
8884 # 563 "parser_cocci_menhir.mly"
8885 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8886 # 8887 "parser_cocci_menhir.ml"
8887
8888 in
8889 let cv =
8890 let x = x0 in
8891
8892 # 41 "standard.mly"
8893 ( Some x )
8894 # 8895 "parser_cocci_menhir.ml"
8895
8896 in
8897
8898 # 569 "parser_cocci_menhir.mly"
8899 ( P.pointerify (P.make_cv cv ty) m )
8900 # 8901 "parser_cocci_menhir.ml"
8901 in
8902 _menhir_env.MenhirLib.EngineTypes.stack <- {
8903 MenhirLib.EngineTypes.state = _menhir_s;
8904 MenhirLib.EngineTypes.semv = Obj.repr _v;
8905 MenhirLib.EngineTypes.startp = _startpos;
8906 MenhirLib.EngineTypes.endp = _endpos;
8907 MenhirLib.EngineTypes.next = _menhir_stack;
8908 });
8909 (fun _menhir_env ->
8910 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8911 let {
8912 MenhirLib.EngineTypes.semv = m;
8913 MenhirLib.EngineTypes.startp = _startpos_m_;
8914 MenhirLib.EngineTypes.endp = _endpos_m_;
8915 MenhirLib.EngineTypes.next = {
8916 MenhirLib.EngineTypes.semv = p00;
8917 MenhirLib.EngineTypes.startp = _startpos_p00_;
8918 MenhirLib.EngineTypes.endp = _endpos_p00_;
8919 MenhirLib.EngineTypes.next = {
8920 MenhirLib.EngineTypes.semv = r0;
8921 MenhirLib.EngineTypes.startp = _startpos_r0_;
8922 MenhirLib.EngineTypes.endp = _endpos_r0_;
8923 MenhirLib.EngineTypes.next = {
8924 MenhirLib.EngineTypes.state = _menhir_s;
8925 MenhirLib.EngineTypes.semv = x0;
8926 MenhirLib.EngineTypes.startp = _startpos_x0_;
8927 MenhirLib.EngineTypes.endp = _endpos_x0_;
8928 MenhirLib.EngineTypes.next = _menhir_stack;
8929 };
8930 };
8931 };
8932 } = _menhir_stack in
8933 let m : 'tv_list_TMul_ = Obj.magic m in
8934 let p00 : (
8935 # 67 "parser_cocci_menhir.mly"
8936 (Parse_aux.info)
8937 # 8938 "parser_cocci_menhir.ml"
8938 ) = Obj.magic p00 in
8939 let r0 : (
8940 # 53 "parser_cocci_menhir.mly"
8941 (Data.clt)
8942 # 8943 "parser_cocci_menhir.ml"
8943 ) = Obj.magic r0 in
8944 let x0 : 'tv_const_vol = Obj.magic x0 in
8945 let _startpos = _startpos_x0_ in
8946 let _endpos = _endpos_m_ in
8947 let _v : 'tv_ctype = let ty =
8948 let p0 = p00 in
8949 let r = r0 in
8950 let ty =
8951 let p = p0 in
8952
8953 # 515 "parser_cocci_menhir.mly"
8954 ( let (nm,pure,clt) = p in
8955 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
8956 # 8957 "parser_cocci_menhir.ml"
8957
8958 in
8959
8960 # 563 "parser_cocci_menhir.mly"
8961 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8962 # 8963 "parser_cocci_menhir.ml"
8963
8964 in
8965 let cv =
8966 let x = x0 in
8967
8968 # 41 "standard.mly"
8969 ( Some x )
8970 # 8971 "parser_cocci_menhir.ml"
8971
8972 in
8973
8974 # 569 "parser_cocci_menhir.mly"
8975 ( P.pointerify (P.make_cv cv ty) m )
8976 # 8977 "parser_cocci_menhir.ml"
8977 in
8978 _menhir_env.MenhirLib.EngineTypes.stack <- {
8979 MenhirLib.EngineTypes.state = _menhir_s;
8980 MenhirLib.EngineTypes.semv = Obj.repr _v;
8981 MenhirLib.EngineTypes.startp = _startpos;
8982 MenhirLib.EngineTypes.endp = _endpos;
8983 MenhirLib.EngineTypes.next = _menhir_stack;
8984 });
8985 (fun _menhir_env ->
8986 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8987 let {
8988 MenhirLib.EngineTypes.semv = m;
8989 MenhirLib.EngineTypes.startp = _startpos_m_;
8990 MenhirLib.EngineTypes.endp = _endpos_m_;
8991 MenhirLib.EngineTypes.next = {
8992 MenhirLib.EngineTypes.semv = p00;
8993 MenhirLib.EngineTypes.startp = _startpos_p00_;
8994 MenhirLib.EngineTypes.endp = _endpos_p00_;
8995 MenhirLib.EngineTypes.next = {
8996 MenhirLib.EngineTypes.startp = _startpos__4_;
8997 MenhirLib.EngineTypes.endp = _endpos__4_;
8998 MenhirLib.EngineTypes.next = {
8999 MenhirLib.EngineTypes.semv = r00;
9000 MenhirLib.EngineTypes.startp = _startpos_r00_;
9001 MenhirLib.EngineTypes.endp = _endpos_r00_;
9002 MenhirLib.EngineTypes.next = {
9003 MenhirLib.EngineTypes.semv = r1;
9004 MenhirLib.EngineTypes.startp = _startpos_r1_;
9005 MenhirLib.EngineTypes.endp = _endpos_r1_;
9006 MenhirLib.EngineTypes.next = {
9007 MenhirLib.EngineTypes.state = _menhir_s;
9008 MenhirLib.EngineTypes.semv = x0;
9009 MenhirLib.EngineTypes.startp = _startpos_x0_;
9010 MenhirLib.EngineTypes.endp = _endpos_x0_;
9011 MenhirLib.EngineTypes.next = _menhir_stack;
9012 };
9013 };
9014 };
9015 };
9016 };
9017 } = _menhir_stack in
9018 let m : 'tv_list_TMul_ = Obj.magic m in
9019 let p00 : (
9020 # 61 "parser_cocci_menhir.mly"
9021 (string * Data.clt)
9022 # 9023 "parser_cocci_menhir.ml"
9023 ) = Obj.magic p00 in
9024 let r00 : (
9025 # 49 "parser_cocci_menhir.mly"
9026 (string)
9027 # 9028 "parser_cocci_menhir.ml"
9028 ) = Obj.magic r00 in
9029 let r1 : (
9030 # 53 "parser_cocci_menhir.mly"
9031 (Data.clt)
9032 # 9033 "parser_cocci_menhir.ml"
9033 ) = Obj.magic r1 in
9034 let x0 : 'tv_const_vol = Obj.magic x0 in
9035 let _startpos = _startpos_x0_ in
9036 let _endpos = _endpos_m_ in
9037 let _v : 'tv_ctype = let ty =
9038 let p0 = p00 in
9039 let r0 = r00 in
9040 let r = r1 in
9041 let ty =
9042 let p = p0 in
9043 let r = r0 in
9044
9045 # 518 "parser_cocci_menhir.mly"
9046 ( let nm = (r,P.id2name p) in
9047 (* this is only possible when we are in a metavar decl. Otherwise,
9048 it will be represented already as a MetaType *)
9049 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
9050 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
9051 Ast0.Impure (*will be ignored*))) )
9052 # 9053 "parser_cocci_menhir.ml"
9053
9054 in
9055
9056 # 563 "parser_cocci_menhir.mly"
9057 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
9058 # 9059 "parser_cocci_menhir.ml"
9059
9060 in
9061 let cv =
9062 let x = x0 in
9063
9064 # 41 "standard.mly"
9065 ( Some x )
9066 # 9067 "parser_cocci_menhir.ml"
9067
9068 in
9069
9070 # 569 "parser_cocci_menhir.mly"
9071 ( P.pointerify (P.make_cv cv ty) m )
9072 # 9073 "parser_cocci_menhir.ml"
9073 in
9074 _menhir_env.MenhirLib.EngineTypes.stack <- {
9075 MenhirLib.EngineTypes.state = _menhir_s;
9076 MenhirLib.EngineTypes.semv = Obj.repr _v;
9077 MenhirLib.EngineTypes.startp = _startpos;
9078 MenhirLib.EngineTypes.endp = _endpos;
9079 MenhirLib.EngineTypes.next = _menhir_stack;
9080 });
9081 (fun _menhir_env ->
9082 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9083 let {
9084 MenhirLib.EngineTypes.semv = m;
9085 MenhirLib.EngineTypes.startp = _startpos_m_;
9086 MenhirLib.EngineTypes.endp = _endpos_m_;
9087 MenhirLib.EngineTypes.next = {
9088 MenhirLib.EngineTypes.semv = ty00;
9089 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9090 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9091 MenhirLib.EngineTypes.next = {
9092 MenhirLib.EngineTypes.semv = r0;
9093 MenhirLib.EngineTypes.startp = _startpos_r0_;
9094 MenhirLib.EngineTypes.endp = _endpos_r0_;
9095 MenhirLib.EngineTypes.next = {
9096 MenhirLib.EngineTypes.state = _menhir_s;
9097 MenhirLib.EngineTypes.semv = x0;
9098 MenhirLib.EngineTypes.startp = _startpos_x0_;
9099 MenhirLib.EngineTypes.endp = _endpos_x0_;
9100 MenhirLib.EngineTypes.next = _menhir_stack;
9101 };
9102 };
9103 };
9104 } = _menhir_stack in
9105 let m : 'tv_list_TMul_ = Obj.magic m in
9106 let ty00 : (
9107 # 51 "parser_cocci_menhir.mly"
9108 (Data.clt)
9109 # 9110 "parser_cocci_menhir.ml"
9110 ) = Obj.magic ty00 in
9111 let r0 : (
9112 # 53 "parser_cocci_menhir.mly"
9113 (Data.clt)
9114 # 9115 "parser_cocci_menhir.ml"
9115 ) = Obj.magic r0 in
9116 let x0 : 'tv_const_vol = Obj.magic x0 in
9117 let _startpos = _startpos_x0_ in
9118 let _endpos = _endpos_m_ in
9119 let _v : 'tv_ctype = let ty =
9120 let ty0 = ty00 in
9121 let r = r0 in
9122 let ty =
9123 let ty = ty0 in
9124
9125 # 525 "parser_cocci_menhir.mly"
9126 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
9127 # 9128 "parser_cocci_menhir.ml"
9128
9129 in
9130
9131 # 563 "parser_cocci_menhir.mly"
9132 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
9133 # 9134 "parser_cocci_menhir.ml"
9134
9135 in
9136 let cv =
9137 let x = x0 in
9138
9139 # 41 "standard.mly"
9140 ( Some x )
9141 # 9142 "parser_cocci_menhir.ml"
9142
9143 in
9144
9145 # 569 "parser_cocci_menhir.mly"
9146 ( P.pointerify (P.make_cv cv ty) m )
9147 # 9148 "parser_cocci_menhir.ml"
9148 in
9149 _menhir_env.MenhirLib.EngineTypes.stack <- {
9150 MenhirLib.EngineTypes.state = _menhir_s;
9151 MenhirLib.EngineTypes.semv = Obj.repr _v;
9152 MenhirLib.EngineTypes.startp = _startpos;
9153 MenhirLib.EngineTypes.endp = _endpos;
9154 MenhirLib.EngineTypes.next = _menhir_stack;
9155 });
9156 (fun _menhir_env ->
9157 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9158 let {
9159 MenhirLib.EngineTypes.semv = m;
9160 MenhirLib.EngineTypes.startp = _startpos_m_;
9161 MenhirLib.EngineTypes.endp = _endpos_m_;
9162 MenhirLib.EngineTypes.next = {
9163 MenhirLib.EngineTypes.semv = ty200;
9164 MenhirLib.EngineTypes.startp = _startpos_ty200_;
9165 MenhirLib.EngineTypes.endp = _endpos_ty200_;
9166 MenhirLib.EngineTypes.next = {
9167 MenhirLib.EngineTypes.semv = ty100;
9168 MenhirLib.EngineTypes.startp = _startpos_ty100_;
9169 MenhirLib.EngineTypes.endp = _endpos_ty100_;
9170 MenhirLib.EngineTypes.next = {
9171 MenhirLib.EngineTypes.semv = r0;
9172 MenhirLib.EngineTypes.startp = _startpos_r0_;
9173 MenhirLib.EngineTypes.endp = _endpos_r0_;
9174 MenhirLib.EngineTypes.next = {
9175 MenhirLib.EngineTypes.state = _menhir_s;
9176 MenhirLib.EngineTypes.semv = x0;
9177 MenhirLib.EngineTypes.startp = _startpos_x0_;
9178 MenhirLib.EngineTypes.endp = _endpos_x0_;
9179 MenhirLib.EngineTypes.next = _menhir_stack;
9180 };
9181 };
9182 };
9183 };
9184 } = _menhir_stack in
9185 let m : 'tv_list_TMul_ = Obj.magic m in
9186 let ty200 : (
9187 # 51 "parser_cocci_menhir.mly"
9188 (Data.clt)
9189 # 9190 "parser_cocci_menhir.ml"
9190 ) = Obj.magic ty200 in
9191 let ty100 : (
9192 # 51 "parser_cocci_menhir.mly"
9193 (Data.clt)
9194 # 9195 "parser_cocci_menhir.ml"
9195 ) = Obj.magic ty100 in
9196 let r0 : (
9197 # 53 "parser_cocci_menhir.mly"
9198 (Data.clt)
9199 # 9200 "parser_cocci_menhir.ml"
9200 ) = Obj.magic r0 in
9201 let x0 : 'tv_const_vol = Obj.magic x0 in
9202 let _startpos = _startpos_x0_ in
9203 let _endpos = _endpos_m_ in
9204 let _v : 'tv_ctype = let ty =
9205 let ty20 = ty200 in
9206 let ty10 = ty100 in
9207 let r = r0 in
9208 let ty =
9209 let ty2 = ty20 in
9210 let ty1 = ty10 in
9211
9212 # 527 "parser_cocci_menhir.mly"
9213 ( Ast0.wrap
9214 (Ast0.BaseType
9215 (Ast.LongLongType,
9216 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
9217 # 9218 "parser_cocci_menhir.ml"
9218
9219 in
9220
9221 # 563 "parser_cocci_menhir.mly"
9222 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
9223 # 9224 "parser_cocci_menhir.ml"
9224
9225 in
9226 let cv =
9227 let x = x0 in
9228
9229 # 41 "standard.mly"
9230 ( Some x )
9231 # 9232 "parser_cocci_menhir.ml"
9232
9233 in
9234
9235 # 569 "parser_cocci_menhir.mly"
9236 ( P.pointerify (P.make_cv cv ty) m )
9237 # 9238 "parser_cocci_menhir.ml"
9238 in
9239 _menhir_env.MenhirLib.EngineTypes.stack <- {
9240 MenhirLib.EngineTypes.state = _menhir_s;
9241 MenhirLib.EngineTypes.semv = Obj.repr _v;
9242 MenhirLib.EngineTypes.startp = _startpos;
9243 MenhirLib.EngineTypes.endp = _endpos;
9244 MenhirLib.EngineTypes.next = _menhir_stack;
9245 });
9246 (fun _menhir_env ->
9247 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9248 let {
9249 MenhirLib.EngineTypes.semv = m;
9250 MenhirLib.EngineTypes.startp = _startpos_m_;
9251 MenhirLib.EngineTypes.endp = _endpos_m_;
9252 MenhirLib.EngineTypes.next = {
9253 MenhirLib.EngineTypes.semv = ty00;
9254 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9255 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9256 MenhirLib.EngineTypes.next = {
9257 MenhirLib.EngineTypes.state = _menhir_s;
9258 MenhirLib.EngineTypes.semv = x0;
9259 MenhirLib.EngineTypes.startp = _startpos_x0_;
9260 MenhirLib.EngineTypes.endp = _endpos_x0_;
9261 MenhirLib.EngineTypes.next = _menhir_stack;
9262 };
9263 };
9264 } = _menhir_stack in
9265 let m : 'tv_list_TMul_ = Obj.magic m in
9266 let ty00 : (
9267 # 51 "parser_cocci_menhir.mly"
9268 (Data.clt)
9269 # 9270 "parser_cocci_menhir.ml"
9270 ) = Obj.magic ty00 in
9271 let x0 : 'tv_const_vol = Obj.magic x0 in
9272 let _startpos = _startpos_x0_ in
9273 let _endpos = _endpos_m_ in
9274 let _v : 'tv_ctype = let ty =
9275 let ty0 = ty00 in
9276 let ty =
9277 let ty = ty0 in
9278
9279 # 509 "parser_cocci_menhir.mly"
9280 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
9281 # 9282 "parser_cocci_menhir.ml"
9282
9283 in
9284
9285 # 564 "parser_cocci_menhir.mly"
9286 ( ty )
9287 # 9288 "parser_cocci_menhir.ml"
9288
9289 in
9290 let cv =
9291 let x = x0 in
9292
9293 # 41 "standard.mly"
9294 ( Some x )
9295 # 9296 "parser_cocci_menhir.ml"
9296
9297 in
9298
9299 # 569 "parser_cocci_menhir.mly"
9300 ( P.pointerify (P.make_cv cv ty) m )
9301 # 9302 "parser_cocci_menhir.ml"
9302 in
9303 _menhir_env.MenhirLib.EngineTypes.stack <- {
9304 MenhirLib.EngineTypes.state = _menhir_s;
9305 MenhirLib.EngineTypes.semv = Obj.repr _v;
9306 MenhirLib.EngineTypes.startp = _startpos;
9307 MenhirLib.EngineTypes.endp = _endpos;
9308 MenhirLib.EngineTypes.next = _menhir_stack;
9309 });
9310 (fun _menhir_env ->
9311 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9312 let {
9313 MenhirLib.EngineTypes.semv = m;
9314 MenhirLib.EngineTypes.startp = _startpos_m_;
9315 MenhirLib.EngineTypes.endp = _endpos_m_;
9316 MenhirLib.EngineTypes.next = {
9317 MenhirLib.EngineTypes.semv = ty00;
9318 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9319 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9320 MenhirLib.EngineTypes.next = {
9321 MenhirLib.EngineTypes.state = _menhir_s;
9322 MenhirLib.EngineTypes.semv = x0;
9323 MenhirLib.EngineTypes.startp = _startpos_x0_;
9324 MenhirLib.EngineTypes.endp = _endpos_x0_;
9325 MenhirLib.EngineTypes.next = _menhir_stack;
9326 };
9327 };
9328 } = _menhir_stack in
9329 let m : 'tv_list_TMul_ = Obj.magic m in
9330 let ty00 : (
9331 # 51 "parser_cocci_menhir.mly"
9332 (Data.clt)
9333 # 9334 "parser_cocci_menhir.ml"
9334 ) = Obj.magic ty00 in
9335 let x0 : 'tv_const_vol = Obj.magic x0 in
9336 let _startpos = _startpos_x0_ in
9337 let _endpos = _endpos_m_ in
9338 let _v : 'tv_ctype = let ty =
9339 let ty0 = ty00 in
9340 let ty =
9341 let ty = ty0 in
9342
9343 # 511 "parser_cocci_menhir.mly"
9344 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
9345 # 9346 "parser_cocci_menhir.ml"
9346
9347 in
9348
9349 # 564 "parser_cocci_menhir.mly"
9350 ( ty )
9351 # 9352 "parser_cocci_menhir.ml"
9352
9353 in
9354 let cv =
9355 let x = x0 in
9356
9357 # 41 "standard.mly"
9358 ( Some x )
9359 # 9360 "parser_cocci_menhir.ml"
9360
9361 in
9362
9363 # 569 "parser_cocci_menhir.mly"
9364 ( P.pointerify (P.make_cv cv ty) m )
9365 # 9366 "parser_cocci_menhir.ml"
9366 in
9367 _menhir_env.MenhirLib.EngineTypes.stack <- {
9368 MenhirLib.EngineTypes.state = _menhir_s;
9369 MenhirLib.EngineTypes.semv = Obj.repr _v;
9370 MenhirLib.EngineTypes.startp = _startpos;
9371 MenhirLib.EngineTypes.endp = _endpos;
9372 MenhirLib.EngineTypes.next = _menhir_stack;
9373 });
9374 (fun _menhir_env ->
9375 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9376 let {
9377 MenhirLib.EngineTypes.semv = m;
9378 MenhirLib.EngineTypes.startp = _startpos_m_;
9379 MenhirLib.EngineTypes.endp = _endpos_m_;
9380 MenhirLib.EngineTypes.next = {
9381 MenhirLib.EngineTypes.semv = ty00;
9382 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9383 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9384 MenhirLib.EngineTypes.next = {
9385 MenhirLib.EngineTypes.state = _menhir_s;
9386 MenhirLib.EngineTypes.semv = x0;
9387 MenhirLib.EngineTypes.startp = _startpos_x0_;
9388 MenhirLib.EngineTypes.endp = _endpos_x0_;
9389 MenhirLib.EngineTypes.next = _menhir_stack;
9390 };
9391 };
9392 } = _menhir_stack in
9393 let m : 'tv_list_TMul_ = Obj.magic m in
9394 let ty00 : (
9395 # 51 "parser_cocci_menhir.mly"
9396 (Data.clt)
9397 # 9398 "parser_cocci_menhir.ml"
9398 ) = Obj.magic ty00 in
9399 let x0 : 'tv_const_vol = Obj.magic x0 in
9400 let _startpos = _startpos_x0_ in
9401 let _endpos = _endpos_m_ in
9402 let _v : 'tv_ctype = let ty =
9403 let ty0 = ty00 in
9404 let ty =
9405 let ty = ty0 in
9406
9407 # 513 "parser_cocci_menhir.mly"
9408 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
9409 # 9410 "parser_cocci_menhir.ml"
9410
9411 in
9412
9413 # 564 "parser_cocci_menhir.mly"
9414 ( ty )
9415 # 9416 "parser_cocci_menhir.ml"
9416
9417 in
9418 let cv =
9419 let x = x0 in
9420
9421 # 41 "standard.mly"
9422 ( Some x )
9423 # 9424 "parser_cocci_menhir.ml"
9424
9425 in
9426
9427 # 569 "parser_cocci_menhir.mly"
9428 ( P.pointerify (P.make_cv cv ty) m )
9429 # 9430 "parser_cocci_menhir.ml"
9430 in
9431 _menhir_env.MenhirLib.EngineTypes.stack <- {
9432 MenhirLib.EngineTypes.state = _menhir_s;
9433 MenhirLib.EngineTypes.semv = Obj.repr _v;
9434 MenhirLib.EngineTypes.startp = _startpos;
9435 MenhirLib.EngineTypes.endp = _endpos;
9436 MenhirLib.EngineTypes.next = _menhir_stack;
9437 });
9438 (fun _menhir_env ->
9439 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9440 let {
9441 MenhirLib.EngineTypes.semv = m;
9442 MenhirLib.EngineTypes.startp = _startpos_m_;
9443 MenhirLib.EngineTypes.endp = _endpos_m_;
9444 MenhirLib.EngineTypes.next = {
9445 MenhirLib.EngineTypes.semv = p00;
9446 MenhirLib.EngineTypes.startp = _startpos_p00_;
9447 MenhirLib.EngineTypes.endp = _endpos_p00_;
9448 MenhirLib.EngineTypes.next = {
9449 MenhirLib.EngineTypes.state = _menhir_s;
9450 MenhirLib.EngineTypes.semv = x0;
9451 MenhirLib.EngineTypes.startp = _startpos_x0_;
9452 MenhirLib.EngineTypes.endp = _endpos_x0_;
9453 MenhirLib.EngineTypes.next = _menhir_stack;
9454 };
9455 };
9456 } = _menhir_stack in
9457 let m : 'tv_list_TMul_ = Obj.magic m in
9458 let p00 : (
9459 # 67 "parser_cocci_menhir.mly"
9460 (Parse_aux.info)
9461 # 9462 "parser_cocci_menhir.ml"
9462 ) = Obj.magic p00 in
9463 let x0 : 'tv_const_vol = Obj.magic x0 in
9464 let _startpos = _startpos_x0_ in
9465 let _endpos = _endpos_m_ in
9466 let _v : 'tv_ctype = let ty =
9467 let p0 = p00 in
9468 let ty =
9469 let p = p0 in
9470
9471 # 515 "parser_cocci_menhir.mly"
9472 ( let (nm,pure,clt) = p in
9473 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
9474 # 9475 "parser_cocci_menhir.ml"
9475
9476 in
9477
9478 # 564 "parser_cocci_menhir.mly"
9479 ( ty )
9480 # 9481 "parser_cocci_menhir.ml"
9481
9482 in
9483 let cv =
9484 let x = x0 in
9485
9486 # 41 "standard.mly"
9487 ( Some x )
9488 # 9489 "parser_cocci_menhir.ml"
9489
9490 in
9491
9492 # 569 "parser_cocci_menhir.mly"
9493 ( P.pointerify (P.make_cv cv ty) m )
9494 # 9495 "parser_cocci_menhir.ml"
9495 in
9496 _menhir_env.MenhirLib.EngineTypes.stack <- {
9497 MenhirLib.EngineTypes.state = _menhir_s;
9498 MenhirLib.EngineTypes.semv = Obj.repr _v;
9499 MenhirLib.EngineTypes.startp = _startpos;
9500 MenhirLib.EngineTypes.endp = _endpos;
9501 MenhirLib.EngineTypes.next = _menhir_stack;
9502 });
9503 (fun _menhir_env ->
9504 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9505 let {
9506 MenhirLib.EngineTypes.semv = m;
9507 MenhirLib.EngineTypes.startp = _startpos_m_;
9508 MenhirLib.EngineTypes.endp = _endpos_m_;
9509 MenhirLib.EngineTypes.next = {
9510 MenhirLib.EngineTypes.semv = p00;
9511 MenhirLib.EngineTypes.startp = _startpos_p00_;
9512 MenhirLib.EngineTypes.endp = _endpos_p00_;
9513 MenhirLib.EngineTypes.next = {
9514 MenhirLib.EngineTypes.startp = _startpos__3_;
9515 MenhirLib.EngineTypes.endp = _endpos__3_;
9516 MenhirLib.EngineTypes.next = {
9517 MenhirLib.EngineTypes.semv = r00;
9518 MenhirLib.EngineTypes.startp = _startpos_r00_;
9519 MenhirLib.EngineTypes.endp = _endpos_r00_;
9520 MenhirLib.EngineTypes.next = {
9521 MenhirLib.EngineTypes.state = _menhir_s;
9522 MenhirLib.EngineTypes.semv = x0;
9523 MenhirLib.EngineTypes.startp = _startpos_x0_;
9524 MenhirLib.EngineTypes.endp = _endpos_x0_;
9525 MenhirLib.EngineTypes.next = _menhir_stack;
9526 };
9527 };
9528 };
9529 };
9530 } = _menhir_stack in
9531 let m : 'tv_list_TMul_ = Obj.magic m in
9532 let p00 : (
9533 # 61 "parser_cocci_menhir.mly"
9534 (string * Data.clt)
9535 # 9536 "parser_cocci_menhir.ml"
9536 ) = Obj.magic p00 in
9537 let r00 : (
9538 # 49 "parser_cocci_menhir.mly"
9539 (string)
9540 # 9541 "parser_cocci_menhir.ml"
9541 ) = Obj.magic r00 in
9542 let x0 : 'tv_const_vol = Obj.magic x0 in
9543 let _startpos = _startpos_x0_ in
9544 let _endpos = _endpos_m_ in
9545 let _v : 'tv_ctype = let ty =
9546 let p0 = p00 in
9547 let r0 = r00 in
9548 let ty =
9549 let p = p0 in
9550 let r = r0 in
9551
9552 # 518 "parser_cocci_menhir.mly"
9553 ( let nm = (r,P.id2name p) in
9554 (* this is only possible when we are in a metavar decl. Otherwise,
9555 it will be represented already as a MetaType *)
9556 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
9557 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
9558 Ast0.Impure (*will be ignored*))) )
9559 # 9560 "parser_cocci_menhir.ml"
9560
9561 in
9562
9563 # 564 "parser_cocci_menhir.mly"
9564 ( ty )
9565 # 9566 "parser_cocci_menhir.ml"
9566
9567 in
9568 let cv =
9569 let x = x0 in
9570
9571 # 41 "standard.mly"
9572 ( Some x )
9573 # 9574 "parser_cocci_menhir.ml"
9574
9575 in
9576
9577 # 569 "parser_cocci_menhir.mly"
9578 ( P.pointerify (P.make_cv cv ty) m )
9579 # 9580 "parser_cocci_menhir.ml"
9580 in
9581 _menhir_env.MenhirLib.EngineTypes.stack <- {
9582 MenhirLib.EngineTypes.state = _menhir_s;
9583 MenhirLib.EngineTypes.semv = Obj.repr _v;
9584 MenhirLib.EngineTypes.startp = _startpos;
9585 MenhirLib.EngineTypes.endp = _endpos;
9586 MenhirLib.EngineTypes.next = _menhir_stack;
9587 });
9588 (fun _menhir_env ->
9589 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9590 let {
9591 MenhirLib.EngineTypes.semv = m;
9592 MenhirLib.EngineTypes.startp = _startpos_m_;
9593 MenhirLib.EngineTypes.endp = _endpos_m_;
9594 MenhirLib.EngineTypes.next = {
9595 MenhirLib.EngineTypes.semv = ty00;
9596 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9597 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9598 MenhirLib.EngineTypes.next = {
9599 MenhirLib.EngineTypes.state = _menhir_s;
9600 MenhirLib.EngineTypes.semv = x0;
9601 MenhirLib.EngineTypes.startp = _startpos_x0_;
9602 MenhirLib.EngineTypes.endp = _endpos_x0_;
9603 MenhirLib.EngineTypes.next = _menhir_stack;
9604 };
9605 };
9606 } = _menhir_stack in
9607 let m : 'tv_list_TMul_ = Obj.magic m in
9608 let ty00 : (
9609 # 51 "parser_cocci_menhir.mly"
9610 (Data.clt)
9611 # 9612 "parser_cocci_menhir.ml"
9612 ) = Obj.magic ty00 in
9613 let x0 : 'tv_const_vol = Obj.magic x0 in
9614 let _startpos = _startpos_x0_ in
9615 let _endpos = _endpos_m_ in
9616 let _v : 'tv_ctype = let ty =
9617 let ty0 = ty00 in
9618 let ty =
9619 let ty = ty0 in
9620
9621 # 525 "parser_cocci_menhir.mly"
9622 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
9623 # 9624 "parser_cocci_menhir.ml"
9624
9625 in
9626
9627 # 564 "parser_cocci_menhir.mly"
9628 ( ty )
9629 # 9630 "parser_cocci_menhir.ml"
9630
9631 in
9632 let cv =
9633 let x = x0 in
9634
9635 # 41 "standard.mly"
9636 ( Some x )
9637 # 9638 "parser_cocci_menhir.ml"
9638
9639 in
9640
9641 # 569 "parser_cocci_menhir.mly"
9642 ( P.pointerify (P.make_cv cv ty) m )
9643 # 9644 "parser_cocci_menhir.ml"
9644 in
9645 _menhir_env.MenhirLib.EngineTypes.stack <- {
9646 MenhirLib.EngineTypes.state = _menhir_s;
9647 MenhirLib.EngineTypes.semv = Obj.repr _v;
9648 MenhirLib.EngineTypes.startp = _startpos;
9649 MenhirLib.EngineTypes.endp = _endpos;
9650 MenhirLib.EngineTypes.next = _menhir_stack;
9651 });
9652 (fun _menhir_env ->
9653 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9654 let {
9655 MenhirLib.EngineTypes.semv = m;
9656 MenhirLib.EngineTypes.startp = _startpos_m_;
9657 MenhirLib.EngineTypes.endp = _endpos_m_;
9658 MenhirLib.EngineTypes.next = {
9659 MenhirLib.EngineTypes.semv = ty200;
9660 MenhirLib.EngineTypes.startp = _startpos_ty200_;
9661 MenhirLib.EngineTypes.endp = _endpos_ty200_;
9662 MenhirLib.EngineTypes.next = {
9663 MenhirLib.EngineTypes.semv = ty100;
9664 MenhirLib.EngineTypes.startp = _startpos_ty100_;
9665 MenhirLib.EngineTypes.endp = _endpos_ty100_;
9666 MenhirLib.EngineTypes.next = {
9667 MenhirLib.EngineTypes.state = _menhir_s;
9668 MenhirLib.EngineTypes.semv = x0;
9669 MenhirLib.EngineTypes.startp = _startpos_x0_;
9670 MenhirLib.EngineTypes.endp = _endpos_x0_;
9671 MenhirLib.EngineTypes.next = _menhir_stack;
9672 };
9673 };
9674 };
9675 } = _menhir_stack in
9676 let m : 'tv_list_TMul_ = Obj.magic m in
9677 let ty200 : (
9678 # 51 "parser_cocci_menhir.mly"
9679 (Data.clt)
9680 # 9681 "parser_cocci_menhir.ml"
9681 ) = Obj.magic ty200 in
9682 let ty100 : (
9683 # 51 "parser_cocci_menhir.mly"
9684 (Data.clt)
9685 # 9686 "parser_cocci_menhir.ml"
9686 ) = Obj.magic ty100 in
9687 let x0 : 'tv_const_vol = Obj.magic x0 in
9688 let _startpos = _startpos_x0_ in
9689 let _endpos = _endpos_m_ in
9690 let _v : 'tv_ctype = let ty =
9691 let ty20 = ty200 in
9692 let ty10 = ty100 in
9693 let ty =
9694 let ty2 = ty20 in
9695 let ty1 = ty10 in
9696
9697 # 527 "parser_cocci_menhir.mly"
9698 ( Ast0.wrap
9699 (Ast0.BaseType
9700 (Ast.LongLongType,
9701 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
9702 # 9703 "parser_cocci_menhir.ml"
9703
9704 in
9705
9706 # 564 "parser_cocci_menhir.mly"
9707 ( ty )
9708 # 9709 "parser_cocci_menhir.ml"
9709
9710 in
9711 let cv =
9712 let x = x0 in
9713
9714 # 41 "standard.mly"
9715 ( Some x )
9716 # 9717 "parser_cocci_menhir.ml"
9717
9718 in
9719
9720 # 569 "parser_cocci_menhir.mly"
9721 ( P.pointerify (P.make_cv cv ty) m )
9722 # 9723 "parser_cocci_menhir.ml"
9723 in
9724 _menhir_env.MenhirLib.EngineTypes.stack <- {
9725 MenhirLib.EngineTypes.state = _menhir_s;
9726 MenhirLib.EngineTypes.semv = Obj.repr _v;
9727 MenhirLib.EngineTypes.startp = _startpos;
9728 MenhirLib.EngineTypes.endp = _endpos;
9729 MenhirLib.EngineTypes.next = _menhir_stack;
9730 });
9731 (fun _menhir_env ->
9732 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9733 let {
9734 MenhirLib.EngineTypes.semv = m;
9735 MenhirLib.EngineTypes.startp = _startpos_m_;
9736 MenhirLib.EngineTypes.endp = _endpos_m_;
9737 MenhirLib.EngineTypes.next = {
9738 MenhirLib.EngineTypes.semv = ty00;
9739 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9740 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9741 MenhirLib.EngineTypes.next = {
9742 MenhirLib.EngineTypes.state = _menhir_s;
9743 MenhirLib.EngineTypes.semv = x0;
9744 MenhirLib.EngineTypes.startp = _startpos_x0_;
9745 MenhirLib.EngineTypes.endp = _endpos_x0_;
9746 MenhirLib.EngineTypes.next = _menhir_stack;
9747 };
9748 };
9749 } = _menhir_stack in
9750 let m : 'tv_list_TMul_ = Obj.magic m in
9751 let ty00 : (
9752 # 52 "parser_cocci_menhir.mly"
9753 (Data.clt)
9754 # 9755 "parser_cocci_menhir.ml"
9755 ) = Obj.magic ty00 in
9756 let x0 : 'tv_const_vol = Obj.magic x0 in
9757 let _startpos = _startpos_x0_ in
9758 let _endpos = _endpos_m_ in
9759 let _v : 'tv_ctype = let ty =
9760 let ty0 = ty00 in
9761 let ty =
9762 let ty = ty0 in
9763
9764 # 535 "parser_cocci_menhir.mly"
9765 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
9766 # 9767 "parser_cocci_menhir.ml"
9767
9768 in
9769
9770 # 565 "parser_cocci_menhir.mly"
9771 ( ty )
9772 # 9773 "parser_cocci_menhir.ml"
9773
9774 in
9775 let cv =
9776 let x = x0 in
9777
9778 # 41 "standard.mly"
9779 ( Some x )
9780 # 9781 "parser_cocci_menhir.ml"
9781
9782 in
9783
9784 # 569 "parser_cocci_menhir.mly"
9785 ( P.pointerify (P.make_cv cv ty) m )
9786 # 9787 "parser_cocci_menhir.ml"
9787 in
9788 _menhir_env.MenhirLib.EngineTypes.stack <- {
9789 MenhirLib.EngineTypes.state = _menhir_s;
9790 MenhirLib.EngineTypes.semv = Obj.repr _v;
9791 MenhirLib.EngineTypes.startp = _startpos;
9792 MenhirLib.EngineTypes.endp = _endpos;
9793 MenhirLib.EngineTypes.next = _menhir_stack;
9794 });
9795 (fun _menhir_env ->
9796 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9797 let {
9798 MenhirLib.EngineTypes.semv = m;
9799 MenhirLib.EngineTypes.startp = _startpos_m_;
9800 MenhirLib.EngineTypes.endp = _endpos_m_;
9801 MenhirLib.EngineTypes.next = {
9802 MenhirLib.EngineTypes.semv = ty00;
9803 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9804 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9805 MenhirLib.EngineTypes.next = {
9806 MenhirLib.EngineTypes.state = _menhir_s;
9807 MenhirLib.EngineTypes.semv = x0;
9808 MenhirLib.EngineTypes.startp = _startpos_x0_;
9809 MenhirLib.EngineTypes.endp = _endpos_x0_;
9810 MenhirLib.EngineTypes.next = _menhir_stack;
9811 };
9812 };
9813 } = _menhir_stack in
9814 let m : 'tv_list_TMul_ = Obj.magic m in
9815 let ty00 : (
9816 # 51 "parser_cocci_menhir.mly"
9817 (Data.clt)
9818 # 9819 "parser_cocci_menhir.ml"
9819 ) = Obj.magic ty00 in
9820 let x0 : 'tv_const_vol = Obj.magic x0 in
9821 let _startpos = _startpos_x0_ in
9822 let _endpos = _endpos_m_ in
9823 let _v : 'tv_ctype = let ty =
9824 let ty0 = ty00 in
9825 let ty =
9826 let ty = ty0 in
9827
9828 # 537 "parser_cocci_menhir.mly"
9829 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
9830 # 9831 "parser_cocci_menhir.ml"
9831
9832 in
9833
9834 # 565 "parser_cocci_menhir.mly"
9835 ( ty )
9836 # 9837 "parser_cocci_menhir.ml"
9837
9838 in
9839 let cv =
9840 let x = x0 in
9841
9842 # 41 "standard.mly"
9843 ( Some x )
9844 # 9845 "parser_cocci_menhir.ml"
9845
9846 in
9847
9848 # 569 "parser_cocci_menhir.mly"
9849 ( P.pointerify (P.make_cv cv ty) m )
9850 # 9851 "parser_cocci_menhir.ml"
9851 in
9852 _menhir_env.MenhirLib.EngineTypes.stack <- {
9853 MenhirLib.EngineTypes.state = _menhir_s;
9854 MenhirLib.EngineTypes.semv = Obj.repr _v;
9855 MenhirLib.EngineTypes.startp = _startpos;
9856 MenhirLib.EngineTypes.endp = _endpos;
9857 MenhirLib.EngineTypes.next = _menhir_stack;
9858 });
9859 (fun _menhir_env ->
9860 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9861 let {
9862 MenhirLib.EngineTypes.semv = m;
9863 MenhirLib.EngineTypes.startp = _startpos_m_;
9864 MenhirLib.EngineTypes.endp = _endpos_m_;
9865 MenhirLib.EngineTypes.next = {
9866 MenhirLib.EngineTypes.semv = ty00;
9867 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9868 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9869 MenhirLib.EngineTypes.next = {
9870 MenhirLib.EngineTypes.state = _menhir_s;
9871 MenhirLib.EngineTypes.semv = x0;
9872 MenhirLib.EngineTypes.startp = _startpos_x0_;
9873 MenhirLib.EngineTypes.endp = _endpos_x0_;
9874 MenhirLib.EngineTypes.next = _menhir_stack;
9875 };
9876 };
9877 } = _menhir_stack in
9878 let m : 'tv_list_TMul_ = Obj.magic m in
9879 let ty00 : (
9880 # 51 "parser_cocci_menhir.mly"
9881 (Data.clt)
9882 # 9883 "parser_cocci_menhir.ml"
9883 ) = Obj.magic ty00 in
9884 let x0 : 'tv_const_vol = Obj.magic x0 in
9885 let _startpos = _startpos_x0_ in
9886 let _endpos = _endpos_m_ in
9887 let _v : 'tv_ctype = let ty =
9888 let ty0 = ty00 in
9889 let ty =
9890 let ty = ty0 in
9891
9892 # 539 "parser_cocci_menhir.mly"
9893 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
9894 # 9895 "parser_cocci_menhir.ml"
9895
9896 in
9897
9898 # 565 "parser_cocci_menhir.mly"
9899 ( ty )
9900 # 9901 "parser_cocci_menhir.ml"
9901
9902 in
9903 let cv =
9904 let x = x0 in
9905
9906 # 41 "standard.mly"
9907 ( Some x )
9908 # 9909 "parser_cocci_menhir.ml"
9909
9910 in
9911
9912 # 569 "parser_cocci_menhir.mly"
9913 ( P.pointerify (P.make_cv cv ty) m )
9914 # 9915 "parser_cocci_menhir.ml"
9915 in
9916 _menhir_env.MenhirLib.EngineTypes.stack <- {
9917 MenhirLib.EngineTypes.state = _menhir_s;
9918 MenhirLib.EngineTypes.semv = Obj.repr _v;
9919 MenhirLib.EngineTypes.startp = _startpos;
9920 MenhirLib.EngineTypes.endp = _endpos;
9921 MenhirLib.EngineTypes.next = _menhir_stack;
9922 });
9923 (fun _menhir_env ->
9924 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9925 let {
9926 MenhirLib.EngineTypes.semv = m;
9927 MenhirLib.EngineTypes.startp = _startpos_m_;
9928 MenhirLib.EngineTypes.endp = _endpos_m_;
9929 MenhirLib.EngineTypes.next = {
9930 MenhirLib.EngineTypes.semv = i00;
9931 MenhirLib.EngineTypes.startp = _startpos_i00_;
9932 MenhirLib.EngineTypes.endp = _endpos_i00_;
9933 MenhirLib.EngineTypes.next = {
9934 MenhirLib.EngineTypes.semv = s00;
9935 MenhirLib.EngineTypes.startp = _startpos_s00_;
9936 MenhirLib.EngineTypes.endp = _endpos_s00_;
9937 MenhirLib.EngineTypes.next = {
9938 MenhirLib.EngineTypes.state = _menhir_s;
9939 MenhirLib.EngineTypes.semv = x0;
9940 MenhirLib.EngineTypes.startp = _startpos_x0_;
9941 MenhirLib.EngineTypes.endp = _endpos_x0_;
9942 MenhirLib.EngineTypes.next = _menhir_stack;
9943 };
9944 };
9945 };
9946 } = _menhir_stack in
9947 let m : 'tv_list_TMul_ = Obj.magic m in
9948 let i00 : 'tv_ident = Obj.magic i00 in
9949 let s00 : (
9950 # 52 "parser_cocci_menhir.mly"
9951 (Data.clt)
9952 # 9953 "parser_cocci_menhir.ml"
9953 ) = Obj.magic s00 in
9954 let x0 : 'tv_const_vol = Obj.magic x0 in
9955 let _startpos = _startpos_x0_ in
9956 let _endpos = _endpos_m_ in
9957 let _v : 'tv_ctype = let ty =
9958 let i0 = i00 in
9959 let s0 = s00 in
9960 let ty =
9961 let i = i0 in
9962 let s = s0 in
9963
9964 # 541 "parser_cocci_menhir.mly"
9965 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
9966 # 9967 "parser_cocci_menhir.ml"
9967
9968 in
9969
9970 # 565 "parser_cocci_menhir.mly"
9971 ( ty )
9972 # 9973 "parser_cocci_menhir.ml"
9973
9974 in
9975 let cv =
9976 let x = x0 in
9977
9978 # 41 "standard.mly"
9979 ( Some x )
9980 # 9981 "parser_cocci_menhir.ml"
9981
9982 in
9983
9984 # 569 "parser_cocci_menhir.mly"
9985 ( P.pointerify (P.make_cv cv ty) m )
9986 # 9987 "parser_cocci_menhir.ml"
9987 in
9988 _menhir_env.MenhirLib.EngineTypes.stack <- {
9989 MenhirLib.EngineTypes.state = _menhir_s;
9990 MenhirLib.EngineTypes.semv = Obj.repr _v;
9991 MenhirLib.EngineTypes.startp = _startpos;
9992 MenhirLib.EngineTypes.endp = _endpos;
9993 MenhirLib.EngineTypes.next = _menhir_stack;
9994 });
9995 (fun _menhir_env ->
9996 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9997 let {
9998 MenhirLib.EngineTypes.semv = m;
9999 MenhirLib.EngineTypes.startp = _startpos_m_;
10000 MenhirLib.EngineTypes.endp = _endpos_m_;
10001 MenhirLib.EngineTypes.next = {
10002 MenhirLib.EngineTypes.semv = i00;
10003 MenhirLib.EngineTypes.startp = _startpos_i00_;
10004 MenhirLib.EngineTypes.endp = _endpos_i00_;
10005 MenhirLib.EngineTypes.next = {
10006 MenhirLib.EngineTypes.semv = s00;
10007 MenhirLib.EngineTypes.startp = _startpos_s00_;
10008 MenhirLib.EngineTypes.endp = _endpos_s00_;
10009 MenhirLib.EngineTypes.next = {
10010 MenhirLib.EngineTypes.state = _menhir_s;
10011 MenhirLib.EngineTypes.semv = x0;
10012 MenhirLib.EngineTypes.startp = _startpos_x0_;
10013 MenhirLib.EngineTypes.endp = _endpos_x0_;
10014 MenhirLib.EngineTypes.next = _menhir_stack;
10015 };
10016 };
10017 };
10018 } = _menhir_stack in
10019 let m : 'tv_list_TMul_ = Obj.magic m in
10020 let i00 : 'tv_ident = Obj.magic i00 in
10021 let s00 : 'tv_struct_or_union = Obj.magic s00 in
10022 let x0 : 'tv_const_vol = Obj.magic x0 in
10023 let _startpos = _startpos_x0_ in
10024 let _endpos = _endpos_m_ in
10025 let _v : 'tv_ctype = let ty =
10026 let i0 = i00 in
10027 let s0 = s00 in
10028 let ty =
10029 let i = i0 in
10030 let s = s0 in
10031
10032 # 543 "parser_cocci_menhir.mly"
10033 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
10034 # 10035 "parser_cocci_menhir.ml"
10035
10036 in
10037
10038 # 565 "parser_cocci_menhir.mly"
10039 ( ty )
10040 # 10041 "parser_cocci_menhir.ml"
10041
10042 in
10043 let cv =
10044 let x = x0 in
10045
10046 # 41 "standard.mly"
10047 ( Some x )
10048 # 10049 "parser_cocci_menhir.ml"
10049
10050 in
10051
10052 # 569 "parser_cocci_menhir.mly"
10053 ( P.pointerify (P.make_cv cv ty) m )
10054 # 10055 "parser_cocci_menhir.ml"
10055 in
10056 _menhir_env.MenhirLib.EngineTypes.stack <- {
10057 MenhirLib.EngineTypes.state = _menhir_s;
10058 MenhirLib.EngineTypes.semv = Obj.repr _v;
10059 MenhirLib.EngineTypes.startp = _startpos;
10060 MenhirLib.EngineTypes.endp = _endpos;
10061 MenhirLib.EngineTypes.next = _menhir_stack;
10062 });
10063 (fun _menhir_env ->
10064 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10065 let {
10066 MenhirLib.EngineTypes.semv = m;
10067 MenhirLib.EngineTypes.startp = _startpos_m_;
10068 MenhirLib.EngineTypes.endp = _endpos_m_;
10069 MenhirLib.EngineTypes.next = {
10070 MenhirLib.EngineTypes.semv = r00;
10071 MenhirLib.EngineTypes.startp = _startpos_r00_;
10072 MenhirLib.EngineTypes.endp = _endpos_r00_;
10073 MenhirLib.EngineTypes.next = {
10074 MenhirLib.EngineTypes.semv = d00;
10075 MenhirLib.EngineTypes.startp = _startpos_d00_;
10076 MenhirLib.EngineTypes.endp = _endpos_d00_;
10077 MenhirLib.EngineTypes.next = {
10078 MenhirLib.EngineTypes.semv = l00;
10079 MenhirLib.EngineTypes.startp = _startpos_l00_;
10080 MenhirLib.EngineTypes.endp = _endpos_l00_;
10081 MenhirLib.EngineTypes.next = {
10082 MenhirLib.EngineTypes.semv = s00;
10083 MenhirLib.EngineTypes.startp = _startpos_s00_;
10084 MenhirLib.EngineTypes.endp = _endpos_s00_;
10085 MenhirLib.EngineTypes.next = {
10086 MenhirLib.EngineTypes.state = _menhir_s;
10087 MenhirLib.EngineTypes.semv = x0;
10088 MenhirLib.EngineTypes.startp = _startpos_x0_;
10089 MenhirLib.EngineTypes.endp = _endpos_x0_;
10090 MenhirLib.EngineTypes.next = _menhir_stack;
10091 };
10092 };
10093 };
10094 };
10095 };
10096 } = _menhir_stack in
10097 let m : 'tv_list_TMul_ = Obj.magic m in
10098 let r00 : (
10099 # 104 "parser_cocci_menhir.mly"
10100 (Data.clt)
10101 # 10102 "parser_cocci_menhir.ml"
10102 ) = Obj.magic r00 in
10103 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
10104 let l00 : (
10105 # 104 "parser_cocci_menhir.mly"
10106 (Data.clt)
10107 # 10108 "parser_cocci_menhir.ml"
10108 ) = Obj.magic l00 in
10109 let s00 : 'tv_struct_or_union = Obj.magic s00 in
10110 let x0 : 'tv_const_vol = Obj.magic x0 in
10111 let _startpos = _startpos_x0_ in
10112 let _endpos = _endpos_m_ in
10113 let _v : 'tv_ctype = let ty =
10114 let r0 = r00 in
10115 let d0 = d00 in
10116 let l0 = l00 in
10117 let s0 = s00 in
10118 let ty =
10119 let r = r0 in
10120 let d = d0 in
10121 let l = l0 in
10122 let s = s0 in
10123 let i =
10124
10125 # 39 "standard.mly"
10126 ( None )
10127 # 10128 "parser_cocci_menhir.ml"
10128
10129 in
10130
10131 # 546 "parser_cocci_menhir.mly"
10132 ( (if i = None && !Data.in_iso
10133 then failwith "structures must be named in the iso file");
10134 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
10135 P.clt2mcode "{" l,
10136 d, P.clt2mcode "}" r)) )
10137 # 10138 "parser_cocci_menhir.ml"
10138
10139 in
10140
10141 # 565 "parser_cocci_menhir.mly"
10142 ( ty )
10143 # 10144 "parser_cocci_menhir.ml"
10144
10145 in
10146 let cv =
10147 let x = x0 in
10148
10149 # 41 "standard.mly"
10150 ( Some x )
10151 # 10152 "parser_cocci_menhir.ml"
10152
10153 in
10154
10155 # 569 "parser_cocci_menhir.mly"
10156 ( P.pointerify (P.make_cv cv ty) m )
10157 # 10158 "parser_cocci_menhir.ml"
10158 in
10159 _menhir_env.MenhirLib.EngineTypes.stack <- {
10160 MenhirLib.EngineTypes.state = _menhir_s;
10161 MenhirLib.EngineTypes.semv = Obj.repr _v;
10162 MenhirLib.EngineTypes.startp = _startpos;
10163 MenhirLib.EngineTypes.endp = _endpos;
10164 MenhirLib.EngineTypes.next = _menhir_stack;
10165 });
10166 (fun _menhir_env ->
10167 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10168 let {
10169 MenhirLib.EngineTypes.semv = m;
10170 MenhirLib.EngineTypes.startp = _startpos_m_;
10171 MenhirLib.EngineTypes.endp = _endpos_m_;
10172 MenhirLib.EngineTypes.next = {
10173 MenhirLib.EngineTypes.semv = r00;
10174 MenhirLib.EngineTypes.startp = _startpos_r00_;
10175 MenhirLib.EngineTypes.endp = _endpos_r00_;
10176 MenhirLib.EngineTypes.next = {
10177 MenhirLib.EngineTypes.semv = d00;
10178 MenhirLib.EngineTypes.startp = _startpos_d00_;
10179 MenhirLib.EngineTypes.endp = _endpos_d00_;
10180 MenhirLib.EngineTypes.next = {
10181 MenhirLib.EngineTypes.semv = l00;
10182 MenhirLib.EngineTypes.startp = _startpos_l00_;
10183 MenhirLib.EngineTypes.endp = _endpos_l00_;
10184 MenhirLib.EngineTypes.next = {
10185 MenhirLib.EngineTypes.semv = x000;
10186 MenhirLib.EngineTypes.startp = _startpos_x000_;
10187 MenhirLib.EngineTypes.endp = _endpos_x000_;
10188 MenhirLib.EngineTypes.next = {
10189 MenhirLib.EngineTypes.semv = s00;
10190 MenhirLib.EngineTypes.startp = _startpos_s00_;
10191 MenhirLib.EngineTypes.endp = _endpos_s00_;
10192 MenhirLib.EngineTypes.next = {
10193 MenhirLib.EngineTypes.state = _menhir_s;
10194 MenhirLib.EngineTypes.semv = x0;
10195 MenhirLib.EngineTypes.startp = _startpos_x0_;
10196 MenhirLib.EngineTypes.endp = _endpos_x0_;
10197 MenhirLib.EngineTypes.next = _menhir_stack;
10198 };
10199 };
10200 };
10201 };
10202 };
10203 };
10204 } = _menhir_stack in
10205 let m : 'tv_list_TMul_ = Obj.magic m in
10206 let r00 : (
10207 # 104 "parser_cocci_menhir.mly"
10208 (Data.clt)
10209 # 10210 "parser_cocci_menhir.ml"
10210 ) = Obj.magic r00 in
10211 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
10212 let l00 : (
10213 # 104 "parser_cocci_menhir.mly"
10214 (Data.clt)
10215 # 10216 "parser_cocci_menhir.ml"
10216 ) = Obj.magic l00 in
10217 let x000 : 'tv_ident = Obj.magic x000 in
10218 let s00 : 'tv_struct_or_union = Obj.magic s00 in
10219 let x0 : 'tv_const_vol = Obj.magic x0 in
10220 let _startpos = _startpos_x0_ in
10221 let _endpos = _endpos_m_ in
10222 let _v : 'tv_ctype = let ty =
10223 let r0 = r00 in
10224 let d0 = d00 in
10225 let l0 = l00 in
10226 let x00 = x000 in
10227 let s0 = s00 in
10228 let ty =
10229 let r = r0 in
10230 let d = d0 in
10231 let l = l0 in
10232 let x0 = x00 in
10233 let s = s0 in
10234 let i =
10235 let x = x0 in
10236
10237 # 41 "standard.mly"
10238 ( Some x )
10239 # 10240 "parser_cocci_menhir.ml"
10240
10241 in
10242
10243 # 546 "parser_cocci_menhir.mly"
10244 ( (if i = None && !Data.in_iso
10245 then failwith "structures must be named in the iso file");
10246 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
10247 P.clt2mcode "{" l,
10248 d, P.clt2mcode "}" r)) )
10249 # 10250 "parser_cocci_menhir.ml"
10250
10251 in
10252
10253 # 565 "parser_cocci_menhir.mly"
10254 ( ty )
10255 # 10256 "parser_cocci_menhir.ml"
10256
10257 in
10258 let cv =
10259 let x = x0 in
10260
10261 # 41 "standard.mly"
10262 ( Some x )
10263 # 10264 "parser_cocci_menhir.ml"
10264
10265 in
10266
10267 # 569 "parser_cocci_menhir.mly"
10268 ( P.pointerify (P.make_cv cv ty) m )
10269 # 10270 "parser_cocci_menhir.ml"
10270 in
10271 _menhir_env.MenhirLib.EngineTypes.stack <- {
10272 MenhirLib.EngineTypes.state = _menhir_s;
10273 MenhirLib.EngineTypes.semv = Obj.repr _v;
10274 MenhirLib.EngineTypes.startp = _startpos;
10275 MenhirLib.EngineTypes.endp = _endpos;
10276 MenhirLib.EngineTypes.next = _menhir_stack;
10277 });
10278 (fun _menhir_env ->
10279 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10280 let {
10281 MenhirLib.EngineTypes.semv = m;
10282 MenhirLib.EngineTypes.startp = _startpos_m_;
10283 MenhirLib.EngineTypes.endp = _endpos_m_;
10284 MenhirLib.EngineTypes.next = {
10285 MenhirLib.EngineTypes.semv = r00;
10286 MenhirLib.EngineTypes.startp = _startpos_r00_;
10287 MenhirLib.EngineTypes.endp = _endpos_r00_;
10288 MenhirLib.EngineTypes.next = {
10289 MenhirLib.EngineTypes.semv = d00;
10290 MenhirLib.EngineTypes.startp = _startpos_d00_;
10291 MenhirLib.EngineTypes.endp = _endpos_d00_;
10292 MenhirLib.EngineTypes.next = {
10293 MenhirLib.EngineTypes.semv = l00;
10294 MenhirLib.EngineTypes.startp = _startpos_l00_;
10295 MenhirLib.EngineTypes.endp = _endpos_l00_;
10296 MenhirLib.EngineTypes.next = {
10297 MenhirLib.EngineTypes.semv = s00;
10298 MenhirLib.EngineTypes.startp = _startpos_s00_;
10299 MenhirLib.EngineTypes.endp = _endpos_s00_;
10300 MenhirLib.EngineTypes.next = {
10301 MenhirLib.EngineTypes.state = _menhir_s;
10302 MenhirLib.EngineTypes.semv = x0;
10303 MenhirLib.EngineTypes.startp = _startpos_x0_;
10304 MenhirLib.EngineTypes.endp = _endpos_x0_;
10305 MenhirLib.EngineTypes.next = _menhir_stack;
10306 };
10307 };
10308 };
10309 };
10310 };
10311 } = _menhir_stack in
10312 let m : 'tv_list_TMul_ = Obj.magic m in
10313 let r00 : (
10314 # 104 "parser_cocci_menhir.mly"
10315 (Data.clt)
10316 # 10317 "parser_cocci_menhir.ml"
10317 ) = Obj.magic r00 in
10318 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
10319 let l00 : (
10320 # 104 "parser_cocci_menhir.mly"
10321 (Data.clt)
10322 # 10323 "parser_cocci_menhir.ml"
10323 ) = Obj.magic l00 in
10324 let s00 : (
10325 # 67 "parser_cocci_menhir.mly"
10326 (Parse_aux.info)
10327 # 10328 "parser_cocci_menhir.ml"
10328 ) = Obj.magic s00 in
10329 let x0 : 'tv_const_vol = Obj.magic x0 in
10330 let _startpos = _startpos_x0_ in
10331 let _endpos = _endpos_m_ in
10332 let _v : 'tv_ctype = let ty =
10333 let r0 = r00 in
10334 let d0 = d00 in
10335 let l0 = l00 in
10336 let s0 = s00 in
10337 let ty =
10338 let r = r0 in
10339 let d = d0 in
10340 let l = l0 in
10341 let s = s0 in
10342
10343 # 552 "parser_cocci_menhir.mly"
10344 ( let (nm,pure,clt) = s in
10345 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
10346 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
10347 # 10348 "parser_cocci_menhir.ml"
10348
10349 in
10350
10351 # 565 "parser_cocci_menhir.mly"
10352 ( ty )
10353 # 10354 "parser_cocci_menhir.ml"
10354
10355 in
10356 let cv =
10357 let x = x0 in
10358
10359 # 41 "standard.mly"
10360 ( Some x )
10361 # 10362 "parser_cocci_menhir.ml"
10362
10363 in
10364
10365 # 569 "parser_cocci_menhir.mly"
10366 ( P.pointerify (P.make_cv cv ty) m )
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 {
10379 MenhirLib.EngineTypes.semv = m;
10380 MenhirLib.EngineTypes.startp = _startpos_m_;
10381 MenhirLib.EngineTypes.endp = _endpos_m_;
10382 MenhirLib.EngineTypes.next = {
10383 MenhirLib.EngineTypes.semv = p00;
10384 MenhirLib.EngineTypes.startp = _startpos_p00_;
10385 MenhirLib.EngineTypes.endp = _endpos_p00_;
10386 MenhirLib.EngineTypes.next = {
10387 MenhirLib.EngineTypes.state = _menhir_s;
10388 MenhirLib.EngineTypes.semv = x0;
10389 MenhirLib.EngineTypes.startp = _startpos_x0_;
10390 MenhirLib.EngineTypes.endp = _endpos_x0_;
10391 MenhirLib.EngineTypes.next = _menhir_stack;
10392 };
10393 };
10394 } = _menhir_stack in
10395 let m : 'tv_list_TMul_ = Obj.magic m in
10396 let p00 : (
10397 # 61 "parser_cocci_menhir.mly"
10398 (string * Data.clt)
10399 # 10400 "parser_cocci_menhir.ml"
10400 ) = Obj.magic p00 in
10401 let x0 : 'tv_const_vol = Obj.magic x0 in
10402 let _startpos = _startpos_x0_ in
10403 let _endpos = _endpos_m_ in
10404 let _v : 'tv_ctype = let ty =
10405 let p0 = p00 in
10406 let ty =
10407 let p = p0 in
10408
10409 # 556 "parser_cocci_menhir.mly"
10410 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
10411 # 10412 "parser_cocci_menhir.ml"
10412
10413 in
10414
10415 # 565 "parser_cocci_menhir.mly"
10416 ( ty )
10417 # 10418 "parser_cocci_menhir.ml"
10418
10419 in
10420 let cv =
10421 let x = x0 in
10422
10423 # 41 "standard.mly"
10424 ( Some x )
10425 # 10426 "parser_cocci_menhir.ml"
10426
10427 in
10428
10429 # 569 "parser_cocci_menhir.mly"
10430 ( P.pointerify (P.make_cv cv ty) m )
10431 # 10432 "parser_cocci_menhir.ml"
10432 in
10433 _menhir_env.MenhirLib.EngineTypes.stack <- {
10434 MenhirLib.EngineTypes.state = _menhir_s;
10435 MenhirLib.EngineTypes.semv = Obj.repr _v;
10436 MenhirLib.EngineTypes.startp = _startpos;
10437 MenhirLib.EngineTypes.endp = _endpos;
10438 MenhirLib.EngineTypes.next = _menhir_stack;
10439 });
10440 (fun _menhir_env ->
10441 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10442 let {
10443 MenhirLib.EngineTypes.state = _menhir_s;
10444 MenhirLib.EngineTypes.semv = r;
10445 MenhirLib.EngineTypes.startp = _startpos_r_;
10446 MenhirLib.EngineTypes.endp = _endpos_r_;
10447 MenhirLib.EngineTypes.next = _menhir_stack;
10448 } = _menhir_stack in
10449 let r : (
10450 # 53 "parser_cocci_menhir.mly"
10451 (Data.clt)
10452 # 10453 "parser_cocci_menhir.ml"
10453 ) = Obj.magic r in
10454 let _startpos = _startpos_r_ in
10455 let _endpos = _endpos_r_ in
10456 let _v : 'tv_ctype =
10457 # 571 "parser_cocci_menhir.mly"
10458 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) )
10459 # 10460 "parser_cocci_menhir.ml"
10460 in
10461 _menhir_env.MenhirLib.EngineTypes.stack <- {
10462 MenhirLib.EngineTypes.state = _menhir_s;
10463 MenhirLib.EngineTypes.semv = Obj.repr _v;
10464 MenhirLib.EngineTypes.startp = _startpos;
10465 MenhirLib.EngineTypes.endp = _endpos;
10466 MenhirLib.EngineTypes.next = _menhir_stack;
10467 });
10468 (fun _menhir_env ->
10469 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10470 let {
10471 MenhirLib.EngineTypes.state = _menhir_s;
10472 MenhirLib.EngineTypes.semv = r;
10473 MenhirLib.EngineTypes.startp = _startpos_r_;
10474 MenhirLib.EngineTypes.endp = _endpos_r_;
10475 MenhirLib.EngineTypes.next = _menhir_stack;
10476 } = _menhir_stack in
10477 let r : (
10478 # 53 "parser_cocci_menhir.mly"
10479 (Data.clt)
10480 # 10481 "parser_cocci_menhir.ml"
10481 ) = Obj.magic r in
10482 let _startpos = _startpos_r_ in
10483 let _endpos = _endpos_r_ in
10484 let _v : 'tv_ctype =
10485 # 573 "parser_cocci_menhir.mly"
10486 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) )
10487 # 10488 "parser_cocci_menhir.ml"
10488 in
10489 _menhir_env.MenhirLib.EngineTypes.stack <- {
10490 MenhirLib.EngineTypes.state = _menhir_s;
10491 MenhirLib.EngineTypes.semv = Obj.repr _v;
10492 MenhirLib.EngineTypes.startp = _startpos;
10493 MenhirLib.EngineTypes.endp = _endpos;
10494 MenhirLib.EngineTypes.next = _menhir_stack;
10495 });
10496 (fun _menhir_env ->
10497 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10498 let {
10499 MenhirLib.EngineTypes.semv = rp;
10500 MenhirLib.EngineTypes.startp = _startpos_rp_;
10501 MenhirLib.EngineTypes.endp = _endpos_rp_;
10502 MenhirLib.EngineTypes.next = {
10503 MenhirLib.EngineTypes.semv = t;
10504 MenhirLib.EngineTypes.startp = _startpos_t_;
10505 MenhirLib.EngineTypes.endp = _endpos_t_;
10506 MenhirLib.EngineTypes.next = {
10507 MenhirLib.EngineTypes.state = _menhir_s;
10508 MenhirLib.EngineTypes.semv = lp;
10509 MenhirLib.EngineTypes.startp = _startpos_lp_;
10510 MenhirLib.EngineTypes.endp = _endpos_lp_;
10511 MenhirLib.EngineTypes.next = _menhir_stack;
10512 };
10513 };
10514 } = _menhir_stack in
10515 let rp : (
10516 # 80 "parser_cocci_menhir.mly"
10517 (Data.clt)
10518 # 10519 "parser_cocci_menhir.ml"
10519 ) = Obj.magic rp in
10520 let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
10521 let lp : (
10522 # 79 "parser_cocci_menhir.mly"
10523 (Data.clt)
10524 # 10525 "parser_cocci_menhir.ml"
10525 ) = Obj.magic lp in
10526 let _startpos = _startpos_lp_ in
10527 let _endpos = _endpos_rp_ in
10528 let _v : 'tv_ctype =
10529 # 575 "parser_cocci_menhir.mly"
10530 ( let (mids,code) = t in
10531 Ast0.wrap
10532 (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
10533 # 10534 "parser_cocci_menhir.ml"
10534 in
10535 _menhir_env.MenhirLib.EngineTypes.stack <- {
10536 MenhirLib.EngineTypes.state = _menhir_s;
10537 MenhirLib.EngineTypes.semv = Obj.repr _v;
10538 MenhirLib.EngineTypes.startp = _startpos;
10539 MenhirLib.EngineTypes.endp = _endpos;
10540 MenhirLib.EngineTypes.next = _menhir_stack;
10541 });
10542 (fun _menhir_env ->
10543 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10544 let {
10545 MenhirLib.EngineTypes.semv = _2;
10546 MenhirLib.EngineTypes.startp = _startpos__2_;
10547 MenhirLib.EngineTypes.endp = _endpos__2_;
10548 MenhirLib.EngineTypes.next = {
10549 MenhirLib.EngineTypes.state = _menhir_s;
10550 MenhirLib.EngineTypes.semv = _1;
10551 MenhirLib.EngineTypes.startp = _startpos__1_;
10552 MenhirLib.EngineTypes.endp = _endpos__1_;
10553 MenhirLib.EngineTypes.next = _menhir_stack;
10554 };
10555 } = _menhir_stack in
10556 let _2 : 'tv_list_array_dec_ = Obj.magic _2 in
10557 let _1 : 'tv_ident = Obj.magic _1 in
10558 let _startpos = _startpos__1_ in
10559 let _endpos = _endpos__2_ in
10560 let _v : 'tv_d_ident =
10561 # 1091 "parser_cocci_menhir.mly"
10562 ( (_1,
10563 function t ->
10564 List.fold_right
10565 (function (l,i,r) ->
10566 function rest ->
10567 Ast0.wrap
10568 (Ast0.Array(rest,P.clt2mcode "[" l,i,P.clt2mcode "]" r)))
10569 _2 t) )
10570 # 10571 "parser_cocci_menhir.ml"
10571 in
10572 _menhir_env.MenhirLib.EngineTypes.stack <- {
10573 MenhirLib.EngineTypes.state = _menhir_s;
10574 MenhirLib.EngineTypes.semv = Obj.repr _v;
10575 MenhirLib.EngineTypes.startp = _startpos;
10576 MenhirLib.EngineTypes.endp = _endpos;
10577 MenhirLib.EngineTypes.next = _menhir_stack;
10578 });
10579 (fun _menhir_env ->
10580 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10581 let {
10582 MenhirLib.EngineTypes.semv = i;
10583 MenhirLib.EngineTypes.startp = _startpos_i_;
10584 MenhirLib.EngineTypes.endp = _endpos_i_;
10585 MenhirLib.EngineTypes.next = {
10586 MenhirLib.EngineTypes.state = _menhir_s;
10587 MenhirLib.EngineTypes.semv = t;
10588 MenhirLib.EngineTypes.startp = _startpos_t_;
10589 MenhirLib.EngineTypes.endp = _endpos_t_;
10590 MenhirLib.EngineTypes.next = _menhir_stack;
10591 };
10592 } = _menhir_stack in
10593 let i : 'tv_ident = Obj.magic i in
10594 let t : 'tv_ctype = Obj.magic t in
10595 let _startpos = _startpos_t_ in
10596 let _endpos = _endpos_i_ in
10597 let _v : 'tv_decl =
10598 # 847 "parser_cocci_menhir.mly"
10599 ( Ast0.wrap(Ast0.Param(t, Some i)) )
10600 # 10601 "parser_cocci_menhir.ml"
10601 in
10602 _menhir_env.MenhirLib.EngineTypes.stack <- {
10603 MenhirLib.EngineTypes.state = _menhir_s;
10604 MenhirLib.EngineTypes.semv = Obj.repr _v;
10605 MenhirLib.EngineTypes.startp = _startpos;
10606 MenhirLib.EngineTypes.endp = _endpos;
10607 MenhirLib.EngineTypes.next = _menhir_stack;
10608 });
10609 (fun _menhir_env ->
10610 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10611 let {
10612 MenhirLib.EngineTypes.state = _menhir_s;
10613 MenhirLib.EngineTypes.semv = t;
10614 MenhirLib.EngineTypes.startp = _startpos_t_;
10615 MenhirLib.EngineTypes.endp = _endpos_t_;
10616 MenhirLib.EngineTypes.next = _menhir_stack;
10617 } = _menhir_stack in
10618 let t : 'tv_ctype = Obj.magic t in
10619 let _startpos = _startpos_t_ in
10620 let _endpos = _endpos_t_ in
10621 let _v : 'tv_decl =
10622 # 848 "parser_cocci_menhir.mly"
10623 ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) )
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 = rp1;
10637 MenhirLib.EngineTypes.startp = _startpos_rp1_;
10638 MenhirLib.EngineTypes.endp = _endpos_rp1_;
10639 MenhirLib.EngineTypes.next = {
10640 MenhirLib.EngineTypes.semv = d;
10641 MenhirLib.EngineTypes.startp = _startpos_d_;
10642 MenhirLib.EngineTypes.endp = _endpos_d_;
10643 MenhirLib.EngineTypes.next = {
10644 MenhirLib.EngineTypes.semv = lp1;
10645 MenhirLib.EngineTypes.startp = _startpos_lp1_;
10646 MenhirLib.EngineTypes.endp = _endpos_lp1_;
10647 MenhirLib.EngineTypes.next = {
10648 MenhirLib.EngineTypes.semv = rp;
10649 MenhirLib.EngineTypes.startp = _startpos_rp_;
10650 MenhirLib.EngineTypes.endp = _endpos_rp_;
10651 MenhirLib.EngineTypes.next = {
10652 MenhirLib.EngineTypes.semv = i;
10653 MenhirLib.EngineTypes.startp = _startpos_i_;
10654 MenhirLib.EngineTypes.endp = _endpos_i_;
10655 MenhirLib.EngineTypes.next = {
10656 MenhirLib.EngineTypes.semv = s;
10657 MenhirLib.EngineTypes.startp = _startpos_s_;
10658 MenhirLib.EngineTypes.endp = _endpos_s_;
10659 MenhirLib.EngineTypes.next = {
10660 MenhirLib.EngineTypes.semv = lp;
10661 MenhirLib.EngineTypes.startp = _startpos_lp_;
10662 MenhirLib.EngineTypes.endp = _endpos_lp_;
10663 MenhirLib.EngineTypes.next = {
10664 MenhirLib.EngineTypes.state = _menhir_s;
10665 MenhirLib.EngineTypes.semv = t;
10666 MenhirLib.EngineTypes.startp = _startpos_t_;
10667 MenhirLib.EngineTypes.endp = _endpos_t_;
10668 MenhirLib.EngineTypes.next = _menhir_stack;
10669 };
10670 };
10671 };
10672 };
10673 };
10674 };
10675 };
10676 } = _menhir_stack in
10677 let rp1 : (
10678 # 80 "parser_cocci_menhir.mly"
10679 (Data.clt)
10680 # 10681 "parser_cocci_menhir.ml"
10681 ) = Obj.magic rp1 in
10682 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
10683 let lp1 : (
10684 # 79 "parser_cocci_menhir.mly"
10685 (Data.clt)
10686 # 10687 "parser_cocci_menhir.ml"
10687 ) = Obj.magic lp1 in
10688 let rp : (
10689 # 80 "parser_cocci_menhir.mly"
10690 (Data.clt)
10691 # 10692 "parser_cocci_menhir.ml"
10692 ) = Obj.magic rp in
10693 let i : 'tv_ident = Obj.magic i in
10694 let s : (
10695 # 102 "parser_cocci_menhir.mly"
10696 (Data.clt)
10697 # 10698 "parser_cocci_menhir.ml"
10698 ) = Obj.magic s in
10699 let lp : (
10700 # 79 "parser_cocci_menhir.mly"
10701 (Data.clt)
10702 # 10703 "parser_cocci_menhir.ml"
10703 ) = Obj.magic lp in
10704 let t : 'tv_ctype = Obj.magic t in
10705 let _startpos = _startpos_t_ in
10706 let _endpos = _endpos_rp1_ in
10707 let _v : 'tv_decl =
10708 # 851 "parser_cocci_menhir.mly"
10709 ( let fnptr =
10710 Ast0.wrap
10711 (Ast0.FunctionPointer
10712 (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
10713 P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
10714 Ast0.wrap(Ast0.Param(fnptr, Some i)) )
10715 # 10716 "parser_cocci_menhir.ml"
10716 in
10717 _menhir_env.MenhirLib.EngineTypes.stack <- {
10718 MenhirLib.EngineTypes.state = _menhir_s;
10719 MenhirLib.EngineTypes.semv = Obj.repr _v;
10720 MenhirLib.EngineTypes.startp = _startpos;
10721 MenhirLib.EngineTypes.endp = _endpos;
10722 MenhirLib.EngineTypes.next = _menhir_stack;
10723 });
10724 (fun _menhir_env ->
10725 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10726 let {
10727 MenhirLib.EngineTypes.state = _menhir_s;
10728 MenhirLib.EngineTypes.semv = _1;
10729 MenhirLib.EngineTypes.startp = _startpos__1_;
10730 MenhirLib.EngineTypes.endp = _endpos__1_;
10731 MenhirLib.EngineTypes.next = _menhir_stack;
10732 } = _menhir_stack in
10733 let _1 : (
10734 # 67 "parser_cocci_menhir.mly"
10735 (Parse_aux.info)
10736 # 10737 "parser_cocci_menhir.ml"
10737 ) = Obj.magic _1 in
10738 let _startpos = _startpos__1_ in
10739 let _endpos = _endpos__1_ in
10740 let _v : 'tv_decl =
10741 # 858 "parser_cocci_menhir.mly"
10742 ( let (nm,pure,clt) = _1 in
10743 Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
10744 # 10745 "parser_cocci_menhir.ml"
10745 in
10746 _menhir_env.MenhirLib.EngineTypes.stack <- {
10747 MenhirLib.EngineTypes.state = _menhir_s;
10748 MenhirLib.EngineTypes.semv = Obj.repr _v;
10749 MenhirLib.EngineTypes.startp = _startpos;
10750 MenhirLib.EngineTypes.endp = _endpos;
10751 MenhirLib.EngineTypes.next = _menhir_stack;
10752 });
10753 (fun _menhir_env ->
10754 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10755 let {
10756 MenhirLib.EngineTypes.state = _menhir_s;
10757 MenhirLib.EngineTypes.semv = _1;
10758 MenhirLib.EngineTypes.startp = _startpos__1_;
10759 MenhirLib.EngineTypes.endp = _endpos__1_;
10760 MenhirLib.EngineTypes.next = _menhir_stack;
10761 } = _menhir_stack in
10762 let _1 : (
10763 # 61 "parser_cocci_menhir.mly"
10764 (string * Data.clt)
10765 # 10766 "parser_cocci_menhir.ml"
10766 ) = Obj.magic _1 in
10767 let _startpos = _startpos__1_ in
10768 let _endpos = _endpos__1_ in
10769 let _v : 'tv_decl_ident =
10770 # 1680 "parser_cocci_menhir.mly"
10771 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
10772 # 10773 "parser_cocci_menhir.ml"
10773 in
10774 _menhir_env.MenhirLib.EngineTypes.stack <- {
10775 MenhirLib.EngineTypes.state = _menhir_s;
10776 MenhirLib.EngineTypes.semv = Obj.repr _v;
10777 MenhirLib.EngineTypes.startp = _startpos;
10778 MenhirLib.EngineTypes.endp = _endpos;
10779 MenhirLib.EngineTypes.next = _menhir_stack;
10780 });
10781 (fun _menhir_env ->
10782 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10783 let {
10784 MenhirLib.EngineTypes.state = _menhir_s;
10785 MenhirLib.EngineTypes.semv = _1;
10786 MenhirLib.EngineTypes.startp = _startpos__1_;
10787 MenhirLib.EngineTypes.endp = _endpos__1_;
10788 MenhirLib.EngineTypes.next = _menhir_stack;
10789 } = _menhir_stack in
10790 let _1 : (
10791 # 65 "parser_cocci_menhir.mly"
10792 (Parse_aux.idinfo)
10793 # 10794 "parser_cocci_menhir.ml"
10794 ) = Obj.magic _1 in
10795 let _startpos = _startpos__1_ in
10796 let _endpos = _endpos__1_ in
10797 let _v : 'tv_decl_ident =
10798 # 1682 "parser_cocci_menhir.mly"
10799 ( let (nm,constraints,pure,clt) = _1 in
10800 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
10801 # 10802 "parser_cocci_menhir.ml"
10802 in
10803 _menhir_env.MenhirLib.EngineTypes.stack <- {
10804 MenhirLib.EngineTypes.state = _menhir_s;
10805 MenhirLib.EngineTypes.semv = Obj.repr _v;
10806 MenhirLib.EngineTypes.startp = _startpos;
10807 MenhirLib.EngineTypes.endp = _endpos;
10808 MenhirLib.EngineTypes.next = _menhir_stack;
10809 });
10810 (fun _menhir_env ->
10811 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10812 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
10813 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
10814 let _endpos = _startpos in
10815 let _v : 'tv_decl_list_decl_ =
10816 # 1702 "parser_cocci_menhir.mly"
10817 ( Ast0.wrap(Ast0.DOTS([])) )
10818 # 10819 "parser_cocci_menhir.ml"
10819 in
10820 _menhir_env.MenhirLib.EngineTypes.stack <- {
10821 MenhirLib.EngineTypes.state = _menhir_s;
10822 MenhirLib.EngineTypes.semv = Obj.repr _v;
10823 MenhirLib.EngineTypes.startp = _startpos;
10824 MenhirLib.EngineTypes.endp = _endpos;
10825 MenhirLib.EngineTypes.next = _menhir_stack;
10826 });
10827 (fun _menhir_env ->
10828 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10829 let {
10830 MenhirLib.EngineTypes.state = _menhir_s;
10831 MenhirLib.EngineTypes.semv = _1;
10832 MenhirLib.EngineTypes.startp = _startpos__1_;
10833 MenhirLib.EngineTypes.endp = _endpos__1_;
10834 MenhirLib.EngineTypes.next = _menhir_stack;
10835 } = _menhir_stack in
10836 let _1 : 'tv_decl_list_start_decl_ = Obj.magic _1 in
10837 let _startpos = _startpos__1_ in
10838 let _endpos = _endpos__1_ in
10839 let _v : 'tv_decl_list_decl_ =
10840 # 1704 "parser_cocci_menhir.mly"
10841 (let circle x =
10842 match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in
10843 if List.exists circle _1
10844 then Ast0.wrap(Ast0.CIRCLES(_1))
10845 else Ast0.wrap(Ast0.DOTS(_1)) )
10846 # 10847 "parser_cocci_menhir.ml"
10847 in
10848 _menhir_env.MenhirLib.EngineTypes.stack <- {
10849 MenhirLib.EngineTypes.state = _menhir_s;
10850 MenhirLib.EngineTypes.semv = Obj.repr _v;
10851 MenhirLib.EngineTypes.startp = _startpos;
10852 MenhirLib.EngineTypes.endp = _endpos;
10853 MenhirLib.EngineTypes.next = _menhir_stack;
10854 });
10855 (fun _menhir_env ->
10856 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10857 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
10858 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
10859 let _endpos = _startpos in
10860 let _v : 'tv_decl_list_name_opt_decl_ =
10861 # 1702 "parser_cocci_menhir.mly"
10862 ( Ast0.wrap(Ast0.DOTS([])) )
10863 # 10864 "parser_cocci_menhir.ml"
10864 in
10865 _menhir_env.MenhirLib.EngineTypes.stack <- {
10866 MenhirLib.EngineTypes.state = _menhir_s;
10867 MenhirLib.EngineTypes.semv = Obj.repr _v;
10868 MenhirLib.EngineTypes.startp = _startpos;
10869 MenhirLib.EngineTypes.endp = _endpos;
10870 MenhirLib.EngineTypes.next = _menhir_stack;
10871 });
10872 (fun _menhir_env ->
10873 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10874 let {
10875 MenhirLib.EngineTypes.state = _menhir_s;
10876 MenhirLib.EngineTypes.semv = _1;
10877 MenhirLib.EngineTypes.startp = _startpos__1_;
10878 MenhirLib.EngineTypes.endp = _endpos__1_;
10879 MenhirLib.EngineTypes.next = _menhir_stack;
10880 } = _menhir_stack in
10881 let _1 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _1 in
10882 let _startpos = _startpos__1_ in
10883 let _endpos = _endpos__1_ in
10884 let _v : 'tv_decl_list_name_opt_decl_ =
10885 # 1704 "parser_cocci_menhir.mly"
10886 (let circle x =
10887 match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in
10888 if List.exists circle _1
10889 then Ast0.wrap(Ast0.CIRCLES(_1))
10890 else Ast0.wrap(Ast0.DOTS(_1)) )
10891 # 10892 "parser_cocci_menhir.ml"
10892 in
10893 _menhir_env.MenhirLib.EngineTypes.stack <- {
10894 MenhirLib.EngineTypes.state = _menhir_s;
10895 MenhirLib.EngineTypes.semv = Obj.repr _v;
10896 MenhirLib.EngineTypes.startp = _startpos;
10897 MenhirLib.EngineTypes.endp = _endpos;
10898 MenhirLib.EngineTypes.next = _menhir_stack;
10899 });
10900 (fun _menhir_env ->
10901 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10902 let {
10903 MenhirLib.EngineTypes.state = _menhir_s;
10904 MenhirLib.EngineTypes.semv = _1;
10905 MenhirLib.EngineTypes.startp = _startpos__1_;
10906 MenhirLib.EngineTypes.endp = _endpos__1_;
10907 MenhirLib.EngineTypes.next = _menhir_stack;
10908 } = _menhir_stack in
10909 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
10910 let _startpos = _startpos__1_ in
10911 let _endpos = _endpos__1_ in
10912 let _v : 'tv_decl_list_start_decl_ =
10913 # 1711 "parser_cocci_menhir.mly"
10914 ( [_1] )
10915 # 10916 "parser_cocci_menhir.ml"
10916 in
10917 _menhir_env.MenhirLib.EngineTypes.stack <- {
10918 MenhirLib.EngineTypes.state = _menhir_s;
10919 MenhirLib.EngineTypes.semv = Obj.repr _v;
10920 MenhirLib.EngineTypes.startp = _startpos;
10921 MenhirLib.EngineTypes.endp = _endpos;
10922 MenhirLib.EngineTypes.next = _menhir_stack;
10923 });
10924 (fun _menhir_env ->
10925 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10926 let {
10927 MenhirLib.EngineTypes.semv = _3;
10928 MenhirLib.EngineTypes.startp = _startpos__3_;
10929 MenhirLib.EngineTypes.endp = _endpos__3_;
10930 MenhirLib.EngineTypes.next = {
10931 MenhirLib.EngineTypes.semv = _2;
10932 MenhirLib.EngineTypes.startp = _startpos__2_;
10933 MenhirLib.EngineTypes.endp = _endpos__2_;
10934 MenhirLib.EngineTypes.next = {
10935 MenhirLib.EngineTypes.state = _menhir_s;
10936 MenhirLib.EngineTypes.semv = _1;
10937 MenhirLib.EngineTypes.startp = _startpos__1_;
10938 MenhirLib.EngineTypes.endp = _endpos__1_;
10939 MenhirLib.EngineTypes.next = _menhir_stack;
10940 };
10941 };
10942 } = _menhir_stack in
10943 let _3 : 'tv_decl_list_start_decl_ = Obj.magic _3 in
10944 let _2 : (
10945 # 110 "parser_cocci_menhir.mly"
10946 (Data.clt)
10947 # 10948 "parser_cocci_menhir.ml"
10948 ) = Obj.magic _2 in
10949 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
10950 let _startpos = _startpos__1_ in
10951 let _endpos = _endpos__3_ in
10952 let _v : 'tv_decl_list_start_decl_ =
10953 # 1713 "parser_cocci_menhir.mly"
10954 ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
10955 # 10956 "parser_cocci_menhir.ml"
10956 in
10957 _menhir_env.MenhirLib.EngineTypes.stack <- {
10958 MenhirLib.EngineTypes.state = _menhir_s;
10959 MenhirLib.EngineTypes.semv = Obj.repr _v;
10960 MenhirLib.EngineTypes.startp = _startpos;
10961 MenhirLib.EngineTypes.endp = _endpos;
10962 MenhirLib.EngineTypes.next = _menhir_stack;
10963 });
10964 (fun _menhir_env ->
10965 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10966 let {
10967 MenhirLib.EngineTypes.semv = _2;
10968 MenhirLib.EngineTypes.startp = _startpos__2_;
10969 MenhirLib.EngineTypes.endp = _endpos__2_;
10970 MenhirLib.EngineTypes.next = {
10971 MenhirLib.EngineTypes.state = _menhir_s;
10972 MenhirLib.EngineTypes.semv = _1;
10973 MenhirLib.EngineTypes.startp = _startpos__1_;
10974 MenhirLib.EngineTypes.endp = _endpos__1_;
10975 MenhirLib.EngineTypes.next = _menhir_stack;
10976 };
10977 } = _menhir_stack in
10978 let _2 : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic _2 in
10979 let _1 : (
10980 # 76 "parser_cocci_menhir.mly"
10981 (Data.clt)
10982 # 10983 "parser_cocci_menhir.ml"
10983 ) = Obj.magic _1 in
10984 let _startpos = _startpos__1_ in
10985 let _endpos = _endpos__2_ in
10986 let _v : 'tv_decl_list_start_decl_ =
10987 # 1715 "parser_cocci_menhir.mly"
10988 ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
10989 (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
10990 # 10991 "parser_cocci_menhir.ml"
10991 in
10992 _menhir_env.MenhirLib.EngineTypes.stack <- {
10993 MenhirLib.EngineTypes.state = _menhir_s;
10994 MenhirLib.EngineTypes.semv = Obj.repr _v;
10995 MenhirLib.EngineTypes.startp = _startpos;
10996 MenhirLib.EngineTypes.endp = _endpos;
10997 MenhirLib.EngineTypes.next = _menhir_stack;
10998 });
10999 (fun _menhir_env ->
11000 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11001 let {
11002 MenhirLib.EngineTypes.state = _menhir_s;
11003 MenhirLib.EngineTypes.semv = _1;
11004 MenhirLib.EngineTypes.startp = _startpos__1_;
11005 MenhirLib.EngineTypes.endp = _endpos__1_;
11006 MenhirLib.EngineTypes.next = _menhir_stack;
11007 } = _menhir_stack in
11008 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
11009 let _startpos = _startpos__1_ in
11010 let _endpos = _endpos__1_ in
11011 let _v : 'tv_decl_list_start_name_opt_decl_ =
11012 # 1711 "parser_cocci_menhir.mly"
11013 ( [_1] )
11014 # 11015 "parser_cocci_menhir.ml"
11015 in
11016 _menhir_env.MenhirLib.EngineTypes.stack <- {
11017 MenhirLib.EngineTypes.state = _menhir_s;
11018 MenhirLib.EngineTypes.semv = Obj.repr _v;
11019 MenhirLib.EngineTypes.startp = _startpos;
11020 MenhirLib.EngineTypes.endp = _endpos;
11021 MenhirLib.EngineTypes.next = _menhir_stack;
11022 });
11023 (fun _menhir_env ->
11024 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11025 let {
11026 MenhirLib.EngineTypes.semv = _3;
11027 MenhirLib.EngineTypes.startp = _startpos__3_;
11028 MenhirLib.EngineTypes.endp = _endpos__3_;
11029 MenhirLib.EngineTypes.next = {
11030 MenhirLib.EngineTypes.semv = _2;
11031 MenhirLib.EngineTypes.startp = _startpos__2_;
11032 MenhirLib.EngineTypes.endp = _endpos__2_;
11033 MenhirLib.EngineTypes.next = {
11034 MenhirLib.EngineTypes.state = _menhir_s;
11035 MenhirLib.EngineTypes.semv = _1;
11036 MenhirLib.EngineTypes.startp = _startpos__1_;
11037 MenhirLib.EngineTypes.endp = _endpos__1_;
11038 MenhirLib.EngineTypes.next = _menhir_stack;
11039 };
11040 };
11041 } = _menhir_stack in
11042 let _3 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _3 in
11043 let _2 : (
11044 # 110 "parser_cocci_menhir.mly"
11045 (Data.clt)
11046 # 11047 "parser_cocci_menhir.ml"
11047 ) = Obj.magic _2 in
11048 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
11049 let _startpos = _startpos__1_ in
11050 let _endpos = _endpos__3_ in
11051 let _v : 'tv_decl_list_start_name_opt_decl_ =
11052 # 1713 "parser_cocci_menhir.mly"
11053 ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
11054 # 11055 "parser_cocci_menhir.ml"
11055 in
11056 _menhir_env.MenhirLib.EngineTypes.stack <- {
11057 MenhirLib.EngineTypes.state = _menhir_s;
11058 MenhirLib.EngineTypes.semv = Obj.repr _v;
11059 MenhirLib.EngineTypes.startp = _startpos;
11060 MenhirLib.EngineTypes.endp = _endpos;
11061 MenhirLib.EngineTypes.next = _menhir_stack;
11062 });
11063 (fun _menhir_env ->
11064 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11065 let {
11066 MenhirLib.EngineTypes.semv = _2;
11067 MenhirLib.EngineTypes.startp = _startpos__2_;
11068 MenhirLib.EngineTypes.endp = _endpos__2_;
11069 MenhirLib.EngineTypes.next = {
11070 MenhirLib.EngineTypes.state = _menhir_s;
11071 MenhirLib.EngineTypes.semv = _1;
11072 MenhirLib.EngineTypes.startp = _startpos__1_;
11073 MenhirLib.EngineTypes.endp = _endpos__1_;
11074 MenhirLib.EngineTypes.next = _menhir_stack;
11075 };
11076 } = _menhir_stack in
11077 let _2 : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic _2 in
11078 let _1 : (
11079 # 76 "parser_cocci_menhir.mly"
11080 (Data.clt)
11081 # 11082 "parser_cocci_menhir.ml"
11082 ) = Obj.magic _1 in
11083 let _startpos = _startpos__1_ in
11084 let _endpos = _endpos__2_ in
11085 let _v : 'tv_decl_list_start_name_opt_decl_ =
11086 # 1715 "parser_cocci_menhir.mly"
11087 ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
11088 (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
11089 # 11090 "parser_cocci_menhir.ml"
11090 in
11091 _menhir_env.MenhirLib.EngineTypes.stack <- {
11092 MenhirLib.EngineTypes.state = _menhir_s;
11093 MenhirLib.EngineTypes.semv = Obj.repr _v;
11094 MenhirLib.EngineTypes.startp = _startpos;
11095 MenhirLib.EngineTypes.endp = _endpos;
11096 MenhirLib.EngineTypes.next = _menhir_stack;
11097 });
11098 (fun _menhir_env ->
11099 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11100 let {
11101 MenhirLib.EngineTypes.state = _menhir_s;
11102 MenhirLib.EngineTypes.semv = _1;
11103 MenhirLib.EngineTypes.startp = _startpos__1_;
11104 MenhirLib.EngineTypes.endp = _endpos__1_;
11105 MenhirLib.EngineTypes.next = _menhir_stack;
11106 } = _menhir_stack in
11107 let _1 : (
11108 # 67 "parser_cocci_menhir.mly"
11109 (Parse_aux.info)
11110 # 11111 "parser_cocci_menhir.ml"
11111 ) = Obj.magic _1 in
11112 let _startpos = _startpos__1_ in
11113 let _endpos = _endpos__1_ in
11114 let _v : 'tv_decl_statement =
11115 # 1173 "parser_cocci_menhir.mly"
11116 ( let (nm,pure,clt) = _1 in
11117 [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
11118 # 11119 "parser_cocci_menhir.ml"
11119 in
11120 _menhir_env.MenhirLib.EngineTypes.stack <- {
11121 MenhirLib.EngineTypes.state = _menhir_s;
11122 MenhirLib.EngineTypes.semv = Obj.repr _v;
11123 MenhirLib.EngineTypes.startp = _startpos;
11124 MenhirLib.EngineTypes.endp = _endpos;
11125 MenhirLib.EngineTypes.next = _menhir_stack;
11126 });
11127 (fun _menhir_env ->
11128 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11129 let {
11130 MenhirLib.EngineTypes.state = _menhir_s;
11131 MenhirLib.EngineTypes.semv = _1;
11132 MenhirLib.EngineTypes.startp = _startpos__1_;
11133 MenhirLib.EngineTypes.endp = _endpos__1_;
11134 MenhirLib.EngineTypes.next = _menhir_stack;
11135 } = _menhir_stack in
11136 let _1 : 'tv_decl_var = Obj.magic _1 in
11137 let _startpos = _startpos__1_ in
11138 let _endpos = _endpos__1_ in
11139 let _v : 'tv_decl_statement =
11140 # 1176 "parser_cocci_menhir.mly"
11141 ( List.map
11142 (function x ->
11143 Ast0.wrap
11144 (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
11145 _1 )
11146 # 11147 "parser_cocci_menhir.ml"
11147 in
11148 _menhir_env.MenhirLib.EngineTypes.stack <- {
11149 MenhirLib.EngineTypes.state = _menhir_s;
11150 MenhirLib.EngineTypes.semv = Obj.repr _v;
11151 MenhirLib.EngineTypes.startp = _startpos;
11152 MenhirLib.EngineTypes.endp = _endpos;
11153 MenhirLib.EngineTypes.next = _menhir_stack;
11154 });
11155 (fun _menhir_env ->
11156 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11157 let {
11158 MenhirLib.EngineTypes.state = _menhir_s;
11159 MenhirLib.EngineTypes.semv = _1;
11160 MenhirLib.EngineTypes.startp = _startpos__1_;
11161 MenhirLib.EngineTypes.endp = _endpos__1_;
11162 MenhirLib.EngineTypes.next = _menhir_stack;
11163 } = _menhir_stack in
11164 let _1 : 'tv_statement = Obj.magic _1 in
11165 let _startpos = _startpos__1_ in
11166 let _endpos = _endpos__1_ in
11167 let _v : 'tv_decl_statement =
11168 # 1181 "parser_cocci_menhir.mly"
11169 ( [_1] )
11170 # 11171 "parser_cocci_menhir.ml"
11171 in
11172 _menhir_env.MenhirLib.EngineTypes.stack <- {
11173 MenhirLib.EngineTypes.state = _menhir_s;
11174 MenhirLib.EngineTypes.semv = Obj.repr _v;
11175 MenhirLib.EngineTypes.startp = _startpos;
11176 MenhirLib.EngineTypes.endp = _endpos;
11177 MenhirLib.EngineTypes.next = _menhir_stack;
11178 });
11179 (fun _menhir_env ->
11180 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11181 let {
11182 MenhirLib.EngineTypes.semv = _3;
11183 MenhirLib.EngineTypes.startp = _startpos__3_;
11184 MenhirLib.EngineTypes.endp = _endpos__3_;
11185 MenhirLib.EngineTypes.next = {
11186 MenhirLib.EngineTypes.semv = t;
11187 MenhirLib.EngineTypes.startp = _startpos_t_;
11188 MenhirLib.EngineTypes.endp = _endpos_t_;
11189 MenhirLib.EngineTypes.next = {
11190 MenhirLib.EngineTypes.state = _menhir_s;
11191 MenhirLib.EngineTypes.semv = _1;
11192 MenhirLib.EngineTypes.startp = _startpos__1_;
11193 MenhirLib.EngineTypes.endp = _endpos__1_;
11194 MenhirLib.EngineTypes.next = _menhir_stack;
11195 };
11196 };
11197 } = _menhir_stack in
11198 let _3 : (
11199 # 80 "parser_cocci_menhir.mly"
11200 (Data.clt)
11201 # 11202 "parser_cocci_menhir.ml"
11202 ) = Obj.magic _3 in
11203 let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in
11204 let _1 : (
11205 # 79 "parser_cocci_menhir.mly"
11206 (Data.clt)
11207 # 11208 "parser_cocci_menhir.ml"
11208 ) = Obj.magic _1 in
11209 let _startpos = _startpos__1_ in
11210 let _endpos = _endpos__3_ in
11211 let _v : 'tv_decl_statement =
11212 # 1190 "parser_cocci_menhir.mly"
11213 ( let (mids,code) = t in
11214 if List.for_all
11215 (function x ->
11216 match Ast0.unwrap x with Ast0.DOTS([]) -> true | _ -> false)
11217 code
11218 then []
11219 else
11220 [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, code, mids,
11221 P.clt2mcode ")" _3))] )
11222 # 11223 "parser_cocci_menhir.ml"
11223 in
11224 _menhir_env.MenhirLib.EngineTypes.stack <- {
11225 MenhirLib.EngineTypes.state = _menhir_s;
11226 MenhirLib.EngineTypes.semv = Obj.repr _v;
11227 MenhirLib.EngineTypes.startp = _startpos;
11228 MenhirLib.EngineTypes.endp = _endpos;
11229 MenhirLib.EngineTypes.next = _menhir_stack;
11230 });
11231 (fun _menhir_env ->
11232 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11233 let {
11234 MenhirLib.EngineTypes.state = _menhir_s;
11235 MenhirLib.EngineTypes.semv = _1;
11236 MenhirLib.EngineTypes.startp = _startpos__1_;
11237 MenhirLib.EngineTypes.endp = _endpos__1_;
11238 MenhirLib.EngineTypes.next = _menhir_stack;
11239 } = _menhir_stack in
11240 let _1 : (
11241 # 67 "parser_cocci_menhir.mly"
11242 (Parse_aux.info)
11243 # 11244 "parser_cocci_menhir.ml"
11244 ) = Obj.magic _1 in
11245 let _startpos = _startpos__1_ in
11246 let _endpos = _endpos__1_ in
11247 let _v : 'tv_decl_statement_expr =
11248 # 1203 "parser_cocci_menhir.mly"
11249 ( let (nm,pure,clt) = _1 in
11250 [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
11251 # 11252 "parser_cocci_menhir.ml"
11252 in
11253 _menhir_env.MenhirLib.EngineTypes.stack <- {
11254 MenhirLib.EngineTypes.state = _menhir_s;
11255 MenhirLib.EngineTypes.semv = Obj.repr _v;
11256 MenhirLib.EngineTypes.startp = _startpos;
11257 MenhirLib.EngineTypes.endp = _endpos;
11258 MenhirLib.EngineTypes.next = _menhir_stack;
11259 });
11260 (fun _menhir_env ->
11261 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11262 let {
11263 MenhirLib.EngineTypes.state = _menhir_s;
11264 MenhirLib.EngineTypes.semv = _1;
11265 MenhirLib.EngineTypes.startp = _startpos__1_;
11266 MenhirLib.EngineTypes.endp = _endpos__1_;
11267 MenhirLib.EngineTypes.next = _menhir_stack;
11268 } = _menhir_stack in
11269 let _1 : 'tv_decl_var = Obj.magic _1 in
11270 let _startpos = _startpos__1_ in
11271 let _endpos = _endpos__1_ in
11272 let _v : 'tv_decl_statement_expr =
11273 # 1206 "parser_cocci_menhir.mly"
11274 ( List.map
11275 (function x ->
11276 Ast0.wrap
11277 (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
11278 _1 )
11279 # 11280 "parser_cocci_menhir.ml"
11280 in
11281 _menhir_env.MenhirLib.EngineTypes.stack <- {
11282 MenhirLib.EngineTypes.state = _menhir_s;
11283 MenhirLib.EngineTypes.semv = Obj.repr _v;
11284 MenhirLib.EngineTypes.startp = _startpos;
11285 MenhirLib.EngineTypes.endp = _endpos;
11286 MenhirLib.EngineTypes.next = _menhir_stack;
11287 });
11288 (fun _menhir_env ->
11289 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11290 let {
11291 MenhirLib.EngineTypes.state = _menhir_s;
11292 MenhirLib.EngineTypes.semv = _1;
11293 MenhirLib.EngineTypes.startp = _startpos__1_;
11294 MenhirLib.EngineTypes.endp = _endpos__1_;
11295 MenhirLib.EngineTypes.next = _menhir_stack;
11296 } = _menhir_stack in
11297 let _1 : 'tv_statement = Obj.magic _1 in
11298 let _startpos = _startpos__1_ in
11299 let _endpos = _endpos__1_ in
11300 let _v : 'tv_decl_statement_expr =
11301 # 1211 "parser_cocci_menhir.mly"
11302 ( [_1] )
11303 # 11304 "parser_cocci_menhir.ml"
11304 in
11305 _menhir_env.MenhirLib.EngineTypes.stack <- {
11306 MenhirLib.EngineTypes.state = _menhir_s;
11307 MenhirLib.EngineTypes.semv = Obj.repr _v;
11308 MenhirLib.EngineTypes.startp = _startpos;
11309 MenhirLib.EngineTypes.endp = _endpos;
11310 MenhirLib.EngineTypes.next = _menhir_stack;
11311 });
11312 (fun _menhir_env ->
11313 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11314 let {
11315 MenhirLib.EngineTypes.semv = _3;
11316 MenhirLib.EngineTypes.startp = _startpos__3_;
11317 MenhirLib.EngineTypes.endp = _endpos__3_;
11318 MenhirLib.EngineTypes.next = {
11319 MenhirLib.EngineTypes.semv = t;
11320 MenhirLib.EngineTypes.startp = _startpos_t_;
11321 MenhirLib.EngineTypes.endp = _endpos_t_;
11322 MenhirLib.EngineTypes.next = {
11323 MenhirLib.EngineTypes.state = _menhir_s;
11324 MenhirLib.EngineTypes.semv = _1;
11325 MenhirLib.EngineTypes.startp = _startpos__1_;
11326 MenhirLib.EngineTypes.endp = _endpos__1_;
11327 MenhirLib.EngineTypes.next = _menhir_stack;
11328 };
11329 };
11330 } = _menhir_stack in
11331 let _3 : (
11332 # 80 "parser_cocci_menhir.mly"
11333 (Data.clt)
11334 # 11335 "parser_cocci_menhir.ml"
11335 ) = Obj.magic _3 in
11336 let t : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = Obj.magic t in
11337 let _1 : (
11338 # 79 "parser_cocci_menhir.mly"
11339 (Data.clt)
11340 # 11341 "parser_cocci_menhir.ml"
11341 ) = Obj.magic _1 in
11342 let _startpos = _startpos__1_ in
11343 let _endpos = _endpos__3_ in
11344 let _v : 'tv_decl_statement_expr =
11345 # 1220 "parser_cocci_menhir.mly"
11346 ( let (mids,code) = t in
11347 if List.for_all (function [] -> true | _ -> false) code
11348 then []
11349 else
11350 let dot_code =
11351 List.map (function x -> Ast0.wrap(Ast0.DOTS x)) code in
11352 [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, dot_code, mids,
11353 P.clt2mcode ")" _3))] )
11354 # 11355 "parser_cocci_menhir.ml"
11355 in
11356 _menhir_env.MenhirLib.EngineTypes.stack <- {
11357 MenhirLib.EngineTypes.state = _menhir_s;
11358 MenhirLib.EngineTypes.semv = Obj.repr _v;
11359 MenhirLib.EngineTypes.startp = _startpos;
11360 MenhirLib.EngineTypes.endp = _endpos;
11361 MenhirLib.EngineTypes.next = _menhir_stack;
11362 });
11363 (fun _menhir_env ->
11364 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11365 let {
11366 MenhirLib.EngineTypes.semv = pv;
11367 MenhirLib.EngineTypes.startp = _startpos_pv_;
11368 MenhirLib.EngineTypes.endp = _endpos_pv_;
11369 MenhirLib.EngineTypes.next = {
11370 MenhirLib.EngineTypes.state = _menhir_s;
11371 MenhirLib.EngineTypes.semv = t;
11372 MenhirLib.EngineTypes.startp = _startpos_t_;
11373 MenhirLib.EngineTypes.endp = _endpos_t_;
11374 MenhirLib.EngineTypes.next = _menhir_stack;
11375 };
11376 } = _menhir_stack in
11377 let pv : (
11378 # 110 "parser_cocci_menhir.mly"
11379 (Data.clt)
11380 # 11381 "parser_cocci_menhir.ml"
11381 ) = Obj.magic pv in
11382 let t : 'tv_ctype = Obj.magic t in
11383 let _startpos = _startpos_t_ in
11384 let _endpos = _endpos_pv_ in
11385 let _v : 'tv_decl_var =
11386 # 979 "parser_cocci_menhir.mly"
11387 ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] )
11388 # 11389 "parser_cocci_menhir.ml"
11389 in
11390 _menhir_env.MenhirLib.EngineTypes.stack <- {
11391 MenhirLib.EngineTypes.state = _menhir_s;
11392 MenhirLib.EngineTypes.semv = Obj.repr _v;
11393 MenhirLib.EngineTypes.startp = _startpos;
11394 MenhirLib.EngineTypes.endp = _endpos;
11395 MenhirLib.EngineTypes.next = _menhir_stack;
11396 });
11397 (fun _menhir_env ->
11398 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11399 let {
11400 MenhirLib.EngineTypes.semv = pv;
11401 MenhirLib.EngineTypes.startp = _startpos_pv_;
11402 MenhirLib.EngineTypes.endp = _endpos_pv_;
11403 MenhirLib.EngineTypes.next = {
11404 MenhirLib.EngineTypes.semv = d;
11405 MenhirLib.EngineTypes.startp = _startpos_d_;
11406 MenhirLib.EngineTypes.endp = _endpos_d_;
11407 MenhirLib.EngineTypes.next = {
11408 MenhirLib.EngineTypes.state = _menhir_s;
11409 MenhirLib.EngineTypes.semv = t;
11410 MenhirLib.EngineTypes.startp = _startpos_t_;
11411 MenhirLib.EngineTypes.endp = _endpos_t_;
11412 MenhirLib.EngineTypes.next = _menhir_stack;
11413 };
11414 };
11415 } = _menhir_stack in
11416 let pv : (
11417 # 110 "parser_cocci_menhir.mly"
11418 (Data.clt)
11419 # 11420 "parser_cocci_menhir.ml"
11420 ) = Obj.magic pv in
11421 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11422 let t : 'tv_ctype = Obj.magic t in
11423 let _startpos = _startpos_t_ in
11424 let _endpos = _endpos_pv_ in
11425 let _v : 'tv_decl_var = let s =
11426
11427 # 39 "standard.mly"
11428 ( None )
11429 # 11430 "parser_cocci_menhir.ml"
11430
11431 in
11432
11433 # 981 "parser_cocci_menhir.mly"
11434 ( List.map
11435 (function (id,fn) ->
11436 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
11437 d )
11438 # 11439 "parser_cocci_menhir.ml"
11439 in
11440 _menhir_env.MenhirLib.EngineTypes.stack <- {
11441 MenhirLib.EngineTypes.state = _menhir_s;
11442 MenhirLib.EngineTypes.semv = Obj.repr _v;
11443 MenhirLib.EngineTypes.startp = _startpos;
11444 MenhirLib.EngineTypes.endp = _endpos;
11445 MenhirLib.EngineTypes.next = _menhir_stack;
11446 });
11447 (fun _menhir_env ->
11448 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11449 let {
11450 MenhirLib.EngineTypes.semv = pv;
11451 MenhirLib.EngineTypes.startp = _startpos_pv_;
11452 MenhirLib.EngineTypes.endp = _endpos_pv_;
11453 MenhirLib.EngineTypes.next = {
11454 MenhirLib.EngineTypes.semv = d;
11455 MenhirLib.EngineTypes.startp = _startpos_d_;
11456 MenhirLib.EngineTypes.endp = _endpos_d_;
11457 MenhirLib.EngineTypes.next = {
11458 MenhirLib.EngineTypes.semv = t;
11459 MenhirLib.EngineTypes.startp = _startpos_t_;
11460 MenhirLib.EngineTypes.endp = _endpos_t_;
11461 MenhirLib.EngineTypes.next = {
11462 MenhirLib.EngineTypes.state = _menhir_s;
11463 MenhirLib.EngineTypes.semv = x0;
11464 MenhirLib.EngineTypes.startp = _startpos_x0_;
11465 MenhirLib.EngineTypes.endp = _endpos_x0_;
11466 MenhirLib.EngineTypes.next = _menhir_stack;
11467 };
11468 };
11469 };
11470 } = _menhir_stack in
11471 let pv : (
11472 # 110 "parser_cocci_menhir.mly"
11473 (Data.clt)
11474 # 11475 "parser_cocci_menhir.ml"
11475 ) = Obj.magic pv in
11476 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11477 let t : 'tv_ctype = Obj.magic t in
11478 let x0 : 'tv_storage = Obj.magic x0 in
11479 let _startpos = _startpos_x0_ in
11480 let _endpos = _endpos_pv_ in
11481 let _v : 'tv_decl_var = let s =
11482 let x = x0 in
11483
11484 # 41 "standard.mly"
11485 ( Some x )
11486 # 11487 "parser_cocci_menhir.ml"
11487
11488 in
11489
11490 # 981 "parser_cocci_menhir.mly"
11491 ( List.map
11492 (function (id,fn) ->
11493 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
11494 d )
11495 # 11496 "parser_cocci_menhir.ml"
11496 in
11497 _menhir_env.MenhirLib.EngineTypes.stack <- {
11498 MenhirLib.EngineTypes.state = _menhir_s;
11499 MenhirLib.EngineTypes.semv = Obj.repr _v;
11500 MenhirLib.EngineTypes.startp = _startpos;
11501 MenhirLib.EngineTypes.endp = _endpos;
11502 MenhirLib.EngineTypes.next = _menhir_stack;
11503 });
11504 (fun _menhir_env ->
11505 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11506 let {
11507 MenhirLib.EngineTypes.state = _menhir_s;
11508 MenhirLib.EngineTypes.semv = f;
11509 MenhirLib.EngineTypes.startp = _startpos_f_;
11510 MenhirLib.EngineTypes.endp = _endpos_f_;
11511 MenhirLib.EngineTypes.next = _menhir_stack;
11512 } = _menhir_stack in
11513 let f : 'tv_funproto = Obj.magic f in
11514 let _startpos = _startpos_f_ in
11515 let _endpos = _endpos_f_ in
11516 let _v : 'tv_decl_var =
11517 # 985 "parser_cocci_menhir.mly"
11518 ( [f] )
11519 # 11520 "parser_cocci_menhir.ml"
11520 in
11521 _menhir_env.MenhirLib.EngineTypes.stack <- {
11522 MenhirLib.EngineTypes.state = _menhir_s;
11523 MenhirLib.EngineTypes.semv = Obj.repr _v;
11524 MenhirLib.EngineTypes.startp = _startpos;
11525 MenhirLib.EngineTypes.endp = _endpos;
11526 MenhirLib.EngineTypes.next = _menhir_stack;
11527 });
11528 (fun _menhir_env ->
11529 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11530 let {
11531 MenhirLib.EngineTypes.semv = pv;
11532 MenhirLib.EngineTypes.startp = _startpos_pv_;
11533 MenhirLib.EngineTypes.endp = _endpos_pv_;
11534 MenhirLib.EngineTypes.next = {
11535 MenhirLib.EngineTypes.semv = e;
11536 MenhirLib.EngineTypes.startp = _startpos_e_;
11537 MenhirLib.EngineTypes.endp = _endpos_e_;
11538 MenhirLib.EngineTypes.next = {
11539 MenhirLib.EngineTypes.semv = q;
11540 MenhirLib.EngineTypes.startp = _startpos_q_;
11541 MenhirLib.EngineTypes.endp = _endpos_q_;
11542 MenhirLib.EngineTypes.next = {
11543 MenhirLib.EngineTypes.semv = d;
11544 MenhirLib.EngineTypes.startp = _startpos_d_;
11545 MenhirLib.EngineTypes.endp = _endpos_d_;
11546 MenhirLib.EngineTypes.next = {
11547 MenhirLib.EngineTypes.state = _menhir_s;
11548 MenhirLib.EngineTypes.semv = t;
11549 MenhirLib.EngineTypes.startp = _startpos_t_;
11550 MenhirLib.EngineTypes.endp = _endpos_t_;
11551 MenhirLib.EngineTypes.next = _menhir_stack;
11552 };
11553 };
11554 };
11555 };
11556 } = _menhir_stack in
11557 let pv : (
11558 # 110 "parser_cocci_menhir.mly"
11559 (Data.clt)
11560 # 11561 "parser_cocci_menhir.ml"
11561 ) = Obj.magic pv in
11562 let e : 'tv_initialize = Obj.magic e in
11563 let q : (
11564 # 110 "parser_cocci_menhir.mly"
11565 (Data.clt)
11566 # 11567 "parser_cocci_menhir.ml"
11567 ) = Obj.magic q in
11568 let d : 'tv_d_ident = Obj.magic d in
11569 let t : 'tv_ctype = Obj.magic t in
11570 let _startpos = _startpos_t_ in
11571 let _endpos = _endpos_pv_ in
11572 let _v : 'tv_decl_var = let s =
11573
11574 # 39 "standard.mly"
11575 ( None )
11576 # 11577 "parser_cocci_menhir.ml"
11577
11578 in
11579
11580 # 987 "parser_cocci_menhir.mly"
11581 (let (id,fn) = d in
11582 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
11583 # 11584 "parser_cocci_menhir.ml"
11584 in
11585 _menhir_env.MenhirLib.EngineTypes.stack <- {
11586 MenhirLib.EngineTypes.state = _menhir_s;
11587 MenhirLib.EngineTypes.semv = Obj.repr _v;
11588 MenhirLib.EngineTypes.startp = _startpos;
11589 MenhirLib.EngineTypes.endp = _endpos;
11590 MenhirLib.EngineTypes.next = _menhir_stack;
11591 });
11592 (fun _menhir_env ->
11593 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11594 let {
11595 MenhirLib.EngineTypes.semv = pv;
11596 MenhirLib.EngineTypes.startp = _startpos_pv_;
11597 MenhirLib.EngineTypes.endp = _endpos_pv_;
11598 MenhirLib.EngineTypes.next = {
11599 MenhirLib.EngineTypes.semv = e;
11600 MenhirLib.EngineTypes.startp = _startpos_e_;
11601 MenhirLib.EngineTypes.endp = _endpos_e_;
11602 MenhirLib.EngineTypes.next = {
11603 MenhirLib.EngineTypes.semv = q;
11604 MenhirLib.EngineTypes.startp = _startpos_q_;
11605 MenhirLib.EngineTypes.endp = _endpos_q_;
11606 MenhirLib.EngineTypes.next = {
11607 MenhirLib.EngineTypes.semv = d;
11608 MenhirLib.EngineTypes.startp = _startpos_d_;
11609 MenhirLib.EngineTypes.endp = _endpos_d_;
11610 MenhirLib.EngineTypes.next = {
11611 MenhirLib.EngineTypes.semv = t;
11612 MenhirLib.EngineTypes.startp = _startpos_t_;
11613 MenhirLib.EngineTypes.endp = _endpos_t_;
11614 MenhirLib.EngineTypes.next = {
11615 MenhirLib.EngineTypes.state = _menhir_s;
11616 MenhirLib.EngineTypes.semv = x0;
11617 MenhirLib.EngineTypes.startp = _startpos_x0_;
11618 MenhirLib.EngineTypes.endp = _endpos_x0_;
11619 MenhirLib.EngineTypes.next = _menhir_stack;
11620 };
11621 };
11622 };
11623 };
11624 };
11625 } = _menhir_stack in
11626 let pv : (
11627 # 110 "parser_cocci_menhir.mly"
11628 (Data.clt)
11629 # 11630 "parser_cocci_menhir.ml"
11630 ) = Obj.magic pv in
11631 let e : 'tv_initialize = Obj.magic e in
11632 let q : (
11633 # 110 "parser_cocci_menhir.mly"
11634 (Data.clt)
11635 # 11636 "parser_cocci_menhir.ml"
11636 ) = Obj.magic q in
11637 let d : 'tv_d_ident = Obj.magic d in
11638 let t : 'tv_ctype = Obj.magic t in
11639 let x0 : 'tv_storage = Obj.magic x0 in
11640 let _startpos = _startpos_x0_ in
11641 let _endpos = _endpos_pv_ in
11642 let _v : 'tv_decl_var = let s =
11643 let x = x0 in
11644
11645 # 41 "standard.mly"
11646 ( Some x )
11647 # 11648 "parser_cocci_menhir.ml"
11648
11649 in
11650
11651 # 987 "parser_cocci_menhir.mly"
11652 (let (id,fn) = d in
11653 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
11654 # 11655 "parser_cocci_menhir.ml"
11655 in
11656 _menhir_env.MenhirLib.EngineTypes.stack <- {
11657 MenhirLib.EngineTypes.state = _menhir_s;
11658 MenhirLib.EngineTypes.semv = Obj.repr _v;
11659 MenhirLib.EngineTypes.startp = _startpos;
11660 MenhirLib.EngineTypes.endp = _endpos;
11661 MenhirLib.EngineTypes.next = _menhir_stack;
11662 });
11663 (fun _menhir_env ->
11664 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11665 let {
11666 MenhirLib.EngineTypes.semv = pv;
11667 MenhirLib.EngineTypes.startp = _startpos_pv_;
11668 MenhirLib.EngineTypes.endp = _endpos_pv_;
11669 MenhirLib.EngineTypes.next = {
11670 MenhirLib.EngineTypes.semv = d;
11671 MenhirLib.EngineTypes.startp = _startpos_d_;
11672 MenhirLib.EngineTypes.endp = _endpos_d_;
11673 MenhirLib.EngineTypes.next = {
11674 MenhirLib.EngineTypes.state = _menhir_s;
11675 MenhirLib.EngineTypes.semv = i;
11676 MenhirLib.EngineTypes.startp = _startpos_i_;
11677 MenhirLib.EngineTypes.endp = _endpos_i_;
11678 MenhirLib.EngineTypes.next = _menhir_stack;
11679 };
11680 };
11681 } = _menhir_stack in
11682 let pv : (
11683 # 110 "parser_cocci_menhir.mly"
11684 (Data.clt)
11685 # 11686 "parser_cocci_menhir.ml"
11686 ) = Obj.magic pv in
11687 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11688 let i : 'tv_pure_ident = Obj.magic i in
11689 let _startpos = _startpos_i_ in
11690 let _endpos = _endpos_pv_ in
11691 let _v : 'tv_decl_var = let cv =
11692
11693 # 39 "standard.mly"
11694 ( None )
11695 # 11696 "parser_cocci_menhir.ml"
11696
11697 in
11698 let s =
11699
11700 # 39 "standard.mly"
11701 ( None )
11702 # 11703 "parser_cocci_menhir.ml"
11703
11704 in
11705
11706 # 992 "parser_cocci_menhir.mly"
11707 ( List.map
11708 (function (id,fn) ->
11709 let idtype =
11710 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
11711 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
11712 d )
11713 # 11714 "parser_cocci_menhir.ml"
11714 in
11715 _menhir_env.MenhirLib.EngineTypes.stack <- {
11716 MenhirLib.EngineTypes.state = _menhir_s;
11717 MenhirLib.EngineTypes.semv = Obj.repr _v;
11718 MenhirLib.EngineTypes.startp = _startpos;
11719 MenhirLib.EngineTypes.endp = _endpos;
11720 MenhirLib.EngineTypes.next = _menhir_stack;
11721 });
11722 (fun _menhir_env ->
11723 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11724 let {
11725 MenhirLib.EngineTypes.semv = pv;
11726 MenhirLib.EngineTypes.startp = _startpos_pv_;
11727 MenhirLib.EngineTypes.endp = _endpos_pv_;
11728 MenhirLib.EngineTypes.next = {
11729 MenhirLib.EngineTypes.semv = d;
11730 MenhirLib.EngineTypes.startp = _startpos_d_;
11731 MenhirLib.EngineTypes.endp = _endpos_d_;
11732 MenhirLib.EngineTypes.next = {
11733 MenhirLib.EngineTypes.semv = i;
11734 MenhirLib.EngineTypes.startp = _startpos_i_;
11735 MenhirLib.EngineTypes.endp = _endpos_i_;
11736 MenhirLib.EngineTypes.next = {
11737 MenhirLib.EngineTypes.state = _menhir_s;
11738 MenhirLib.EngineTypes.semv = x0;
11739 MenhirLib.EngineTypes.startp = _startpos_x0_;
11740 MenhirLib.EngineTypes.endp = _endpos_x0_;
11741 MenhirLib.EngineTypes.next = _menhir_stack;
11742 };
11743 };
11744 };
11745 } = _menhir_stack in
11746 let pv : (
11747 # 110 "parser_cocci_menhir.mly"
11748 (Data.clt)
11749 # 11750 "parser_cocci_menhir.ml"
11750 ) = Obj.magic pv in
11751 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11752 let i : 'tv_pure_ident = Obj.magic i in
11753 let x0 : 'tv_const_vol = Obj.magic x0 in
11754 let _startpos = _startpos_x0_ in
11755 let _endpos = _endpos_pv_ in
11756 let _v : 'tv_decl_var = let cv =
11757 let x = x0 in
11758
11759 # 41 "standard.mly"
11760 ( Some x )
11761 # 11762 "parser_cocci_menhir.ml"
11762
11763 in
11764 let s =
11765
11766 # 39 "standard.mly"
11767 ( None )
11768 # 11769 "parser_cocci_menhir.ml"
11769
11770 in
11771
11772 # 992 "parser_cocci_menhir.mly"
11773 ( List.map
11774 (function (id,fn) ->
11775 let idtype =
11776 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
11777 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
11778 d )
11779 # 11780 "parser_cocci_menhir.ml"
11780 in
11781 _menhir_env.MenhirLib.EngineTypes.stack <- {
11782 MenhirLib.EngineTypes.state = _menhir_s;
11783 MenhirLib.EngineTypes.semv = Obj.repr _v;
11784 MenhirLib.EngineTypes.startp = _startpos;
11785 MenhirLib.EngineTypes.endp = _endpos;
11786 MenhirLib.EngineTypes.next = _menhir_stack;
11787 });
11788 (fun _menhir_env ->
11789 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11790 let {
11791 MenhirLib.EngineTypes.semv = pv;
11792 MenhirLib.EngineTypes.startp = _startpos_pv_;
11793 MenhirLib.EngineTypes.endp = _endpos_pv_;
11794 MenhirLib.EngineTypes.next = {
11795 MenhirLib.EngineTypes.semv = d;
11796 MenhirLib.EngineTypes.startp = _startpos_d_;
11797 MenhirLib.EngineTypes.endp = _endpos_d_;
11798 MenhirLib.EngineTypes.next = {
11799 MenhirLib.EngineTypes.semv = i;
11800 MenhirLib.EngineTypes.startp = _startpos_i_;
11801 MenhirLib.EngineTypes.endp = _endpos_i_;
11802 MenhirLib.EngineTypes.next = {
11803 MenhirLib.EngineTypes.state = _menhir_s;
11804 MenhirLib.EngineTypes.semv = x0;
11805 MenhirLib.EngineTypes.startp = _startpos_x0_;
11806 MenhirLib.EngineTypes.endp = _endpos_x0_;
11807 MenhirLib.EngineTypes.next = _menhir_stack;
11808 };
11809 };
11810 };
11811 } = _menhir_stack in
11812 let pv : (
11813 # 110 "parser_cocci_menhir.mly"
11814 (Data.clt)
11815 # 11816 "parser_cocci_menhir.ml"
11816 ) = Obj.magic pv in
11817 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11818 let i : 'tv_pure_ident = Obj.magic i in
11819 let x0 : 'tv_storage = Obj.magic x0 in
11820 let _startpos = _startpos_x0_ in
11821 let _endpos = _endpos_pv_ in
11822 let _v : 'tv_decl_var = let cv =
11823
11824 # 39 "standard.mly"
11825 ( None )
11826 # 11827 "parser_cocci_menhir.ml"
11827
11828 in
11829 let s =
11830 let x = x0 in
11831
11832 # 41 "standard.mly"
11833 ( Some x )
11834 # 11835 "parser_cocci_menhir.ml"
11835
11836 in
11837
11838 # 992 "parser_cocci_menhir.mly"
11839 ( List.map
11840 (function (id,fn) ->
11841 let idtype =
11842 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
11843 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
11844 d )
11845 # 11846 "parser_cocci_menhir.ml"
11846 in
11847 _menhir_env.MenhirLib.EngineTypes.stack <- {
11848 MenhirLib.EngineTypes.state = _menhir_s;
11849 MenhirLib.EngineTypes.semv = Obj.repr _v;
11850 MenhirLib.EngineTypes.startp = _startpos;
11851 MenhirLib.EngineTypes.endp = _endpos;
11852 MenhirLib.EngineTypes.next = _menhir_stack;
11853 });
11854 (fun _menhir_env ->
11855 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11856 let {
11857 MenhirLib.EngineTypes.semv = pv;
11858 MenhirLib.EngineTypes.startp = _startpos_pv_;
11859 MenhirLib.EngineTypes.endp = _endpos_pv_;
11860 MenhirLib.EngineTypes.next = {
11861 MenhirLib.EngineTypes.semv = d;
11862 MenhirLib.EngineTypes.startp = _startpos_d_;
11863 MenhirLib.EngineTypes.endp = _endpos_d_;
11864 MenhirLib.EngineTypes.next = {
11865 MenhirLib.EngineTypes.semv = i;
11866 MenhirLib.EngineTypes.startp = _startpos_i_;
11867 MenhirLib.EngineTypes.endp = _endpos_i_;
11868 MenhirLib.EngineTypes.next = {
11869 MenhirLib.EngineTypes.semv = x1;
11870 MenhirLib.EngineTypes.startp = _startpos_x1_;
11871 MenhirLib.EngineTypes.endp = _endpos_x1_;
11872 MenhirLib.EngineTypes.next = {
11873 MenhirLib.EngineTypes.state = _menhir_s;
11874 MenhirLib.EngineTypes.semv = x0;
11875 MenhirLib.EngineTypes.startp = _startpos_x0_;
11876 MenhirLib.EngineTypes.endp = _endpos_x0_;
11877 MenhirLib.EngineTypes.next = _menhir_stack;
11878 };
11879 };
11880 };
11881 };
11882 } = _menhir_stack in
11883 let pv : (
11884 # 110 "parser_cocci_menhir.mly"
11885 (Data.clt)
11886 # 11887 "parser_cocci_menhir.ml"
11887 ) = Obj.magic pv in
11888 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
11889 let i : 'tv_pure_ident = Obj.magic i in
11890 let x1 : 'tv_const_vol = Obj.magic x1 in
11891 let x0 : 'tv_storage = Obj.magic x0 in
11892 let _startpos = _startpos_x0_ in
11893 let _endpos = _endpos_pv_ in
11894 let _v : 'tv_decl_var = let cv =
11895 let x = x1 in
11896
11897 # 41 "standard.mly"
11898 ( Some x )
11899 # 11900 "parser_cocci_menhir.ml"
11900
11901 in
11902 let s =
11903 let x = x0 in
11904
11905 # 41 "standard.mly"
11906 ( Some x )
11907 # 11908 "parser_cocci_menhir.ml"
11908
11909 in
11910
11911 # 992 "parser_cocci_menhir.mly"
11912 ( List.map
11913 (function (id,fn) ->
11914 let idtype =
11915 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
11916 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
11917 d )
11918 # 11919 "parser_cocci_menhir.ml"
11919 in
11920 _menhir_env.MenhirLib.EngineTypes.stack <- {
11921 MenhirLib.EngineTypes.state = _menhir_s;
11922 MenhirLib.EngineTypes.semv = Obj.repr _v;
11923 MenhirLib.EngineTypes.startp = _startpos;
11924 MenhirLib.EngineTypes.endp = _endpos;
11925 MenhirLib.EngineTypes.next = _menhir_stack;
11926 });
11927 (fun _menhir_env ->
11928 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11929 let {
11930 MenhirLib.EngineTypes.semv = pv;
11931 MenhirLib.EngineTypes.startp = _startpos_pv_;
11932 MenhirLib.EngineTypes.endp = _endpos_pv_;
11933 MenhirLib.EngineTypes.next = {
11934 MenhirLib.EngineTypes.semv = e;
11935 MenhirLib.EngineTypes.startp = _startpos_e_;
11936 MenhirLib.EngineTypes.endp = _endpos_e_;
11937 MenhirLib.EngineTypes.next = {
11938 MenhirLib.EngineTypes.semv = q;
11939 MenhirLib.EngineTypes.startp = _startpos_q_;
11940 MenhirLib.EngineTypes.endp = _endpos_q_;
11941 MenhirLib.EngineTypes.next = {
11942 MenhirLib.EngineTypes.semv = d;
11943 MenhirLib.EngineTypes.startp = _startpos_d_;
11944 MenhirLib.EngineTypes.endp = _endpos_d_;
11945 MenhirLib.EngineTypes.next = {
11946 MenhirLib.EngineTypes.state = _menhir_s;
11947 MenhirLib.EngineTypes.semv = i;
11948 MenhirLib.EngineTypes.startp = _startpos_i_;
11949 MenhirLib.EngineTypes.endp = _endpos_i_;
11950 MenhirLib.EngineTypes.next = _menhir_stack;
11951 };
11952 };
11953 };
11954 };
11955 } = _menhir_stack in
11956 let pv : (
11957 # 110 "parser_cocci_menhir.mly"
11958 (Data.clt)
11959 # 11960 "parser_cocci_menhir.ml"
11960 ) = Obj.magic pv in
11961 let e : 'tv_initialize = Obj.magic e in
11962 let q : (
11963 # 110 "parser_cocci_menhir.mly"
11964 (Data.clt)
11965 # 11966 "parser_cocci_menhir.ml"
11966 ) = Obj.magic q in
11967 let d : 'tv_d_ident = Obj.magic d in
11968 let i : 'tv_pure_ident = Obj.magic i in
11969 let _startpos = _startpos_i_ in
11970 let _endpos = _endpos_pv_ in
11971 let _v : 'tv_decl_var = let cv =
11972
11973 # 39 "standard.mly"
11974 ( None )
11975 # 11976 "parser_cocci_menhir.ml"
11976
11977 in
11978 let s =
11979
11980 # 39 "standard.mly"
11981 ( None )
11982 # 11983 "parser_cocci_menhir.ml"
11983
11984 in
11985
11986 # 1000 "parser_cocci_menhir.mly"
11987 ( let (id,fn) = d in
11988 !Data.add_type_name (P.id2name i);
11989 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
11990 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
11991 P.clt2mcode ";" pv))] )
11992 # 11993 "parser_cocci_menhir.ml"
11993 in
11994 _menhir_env.MenhirLib.EngineTypes.stack <- {
11995 MenhirLib.EngineTypes.state = _menhir_s;
11996 MenhirLib.EngineTypes.semv = Obj.repr _v;
11997 MenhirLib.EngineTypes.startp = _startpos;
11998 MenhirLib.EngineTypes.endp = _endpos;
11999 MenhirLib.EngineTypes.next = _menhir_stack;
12000 });
12001 (fun _menhir_env ->
12002 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12003 let {
12004 MenhirLib.EngineTypes.semv = pv;
12005 MenhirLib.EngineTypes.startp = _startpos_pv_;
12006 MenhirLib.EngineTypes.endp = _endpos_pv_;
12007 MenhirLib.EngineTypes.next = {
12008 MenhirLib.EngineTypes.semv = e;
12009 MenhirLib.EngineTypes.startp = _startpos_e_;
12010 MenhirLib.EngineTypes.endp = _endpos_e_;
12011 MenhirLib.EngineTypes.next = {
12012 MenhirLib.EngineTypes.semv = q;
12013 MenhirLib.EngineTypes.startp = _startpos_q_;
12014 MenhirLib.EngineTypes.endp = _endpos_q_;
12015 MenhirLib.EngineTypes.next = {
12016 MenhirLib.EngineTypes.semv = d;
12017 MenhirLib.EngineTypes.startp = _startpos_d_;
12018 MenhirLib.EngineTypes.endp = _endpos_d_;
12019 MenhirLib.EngineTypes.next = {
12020 MenhirLib.EngineTypes.semv = i;
12021 MenhirLib.EngineTypes.startp = _startpos_i_;
12022 MenhirLib.EngineTypes.endp = _endpos_i_;
12023 MenhirLib.EngineTypes.next = {
12024 MenhirLib.EngineTypes.state = _menhir_s;
12025 MenhirLib.EngineTypes.semv = x0;
12026 MenhirLib.EngineTypes.startp = _startpos_x0_;
12027 MenhirLib.EngineTypes.endp = _endpos_x0_;
12028 MenhirLib.EngineTypes.next = _menhir_stack;
12029 };
12030 };
12031 };
12032 };
12033 };
12034 } = _menhir_stack in
12035 let pv : (
12036 # 110 "parser_cocci_menhir.mly"
12037 (Data.clt)
12038 # 12039 "parser_cocci_menhir.ml"
12039 ) = Obj.magic pv in
12040 let e : 'tv_initialize = Obj.magic e in
12041 let q : (
12042 # 110 "parser_cocci_menhir.mly"
12043 (Data.clt)
12044 # 12045 "parser_cocci_menhir.ml"
12045 ) = Obj.magic q in
12046 let d : 'tv_d_ident = Obj.magic d in
12047 let i : 'tv_pure_ident = Obj.magic i in
12048 let x0 : 'tv_const_vol = Obj.magic x0 in
12049 let _startpos = _startpos_x0_ in
12050 let _endpos = _endpos_pv_ in
12051 let _v : 'tv_decl_var = let cv =
12052 let x = x0 in
12053
12054 # 41 "standard.mly"
12055 ( Some x )
12056 # 12057 "parser_cocci_menhir.ml"
12057
12058 in
12059 let s =
12060
12061 # 39 "standard.mly"
12062 ( None )
12063 # 12064 "parser_cocci_menhir.ml"
12064
12065 in
12066
12067 # 1000 "parser_cocci_menhir.mly"
12068 ( let (id,fn) = d in
12069 !Data.add_type_name (P.id2name i);
12070 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
12071 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
12072 P.clt2mcode ";" pv))] )
12073 # 12074 "parser_cocci_menhir.ml"
12074 in
12075 _menhir_env.MenhirLib.EngineTypes.stack <- {
12076 MenhirLib.EngineTypes.state = _menhir_s;
12077 MenhirLib.EngineTypes.semv = Obj.repr _v;
12078 MenhirLib.EngineTypes.startp = _startpos;
12079 MenhirLib.EngineTypes.endp = _endpos;
12080 MenhirLib.EngineTypes.next = _menhir_stack;
12081 });
12082 (fun _menhir_env ->
12083 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12084 let {
12085 MenhirLib.EngineTypes.semv = pv;
12086 MenhirLib.EngineTypes.startp = _startpos_pv_;
12087 MenhirLib.EngineTypes.endp = _endpos_pv_;
12088 MenhirLib.EngineTypes.next = {
12089 MenhirLib.EngineTypes.semv = e;
12090 MenhirLib.EngineTypes.startp = _startpos_e_;
12091 MenhirLib.EngineTypes.endp = _endpos_e_;
12092 MenhirLib.EngineTypes.next = {
12093 MenhirLib.EngineTypes.semv = q;
12094 MenhirLib.EngineTypes.startp = _startpos_q_;
12095 MenhirLib.EngineTypes.endp = _endpos_q_;
12096 MenhirLib.EngineTypes.next = {
12097 MenhirLib.EngineTypes.semv = d;
12098 MenhirLib.EngineTypes.startp = _startpos_d_;
12099 MenhirLib.EngineTypes.endp = _endpos_d_;
12100 MenhirLib.EngineTypes.next = {
12101 MenhirLib.EngineTypes.semv = i;
12102 MenhirLib.EngineTypes.startp = _startpos_i_;
12103 MenhirLib.EngineTypes.endp = _endpos_i_;
12104 MenhirLib.EngineTypes.next = {
12105 MenhirLib.EngineTypes.state = _menhir_s;
12106 MenhirLib.EngineTypes.semv = x0;
12107 MenhirLib.EngineTypes.startp = _startpos_x0_;
12108 MenhirLib.EngineTypes.endp = _endpos_x0_;
12109 MenhirLib.EngineTypes.next = _menhir_stack;
12110 };
12111 };
12112 };
12113 };
12114 };
12115 } = _menhir_stack in
12116 let pv : (
12117 # 110 "parser_cocci_menhir.mly"
12118 (Data.clt)
12119 # 12120 "parser_cocci_menhir.ml"
12120 ) = Obj.magic pv in
12121 let e : 'tv_initialize = Obj.magic e in
12122 let q : (
12123 # 110 "parser_cocci_menhir.mly"
12124 (Data.clt)
12125 # 12126 "parser_cocci_menhir.ml"
12126 ) = Obj.magic q in
12127 let d : 'tv_d_ident = Obj.magic d in
12128 let i : 'tv_pure_ident = Obj.magic i in
12129 let x0 : 'tv_storage = Obj.magic x0 in
12130 let _startpos = _startpos_x0_ in
12131 let _endpos = _endpos_pv_ in
12132 let _v : 'tv_decl_var = let cv =
12133
12134 # 39 "standard.mly"
12135 ( None )
12136 # 12137 "parser_cocci_menhir.ml"
12137
12138 in
12139 let s =
12140 let x = x0 in
12141
12142 # 41 "standard.mly"
12143 ( Some x )
12144 # 12145 "parser_cocci_menhir.ml"
12145
12146 in
12147
12148 # 1000 "parser_cocci_menhir.mly"
12149 ( let (id,fn) = d in
12150 !Data.add_type_name (P.id2name i);
12151 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
12152 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
12153 P.clt2mcode ";" pv))] )
12154 # 12155 "parser_cocci_menhir.ml"
12155 in
12156 _menhir_env.MenhirLib.EngineTypes.stack <- {
12157 MenhirLib.EngineTypes.state = _menhir_s;
12158 MenhirLib.EngineTypes.semv = Obj.repr _v;
12159 MenhirLib.EngineTypes.startp = _startpos;
12160 MenhirLib.EngineTypes.endp = _endpos;
12161 MenhirLib.EngineTypes.next = _menhir_stack;
12162 });
12163 (fun _menhir_env ->
12164 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12165 let {
12166 MenhirLib.EngineTypes.semv = pv;
12167 MenhirLib.EngineTypes.startp = _startpos_pv_;
12168 MenhirLib.EngineTypes.endp = _endpos_pv_;
12169 MenhirLib.EngineTypes.next = {
12170 MenhirLib.EngineTypes.semv = e;
12171 MenhirLib.EngineTypes.startp = _startpos_e_;
12172 MenhirLib.EngineTypes.endp = _endpos_e_;
12173 MenhirLib.EngineTypes.next = {
12174 MenhirLib.EngineTypes.semv = q;
12175 MenhirLib.EngineTypes.startp = _startpos_q_;
12176 MenhirLib.EngineTypes.endp = _endpos_q_;
12177 MenhirLib.EngineTypes.next = {
12178 MenhirLib.EngineTypes.semv = d;
12179 MenhirLib.EngineTypes.startp = _startpos_d_;
12180 MenhirLib.EngineTypes.endp = _endpos_d_;
12181 MenhirLib.EngineTypes.next = {
12182 MenhirLib.EngineTypes.semv = i;
12183 MenhirLib.EngineTypes.startp = _startpos_i_;
12184 MenhirLib.EngineTypes.endp = _endpos_i_;
12185 MenhirLib.EngineTypes.next = {
12186 MenhirLib.EngineTypes.semv = x1;
12187 MenhirLib.EngineTypes.startp = _startpos_x1_;
12188 MenhirLib.EngineTypes.endp = _endpos_x1_;
12189 MenhirLib.EngineTypes.next = {
12190 MenhirLib.EngineTypes.state = _menhir_s;
12191 MenhirLib.EngineTypes.semv = x0;
12192 MenhirLib.EngineTypes.startp = _startpos_x0_;
12193 MenhirLib.EngineTypes.endp = _endpos_x0_;
12194 MenhirLib.EngineTypes.next = _menhir_stack;
12195 };
12196 };
12197 };
12198 };
12199 };
12200 };
12201 } = _menhir_stack in
12202 let pv : (
12203 # 110 "parser_cocci_menhir.mly"
12204 (Data.clt)
12205 # 12206 "parser_cocci_menhir.ml"
12206 ) = Obj.magic pv in
12207 let e : 'tv_initialize = Obj.magic e in
12208 let q : (
12209 # 110 "parser_cocci_menhir.mly"
12210 (Data.clt)
12211 # 12212 "parser_cocci_menhir.ml"
12212 ) = Obj.magic q in
12213 let d : 'tv_d_ident = Obj.magic d in
12214 let i : 'tv_pure_ident = Obj.magic i in
12215 let x1 : 'tv_const_vol = Obj.magic x1 in
12216 let x0 : 'tv_storage = Obj.magic x0 in
12217 let _startpos = _startpos_x0_ in
12218 let _endpos = _endpos_pv_ in
12219 let _v : 'tv_decl_var = let cv =
12220 let x = x1 in
12221
12222 # 41 "standard.mly"
12223 ( Some x )
12224 # 12225 "parser_cocci_menhir.ml"
12225
12226 in
12227 let s =
12228 let x = x0 in
12229
12230 # 41 "standard.mly"
12231 ( Some x )
12232 # 12233 "parser_cocci_menhir.ml"
12233
12234 in
12235
12236 # 1000 "parser_cocci_menhir.mly"
12237 ( let (id,fn) = d in
12238 !Data.add_type_name (P.id2name i);
12239 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
12240 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
12241 P.clt2mcode ";" pv))] )
12242 # 12243 "parser_cocci_menhir.ml"
12243 in
12244 _menhir_env.MenhirLib.EngineTypes.stack <- {
12245 MenhirLib.EngineTypes.state = _menhir_s;
12246 MenhirLib.EngineTypes.semv = Obj.repr _v;
12247 MenhirLib.EngineTypes.startp = _startpos;
12248 MenhirLib.EngineTypes.endp = _endpos;
12249 MenhirLib.EngineTypes.next = _menhir_stack;
12250 });
12251 (fun _menhir_env ->
12252 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12253 let {
12254 MenhirLib.EngineTypes.semv = pv;
12255 MenhirLib.EngineTypes.startp = _startpos_pv_;
12256 MenhirLib.EngineTypes.endp = _endpos_pv_;
12257 MenhirLib.EngineTypes.next = {
12258 MenhirLib.EngineTypes.semv = rp2;
12259 MenhirLib.EngineTypes.startp = _startpos_rp2_;
12260 MenhirLib.EngineTypes.endp = _endpos_rp2_;
12261 MenhirLib.EngineTypes.next = {
12262 MenhirLib.EngineTypes.semv = p;
12263 MenhirLib.EngineTypes.startp = _startpos_p_;
12264 MenhirLib.EngineTypes.endp = _endpos_p_;
12265 MenhirLib.EngineTypes.next = {
12266 MenhirLib.EngineTypes.semv = lp2;
12267 MenhirLib.EngineTypes.startp = _startpos_lp2_;
12268 MenhirLib.EngineTypes.endp = _endpos_lp2_;
12269 MenhirLib.EngineTypes.next = {
12270 MenhirLib.EngineTypes.semv = rp1;
12271 MenhirLib.EngineTypes.startp = _startpos_rp1_;
12272 MenhirLib.EngineTypes.endp = _endpos_rp1_;
12273 MenhirLib.EngineTypes.next = {
12274 MenhirLib.EngineTypes.semv = d;
12275 MenhirLib.EngineTypes.startp = _startpos_d_;
12276 MenhirLib.EngineTypes.endp = _endpos_d_;
12277 MenhirLib.EngineTypes.next = {
12278 MenhirLib.EngineTypes.semv = st;
12279 MenhirLib.EngineTypes.startp = _startpos_st_;
12280 MenhirLib.EngineTypes.endp = _endpos_st_;
12281 MenhirLib.EngineTypes.next = {
12282 MenhirLib.EngineTypes.semv = lp1;
12283 MenhirLib.EngineTypes.startp = _startpos_lp1_;
12284 MenhirLib.EngineTypes.endp = _endpos_lp1_;
12285 MenhirLib.EngineTypes.next = {
12286 MenhirLib.EngineTypes.state = _menhir_s;
12287 MenhirLib.EngineTypes.semv = t;
12288 MenhirLib.EngineTypes.startp = _startpos_t_;
12289 MenhirLib.EngineTypes.endp = _endpos_t_;
12290 MenhirLib.EngineTypes.next = _menhir_stack;
12291 };
12292 };
12293 };
12294 };
12295 };
12296 };
12297 };
12298 };
12299 } = _menhir_stack in
12300 let pv : (
12301 # 110 "parser_cocci_menhir.mly"
12302 (Data.clt)
12303 # 12304 "parser_cocci_menhir.ml"
12304 ) = Obj.magic pv in
12305 let rp2 : (
12306 # 80 "parser_cocci_menhir.mly"
12307 (Data.clt)
12308 # 12309 "parser_cocci_menhir.ml"
12309 ) = Obj.magic rp2 in
12310 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
12311 let lp2 : (
12312 # 79 "parser_cocci_menhir.mly"
12313 (Data.clt)
12314 # 12315 "parser_cocci_menhir.ml"
12315 ) = Obj.magic lp2 in
12316 let rp1 : (
12317 # 80 "parser_cocci_menhir.mly"
12318 (Data.clt)
12319 # 12320 "parser_cocci_menhir.ml"
12320 ) = Obj.magic rp1 in
12321 let d : 'tv_d_ident = Obj.magic d in
12322 let st : (
12323 # 102 "parser_cocci_menhir.mly"
12324 (Data.clt)
12325 # 12326 "parser_cocci_menhir.ml"
12326 ) = Obj.magic st in
12327 let lp1 : (
12328 # 79 "parser_cocci_menhir.mly"
12329 (Data.clt)
12330 # 12331 "parser_cocci_menhir.ml"
12331 ) = Obj.magic lp1 in
12332 let t : 'tv_ctype = Obj.magic t in
12333 let _startpos = _startpos_t_ in
12334 let _endpos = _endpos_pv_ in
12335 let _v : 'tv_decl_var = let s =
12336
12337 # 39 "standard.mly"
12338 ( None )
12339 # 12340 "parser_cocci_menhir.ml"
12340
12341 in
12342
12343 # 1010 "parser_cocci_menhir.mly"
12344 ( let (id,fn) = d in
12345 let t =
12346 Ast0.wrap
12347 (Ast0.FunctionPointer
12348 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
12349 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
12350 [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
12351 # 12352 "parser_cocci_menhir.ml"
12352 in
12353 _menhir_env.MenhirLib.EngineTypes.stack <- {
12354 MenhirLib.EngineTypes.state = _menhir_s;
12355 MenhirLib.EngineTypes.semv = Obj.repr _v;
12356 MenhirLib.EngineTypes.startp = _startpos;
12357 MenhirLib.EngineTypes.endp = _endpos;
12358 MenhirLib.EngineTypes.next = _menhir_stack;
12359 });
12360 (fun _menhir_env ->
12361 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12362 let {
12363 MenhirLib.EngineTypes.semv = pv;
12364 MenhirLib.EngineTypes.startp = _startpos_pv_;
12365 MenhirLib.EngineTypes.endp = _endpos_pv_;
12366 MenhirLib.EngineTypes.next = {
12367 MenhirLib.EngineTypes.semv = rp2;
12368 MenhirLib.EngineTypes.startp = _startpos_rp2_;
12369 MenhirLib.EngineTypes.endp = _endpos_rp2_;
12370 MenhirLib.EngineTypes.next = {
12371 MenhirLib.EngineTypes.semv = p;
12372 MenhirLib.EngineTypes.startp = _startpos_p_;
12373 MenhirLib.EngineTypes.endp = _endpos_p_;
12374 MenhirLib.EngineTypes.next = {
12375 MenhirLib.EngineTypes.semv = lp2;
12376 MenhirLib.EngineTypes.startp = _startpos_lp2_;
12377 MenhirLib.EngineTypes.endp = _endpos_lp2_;
12378 MenhirLib.EngineTypes.next = {
12379 MenhirLib.EngineTypes.semv = rp1;
12380 MenhirLib.EngineTypes.startp = _startpos_rp1_;
12381 MenhirLib.EngineTypes.endp = _endpos_rp1_;
12382 MenhirLib.EngineTypes.next = {
12383 MenhirLib.EngineTypes.semv = d;
12384 MenhirLib.EngineTypes.startp = _startpos_d_;
12385 MenhirLib.EngineTypes.endp = _endpos_d_;
12386 MenhirLib.EngineTypes.next = {
12387 MenhirLib.EngineTypes.semv = st;
12388 MenhirLib.EngineTypes.startp = _startpos_st_;
12389 MenhirLib.EngineTypes.endp = _endpos_st_;
12390 MenhirLib.EngineTypes.next = {
12391 MenhirLib.EngineTypes.semv = lp1;
12392 MenhirLib.EngineTypes.startp = _startpos_lp1_;
12393 MenhirLib.EngineTypes.endp = _endpos_lp1_;
12394 MenhirLib.EngineTypes.next = {
12395 MenhirLib.EngineTypes.semv = t;
12396 MenhirLib.EngineTypes.startp = _startpos_t_;
12397 MenhirLib.EngineTypes.endp = _endpos_t_;
12398 MenhirLib.EngineTypes.next = {
12399 MenhirLib.EngineTypes.state = _menhir_s;
12400 MenhirLib.EngineTypes.semv = x0;
12401 MenhirLib.EngineTypes.startp = _startpos_x0_;
12402 MenhirLib.EngineTypes.endp = _endpos_x0_;
12403 MenhirLib.EngineTypes.next = _menhir_stack;
12404 };
12405 };
12406 };
12407 };
12408 };
12409 };
12410 };
12411 };
12412 };
12413 } = _menhir_stack in
12414 let pv : (
12415 # 110 "parser_cocci_menhir.mly"
12416 (Data.clt)
12417 # 12418 "parser_cocci_menhir.ml"
12418 ) = Obj.magic pv in
12419 let rp2 : (
12420 # 80 "parser_cocci_menhir.mly"
12421 (Data.clt)
12422 # 12423 "parser_cocci_menhir.ml"
12423 ) = Obj.magic rp2 in
12424 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
12425 let lp2 : (
12426 # 79 "parser_cocci_menhir.mly"
12427 (Data.clt)
12428 # 12429 "parser_cocci_menhir.ml"
12429 ) = Obj.magic lp2 in
12430 let rp1 : (
12431 # 80 "parser_cocci_menhir.mly"
12432 (Data.clt)
12433 # 12434 "parser_cocci_menhir.ml"
12434 ) = Obj.magic rp1 in
12435 let d : 'tv_d_ident = Obj.magic d in
12436 let st : (
12437 # 102 "parser_cocci_menhir.mly"
12438 (Data.clt)
12439 # 12440 "parser_cocci_menhir.ml"
12440 ) = Obj.magic st in
12441 let lp1 : (
12442 # 79 "parser_cocci_menhir.mly"
12443 (Data.clt)
12444 # 12445 "parser_cocci_menhir.ml"
12445 ) = Obj.magic lp1 in
12446 let t : 'tv_ctype = Obj.magic t in
12447 let x0 : 'tv_storage = Obj.magic x0 in
12448 let _startpos = _startpos_x0_ in
12449 let _endpos = _endpos_pv_ in
12450 let _v : 'tv_decl_var = let s =
12451 let x = x0 in
12452
12453 # 41 "standard.mly"
12454 ( Some x )
12455 # 12456 "parser_cocci_menhir.ml"
12456
12457 in
12458
12459 # 1010 "parser_cocci_menhir.mly"
12460 ( let (id,fn) = d in
12461 let t =
12462 Ast0.wrap
12463 (Ast0.FunctionPointer
12464 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
12465 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
12466 [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
12467 # 12468 "parser_cocci_menhir.ml"
12468 in
12469 _menhir_env.MenhirLib.EngineTypes.stack <- {
12470 MenhirLib.EngineTypes.state = _menhir_s;
12471 MenhirLib.EngineTypes.semv = Obj.repr _v;
12472 MenhirLib.EngineTypes.startp = _startpos;
12473 MenhirLib.EngineTypes.endp = _endpos;
12474 MenhirLib.EngineTypes.next = _menhir_stack;
12475 });
12476 (fun _menhir_env ->
12477 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12478 let {
12479 MenhirLib.EngineTypes.semv = _5;
12480 MenhirLib.EngineTypes.startp = _startpos__5_;
12481 MenhirLib.EngineTypes.endp = _endpos__5_;
12482 MenhirLib.EngineTypes.next = {
12483 MenhirLib.EngineTypes.semv = _4;
12484 MenhirLib.EngineTypes.startp = _startpos__4_;
12485 MenhirLib.EngineTypes.endp = _endpos__4_;
12486 MenhirLib.EngineTypes.next = {
12487 MenhirLib.EngineTypes.semv = _3;
12488 MenhirLib.EngineTypes.startp = _startpos__3_;
12489 MenhirLib.EngineTypes.endp = _endpos__3_;
12490 MenhirLib.EngineTypes.next = {
12491 MenhirLib.EngineTypes.semv = _2;
12492 MenhirLib.EngineTypes.startp = _startpos__2_;
12493 MenhirLib.EngineTypes.endp = _endpos__2_;
12494 MenhirLib.EngineTypes.next = {
12495 MenhirLib.EngineTypes.state = _menhir_s;
12496 MenhirLib.EngineTypes.semv = _1;
12497 MenhirLib.EngineTypes.startp = _startpos__1_;
12498 MenhirLib.EngineTypes.endp = _endpos__1_;
12499 MenhirLib.EngineTypes.next = _menhir_stack;
12500 };
12501 };
12502 };
12503 };
12504 } = _menhir_stack in
12505 let _5 : (
12506 # 110 "parser_cocci_menhir.mly"
12507 (Data.clt)
12508 # 12509 "parser_cocci_menhir.ml"
12509 ) = Obj.magic _5 in
12510 let _4 : (
12511 # 80 "parser_cocci_menhir.mly"
12512 (Data.clt)
12513 # 12514 "parser_cocci_menhir.ml"
12514 ) = Obj.magic _4 in
12515 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
12516 let _2 : (
12517 # 79 "parser_cocci_menhir.mly"
12518 (Data.clt)
12519 # 12520 "parser_cocci_menhir.ml"
12520 ) = Obj.magic _2 in
12521 let _1 : 'tv_decl_ident = Obj.magic _1 in
12522 let _startpos = _startpos__1_ in
12523 let _endpos = _endpos__5_ in
12524 let _v : 'tv_decl_var =
12525 # 1018 "parser_cocci_menhir.mly"
12526 ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
12527 P.clt2mcode ")" _4,P.clt2mcode ";" _5))] )
12528 # 12529 "parser_cocci_menhir.ml"
12529 in
12530 _menhir_env.MenhirLib.EngineTypes.stack <- {
12531 MenhirLib.EngineTypes.state = _menhir_s;
12532 MenhirLib.EngineTypes.semv = Obj.repr _v;
12533 MenhirLib.EngineTypes.startp = _startpos;
12534 MenhirLib.EngineTypes.endp = _endpos;
12535 MenhirLib.EngineTypes.next = _menhir_stack;
12536 });
12537 (fun _menhir_env ->
12538 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12539 let {
12540 MenhirLib.EngineTypes.semv = pv;
12541 MenhirLib.EngineTypes.startp = _startpos_pv_;
12542 MenhirLib.EngineTypes.endp = _endpos_pv_;
12543 MenhirLib.EngineTypes.next = {
12544 MenhirLib.EngineTypes.semv = e;
12545 MenhirLib.EngineTypes.startp = _startpos_e_;
12546 MenhirLib.EngineTypes.endp = _endpos_e_;
12547 MenhirLib.EngineTypes.next = {
12548 MenhirLib.EngineTypes.semv = q;
12549 MenhirLib.EngineTypes.startp = _startpos_q_;
12550 MenhirLib.EngineTypes.endp = _endpos_q_;
12551 MenhirLib.EngineTypes.next = {
12552 MenhirLib.EngineTypes.semv = rp2;
12553 MenhirLib.EngineTypes.startp = _startpos_rp2_;
12554 MenhirLib.EngineTypes.endp = _endpos_rp2_;
12555 MenhirLib.EngineTypes.next = {
12556 MenhirLib.EngineTypes.semv = p;
12557 MenhirLib.EngineTypes.startp = _startpos_p_;
12558 MenhirLib.EngineTypes.endp = _endpos_p_;
12559 MenhirLib.EngineTypes.next = {
12560 MenhirLib.EngineTypes.semv = lp2;
12561 MenhirLib.EngineTypes.startp = _startpos_lp2_;
12562 MenhirLib.EngineTypes.endp = _endpos_lp2_;
12563 MenhirLib.EngineTypes.next = {
12564 MenhirLib.EngineTypes.semv = rp1;
12565 MenhirLib.EngineTypes.startp = _startpos_rp1_;
12566 MenhirLib.EngineTypes.endp = _endpos_rp1_;
12567 MenhirLib.EngineTypes.next = {
12568 MenhirLib.EngineTypes.semv = d;
12569 MenhirLib.EngineTypes.startp = _startpos_d_;
12570 MenhirLib.EngineTypes.endp = _endpos_d_;
12571 MenhirLib.EngineTypes.next = {
12572 MenhirLib.EngineTypes.semv = st;
12573 MenhirLib.EngineTypes.startp = _startpos_st_;
12574 MenhirLib.EngineTypes.endp = _endpos_st_;
12575 MenhirLib.EngineTypes.next = {
12576 MenhirLib.EngineTypes.semv = lp1;
12577 MenhirLib.EngineTypes.startp = _startpos_lp1_;
12578 MenhirLib.EngineTypes.endp = _endpos_lp1_;
12579 MenhirLib.EngineTypes.next = {
12580 MenhirLib.EngineTypes.state = _menhir_s;
12581 MenhirLib.EngineTypes.semv = t;
12582 MenhirLib.EngineTypes.startp = _startpos_t_;
12583 MenhirLib.EngineTypes.endp = _endpos_t_;
12584 MenhirLib.EngineTypes.next = _menhir_stack;
12585 };
12586 };
12587 };
12588 };
12589 };
12590 };
12591 };
12592 };
12593 };
12594 };
12595 } = _menhir_stack in
12596 let pv : (
12597 # 110 "parser_cocci_menhir.mly"
12598 (Data.clt)
12599 # 12600 "parser_cocci_menhir.ml"
12600 ) = Obj.magic pv in
12601 let e : 'tv_initialize = Obj.magic e in
12602 let q : (
12603 # 110 "parser_cocci_menhir.mly"
12604 (Data.clt)
12605 # 12606 "parser_cocci_menhir.ml"
12606 ) = Obj.magic q in
12607 let rp2 : (
12608 # 80 "parser_cocci_menhir.mly"
12609 (Data.clt)
12610 # 12611 "parser_cocci_menhir.ml"
12611 ) = Obj.magic rp2 in
12612 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
12613 let lp2 : (
12614 # 79 "parser_cocci_menhir.mly"
12615 (Data.clt)
12616 # 12617 "parser_cocci_menhir.ml"
12617 ) = Obj.magic lp2 in
12618 let rp1 : (
12619 # 80 "parser_cocci_menhir.mly"
12620 (Data.clt)
12621 # 12622 "parser_cocci_menhir.ml"
12622 ) = Obj.magic rp1 in
12623 let d : 'tv_d_ident = Obj.magic d in
12624 let st : (
12625 # 102 "parser_cocci_menhir.mly"
12626 (Data.clt)
12627 # 12628 "parser_cocci_menhir.ml"
12628 ) = Obj.magic st in
12629 let lp1 : (
12630 # 79 "parser_cocci_menhir.mly"
12631 (Data.clt)
12632 # 12633 "parser_cocci_menhir.ml"
12633 ) = Obj.magic lp1 in
12634 let t : 'tv_ctype = Obj.magic t in
12635 let _startpos = _startpos_t_ in
12636 let _endpos = _endpos_pv_ in
12637 let _v : 'tv_decl_var = let s =
12638
12639 # 39 "standard.mly"
12640 ( None )
12641 # 12642 "parser_cocci_menhir.ml"
12642
12643 in
12644
12645 # 1024 "parser_cocci_menhir.mly"
12646 ( let (id,fn) = d in
12647 let t =
12648 Ast0.wrap
12649 (Ast0.FunctionPointer
12650 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
12651 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
12652 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
12653 # 12654 "parser_cocci_menhir.ml"
12654 in
12655 _menhir_env.MenhirLib.EngineTypes.stack <- {
12656 MenhirLib.EngineTypes.state = _menhir_s;
12657 MenhirLib.EngineTypes.semv = Obj.repr _v;
12658 MenhirLib.EngineTypes.startp = _startpos;
12659 MenhirLib.EngineTypes.endp = _endpos;
12660 MenhirLib.EngineTypes.next = _menhir_stack;
12661 });
12662 (fun _menhir_env ->
12663 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12664 let {
12665 MenhirLib.EngineTypes.semv = pv;
12666 MenhirLib.EngineTypes.startp = _startpos_pv_;
12667 MenhirLib.EngineTypes.endp = _endpos_pv_;
12668 MenhirLib.EngineTypes.next = {
12669 MenhirLib.EngineTypes.semv = e;
12670 MenhirLib.EngineTypes.startp = _startpos_e_;
12671 MenhirLib.EngineTypes.endp = _endpos_e_;
12672 MenhirLib.EngineTypes.next = {
12673 MenhirLib.EngineTypes.semv = q;
12674 MenhirLib.EngineTypes.startp = _startpos_q_;
12675 MenhirLib.EngineTypes.endp = _endpos_q_;
12676 MenhirLib.EngineTypes.next = {
12677 MenhirLib.EngineTypes.semv = rp2;
12678 MenhirLib.EngineTypes.startp = _startpos_rp2_;
12679 MenhirLib.EngineTypes.endp = _endpos_rp2_;
12680 MenhirLib.EngineTypes.next = {
12681 MenhirLib.EngineTypes.semv = p;
12682 MenhirLib.EngineTypes.startp = _startpos_p_;
12683 MenhirLib.EngineTypes.endp = _endpos_p_;
12684 MenhirLib.EngineTypes.next = {
12685 MenhirLib.EngineTypes.semv = lp2;
12686 MenhirLib.EngineTypes.startp = _startpos_lp2_;
12687 MenhirLib.EngineTypes.endp = _endpos_lp2_;
12688 MenhirLib.EngineTypes.next = {
12689 MenhirLib.EngineTypes.semv = rp1;
12690 MenhirLib.EngineTypes.startp = _startpos_rp1_;
12691 MenhirLib.EngineTypes.endp = _endpos_rp1_;
12692 MenhirLib.EngineTypes.next = {
12693 MenhirLib.EngineTypes.semv = d;
12694 MenhirLib.EngineTypes.startp = _startpos_d_;
12695 MenhirLib.EngineTypes.endp = _endpos_d_;
12696 MenhirLib.EngineTypes.next = {
12697 MenhirLib.EngineTypes.semv = st;
12698 MenhirLib.EngineTypes.startp = _startpos_st_;
12699 MenhirLib.EngineTypes.endp = _endpos_st_;
12700 MenhirLib.EngineTypes.next = {
12701 MenhirLib.EngineTypes.semv = lp1;
12702 MenhirLib.EngineTypes.startp = _startpos_lp1_;
12703 MenhirLib.EngineTypes.endp = _endpos_lp1_;
12704 MenhirLib.EngineTypes.next = {
12705 MenhirLib.EngineTypes.semv = t;
12706 MenhirLib.EngineTypes.startp = _startpos_t_;
12707 MenhirLib.EngineTypes.endp = _endpos_t_;
12708 MenhirLib.EngineTypes.next = {
12709 MenhirLib.EngineTypes.state = _menhir_s;
12710 MenhirLib.EngineTypes.semv = x0;
12711 MenhirLib.EngineTypes.startp = _startpos_x0_;
12712 MenhirLib.EngineTypes.endp = _endpos_x0_;
12713 MenhirLib.EngineTypes.next = _menhir_stack;
12714 };
12715 };
12716 };
12717 };
12718 };
12719 };
12720 };
12721 };
12722 };
12723 };
12724 };
12725 } = _menhir_stack in
12726 let pv : (
12727 # 110 "parser_cocci_menhir.mly"
12728 (Data.clt)
12729 # 12730 "parser_cocci_menhir.ml"
12730 ) = Obj.magic pv in
12731 let e : 'tv_initialize = Obj.magic e in
12732 let q : (
12733 # 110 "parser_cocci_menhir.mly"
12734 (Data.clt)
12735 # 12736 "parser_cocci_menhir.ml"
12736 ) = Obj.magic q in
12737 let rp2 : (
12738 # 80 "parser_cocci_menhir.mly"
12739 (Data.clt)
12740 # 12741 "parser_cocci_menhir.ml"
12741 ) = Obj.magic rp2 in
12742 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
12743 let lp2 : (
12744 # 79 "parser_cocci_menhir.mly"
12745 (Data.clt)
12746 # 12747 "parser_cocci_menhir.ml"
12747 ) = Obj.magic lp2 in
12748 let rp1 : (
12749 # 80 "parser_cocci_menhir.mly"
12750 (Data.clt)
12751 # 12752 "parser_cocci_menhir.ml"
12752 ) = Obj.magic rp1 in
12753 let d : 'tv_d_ident = Obj.magic d in
12754 let st : (
12755 # 102 "parser_cocci_menhir.mly"
12756 (Data.clt)
12757 # 12758 "parser_cocci_menhir.ml"
12758 ) = Obj.magic st in
12759 let lp1 : (
12760 # 79 "parser_cocci_menhir.mly"
12761 (Data.clt)
12762 # 12763 "parser_cocci_menhir.ml"
12763 ) = Obj.magic lp1 in
12764 let t : 'tv_ctype = Obj.magic t in
12765 let x0 : 'tv_storage = Obj.magic x0 in
12766 let _startpos = _startpos_x0_ in
12767 let _endpos = _endpos_pv_ in
12768 let _v : 'tv_decl_var = let s =
12769 let x = x0 in
12770
12771 # 41 "standard.mly"
12772 ( Some x )
12773 # 12774 "parser_cocci_menhir.ml"
12774
12775 in
12776
12777 # 1024 "parser_cocci_menhir.mly"
12778 ( let (id,fn) = d in
12779 let t =
12780 Ast0.wrap
12781 (Ast0.FunctionPointer
12782 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
12783 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
12784 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
12785 # 12786 "parser_cocci_menhir.ml"
12786 in
12787 _menhir_env.MenhirLib.EngineTypes.stack <- {
12788 MenhirLib.EngineTypes.state = _menhir_s;
12789 MenhirLib.EngineTypes.semv = Obj.repr _v;
12790 MenhirLib.EngineTypes.startp = _startpos;
12791 MenhirLib.EngineTypes.endp = _endpos;
12792 MenhirLib.EngineTypes.next = _menhir_stack;
12793 });
12794 (fun _menhir_env ->
12795 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12796 let {
12797 MenhirLib.EngineTypes.semv = pv;
12798 MenhirLib.EngineTypes.startp = _startpos_pv_;
12799 MenhirLib.EngineTypes.endp = _endpos_pv_;
12800 MenhirLib.EngineTypes.next = {
12801 MenhirLib.EngineTypes.semv = id;
12802 MenhirLib.EngineTypes.startp = _startpos_id_;
12803 MenhirLib.EngineTypes.endp = _endpos_id_;
12804 MenhirLib.EngineTypes.next = {
12805 MenhirLib.EngineTypes.semv = t;
12806 MenhirLib.EngineTypes.startp = _startpos_t_;
12807 MenhirLib.EngineTypes.endp = _endpos_t_;
12808 MenhirLib.EngineTypes.next = {
12809 MenhirLib.EngineTypes.state = _menhir_s;
12810 MenhirLib.EngineTypes.semv = s;
12811 MenhirLib.EngineTypes.startp = _startpos_s_;
12812 MenhirLib.EngineTypes.endp = _endpos_s_;
12813 MenhirLib.EngineTypes.next = _menhir_stack;
12814 };
12815 };
12816 };
12817 } = _menhir_stack in
12818 let pv : (
12819 # 110 "parser_cocci_menhir.mly"
12820 (Data.clt)
12821 # 12822 "parser_cocci_menhir.ml"
12822 ) = Obj.magic pv in
12823 let id : 'tv_comma_list_typedef_ident_ = Obj.magic id in
12824 let t : 'tv_typedef_ctype = Obj.magic t in
12825 let s : (
12826 # 55 "parser_cocci_menhir.mly"
12827 (Data.clt)
12828 # 12829 "parser_cocci_menhir.ml"
12829 ) = Obj.magic s in
12830 let _startpos = _startpos_s_ in
12831 let _endpos = _endpos_pv_ in
12832 let _v : 'tv_decl_var =
12833 # 1032 "parser_cocci_menhir.mly"
12834 ( let s = P.clt2mcode "typedef" s in
12835 List.map
12836 (function id ->
12837 Ast0.wrap(Ast0.Typedef(s,t,id,P.clt2mcode ";" pv)))
12838 id )
12839 # 12840 "parser_cocci_menhir.ml"
12840 in
12841 _menhir_env.MenhirLib.EngineTypes.stack <- {
12842 MenhirLib.EngineTypes.state = _menhir_s;
12843 MenhirLib.EngineTypes.semv = Obj.repr _v;
12844 MenhirLib.EngineTypes.startp = _startpos;
12845 MenhirLib.EngineTypes.endp = _endpos;
12846 MenhirLib.EngineTypes.next = _menhir_stack;
12847 });
12848 (fun _menhir_env ->
12849 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12850 let {
12851 MenhirLib.EngineTypes.state = _menhir_s;
12852 MenhirLib.EngineTypes.semv = _1;
12853 MenhirLib.EngineTypes.startp = _startpos__1_;
12854 MenhirLib.EngineTypes.endp = _endpos__1_;
12855 MenhirLib.EngineTypes.next = _menhir_stack;
12856 } = _menhir_stack in
12857 let _1 : 'tv_define_param_list_start = Obj.magic _1 in
12858 let _startpos = _startpos__1_ in
12859 let _endpos = _endpos__1_ in
12860 let _v : 'tv_define_param_list =
12861 # 749 "parser_cocci_menhir.mly"
12862 (let circle x =
12863 match Ast0.unwrap x with Ast0.DPcircles(_) -> true | _ -> false in
12864 if List.exists circle _1
12865 then Ast0.wrap(Ast0.CIRCLES(_1))
12866 else Ast0.wrap(Ast0.DOTS(_1)) )
12867 # 12868 "parser_cocci_menhir.ml"
12868 in
12869 _menhir_env.MenhirLib.EngineTypes.stack <- {
12870 MenhirLib.EngineTypes.state = _menhir_s;
12871 MenhirLib.EngineTypes.semv = Obj.repr _v;
12872 MenhirLib.EngineTypes.startp = _startpos;
12873 MenhirLib.EngineTypes.endp = _endpos;
12874 MenhirLib.EngineTypes.next = _menhir_stack;
12875 });
12876 (fun _menhir_env ->
12877 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12878 let {
12879 MenhirLib.EngineTypes.state = _menhir_s;
12880 MenhirLib.EngineTypes.semv = _1;
12881 MenhirLib.EngineTypes.startp = _startpos__1_;
12882 MenhirLib.EngineTypes.endp = _endpos__1_;
12883 MenhirLib.EngineTypes.next = _menhir_stack;
12884 } = _menhir_stack in
12885 let _1 : 'tv_define_param_list = Obj.magic _1 in
12886 let _startpos = _startpos__1_ in
12887 let _endpos = _endpos__1_ in
12888 let _v : 'tv_define_param_list_option =
12889 # 773 "parser_cocci_menhir.mly"
12890 ( _1 )
12891 # 12892 "parser_cocci_menhir.ml"
12892 in
12893 _menhir_env.MenhirLib.EngineTypes.stack <- {
12894 MenhirLib.EngineTypes.state = _menhir_s;
12895 MenhirLib.EngineTypes.semv = Obj.repr _v;
12896 MenhirLib.EngineTypes.startp = _startpos;
12897 MenhirLib.EngineTypes.endp = _endpos;
12898 MenhirLib.EngineTypes.next = _menhir_stack;
12899 });
12900 (fun _menhir_env ->
12901 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12902 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
12903 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
12904 let _endpos = _startpos in
12905 let _v : 'tv_define_param_list_option =
12906 # 774 "parser_cocci_menhir.mly"
12907 ( Ast0.wrap(Ast0.DOTS([])) )
12908 # 12909 "parser_cocci_menhir.ml"
12909 in
12910 _menhir_env.MenhirLib.EngineTypes.stack <- {
12911 MenhirLib.EngineTypes.state = _menhir_s;
12912 MenhirLib.EngineTypes.semv = Obj.repr _v;
12913 MenhirLib.EngineTypes.startp = _startpos;
12914 MenhirLib.EngineTypes.endp = _endpos;
12915 MenhirLib.EngineTypes.next = _menhir_stack;
12916 });
12917 (fun _menhir_env ->
12918 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12919 let {
12920 MenhirLib.EngineTypes.state = _menhir_s;
12921 MenhirLib.EngineTypes.semv = _1;
12922 MenhirLib.EngineTypes.startp = _startpos__1_;
12923 MenhirLib.EngineTypes.endp = _endpos__1_;
12924 MenhirLib.EngineTypes.next = _menhir_stack;
12925 } = _menhir_stack in
12926 let _1 : 'tv_ident = Obj.magic _1 in
12927 let _startpos = _startpos__1_ in
12928 let _endpos = _endpos__1_ in
12929 let _v : 'tv_define_param_list_start =
12930 # 756 "parser_cocci_menhir.mly"
12931 ( [Ast0.wrap(Ast0.DParam _1)] )
12932 # 12933 "parser_cocci_menhir.ml"
12933 in
12934 _menhir_env.MenhirLib.EngineTypes.stack <- {
12935 MenhirLib.EngineTypes.state = _menhir_s;
12936 MenhirLib.EngineTypes.semv = Obj.repr _v;
12937 MenhirLib.EngineTypes.startp = _startpos;
12938 MenhirLib.EngineTypes.endp = _endpos;
12939 MenhirLib.EngineTypes.next = _menhir_stack;
12940 });
12941 (fun _menhir_env ->
12942 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12943 let {
12944 MenhirLib.EngineTypes.semv = _3;
12945 MenhirLib.EngineTypes.startp = _startpos__3_;
12946 MenhirLib.EngineTypes.endp = _endpos__3_;
12947 MenhirLib.EngineTypes.next = {
12948 MenhirLib.EngineTypes.semv = _2;
12949 MenhirLib.EngineTypes.startp = _startpos__2_;
12950 MenhirLib.EngineTypes.endp = _endpos__2_;
12951 MenhirLib.EngineTypes.next = {
12952 MenhirLib.EngineTypes.state = _menhir_s;
12953 MenhirLib.EngineTypes.semv = _1;
12954 MenhirLib.EngineTypes.startp = _startpos__1_;
12955 MenhirLib.EngineTypes.endp = _endpos__1_;
12956 MenhirLib.EngineTypes.next = _menhir_stack;
12957 };
12958 };
12959 } = _menhir_stack in
12960 let _3 : 'tv_define_param_list_start = Obj.magic _3 in
12961 let _2 : (
12962 # 110 "parser_cocci_menhir.mly"
12963 (Data.clt)
12964 # 12965 "parser_cocci_menhir.ml"
12965 ) = Obj.magic _2 in
12966 let _1 : 'tv_ident = Obj.magic _1 in
12967 let _startpos = _startpos__1_ in
12968 let _endpos = _endpos__3_ in
12969 let _v : 'tv_define_param_list_start =
12970 # 758 "parser_cocci_menhir.mly"
12971 ( Ast0.wrap(Ast0.DParam _1)::
12972 Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _2))::_3 )
12973 # 12974 "parser_cocci_menhir.ml"
12974 in
12975 _menhir_env.MenhirLib.EngineTypes.stack <- {
12976 MenhirLib.EngineTypes.state = _menhir_s;
12977 MenhirLib.EngineTypes.semv = Obj.repr _v;
12978 MenhirLib.EngineTypes.startp = _startpos;
12979 MenhirLib.EngineTypes.endp = _endpos;
12980 MenhirLib.EngineTypes.next = _menhir_stack;
12981 });
12982 (fun _menhir_env ->
12983 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12984 let {
12985 MenhirLib.EngineTypes.semv = r;
12986 MenhirLib.EngineTypes.startp = _startpos_r_;
12987 MenhirLib.EngineTypes.endp = _endpos_r_;
12988 MenhirLib.EngineTypes.next = {
12989 MenhirLib.EngineTypes.state = _menhir_s;
12990 MenhirLib.EngineTypes.semv = d;
12991 MenhirLib.EngineTypes.startp = _startpos_d_;
12992 MenhirLib.EngineTypes.endp = _endpos_d_;
12993 MenhirLib.EngineTypes.next = _menhir_stack;
12994 };
12995 } = _menhir_stack in
12996 let r : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic r in
12997 let d : (
12998 # 76 "parser_cocci_menhir.mly"
12999 (Data.clt)
13000 # 13001 "parser_cocci_menhir.ml"
13001 ) = Obj.magic d in
13002 let _startpos = _startpos_d_ in
13003 let _endpos = _endpos_r_ in
13004 let _v : 'tv_define_param_list_start =
13005 # 761 "parser_cocci_menhir.mly"
13006 ( (P.mkdpdots "..." d)::
13007 (List.concat (List.map (function x -> x (P.mkdpdots "...")) r)) )
13008 # 13009 "parser_cocci_menhir.ml"
13009 in
13010 _menhir_env.MenhirLib.EngineTypes.stack <- {
13011 MenhirLib.EngineTypes.state = _menhir_s;
13012 MenhirLib.EngineTypes.semv = Obj.repr _v;
13013 MenhirLib.EngineTypes.startp = _startpos;
13014 MenhirLib.EngineTypes.endp = _endpos;
13015 MenhirLib.EngineTypes.next = _menhir_stack;
13016 });
13017 (fun _menhir_env ->
13018 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13019 let {
13020 MenhirLib.EngineTypes.state = _menhir_s;
13021 MenhirLib.EngineTypes.semv = _1;
13022 MenhirLib.EngineTypes.startp = _startpos__1_;
13023 MenhirLib.EngineTypes.endp = _endpos__1_;
13024 MenhirLib.EngineTypes.next = _menhir_stack;
13025 } = _menhir_stack in
13026 let _1 : (
13027 # 84 "parser_cocci_menhir.mly"
13028 (Data.clt * token)
13029 # 13030 "parser_cocci_menhir.ml"
13030 ) = Obj.magic _1 in
13031 let _startpos = _startpos__1_ in
13032 let _endpos = _endpos__1_ in
13033 let _v : 'tv_defineop =
13034 # 708 "parser_cocci_menhir.mly"
13035 ( let (clt,ident) = _1 in
13036 function body ->
13037 Ast0.wrap
13038 (Ast0.Define
13039 (P.clt2mcode "#define" clt,
13040 (match ident with
13041 TMetaId((nm,constraints,pure,clt)) ->
13042 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
13043 | TIdent(nm_pure) ->
13044 Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
13045 | _ ->
13046 raise
13047 (Semantic_cocci.Semantic
13048 "unexpected name for a #define")),
13049 Ast0.wrap Ast0.NoParams,
13050 body)) )
13051 # 13052 "parser_cocci_menhir.ml"
13052 in
13053 _menhir_env.MenhirLib.EngineTypes.stack <- {
13054 MenhirLib.EngineTypes.state = _menhir_s;
13055 MenhirLib.EngineTypes.semv = Obj.repr _v;
13056 MenhirLib.EngineTypes.startp = _startpos;
13057 MenhirLib.EngineTypes.endp = _endpos;
13058 MenhirLib.EngineTypes.next = _menhir_stack;
13059 });
13060 (fun _menhir_env ->
13061 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13062 let {
13063 MenhirLib.EngineTypes.semv = _3;
13064 MenhirLib.EngineTypes.startp = _startpos__3_;
13065 MenhirLib.EngineTypes.endp = _endpos__3_;
13066 MenhirLib.EngineTypes.next = {
13067 MenhirLib.EngineTypes.semv = _2;
13068 MenhirLib.EngineTypes.startp = _startpos__2_;
13069 MenhirLib.EngineTypes.endp = _endpos__2_;
13070 MenhirLib.EngineTypes.next = {
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 };
13077 };
13078 } = _menhir_stack in
13079 let _3 : (
13080 # 80 "parser_cocci_menhir.mly"
13081 (Data.clt)
13082 # 13083 "parser_cocci_menhir.ml"
13083 ) = Obj.magic _3 in
13084 let _2 : 'tv_define_param_list_option = Obj.magic _2 in
13085 let _1 : (
13086 # 85 "parser_cocci_menhir.mly"
13087 (Data.clt * token * int * int)
13088 # 13089 "parser_cocci_menhir.ml"
13089 ) = Obj.magic _1 in
13090 let _startpos = _startpos__1_ in
13091 let _endpos = _endpos__3_ in
13092 let _v : 'tv_defineop =
13093 # 725 "parser_cocci_menhir.mly"
13094 ( let (clt,ident,parenoff,parencol) = _1 in
13095 (* clt is the start of the #define itself *)
13096 let (arity,line,lline,offset,col,strbef,straft,pos) = clt in
13097 let lp =
13098 P.clt2mcode "("
13099 (arity,line,lline,parenoff,parencol,[],[],Ast0.NoMetaPos) in
13100 function body ->
13101 Ast0.wrap
13102 (Ast0.Define
13103 (P.clt2mcode "#define" clt,
13104 (match ident with
13105 TMetaId((nm,constraints,pure,clt)) ->
13106 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
13107 | TIdent(nm_pure) ->
13108 Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
13109 | _ ->
13110 raise
13111 (Semantic_cocci.Semantic
13112 "unexpected name for a #define")),
13113 Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" _3)),body)) )
13114 # 13115 "parser_cocci_menhir.ml"
13115 in
13116 _menhir_env.MenhirLib.EngineTypes.stack <- {
13117 MenhirLib.EngineTypes.state = _menhir_s;
13118 MenhirLib.EngineTypes.semv = Obj.repr _v;
13119 MenhirLib.EngineTypes.startp = _startpos;
13120 MenhirLib.EngineTypes.endp = _endpos;
13121 MenhirLib.EngineTypes.next = _menhir_stack;
13122 });
13123 (fun _menhir_env ->
13124 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13125 let {
13126 MenhirLib.EngineTypes.state = _menhir_s;
13127 MenhirLib.EngineTypes.semv = _1;
13128 MenhirLib.EngineTypes.startp = _startpos__1_;
13129 MenhirLib.EngineTypes.endp = _endpos__1_;
13130 MenhirLib.EngineTypes.next = _menhir_stack;
13131 } = _menhir_stack in
13132 let _1 : 'tv_pnrule = Obj.magic _1 in
13133 let _startpos = _startpos__1_ in
13134 let _endpos = _endpos__1_ in
13135 let _v : 'tv_dep =
13136 # 228 "parser_cocci_menhir.mly"
13137 ( _1 )
13138 # 13139 "parser_cocci_menhir.ml"
13139 in
13140 _menhir_env.MenhirLib.EngineTypes.stack <- {
13141 MenhirLib.EngineTypes.state = _menhir_s;
13142 MenhirLib.EngineTypes.semv = Obj.repr _v;
13143 MenhirLib.EngineTypes.startp = _startpos;
13144 MenhirLib.EngineTypes.endp = _endpos;
13145 MenhirLib.EngineTypes.next = _menhir_stack;
13146 });
13147 (fun _menhir_env ->
13148 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13149 let {
13150 MenhirLib.EngineTypes.semv = _3;
13151 MenhirLib.EngineTypes.startp = _startpos__3_;
13152 MenhirLib.EngineTypes.endp = _endpos__3_;
13153 MenhirLib.EngineTypes.next = {
13154 MenhirLib.EngineTypes.startp = _startpos__2_;
13155 MenhirLib.EngineTypes.endp = _endpos__2_;
13156 MenhirLib.EngineTypes.next = {
13157 MenhirLib.EngineTypes.state = _menhir_s;
13158 MenhirLib.EngineTypes.semv = _1;
13159 MenhirLib.EngineTypes.startp = _startpos__1_;
13160 MenhirLib.EngineTypes.endp = _endpos__1_;
13161 MenhirLib.EngineTypes.next = _menhir_stack;
13162 };
13163 };
13164 } = _menhir_stack in
13165 let _3 : 'tv_dep = Obj.magic _3 in
13166 let _1 : 'tv_dep = Obj.magic _1 in
13167 let _startpos = _startpos__1_ in
13168 let _endpos = _endpos__3_ in
13169 let _v : 'tv_dep =
13170 # 229 "parser_cocci_menhir.mly"
13171 ( Ast.AndDep(_1, _3) )
13172 # 13173 "parser_cocci_menhir.ml"
13173 in
13174 _menhir_env.MenhirLib.EngineTypes.stack <- {
13175 MenhirLib.EngineTypes.state = _menhir_s;
13176 MenhirLib.EngineTypes.semv = Obj.repr _v;
13177 MenhirLib.EngineTypes.startp = _startpos;
13178 MenhirLib.EngineTypes.endp = _endpos;
13179 MenhirLib.EngineTypes.next = _menhir_stack;
13180 });
13181 (fun _menhir_env ->
13182 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13183 let {
13184 MenhirLib.EngineTypes.semv = _3;
13185 MenhirLib.EngineTypes.startp = _startpos__3_;
13186 MenhirLib.EngineTypes.endp = _endpos__3_;
13187 MenhirLib.EngineTypes.next = {
13188 MenhirLib.EngineTypes.startp = _startpos__2_;
13189 MenhirLib.EngineTypes.endp = _endpos__2_;
13190 MenhirLib.EngineTypes.next = {
13191 MenhirLib.EngineTypes.state = _menhir_s;
13192 MenhirLib.EngineTypes.semv = _1;
13193 MenhirLib.EngineTypes.startp = _startpos__1_;
13194 MenhirLib.EngineTypes.endp = _endpos__1_;
13195 MenhirLib.EngineTypes.next = _menhir_stack;
13196 };
13197 };
13198 } = _menhir_stack in
13199 let _3 : 'tv_dep = Obj.magic _3 in
13200 let _1 : 'tv_dep = Obj.magic _1 in
13201 let _startpos = _startpos__1_ in
13202 let _endpos = _endpos__3_ in
13203 let _v : 'tv_dep =
13204 # 230 "parser_cocci_menhir.mly"
13205 ( Ast.OrDep (_1, _3) )
13206 # 13207 "parser_cocci_menhir.ml"
13207 in
13208 _menhir_env.MenhirLib.EngineTypes.stack <- {
13209 MenhirLib.EngineTypes.state = _menhir_s;
13210 MenhirLib.EngineTypes.semv = Obj.repr _v;
13211 MenhirLib.EngineTypes.startp = _startpos;
13212 MenhirLib.EngineTypes.endp = _endpos;
13213 MenhirLib.EngineTypes.next = _menhir_stack;
13214 });
13215 (fun _menhir_env ->
13216 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13217 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
13218 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
13219 let _endpos = _startpos in
13220 let _v : 'tv_depends =
13221 # 224 "parser_cocci_menhir.mly"
13222 ( Ast.NoDep )
13223 # 13224 "parser_cocci_menhir.ml"
13224 in
13225 _menhir_env.MenhirLib.EngineTypes.stack <- {
13226 MenhirLib.EngineTypes.state = _menhir_s;
13227 MenhirLib.EngineTypes.semv = Obj.repr _v;
13228 MenhirLib.EngineTypes.startp = _startpos;
13229 MenhirLib.EngineTypes.endp = _endpos;
13230 MenhirLib.EngineTypes.next = _menhir_stack;
13231 });
13232 (fun _menhir_env ->
13233 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13234 let {
13235 MenhirLib.EngineTypes.semv = parents;
13236 MenhirLib.EngineTypes.startp = _startpos_parents_;
13237 MenhirLib.EngineTypes.endp = _endpos_parents_;
13238 MenhirLib.EngineTypes.next = {
13239 MenhirLib.EngineTypes.startp = _startpos__2_;
13240 MenhirLib.EngineTypes.endp = _endpos__2_;
13241 MenhirLib.EngineTypes.next = {
13242 MenhirLib.EngineTypes.state = _menhir_s;
13243 MenhirLib.EngineTypes.startp = _startpos__1_;
13244 MenhirLib.EngineTypes.endp = _endpos__1_;
13245 MenhirLib.EngineTypes.next = _menhir_stack;
13246 };
13247 };
13248 } = _menhir_stack in
13249 let parents : 'tv_dep = Obj.magic parents in
13250 let _startpos = _startpos__1_ in
13251 let _endpos = _endpos_parents_ in
13252 let _v : 'tv_depends =
13253 # 225 "parser_cocci_menhir.mly"
13254 ( parents )
13255 # 13256 "parser_cocci_menhir.ml"
13256 in
13257 _menhir_env.MenhirLib.EngineTypes.stack <- {
13258 MenhirLib.EngineTypes.state = _menhir_s;
13259 MenhirLib.EngineTypes.semv = Obj.repr _v;
13260 MenhirLib.EngineTypes.startp = _startpos;
13261 MenhirLib.EngineTypes.endp = _endpos;
13262 MenhirLib.EngineTypes.next = _menhir_stack;
13263 });
13264 (fun _menhir_env ->
13265 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13266 let {
13267 MenhirLib.EngineTypes.semv = _2;
13268 MenhirLib.EngineTypes.startp = _startpos__2_;
13269 MenhirLib.EngineTypes.endp = _endpos__2_;
13270 MenhirLib.EngineTypes.next = {
13271 MenhirLib.EngineTypes.state = _menhir_s;
13272 MenhirLib.EngineTypes.semv = _1;
13273 MenhirLib.EngineTypes.startp = _startpos__1_;
13274 MenhirLib.EngineTypes.endp = _endpos__1_;
13275 MenhirLib.EngineTypes.next = _menhir_stack;
13276 };
13277 } = _menhir_stack in
13278 let _2 : 'tv_ident = Obj.magic _2 in
13279 let _1 : (
13280 # 110 "parser_cocci_menhir.mly"
13281 (Data.clt)
13282 # 13283 "parser_cocci_menhir.ml"
13283 ) = Obj.magic _1 in
13284 let _startpos = _startpos__1_ in
13285 let _endpos = _endpos__2_ in
13286 let _v : 'tv_designator =
13287 # 1133 "parser_cocci_menhir.mly"
13288 ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) )
13289 # 13290 "parser_cocci_menhir.ml"
13290 in
13291 _menhir_env.MenhirLib.EngineTypes.stack <- {
13292 MenhirLib.EngineTypes.state = _menhir_s;
13293 MenhirLib.EngineTypes.semv = Obj.repr _v;
13294 MenhirLib.EngineTypes.startp = _startpos;
13295 MenhirLib.EngineTypes.endp = _endpos;
13296 MenhirLib.EngineTypes.next = _menhir_stack;
13297 });
13298 (fun _menhir_env ->
13299 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13300 let {
13301 MenhirLib.EngineTypes.semv = _3;
13302 MenhirLib.EngineTypes.startp = _startpos__3_;
13303 MenhirLib.EngineTypes.endp = _endpos__3_;
13304 MenhirLib.EngineTypes.next = {
13305 MenhirLib.EngineTypes.semv = _2;
13306 MenhirLib.EngineTypes.startp = _startpos__2_;
13307 MenhirLib.EngineTypes.endp = _endpos__2_;
13308 MenhirLib.EngineTypes.next = {
13309 MenhirLib.EngineTypes.state = _menhir_s;
13310 MenhirLib.EngineTypes.semv = _1;
13311 MenhirLib.EngineTypes.startp = _startpos__1_;
13312 MenhirLib.EngineTypes.endp = _endpos__1_;
13313 MenhirLib.EngineTypes.next = _menhir_stack;
13314 };
13315 };
13316 } = _menhir_stack in
13317 let _3 : (
13318 # 105 "parser_cocci_menhir.mly"
13319 (Data.clt)
13320 # 13321 "parser_cocci_menhir.ml"
13321 ) = Obj.magic _3 in
13322 let _2 : 'tv_eexpr = Obj.magic _2 in
13323 let _1 : (
13324 # 105 "parser_cocci_menhir.mly"
13325 (Data.clt)
13326 # 13327 "parser_cocci_menhir.ml"
13327 ) = Obj.magic _1 in
13328 let _startpos = _startpos__1_ in
13329 let _endpos = _endpos__3_ in
13330 let _v : 'tv_designator =
13331 # 1135 "parser_cocci_menhir.mly"
13332 ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) )
13333 # 13334 "parser_cocci_menhir.ml"
13334 in
13335 _menhir_env.MenhirLib.EngineTypes.stack <- {
13336 MenhirLib.EngineTypes.state = _menhir_s;
13337 MenhirLib.EngineTypes.semv = Obj.repr _v;
13338 MenhirLib.EngineTypes.startp = _startpos;
13339 MenhirLib.EngineTypes.endp = _endpos;
13340 MenhirLib.EngineTypes.next = _menhir_stack;
13341 });
13342 (fun _menhir_env ->
13343 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13344 let {
13345 MenhirLib.EngineTypes.semv = _5;
13346 MenhirLib.EngineTypes.startp = _startpos__5_;
13347 MenhirLib.EngineTypes.endp = _endpos__5_;
13348 MenhirLib.EngineTypes.next = {
13349 MenhirLib.EngineTypes.semv = _4;
13350 MenhirLib.EngineTypes.startp = _startpos__4_;
13351 MenhirLib.EngineTypes.endp = _endpos__4_;
13352 MenhirLib.EngineTypes.next = {
13353 MenhirLib.EngineTypes.semv = _3;
13354 MenhirLib.EngineTypes.startp = _startpos__3_;
13355 MenhirLib.EngineTypes.endp = _endpos__3_;
13356 MenhirLib.EngineTypes.next = {
13357 MenhirLib.EngineTypes.semv = _2;
13358 MenhirLib.EngineTypes.startp = _startpos__2_;
13359 MenhirLib.EngineTypes.endp = _endpos__2_;
13360 MenhirLib.EngineTypes.next = {
13361 MenhirLib.EngineTypes.state = _menhir_s;
13362 MenhirLib.EngineTypes.semv = _1;
13363 MenhirLib.EngineTypes.startp = _startpos__1_;
13364 MenhirLib.EngineTypes.endp = _endpos__1_;
13365 MenhirLib.EngineTypes.next = _menhir_stack;
13366 };
13367 };
13368 };
13369 };
13370 } = _menhir_stack in
13371 let _5 : (
13372 # 105 "parser_cocci_menhir.mly"
13373 (Data.clt)
13374 # 13375 "parser_cocci_menhir.ml"
13375 ) = Obj.magic _5 in
13376 let _4 : 'tv_eexpr = Obj.magic _4 in
13377 let _3 : (
13378 # 76 "parser_cocci_menhir.mly"
13379 (Data.clt)
13380 # 13381 "parser_cocci_menhir.ml"
13381 ) = Obj.magic _3 in
13382 let _2 : 'tv_eexpr = Obj.magic _2 in
13383 let _1 : (
13384 # 105 "parser_cocci_menhir.mly"
13385 (Data.clt)
13386 # 13387 "parser_cocci_menhir.ml"
13387 ) = Obj.magic _1 in
13388 let _startpos = _startpos__1_ in
13389 let _endpos = _endpos__5_ in
13390 let _v : 'tv_designator =
13391 # 1137 "parser_cocci_menhir.mly"
13392 ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3,
13393 _4,P.clt2mcode "]" _5) )
13394 # 13395 "parser_cocci_menhir.ml"
13395 in
13396 _menhir_env.MenhirLib.EngineTypes.stack <- {
13397 MenhirLib.EngineTypes.state = _menhir_s;
13398 MenhirLib.EngineTypes.semv = Obj.repr _v;
13399 MenhirLib.EngineTypes.startp = _startpos;
13400 MenhirLib.EngineTypes.endp = _endpos;
13401 MenhirLib.EngineTypes.next = _menhir_stack;
13402 });
13403 (fun _menhir_env ->
13404 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13405 let {
13406 MenhirLib.EngineTypes.state = _menhir_s;
13407 MenhirLib.EngineTypes.semv = _1;
13408 MenhirLib.EngineTypes.startp = _startpos__1_;
13409 MenhirLib.EngineTypes.endp = _endpos__1_;
13410 MenhirLib.EngineTypes.next = _menhir_stack;
13411 } = _menhir_stack in
13412 let _1 : 'tv_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in
13413 let _startpos = _startpos__1_ in
13414 let _endpos = _endpos__1_ in
13415 let _v : 'tv_dexpr =
13416 # 1240 "parser_cocci_menhir.mly"
13417 ( _1 )
13418 # 13419 "parser_cocci_menhir.ml"
13419 in
13420 _menhir_env.MenhirLib.EngineTypes.stack <- {
13421 MenhirLib.EngineTypes.state = _menhir_s;
13422 MenhirLib.EngineTypes.semv = Obj.repr _v;
13423 MenhirLib.EngineTypes.startp = _startpos;
13424 MenhirLib.EngineTypes.endp = _endpos;
13425 MenhirLib.EngineTypes.next = _menhir_stack;
13426 });
13427 (fun _menhir_env ->
13428 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13429 let {
13430 MenhirLib.EngineTypes.semv = _2;
13431 MenhirLib.EngineTypes.startp = _startpos__2_;
13432 MenhirLib.EngineTypes.endp = _endpos__2_;
13433 MenhirLib.EngineTypes.next = {
13434 MenhirLib.EngineTypes.state = _menhir_s;
13435 MenhirLib.EngineTypes.startp = _startpos__1_;
13436 MenhirLib.EngineTypes.endp = _endpos__1_;
13437 MenhirLib.EngineTypes.next = _menhir_stack;
13438 };
13439 } = _menhir_stack in
13440 let _2 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _2 in
13441 let _startpos = _startpos__1_ in
13442 let _endpos = _endpos__2_ in
13443 let _v : 'tv_disable =
13444 # 243 "parser_cocci_menhir.mly"
13445 ( List.map P.id2name _2 )
13446 # 13447 "parser_cocci_menhir.ml"
13447 in
13448 _menhir_env.MenhirLib.EngineTypes.stack <- {
13449 MenhirLib.EngineTypes.state = _menhir_s;
13450 MenhirLib.EngineTypes.semv = Obj.repr _v;
13451 MenhirLib.EngineTypes.startp = _startpos;
13452 MenhirLib.EngineTypes.endp = _endpos;
13453 MenhirLib.EngineTypes.next = _menhir_stack;
13454 });
13455 (fun _menhir_env ->
13456 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13457 let {
13458 MenhirLib.EngineTypes.state = _menhir_s;
13459 MenhirLib.EngineTypes.semv = _1;
13460 MenhirLib.EngineTypes.startp = _startpos__1_;
13461 MenhirLib.EngineTypes.endp = _endpos__1_;
13462 MenhirLib.EngineTypes.next = _menhir_stack;
13463 } = _menhir_stack in
13464 let _1 : (
13465 # 76 "parser_cocci_menhir.mly"
13466 (Data.clt)
13467 # 13468 "parser_cocci_menhir.ml"
13468 ) = Obj.magic _1 in
13469 let _startpos = _startpos__1_ in
13470 let _endpos = _endpos__1_ in
13471 let _v : 'tv_dot_expressions =
13472 # 1249 "parser_cocci_menhir.mly"
13473 ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) )
13474 # 13475 "parser_cocci_menhir.ml"
13475 in
13476 _menhir_env.MenhirLib.EngineTypes.stack <- {
13477 MenhirLib.EngineTypes.state = _menhir_s;
13478 MenhirLib.EngineTypes.semv = Obj.repr _v;
13479 MenhirLib.EngineTypes.startp = _startpos;
13480 MenhirLib.EngineTypes.endp = _endpos;
13481 MenhirLib.EngineTypes.next = _menhir_stack;
13482 });
13483 (fun _menhir_env ->
13484 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13485 let {
13486 MenhirLib.EngineTypes.state = _menhir_s;
13487 MenhirLib.EngineTypes.semv = _1;
13488 MenhirLib.EngineTypes.startp = _startpos__1_;
13489 MenhirLib.EngineTypes.endp = _endpos__1_;
13490 MenhirLib.EngineTypes.next = _menhir_stack;
13491 } = _menhir_stack in
13492 let _1 : 'tv_nest_expressions = Obj.magic _1 in
13493 let _startpos = _startpos__1_ in
13494 let _endpos = _endpos__1_ in
13495 let _v : 'tv_dot_expressions =
13496 # 1250 "parser_cocci_menhir.mly"
13497 ( _1 )
13498 # 13499 "parser_cocci_menhir.ml"
13499 in
13500 _menhir_env.MenhirLib.EngineTypes.stack <- {
13501 MenhirLib.EngineTypes.state = _menhir_s;
13502 MenhirLib.EngineTypes.semv = Obj.repr _v;
13503 MenhirLib.EngineTypes.startp = _startpos;
13504 MenhirLib.EngineTypes.endp = _endpos;
13505 MenhirLib.EngineTypes.next = _menhir_stack;
13506 });
13507 (fun _menhir_env ->
13508 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13509 let {
13510 MenhirLib.EngineTypes.semv = d;
13511 MenhirLib.EngineTypes.startp = _startpos_d_;
13512 MenhirLib.EngineTypes.endp = _endpos_d_;
13513 MenhirLib.EngineTypes.next = {
13514 MenhirLib.EngineTypes.state = _menhir_s;
13515 MenhirLib.EngineTypes.semv = c;
13516 MenhirLib.EngineTypes.startp = _startpos_c_;
13517 MenhirLib.EngineTypes.endp = _endpos_c_;
13518 MenhirLib.EngineTypes.next = _menhir_stack;
13519 };
13520 } = _menhir_stack in
13521 let d : (
13522 # 76 "parser_cocci_menhir.mly"
13523 (Data.clt)
13524 # 13525 "parser_cocci_menhir.ml"
13525 ) = Obj.magic d in
13526 let c : (
13527 # 110 "parser_cocci_menhir.mly"
13528 (Data.clt)
13529 # 13530 "parser_cocci_menhir.ml"
13530 ) = Obj.magic c in
13531 let _startpos = _startpos_c_ in
13532 let _endpos = _endpos_d_ in
13533 let _v : 'tv_dp_comma_args_TEllipsis_ =
13534 # 766 "parser_cocci_menhir.mly"
13535 ( function dot_builder ->
13536 [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," c)); dot_builder d] )
13537 # 13538 "parser_cocci_menhir.ml"
13538 in
13539 _menhir_env.MenhirLib.EngineTypes.stack <- {
13540 MenhirLib.EngineTypes.state = _menhir_s;
13541 MenhirLib.EngineTypes.semv = Obj.repr _v;
13542 MenhirLib.EngineTypes.startp = _startpos;
13543 MenhirLib.EngineTypes.endp = _endpos;
13544 MenhirLib.EngineTypes.next = _menhir_stack;
13545 });
13546 (fun _menhir_env ->
13547 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13548 let {
13549 MenhirLib.EngineTypes.semv = _2;
13550 MenhirLib.EngineTypes.startp = _startpos__2_;
13551 MenhirLib.EngineTypes.endp = _endpos__2_;
13552 MenhirLib.EngineTypes.next = {
13553 MenhirLib.EngineTypes.state = _menhir_s;
13554 MenhirLib.EngineTypes.semv = _1;
13555 MenhirLib.EngineTypes.startp = _startpos__1_;
13556 MenhirLib.EngineTypes.endp = _endpos__1_;
13557 MenhirLib.EngineTypes.next = _menhir_stack;
13558 };
13559 } = _menhir_stack in
13560 let _2 : 'tv_ident = Obj.magic _2 in
13561 let _1 : (
13562 # 110 "parser_cocci_menhir.mly"
13563 (Data.clt)
13564 # 13565 "parser_cocci_menhir.ml"
13565 ) = Obj.magic _1 in
13566 let _startpos = _startpos__1_ in
13567 let _endpos = _endpos__2_ in
13568 let _v : 'tv_dp_comma_args_TEllipsis_ =
13569 # 769 "parser_cocci_menhir.mly"
13570 ( function dot_builder ->
13571 [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _1));
13572 Ast0.wrap(Ast0.DParam _2)] )
13573 # 13574 "parser_cocci_menhir.ml"
13574 in
13575 _menhir_env.MenhirLib.EngineTypes.stack <- {
13576 MenhirLib.EngineTypes.state = _menhir_s;
13577 MenhirLib.EngineTypes.semv = Obj.repr _v;
13578 MenhirLib.EngineTypes.startp = _startpos;
13579 MenhirLib.EngineTypes.endp = _endpos;
13580 MenhirLib.EngineTypes.next = _menhir_stack;
13581 });
13582 (fun _menhir_env ->
13583 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13584 let {
13585 MenhirLib.EngineTypes.state = _menhir_s;
13586 MenhirLib.EngineTypes.semv = d;
13587 MenhirLib.EngineTypes.startp = _startpos_d_;
13588 MenhirLib.EngineTypes.endp = _endpos_d_;
13589 MenhirLib.EngineTypes.next = _menhir_stack;
13590 } = _menhir_stack in
13591 let d : (
13592 # 76 "parser_cocci_menhir.mly"
13593 (Data.clt)
13594 # 13595 "parser_cocci_menhir.ml"
13595 ) = Obj.magic d in
13596 let _startpos = _startpos_d_ in
13597 let _endpos = _endpos_d_ in
13598 let _v : 'tv_edots_when_TEllipsis_eexpr_ =
13599 # 1978 "parser_cocci_menhir.mly"
13600 ( (d,None) )
13601 # 13602 "parser_cocci_menhir.ml"
13602 in
13603 _menhir_env.MenhirLib.EngineTypes.stack <- {
13604 MenhirLib.EngineTypes.state = _menhir_s;
13605 MenhirLib.EngineTypes.semv = Obj.repr _v;
13606 MenhirLib.EngineTypes.startp = _startpos;
13607 MenhirLib.EngineTypes.endp = _endpos;
13608 MenhirLib.EngineTypes.next = _menhir_stack;
13609 });
13610 (fun _menhir_env ->
13611 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13612 let {
13613 MenhirLib.EngineTypes.startp = _startpos__5_;
13614 MenhirLib.EngineTypes.endp = _endpos__5_;
13615 MenhirLib.EngineTypes.next = {
13616 MenhirLib.EngineTypes.semv = w;
13617 MenhirLib.EngineTypes.startp = _startpos_w_;
13618 MenhirLib.EngineTypes.endp = _endpos_w_;
13619 MenhirLib.EngineTypes.next = {
13620 MenhirLib.EngineTypes.startp = _startpos__3_;
13621 MenhirLib.EngineTypes.endp = _endpos__3_;
13622 MenhirLib.EngineTypes.next = {
13623 MenhirLib.EngineTypes.startp = _startpos__2_;
13624 MenhirLib.EngineTypes.endp = _endpos__2_;
13625 MenhirLib.EngineTypes.next = {
13626 MenhirLib.EngineTypes.state = _menhir_s;
13627 MenhirLib.EngineTypes.semv = d;
13628 MenhirLib.EngineTypes.startp = _startpos_d_;
13629 MenhirLib.EngineTypes.endp = _endpos_d_;
13630 MenhirLib.EngineTypes.next = _menhir_stack;
13631 };
13632 };
13633 };
13634 };
13635 } = _menhir_stack in
13636 let w : 'tv_eexpr = Obj.magic w in
13637 let d : (
13638 # 76 "parser_cocci_menhir.mly"
13639 (Data.clt)
13640 # 13641 "parser_cocci_menhir.ml"
13641 ) = Obj.magic d in
13642 let _startpos = _startpos_d_ in
13643 let _endpos = _endpos__5_ in
13644 let _v : 'tv_edots_when_TEllipsis_eexpr_ =
13645 # 1979 "parser_cocci_menhir.mly"
13646 ( (d,Some w) )
13647 # 13648 "parser_cocci_menhir.ml"
13648 in
13649 _menhir_env.MenhirLib.EngineTypes.stack <- {
13650 MenhirLib.EngineTypes.state = _menhir_s;
13651 MenhirLib.EngineTypes.semv = Obj.repr _v;
13652 MenhirLib.EngineTypes.startp = _startpos;
13653 MenhirLib.EngineTypes.endp = _endpos;
13654 MenhirLib.EngineTypes.next = _menhir_stack;
13655 });
13656 (fun _menhir_env ->
13657 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13658 let {
13659 MenhirLib.EngineTypes.state = _menhir_s;
13660 MenhirLib.EngineTypes.semv = d;
13661 MenhirLib.EngineTypes.startp = _startpos_d_;
13662 MenhirLib.EngineTypes.endp = _endpos_d_;
13663 MenhirLib.EngineTypes.next = _menhir_stack;
13664 } = _menhir_stack in
13665 let d : (
13666 # 76 "parser_cocci_menhir.mly"
13667 (Data.clt)
13668 # 13669 "parser_cocci_menhir.ml"
13669 ) = Obj.magic d in
13670 let _startpos = _startpos_d_ in
13671 let _endpos = _endpos_d_ in
13672 let _v : 'tv_edots_when_TEllipsis_initialize_ =
13673 # 1978 "parser_cocci_menhir.mly"
13674 ( (d,None) )
13675 # 13676 "parser_cocci_menhir.ml"
13676 in
13677 _menhir_env.MenhirLib.EngineTypes.stack <- {
13678 MenhirLib.EngineTypes.state = _menhir_s;
13679 MenhirLib.EngineTypes.semv = Obj.repr _v;
13680 MenhirLib.EngineTypes.startp = _startpos;
13681 MenhirLib.EngineTypes.endp = _endpos;
13682 MenhirLib.EngineTypes.next = _menhir_stack;
13683 });
13684 (fun _menhir_env ->
13685 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13686 let {
13687 MenhirLib.EngineTypes.startp = _startpos__5_;
13688 MenhirLib.EngineTypes.endp = _endpos__5_;
13689 MenhirLib.EngineTypes.next = {
13690 MenhirLib.EngineTypes.semv = w;
13691 MenhirLib.EngineTypes.startp = _startpos_w_;
13692 MenhirLib.EngineTypes.endp = _endpos_w_;
13693 MenhirLib.EngineTypes.next = {
13694 MenhirLib.EngineTypes.startp = _startpos__3_;
13695 MenhirLib.EngineTypes.endp = _endpos__3_;
13696 MenhirLib.EngineTypes.next = {
13697 MenhirLib.EngineTypes.startp = _startpos__2_;
13698 MenhirLib.EngineTypes.endp = _endpos__2_;
13699 MenhirLib.EngineTypes.next = {
13700 MenhirLib.EngineTypes.state = _menhir_s;
13701 MenhirLib.EngineTypes.semv = d;
13702 MenhirLib.EngineTypes.startp = _startpos_d_;
13703 MenhirLib.EngineTypes.endp = _endpos_d_;
13704 MenhirLib.EngineTypes.next = _menhir_stack;
13705 };
13706 };
13707 };
13708 };
13709 } = _menhir_stack in
13710 let w : 'tv_initialize = Obj.magic w in
13711 let d : (
13712 # 76 "parser_cocci_menhir.mly"
13713 (Data.clt)
13714 # 13715 "parser_cocci_menhir.ml"
13715 ) = Obj.magic d in
13716 let _startpos = _startpos_d_ in
13717 let _endpos = _endpos__5_ in
13718 let _v : 'tv_edots_when_TEllipsis_initialize_ =
13719 # 1979 "parser_cocci_menhir.mly"
13720 ( (d,Some w) )
13721 # 13722 "parser_cocci_menhir.ml"
13722 in
13723 _menhir_env.MenhirLib.EngineTypes.stack <- {
13724 MenhirLib.EngineTypes.state = _menhir_s;
13725 MenhirLib.EngineTypes.semv = Obj.repr _v;
13726 MenhirLib.EngineTypes.startp = _startpos;
13727 MenhirLib.EngineTypes.endp = _endpos;
13728 MenhirLib.EngineTypes.next = _menhir_stack;
13729 });
13730 (fun _menhir_env ->
13731 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13732 let {
13733 MenhirLib.EngineTypes.state = _menhir_s;
13734 MenhirLib.EngineTypes.semv = d;
13735 MenhirLib.EngineTypes.startp = _startpos_d_;
13736 MenhirLib.EngineTypes.endp = _endpos_d_;
13737 MenhirLib.EngineTypes.next = _menhir_stack;
13738 } = _menhir_stack in
13739 let d : (
13740 # 76 "parser_cocci_menhir.mly"
13741 (Data.clt)
13742 # 13743 "parser_cocci_menhir.ml"
13743 ) = Obj.magic d in
13744 let _startpos = _startpos_d_ in
13745 let _endpos = _endpos_d_ in
13746 let _v : 'tv_edots_when_TEllipsis_struct_decl_ =
13747 # 1978 "parser_cocci_menhir.mly"
13748 ( (d,None) )
13749 # 13750 "parser_cocci_menhir.ml"
13750 in
13751 _menhir_env.MenhirLib.EngineTypes.stack <- {
13752 MenhirLib.EngineTypes.state = _menhir_s;
13753 MenhirLib.EngineTypes.semv = Obj.repr _v;
13754 MenhirLib.EngineTypes.startp = _startpos;
13755 MenhirLib.EngineTypes.endp = _endpos;
13756 MenhirLib.EngineTypes.next = _menhir_stack;
13757 });
13758 (fun _menhir_env ->
13759 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13760 let {
13761 MenhirLib.EngineTypes.startp = _startpos__5_;
13762 MenhirLib.EngineTypes.endp = _endpos__5_;
13763 MenhirLib.EngineTypes.next = {
13764 MenhirLib.EngineTypes.semv = w;
13765 MenhirLib.EngineTypes.startp = _startpos_w_;
13766 MenhirLib.EngineTypes.endp = _endpos_w_;
13767 MenhirLib.EngineTypes.next = {
13768 MenhirLib.EngineTypes.startp = _startpos__3_;
13769 MenhirLib.EngineTypes.endp = _endpos__3_;
13770 MenhirLib.EngineTypes.next = {
13771 MenhirLib.EngineTypes.startp = _startpos__2_;
13772 MenhirLib.EngineTypes.endp = _endpos__2_;
13773 MenhirLib.EngineTypes.next = {
13774 MenhirLib.EngineTypes.state = _menhir_s;
13775 MenhirLib.EngineTypes.semv = d;
13776 MenhirLib.EngineTypes.startp = _startpos_d_;
13777 MenhirLib.EngineTypes.endp = _endpos_d_;
13778 MenhirLib.EngineTypes.next = _menhir_stack;
13779 };
13780 };
13781 };
13782 };
13783 } = _menhir_stack in
13784 let w : 'tv_struct_decl = Obj.magic w in
13785 let d : (
13786 # 76 "parser_cocci_menhir.mly"
13787 (Data.clt)
13788 # 13789 "parser_cocci_menhir.ml"
13789 ) = Obj.magic d in
13790 let _startpos = _startpos_d_ in
13791 let _endpos = _endpos__5_ in
13792 let _v : 'tv_edots_when_TEllipsis_struct_decl_ =
13793 # 1979 "parser_cocci_menhir.mly"
13794 ( (d,Some w) )
13795 # 13796 "parser_cocci_menhir.ml"
13796 in
13797 _menhir_env.MenhirLib.EngineTypes.stack <- {
13798 MenhirLib.EngineTypes.state = _menhir_s;
13799 MenhirLib.EngineTypes.semv = Obj.repr _v;
13800 MenhirLib.EngineTypes.startp = _startpos;
13801 MenhirLib.EngineTypes.endp = _endpos;
13802 MenhirLib.EngineTypes.next = _menhir_stack;
13803 });
13804 (fun _menhir_env ->
13805 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13806 let {
13807 MenhirLib.EngineTypes.state = _menhir_s;
13808 MenhirLib.EngineTypes.semv = _1;
13809 MenhirLib.EngineTypes.startp = _startpos__1_;
13810 MenhirLib.EngineTypes.endp = _endpos__1_;
13811 MenhirLib.EngineTypes.next = _menhir_stack;
13812 } = _menhir_stack in
13813 let _1 : 'tv_basic_expr_eexpr_dot_expressions_ = Obj.magic _1 in
13814 let _startpos = _startpos__1_ in
13815 let _endpos = _endpos__1_ in
13816 let _v : 'tv_eexpr =
13817 # 1238 "parser_cocci_menhir.mly"
13818 ( _1 )
13819 # 13820 "parser_cocci_menhir.ml"
13820 in
13821 _menhir_env.MenhirLib.EngineTypes.stack <- {
13822 MenhirLib.EngineTypes.state = _menhir_s;
13823 MenhirLib.EngineTypes.semv = Obj.repr _v;
13824 MenhirLib.EngineTypes.startp = _startpos;
13825 MenhirLib.EngineTypes.endp = _endpos;
13826 MenhirLib.EngineTypes.next = _menhir_stack;
13827 });
13828 (fun _menhir_env ->
13829 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13830 let {
13831 MenhirLib.EngineTypes.state = _menhir_s;
13832 MenhirLib.EngineTypes.semv = _1;
13833 MenhirLib.EngineTypes.startp = _startpos__1_;
13834 MenhirLib.EngineTypes.endp = _endpos__1_;
13835 MenhirLib.EngineTypes.next = _menhir_stack;
13836 } = _menhir_stack in
13837 let _1 : 'tv_eexpr_list_start = Obj.magic _1 in
13838 let _startpos = _startpos__1_ in
13839 let _endpos = _endpos__1_ in
13840 let _v : 'tv_eexpr_list =
13841 # 1922 "parser_cocci_menhir.mly"
13842 (let circle x =
13843 match Ast0.unwrap x with Ast0.Ecircles(_) -> true | _ -> false in
13844 let star x =
13845 match Ast0.unwrap x with Ast0.Estars(_) -> true | _ -> false in
13846 if List.exists circle _1
13847 then Ast0.wrap(Ast0.CIRCLES(_1))
13848 else
13849 if List.exists star _1
13850 then Ast0.wrap(Ast0.STARS(_1))
13851 else Ast0.wrap(Ast0.DOTS(_1)) )
13852 # 13853 "parser_cocci_menhir.ml"
13853 in
13854 _menhir_env.MenhirLib.EngineTypes.stack <- {
13855 MenhirLib.EngineTypes.state = _menhir_s;
13856 MenhirLib.EngineTypes.semv = Obj.repr _v;
13857 MenhirLib.EngineTypes.startp = _startpos;
13858 MenhirLib.EngineTypes.endp = _endpos;
13859 MenhirLib.EngineTypes.next = _menhir_stack;
13860 });
13861 (fun _menhir_env ->
13862 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13863 let {
13864 MenhirLib.EngineTypes.state = _menhir_s;
13865 MenhirLib.EngineTypes.semv = _1;
13866 MenhirLib.EngineTypes.startp = _startpos__1_;
13867 MenhirLib.EngineTypes.endp = _endpos__1_;
13868 MenhirLib.EngineTypes.next = _menhir_stack;
13869 } = _menhir_stack in
13870 let _1 : 'tv_eexpr_list = Obj.magic _1 in
13871 let _startpos = _startpos__1_ in
13872 let _endpos = _endpos__1_ in
13873 let _v : 'tv_eexpr_list_option =
13874 # 1961 "parser_cocci_menhir.mly"
13875 ( _1 )
13876 # 13877 "parser_cocci_menhir.ml"
13877 in
13878 _menhir_env.MenhirLib.EngineTypes.stack <- {
13879 MenhirLib.EngineTypes.state = _menhir_s;
13880 MenhirLib.EngineTypes.semv = Obj.repr _v;
13881 MenhirLib.EngineTypes.startp = _startpos;
13882 MenhirLib.EngineTypes.endp = _endpos;
13883 MenhirLib.EngineTypes.next = _menhir_stack;
13884 });
13885 (fun _menhir_env ->
13886 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13887 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
13888 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
13889 let _endpos = _startpos in
13890 let _v : 'tv_eexpr_list_option =
13891 # 1962 "parser_cocci_menhir.mly"
13892 ( Ast0.wrap(Ast0.DOTS([])) )
13893 # 13894 "parser_cocci_menhir.ml"
13894 in
13895 _menhir_env.MenhirLib.EngineTypes.stack <- {
13896 MenhirLib.EngineTypes.state = _menhir_s;
13897 MenhirLib.EngineTypes.semv = Obj.repr _v;
13898 MenhirLib.EngineTypes.startp = _startpos;
13899 MenhirLib.EngineTypes.endp = _endpos;
13900 MenhirLib.EngineTypes.next = _menhir_stack;
13901 });
13902 (fun _menhir_env ->
13903 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13904 let {
13905 MenhirLib.EngineTypes.state = _menhir_s;
13906 MenhirLib.EngineTypes.semv = _1;
13907 MenhirLib.EngineTypes.startp = _startpos__1_;
13908 MenhirLib.EngineTypes.endp = _endpos__1_;
13909 MenhirLib.EngineTypes.next = _menhir_stack;
13910 } = _menhir_stack in
13911 let _1 : 'tv_aexpr = Obj.magic _1 in
13912 let _startpos = _startpos__1_ in
13913 let _endpos = _endpos__1_ in
13914 let _v : 'tv_eexpr_list_start =
13915 # 1949 "parser_cocci_menhir.mly"
13916 ( [_1] )
13917 # 13918 "parser_cocci_menhir.ml"
13918 in
13919 _menhir_env.MenhirLib.EngineTypes.stack <- {
13920 MenhirLib.EngineTypes.state = _menhir_s;
13921 MenhirLib.EngineTypes.semv = Obj.repr _v;
13922 MenhirLib.EngineTypes.startp = _startpos;
13923 MenhirLib.EngineTypes.endp = _endpos;
13924 MenhirLib.EngineTypes.next = _menhir_stack;
13925 });
13926 (fun _menhir_env ->
13927 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13928 let {
13929 MenhirLib.EngineTypes.semv = _3;
13930 MenhirLib.EngineTypes.startp = _startpos__3_;
13931 MenhirLib.EngineTypes.endp = _endpos__3_;
13932 MenhirLib.EngineTypes.next = {
13933 MenhirLib.EngineTypes.semv = _2;
13934 MenhirLib.EngineTypes.startp = _startpos__2_;
13935 MenhirLib.EngineTypes.endp = _endpos__2_;
13936 MenhirLib.EngineTypes.next = {
13937 MenhirLib.EngineTypes.state = _menhir_s;
13938 MenhirLib.EngineTypes.semv = _1;
13939 MenhirLib.EngineTypes.startp = _startpos__1_;
13940 MenhirLib.EngineTypes.endp = _endpos__1_;
13941 MenhirLib.EngineTypes.next = _menhir_stack;
13942 };
13943 };
13944 } = _menhir_stack in
13945 let _3 : 'tv_eexpr_list_start = Obj.magic _3 in
13946 let _2 : (
13947 # 110 "parser_cocci_menhir.mly"
13948 (Data.clt)
13949 # 13950 "parser_cocci_menhir.ml"
13950 ) = Obj.magic _2 in
13951 let _1 : 'tv_aexpr = Obj.magic _1 in
13952 let _startpos = _startpos__1_ in
13953 let _endpos = _endpos__3_ in
13954 let _v : 'tv_eexpr_list_start =
13955 # 1951 "parser_cocci_menhir.mly"
13956 ( _1::Ast0.wrap(Ast0.EComma(P.clt2mcode "," _2))::_3 )
13957 # 13958 "parser_cocci_menhir.ml"
13958 in
13959 _menhir_env.MenhirLib.EngineTypes.stack <- {
13960 MenhirLib.EngineTypes.state = _menhir_s;
13961 MenhirLib.EngineTypes.semv = Obj.repr _v;
13962 MenhirLib.EngineTypes.startp = _startpos;
13963 MenhirLib.EngineTypes.endp = _endpos;
13964 MenhirLib.EngineTypes.next = _menhir_stack;
13965 });
13966 (fun _menhir_env ->
13967 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13968 let {
13969 MenhirLib.EngineTypes.state = _menhir_s;
13970 MenhirLib.EngineTypes.startp = _startpos__1_;
13971 MenhirLib.EngineTypes.endp = _endpos__1_;
13972 MenhirLib.EngineTypes.next = _menhir_stack;
13973 } = _menhir_stack in
13974 let _startpos = _startpos__1_ in
13975 let _endpos = _endpos__1_ in
13976 let _v : 'tv_exists =
13977 # 246 "parser_cocci_menhir.mly"
13978 ( Ast.Exists )
13979 # 13980 "parser_cocci_menhir.ml"
13980 in
13981 _menhir_env.MenhirLib.EngineTypes.stack <- {
13982 MenhirLib.EngineTypes.state = _menhir_s;
13983 MenhirLib.EngineTypes.semv = Obj.repr _v;
13984 MenhirLib.EngineTypes.startp = _startpos;
13985 MenhirLib.EngineTypes.endp = _endpos;
13986 MenhirLib.EngineTypes.next = _menhir_stack;
13987 });
13988 (fun _menhir_env ->
13989 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13990 let {
13991 MenhirLib.EngineTypes.state = _menhir_s;
13992 MenhirLib.EngineTypes.startp = _startpos__1_;
13993 MenhirLib.EngineTypes.endp = _endpos__1_;
13994 MenhirLib.EngineTypes.next = _menhir_stack;
13995 } = _menhir_stack in
13996 let _startpos = _startpos__1_ in
13997 let _endpos = _endpos__1_ in
13998 let _v : 'tv_exists =
13999 # 247 "parser_cocci_menhir.mly"
14000 ( Ast.Forall )
14001 # 14002 "parser_cocci_menhir.ml"
14002 in
14003 _menhir_env.MenhirLib.EngineTypes.stack <- {
14004 MenhirLib.EngineTypes.state = _menhir_s;
14005 MenhirLib.EngineTypes.semv = Obj.repr _v;
14006 MenhirLib.EngineTypes.startp = _startpos;
14007 MenhirLib.EngineTypes.endp = _endpos;
14008 MenhirLib.EngineTypes.next = _menhir_stack;
14009 });
14010 (fun _menhir_env ->
14011 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14012 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14013 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14014 let _endpos = _startpos in
14015 let _v : 'tv_exists =
14016 # 248 "parser_cocci_menhir.mly"
14017 ( Ast.Undetermined )
14018 # 14019 "parser_cocci_menhir.ml"
14019 in
14020 _menhir_env.MenhirLib.EngineTypes.stack <- {
14021 MenhirLib.EngineTypes.state = _menhir_s;
14022 MenhirLib.EngineTypes.semv = Obj.repr _v;
14023 MenhirLib.EngineTypes.startp = _startpos;
14024 MenhirLib.EngineTypes.endp = _endpos;
14025 MenhirLib.EngineTypes.next = _menhir_stack;
14026 });
14027 (fun _menhir_env ->
14028 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14029 let {
14030 MenhirLib.EngineTypes.state = _menhir_s;
14031 MenhirLib.EngineTypes.semv = _1;
14032 MenhirLib.EngineTypes.startp = _startpos__1_;
14033 MenhirLib.EngineTypes.endp = _endpos__1_;
14034 MenhirLib.EngineTypes.next = _menhir_stack;
14035 } = _menhir_stack in
14036 let _1 : 'tv_basic_expr_expr_invalid_ = Obj.magic _1 in
14037 let _startpos = _startpos__1_ in
14038 let _endpos = _endpos__1_ in
14039 let _v : 'tv_expr =
14040 # 1236 "parser_cocci_menhir.mly"
14041 ( _1 )
14042 # 14043 "parser_cocci_menhir.ml"
14043 in
14044 _menhir_env.MenhirLib.EngineTypes.stack <- {
14045 MenhirLib.EngineTypes.state = _menhir_s;
14046 MenhirLib.EngineTypes.semv = Obj.repr _v;
14047 MenhirLib.EngineTypes.startp = _startpos;
14048 MenhirLib.EngineTypes.endp = _endpos;
14049 MenhirLib.EngineTypes.next = _menhir_stack;
14050 });
14051 (fun _menhir_env ->
14052 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14053 let {
14054 MenhirLib.EngineTypes.state = _menhir_s;
14055 MenhirLib.EngineTypes.semv = r;
14056 MenhirLib.EngineTypes.startp = _startpos_r_;
14057 MenhirLib.EngineTypes.endp = _endpos_r_;
14058 MenhirLib.EngineTypes.next = _menhir_stack;
14059 } = _menhir_stack in
14060 let r : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = Obj.magic r in
14061 let _startpos = _startpos_r_ in
14062 let _endpos = _endpos_r_ in
14063 let _v : 'tv_expr_dots_TEllipsis_ =
14064 # 1418 "parser_cocci_menhir.mly"
14065 ( r )
14066 # 14067 "parser_cocci_menhir.ml"
14067 in
14068 _menhir_env.MenhirLib.EngineTypes.stack <- {
14069 MenhirLib.EngineTypes.state = _menhir_s;
14070 MenhirLib.EngineTypes.semv = Obj.repr _v;
14071 MenhirLib.EngineTypes.startp = _startpos;
14072 MenhirLib.EngineTypes.endp = _endpos;
14073 MenhirLib.EngineTypes.next = _menhir_stack;
14074 });
14075 (fun _menhir_env ->
14076 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14077 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14078 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14079 let _endpos = _startpos in
14080 let _v : 'tv_extends =
14081 # 219 "parser_cocci_menhir.mly"
14082 ( () )
14083 # 14084 "parser_cocci_menhir.ml"
14084 in
14085 _menhir_env.MenhirLib.EngineTypes.stack <- {
14086 MenhirLib.EngineTypes.state = _menhir_s;
14087 MenhirLib.EngineTypes.semv = Obj.repr _v;
14088 MenhirLib.EngineTypes.startp = _startpos;
14089 MenhirLib.EngineTypes.endp = _endpos;
14090 MenhirLib.EngineTypes.next = _menhir_stack;
14091 });
14092 (fun _menhir_env ->
14093 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14094 let {
14095 MenhirLib.EngineTypes.semv = parent;
14096 MenhirLib.EngineTypes.startp = _startpos_parent_;
14097 MenhirLib.EngineTypes.endp = _endpos_parent_;
14098 MenhirLib.EngineTypes.next = {
14099 MenhirLib.EngineTypes.state = _menhir_s;
14100 MenhirLib.EngineTypes.startp = _startpos__1_;
14101 MenhirLib.EngineTypes.endp = _endpos__1_;
14102 MenhirLib.EngineTypes.next = _menhir_stack;
14103 };
14104 } = _menhir_stack in
14105 let parent : (
14106 # 49 "parser_cocci_menhir.mly"
14107 (string)
14108 # 14109 "parser_cocci_menhir.ml"
14109 ) = Obj.magic parent in
14110 let _startpos = _startpos__1_ in
14111 let _endpos = _endpos_parent_ in
14112 let _v : 'tv_extends =
14113 # 221 "parser_cocci_menhir.mly"
14114 ( !Data.install_bindings (parent) )
14115 # 14116 "parser_cocci_menhir.ml"
14116 in
14117 _menhir_env.MenhirLib.EngineTypes.stack <- {
14118 MenhirLib.EngineTypes.state = _menhir_s;
14119 MenhirLib.EngineTypes.semv = Obj.repr _v;
14120 MenhirLib.EngineTypes.startp = _startpos;
14121 MenhirLib.EngineTypes.endp = _endpos;
14122 MenhirLib.EngineTypes.next = _menhir_stack;
14123 });
14124 (fun _menhir_env ->
14125 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14126 let {
14127 MenhirLib.EngineTypes.semv = _2;
14128 MenhirLib.EngineTypes.startp = _startpos__2_;
14129 MenhirLib.EngineTypes.endp = _endpos__2_;
14130 MenhirLib.EngineTypes.next = {
14131 MenhirLib.EngineTypes.state = _menhir_s;
14132 MenhirLib.EngineTypes.semv = _1;
14133 MenhirLib.EngineTypes.startp = _startpos__1_;
14134 MenhirLib.EngineTypes.endp = _endpos__1_;
14135 MenhirLib.EngineTypes.next = _menhir_stack;
14136 };
14137 } = _menhir_stack in
14138 let _2 : (
14139 # 86 "parser_cocci_menhir.mly"
14140 (string * Data.clt)
14141 # 14142 "parser_cocci_menhir.ml"
14142 ) = Obj.magic _2 in
14143 let _1 : (
14144 # 86 "parser_cocci_menhir.mly"
14145 (string * Data.clt)
14146 # 14147 "parser_cocci_menhir.ml"
14147 ) = Obj.magic _1 in
14148 let _startpos = _startpos__1_ in
14149 let _endpos = _endpos__2_ in
14150 let _v : 'tv_filespec =
14151 # 663 "parser_cocci_menhir.mly"
14152 ( [Ast0.wrap
14153 (Ast0.FILEINFO(P.id2mcode _1,
14154 P.id2mcode _2))] )
14155 # 14156 "parser_cocci_menhir.ml"
14156 in
14157 _menhir_env.MenhirLib.EngineTypes.stack <- {
14158 MenhirLib.EngineTypes.state = _menhir_s;
14159 MenhirLib.EngineTypes.semv = Obj.repr _v;
14160 MenhirLib.EngineTypes.startp = _startpos;
14161 MenhirLib.EngineTypes.endp = _endpos;
14162 MenhirLib.EngineTypes.next = _menhir_stack;
14163 });
14164 (fun _menhir_env ->
14165 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14166 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14167 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14168 let _endpos = _startpos in
14169 let _v : 'tv_fninfo =
14170 # 802 "parser_cocci_menhir.mly"
14171 ( [] )
14172 # 14173 "parser_cocci_menhir.ml"
14173 in
14174 _menhir_env.MenhirLib.EngineTypes.stack <- {
14175 MenhirLib.EngineTypes.state = _menhir_s;
14176 MenhirLib.EngineTypes.semv = Obj.repr _v;
14177 MenhirLib.EngineTypes.startp = _startpos;
14178 MenhirLib.EngineTypes.endp = _endpos;
14179 MenhirLib.EngineTypes.next = _menhir_stack;
14180 });
14181 (fun _menhir_env ->
14182 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14183 let {
14184 MenhirLib.EngineTypes.semv = _2;
14185 MenhirLib.EngineTypes.startp = _startpos__2_;
14186 MenhirLib.EngineTypes.endp = _endpos__2_;
14187 MenhirLib.EngineTypes.next = {
14188 MenhirLib.EngineTypes.state = _menhir_s;
14189 MenhirLib.EngineTypes.semv = _1;
14190 MenhirLib.EngineTypes.startp = _startpos__1_;
14191 MenhirLib.EngineTypes.endp = _endpos__1_;
14192 MenhirLib.EngineTypes.next = _menhir_stack;
14193 };
14194 } = _menhir_stack in
14195 let _2 : 'tv_fninfo = Obj.magic _2 in
14196 let _1 : 'tv_storage = Obj.magic _1 in
14197 let _startpos = _startpos__1_ in
14198 let _endpos = _endpos__2_ in
14199 let _v : 'tv_fninfo =
14200 # 804 "parser_cocci_menhir.mly"
14201 ( try
14202 let _ =
14203 List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
14204 raise (Semantic_cocci.Semantic "duplicate storage")
14205 with Not_found -> (Ast0.FStorage(_1))::_2 )
14206 # 14207 "parser_cocci_menhir.ml"
14207 in
14208 _menhir_env.MenhirLib.EngineTypes.stack <- {
14209 MenhirLib.EngineTypes.state = _menhir_s;
14210 MenhirLib.EngineTypes.semv = Obj.repr _v;
14211 MenhirLib.EngineTypes.startp = _startpos;
14212 MenhirLib.EngineTypes.endp = _endpos;
14213 MenhirLib.EngineTypes.next = _menhir_stack;
14214 });
14215 (fun _menhir_env ->
14216 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14217 let {
14218 MenhirLib.EngineTypes.semv = r;
14219 MenhirLib.EngineTypes.startp = _startpos_r_;
14220 MenhirLib.EngineTypes.endp = _endpos_r_;
14221 MenhirLib.EngineTypes.next = {
14222 MenhirLib.EngineTypes.state = _menhir_s;
14223 MenhirLib.EngineTypes.semv = t;
14224 MenhirLib.EngineTypes.startp = _startpos_t_;
14225 MenhirLib.EngineTypes.endp = _endpos_t_;
14226 MenhirLib.EngineTypes.next = _menhir_stack;
14227 };
14228 } = _menhir_stack in
14229 let r : 'tv_fninfo_nt = Obj.magic r in
14230 let t : 'tv_ctype = Obj.magic t in
14231 let _startpos = _startpos_t_ in
14232 let _endpos = _endpos_r_ in
14233 let _v : 'tv_fninfo =
14234 # 809 "parser_cocci_menhir.mly"
14235 ( (Ast0.FType(t))::r )
14236 # 14237 "parser_cocci_menhir.ml"
14237 in
14238 _menhir_env.MenhirLib.EngineTypes.stack <- {
14239 MenhirLib.EngineTypes.state = _menhir_s;
14240 MenhirLib.EngineTypes.semv = Obj.repr _v;
14241 MenhirLib.EngineTypes.startp = _startpos;
14242 MenhirLib.EngineTypes.endp = _endpos;
14243 MenhirLib.EngineTypes.next = _menhir_stack;
14244 });
14245 (fun _menhir_env ->
14246 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14247 let {
14248 MenhirLib.EngineTypes.semv = _2;
14249 MenhirLib.EngineTypes.startp = _startpos__2_;
14250 MenhirLib.EngineTypes.endp = _endpos__2_;
14251 MenhirLib.EngineTypes.next = {
14252 MenhirLib.EngineTypes.state = _menhir_s;
14253 MenhirLib.EngineTypes.semv = _1;
14254 MenhirLib.EngineTypes.startp = _startpos__1_;
14255 MenhirLib.EngineTypes.endp = _endpos__1_;
14256 MenhirLib.EngineTypes.next = _menhir_stack;
14257 };
14258 } = _menhir_stack in
14259 let _2 : 'tv_fninfo = Obj.magic _2 in
14260 let _1 : (
14261 # 55 "parser_cocci_menhir.mly"
14262 (Data.clt)
14263 # 14264 "parser_cocci_menhir.ml"
14264 ) = Obj.magic _1 in
14265 let _startpos = _startpos__1_ in
14266 let _endpos = _endpos__2_ in
14267 let _v : 'tv_fninfo =
14268 # 811 "parser_cocci_menhir.mly"
14269 ( try
14270 let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
14271 raise (Semantic_cocci.Semantic "duplicate inline")
14272 with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
14273 # 14274 "parser_cocci_menhir.ml"
14274 in
14275 _menhir_env.MenhirLib.EngineTypes.stack <- {
14276 MenhirLib.EngineTypes.state = _menhir_s;
14277 MenhirLib.EngineTypes.semv = Obj.repr _v;
14278 MenhirLib.EngineTypes.startp = _startpos;
14279 MenhirLib.EngineTypes.endp = _endpos;
14280 MenhirLib.EngineTypes.next = _menhir_stack;
14281 });
14282 (fun _menhir_env ->
14283 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14284 let {
14285 MenhirLib.EngineTypes.semv = _2;
14286 MenhirLib.EngineTypes.startp = _startpos__2_;
14287 MenhirLib.EngineTypes.endp = _endpos__2_;
14288 MenhirLib.EngineTypes.next = {
14289 MenhirLib.EngineTypes.state = _menhir_s;
14290 MenhirLib.EngineTypes.semv = _1;
14291 MenhirLib.EngineTypes.startp = _startpos__1_;
14292 MenhirLib.EngineTypes.endp = _endpos__1_;
14293 MenhirLib.EngineTypes.next = _menhir_stack;
14294 };
14295 } = _menhir_stack in
14296 let _2 : 'tv_fninfo = Obj.magic _2 in
14297 let _1 : (
14298 # 57 "parser_cocci_menhir.mly"
14299 (string * Data.clt)
14300 # 14301 "parser_cocci_menhir.ml"
14301 ) = Obj.magic _1 in
14302 let _startpos = _startpos__1_ in
14303 let _endpos = _endpos__2_ in
14304 let _v : 'tv_fninfo =
14305 # 816 "parser_cocci_menhir.mly"
14306 ( try
14307 let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
14308 raise (Semantic_cocci.Semantic "multiple attributes")
14309 with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
14310 # 14311 "parser_cocci_menhir.ml"
14311 in
14312 _menhir_env.MenhirLib.EngineTypes.stack <- {
14313 MenhirLib.EngineTypes.state = _menhir_s;
14314 MenhirLib.EngineTypes.semv = Obj.repr _v;
14315 MenhirLib.EngineTypes.startp = _startpos;
14316 MenhirLib.EngineTypes.endp = _endpos;
14317 MenhirLib.EngineTypes.next = _menhir_stack;
14318 });
14319 (fun _menhir_env ->
14320 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14321 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14322 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14323 let _endpos = _startpos in
14324 let _v : 'tv_fninfo_nt =
14325 # 822 "parser_cocci_menhir.mly"
14326 ( [] )
14327 # 14328 "parser_cocci_menhir.ml"
14328 in
14329 _menhir_env.MenhirLib.EngineTypes.stack <- {
14330 MenhirLib.EngineTypes.state = _menhir_s;
14331 MenhirLib.EngineTypes.semv = Obj.repr _v;
14332 MenhirLib.EngineTypes.startp = _startpos;
14333 MenhirLib.EngineTypes.endp = _endpos;
14334 MenhirLib.EngineTypes.next = _menhir_stack;
14335 });
14336 (fun _menhir_env ->
14337 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14338 let {
14339 MenhirLib.EngineTypes.semv = _2;
14340 MenhirLib.EngineTypes.startp = _startpos__2_;
14341 MenhirLib.EngineTypes.endp = _endpos__2_;
14342 MenhirLib.EngineTypes.next = {
14343 MenhirLib.EngineTypes.state = _menhir_s;
14344 MenhirLib.EngineTypes.semv = _1;
14345 MenhirLib.EngineTypes.startp = _startpos__1_;
14346 MenhirLib.EngineTypes.endp = _endpos__1_;
14347 MenhirLib.EngineTypes.next = _menhir_stack;
14348 };
14349 } = _menhir_stack in
14350 let _2 : 'tv_fninfo_nt = Obj.magic _2 in
14351 let _1 : 'tv_storage = Obj.magic _1 in
14352 let _startpos = _startpos__1_ in
14353 let _endpos = _endpos__2_ in
14354 let _v : 'tv_fninfo_nt =
14355 # 824 "parser_cocci_menhir.mly"
14356 ( try
14357 let _ =
14358 List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
14359 raise (Semantic_cocci.Semantic "duplicate storage")
14360 with Not_found -> (Ast0.FStorage(_1))::_2 )
14361 # 14362 "parser_cocci_menhir.ml"
14362 in
14363 _menhir_env.MenhirLib.EngineTypes.stack <- {
14364 MenhirLib.EngineTypes.state = _menhir_s;
14365 MenhirLib.EngineTypes.semv = Obj.repr _v;
14366 MenhirLib.EngineTypes.startp = _startpos;
14367 MenhirLib.EngineTypes.endp = _endpos;
14368 MenhirLib.EngineTypes.next = _menhir_stack;
14369 });
14370 (fun _menhir_env ->
14371 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14372 let {
14373 MenhirLib.EngineTypes.semv = _2;
14374 MenhirLib.EngineTypes.startp = _startpos__2_;
14375 MenhirLib.EngineTypes.endp = _endpos__2_;
14376 MenhirLib.EngineTypes.next = {
14377 MenhirLib.EngineTypes.state = _menhir_s;
14378 MenhirLib.EngineTypes.semv = _1;
14379 MenhirLib.EngineTypes.startp = _startpos__1_;
14380 MenhirLib.EngineTypes.endp = _endpos__1_;
14381 MenhirLib.EngineTypes.next = _menhir_stack;
14382 };
14383 } = _menhir_stack in
14384 let _2 : 'tv_fninfo_nt = Obj.magic _2 in
14385 let _1 : (
14386 # 55 "parser_cocci_menhir.mly"
14387 (Data.clt)
14388 # 14389 "parser_cocci_menhir.ml"
14389 ) = Obj.magic _1 in
14390 let _startpos = _startpos__1_ in
14391 let _endpos = _endpos__2_ in
14392 let _v : 'tv_fninfo_nt =
14393 # 830 "parser_cocci_menhir.mly"
14394 ( try
14395 let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
14396 raise (Semantic_cocci.Semantic "duplicate inline")
14397 with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
14398 # 14399 "parser_cocci_menhir.ml"
14399 in
14400 _menhir_env.MenhirLib.EngineTypes.stack <- {
14401 MenhirLib.EngineTypes.state = _menhir_s;
14402 MenhirLib.EngineTypes.semv = Obj.repr _v;
14403 MenhirLib.EngineTypes.startp = _startpos;
14404 MenhirLib.EngineTypes.endp = _endpos;
14405 MenhirLib.EngineTypes.next = _menhir_stack;
14406 });
14407 (fun _menhir_env ->
14408 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14409 let {
14410 MenhirLib.EngineTypes.semv = _2;
14411 MenhirLib.EngineTypes.startp = _startpos__2_;
14412 MenhirLib.EngineTypes.endp = _endpos__2_;
14413 MenhirLib.EngineTypes.next = {
14414 MenhirLib.EngineTypes.state = _menhir_s;
14415 MenhirLib.EngineTypes.semv = _1;
14416 MenhirLib.EngineTypes.startp = _startpos__1_;
14417 MenhirLib.EngineTypes.endp = _endpos__1_;
14418 MenhirLib.EngineTypes.next = _menhir_stack;
14419 };
14420 } = _menhir_stack in
14421 let _2 : 'tv_fninfo_nt = Obj.magic _2 in
14422 let _1 : (
14423 # 57 "parser_cocci_menhir.mly"
14424 (string * Data.clt)
14425 # 14426 "parser_cocci_menhir.ml"
14426 ) = Obj.magic _1 in
14427 let _startpos = _startpos__1_ in
14428 let _endpos = _endpos__2_ in
14429 let _v : 'tv_fninfo_nt =
14430 # 835 "parser_cocci_menhir.mly"
14431 ( try
14432 let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
14433 raise (Semantic_cocci.Semantic "duplicate init")
14434 with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
14435 # 14436 "parser_cocci_menhir.ml"
14436 in
14437 _menhir_env.MenhirLib.EngineTypes.stack <- {
14438 MenhirLib.EngineTypes.state = _menhir_s;
14439 MenhirLib.EngineTypes.semv = Obj.repr _v;
14440 MenhirLib.EngineTypes.startp = _startpos;
14441 MenhirLib.EngineTypes.endp = _endpos;
14442 MenhirLib.EngineTypes.next = _menhir_stack;
14443 });
14444 (fun _menhir_env ->
14445 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14446 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14447 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14448 let _endpos = _startpos in
14449 let _v : 'tv_fun_after_dots =
14450 # 1870 "parser_cocci_menhir.mly"
14451 ([])
14452 # 14453 "parser_cocci_menhir.ml"
14453 in
14454 _menhir_env.MenhirLib.EngineTypes.stack <- {
14455 MenhirLib.EngineTypes.state = _menhir_s;
14456 MenhirLib.EngineTypes.semv = Obj.repr _v;
14457 MenhirLib.EngineTypes.startp = _startpos;
14458 MenhirLib.EngineTypes.endp = _endpos;
14459 MenhirLib.EngineTypes.next = _menhir_stack;
14460 });
14461 (fun _menhir_env ->
14462 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14463 let {
14464 MenhirLib.EngineTypes.semv = _2;
14465 MenhirLib.EngineTypes.startp = _startpos__2_;
14466 MenhirLib.EngineTypes.endp = _endpos__2_;
14467 MenhirLib.EngineTypes.next = {
14468 MenhirLib.EngineTypes.state = _menhir_s;
14469 MenhirLib.EngineTypes.startp = _startpos__1_;
14470 MenhirLib.EngineTypes.endp = _endpos__1_;
14471 MenhirLib.EngineTypes.next = _menhir_stack;
14472 };
14473 } = _menhir_stack in
14474 let _2 : 'tv_fun_after_exp = Obj.magic _2 in
14475 let _startpos = _startpos__1_ in
14476 let _endpos = _endpos__2_ in
14477 let _v : 'tv_fun_after_dots =
14478 # 1871 "parser_cocci_menhir.mly"
14479 (_2)
14480 # 14481 "parser_cocci_menhir.ml"
14481 in
14482 _menhir_env.MenhirLib.EngineTypes.stack <- {
14483 MenhirLib.EngineTypes.state = _menhir_s;
14484 MenhirLib.EngineTypes.semv = Obj.repr _v;
14485 MenhirLib.EngineTypes.startp = _startpos;
14486 MenhirLib.EngineTypes.endp = _endpos;
14487 MenhirLib.EngineTypes.next = _menhir_stack;
14488 });
14489 (fun _menhir_env ->
14490 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14491 let {
14492 MenhirLib.EngineTypes.semv = _2;
14493 MenhirLib.EngineTypes.startp = _startpos__2_;
14494 MenhirLib.EngineTypes.endp = _endpos__2_;
14495 MenhirLib.EngineTypes.next = {
14496 MenhirLib.EngineTypes.state = _menhir_s;
14497 MenhirLib.EngineTypes.semv = _1;
14498 MenhirLib.EngineTypes.startp = _startpos__1_;
14499 MenhirLib.EngineTypes.endp = _endpos__1_;
14500 MenhirLib.EngineTypes.next = _menhir_stack;
14501 };
14502 } = _menhir_stack in
14503 let _2 : 'tv_fun_after_exp = Obj.magic _2 in
14504 let _1 : 'tv_expr = Obj.magic _1 in
14505 let _startpos = _startpos__1_ in
14506 let _endpos = _endpos__2_ in
14507 let _v : 'tv_fun_after_dots =
14508 # 1872 "parser_cocci_menhir.mly"
14509 (Ast0.wrap(Ast0.Exp(_1))::_2)
14510 # 14511 "parser_cocci_menhir.ml"
14511 in
14512 _menhir_env.MenhirLib.EngineTypes.stack <- {
14513 MenhirLib.EngineTypes.state = _menhir_s;
14514 MenhirLib.EngineTypes.semv = Obj.repr _v;
14515 MenhirLib.EngineTypes.startp = _startpos;
14516 MenhirLib.EngineTypes.endp = _endpos;
14517 MenhirLib.EngineTypes.next = _menhir_stack;
14518 });
14519 (fun _menhir_env ->
14520 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14521 let {
14522 MenhirLib.EngineTypes.semv = _2;
14523 MenhirLib.EngineTypes.startp = _startpos__2_;
14524 MenhirLib.EngineTypes.endp = _endpos__2_;
14525 MenhirLib.EngineTypes.next = {
14526 MenhirLib.EngineTypes.state = _menhir_s;
14527 MenhirLib.EngineTypes.semv = _1;
14528 MenhirLib.EngineTypes.startp = _startpos__1_;
14529 MenhirLib.EngineTypes.endp = _endpos__1_;
14530 MenhirLib.EngineTypes.next = _menhir_stack;
14531 };
14532 } = _menhir_stack in
14533 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
14534 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
14535 let _startpos = _startpos__1_ in
14536 let _endpos = _endpos__2_ in
14537 let _v : 'tv_fun_after_dots =
14538 # 1873 "parser_cocci_menhir.mly"
14539 (_1@_2)
14540 # 14541 "parser_cocci_menhir.ml"
14541 in
14542 _menhir_env.MenhirLib.EngineTypes.stack <- {
14543 MenhirLib.EngineTypes.state = _menhir_s;
14544 MenhirLib.EngineTypes.semv = Obj.repr _v;
14545 MenhirLib.EngineTypes.startp = _startpos;
14546 MenhirLib.EngineTypes.endp = _endpos;
14547 MenhirLib.EngineTypes.next = _menhir_stack;
14548 });
14549 (fun _menhir_env ->
14550 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14551 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14552 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14553 let _endpos = _startpos in
14554 let _v : 'tv_fun_after_dots_or =
14555 # 1880 "parser_cocci_menhir.mly"
14556 ([])
14557 # 14558 "parser_cocci_menhir.ml"
14558 in
14559 _menhir_env.MenhirLib.EngineTypes.stack <- {
14560 MenhirLib.EngineTypes.state = _menhir_s;
14561 MenhirLib.EngineTypes.semv = Obj.repr _v;
14562 MenhirLib.EngineTypes.startp = _startpos;
14563 MenhirLib.EngineTypes.endp = _endpos;
14564 MenhirLib.EngineTypes.next = _menhir_stack;
14565 });
14566 (fun _menhir_env ->
14567 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14568 let {
14569 MenhirLib.EngineTypes.semv = _2;
14570 MenhirLib.EngineTypes.startp = _startpos__2_;
14571 MenhirLib.EngineTypes.endp = _endpos__2_;
14572 MenhirLib.EngineTypes.next = {
14573 MenhirLib.EngineTypes.state = _menhir_s;
14574 MenhirLib.EngineTypes.startp = _startpos__1_;
14575 MenhirLib.EngineTypes.endp = _endpos__1_;
14576 MenhirLib.EngineTypes.next = _menhir_stack;
14577 };
14578 } = _menhir_stack in
14579 let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
14580 let _startpos = _startpos__1_ in
14581 let _endpos = _endpos__2_ in
14582 let _v : 'tv_fun_after_dots_or =
14583 # 1881 "parser_cocci_menhir.mly"
14584 (_2)
14585 # 14586 "parser_cocci_menhir.ml"
14586 in
14587 _menhir_env.MenhirLib.EngineTypes.stack <- {
14588 MenhirLib.EngineTypes.state = _menhir_s;
14589 MenhirLib.EngineTypes.semv = Obj.repr _v;
14590 MenhirLib.EngineTypes.startp = _startpos;
14591 MenhirLib.EngineTypes.endp = _endpos;
14592 MenhirLib.EngineTypes.next = _menhir_stack;
14593 });
14594 (fun _menhir_env ->
14595 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14596 let {
14597 MenhirLib.EngineTypes.semv = _2;
14598 MenhirLib.EngineTypes.startp = _startpos__2_;
14599 MenhirLib.EngineTypes.endp = _endpos__2_;
14600 MenhirLib.EngineTypes.next = {
14601 MenhirLib.EngineTypes.state = _menhir_s;
14602 MenhirLib.EngineTypes.semv = _1;
14603 MenhirLib.EngineTypes.startp = _startpos__1_;
14604 MenhirLib.EngineTypes.endp = _endpos__1_;
14605 MenhirLib.EngineTypes.next = _menhir_stack;
14606 };
14607 } = _menhir_stack in
14608 let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
14609 let _1 : 'tv_expr = Obj.magic _1 in
14610 let _startpos = _startpos__1_ in
14611 let _endpos = _endpos__2_ in
14612 let _v : 'tv_fun_after_dots_or =
14613 # 1882 "parser_cocci_menhir.mly"
14614 (Ast0.wrap(Ast0.Exp(_1))::_2)
14615 # 14616 "parser_cocci_menhir.ml"
14616 in
14617 _menhir_env.MenhirLib.EngineTypes.stack <- {
14618 MenhirLib.EngineTypes.state = _menhir_s;
14619 MenhirLib.EngineTypes.semv = Obj.repr _v;
14620 MenhirLib.EngineTypes.startp = _startpos;
14621 MenhirLib.EngineTypes.endp = _endpos;
14622 MenhirLib.EngineTypes.next = _menhir_stack;
14623 });
14624 (fun _menhir_env ->
14625 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14626 let {
14627 MenhirLib.EngineTypes.semv = _2;
14628 MenhirLib.EngineTypes.startp = _startpos__2_;
14629 MenhirLib.EngineTypes.endp = _endpos__2_;
14630 MenhirLib.EngineTypes.next = {
14631 MenhirLib.EngineTypes.state = _menhir_s;
14632 MenhirLib.EngineTypes.semv = _1;
14633 MenhirLib.EngineTypes.startp = _startpos__1_;
14634 MenhirLib.EngineTypes.endp = _endpos__1_;
14635 MenhirLib.EngineTypes.next = _menhir_stack;
14636 };
14637 } = _menhir_stack in
14638 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
14639 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
14640 let _startpos = _startpos__1_ in
14641 let _endpos = _endpos__2_ in
14642 let _v : 'tv_fun_after_dots_or =
14643 # 1883 "parser_cocci_menhir.mly"
14644 (_1@_2)
14645 # 14646 "parser_cocci_menhir.ml"
14646 in
14647 _menhir_env.MenhirLib.EngineTypes.stack <- {
14648 MenhirLib.EngineTypes.state = _menhir_s;
14649 MenhirLib.EngineTypes.semv = Obj.repr _v;
14650 MenhirLib.EngineTypes.startp = _startpos;
14651 MenhirLib.EngineTypes.endp = _endpos;
14652 MenhirLib.EngineTypes.next = _menhir_stack;
14653 });
14654 (fun _menhir_env ->
14655 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14656 let {
14657 MenhirLib.EngineTypes.semv = _2;
14658 MenhirLib.EngineTypes.startp = _startpos__2_;
14659 MenhirLib.EngineTypes.endp = _endpos__2_;
14660 MenhirLib.EngineTypes.next = {
14661 MenhirLib.EngineTypes.state = _menhir_s;
14662 MenhirLib.EngineTypes.semv = _1;
14663 MenhirLib.EngineTypes.startp = _startpos__1_;
14664 MenhirLib.EngineTypes.endp = _endpos__1_;
14665 MenhirLib.EngineTypes.next = _menhir_stack;
14666 };
14667 } = _menhir_stack in
14668 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
14669 let _1 : 'tv_stm_dots = Obj.magic _1 in
14670 let _startpos = _startpos__1_ in
14671 let _endpos = _endpos__2_ in
14672 let _v : 'tv_fun_after_exp =
14673 # 1876 "parser_cocci_menhir.mly"
14674 (_1::_2)
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 _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14687 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14688 let _endpos = _startpos in
14689 let _v : 'tv_fun_after_exp_or =
14690 # 1886 "parser_cocci_menhir.mly"
14691 ([])
14692 # 14693 "parser_cocci_menhir.ml"
14693 in
14694 _menhir_env.MenhirLib.EngineTypes.stack <- {
14695 MenhirLib.EngineTypes.state = _menhir_s;
14696 MenhirLib.EngineTypes.semv = Obj.repr _v;
14697 MenhirLib.EngineTypes.startp = _startpos;
14698 MenhirLib.EngineTypes.endp = _endpos;
14699 MenhirLib.EngineTypes.next = _menhir_stack;
14700 });
14701 (fun _menhir_env ->
14702 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14703 let {
14704 MenhirLib.EngineTypes.semv = _2;
14705 MenhirLib.EngineTypes.startp = _startpos__2_;
14706 MenhirLib.EngineTypes.endp = _endpos__2_;
14707 MenhirLib.EngineTypes.next = {
14708 MenhirLib.EngineTypes.state = _menhir_s;
14709 MenhirLib.EngineTypes.semv = _1;
14710 MenhirLib.EngineTypes.startp = _startpos__1_;
14711 MenhirLib.EngineTypes.endp = _endpos__1_;
14712 MenhirLib.EngineTypes.next = _menhir_stack;
14713 };
14714 } = _menhir_stack in
14715 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
14716 let _1 : 'tv_stm_dots = Obj.magic _1 in
14717 let _startpos = _startpos__1_ in
14718 let _endpos = _endpos__2_ in
14719 let _v : 'tv_fun_after_exp_or =
14720 # 1887 "parser_cocci_menhir.mly"
14721 (_1::_2)
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 _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14734 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14735 let _endpos = _startpos in
14736 let _v : 'tv_fun_after_stm =
14737 # 1865 "parser_cocci_menhir.mly"
14738 ([])
14739 # 14740 "parser_cocci_menhir.ml"
14740 in
14741 _menhir_env.MenhirLib.EngineTypes.stack <- {
14742 MenhirLib.EngineTypes.state = _menhir_s;
14743 MenhirLib.EngineTypes.semv = Obj.repr _v;
14744 MenhirLib.EngineTypes.startp = _startpos;
14745 MenhirLib.EngineTypes.endp = _endpos;
14746 MenhirLib.EngineTypes.next = _menhir_stack;
14747 });
14748 (fun _menhir_env ->
14749 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14750 let {
14751 MenhirLib.EngineTypes.semv = _2;
14752 MenhirLib.EngineTypes.startp = _startpos__2_;
14753 MenhirLib.EngineTypes.endp = _endpos__2_;
14754 MenhirLib.EngineTypes.next = {
14755 MenhirLib.EngineTypes.state = _menhir_s;
14756 MenhirLib.EngineTypes.semv = _1;
14757 MenhirLib.EngineTypes.startp = _startpos__1_;
14758 MenhirLib.EngineTypes.endp = _endpos__1_;
14759 MenhirLib.EngineTypes.next = _menhir_stack;
14760 };
14761 } = _menhir_stack in
14762 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
14763 let _1 : 'tv_stm_dots = Obj.magic _1 in
14764 let _startpos = _startpos__1_ in
14765 let _endpos = _endpos__2_ in
14766 let _v : 'tv_fun_after_stm =
14767 # 1866 "parser_cocci_menhir.mly"
14768 (_1::_2)
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 = _2;
14782 MenhirLib.EngineTypes.startp = _startpos__2_;
14783 MenhirLib.EngineTypes.endp = _endpos__2_;
14784 MenhirLib.EngineTypes.next = {
14785 MenhirLib.EngineTypes.state = _menhir_s;
14786 MenhirLib.EngineTypes.semv = _1;
14787 MenhirLib.EngineTypes.startp = _startpos__1_;
14788 MenhirLib.EngineTypes.endp = _endpos__1_;
14789 MenhirLib.EngineTypes.next = _menhir_stack;
14790 };
14791 } = _menhir_stack in
14792 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
14793 let _1 : 'tv_decl_statement = Obj.magic _1 in
14794 let _startpos = _startpos__1_ in
14795 let _endpos = _endpos__2_ in
14796 let _v : 'tv_fun_after_stm =
14797 # 1867 "parser_cocci_menhir.mly"
14798 (_1@_2)
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 {
14811 MenhirLib.EngineTypes.state = _menhir_s;
14812 MenhirLib.EngineTypes.semv = _1;
14813 MenhirLib.EngineTypes.startp = _startpos__1_;
14814 MenhirLib.EngineTypes.endp = _endpos__1_;
14815 MenhirLib.EngineTypes.next = _menhir_stack;
14816 } = _menhir_stack in
14817 let _1 : 'tv_fun_after_stm = Obj.magic _1 in
14818 let _startpos = _startpos__1_ in
14819 let _endpos = _endpos__1_ in
14820 let _v : 'tv_fun_start =
14821 # 1862 "parser_cocci_menhir.mly"
14822 ( Ast0.wrap(Ast0.DOTS(_1)) )
14823 # 14824 "parser_cocci_menhir.ml"
14824 in
14825 _menhir_env.MenhirLib.EngineTypes.stack <- {
14826 MenhirLib.EngineTypes.state = _menhir_s;
14827 MenhirLib.EngineTypes.semv = Obj.repr _v;
14828 MenhirLib.EngineTypes.startp = _startpos;
14829 MenhirLib.EngineTypes.endp = _endpos;
14830 MenhirLib.EngineTypes.next = _menhir_stack;
14831 });
14832 (fun _menhir_env ->
14833 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14834 let {
14835 MenhirLib.EngineTypes.state = _menhir_s;
14836 MenhirLib.EngineTypes.semv = _1;
14837 MenhirLib.EngineTypes.startp = _startpos__1_;
14838 MenhirLib.EngineTypes.endp = _endpos__1_;
14839 MenhirLib.EngineTypes.next = _menhir_stack;
14840 } = _menhir_stack in
14841 let _1 : 'tv_pure_ident = Obj.magic _1 in
14842 let _startpos = _startpos__1_ in
14843 let _endpos = _endpos__1_ in
14844 let _v : 'tv_func_ident =
14845 # 1660 "parser_cocci_menhir.mly"
14846 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
14847 # 14848 "parser_cocci_menhir.ml"
14848 in
14849 _menhir_env.MenhirLib.EngineTypes.stack <- {
14850 MenhirLib.EngineTypes.state = _menhir_s;
14851 MenhirLib.EngineTypes.semv = Obj.repr _v;
14852 MenhirLib.EngineTypes.startp = _startpos;
14853 MenhirLib.EngineTypes.endp = _endpos;
14854 MenhirLib.EngineTypes.next = _menhir_stack;
14855 });
14856 (fun _menhir_env ->
14857 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14858 let {
14859 MenhirLib.EngineTypes.state = _menhir_s;
14860 MenhirLib.EngineTypes.semv = _1;
14861 MenhirLib.EngineTypes.startp = _startpos__1_;
14862 MenhirLib.EngineTypes.endp = _endpos__1_;
14863 MenhirLib.EngineTypes.next = _menhir_stack;
14864 } = _menhir_stack in
14865 let _1 : (
14866 # 64 "parser_cocci_menhir.mly"
14867 (Parse_aux.idinfo)
14868 # 14869 "parser_cocci_menhir.ml"
14869 ) = Obj.magic _1 in
14870 let _startpos = _startpos__1_ in
14871 let _endpos = _endpos__1_ in
14872 let _v : 'tv_func_ident =
14873 # 1662 "parser_cocci_menhir.mly"
14874 ( let (nm,constraints,pure,clt) = _1 in
14875 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
14876 # 14877 "parser_cocci_menhir.ml"
14877 in
14878 _menhir_env.MenhirLib.EngineTypes.stack <- {
14879 MenhirLib.EngineTypes.state = _menhir_s;
14880 MenhirLib.EngineTypes.semv = Obj.repr _v;
14881 MenhirLib.EngineTypes.startp = _startpos;
14882 MenhirLib.EngineTypes.endp = _endpos;
14883 MenhirLib.EngineTypes.next = _menhir_stack;
14884 });
14885 (fun _menhir_env ->
14886 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14887 let {
14888 MenhirLib.EngineTypes.state = _menhir_s;
14889 MenhirLib.EngineTypes.semv = _1;
14890 MenhirLib.EngineTypes.startp = _startpos__1_;
14891 MenhirLib.EngineTypes.endp = _endpos__1_;
14892 MenhirLib.EngineTypes.next = _menhir_stack;
14893 } = _menhir_stack in
14894 let _1 : (
14895 # 64 "parser_cocci_menhir.mly"
14896 (Parse_aux.idinfo)
14897 # 14898 "parser_cocci_menhir.ml"
14898 ) = Obj.magic _1 in
14899 let _startpos = _startpos__1_ in
14900 let _endpos = _endpos__1_ in
14901 let _v : 'tv_func_ident =
14902 # 1665 "parser_cocci_menhir.mly"
14903 ( let (nm,constraints,pure,clt) = _1 in
14904 Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
14905 # 14906 "parser_cocci_menhir.ml"
14906 in
14907 _menhir_env.MenhirLib.EngineTypes.stack <- {
14908 MenhirLib.EngineTypes.state = _menhir_s;
14909 MenhirLib.EngineTypes.semv = Obj.repr _v;
14910 MenhirLib.EngineTypes.startp = _startpos;
14911 MenhirLib.EngineTypes.endp = _endpos;
14912 MenhirLib.EngineTypes.next = _menhir_stack;
14913 });
14914 (fun _menhir_env ->
14915 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14916 let {
14917 MenhirLib.EngineTypes.state = _menhir_s;
14918 MenhirLib.EngineTypes.semv = _1;
14919 MenhirLib.EngineTypes.startp = _startpos__1_;
14920 MenhirLib.EngineTypes.endp = _endpos__1_;
14921 MenhirLib.EngineTypes.next = _menhir_stack;
14922 } = _menhir_stack in
14923 let _1 : (
14924 # 64 "parser_cocci_menhir.mly"
14925 (Parse_aux.idinfo)
14926 # 14927 "parser_cocci_menhir.ml"
14927 ) = Obj.magic _1 in
14928 let _startpos = _startpos__1_ in
14929 let _endpos = _endpos__1_ in
14930 let _v : 'tv_func_ident =
14931 # 1668 "parser_cocci_menhir.mly"
14932 ( let (nm,constraints,pure,clt) = _1 in
14933 Ast0.wrap
14934 (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
14935 # 14936 "parser_cocci_menhir.ml"
14936 in
14937 _menhir_env.MenhirLib.EngineTypes.stack <- {
14938 MenhirLib.EngineTypes.state = _menhir_s;
14939 MenhirLib.EngineTypes.semv = Obj.repr _v;
14940 MenhirLib.EngineTypes.startp = _startpos;
14941 MenhirLib.EngineTypes.endp = _endpos;
14942 MenhirLib.EngineTypes.next = _menhir_stack;
14943 });
14944 (fun _menhir_env ->
14945 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14946 let {
14947 MenhirLib.EngineTypes.semv = rb;
14948 MenhirLib.EngineTypes.startp = _startpos_rb_;
14949 MenhirLib.EngineTypes.endp = _endpos_rb_;
14950 MenhirLib.EngineTypes.next = {
14951 MenhirLib.EngineTypes.semv = b;
14952 MenhirLib.EngineTypes.startp = _startpos_b_;
14953 MenhirLib.EngineTypes.endp = _endpos_b_;
14954 MenhirLib.EngineTypes.next = {
14955 MenhirLib.EngineTypes.semv = lb;
14956 MenhirLib.EngineTypes.startp = _startpos_lb_;
14957 MenhirLib.EngineTypes.endp = _endpos_lb_;
14958 MenhirLib.EngineTypes.next = {
14959 MenhirLib.EngineTypes.semv = rp;
14960 MenhirLib.EngineTypes.startp = _startpos_rp_;
14961 MenhirLib.EngineTypes.endp = _endpos_rp_;
14962 MenhirLib.EngineTypes.next = {
14963 MenhirLib.EngineTypes.semv = d;
14964 MenhirLib.EngineTypes.startp = _startpos_d_;
14965 MenhirLib.EngineTypes.endp = _endpos_d_;
14966 MenhirLib.EngineTypes.next = {
14967 MenhirLib.EngineTypes.semv = lp;
14968 MenhirLib.EngineTypes.startp = _startpos_lp_;
14969 MenhirLib.EngineTypes.endp = _endpos_lp_;
14970 MenhirLib.EngineTypes.next = {
14971 MenhirLib.EngineTypes.semv = i;
14972 MenhirLib.EngineTypes.startp = _startpos_i_;
14973 MenhirLib.EngineTypes.endp = _endpos_i_;
14974 MenhirLib.EngineTypes.next = {
14975 MenhirLib.EngineTypes.startp = _startpos__2_;
14976 MenhirLib.EngineTypes.endp = _endpos__2_;
14977 MenhirLib.EngineTypes.next = {
14978 MenhirLib.EngineTypes.state = _menhir_s;
14979 MenhirLib.EngineTypes.semv = f;
14980 MenhirLib.EngineTypes.startp = _startpos_f_;
14981 MenhirLib.EngineTypes.endp = _endpos_f_;
14982 MenhirLib.EngineTypes.next = _menhir_stack;
14983 };
14984 };
14985 };
14986 };
14987 };
14988 };
14989 };
14990 };
14991 } = _menhir_stack in
14992 let rb : (
14993 # 104 "parser_cocci_menhir.mly"
14994 (Data.clt)
14995 # 14996 "parser_cocci_menhir.ml"
14996 ) = Obj.magic rb in
14997 let b : 'tv_fun_start = Obj.magic b in
14998 let lb : (
14999 # 104 "parser_cocci_menhir.mly"
15000 (Data.clt)
15001 # 15002 "parser_cocci_menhir.ml"
15002 ) = Obj.magic lb in
15003 let rp : (
15004 # 80 "parser_cocci_menhir.mly"
15005 (Data.clt)
15006 # 15007 "parser_cocci_menhir.ml"
15007 ) = Obj.magic rp in
15008 let d : 'tv_decl_list_decl_ = Obj.magic d in
15009 let lp : (
15010 # 79 "parser_cocci_menhir.mly"
15011 (Data.clt)
15012 # 15013 "parser_cocci_menhir.ml"
15013 ) = Obj.magic lp in
15014 let i : 'tv_func_ident = Obj.magic i in
15015 let f : 'tv_fninfo = Obj.magic f in
15016 let _startpos = _startpos_f_ in
15017 let _endpos = _endpos_rb_ in
15018 let _v : 'tv_fundecl =
15019 # 793 "parser_cocci_menhir.mly"
15020 ( P.verify_parameter_declarations (Ast0.undots d);
15021 Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()),
15022 f, i,
15023 P.clt2mcode "(" lp, d,
15024 P.clt2mcode ")" rp,
15025 P.clt2mcode "{" lb, b,
15026 P.clt2mcode "}" rb)) )
15027 # 15028 "parser_cocci_menhir.ml"
15028 in
15029 _menhir_env.MenhirLib.EngineTypes.stack <- {
15030 MenhirLib.EngineTypes.state = _menhir_s;
15031 MenhirLib.EngineTypes.semv = Obj.repr _v;
15032 MenhirLib.EngineTypes.startp = _startpos;
15033 MenhirLib.EngineTypes.endp = _endpos;
15034 MenhirLib.EngineTypes.next = _menhir_stack;
15035 });
15036 (fun _menhir_env ->
15037 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15038 let {
15039 MenhirLib.EngineTypes.semv = pt;
15040 MenhirLib.EngineTypes.startp = _startpos_pt_;
15041 MenhirLib.EngineTypes.endp = _endpos_pt_;
15042 MenhirLib.EngineTypes.next = {
15043 MenhirLib.EngineTypes.semv = rp;
15044 MenhirLib.EngineTypes.startp = _startpos_rp_;
15045 MenhirLib.EngineTypes.endp = _endpos_rp_;
15046 MenhirLib.EngineTypes.next = {
15047 MenhirLib.EngineTypes.semv = d;
15048 MenhirLib.EngineTypes.startp = _startpos_d_;
15049 MenhirLib.EngineTypes.endp = _endpos_d_;
15050 MenhirLib.EngineTypes.next = {
15051 MenhirLib.EngineTypes.semv = lp;
15052 MenhirLib.EngineTypes.startp = _startpos_lp_;
15053 MenhirLib.EngineTypes.endp = _endpos_lp_;
15054 MenhirLib.EngineTypes.next = {
15055 MenhirLib.EngineTypes.semv = id;
15056 MenhirLib.EngineTypes.startp = _startpos_id_;
15057 MenhirLib.EngineTypes.endp = _endpos_id_;
15058 MenhirLib.EngineTypes.next = {
15059 MenhirLib.EngineTypes.state = _menhir_s;
15060 MenhirLib.EngineTypes.semv = t;
15061 MenhirLib.EngineTypes.startp = _startpos_t_;
15062 MenhirLib.EngineTypes.endp = _endpos_t_;
15063 MenhirLib.EngineTypes.next = _menhir_stack;
15064 };
15065 };
15066 };
15067 };
15068 };
15069 } = _menhir_stack in
15070 let pt : (
15071 # 110 "parser_cocci_menhir.mly"
15072 (Data.clt)
15073 # 15074 "parser_cocci_menhir.ml"
15074 ) = Obj.magic pt in
15075 let rp : (
15076 # 80 "parser_cocci_menhir.mly"
15077 (Data.clt)
15078 # 15079 "parser_cocci_menhir.ml"
15079 ) = Obj.magic rp in
15080 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
15081 let lp : (
15082 # 79 "parser_cocci_menhir.mly"
15083 (Data.clt)
15084 # 15085 "parser_cocci_menhir.ml"
15085 ) = Obj.magic lp in
15086 let id : 'tv_func_ident = Obj.magic id in
15087 let t : 'tv_ctype = Obj.magic t in
15088 let _startpos = _startpos_t_ in
15089 let _endpos = _endpos_pt_ in
15090 let _v : 'tv_funproto = let s =
15091
15092 # 39 "standard.mly"
15093 ( None )
15094 # 15095 "parser_cocci_menhir.ml"
15095
15096 in
15097
15098 # 781 "parser_cocci_menhir.mly"
15099 ( Ast0.wrap
15100 (Ast0.UnInit
15101 (s,
15102 Ast0.wrap
15103 (Ast0.FunctionType(Some t,
15104 P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
15105 id, P.clt2mcode ";" pt)) )
15106 # 15107 "parser_cocci_menhir.ml"
15107 in
15108 _menhir_env.MenhirLib.EngineTypes.stack <- {
15109 MenhirLib.EngineTypes.state = _menhir_s;
15110 MenhirLib.EngineTypes.semv = Obj.repr _v;
15111 MenhirLib.EngineTypes.startp = _startpos;
15112 MenhirLib.EngineTypes.endp = _endpos;
15113 MenhirLib.EngineTypes.next = _menhir_stack;
15114 });
15115 (fun _menhir_env ->
15116 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15117 let {
15118 MenhirLib.EngineTypes.semv = pt;
15119 MenhirLib.EngineTypes.startp = _startpos_pt_;
15120 MenhirLib.EngineTypes.endp = _endpos_pt_;
15121 MenhirLib.EngineTypes.next = {
15122 MenhirLib.EngineTypes.semv = rp;
15123 MenhirLib.EngineTypes.startp = _startpos_rp_;
15124 MenhirLib.EngineTypes.endp = _endpos_rp_;
15125 MenhirLib.EngineTypes.next = {
15126 MenhirLib.EngineTypes.semv = d;
15127 MenhirLib.EngineTypes.startp = _startpos_d_;
15128 MenhirLib.EngineTypes.endp = _endpos_d_;
15129 MenhirLib.EngineTypes.next = {
15130 MenhirLib.EngineTypes.semv = lp;
15131 MenhirLib.EngineTypes.startp = _startpos_lp_;
15132 MenhirLib.EngineTypes.endp = _endpos_lp_;
15133 MenhirLib.EngineTypes.next = {
15134 MenhirLib.EngineTypes.semv = id;
15135 MenhirLib.EngineTypes.startp = _startpos_id_;
15136 MenhirLib.EngineTypes.endp = _endpos_id_;
15137 MenhirLib.EngineTypes.next = {
15138 MenhirLib.EngineTypes.semv = t;
15139 MenhirLib.EngineTypes.startp = _startpos_t_;
15140 MenhirLib.EngineTypes.endp = _endpos_t_;
15141 MenhirLib.EngineTypes.next = {
15142 MenhirLib.EngineTypes.state = _menhir_s;
15143 MenhirLib.EngineTypes.semv = x0;
15144 MenhirLib.EngineTypes.startp = _startpos_x0_;
15145 MenhirLib.EngineTypes.endp = _endpos_x0_;
15146 MenhirLib.EngineTypes.next = _menhir_stack;
15147 };
15148 };
15149 };
15150 };
15151 };
15152 };
15153 } = _menhir_stack in
15154 let pt : (
15155 # 110 "parser_cocci_menhir.mly"
15156 (Data.clt)
15157 # 15158 "parser_cocci_menhir.ml"
15158 ) = Obj.magic pt in
15159 let rp : (
15160 # 80 "parser_cocci_menhir.mly"
15161 (Data.clt)
15162 # 15163 "parser_cocci_menhir.ml"
15163 ) = Obj.magic rp in
15164 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
15165 let lp : (
15166 # 79 "parser_cocci_menhir.mly"
15167 (Data.clt)
15168 # 15169 "parser_cocci_menhir.ml"
15169 ) = Obj.magic lp in
15170 let id : 'tv_func_ident = Obj.magic id in
15171 let t : 'tv_ctype = Obj.magic t in
15172 let x0 : 'tv_storage = Obj.magic x0 in
15173 let _startpos = _startpos_x0_ in
15174 let _endpos = _endpos_pt_ in
15175 let _v : 'tv_funproto = let s =
15176 let x = x0 in
15177
15178 # 41 "standard.mly"
15179 ( Some x )
15180 # 15181 "parser_cocci_menhir.ml"
15181
15182 in
15183
15184 # 781 "parser_cocci_menhir.mly"
15185 ( Ast0.wrap
15186 (Ast0.UnInit
15187 (s,
15188 Ast0.wrap
15189 (Ast0.FunctionType(Some t,
15190 P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
15191 id, P.clt2mcode ";" pt)) )
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.state = _menhir_s;
15205 MenhirLib.EngineTypes.semv = _1;
15206 MenhirLib.EngineTypes.startp = _startpos__1_;
15207 MenhirLib.EngineTypes.endp = _endpos__1_;
15208 MenhirLib.EngineTypes.next = _menhir_stack;
15209 } = _menhir_stack in
15210 let _1 : 'tv_pure_ident = Obj.magic _1 in
15211 let _startpos = _startpos__1_ in
15212 let _endpos = _endpos__1_ in
15213 let _v : 'tv_ident =
15214 # 1673 "parser_cocci_menhir.mly"
15215 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
15216 # 15217 "parser_cocci_menhir.ml"
15217 in
15218 _menhir_env.MenhirLib.EngineTypes.stack <- {
15219 MenhirLib.EngineTypes.state = _menhir_s;
15220 MenhirLib.EngineTypes.semv = Obj.repr _v;
15221 MenhirLib.EngineTypes.startp = _startpos;
15222 MenhirLib.EngineTypes.endp = _endpos;
15223 MenhirLib.EngineTypes.next = _menhir_stack;
15224 });
15225 (fun _menhir_env ->
15226 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15227 let {
15228 MenhirLib.EngineTypes.state = _menhir_s;
15229 MenhirLib.EngineTypes.semv = _1;
15230 MenhirLib.EngineTypes.startp = _startpos__1_;
15231 MenhirLib.EngineTypes.endp = _endpos__1_;
15232 MenhirLib.EngineTypes.next = _menhir_stack;
15233 } = _menhir_stack in
15234 let _1 : (
15235 # 64 "parser_cocci_menhir.mly"
15236 (Parse_aux.idinfo)
15237 # 15238 "parser_cocci_menhir.ml"
15238 ) = Obj.magic _1 in
15239 let _startpos = _startpos__1_ in
15240 let _endpos = _endpos__1_ in
15241 let _v : 'tv_ident =
15242 # 1675 "parser_cocci_menhir.mly"
15243 ( let (nm,constraints,pure,clt) = _1 in
15244 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
15245 # 15246 "parser_cocci_menhir.ml"
15246 in
15247 _menhir_env.MenhirLib.EngineTypes.stack <- {
15248 MenhirLib.EngineTypes.state = _menhir_s;
15249 MenhirLib.EngineTypes.semv = Obj.repr _v;
15250 MenhirLib.EngineTypes.startp = _startpos;
15251 MenhirLib.EngineTypes.endp = _endpos;
15252 MenhirLib.EngineTypes.next = _menhir_stack;
15253 });
15254 (fun _menhir_env ->
15255 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15256 let {
15257 MenhirLib.EngineTypes.state = _menhir_s;
15258 MenhirLib.EngineTypes.semv = i;
15259 MenhirLib.EngineTypes.startp = _startpos_i_;
15260 MenhirLib.EngineTypes.endp = _endpos_i_;
15261 MenhirLib.EngineTypes.next = _menhir_stack;
15262 } = _menhir_stack in
15263 let i : 'tv_pure_ident = Obj.magic i in
15264 let _startpos = _startpos_i_ in
15265 let _endpos = _endpos_i_ in
15266 let _v : 'tv_ident_or_const =
15267 # 1633 "parser_cocci_menhir.mly"
15268 ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) )
15269 # 15270 "parser_cocci_menhir.ml"
15270 in
15271 _menhir_env.MenhirLib.EngineTypes.stack <- {
15272 MenhirLib.EngineTypes.state = _menhir_s;
15273 MenhirLib.EngineTypes.semv = Obj.repr _v;
15274 MenhirLib.EngineTypes.startp = _startpos;
15275 MenhirLib.EngineTypes.endp = _endpos;
15276 MenhirLib.EngineTypes.next = _menhir_stack;
15277 });
15278 (fun _menhir_env ->
15279 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15280 let {
15281 MenhirLib.EngineTypes.state = _menhir_s;
15282 MenhirLib.EngineTypes.semv = _1;
15283 MenhirLib.EngineTypes.startp = _startpos__1_;
15284 MenhirLib.EngineTypes.endp = _endpos__1_;
15285 MenhirLib.EngineTypes.next = _menhir_stack;
15286 } = _menhir_stack in
15287 let _1 : (
15288 # 90 "parser_cocci_menhir.mly"
15289 (string * Data.clt)
15290 # 15291 "parser_cocci_menhir.ml"
15291 ) = Obj.magic _1 in
15292 let _startpos = _startpos__1_ in
15293 let _endpos = _endpos__1_ in
15294 let _v : 'tv_ident_or_const =
15295 # 1635 "parser_cocci_menhir.mly"
15296 ( let (x,clt) = _1 in
15297 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
15298 # 15299 "parser_cocci_menhir.ml"
15299 in
15300 _menhir_env.MenhirLib.EngineTypes.stack <- {
15301 MenhirLib.EngineTypes.state = _menhir_s;
15302 MenhirLib.EngineTypes.semv = Obj.repr _v;
15303 MenhirLib.EngineTypes.startp = _startpos;
15304 MenhirLib.EngineTypes.endp = _endpos;
15305 MenhirLib.EngineTypes.next = _menhir_stack;
15306 });
15307 (fun _menhir_env ->
15308 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15309 let {
15310 MenhirLib.EngineTypes.state = _menhir_s;
15311 MenhirLib.EngineTypes.semv = _1;
15312 MenhirLib.EngineTypes.startp = _startpos__1_;
15313 MenhirLib.EngineTypes.endp = _endpos__1_;
15314 MenhirLib.EngineTypes.next = _menhir_stack;
15315 } = _menhir_stack in
15316 let _1 : (
15317 # 83 "parser_cocci_menhir.mly"
15318 (string * Data.clt)
15319 # 15320 "parser_cocci_menhir.ml"
15320 ) = Obj.magic _1 in
15321 let _startpos = _startpos__1_ in
15322 let _endpos = _endpos__1_ in
15323 let _v : 'tv_incl =
15324 # 259 "parser_cocci_menhir.mly"
15325 ( let (x,_) = _1 in Data.Include(x) )
15326 # 15327 "parser_cocci_menhir.ml"
15327 in
15328 _menhir_env.MenhirLib.EngineTypes.stack <- {
15329 MenhirLib.EngineTypes.state = _menhir_s;
15330 MenhirLib.EngineTypes.semv = Obj.repr _v;
15331 MenhirLib.EngineTypes.startp = _startpos;
15332 MenhirLib.EngineTypes.endp = _endpos;
15333 MenhirLib.EngineTypes.next = _menhir_stack;
15334 });
15335 (fun _menhir_env ->
15336 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15337 let {
15338 MenhirLib.EngineTypes.semv = _2;
15339 MenhirLib.EngineTypes.startp = _startpos__2_;
15340 MenhirLib.EngineTypes.endp = _endpos__2_;
15341 MenhirLib.EngineTypes.next = {
15342 MenhirLib.EngineTypes.state = _menhir_s;
15343 MenhirLib.EngineTypes.startp = _startpos__1_;
15344 MenhirLib.EngineTypes.endp = _endpos__1_;
15345 MenhirLib.EngineTypes.next = _menhir_stack;
15346 };
15347 } = _menhir_stack in
15348 let _2 : (
15349 # 90 "parser_cocci_menhir.mly"
15350 (string * Data.clt)
15351 # 15352 "parser_cocci_menhir.ml"
15352 ) = Obj.magic _2 in
15353 let _startpos = _startpos__1_ in
15354 let _endpos = _endpos__2_ in
15355 let _v : 'tv_incl =
15356 # 260 "parser_cocci_menhir.mly"
15357 ( Data.Iso(Common.Left(P.id2name _2)) )
15358 # 15359 "parser_cocci_menhir.ml"
15359 in
15360 _menhir_env.MenhirLib.EngineTypes.stack <- {
15361 MenhirLib.EngineTypes.state = _menhir_s;
15362 MenhirLib.EngineTypes.semv = Obj.repr _v;
15363 MenhirLib.EngineTypes.startp = _startpos;
15364 MenhirLib.EngineTypes.endp = _endpos;
15365 MenhirLib.EngineTypes.next = _menhir_stack;
15366 });
15367 (fun _menhir_env ->
15368 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15369 let {
15370 MenhirLib.EngineTypes.semv = _2;
15371 MenhirLib.EngineTypes.startp = _startpos__2_;
15372 MenhirLib.EngineTypes.endp = _endpos__2_;
15373 MenhirLib.EngineTypes.next = {
15374 MenhirLib.EngineTypes.state = _menhir_s;
15375 MenhirLib.EngineTypes.startp = _startpos__1_;
15376 MenhirLib.EngineTypes.endp = _endpos__1_;
15377 MenhirLib.EngineTypes.next = _menhir_stack;
15378 };
15379 } = _menhir_stack in
15380 let _2 : (
15381 # 82 "parser_cocci_menhir.mly"
15382 (string)
15383 # 15384 "parser_cocci_menhir.ml"
15384 ) = Obj.magic _2 in
15385 let _startpos = _startpos__1_ in
15386 let _endpos = _endpos__2_ in
15387 let _v : 'tv_incl =
15388 # 261 "parser_cocci_menhir.mly"
15389 ( Data.Iso(Common.Right _2) )
15390 # 15391 "parser_cocci_menhir.ml"
15391 in
15392 _menhir_env.MenhirLib.EngineTypes.stack <- {
15393 MenhirLib.EngineTypes.state = _menhir_s;
15394 MenhirLib.EngineTypes.semv = Obj.repr _v;
15395 MenhirLib.EngineTypes.startp = _startpos;
15396 MenhirLib.EngineTypes.endp = _endpos;
15397 MenhirLib.EngineTypes.next = _menhir_stack;
15398 });
15399 (fun _menhir_env ->
15400 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15401 let {
15402 MenhirLib.EngineTypes.semv = _2;
15403 MenhirLib.EngineTypes.startp = _startpos__2_;
15404 MenhirLib.EngineTypes.endp = _endpos__2_;
15405 MenhirLib.EngineTypes.next = {
15406 MenhirLib.EngineTypes.state = _menhir_s;
15407 MenhirLib.EngineTypes.startp = _startpos__1_;
15408 MenhirLib.EngineTypes.endp = _endpos__1_;
15409 MenhirLib.EngineTypes.next = _menhir_stack;
15410 };
15411 } = _menhir_stack in
15412 let _2 : 'tv_comma_list_pure_ident_ = Obj.magic _2 in
15413 let _startpos = _startpos__1_ in
15414 let _endpos = _endpos__2_ in
15415 let _v : 'tv_incl =
15416 # 263 "parser_cocci_menhir.mly"
15417 ( let names = List.map P.id2name _2 in
15418 (* ensure that the names of virtual and real rules don't overlap *)
15419 List.iter
15420 (function name -> Hashtbl.add Data.all_metadecls name [])
15421 names;
15422 Data.Virt(names) )
15423 # 15424 "parser_cocci_menhir.ml"
15424 in
15425 _menhir_env.MenhirLib.EngineTypes.stack <- {
15426 MenhirLib.EngineTypes.state = _menhir_s;
15427 MenhirLib.EngineTypes.semv = Obj.repr _v;
15428 MenhirLib.EngineTypes.startp = _startpos;
15429 MenhirLib.EngineTypes.endp = _endpos;
15430 MenhirLib.EngineTypes.next = _menhir_stack;
15431 });
15432 (fun _menhir_env ->
15433 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15434 let {
15435 MenhirLib.EngineTypes.startp = _startpos__2_;
15436 MenhirLib.EngineTypes.endp = _endpos__2_;
15437 MenhirLib.EngineTypes.next = {
15438 MenhirLib.EngineTypes.state = _menhir_s;
15439 MenhirLib.EngineTypes.semv = _1;
15440 MenhirLib.EngineTypes.startp = _startpos__1_;
15441 MenhirLib.EngineTypes.endp = _endpos__1_;
15442 MenhirLib.EngineTypes.next = _menhir_stack;
15443 };
15444 } = _menhir_stack in
15445 let _1 : 'tv_list_incl_ = Obj.magic _1 in
15446 let _startpos = _startpos__1_ in
15447 let _endpos = _endpos__2_ in
15448 let _v : (
15449 # 149 "parser_cocci_menhir.mly"
15450 (Data.incl_iso list)
15451 # 15452 "parser_cocci_menhir.ml"
15452 ) =
15453 # 255 "parser_cocci_menhir.mly"
15454 ( _1 )
15455 # 15456 "parser_cocci_menhir.ml"
15456 in
15457 _menhir_env.MenhirLib.EngineTypes.stack <- {
15458 MenhirLib.EngineTypes.state = _menhir_s;
15459 MenhirLib.EngineTypes.semv = Obj.repr _v;
15460 MenhirLib.EngineTypes.startp = _startpos;
15461 MenhirLib.EngineTypes.endp = _endpos;
15462 MenhirLib.EngineTypes.next = _menhir_stack;
15463 });
15464 (fun _menhir_env ->
15465 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15466 let {
15467 MenhirLib.EngineTypes.startp = _startpos__2_;
15468 MenhirLib.EngineTypes.endp = _endpos__2_;
15469 MenhirLib.EngineTypes.next = {
15470 MenhirLib.EngineTypes.state = _menhir_s;
15471 MenhirLib.EngineTypes.semv = _1;
15472 MenhirLib.EngineTypes.startp = _startpos__1_;
15473 MenhirLib.EngineTypes.endp = _endpos__1_;
15474 MenhirLib.EngineTypes.next = _menhir_stack;
15475 };
15476 } = _menhir_stack in
15477 let _1 : 'tv_list_incl_ = Obj.magic _1 in
15478 let _startpos = _startpos__1_ in
15479 let _endpos = _endpos__2_ in
15480 let _v : (
15481 # 149 "parser_cocci_menhir.mly"
15482 (Data.incl_iso list)
15483 # 15484 "parser_cocci_menhir.ml"
15484 ) =
15485 # 256 "parser_cocci_menhir.mly"
15486 ( _1 )
15487 # 15488 "parser_cocci_menhir.ml"
15488 in
15489 _menhir_env.MenhirLib.EngineTypes.stack <- {
15490 MenhirLib.EngineTypes.state = _menhir_s;
15491 MenhirLib.EngineTypes.semv = Obj.repr _v;
15492 MenhirLib.EngineTypes.startp = _startpos;
15493 MenhirLib.EngineTypes.endp = _endpos;
15494 MenhirLib.EngineTypes.next = _menhir_stack;
15495 });
15496 (fun _menhir_env ->
15497 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15498 let {
15499 MenhirLib.EngineTypes.state = _menhir_s;
15500 MenhirLib.EngineTypes.semv = _1;
15501 MenhirLib.EngineTypes.startp = _startpos__1_;
15502 MenhirLib.EngineTypes.endp = _endpos__1_;
15503 MenhirLib.EngineTypes.next = _menhir_stack;
15504 } = _menhir_stack in
15505 let _1 : (
15506 # 83 "parser_cocci_menhir.mly"
15507 (string * Data.clt)
15508 # 15509 "parser_cocci_menhir.ml"
15509 ) = Obj.magic _1 in
15510 let _startpos = _startpos__1_ in
15511 let _endpos = _endpos__1_ in
15512 let _v : 'tv_includes =
15513 # 669 "parser_cocci_menhir.mly"
15514 ( Ast0.wrap
15515 (Ast0.Include(P.clt2mcode "#include"
15516 (P.drop_pos (P.drop_aft (P.id2clt _1))),
15517 let (arity,ln,lln,offset,col,strbef,straft,pos) =
15518 P.id2clt _1 in
15519 let clt =
15520 (arity,ln,lln,offset,0,strbef,straft,pos) in
15521 P.clt2mcode
15522 (Ast.Local (Parse_aux.str2inc (P.id2name _1)))
15523 (P.drop_bef clt))) )
15524 # 15525 "parser_cocci_menhir.ml"
15525 in
15526 _menhir_env.MenhirLib.EngineTypes.stack <- {
15527 MenhirLib.EngineTypes.state = _menhir_s;
15528 MenhirLib.EngineTypes.semv = Obj.repr _v;
15529 MenhirLib.EngineTypes.startp = _startpos;
15530 MenhirLib.EngineTypes.endp = _endpos;
15531 MenhirLib.EngineTypes.next = _menhir_stack;
15532 });
15533 (fun _menhir_env ->
15534 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15535 let {
15536 MenhirLib.EngineTypes.state = _menhir_s;
15537 MenhirLib.EngineTypes.semv = _1;
15538 MenhirLib.EngineTypes.startp = _startpos__1_;
15539 MenhirLib.EngineTypes.endp = _endpos__1_;
15540 MenhirLib.EngineTypes.next = _menhir_stack;
15541 } = _menhir_stack in
15542 let _1 : (
15543 # 83 "parser_cocci_menhir.mly"
15544 (string * Data.clt)
15545 # 15546 "parser_cocci_menhir.ml"
15546 ) = Obj.magic _1 in
15547 let _startpos = _startpos__1_ in
15548 let _endpos = _endpos__1_ in
15549 let _v : 'tv_includes =
15550 # 680 "parser_cocci_menhir.mly"
15551 ( Ast0.wrap
15552 (Ast0.Include(P.clt2mcode "#include"
15553 (P.drop_pos (P.drop_aft (P.id2clt _1))),
15554 let (arity,ln,lln,offset,col,strbef,straft,pos) =
15555 P.id2clt _1 in
15556 let clt =
15557 (arity,ln,lln,offset,0,strbef,straft,pos) in
15558 P.clt2mcode
15559 (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1)))
15560 (P.drop_bef clt))) )
15561 # 15562 "parser_cocci_menhir.ml"
15562 in
15563 _menhir_env.MenhirLib.EngineTypes.stack <- {
15564 MenhirLib.EngineTypes.state = _menhir_s;
15565 MenhirLib.EngineTypes.semv = Obj.repr _v;
15566 MenhirLib.EngineTypes.startp = _startpos;
15567 MenhirLib.EngineTypes.endp = _endpos;
15568 MenhirLib.EngineTypes.next = _menhir_stack;
15569 });
15570 (fun _menhir_env ->
15571 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15572 let {
15573 MenhirLib.EngineTypes.startp = _startpos__2_;
15574 MenhirLib.EngineTypes.endp = _endpos__2_;
15575 MenhirLib.EngineTypes.next = {
15576 MenhirLib.EngineTypes.state = _menhir_s;
15577 MenhirLib.EngineTypes.semv = d;
15578 MenhirLib.EngineTypes.startp = _startpos_d_;
15579 MenhirLib.EngineTypes.endp = _endpos_d_;
15580 MenhirLib.EngineTypes.next = _menhir_stack;
15581 };
15582 } = _menhir_stack in
15583 let d : 'tv_defineop = Obj.magic d in
15584 let _startpos = _startpos_d_ in
15585 let _endpos = _endpos__2_ in
15586 let _v : 'tv_includes =
15587 # 691 "parser_cocci_menhir.mly"
15588 ( d (Ast0.wrap(Ast0.DOTS([]))) )
15589 # 15590 "parser_cocci_menhir.ml"
15590 in
15591 _menhir_env.MenhirLib.EngineTypes.stack <- {
15592 MenhirLib.EngineTypes.state = _menhir_s;
15593 MenhirLib.EngineTypes.semv = Obj.repr _v;
15594 MenhirLib.EngineTypes.startp = _startpos;
15595 MenhirLib.EngineTypes.endp = _endpos;
15596 MenhirLib.EngineTypes.next = _menhir_stack;
15597 });
15598 (fun _menhir_env ->
15599 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15600 let {
15601 MenhirLib.EngineTypes.startp = _startpos__3_;
15602 MenhirLib.EngineTypes.endp = _endpos__3_;
15603 MenhirLib.EngineTypes.next = {
15604 MenhirLib.EngineTypes.semv = t;
15605 MenhirLib.EngineTypes.startp = _startpos_t_;
15606 MenhirLib.EngineTypes.endp = _endpos_t_;
15607 MenhirLib.EngineTypes.next = {
15608 MenhirLib.EngineTypes.state = _menhir_s;
15609 MenhirLib.EngineTypes.semv = d;
15610 MenhirLib.EngineTypes.startp = _startpos_d_;
15611 MenhirLib.EngineTypes.endp = _endpos_d_;
15612 MenhirLib.EngineTypes.next = _menhir_stack;
15613 };
15614 };
15615 } = _menhir_stack in
15616 let t : 'tv_ctype = Obj.magic t in
15617 let d : 'tv_defineop = Obj.magic d in
15618 let _startpos = _startpos_d_ in
15619 let _endpos = _endpos__3_ in
15620 let _v : 'tv_includes =
15621 # 693 "parser_cocci_menhir.mly"
15622 ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in
15623 d (Ast0.wrap(Ast0.DOTS([ty]))) )
15624 # 15625 "parser_cocci_menhir.ml"
15625 in
15626 _menhir_env.MenhirLib.EngineTypes.stack <- {
15627 MenhirLib.EngineTypes.state = _menhir_s;
15628 MenhirLib.EngineTypes.semv = Obj.repr _v;
15629 MenhirLib.EngineTypes.startp = _startpos;
15630 MenhirLib.EngineTypes.endp = _endpos;
15631 MenhirLib.EngineTypes.next = _menhir_stack;
15632 });
15633 (fun _menhir_env ->
15634 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15635 let {
15636 MenhirLib.EngineTypes.startp = _startpos__3_;
15637 MenhirLib.EngineTypes.endp = _endpos__3_;
15638 MenhirLib.EngineTypes.next = {
15639 MenhirLib.EngineTypes.semv = b;
15640 MenhirLib.EngineTypes.startp = _startpos_b_;
15641 MenhirLib.EngineTypes.endp = _endpos_b_;
15642 MenhirLib.EngineTypes.next = {
15643 MenhirLib.EngineTypes.state = _menhir_s;
15644 MenhirLib.EngineTypes.semv = _1;
15645 MenhirLib.EngineTypes.startp = _startpos__1_;
15646 MenhirLib.EngineTypes.endp = _endpos__1_;
15647 MenhirLib.EngineTypes.next = _menhir_stack;
15648 };
15649 };
15650 } = _menhir_stack in
15651 let b : 'tv_toplevel_seq_start_toplevel_after_dots_ = Obj.magic b in
15652 let _1 : 'tv_defineop = Obj.magic _1 in
15653 let _startpos = _startpos__1_ in
15654 let _endpos = _endpos__3_ in
15655 let _v : 'tv_includes =
15656 # 696 "parser_cocci_menhir.mly"
15657 ( let body =
15658 match b with
15659 [e] ->
15660 (match Ast0.unwrap e with
15661 Ast0.Exp(e1) ->
15662 [Ast0.rewrap e (Ast0.TopExp(Ast0.set_arg_exp (e1)))]
15663 | _ -> b)
15664 | _ -> b in
15665 _1 (Ast0.wrap(Ast0.DOTS(body))) )
15666 # 15667 "parser_cocci_menhir.ml"
15667 in
15668 _menhir_env.MenhirLib.EngineTypes.stack <- {
15669 MenhirLib.EngineTypes.state = _menhir_s;
15670 MenhirLib.EngineTypes.semv = Obj.repr _v;
15671 MenhirLib.EngineTypes.startp = _startpos;
15672 MenhirLib.EngineTypes.endp = _endpos;
15673 MenhirLib.EngineTypes.next = _menhir_stack;
15674 });
15675 (fun _menhir_env ->
15676 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15677 let {
15678 MenhirLib.EngineTypes.state = _menhir_s;
15679 MenhirLib.EngineTypes.semv = _1;
15680 MenhirLib.EngineTypes.startp = _startpos__1_;
15681 MenhirLib.EngineTypes.endp = _endpos__1_;
15682 MenhirLib.EngineTypes.next = _menhir_stack;
15683 } = _menhir_stack in
15684 let _1 : 'tv_eexpr = Obj.magic _1 in
15685 let _startpos = _startpos__1_ in
15686 let _endpos = _endpos__1_ in
15687 let _v : 'tv_initialize =
15688 # 1104 "parser_cocci_menhir.mly"
15689 ( Ast0.wrap(Ast0.InitExpr(_1)) )
15690 # 15691 "parser_cocci_menhir.ml"
15691 in
15692 _menhir_env.MenhirLib.EngineTypes.stack <- {
15693 MenhirLib.EngineTypes.state = _menhir_s;
15694 MenhirLib.EngineTypes.semv = Obj.repr _v;
15695 MenhirLib.EngineTypes.startp = _startpos;
15696 MenhirLib.EngineTypes.endp = _endpos;
15697 MenhirLib.EngineTypes.next = _menhir_stack;
15698 });
15699 (fun _menhir_env ->
15700 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15701 let {
15702 MenhirLib.EngineTypes.semv = _3;
15703 MenhirLib.EngineTypes.startp = _startpos__3_;
15704 MenhirLib.EngineTypes.endp = _endpos__3_;
15705 MenhirLib.EngineTypes.next = {
15706 MenhirLib.EngineTypes.semv = _2;
15707 MenhirLib.EngineTypes.startp = _startpos__2_;
15708 MenhirLib.EngineTypes.endp = _endpos__2_;
15709 MenhirLib.EngineTypes.next = {
15710 MenhirLib.EngineTypes.state = _menhir_s;
15711 MenhirLib.EngineTypes.semv = _1;
15712 MenhirLib.EngineTypes.startp = _startpos__1_;
15713 MenhirLib.EngineTypes.endp = _endpos__1_;
15714 MenhirLib.EngineTypes.next = _menhir_stack;
15715 };
15716 };
15717 } = _menhir_stack in
15718 let _3 : (
15719 # 104 "parser_cocci_menhir.mly"
15720 (Data.clt)
15721 # 15722 "parser_cocci_menhir.ml"
15722 ) = Obj.magic _3 in
15723 let _2 : 'tv_initialize_list = Obj.magic _2 in
15724 let _1 : (
15725 # 104 "parser_cocci_menhir.mly"
15726 (Data.clt)
15727 # 15728 "parser_cocci_menhir.ml"
15728 ) = Obj.magic _1 in
15729 let _startpos = _startpos__1_ in
15730 let _endpos = _endpos__3_ in
15731 let _v : 'tv_initialize =
15732 # 1106 "parser_cocci_menhir.mly"
15733 ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
15734 # 15735 "parser_cocci_menhir.ml"
15735 in
15736 _menhir_env.MenhirLib.EngineTypes.stack <- {
15737 MenhirLib.EngineTypes.state = _menhir_s;
15738 MenhirLib.EngineTypes.semv = Obj.repr _v;
15739 MenhirLib.EngineTypes.startp = _startpos;
15740 MenhirLib.EngineTypes.endp = _endpos;
15741 MenhirLib.EngineTypes.next = _menhir_stack;
15742 });
15743 (fun _menhir_env ->
15744 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15745 let {
15746 MenhirLib.EngineTypes.semv = _2;
15747 MenhirLib.EngineTypes.startp = _startpos__2_;
15748 MenhirLib.EngineTypes.endp = _endpos__2_;
15749 MenhirLib.EngineTypes.next = {
15750 MenhirLib.EngineTypes.state = _menhir_s;
15751 MenhirLib.EngineTypes.semv = _1;
15752 MenhirLib.EngineTypes.startp = _startpos__1_;
15753 MenhirLib.EngineTypes.endp = _endpos__1_;
15754 MenhirLib.EngineTypes.next = _menhir_stack;
15755 };
15756 } = _menhir_stack in
15757 let _2 : (
15758 # 104 "parser_cocci_menhir.mly"
15759 (Data.clt)
15760 # 15761 "parser_cocci_menhir.ml"
15761 ) = Obj.magic _2 in
15762 let _1 : (
15763 # 104 "parser_cocci_menhir.mly"
15764 (Data.clt)
15765 # 15766 "parser_cocci_menhir.ml"
15766 ) = Obj.magic _1 in
15767 let _startpos = _startpos__1_ in
15768 let _endpos = _endpos__2_ in
15769 let _v : 'tv_initialize =
15770 # 1108 "parser_cocci_menhir.mly"
15771 ( Ast0.wrap
15772 (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
15773 P.clt2mcode "}" _2)) )
15774 # 15775 "parser_cocci_menhir.ml"
15775 in
15776 _menhir_env.MenhirLib.EngineTypes.stack <- {
15777 MenhirLib.EngineTypes.state = _menhir_s;
15778 MenhirLib.EngineTypes.semv = Obj.repr _v;
15779 MenhirLib.EngineTypes.startp = _startpos;
15780 MenhirLib.EngineTypes.endp = _endpos;
15781 MenhirLib.EngineTypes.next = _menhir_stack;
15782 });
15783 (fun _menhir_env ->
15784 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15785 let {
15786 MenhirLib.EngineTypes.state = _menhir_s;
15787 MenhirLib.EngineTypes.semv = _1;
15788 MenhirLib.EngineTypes.startp = _startpos__1_;
15789 MenhirLib.EngineTypes.endp = _endpos__1_;
15790 MenhirLib.EngineTypes.next = _menhir_stack;
15791 } = _menhir_stack in
15792 let _1 : (
15793 # 68 "parser_cocci_menhir.mly"
15794 (Parse_aux.info)
15795 # 15796 "parser_cocci_menhir.ml"
15796 ) = Obj.magic _1 in
15797 let _startpos = _startpos__1_ in
15798 let _endpos = _endpos__1_ in
15799 let _v : 'tv_initialize =
15800 # 1112 "parser_cocci_menhir.mly"
15801 (let (nm,pure,clt) = _1 in
15802 Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
15803 # 15804 "parser_cocci_menhir.ml"
15804 in
15805 _menhir_env.MenhirLib.EngineTypes.stack <- {
15806 MenhirLib.EngineTypes.state = _menhir_s;
15807 MenhirLib.EngineTypes.semv = Obj.repr _v;
15808 MenhirLib.EngineTypes.startp = _startpos;
15809 MenhirLib.EngineTypes.endp = _endpos;
15810 MenhirLib.EngineTypes.next = _menhir_stack;
15811 });
15812 (fun _menhir_env ->
15813 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15814 let {
15815 MenhirLib.EngineTypes.state = _menhir_s;
15816 MenhirLib.EngineTypes.semv = _1;
15817 MenhirLib.EngineTypes.startp = _startpos__1_;
15818 MenhirLib.EngineTypes.endp = _endpos__1_;
15819 MenhirLib.EngineTypes.next = _menhir_stack;
15820 } = _menhir_stack in
15821 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
15822 let _startpos = _startpos__1_ in
15823 let _endpos = _endpos__1_ in
15824 let _v : 'tv_initialize2 =
15825 # 1118 "parser_cocci_menhir.mly"
15826 ( Ast0.wrap(Ast0.InitExpr(_1)) )
15827 # 15828 "parser_cocci_menhir.ml"
15828 in
15829 _menhir_env.MenhirLib.EngineTypes.stack <- {
15830 MenhirLib.EngineTypes.state = _menhir_s;
15831 MenhirLib.EngineTypes.semv = Obj.repr _v;
15832 MenhirLib.EngineTypes.startp = _startpos;
15833 MenhirLib.EngineTypes.endp = _endpos;
15834 MenhirLib.EngineTypes.next = _menhir_stack;
15835 });
15836 (fun _menhir_env ->
15837 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15838 let {
15839 MenhirLib.EngineTypes.semv = _3;
15840 MenhirLib.EngineTypes.startp = _startpos__3_;
15841 MenhirLib.EngineTypes.endp = _endpos__3_;
15842 MenhirLib.EngineTypes.next = {
15843 MenhirLib.EngineTypes.semv = _2;
15844 MenhirLib.EngineTypes.startp = _startpos__2_;
15845 MenhirLib.EngineTypes.endp = _endpos__2_;
15846 MenhirLib.EngineTypes.next = {
15847 MenhirLib.EngineTypes.state = _menhir_s;
15848 MenhirLib.EngineTypes.semv = _1;
15849 MenhirLib.EngineTypes.startp = _startpos__1_;
15850 MenhirLib.EngineTypes.endp = _endpos__1_;
15851 MenhirLib.EngineTypes.next = _menhir_stack;
15852 };
15853 };
15854 } = _menhir_stack in
15855 let _3 : (
15856 # 104 "parser_cocci_menhir.mly"
15857 (Data.clt)
15858 # 15859 "parser_cocci_menhir.ml"
15859 ) = Obj.magic _3 in
15860 let _2 : 'tv_initialize_list = Obj.magic _2 in
15861 let _1 : (
15862 # 104 "parser_cocci_menhir.mly"
15863 (Data.clt)
15864 # 15865 "parser_cocci_menhir.ml"
15865 ) = Obj.magic _1 in
15866 let _startpos = _startpos__1_ in
15867 let _endpos = _endpos__3_ in
15868 let _v : 'tv_initialize2 =
15869 # 1120 "parser_cocci_menhir.mly"
15870 ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
15871 # 15872 "parser_cocci_menhir.ml"
15872 in
15873 _menhir_env.MenhirLib.EngineTypes.stack <- {
15874 MenhirLib.EngineTypes.state = _menhir_s;
15875 MenhirLib.EngineTypes.semv = Obj.repr _v;
15876 MenhirLib.EngineTypes.startp = _startpos;
15877 MenhirLib.EngineTypes.endp = _endpos;
15878 MenhirLib.EngineTypes.next = _menhir_stack;
15879 });
15880 (fun _menhir_env ->
15881 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15882 let {
15883 MenhirLib.EngineTypes.semv = _2;
15884 MenhirLib.EngineTypes.startp = _startpos__2_;
15885 MenhirLib.EngineTypes.endp = _endpos__2_;
15886 MenhirLib.EngineTypes.next = {
15887 MenhirLib.EngineTypes.state = _menhir_s;
15888 MenhirLib.EngineTypes.semv = _1;
15889 MenhirLib.EngineTypes.startp = _startpos__1_;
15890 MenhirLib.EngineTypes.endp = _endpos__1_;
15891 MenhirLib.EngineTypes.next = _menhir_stack;
15892 };
15893 } = _menhir_stack in
15894 let _2 : (
15895 # 104 "parser_cocci_menhir.mly"
15896 (Data.clt)
15897 # 15898 "parser_cocci_menhir.ml"
15898 ) = Obj.magic _2 in
15899 let _1 : (
15900 # 104 "parser_cocci_menhir.mly"
15901 (Data.clt)
15902 # 15903 "parser_cocci_menhir.ml"
15903 ) = Obj.magic _1 in
15904 let _startpos = _startpos__1_ in
15905 let _endpos = _endpos__2_ in
15906 let _v : 'tv_initialize2 =
15907 # 1122 "parser_cocci_menhir.mly"
15908 ( Ast0.wrap
15909 (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
15910 P.clt2mcode "}" _2)) )
15911 # 15912 "parser_cocci_menhir.ml"
15912 in
15913 _menhir_env.MenhirLib.EngineTypes.stack <- {
15914 MenhirLib.EngineTypes.state = _menhir_s;
15915 MenhirLib.EngineTypes.semv = Obj.repr _v;
15916 MenhirLib.EngineTypes.startp = _startpos;
15917 MenhirLib.EngineTypes.endp = _endpos;
15918 MenhirLib.EngineTypes.next = _menhir_stack;
15919 });
15920 (fun _menhir_env ->
15921 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15922 let {
15923 MenhirLib.EngineTypes.semv = _3;
15924 MenhirLib.EngineTypes.startp = _startpos__3_;
15925 MenhirLib.EngineTypes.endp = _endpos__3_;
15926 MenhirLib.EngineTypes.next = {
15927 MenhirLib.EngineTypes.semv = _2;
15928 MenhirLib.EngineTypes.startp = _startpos__2_;
15929 MenhirLib.EngineTypes.endp = _endpos__2_;
15930 MenhirLib.EngineTypes.next = {
15931 MenhirLib.EngineTypes.state = _menhir_s;
15932 MenhirLib.EngineTypes.semv = _1;
15933 MenhirLib.EngineTypes.startp = _startpos__1_;
15934 MenhirLib.EngineTypes.endp = _endpos__1_;
15935 MenhirLib.EngineTypes.next = _menhir_stack;
15936 };
15937 };
15938 } = _menhir_stack in
15939 let _3 : 'tv_initialize2 = Obj.magic _3 in
15940 let _2 : (
15941 # 110 "parser_cocci_menhir.mly"
15942 (Data.clt)
15943 # 15944 "parser_cocci_menhir.ml"
15944 ) = Obj.magic _2 in
15945 let _1 : 'tv_list_designator_ = Obj.magic _1 in
15946 let _startpos = _startpos__1_ in
15947 let _endpos = _endpos__3_ in
15948 let _v : 'tv_initialize2 =
15949 # 1127 "parser_cocci_menhir.mly"
15950 ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
15951 # 15952 "parser_cocci_menhir.ml"
15952 in
15953 _menhir_env.MenhirLib.EngineTypes.stack <- {
15954 MenhirLib.EngineTypes.state = _menhir_s;
15955 MenhirLib.EngineTypes.semv = Obj.repr _v;
15956 MenhirLib.EngineTypes.startp = _startpos;
15957 MenhirLib.EngineTypes.endp = _endpos;
15958 MenhirLib.EngineTypes.next = _menhir_stack;
15959 });
15960 (fun _menhir_env ->
15961 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15962 let {
15963 MenhirLib.EngineTypes.semv = _3;
15964 MenhirLib.EngineTypes.startp = _startpos__3_;
15965 MenhirLib.EngineTypes.endp = _endpos__3_;
15966 MenhirLib.EngineTypes.next = {
15967 MenhirLib.EngineTypes.semv = _2;
15968 MenhirLib.EngineTypes.startp = _startpos__2_;
15969 MenhirLib.EngineTypes.endp = _endpos__2_;
15970 MenhirLib.EngineTypes.next = {
15971 MenhirLib.EngineTypes.state = _menhir_s;
15972 MenhirLib.EngineTypes.semv = _1;
15973 MenhirLib.EngineTypes.startp = _startpos__1_;
15974 MenhirLib.EngineTypes.endp = _endpos__1_;
15975 MenhirLib.EngineTypes.next = _menhir_stack;
15976 };
15977 };
15978 } = _menhir_stack in
15979 let _3 : 'tv_initialize2 = Obj.magic _3 in
15980 let _2 : (
15981 # 79 "parser_cocci_menhir.mly"
15982 (Data.clt)
15983 # 15984 "parser_cocci_menhir.ml"
15984 ) = Obj.magic _2 in
15985 let _1 : 'tv_ident = Obj.magic _1 in
15986 let _startpos = _startpos__1_ in
15987 let _endpos = _endpos__3_ in
15988 let _v : 'tv_initialize2 =
15989 # 1129 "parser_cocci_menhir.mly"
15990 ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
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.state = _menhir_s;
16004 MenhirLib.EngineTypes.semv = _1;
16005 MenhirLib.EngineTypes.startp = _startpos__1_;
16006 MenhirLib.EngineTypes.endp = _endpos__1_;
16007 MenhirLib.EngineTypes.next = _menhir_stack;
16008 } = _menhir_stack in
16009 let _1 : 'tv_initialize_list_start = Obj.magic _1 in
16010 let _startpos = _startpos__1_ in
16011 let _endpos = _endpos__1_ in
16012 let _v : 'tv_initialize_list =
16013 # 1141 "parser_cocci_menhir.mly"
16014 ( Ast0.wrap(Ast0.DOTS(_1)) )
16015 # 16016 "parser_cocci_menhir.ml"
16016 in
16017 _menhir_env.MenhirLib.EngineTypes.stack <- {
16018 MenhirLib.EngineTypes.state = _menhir_s;
16019 MenhirLib.EngineTypes.semv = Obj.repr _v;
16020 MenhirLib.EngineTypes.startp = _startpos;
16021 MenhirLib.EngineTypes.endp = _endpos;
16022 MenhirLib.EngineTypes.next = _menhir_stack;
16023 });
16024 (fun _menhir_env ->
16025 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16026 let {
16027 MenhirLib.EngineTypes.semv = _2;
16028 MenhirLib.EngineTypes.startp = _startpos__2_;
16029 MenhirLib.EngineTypes.endp = _endpos__2_;
16030 MenhirLib.EngineTypes.next = {
16031 MenhirLib.EngineTypes.state = _menhir_s;
16032 MenhirLib.EngineTypes.semv = _1;
16033 MenhirLib.EngineTypes.startp = _startpos__1_;
16034 MenhirLib.EngineTypes.endp = _endpos__1_;
16035 MenhirLib.EngineTypes.next = _menhir_stack;
16036 };
16037 } = _menhir_stack in
16038 let _2 : (
16039 # 110 "parser_cocci_menhir.mly"
16040 (Data.clt)
16041 # 16042 "parser_cocci_menhir.ml"
16042 ) = Obj.magic _2 in
16043 let _1 : 'tv_initialize2 = Obj.magic _1 in
16044 let _startpos = _startpos__1_ in
16045 let _endpos = _endpos__2_ in
16046 let _v : 'tv_initialize_list_start =
16047 # 1144 "parser_cocci_menhir.mly"
16048 ( [_1;Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))] )
16049 # 16050 "parser_cocci_menhir.ml"
16050 in
16051 _menhir_env.MenhirLib.EngineTypes.stack <- {
16052 MenhirLib.EngineTypes.state = _menhir_s;
16053 MenhirLib.EngineTypes.semv = Obj.repr _v;
16054 MenhirLib.EngineTypes.startp = _startpos;
16055 MenhirLib.EngineTypes.endp = _endpos;
16056 MenhirLib.EngineTypes.next = _menhir_stack;
16057 });
16058 (fun _menhir_env ->
16059 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16060 let {
16061 MenhirLib.EngineTypes.semv = _3;
16062 MenhirLib.EngineTypes.startp = _startpos__3_;
16063 MenhirLib.EngineTypes.endp = _endpos__3_;
16064 MenhirLib.EngineTypes.next = {
16065 MenhirLib.EngineTypes.semv = _2;
16066 MenhirLib.EngineTypes.startp = _startpos__2_;
16067 MenhirLib.EngineTypes.endp = _endpos__2_;
16068 MenhirLib.EngineTypes.next = {
16069 MenhirLib.EngineTypes.state = _menhir_s;
16070 MenhirLib.EngineTypes.semv = _1;
16071 MenhirLib.EngineTypes.startp = _startpos__1_;
16072 MenhirLib.EngineTypes.endp = _endpos__1_;
16073 MenhirLib.EngineTypes.next = _menhir_stack;
16074 };
16075 };
16076 } = _menhir_stack in
16077 let _3 : 'tv_initialize_list_start = Obj.magic _3 in
16078 let _2 : (
16079 # 110 "parser_cocci_menhir.mly"
16080 (Data.clt)
16081 # 16082 "parser_cocci_menhir.ml"
16082 ) = Obj.magic _2 in
16083 let _1 : 'tv_initialize2 = Obj.magic _1 in
16084 let _startpos = _startpos__1_ in
16085 let _endpos = _endpos__3_ in
16086 let _v : 'tv_initialize_list_start =
16087 # 1146 "parser_cocci_menhir.mly"
16088 ( _1::Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))::_3 )
16089 # 16090 "parser_cocci_menhir.ml"
16090 in
16091 _menhir_env.MenhirLib.EngineTypes.stack <- {
16092 MenhirLib.EngineTypes.state = _menhir_s;
16093 MenhirLib.EngineTypes.semv = Obj.repr _v;
16094 MenhirLib.EngineTypes.startp = _startpos;
16095 MenhirLib.EngineTypes.endp = _endpos;
16096 MenhirLib.EngineTypes.next = _menhir_stack;
16097 });
16098 (fun _menhir_env ->
16099 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16100 let {
16101 MenhirLib.EngineTypes.semv = _2;
16102 MenhirLib.EngineTypes.startp = _startpos__2_;
16103 MenhirLib.EngineTypes.endp = _endpos__2_;
16104 MenhirLib.EngineTypes.next = {
16105 MenhirLib.EngineTypes.state = _menhir_s;
16106 MenhirLib.EngineTypes.startp = _startpos__1_;
16107 MenhirLib.EngineTypes.endp = _endpos__1_;
16108 MenhirLib.EngineTypes.next = _menhir_stack;
16109 };
16110 } = _menhir_stack in
16111 let _2 : 'tv_initialize_list_start = Obj.magic _2 in
16112 let _startpos = _startpos__1_ in
16113 let _endpos = _endpos__2_ in
16114 let _v : 'tv_initialize_list_start =
16115 # 1148 "parser_cocci_menhir.mly"
16116 ( _2 )
16117 # 16118 "parser_cocci_menhir.ml"
16118 in
16119 _menhir_env.MenhirLib.EngineTypes.stack <- {
16120 MenhirLib.EngineTypes.state = _menhir_s;
16121 MenhirLib.EngineTypes.semv = Obj.repr _v;
16122 MenhirLib.EngineTypes.startp = _startpos;
16123 MenhirLib.EngineTypes.endp = _endpos;
16124 MenhirLib.EngineTypes.next = _menhir_stack;
16125 });
16126 (fun _menhir_env ->
16127 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16128 let {
16129 MenhirLib.EngineTypes.semv = r;
16130 MenhirLib.EngineTypes.startp = _startpos_r_;
16131 MenhirLib.EngineTypes.endp = _endpos_r_;
16132 MenhirLib.EngineTypes.next = {
16133 MenhirLib.EngineTypes.state = _menhir_s;
16134 MenhirLib.EngineTypes.semv = d;
16135 MenhirLib.EngineTypes.startp = _startpos_d_;
16136 MenhirLib.EngineTypes.endp = _endpos_d_;
16137 MenhirLib.EngineTypes.next = _menhir_stack;
16138 };
16139 } = _menhir_stack in
16140 let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
16141 let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
16142 let _startpos = _startpos_d_ in
16143 let _endpos = _endpos_r_ in
16144 let _v : 'tv_initialize_list_start =
16145 # 1151 "parser_cocci_menhir.mly"
16146 ( (P.mkidots "..." d)::
16147 (List.concat(List.map (function x -> x (P.mkidots "...")) r)) )
16148 # 16149 "parser_cocci_menhir.ml"
16149 in
16150 _menhir_env.MenhirLib.EngineTypes.stack <- {
16151 MenhirLib.EngineTypes.state = _menhir_s;
16152 MenhirLib.EngineTypes.semv = Obj.repr _v;
16153 MenhirLib.EngineTypes.startp = _startpos;
16154 MenhirLib.EngineTypes.endp = _endpos;
16155 MenhirLib.EngineTypes.next = _menhir_stack;
16156 });
16157 (fun _menhir_env ->
16158 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16159 let {
16160 MenhirLib.EngineTypes.state = _menhir_s;
16161 MenhirLib.EngineTypes.startp = _startpos__1_;
16162 MenhirLib.EngineTypes.endp = _endpos__1_;
16163 MenhirLib.EngineTypes.next = _menhir_stack;
16164 } = _menhir_stack in
16165 let _startpos = _startpos__1_ in
16166 let _endpos = _endpos__1_ in
16167 let _v : 'tv_invalid =
16168 # 1246 "parser_cocci_menhir.mly"
16169 ( raise (Semantic_cocci.Semantic "not matchable") )
16170 # 16171 "parser_cocci_menhir.ml"
16171 in
16172 _menhir_env.MenhirLib.EngineTypes.stack <- {
16173 MenhirLib.EngineTypes.state = _menhir_s;
16174 MenhirLib.EngineTypes.semv = Obj.repr _v;
16175 MenhirLib.EngineTypes.startp = _startpos;
16176 MenhirLib.EngineTypes.endp = _endpos;
16177 MenhirLib.EngineTypes.next = _menhir_stack;
16178 });
16179 (fun _menhir_env ->
16180 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16181 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16182 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16183 let _endpos = _startpos in
16184 let _v : 'tv_is_expression =
16185 # 251 "parser_cocci_menhir.mly"
16186 ( false )
16187 # 16188 "parser_cocci_menhir.ml"
16188 in
16189 _menhir_env.MenhirLib.EngineTypes.stack <- {
16190 MenhirLib.EngineTypes.state = _menhir_s;
16191 MenhirLib.EngineTypes.semv = Obj.repr _v;
16192 MenhirLib.EngineTypes.startp = _startpos;
16193 MenhirLib.EngineTypes.endp = _endpos;
16194 MenhirLib.EngineTypes.next = _menhir_stack;
16195 });
16196 (fun _menhir_env ->
16197 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16198 let {
16199 MenhirLib.EngineTypes.state = _menhir_s;
16200 MenhirLib.EngineTypes.startp = _startpos__1_;
16201 MenhirLib.EngineTypes.endp = _endpos__1_;
16202 MenhirLib.EngineTypes.next = _menhir_stack;
16203 } = _menhir_stack in
16204 let _startpos = _startpos__1_ in
16205 let _endpos = _endpos__1_ in
16206 let _v : 'tv_is_expression =
16207 # 252 "parser_cocci_menhir.mly"
16208 ( true )
16209 # 16210 "parser_cocci_menhir.ml"
16210 in
16211 _menhir_env.MenhirLib.EngineTypes.stack <- {
16212 MenhirLib.EngineTypes.state = _menhir_s;
16213 MenhirLib.EngineTypes.semv = Obj.repr _v;
16214 MenhirLib.EngineTypes.startp = _startpos;
16215 MenhirLib.EngineTypes.endp = _endpos;
16216 MenhirLib.EngineTypes.next = _menhir_stack;
16217 });
16218 (fun _menhir_env ->
16219 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16220 let {
16221 MenhirLib.EngineTypes.semv = t;
16222 MenhirLib.EngineTypes.startp = _startpos_t_;
16223 MenhirLib.EngineTypes.endp = _endpos_t_;
16224 MenhirLib.EngineTypes.next = {
16225 MenhirLib.EngineTypes.state = _menhir_s;
16226 MenhirLib.EngineTypes.startp = _startpos__1_;
16227 MenhirLib.EngineTypes.endp = _endpos__1_;
16228 MenhirLib.EngineTypes.next = _menhir_stack;
16229 };
16230 } = _menhir_stack in
16231 let t : 'tv_ctype = Obj.magic t in
16232 let _startpos = _startpos__1_ in
16233 let _endpos = _endpos_t_ in
16234 let _v : 'tv_iso_ctype_ =
16235 # 2034 "parser_cocci_menhir.mly"
16236 ( Common.Left t )
16237 # 16238 "parser_cocci_menhir.ml"
16238 in
16239 _menhir_env.MenhirLib.EngineTypes.stack <- {
16240 MenhirLib.EngineTypes.state = _menhir_s;
16241 MenhirLib.EngineTypes.semv = Obj.repr _v;
16242 MenhirLib.EngineTypes.startp = _startpos;
16243 MenhirLib.EngineTypes.endp = _endpos;
16244 MenhirLib.EngineTypes.next = _menhir_stack;
16245 });
16246 (fun _menhir_env ->
16247 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16248 let {
16249 MenhirLib.EngineTypes.semv = t;
16250 MenhirLib.EngineTypes.startp = _startpos_t_;
16251 MenhirLib.EngineTypes.endp = _endpos_t_;
16252 MenhirLib.EngineTypes.next = {
16253 MenhirLib.EngineTypes.state = _menhir_s;
16254 MenhirLib.EngineTypes.startp = _startpos__1_;
16255 MenhirLib.EngineTypes.endp = _endpos__1_;
16256 MenhirLib.EngineTypes.next = _menhir_stack;
16257 };
16258 } = _menhir_stack in
16259 let t : 'tv_ctype = Obj.magic t in
16260 let _startpos = _startpos__1_ in
16261 let _endpos = _endpos_t_ in
16262 let _v : 'tv_iso_ctype_ =
16263 # 2035 "parser_cocci_menhir.mly"
16264 ( Common.Right t )
16265 # 16266 "parser_cocci_menhir.ml"
16266 in
16267 _menhir_env.MenhirLib.EngineTypes.stack <- {
16268 MenhirLib.EngineTypes.state = _menhir_s;
16269 MenhirLib.EngineTypes.semv = Obj.repr _v;
16270 MenhirLib.EngineTypes.startp = _startpos;
16271 MenhirLib.EngineTypes.endp = _endpos;
16272 MenhirLib.EngineTypes.next = _menhir_stack;
16273 });
16274 (fun _menhir_env ->
16275 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16276 let {
16277 MenhirLib.EngineTypes.semv = t;
16278 MenhirLib.EngineTypes.startp = _startpos_t_;
16279 MenhirLib.EngineTypes.endp = _endpos_t_;
16280 MenhirLib.EngineTypes.next = {
16281 MenhirLib.EngineTypes.state = _menhir_s;
16282 MenhirLib.EngineTypes.startp = _startpos__1_;
16283 MenhirLib.EngineTypes.endp = _endpos__1_;
16284 MenhirLib.EngineTypes.next = _menhir_stack;
16285 };
16286 } = _menhir_stack in
16287 let t : 'tv_decl_var = Obj.magic t in
16288 let _startpos = _startpos__1_ in
16289 let _endpos = _endpos_t_ in
16290 let _v : 'tv_iso_decl_var_ =
16291 # 2034 "parser_cocci_menhir.mly"
16292 ( Common.Left t )
16293 # 16294 "parser_cocci_menhir.ml"
16294 in
16295 _menhir_env.MenhirLib.EngineTypes.stack <- {
16296 MenhirLib.EngineTypes.state = _menhir_s;
16297 MenhirLib.EngineTypes.semv = Obj.repr _v;
16298 MenhirLib.EngineTypes.startp = _startpos;
16299 MenhirLib.EngineTypes.endp = _endpos;
16300 MenhirLib.EngineTypes.next = _menhir_stack;
16301 });
16302 (fun _menhir_env ->
16303 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16304 let {
16305 MenhirLib.EngineTypes.semv = t;
16306 MenhirLib.EngineTypes.startp = _startpos_t_;
16307 MenhirLib.EngineTypes.endp = _endpos_t_;
16308 MenhirLib.EngineTypes.next = {
16309 MenhirLib.EngineTypes.state = _menhir_s;
16310 MenhirLib.EngineTypes.startp = _startpos__1_;
16311 MenhirLib.EngineTypes.endp = _endpos__1_;
16312 MenhirLib.EngineTypes.next = _menhir_stack;
16313 };
16314 } = _menhir_stack in
16315 let t : 'tv_decl_var = Obj.magic t in
16316 let _startpos = _startpos__1_ in
16317 let _endpos = _endpos_t_ in
16318 let _v : 'tv_iso_decl_var_ =
16319 # 2035 "parser_cocci_menhir.mly"
16320 ( Common.Right t )
16321 # 16322 "parser_cocci_menhir.ml"
16322 in
16323 _menhir_env.MenhirLib.EngineTypes.stack <- {
16324 MenhirLib.EngineTypes.state = _menhir_s;
16325 MenhirLib.EngineTypes.semv = Obj.repr _v;
16326 MenhirLib.EngineTypes.startp = _startpos;
16327 MenhirLib.EngineTypes.endp = _endpos;
16328 MenhirLib.EngineTypes.next = _menhir_stack;
16329 });
16330 (fun _menhir_env ->
16331 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16332 let {
16333 MenhirLib.EngineTypes.semv = t;
16334 MenhirLib.EngineTypes.startp = _startpos_t_;
16335 MenhirLib.EngineTypes.endp = _endpos_t_;
16336 MenhirLib.EngineTypes.next = {
16337 MenhirLib.EngineTypes.state = _menhir_s;
16338 MenhirLib.EngineTypes.startp = _startpos__1_;
16339 MenhirLib.EngineTypes.endp = _endpos__1_;
16340 MenhirLib.EngineTypes.next = _menhir_stack;
16341 };
16342 } = _menhir_stack in
16343 let t : 'tv_eexpr = Obj.magic t in
16344 let _startpos = _startpos__1_ in
16345 let _endpos = _endpos_t_ in
16346 let _v : 'tv_iso_eexpr_ =
16347 # 2034 "parser_cocci_menhir.mly"
16348 ( Common.Left t )
16349 # 16350 "parser_cocci_menhir.ml"
16350 in
16351 _menhir_env.MenhirLib.EngineTypes.stack <- {
16352 MenhirLib.EngineTypes.state = _menhir_s;
16353 MenhirLib.EngineTypes.semv = Obj.repr _v;
16354 MenhirLib.EngineTypes.startp = _startpos;
16355 MenhirLib.EngineTypes.endp = _endpos;
16356 MenhirLib.EngineTypes.next = _menhir_stack;
16357 });
16358 (fun _menhir_env ->
16359 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16360 let {
16361 MenhirLib.EngineTypes.semv = t;
16362 MenhirLib.EngineTypes.startp = _startpos_t_;
16363 MenhirLib.EngineTypes.endp = _endpos_t_;
16364 MenhirLib.EngineTypes.next = {
16365 MenhirLib.EngineTypes.state = _menhir_s;
16366 MenhirLib.EngineTypes.startp = _startpos__1_;
16367 MenhirLib.EngineTypes.endp = _endpos__1_;
16368 MenhirLib.EngineTypes.next = _menhir_stack;
16369 };
16370 } = _menhir_stack in
16371 let t : 'tv_eexpr = Obj.magic t in
16372 let _startpos = _startpos__1_ in
16373 let _endpos = _endpos_t_ in
16374 let _v : 'tv_iso_eexpr_ =
16375 # 2035 "parser_cocci_menhir.mly"
16376 ( Common.Right t )
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.semv = t;
16390 MenhirLib.EngineTypes.startp = _startpos_t_;
16391 MenhirLib.EngineTypes.endp = _endpos_t_;
16392 MenhirLib.EngineTypes.next = {
16393 MenhirLib.EngineTypes.state = _menhir_s;
16394 MenhirLib.EngineTypes.startp = _startpos__1_;
16395 MenhirLib.EngineTypes.endp = _endpos__1_;
16396 MenhirLib.EngineTypes.next = _menhir_stack;
16397 };
16398 } = _menhir_stack in
16399 let t : 'tv_nest_start = Obj.magic t in
16400 let _startpos = _startpos__1_ in
16401 let _endpos = _endpos_t_ in
16402 let _v : 'tv_iso_nest_start_ =
16403 # 2034 "parser_cocci_menhir.mly"
16404 ( Common.Left t )
16405 # 16406 "parser_cocci_menhir.ml"
16406 in
16407 _menhir_env.MenhirLib.EngineTypes.stack <- {
16408 MenhirLib.EngineTypes.state = _menhir_s;
16409 MenhirLib.EngineTypes.semv = Obj.repr _v;
16410 MenhirLib.EngineTypes.startp = _startpos;
16411 MenhirLib.EngineTypes.endp = _endpos;
16412 MenhirLib.EngineTypes.next = _menhir_stack;
16413 });
16414 (fun _menhir_env ->
16415 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16416 let {
16417 MenhirLib.EngineTypes.semv = t;
16418 MenhirLib.EngineTypes.startp = _startpos_t_;
16419 MenhirLib.EngineTypes.endp = _endpos_t_;
16420 MenhirLib.EngineTypes.next = {
16421 MenhirLib.EngineTypes.state = _menhir_s;
16422 MenhirLib.EngineTypes.startp = _startpos__1_;
16423 MenhirLib.EngineTypes.endp = _endpos__1_;
16424 MenhirLib.EngineTypes.next = _menhir_stack;
16425 };
16426 } = _menhir_stack in
16427 let t : 'tv_nest_start = Obj.magic t in
16428 let _startpos = _startpos__1_ in
16429 let _endpos = _endpos_t_ in
16430 let _v : 'tv_iso_nest_start_ =
16431 # 2035 "parser_cocci_menhir.mly"
16432 ( Common.Right t )
16433 # 16434 "parser_cocci_menhir.ml"
16434 in
16435 _menhir_env.MenhirLib.EngineTypes.stack <- {
16436 MenhirLib.EngineTypes.state = _menhir_s;
16437 MenhirLib.EngineTypes.semv = Obj.repr _v;
16438 MenhirLib.EngineTypes.startp = _startpos;
16439 MenhirLib.EngineTypes.endp = _endpos;
16440 MenhirLib.EngineTypes.next = _menhir_stack;
16441 });
16442 (fun _menhir_env ->
16443 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16444 let {
16445 MenhirLib.EngineTypes.semv = t;
16446 MenhirLib.EngineTypes.startp = _startpos_t_;
16447 MenhirLib.EngineTypes.endp = _endpos_t_;
16448 MenhirLib.EngineTypes.next = {
16449 MenhirLib.EngineTypes.state = _menhir_s;
16450 MenhirLib.EngineTypes.startp = _startpos__1_;
16451 MenhirLib.EngineTypes.endp = _endpos__1_;
16452 MenhirLib.EngineTypes.next = _menhir_stack;
16453 };
16454 } = _menhir_stack in
16455 let t : 'tv_single_statement = Obj.magic t in
16456 let _startpos = _startpos__1_ in
16457 let _endpos = _endpos_t_ in
16458 let _v : 'tv_iso_single_statement_ =
16459 # 2034 "parser_cocci_menhir.mly"
16460 ( Common.Left t )
16461 # 16462 "parser_cocci_menhir.ml"
16462 in
16463 _menhir_env.MenhirLib.EngineTypes.stack <- {
16464 MenhirLib.EngineTypes.state = _menhir_s;
16465 MenhirLib.EngineTypes.semv = Obj.repr _v;
16466 MenhirLib.EngineTypes.startp = _startpos;
16467 MenhirLib.EngineTypes.endp = _endpos;
16468 MenhirLib.EngineTypes.next = _menhir_stack;
16469 });
16470 (fun _menhir_env ->
16471 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16472 let {
16473 MenhirLib.EngineTypes.semv = t;
16474 MenhirLib.EngineTypes.startp = _startpos_t_;
16475 MenhirLib.EngineTypes.endp = _endpos_t_;
16476 MenhirLib.EngineTypes.next = {
16477 MenhirLib.EngineTypes.state = _menhir_s;
16478 MenhirLib.EngineTypes.startp = _startpos__1_;
16479 MenhirLib.EngineTypes.endp = _endpos__1_;
16480 MenhirLib.EngineTypes.next = _menhir_stack;
16481 };
16482 } = _menhir_stack in
16483 let t : 'tv_single_statement = Obj.magic t in
16484 let _startpos = _startpos__1_ in
16485 let _endpos = _endpos_t_ in
16486 let _v : 'tv_iso_single_statement_ =
16487 # 2035 "parser_cocci_menhir.mly"
16488 ( Common.Right t )
16489 # 16490 "parser_cocci_menhir.ml"
16490 in
16491 _menhir_env.MenhirLib.EngineTypes.stack <- {
16492 MenhirLib.EngineTypes.state = _menhir_s;
16493 MenhirLib.EngineTypes.semv = Obj.repr _v;
16494 MenhirLib.EngineTypes.startp = _startpos;
16495 MenhirLib.EngineTypes.endp = _endpos;
16496 MenhirLib.EngineTypes.next = _menhir_stack;
16497 });
16498 (fun _menhir_env ->
16499 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16500 let {
16501 MenhirLib.EngineTypes.startp = _startpos__4_;
16502 MenhirLib.EngineTypes.endp = _endpos__4_;
16503 MenhirLib.EngineTypes.next = {
16504 MenhirLib.EngineTypes.semv = el;
16505 MenhirLib.EngineTypes.startp = _startpos_el_;
16506 MenhirLib.EngineTypes.endp = _endpos_el_;
16507 MenhirLib.EngineTypes.next = {
16508 MenhirLib.EngineTypes.semv = e1;
16509 MenhirLib.EngineTypes.startp = _startpos_e1_;
16510 MenhirLib.EngineTypes.endp = _endpos_e1_;
16511 MenhirLib.EngineTypes.next = {
16512 MenhirLib.EngineTypes.state = _menhir_s;
16513 MenhirLib.EngineTypes.startp = _startpos__1_;
16514 MenhirLib.EngineTypes.endp = _endpos__1_;
16515 MenhirLib.EngineTypes.next = _menhir_stack;
16516 };
16517 };
16518 };
16519 } = _menhir_stack in
16520 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
16521 let e1 : 'tv_eexpr = Obj.magic e1 in
16522 let _startpos = _startpos__1_ in
16523 let _endpos = _endpos__4_ in
16524 let _v : (
16525 # 165 "parser_cocci_menhir.mly"
16526 (Ast0_cocci.anything list list)
16527 # 16528 "parser_cocci_menhir.ml"
16528 ) =
16529 # 2002 "parser_cocci_menhir.mly"
16530 ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el )
16531 # 16532 "parser_cocci_menhir.ml"
16532 in
16533 _menhir_env.MenhirLib.EngineTypes.stack <- {
16534 MenhirLib.EngineTypes.state = _menhir_s;
16535 MenhirLib.EngineTypes.semv = Obj.repr _v;
16536 MenhirLib.EngineTypes.startp = _startpos;
16537 MenhirLib.EngineTypes.endp = _endpos;
16538 MenhirLib.EngineTypes.next = _menhir_stack;
16539 });
16540 (fun _menhir_env ->
16541 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16542 let {
16543 MenhirLib.EngineTypes.startp = _startpos__4_;
16544 MenhirLib.EngineTypes.endp = _endpos__4_;
16545 MenhirLib.EngineTypes.next = {
16546 MenhirLib.EngineTypes.semv = el;
16547 MenhirLib.EngineTypes.startp = _startpos_el_;
16548 MenhirLib.EngineTypes.endp = _endpos_el_;
16549 MenhirLib.EngineTypes.next = {
16550 MenhirLib.EngineTypes.semv = e1;
16551 MenhirLib.EngineTypes.startp = _startpos_e1_;
16552 MenhirLib.EngineTypes.endp = _endpos_e1_;
16553 MenhirLib.EngineTypes.next = {
16554 MenhirLib.EngineTypes.state = _menhir_s;
16555 MenhirLib.EngineTypes.startp = _startpos__1_;
16556 MenhirLib.EngineTypes.endp = _endpos__1_;
16557 MenhirLib.EngineTypes.next = _menhir_stack;
16558 };
16559 };
16560 };
16561 } = _menhir_stack in
16562 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
16563 let e1 : 'tv_eexpr = Obj.magic e1 in
16564 let _startpos = _startpos__1_ in
16565 let _endpos = _endpos__4_ in
16566 let _v : (
16567 # 165 "parser_cocci_menhir.mly"
16568 (Ast0_cocci.anything list list)
16569 # 16570 "parser_cocci_menhir.ml"
16570 ) =
16571 # 2004 "parser_cocci_menhir.mly"
16572 ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el )
16573 # 16574 "parser_cocci_menhir.ml"
16574 in
16575 _menhir_env.MenhirLib.EngineTypes.stack <- {
16576 MenhirLib.EngineTypes.state = _menhir_s;
16577 MenhirLib.EngineTypes.semv = Obj.repr _v;
16578 MenhirLib.EngineTypes.startp = _startpos;
16579 MenhirLib.EngineTypes.endp = _endpos;
16580 MenhirLib.EngineTypes.next = _menhir_stack;
16581 });
16582 (fun _menhir_env ->
16583 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16584 let {
16585 MenhirLib.EngineTypes.startp = _startpos__4_;
16586 MenhirLib.EngineTypes.endp = _endpos__4_;
16587 MenhirLib.EngineTypes.next = {
16588 MenhirLib.EngineTypes.semv = el;
16589 MenhirLib.EngineTypes.startp = _startpos_el_;
16590 MenhirLib.EngineTypes.endp = _endpos_el_;
16591 MenhirLib.EngineTypes.next = {
16592 MenhirLib.EngineTypes.semv = e1;
16593 MenhirLib.EngineTypes.startp = _startpos_e1_;
16594 MenhirLib.EngineTypes.endp = _endpos_e1_;
16595 MenhirLib.EngineTypes.next = {
16596 MenhirLib.EngineTypes.state = _menhir_s;
16597 MenhirLib.EngineTypes.startp = _startpos__1_;
16598 MenhirLib.EngineTypes.endp = _endpos__1_;
16599 MenhirLib.EngineTypes.next = _menhir_stack;
16600 };
16601 };
16602 };
16603 } = _menhir_stack in
16604 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
16605 let e1 : 'tv_eexpr = Obj.magic e1 in
16606 let _startpos = _startpos__1_ in
16607 let _endpos = _endpos__4_ in
16608 let _v : (
16609 # 165 "parser_cocci_menhir.mly"
16610 (Ast0_cocci.anything list list)
16611 # 16612 "parser_cocci_menhir.ml"
16612 ) =
16613 # 2006 "parser_cocci_menhir.mly"
16614 ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el )
16615 # 16616 "parser_cocci_menhir.ml"
16616 in
16617 _menhir_env.MenhirLib.EngineTypes.stack <- {
16618 MenhirLib.EngineTypes.state = _menhir_s;
16619 MenhirLib.EngineTypes.semv = Obj.repr _v;
16620 MenhirLib.EngineTypes.startp = _startpos;
16621 MenhirLib.EngineTypes.endp = _endpos;
16622 MenhirLib.EngineTypes.next = _menhir_stack;
16623 });
16624 (fun _menhir_env ->
16625 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16626 let {
16627 MenhirLib.EngineTypes.startp = _startpos__4_;
16628 MenhirLib.EngineTypes.endp = _endpos__4_;
16629 MenhirLib.EngineTypes.next = {
16630 MenhirLib.EngineTypes.semv = el;
16631 MenhirLib.EngineTypes.startp = _startpos_el_;
16632 MenhirLib.EngineTypes.endp = _endpos_el_;
16633 MenhirLib.EngineTypes.next = {
16634 MenhirLib.EngineTypes.semv = e1;
16635 MenhirLib.EngineTypes.startp = _startpos_e1_;
16636 MenhirLib.EngineTypes.endp = _endpos_e1_;
16637 MenhirLib.EngineTypes.next = {
16638 MenhirLib.EngineTypes.state = _menhir_s;
16639 MenhirLib.EngineTypes.startp = _startpos__1_;
16640 MenhirLib.EngineTypes.endp = _endpos__1_;
16641 MenhirLib.EngineTypes.next = _menhir_stack;
16642 };
16643 };
16644 };
16645 } = _menhir_stack in
16646 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
16647 let e1 : 'tv_eexpr = Obj.magic e1 in
16648 let _startpos = _startpos__1_ in
16649 let _endpos = _endpos__4_ in
16650 let _v : (
16651 # 165 "parser_cocci_menhir.mly"
16652 (Ast0_cocci.anything list list)
16653 # 16654 "parser_cocci_menhir.ml"
16654 ) =
16655 # 2008 "parser_cocci_menhir.mly"
16656 ( let ffn x = Ast0.ExprTag x in
16657 let fn x = Ast0.TestExprTag x in
16658 P.iso_adjust ffn fn e1 el )
16659 # 16660 "parser_cocci_menhir.ml"
16660 in
16661 _menhir_env.MenhirLib.EngineTypes.stack <- {
16662 MenhirLib.EngineTypes.state = _menhir_s;
16663 MenhirLib.EngineTypes.semv = Obj.repr _v;
16664 MenhirLib.EngineTypes.startp = _startpos;
16665 MenhirLib.EngineTypes.endp = _endpos;
16666 MenhirLib.EngineTypes.next = _menhir_stack;
16667 });
16668 (fun _menhir_env ->
16669 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16670 let {
16671 MenhirLib.EngineTypes.startp = _startpos__4_;
16672 MenhirLib.EngineTypes.endp = _endpos__4_;
16673 MenhirLib.EngineTypes.next = {
16674 MenhirLib.EngineTypes.semv = sl;
16675 MenhirLib.EngineTypes.startp = _startpos_sl_;
16676 MenhirLib.EngineTypes.endp = _endpos_sl_;
16677 MenhirLib.EngineTypes.next = {
16678 MenhirLib.EngineTypes.semv = s1;
16679 MenhirLib.EngineTypes.startp = _startpos_s1_;
16680 MenhirLib.EngineTypes.endp = _endpos_s1_;
16681 MenhirLib.EngineTypes.next = {
16682 MenhirLib.EngineTypes.state = _menhir_s;
16683 MenhirLib.EngineTypes.startp = _startpos__1_;
16684 MenhirLib.EngineTypes.endp = _endpos__1_;
16685 MenhirLib.EngineTypes.next = _menhir_stack;
16686 };
16687 };
16688 };
16689 } = _menhir_stack in
16690 let sl : 'tv_list_iso_single_statement__ = Obj.magic sl in
16691 let s1 : 'tv_single_statement = Obj.magic s1 in
16692 let _startpos = _startpos__1_ in
16693 let _endpos = _endpos__4_ in
16694 let _v : (
16695 # 165 "parser_cocci_menhir.mly"
16696 (Ast0_cocci.anything list list)
16697 # 16698 "parser_cocci_menhir.ml"
16698 ) =
16699 # 2012 "parser_cocci_menhir.mly"
16700 ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl )
16701 # 16702 "parser_cocci_menhir.ml"
16702 in
16703 _menhir_env.MenhirLib.EngineTypes.stack <- {
16704 MenhirLib.EngineTypes.state = _menhir_s;
16705 MenhirLib.EngineTypes.semv = Obj.repr _v;
16706 MenhirLib.EngineTypes.startp = _startpos;
16707 MenhirLib.EngineTypes.endp = _endpos;
16708 MenhirLib.EngineTypes.next = _menhir_stack;
16709 });
16710 (fun _menhir_env ->
16711 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16712 let {
16713 MenhirLib.EngineTypes.startp = _startpos__4_;
16714 MenhirLib.EngineTypes.endp = _endpos__4_;
16715 MenhirLib.EngineTypes.next = {
16716 MenhirLib.EngineTypes.semv = tl;
16717 MenhirLib.EngineTypes.startp = _startpos_tl_;
16718 MenhirLib.EngineTypes.endp = _endpos_tl_;
16719 MenhirLib.EngineTypes.next = {
16720 MenhirLib.EngineTypes.semv = t1;
16721 MenhirLib.EngineTypes.startp = _startpos_t1_;
16722 MenhirLib.EngineTypes.endp = _endpos_t1_;
16723 MenhirLib.EngineTypes.next = {
16724 MenhirLib.EngineTypes.state = _menhir_s;
16725 MenhirLib.EngineTypes.startp = _startpos__1_;
16726 MenhirLib.EngineTypes.endp = _endpos__1_;
16727 MenhirLib.EngineTypes.next = _menhir_stack;
16728 };
16729 };
16730 };
16731 } = _menhir_stack in
16732 let tl : 'tv_list_iso_ctype__ = Obj.magic tl in
16733 let t1 : 'tv_ctype = Obj.magic t1 in
16734 let _startpos = _startpos__1_ in
16735 let _endpos = _endpos__4_ in
16736 let _v : (
16737 # 165 "parser_cocci_menhir.mly"
16738 (Ast0_cocci.anything list list)
16739 # 16740 "parser_cocci_menhir.ml"
16740 ) =
16741 # 2014 "parser_cocci_menhir.mly"
16742 ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl )
16743 # 16744 "parser_cocci_menhir.ml"
16744 in
16745 _menhir_env.MenhirLib.EngineTypes.stack <- {
16746 MenhirLib.EngineTypes.state = _menhir_s;
16747 MenhirLib.EngineTypes.semv = Obj.repr _v;
16748 MenhirLib.EngineTypes.startp = _startpos;
16749 MenhirLib.EngineTypes.endp = _endpos;
16750 MenhirLib.EngineTypes.next = _menhir_stack;
16751 });
16752 (fun _menhir_env ->
16753 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16754 let {
16755 MenhirLib.EngineTypes.startp = _startpos__4_;
16756 MenhirLib.EngineTypes.endp = _endpos__4_;
16757 MenhirLib.EngineTypes.next = {
16758 MenhirLib.EngineTypes.semv = el;
16759 MenhirLib.EngineTypes.startp = _startpos_el_;
16760 MenhirLib.EngineTypes.endp = _endpos_el_;
16761 MenhirLib.EngineTypes.next = {
16762 MenhirLib.EngineTypes.semv = e1;
16763 MenhirLib.EngineTypes.startp = _startpos_e1_;
16764 MenhirLib.EngineTypes.endp = _endpos_e1_;
16765 MenhirLib.EngineTypes.next = {
16766 MenhirLib.EngineTypes.state = _menhir_s;
16767 MenhirLib.EngineTypes.startp = _startpos__1_;
16768 MenhirLib.EngineTypes.endp = _endpos__1_;
16769 MenhirLib.EngineTypes.next = _menhir_stack;
16770 };
16771 };
16772 };
16773 } = _menhir_stack in
16774 let el : 'tv_list_iso_nest_start__ = Obj.magic el in
16775 let e1 : 'tv_nest_start = Obj.magic e1 in
16776 let _startpos = _startpos__1_ in
16777 let _endpos = _endpos__4_ in
16778 let _v : (
16779 # 165 "parser_cocci_menhir.mly"
16780 (Ast0_cocci.anything list list)
16781 # 16782 "parser_cocci_menhir.ml"
16782 ) =
16783 # 2016 "parser_cocci_menhir.mly"
16784 ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el )
16785 # 16786 "parser_cocci_menhir.ml"
16786 in
16787 _menhir_env.MenhirLib.EngineTypes.stack <- {
16788 MenhirLib.EngineTypes.state = _menhir_s;
16789 MenhirLib.EngineTypes.semv = Obj.repr _v;
16790 MenhirLib.EngineTypes.startp = _startpos;
16791 MenhirLib.EngineTypes.endp = _endpos;
16792 MenhirLib.EngineTypes.next = _menhir_stack;
16793 });
16794 (fun _menhir_env ->
16795 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16796 let {
16797 MenhirLib.EngineTypes.startp = _startpos__4_;
16798 MenhirLib.EngineTypes.endp = _endpos__4_;
16799 MenhirLib.EngineTypes.next = {
16800 MenhirLib.EngineTypes.semv = dl;
16801 MenhirLib.EngineTypes.startp = _startpos_dl_;
16802 MenhirLib.EngineTypes.endp = _endpos_dl_;
16803 MenhirLib.EngineTypes.next = {
16804 MenhirLib.EngineTypes.semv = d1;
16805 MenhirLib.EngineTypes.startp = _startpos_d1_;
16806 MenhirLib.EngineTypes.endp = _endpos_d1_;
16807 MenhirLib.EngineTypes.next = {
16808 MenhirLib.EngineTypes.state = _menhir_s;
16809 MenhirLib.EngineTypes.startp = _startpos__1_;
16810 MenhirLib.EngineTypes.endp = _endpos__1_;
16811 MenhirLib.EngineTypes.next = _menhir_stack;
16812 };
16813 };
16814 };
16815 } = _menhir_stack in
16816 let dl : 'tv_list_iso_decl_var__ = Obj.magic dl in
16817 let d1 : 'tv_decl_var = Obj.magic d1 in
16818 let _startpos = _startpos__1_ in
16819 let _endpos = _endpos__4_ in
16820 let _v : (
16821 # 165 "parser_cocci_menhir.mly"
16822 (Ast0_cocci.anything list list)
16823 # 16824 "parser_cocci_menhir.ml"
16824 ) =
16825 # 2018 "parser_cocci_menhir.mly"
16826 ( let check_one = function
16827 [x] -> x
16828 | _ ->
16829 raise
16830 (Semantic_cocci.Semantic
16831 "only one variable per declaration in an isomorphism rule") in
16832 let d1 = check_one d1 in
16833 let dl =
16834 List.map
16835 (function
16836 Common.Left x -> Common.Left(check_one x)
16837 | Common.Right x -> Common.Right(check_one x))
16838 dl in
16839 let fn x = Ast0.DeclTag x in P.iso_adjust fn fn d1 dl )
16840 # 16841 "parser_cocci_menhir.ml"
16841 in
16842 _menhir_env.MenhirLib.EngineTypes.stack <- {
16843 MenhirLib.EngineTypes.state = _menhir_s;
16844 MenhirLib.EngineTypes.semv = Obj.repr _v;
16845 MenhirLib.EngineTypes.startp = _startpos;
16846 MenhirLib.EngineTypes.endp = _endpos;
16847 MenhirLib.EngineTypes.next = _menhir_stack;
16848 });
16849 (fun _menhir_env ->
16850 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16851 let {
16852 MenhirLib.EngineTypes.state = _menhir_s;
16853 MenhirLib.EngineTypes.semv = m;
16854 MenhirLib.EngineTypes.startp = _startpos_m_;
16855 MenhirLib.EngineTypes.endp = _endpos_m_;
16856 MenhirLib.EngineTypes.next = _menhir_stack;
16857 } = _menhir_stack in
16858 let m : 'tv_metadec = Obj.magic m in
16859 let _startpos = _startpos_m_ in
16860 let _endpos = _endpos_m_ in
16861 let _v : (
16862 # 168 "parser_cocci_menhir.mly"
16863 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
16864 # 16865 "parser_cocci_menhir.ml"
16865 ) =
16866 # 185 "parser_cocci_menhir.mly"
16867 ( m "" )
16868 # 16869 "parser_cocci_menhir.ml"
16869 in
16870 _menhir_env.MenhirLib.EngineTypes.stack <- {
16871 MenhirLib.EngineTypes.state = _menhir_s;
16872 MenhirLib.EngineTypes.semv = Obj.repr _v;
16873 MenhirLib.EngineTypes.startp = _startpos;
16874 MenhirLib.EngineTypes.endp = _endpos;
16875 MenhirLib.EngineTypes.next = _menhir_stack;
16876 });
16877 (fun _menhir_env ->
16878 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16879 let {
16880 MenhirLib.EngineTypes.startp = _startpos__2_;
16881 MenhirLib.EngineTypes.endp = _endpos__2_;
16882 MenhirLib.EngineTypes.next = {
16883 MenhirLib.EngineTypes.state = _menhir_s;
16884 MenhirLib.EngineTypes.semv = nm;
16885 MenhirLib.EngineTypes.startp = _startpos_nm_;
16886 MenhirLib.EngineTypes.endp = _endpos_nm_;
16887 MenhirLib.EngineTypes.next = _menhir_stack;
16888 };
16889 } = _menhir_stack in
16890 let nm : 'tv_pure_ident = Obj.magic nm in
16891 let _startpos = _startpos_nm_ in
16892 let _endpos = _endpos__2_ in
16893 let _v : (
16894 # 152 "parser_cocci_menhir.mly"
16895 (Ast_cocci.rulename)
16896 # 16897 "parser_cocci_menhir.ml"
16897 ) =
16898 # 200 "parser_cocci_menhir.mly"
16899 ( P.make_iso_rule_name_result (P.id2name nm) )
16900 # 16901 "parser_cocci_menhir.ml"
16901 in
16902 _menhir_env.MenhirLib.EngineTypes.stack <- {
16903 MenhirLib.EngineTypes.state = _menhir_s;
16904 MenhirLib.EngineTypes.semv = Obj.repr _v;
16905 MenhirLib.EngineTypes.startp = _startpos;
16906 MenhirLib.EngineTypes.endp = _endpos;
16907 MenhirLib.EngineTypes.next = _menhir_stack;
16908 });
16909 (fun _menhir_env ->
16910 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16911 let {
16912 MenhirLib.EngineTypes.state = _menhir_s;
16913 MenhirLib.EngineTypes.semv = _1;
16914 MenhirLib.EngineTypes.startp = _startpos__1_;
16915 MenhirLib.EngineTypes.endp = _endpos__1_;
16916 MenhirLib.EngineTypes.next = _menhir_stack;
16917 } = _menhir_stack in
16918 let _1 : (
16919 # 61 "parser_cocci_menhir.mly"
16920 (string * Data.clt)
16921 # 16922 "parser_cocci_menhir.ml"
16922 ) = Obj.magic _1 in
16923 let _startpos = _startpos__1_ in
16924 let _endpos = _endpos__1_ in
16925 let _v : 'tv_iter_ident =
16926 # 1687 "parser_cocci_menhir.mly"
16927 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
16928 # 16929 "parser_cocci_menhir.ml"
16929 in
16930 _menhir_env.MenhirLib.EngineTypes.stack <- {
16931 MenhirLib.EngineTypes.state = _menhir_s;
16932 MenhirLib.EngineTypes.semv = Obj.repr _v;
16933 MenhirLib.EngineTypes.startp = _startpos;
16934 MenhirLib.EngineTypes.endp = _endpos;
16935 MenhirLib.EngineTypes.next = _menhir_stack;
16936 });
16937 (fun _menhir_env ->
16938 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16939 let {
16940 MenhirLib.EngineTypes.state = _menhir_s;
16941 MenhirLib.EngineTypes.semv = _1;
16942 MenhirLib.EngineTypes.startp = _startpos__1_;
16943 MenhirLib.EngineTypes.endp = _endpos__1_;
16944 MenhirLib.EngineTypes.next = _menhir_stack;
16945 } = _menhir_stack in
16946 let _1 : (
16947 # 65 "parser_cocci_menhir.mly"
16948 (Parse_aux.idinfo)
16949 # 16950 "parser_cocci_menhir.ml"
16950 ) = Obj.magic _1 in
16951 let _startpos = _startpos__1_ in
16952 let _endpos = _endpos__1_ in
16953 let _v : 'tv_iter_ident =
16954 # 1689 "parser_cocci_menhir.mly"
16955 ( let (nm,constraints,pure,clt) = _1 in
16956 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
16957 # 16958 "parser_cocci_menhir.ml"
16958 in
16959 _menhir_env.MenhirLib.EngineTypes.stack <- {
16960 MenhirLib.EngineTypes.state = _menhir_s;
16961 MenhirLib.EngineTypes.semv = Obj.repr _v;
16962 MenhirLib.EngineTypes.startp = _startpos;
16963 MenhirLib.EngineTypes.endp = _endpos;
16964 MenhirLib.EngineTypes.next = _menhir_stack;
16965 });
16966 (fun _menhir_env ->
16967 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16968 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16969 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16970 let _endpos = _startpos in
16971 let _v : 'tv_list_TMul_ =
16972 # 114 "standard.mly"
16973 ( [] )
16974 # 16975 "parser_cocci_menhir.ml"
16975 in
16976 _menhir_env.MenhirLib.EngineTypes.stack <- {
16977 MenhirLib.EngineTypes.state = _menhir_s;
16978 MenhirLib.EngineTypes.semv = Obj.repr _v;
16979 MenhirLib.EngineTypes.startp = _startpos;
16980 MenhirLib.EngineTypes.endp = _endpos;
16981 MenhirLib.EngineTypes.next = _menhir_stack;
16982 });
16983 (fun _menhir_env ->
16984 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16985 let {
16986 MenhirLib.EngineTypes.semv = xs;
16987 MenhirLib.EngineTypes.startp = _startpos_xs_;
16988 MenhirLib.EngineTypes.endp = _endpos_xs_;
16989 MenhirLib.EngineTypes.next = {
16990 MenhirLib.EngineTypes.state = _menhir_s;
16991 MenhirLib.EngineTypes.semv = x;
16992 MenhirLib.EngineTypes.startp = _startpos_x_;
16993 MenhirLib.EngineTypes.endp = _endpos_x_;
16994 MenhirLib.EngineTypes.next = _menhir_stack;
16995 };
16996 } = _menhir_stack in
16997 let xs : 'tv_list_TMul_ = Obj.magic xs in
16998 let x : (
16999 # 102 "parser_cocci_menhir.mly"
17000 (Data.clt)
17001 # 17002 "parser_cocci_menhir.ml"
17002 ) = Obj.magic x in
17003 let _startpos = _startpos_x_ in
17004 let _endpos = _endpos_xs_ in
17005 let _v : 'tv_list_TMul_ =
17006 # 116 "standard.mly"
17007 ( x :: xs )
17008 # 17009 "parser_cocci_menhir.ml"
17009 in
17010 _menhir_env.MenhirLib.EngineTypes.stack <- {
17011 MenhirLib.EngineTypes.state = _menhir_s;
17012 MenhirLib.EngineTypes.semv = Obj.repr _v;
17013 MenhirLib.EngineTypes.startp = _startpos;
17014 MenhirLib.EngineTypes.endp = _endpos;
17015 MenhirLib.EngineTypes.next = _menhir_stack;
17016 });
17017 (fun _menhir_env ->
17018 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17019 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17020 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17021 let _endpos = _startpos in
17022 let _v : 'tv_list_array_dec_ =
17023 # 114 "standard.mly"
17024 ( [] )
17025 # 17026 "parser_cocci_menhir.ml"
17026 in
17027 _menhir_env.MenhirLib.EngineTypes.stack <- {
17028 MenhirLib.EngineTypes.state = _menhir_s;
17029 MenhirLib.EngineTypes.semv = Obj.repr _v;
17030 MenhirLib.EngineTypes.startp = _startpos;
17031 MenhirLib.EngineTypes.endp = _endpos;
17032 MenhirLib.EngineTypes.next = _menhir_stack;
17033 });
17034 (fun _menhir_env ->
17035 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17036 let {
17037 MenhirLib.EngineTypes.semv = xs;
17038 MenhirLib.EngineTypes.startp = _startpos_xs_;
17039 MenhirLib.EngineTypes.endp = _endpos_xs_;
17040 MenhirLib.EngineTypes.next = {
17041 MenhirLib.EngineTypes.state = _menhir_s;
17042 MenhirLib.EngineTypes.semv = x;
17043 MenhirLib.EngineTypes.startp = _startpos_x_;
17044 MenhirLib.EngineTypes.endp = _endpos_x_;
17045 MenhirLib.EngineTypes.next = _menhir_stack;
17046 };
17047 } = _menhir_stack in
17048 let xs : 'tv_list_array_dec_ = Obj.magic xs in
17049 let x : 'tv_array_dec = Obj.magic x in
17050 let _startpos = _startpos_x_ in
17051 let _endpos = _endpos_xs_ in
17052 let _v : 'tv_list_array_dec_ =
17053 # 116 "standard.mly"
17054 ( x :: xs )
17055 # 17056 "parser_cocci_menhir.ml"
17056 in
17057 _menhir_env.MenhirLib.EngineTypes.stack <- {
17058 MenhirLib.EngineTypes.state = _menhir_s;
17059 MenhirLib.EngineTypes.semv = Obj.repr _v;
17060 MenhirLib.EngineTypes.startp = _startpos;
17061 MenhirLib.EngineTypes.endp = _endpos;
17062 MenhirLib.EngineTypes.next = _menhir_stack;
17063 });
17064 (fun _menhir_env ->
17065 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17066 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17067 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17068 let _endpos = _startpos in
17069 let _v : 'tv_list_case_line_ =
17070 # 114 "standard.mly"
17071 ( [] )
17072 # 17073 "parser_cocci_menhir.ml"
17073 in
17074 _menhir_env.MenhirLib.EngineTypes.stack <- {
17075 MenhirLib.EngineTypes.state = _menhir_s;
17076 MenhirLib.EngineTypes.semv = Obj.repr _v;
17077 MenhirLib.EngineTypes.startp = _startpos;
17078 MenhirLib.EngineTypes.endp = _endpos;
17079 MenhirLib.EngineTypes.next = _menhir_stack;
17080 });
17081 (fun _menhir_env ->
17082 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17083 let {
17084 MenhirLib.EngineTypes.semv = xs;
17085 MenhirLib.EngineTypes.startp = _startpos_xs_;
17086 MenhirLib.EngineTypes.endp = _endpos_xs_;
17087 MenhirLib.EngineTypes.next = {
17088 MenhirLib.EngineTypes.state = _menhir_s;
17089 MenhirLib.EngineTypes.semv = x;
17090 MenhirLib.EngineTypes.startp = _startpos_x_;
17091 MenhirLib.EngineTypes.endp = _endpos_x_;
17092 MenhirLib.EngineTypes.next = _menhir_stack;
17093 };
17094 } = _menhir_stack in
17095 let xs : 'tv_list_case_line_ = Obj.magic xs in
17096 let x : 'tv_case_line = Obj.magic x in
17097 let _startpos = _startpos_x_ in
17098 let _endpos = _endpos_xs_ in
17099 let _v : 'tv_list_case_line_ =
17100 # 116 "standard.mly"
17101 ( x :: xs )
17102 # 17103 "parser_cocci_menhir.ml"
17103 in
17104 _menhir_env.MenhirLib.EngineTypes.stack <- {
17105 MenhirLib.EngineTypes.state = _menhir_s;
17106 MenhirLib.EngineTypes.semv = Obj.repr _v;
17107 MenhirLib.EngineTypes.startp = _startpos;
17108 MenhirLib.EngineTypes.endp = _endpos;
17109 MenhirLib.EngineTypes.next = _menhir_stack;
17110 });
17111 (fun _menhir_env ->
17112 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17113 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17114 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17115 let _endpos = _startpos in
17116 let _v : 'tv_list_comma_decls_TEllipsis_decl__ =
17117 # 114 "standard.mly"
17118 ( [] )
17119 # 17120 "parser_cocci_menhir.ml"
17120 in
17121 _menhir_env.MenhirLib.EngineTypes.stack <- {
17122 MenhirLib.EngineTypes.state = _menhir_s;
17123 MenhirLib.EngineTypes.semv = Obj.repr _v;
17124 MenhirLib.EngineTypes.startp = _startpos;
17125 MenhirLib.EngineTypes.endp = _endpos;
17126 MenhirLib.EngineTypes.next = _menhir_stack;
17127 });
17128 (fun _menhir_env ->
17129 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17130 let {
17131 MenhirLib.EngineTypes.semv = xs;
17132 MenhirLib.EngineTypes.startp = _startpos_xs_;
17133 MenhirLib.EngineTypes.endp = _endpos_xs_;
17134 MenhirLib.EngineTypes.next = {
17135 MenhirLib.EngineTypes.state = _menhir_s;
17136 MenhirLib.EngineTypes.semv = x;
17137 MenhirLib.EngineTypes.startp = _startpos_x_;
17138 MenhirLib.EngineTypes.endp = _endpos_x_;
17139 MenhirLib.EngineTypes.next = _menhir_stack;
17140 };
17141 } = _menhir_stack in
17142 let xs : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic xs in
17143 let x : 'tv_comma_decls_TEllipsis_decl_ = Obj.magic x in
17144 let _startpos = _startpos_x_ in
17145 let _endpos = _endpos_xs_ in
17146 let _v : 'tv_list_comma_decls_TEllipsis_decl__ =
17147 # 116 "standard.mly"
17148 ( x :: xs )
17149 # 17150 "parser_cocci_menhir.ml"
17150 in
17151 _menhir_env.MenhirLib.EngineTypes.stack <- {
17152 MenhirLib.EngineTypes.state = _menhir_s;
17153 MenhirLib.EngineTypes.semv = Obj.repr _v;
17154 MenhirLib.EngineTypes.startp = _startpos;
17155 MenhirLib.EngineTypes.endp = _endpos;
17156 MenhirLib.EngineTypes.next = _menhir_stack;
17157 });
17158 (fun _menhir_env ->
17159 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17160 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17161 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17162 let _endpos = _startpos in
17163 let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ =
17164 # 114 "standard.mly"
17165 ( [] )
17166 # 17167 "parser_cocci_menhir.ml"
17167 in
17168 _menhir_env.MenhirLib.EngineTypes.stack <- {
17169 MenhirLib.EngineTypes.state = _menhir_s;
17170 MenhirLib.EngineTypes.semv = Obj.repr _v;
17171 MenhirLib.EngineTypes.startp = _startpos;
17172 MenhirLib.EngineTypes.endp = _endpos;
17173 MenhirLib.EngineTypes.next = _menhir_stack;
17174 });
17175 (fun _menhir_env ->
17176 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17177 let {
17178 MenhirLib.EngineTypes.semv = xs;
17179 MenhirLib.EngineTypes.startp = _startpos_xs_;
17180 MenhirLib.EngineTypes.endp = _endpos_xs_;
17181 MenhirLib.EngineTypes.next = {
17182 MenhirLib.EngineTypes.state = _menhir_s;
17183 MenhirLib.EngineTypes.semv = x;
17184 MenhirLib.EngineTypes.startp = _startpos_x_;
17185 MenhirLib.EngineTypes.endp = _endpos_x_;
17186 MenhirLib.EngineTypes.next = _menhir_stack;
17187 };
17188 } = _menhir_stack in
17189 let xs : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic xs in
17190 let x : 'tv_comma_decls_TEllipsis_name_opt_decl_ = Obj.magic x in
17191 let _startpos = _startpos_x_ in
17192 let _endpos = _endpos_xs_ in
17193 let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ =
17194 # 116 "standard.mly"
17195 ( x :: xs )
17196 # 17197 "parser_cocci_menhir.ml"
17197 in
17198 _menhir_env.MenhirLib.EngineTypes.stack <- {
17199 MenhirLib.EngineTypes.state = _menhir_s;
17200 MenhirLib.EngineTypes.semv = Obj.repr _v;
17201 MenhirLib.EngineTypes.startp = _startpos;
17202 MenhirLib.EngineTypes.endp = _endpos;
17203 MenhirLib.EngineTypes.next = _menhir_stack;
17204 });
17205 (fun _menhir_env ->
17206 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17207 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17208 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17209 let _endpos = _startpos in
17210 let _v : 'tv_list_decl_var_ =
17211 # 114 "standard.mly"
17212 ( [] )
17213 # 17214 "parser_cocci_menhir.ml"
17214 in
17215 _menhir_env.MenhirLib.EngineTypes.stack <- {
17216 MenhirLib.EngineTypes.state = _menhir_s;
17217 MenhirLib.EngineTypes.semv = Obj.repr _v;
17218 MenhirLib.EngineTypes.startp = _startpos;
17219 MenhirLib.EngineTypes.endp = _endpos;
17220 MenhirLib.EngineTypes.next = _menhir_stack;
17221 });
17222 (fun _menhir_env ->
17223 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17224 let {
17225 MenhirLib.EngineTypes.semv = xs;
17226 MenhirLib.EngineTypes.startp = _startpos_xs_;
17227 MenhirLib.EngineTypes.endp = _endpos_xs_;
17228 MenhirLib.EngineTypes.next = {
17229 MenhirLib.EngineTypes.state = _menhir_s;
17230 MenhirLib.EngineTypes.semv = x;
17231 MenhirLib.EngineTypes.startp = _startpos_x_;
17232 MenhirLib.EngineTypes.endp = _endpos_x_;
17233 MenhirLib.EngineTypes.next = _menhir_stack;
17234 };
17235 } = _menhir_stack in
17236 let xs : 'tv_list_decl_var_ = Obj.magic xs in
17237 let x : 'tv_decl_var = Obj.magic x in
17238 let _startpos = _startpos_x_ in
17239 let _endpos = _endpos_xs_ in
17240 let _v : 'tv_list_decl_var_ =
17241 # 116 "standard.mly"
17242 ( x :: xs )
17243 # 17244 "parser_cocci_menhir.ml"
17244 in
17245 _menhir_env.MenhirLib.EngineTypes.stack <- {
17246 MenhirLib.EngineTypes.state = _menhir_s;
17247 MenhirLib.EngineTypes.semv = Obj.repr _v;
17248 MenhirLib.EngineTypes.startp = _startpos;
17249 MenhirLib.EngineTypes.endp = _endpos;
17250 MenhirLib.EngineTypes.next = _menhir_stack;
17251 });
17252 (fun _menhir_env ->
17253 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17254 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17255 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17256 let _endpos = _startpos in
17257 let _v : 'tv_list_designator_ =
17258 # 114 "standard.mly"
17259 ( [] )
17260 # 17261 "parser_cocci_menhir.ml"
17261 in
17262 _menhir_env.MenhirLib.EngineTypes.stack <- {
17263 MenhirLib.EngineTypes.state = _menhir_s;
17264 MenhirLib.EngineTypes.semv = Obj.repr _v;
17265 MenhirLib.EngineTypes.startp = _startpos;
17266 MenhirLib.EngineTypes.endp = _endpos;
17267 MenhirLib.EngineTypes.next = _menhir_stack;
17268 });
17269 (fun _menhir_env ->
17270 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17271 let {
17272 MenhirLib.EngineTypes.semv = xs;
17273 MenhirLib.EngineTypes.startp = _startpos_xs_;
17274 MenhirLib.EngineTypes.endp = _endpos_xs_;
17275 MenhirLib.EngineTypes.next = {
17276 MenhirLib.EngineTypes.state = _menhir_s;
17277 MenhirLib.EngineTypes.semv = x;
17278 MenhirLib.EngineTypes.startp = _startpos_x_;
17279 MenhirLib.EngineTypes.endp = _endpos_x_;
17280 MenhirLib.EngineTypes.next = _menhir_stack;
17281 };
17282 } = _menhir_stack in
17283 let xs : 'tv_list_designator_ = Obj.magic xs in
17284 let x : 'tv_designator = Obj.magic x in
17285 let _startpos = _startpos_x_ in
17286 let _endpos = _endpos_xs_ in
17287 let _v : 'tv_list_designator_ =
17288 # 116 "standard.mly"
17289 ( x :: xs )
17290 # 17291 "parser_cocci_menhir.ml"
17291 in
17292 _menhir_env.MenhirLib.EngineTypes.stack <- {
17293 MenhirLib.EngineTypes.state = _menhir_s;
17294 MenhirLib.EngineTypes.semv = Obj.repr _v;
17295 MenhirLib.EngineTypes.startp = _startpos;
17296 MenhirLib.EngineTypes.endp = _endpos;
17297 MenhirLib.EngineTypes.next = _menhir_stack;
17298 });
17299 (fun _menhir_env ->
17300 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17301 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17302 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17303 let _endpos = _startpos in
17304 let _v : 'tv_list_dp_comma_args_TEllipsis__ =
17305 # 114 "standard.mly"
17306 ( [] )
17307 # 17308 "parser_cocci_menhir.ml"
17308 in
17309 _menhir_env.MenhirLib.EngineTypes.stack <- {
17310 MenhirLib.EngineTypes.state = _menhir_s;
17311 MenhirLib.EngineTypes.semv = Obj.repr _v;
17312 MenhirLib.EngineTypes.startp = _startpos;
17313 MenhirLib.EngineTypes.endp = _endpos;
17314 MenhirLib.EngineTypes.next = _menhir_stack;
17315 });
17316 (fun _menhir_env ->
17317 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17318 let {
17319 MenhirLib.EngineTypes.semv = xs;
17320 MenhirLib.EngineTypes.startp = _startpos_xs_;
17321 MenhirLib.EngineTypes.endp = _endpos_xs_;
17322 MenhirLib.EngineTypes.next = {
17323 MenhirLib.EngineTypes.state = _menhir_s;
17324 MenhirLib.EngineTypes.semv = x;
17325 MenhirLib.EngineTypes.startp = _startpos_x_;
17326 MenhirLib.EngineTypes.endp = _endpos_x_;
17327 MenhirLib.EngineTypes.next = _menhir_stack;
17328 };
17329 } = _menhir_stack in
17330 let xs : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic xs in
17331 let x : 'tv_dp_comma_args_TEllipsis_ = Obj.magic x in
17332 let _startpos = _startpos_x_ in
17333 let _endpos = _endpos_xs_ in
17334 let _v : 'tv_list_dp_comma_args_TEllipsis__ =
17335 # 116 "standard.mly"
17336 ( x :: xs )
17337 # 17338 "parser_cocci_menhir.ml"
17338 in
17339 _menhir_env.MenhirLib.EngineTypes.stack <- {
17340 MenhirLib.EngineTypes.state = _menhir_s;
17341 MenhirLib.EngineTypes.semv = Obj.repr _v;
17342 MenhirLib.EngineTypes.startp = _startpos;
17343 MenhirLib.EngineTypes.endp = _endpos;
17344 MenhirLib.EngineTypes.next = _menhir_stack;
17345 });
17346 (fun _menhir_env ->
17347 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17348 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17349 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17350 let _endpos = _startpos in
17351 let _v : 'tv_list_incl_ =
17352 # 114 "standard.mly"
17353 ( [] )
17354 # 17355 "parser_cocci_menhir.ml"
17355 in
17356 _menhir_env.MenhirLib.EngineTypes.stack <- {
17357 MenhirLib.EngineTypes.state = _menhir_s;
17358 MenhirLib.EngineTypes.semv = Obj.repr _v;
17359 MenhirLib.EngineTypes.startp = _startpos;
17360 MenhirLib.EngineTypes.endp = _endpos;
17361 MenhirLib.EngineTypes.next = _menhir_stack;
17362 });
17363 (fun _menhir_env ->
17364 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17365 let {
17366 MenhirLib.EngineTypes.semv = xs;
17367 MenhirLib.EngineTypes.startp = _startpos_xs_;
17368 MenhirLib.EngineTypes.endp = _endpos_xs_;
17369 MenhirLib.EngineTypes.next = {
17370 MenhirLib.EngineTypes.state = _menhir_s;
17371 MenhirLib.EngineTypes.semv = x;
17372 MenhirLib.EngineTypes.startp = _startpos_x_;
17373 MenhirLib.EngineTypes.endp = _endpos_x_;
17374 MenhirLib.EngineTypes.next = _menhir_stack;
17375 };
17376 } = _menhir_stack in
17377 let xs : 'tv_list_incl_ = Obj.magic xs in
17378 let x : 'tv_incl = Obj.magic x in
17379 let _startpos = _startpos_x_ in
17380 let _endpos = _endpos_xs_ in
17381 let _v : 'tv_list_incl_ =
17382 # 116 "standard.mly"
17383 ( x :: xs )
17384 # 17385 "parser_cocci_menhir.ml"
17385 in
17386 _menhir_env.MenhirLib.EngineTypes.stack <- {
17387 MenhirLib.EngineTypes.state = _menhir_s;
17388 MenhirLib.EngineTypes.semv = Obj.repr _v;
17389 MenhirLib.EngineTypes.startp = _startpos;
17390 MenhirLib.EngineTypes.endp = _endpos;
17391 MenhirLib.EngineTypes.next = _menhir_stack;
17392 });
17393 (fun _menhir_env ->
17394 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17395 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17396 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17397 let _endpos = _startpos in
17398 let _v : 'tv_list_iso_ctype__ =
17399 # 114 "standard.mly"
17400 ( [] )
17401 # 17402 "parser_cocci_menhir.ml"
17402 in
17403 _menhir_env.MenhirLib.EngineTypes.stack <- {
17404 MenhirLib.EngineTypes.state = _menhir_s;
17405 MenhirLib.EngineTypes.semv = Obj.repr _v;
17406 MenhirLib.EngineTypes.startp = _startpos;
17407 MenhirLib.EngineTypes.endp = _endpos;
17408 MenhirLib.EngineTypes.next = _menhir_stack;
17409 });
17410 (fun _menhir_env ->
17411 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17412 let {
17413 MenhirLib.EngineTypes.semv = xs;
17414 MenhirLib.EngineTypes.startp = _startpos_xs_;
17415 MenhirLib.EngineTypes.endp = _endpos_xs_;
17416 MenhirLib.EngineTypes.next = {
17417 MenhirLib.EngineTypes.state = _menhir_s;
17418 MenhirLib.EngineTypes.semv = x;
17419 MenhirLib.EngineTypes.startp = _startpos_x_;
17420 MenhirLib.EngineTypes.endp = _endpos_x_;
17421 MenhirLib.EngineTypes.next = _menhir_stack;
17422 };
17423 } = _menhir_stack in
17424 let xs : 'tv_list_iso_ctype__ = Obj.magic xs in
17425 let x : 'tv_iso_ctype_ = Obj.magic x in
17426 let _startpos = _startpos_x_ in
17427 let _endpos = _endpos_xs_ in
17428 let _v : 'tv_list_iso_ctype__ =
17429 # 116 "standard.mly"
17430 ( x :: xs )
17431 # 17432 "parser_cocci_menhir.ml"
17432 in
17433 _menhir_env.MenhirLib.EngineTypes.stack <- {
17434 MenhirLib.EngineTypes.state = _menhir_s;
17435 MenhirLib.EngineTypes.semv = Obj.repr _v;
17436 MenhirLib.EngineTypes.startp = _startpos;
17437 MenhirLib.EngineTypes.endp = _endpos;
17438 MenhirLib.EngineTypes.next = _menhir_stack;
17439 });
17440 (fun _menhir_env ->
17441 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17442 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17443 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17444 let _endpos = _startpos in
17445 let _v : 'tv_list_iso_decl_var__ =
17446 # 114 "standard.mly"
17447 ( [] )
17448 # 17449 "parser_cocci_menhir.ml"
17449 in
17450 _menhir_env.MenhirLib.EngineTypes.stack <- {
17451 MenhirLib.EngineTypes.state = _menhir_s;
17452 MenhirLib.EngineTypes.semv = Obj.repr _v;
17453 MenhirLib.EngineTypes.startp = _startpos;
17454 MenhirLib.EngineTypes.endp = _endpos;
17455 MenhirLib.EngineTypes.next = _menhir_stack;
17456 });
17457 (fun _menhir_env ->
17458 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17459 let {
17460 MenhirLib.EngineTypes.semv = xs;
17461 MenhirLib.EngineTypes.startp = _startpos_xs_;
17462 MenhirLib.EngineTypes.endp = _endpos_xs_;
17463 MenhirLib.EngineTypes.next = {
17464 MenhirLib.EngineTypes.state = _menhir_s;
17465 MenhirLib.EngineTypes.semv = x;
17466 MenhirLib.EngineTypes.startp = _startpos_x_;
17467 MenhirLib.EngineTypes.endp = _endpos_x_;
17468 MenhirLib.EngineTypes.next = _menhir_stack;
17469 };
17470 } = _menhir_stack in
17471 let xs : 'tv_list_iso_decl_var__ = Obj.magic xs in
17472 let x : 'tv_iso_decl_var_ = Obj.magic x in
17473 let _startpos = _startpos_x_ in
17474 let _endpos = _endpos_xs_ in
17475 let _v : 'tv_list_iso_decl_var__ =
17476 # 116 "standard.mly"
17477 ( x :: xs )
17478 # 17479 "parser_cocci_menhir.ml"
17479 in
17480 _menhir_env.MenhirLib.EngineTypes.stack <- {
17481 MenhirLib.EngineTypes.state = _menhir_s;
17482 MenhirLib.EngineTypes.semv = Obj.repr _v;
17483 MenhirLib.EngineTypes.startp = _startpos;
17484 MenhirLib.EngineTypes.endp = _endpos;
17485 MenhirLib.EngineTypes.next = _menhir_stack;
17486 });
17487 (fun _menhir_env ->
17488 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17489 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17490 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17491 let _endpos = _startpos in
17492 let _v : 'tv_list_iso_eexpr__ =
17493 # 114 "standard.mly"
17494 ( [] )
17495 # 17496 "parser_cocci_menhir.ml"
17496 in
17497 _menhir_env.MenhirLib.EngineTypes.stack <- {
17498 MenhirLib.EngineTypes.state = _menhir_s;
17499 MenhirLib.EngineTypes.semv = Obj.repr _v;
17500 MenhirLib.EngineTypes.startp = _startpos;
17501 MenhirLib.EngineTypes.endp = _endpos;
17502 MenhirLib.EngineTypes.next = _menhir_stack;
17503 });
17504 (fun _menhir_env ->
17505 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17506 let {
17507 MenhirLib.EngineTypes.semv = xs;
17508 MenhirLib.EngineTypes.startp = _startpos_xs_;
17509 MenhirLib.EngineTypes.endp = _endpos_xs_;
17510 MenhirLib.EngineTypes.next = {
17511 MenhirLib.EngineTypes.state = _menhir_s;
17512 MenhirLib.EngineTypes.semv = x;
17513 MenhirLib.EngineTypes.startp = _startpos_x_;
17514 MenhirLib.EngineTypes.endp = _endpos_x_;
17515 MenhirLib.EngineTypes.next = _menhir_stack;
17516 };
17517 } = _menhir_stack in
17518 let xs : 'tv_list_iso_eexpr__ = Obj.magic xs in
17519 let x : 'tv_iso_eexpr_ = Obj.magic x in
17520 let _startpos = _startpos_x_ in
17521 let _endpos = _endpos_xs_ in
17522 let _v : 'tv_list_iso_eexpr__ =
17523 # 116 "standard.mly"
17524 ( x :: xs )
17525 # 17526 "parser_cocci_menhir.ml"
17526 in
17527 _menhir_env.MenhirLib.EngineTypes.stack <- {
17528 MenhirLib.EngineTypes.state = _menhir_s;
17529 MenhirLib.EngineTypes.semv = Obj.repr _v;
17530 MenhirLib.EngineTypes.startp = _startpos;
17531 MenhirLib.EngineTypes.endp = _endpos;
17532 MenhirLib.EngineTypes.next = _menhir_stack;
17533 });
17534 (fun _menhir_env ->
17535 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17536 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17537 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17538 let _endpos = _startpos in
17539 let _v : 'tv_list_iso_nest_start__ =
17540 # 114 "standard.mly"
17541 ( [] )
17542 # 17543 "parser_cocci_menhir.ml"
17543 in
17544 _menhir_env.MenhirLib.EngineTypes.stack <- {
17545 MenhirLib.EngineTypes.state = _menhir_s;
17546 MenhirLib.EngineTypes.semv = Obj.repr _v;
17547 MenhirLib.EngineTypes.startp = _startpos;
17548 MenhirLib.EngineTypes.endp = _endpos;
17549 MenhirLib.EngineTypes.next = _menhir_stack;
17550 });
17551 (fun _menhir_env ->
17552 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17553 let {
17554 MenhirLib.EngineTypes.semv = xs;
17555 MenhirLib.EngineTypes.startp = _startpos_xs_;
17556 MenhirLib.EngineTypes.endp = _endpos_xs_;
17557 MenhirLib.EngineTypes.next = {
17558 MenhirLib.EngineTypes.state = _menhir_s;
17559 MenhirLib.EngineTypes.semv = x;
17560 MenhirLib.EngineTypes.startp = _startpos_x_;
17561 MenhirLib.EngineTypes.endp = _endpos_x_;
17562 MenhirLib.EngineTypes.next = _menhir_stack;
17563 };
17564 } = _menhir_stack in
17565 let xs : 'tv_list_iso_nest_start__ = Obj.magic xs in
17566 let x : 'tv_iso_nest_start_ = Obj.magic x in
17567 let _startpos = _startpos_x_ in
17568 let _endpos = _endpos_xs_ in
17569 let _v : 'tv_list_iso_nest_start__ =
17570 # 116 "standard.mly"
17571 ( x :: xs )
17572 # 17573 "parser_cocci_menhir.ml"
17573 in
17574 _menhir_env.MenhirLib.EngineTypes.stack <- {
17575 MenhirLib.EngineTypes.state = _menhir_s;
17576 MenhirLib.EngineTypes.semv = Obj.repr _v;
17577 MenhirLib.EngineTypes.startp = _startpos;
17578 MenhirLib.EngineTypes.endp = _endpos;
17579 MenhirLib.EngineTypes.next = _menhir_stack;
17580 });
17581 (fun _menhir_env ->
17582 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17583 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17584 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17585 let _endpos = _startpos in
17586 let _v : 'tv_list_iso_single_statement__ =
17587 # 114 "standard.mly"
17588 ( [] )
17589 # 17590 "parser_cocci_menhir.ml"
17590 in
17591 _menhir_env.MenhirLib.EngineTypes.stack <- {
17592 MenhirLib.EngineTypes.state = _menhir_s;
17593 MenhirLib.EngineTypes.semv = Obj.repr _v;
17594 MenhirLib.EngineTypes.startp = _startpos;
17595 MenhirLib.EngineTypes.endp = _endpos;
17596 MenhirLib.EngineTypes.next = _menhir_stack;
17597 });
17598 (fun _menhir_env ->
17599 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17600 let {
17601 MenhirLib.EngineTypes.semv = xs;
17602 MenhirLib.EngineTypes.startp = _startpos_xs_;
17603 MenhirLib.EngineTypes.endp = _endpos_xs_;
17604 MenhirLib.EngineTypes.next = {
17605 MenhirLib.EngineTypes.state = _menhir_s;
17606 MenhirLib.EngineTypes.semv = x;
17607 MenhirLib.EngineTypes.startp = _startpos_x_;
17608 MenhirLib.EngineTypes.endp = _endpos_x_;
17609 MenhirLib.EngineTypes.next = _menhir_stack;
17610 };
17611 } = _menhir_stack in
17612 let xs : 'tv_list_iso_single_statement__ = Obj.magic xs in
17613 let x : 'tv_iso_single_statement_ = Obj.magic x in
17614 let _startpos = _startpos_x_ in
17615 let _endpos = _endpos_xs_ in
17616 let _v : 'tv_list_iso_single_statement__ =
17617 # 116 "standard.mly"
17618 ( x :: xs )
17619 # 17620 "parser_cocci_menhir.ml"
17620 in
17621 _menhir_env.MenhirLib.EngineTypes.stack <- {
17622 MenhirLib.EngineTypes.state = _menhir_s;
17623 MenhirLib.EngineTypes.semv = Obj.repr _v;
17624 MenhirLib.EngineTypes.startp = _startpos;
17625 MenhirLib.EngineTypes.endp = _endpos;
17626 MenhirLib.EngineTypes.next = _menhir_stack;
17627 });
17628 (fun _menhir_env ->
17629 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17630 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17631 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17632 let _endpos = _startpos in
17633 let _v : 'tv_list_mzl_ctype__ =
17634 # 114 "standard.mly"
17635 ( [] )
17636 # 17637 "parser_cocci_menhir.ml"
17637 in
17638 _menhir_env.MenhirLib.EngineTypes.stack <- {
17639 MenhirLib.EngineTypes.state = _menhir_s;
17640 MenhirLib.EngineTypes.semv = Obj.repr _v;
17641 MenhirLib.EngineTypes.startp = _startpos;
17642 MenhirLib.EngineTypes.endp = _endpos;
17643 MenhirLib.EngineTypes.next = _menhir_stack;
17644 });
17645 (fun _menhir_env ->
17646 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17647 let {
17648 MenhirLib.EngineTypes.semv = xs;
17649 MenhirLib.EngineTypes.startp = _startpos_xs_;
17650 MenhirLib.EngineTypes.endp = _endpos_xs_;
17651 MenhirLib.EngineTypes.next = {
17652 MenhirLib.EngineTypes.state = _menhir_s;
17653 MenhirLib.EngineTypes.semv = x;
17654 MenhirLib.EngineTypes.startp = _startpos_x_;
17655 MenhirLib.EngineTypes.endp = _endpos_x_;
17656 MenhirLib.EngineTypes.next = _menhir_stack;
17657 };
17658 } = _menhir_stack in
17659 let xs : 'tv_list_mzl_ctype__ = Obj.magic xs in
17660 let x : 'tv_mzl_ctype_ = Obj.magic x in
17661 let _startpos = _startpos_x_ in
17662 let _endpos = _endpos_xs_ in
17663 let _v : 'tv_list_mzl_ctype__ =
17664 # 116 "standard.mly"
17665 ( x :: xs )
17666 # 17667 "parser_cocci_menhir.ml"
17667 in
17668 _menhir_env.MenhirLib.EngineTypes.stack <- {
17669 MenhirLib.EngineTypes.state = _menhir_s;
17670 MenhirLib.EngineTypes.semv = Obj.repr _v;
17671 MenhirLib.EngineTypes.startp = _startpos;
17672 MenhirLib.EngineTypes.endp = _endpos;
17673 MenhirLib.EngineTypes.next = _menhir_stack;
17674 });
17675 (fun _menhir_env ->
17676 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17677 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17678 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17679 let _endpos = _startpos in
17680 let _v : 'tv_list_mzl_eexpr__ =
17681 # 114 "standard.mly"
17682 ( [] )
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 = xs;
17696 MenhirLib.EngineTypes.startp = _startpos_xs_;
17697 MenhirLib.EngineTypes.endp = _endpos_xs_;
17698 MenhirLib.EngineTypes.next = {
17699 MenhirLib.EngineTypes.state = _menhir_s;
17700 MenhirLib.EngineTypes.semv = x;
17701 MenhirLib.EngineTypes.startp = _startpos_x_;
17702 MenhirLib.EngineTypes.endp = _endpos_x_;
17703 MenhirLib.EngineTypes.next = _menhir_stack;
17704 };
17705 } = _menhir_stack in
17706 let xs : 'tv_list_mzl_eexpr__ = Obj.magic xs in
17707 let x : 'tv_mzl_eexpr_ = Obj.magic x in
17708 let _startpos = _startpos_x_ in
17709 let _endpos = _endpos_xs_ in
17710 let _v : 'tv_list_mzl_eexpr__ =
17711 # 116 "standard.mly"
17712 ( x :: xs )
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 _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17725 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17726 let _endpos = _startpos in
17727 let _v : 'tv_list_mzl_fun_after_dots_or__ =
17728 # 114 "standard.mly"
17729 ( [] )
17730 # 17731 "parser_cocci_menhir.ml"
17731 in
17732 _menhir_env.MenhirLib.EngineTypes.stack <- {
17733 MenhirLib.EngineTypes.state = _menhir_s;
17734 MenhirLib.EngineTypes.semv = Obj.repr _v;
17735 MenhirLib.EngineTypes.startp = _startpos;
17736 MenhirLib.EngineTypes.endp = _endpos;
17737 MenhirLib.EngineTypes.next = _menhir_stack;
17738 });
17739 (fun _menhir_env ->
17740 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17741 let {
17742 MenhirLib.EngineTypes.semv = xs;
17743 MenhirLib.EngineTypes.startp = _startpos_xs_;
17744 MenhirLib.EngineTypes.endp = _endpos_xs_;
17745 MenhirLib.EngineTypes.next = {
17746 MenhirLib.EngineTypes.state = _menhir_s;
17747 MenhirLib.EngineTypes.semv = x;
17748 MenhirLib.EngineTypes.startp = _startpos_x_;
17749 MenhirLib.EngineTypes.endp = _endpos_x_;
17750 MenhirLib.EngineTypes.next = _menhir_stack;
17751 };
17752 } = _menhir_stack in
17753 let xs : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic xs in
17754 let x : 'tv_mzl_fun_after_dots_or_ = Obj.magic x in
17755 let _startpos = _startpos_x_ in
17756 let _endpos = _endpos_xs_ in
17757 let _v : 'tv_list_mzl_fun_after_dots_or__ =
17758 # 116 "standard.mly"
17759 ( x :: xs )
17760 # 17761 "parser_cocci_menhir.ml"
17761 in
17762 _menhir_env.MenhirLib.EngineTypes.stack <- {
17763 MenhirLib.EngineTypes.state = _menhir_s;
17764 MenhirLib.EngineTypes.semv = Obj.repr _v;
17765 MenhirLib.EngineTypes.startp = _startpos;
17766 MenhirLib.EngineTypes.endp = _endpos;
17767 MenhirLib.EngineTypes.next = _menhir_stack;
17768 });
17769 (fun _menhir_env ->
17770 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17771 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17772 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17773 let _endpos = _startpos in
17774 let _v : 'tv_list_mzl_fun_start__ =
17775 # 114 "standard.mly"
17776 ( [] )
17777 # 17778 "parser_cocci_menhir.ml"
17778 in
17779 _menhir_env.MenhirLib.EngineTypes.stack <- {
17780 MenhirLib.EngineTypes.state = _menhir_s;
17781 MenhirLib.EngineTypes.semv = Obj.repr _v;
17782 MenhirLib.EngineTypes.startp = _startpos;
17783 MenhirLib.EngineTypes.endp = _endpos;
17784 MenhirLib.EngineTypes.next = _menhir_stack;
17785 });
17786 (fun _menhir_env ->
17787 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17788 let {
17789 MenhirLib.EngineTypes.semv = xs;
17790 MenhirLib.EngineTypes.startp = _startpos_xs_;
17791 MenhirLib.EngineTypes.endp = _endpos_xs_;
17792 MenhirLib.EngineTypes.next = {
17793 MenhirLib.EngineTypes.state = _menhir_s;
17794 MenhirLib.EngineTypes.semv = x;
17795 MenhirLib.EngineTypes.startp = _startpos_x_;
17796 MenhirLib.EngineTypes.endp = _endpos_x_;
17797 MenhirLib.EngineTypes.next = _menhir_stack;
17798 };
17799 } = _menhir_stack in
17800 let xs : 'tv_list_mzl_fun_start__ = Obj.magic xs in
17801 let x : 'tv_mzl_fun_start_ = Obj.magic x in
17802 let _startpos = _startpos_x_ in
17803 let _endpos = _endpos_xs_ in
17804 let _v : 'tv_list_mzl_fun_start__ =
17805 # 116 "standard.mly"
17806 ( x :: xs )
17807 # 17808 "parser_cocci_menhir.ml"
17808 in
17809 _menhir_env.MenhirLib.EngineTypes.stack <- {
17810 MenhirLib.EngineTypes.state = _menhir_s;
17811 MenhirLib.EngineTypes.semv = Obj.repr _v;
17812 MenhirLib.EngineTypes.startp = _startpos;
17813 MenhirLib.EngineTypes.endp = _endpos;
17814 MenhirLib.EngineTypes.next = _menhir_stack;
17815 });
17816 (fun _menhir_env ->
17817 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17818 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17819 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17820 let _endpos = _startpos in
17821 let _v : 'tv_list_mzl_rule_elem_statement__ =
17822 # 114 "standard.mly"
17823 ( [] )
17824 # 17825 "parser_cocci_menhir.ml"
17825 in
17826 _menhir_env.MenhirLib.EngineTypes.stack <- {
17827 MenhirLib.EngineTypes.state = _menhir_s;
17828 MenhirLib.EngineTypes.semv = Obj.repr _v;
17829 MenhirLib.EngineTypes.startp = _startpos;
17830 MenhirLib.EngineTypes.endp = _endpos;
17831 MenhirLib.EngineTypes.next = _menhir_stack;
17832 });
17833 (fun _menhir_env ->
17834 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17835 let {
17836 MenhirLib.EngineTypes.semv = xs;
17837 MenhirLib.EngineTypes.startp = _startpos_xs_;
17838 MenhirLib.EngineTypes.endp = _endpos_xs_;
17839 MenhirLib.EngineTypes.next = {
17840 MenhirLib.EngineTypes.state = _menhir_s;
17841 MenhirLib.EngineTypes.semv = x;
17842 MenhirLib.EngineTypes.startp = _startpos_x_;
17843 MenhirLib.EngineTypes.endp = _endpos_x_;
17844 MenhirLib.EngineTypes.next = _menhir_stack;
17845 };
17846 } = _menhir_stack in
17847 let xs : 'tv_list_mzl_rule_elem_statement__ = Obj.magic xs in
17848 let x : 'tv_mzl_rule_elem_statement_ = Obj.magic x in
17849 let _startpos = _startpos_x_ in
17850 let _endpos = _endpos_xs_ in
17851 let _v : 'tv_list_mzl_rule_elem_statement__ =
17852 # 116 "standard.mly"
17853 ( x :: xs )
17854 # 17855 "parser_cocci_menhir.ml"
17855 in
17856 _menhir_env.MenhirLib.EngineTypes.stack <- {
17857 MenhirLib.EngineTypes.state = _menhir_s;
17858 MenhirLib.EngineTypes.semv = Obj.repr _v;
17859 MenhirLib.EngineTypes.startp = _startpos;
17860 MenhirLib.EngineTypes.endp = _endpos;
17861 MenhirLib.EngineTypes.next = _menhir_stack;
17862 });
17863 (fun _menhir_env ->
17864 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17865 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17866 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17867 let _endpos = _startpos in
17868 let _v : 'tv_list_mzl_statement__ =
17869 # 114 "standard.mly"
17870 ( [] )
17871 # 17872 "parser_cocci_menhir.ml"
17872 in
17873 _menhir_env.MenhirLib.EngineTypes.stack <- {
17874 MenhirLib.EngineTypes.state = _menhir_s;
17875 MenhirLib.EngineTypes.semv = Obj.repr _v;
17876 MenhirLib.EngineTypes.startp = _startpos;
17877 MenhirLib.EngineTypes.endp = _endpos;
17878 MenhirLib.EngineTypes.next = _menhir_stack;
17879 });
17880 (fun _menhir_env ->
17881 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17882 let {
17883 MenhirLib.EngineTypes.semv = xs;
17884 MenhirLib.EngineTypes.startp = _startpos_xs_;
17885 MenhirLib.EngineTypes.endp = _endpos_xs_;
17886 MenhirLib.EngineTypes.next = {
17887 MenhirLib.EngineTypes.state = _menhir_s;
17888 MenhirLib.EngineTypes.semv = x;
17889 MenhirLib.EngineTypes.startp = _startpos_x_;
17890 MenhirLib.EngineTypes.endp = _endpos_x_;
17891 MenhirLib.EngineTypes.next = _menhir_stack;
17892 };
17893 } = _menhir_stack in
17894 let xs : 'tv_list_mzl_statement__ = Obj.magic xs in
17895 let x : 'tv_mzl_statement_ = Obj.magic x in
17896 let _startpos = _startpos_x_ in
17897 let _endpos = _endpos_xs_ in
17898 let _v : 'tv_list_mzl_statement__ =
17899 # 116 "standard.mly"
17900 ( x :: xs )
17901 # 17902 "parser_cocci_menhir.ml"
17902 in
17903 _menhir_env.MenhirLib.EngineTypes.stack <- {
17904 MenhirLib.EngineTypes.state = _menhir_s;
17905 MenhirLib.EngineTypes.semv = Obj.repr _v;
17906 MenhirLib.EngineTypes.startp = _startpos;
17907 MenhirLib.EngineTypes.endp = _endpos;
17908 MenhirLib.EngineTypes.next = _menhir_stack;
17909 });
17910 (fun _menhir_env ->
17911 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17912 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17913 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17914 let _endpos = _startpos in
17915 let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ =
17916 # 114 "standard.mly"
17917 ( [] )
17918 # 17919 "parser_cocci_menhir.ml"
17919 in
17920 _menhir_env.MenhirLib.EngineTypes.stack <- {
17921 MenhirLib.EngineTypes.state = _menhir_s;
17922 MenhirLib.EngineTypes.semv = Obj.repr _v;
17923 MenhirLib.EngineTypes.startp = _startpos;
17924 MenhirLib.EngineTypes.endp = _endpos;
17925 MenhirLib.EngineTypes.next = _menhir_stack;
17926 });
17927 (fun _menhir_env ->
17928 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17929 let {
17930 MenhirLib.EngineTypes.semv = xs;
17931 MenhirLib.EngineTypes.startp = _startpos_xs_;
17932 MenhirLib.EngineTypes.endp = _endpos_xs_;
17933 MenhirLib.EngineTypes.next = {
17934 MenhirLib.EngineTypes.semv = y0;
17935 MenhirLib.EngineTypes.startp = _startpos_y0_;
17936 MenhirLib.EngineTypes.endp = _endpos_y0_;
17937 MenhirLib.EngineTypes.next = {
17938 MenhirLib.EngineTypes.state = _menhir_s;
17939 MenhirLib.EngineTypes.semv = x0;
17940 MenhirLib.EngineTypes.startp = _startpos_x0_;
17941 MenhirLib.EngineTypes.endp = _endpos_x0_;
17942 MenhirLib.EngineTypes.next = _menhir_stack;
17943 };
17944 };
17945 } = _menhir_stack in
17946 let xs : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic xs in
17947 let y0 : 'tv_dexpr = Obj.magic y0 in
17948 let x0 : 'tv_edots_when_TEllipsis_eexpr_ = Obj.magic x0 in
17949 let _startpos = _startpos_x0_ in
17950 let _endpos = _endpos_xs_ in
17951 let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = let x =
17952 let y = y0 in
17953 let x = x0 in
17954
17955 # 70 "standard.mly"
17956 ( (x, y) )
17957 # 17958 "parser_cocci_menhir.ml"
17958
17959 in
17960
17961 # 116 "standard.mly"
17962 ( x :: xs )
17963 # 17964 "parser_cocci_menhir.ml"
17964 in
17965 _menhir_env.MenhirLib.EngineTypes.stack <- {
17966 MenhirLib.EngineTypes.state = _menhir_s;
17967 MenhirLib.EngineTypes.semv = Obj.repr _v;
17968 MenhirLib.EngineTypes.startp = _startpos;
17969 MenhirLib.EngineTypes.endp = _endpos;
17970 MenhirLib.EngineTypes.next = _menhir_stack;
17971 });
17972 (fun _menhir_env ->
17973 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17974 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17975 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17976 let _endpos = _startpos in
17977 let _v : 'tv_list_whenppdecs_ =
17978 # 114 "standard.mly"
17979 ( [] )
17980 # 17981 "parser_cocci_menhir.ml"
17981 in
17982 _menhir_env.MenhirLib.EngineTypes.stack <- {
17983 MenhirLib.EngineTypes.state = _menhir_s;
17984 MenhirLib.EngineTypes.semv = Obj.repr _v;
17985 MenhirLib.EngineTypes.startp = _startpos;
17986 MenhirLib.EngineTypes.endp = _endpos;
17987 MenhirLib.EngineTypes.next = _menhir_stack;
17988 });
17989 (fun _menhir_env ->
17990 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17991 let {
17992 MenhirLib.EngineTypes.semv = xs;
17993 MenhirLib.EngineTypes.startp = _startpos_xs_;
17994 MenhirLib.EngineTypes.endp = _endpos_xs_;
17995 MenhirLib.EngineTypes.next = {
17996 MenhirLib.EngineTypes.state = _menhir_s;
17997 MenhirLib.EngineTypes.semv = x;
17998 MenhirLib.EngineTypes.startp = _startpos_x_;
17999 MenhirLib.EngineTypes.endp = _endpos_x_;
18000 MenhirLib.EngineTypes.next = _menhir_stack;
18001 };
18002 } = _menhir_stack in
18003 let xs : 'tv_list_whenppdecs_ = Obj.magic xs in
18004 let x : 'tv_whenppdecs = Obj.magic x in
18005 let _startpos = _startpos_x_ in
18006 let _endpos = _endpos_xs_ in
18007 let _v : 'tv_list_whenppdecs_ =
18008 # 116 "standard.mly"
18009 ( x :: xs )
18010 # 18011 "parser_cocci_menhir.ml"
18011 in
18012 _menhir_env.MenhirLib.EngineTypes.stack <- {
18013 MenhirLib.EngineTypes.state = _menhir_s;
18014 MenhirLib.EngineTypes.semv = Obj.repr _v;
18015 MenhirLib.EngineTypes.startp = _startpos;
18016 MenhirLib.EngineTypes.endp = _endpos;
18017 MenhirLib.EngineTypes.next = _menhir_stack;
18018 });
18019 (fun _menhir_env ->
18020 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18021 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18022 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18023 let _endpos = _startpos in
18024 let _v : 'tv_loption_choose_iso_ =
18025 # 57 "standard.mly"
18026 ( [] )
18027 # 18028 "parser_cocci_menhir.ml"
18028 in
18029 _menhir_env.MenhirLib.EngineTypes.stack <- {
18030 MenhirLib.EngineTypes.state = _menhir_s;
18031 MenhirLib.EngineTypes.semv = Obj.repr _v;
18032 MenhirLib.EngineTypes.startp = _startpos;
18033 MenhirLib.EngineTypes.endp = _endpos;
18034 MenhirLib.EngineTypes.next = _menhir_stack;
18035 });
18036 (fun _menhir_env ->
18037 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18038 let {
18039 MenhirLib.EngineTypes.state = _menhir_s;
18040 MenhirLib.EngineTypes.semv = x;
18041 MenhirLib.EngineTypes.startp = _startpos_x_;
18042 MenhirLib.EngineTypes.endp = _endpos_x_;
18043 MenhirLib.EngineTypes.next = _menhir_stack;
18044 } = _menhir_stack in
18045 let x : 'tv_choose_iso = Obj.magic x in
18046 let _startpos = _startpos_x_ in
18047 let _endpos = _endpos_x_ in
18048 let _v : 'tv_loption_choose_iso_ =
18049 # 59 "standard.mly"
18050 ( x )
18051 # 18052 "parser_cocci_menhir.ml"
18052 in
18053 _menhir_env.MenhirLib.EngineTypes.stack <- {
18054 MenhirLib.EngineTypes.state = _menhir_s;
18055 MenhirLib.EngineTypes.semv = Obj.repr _v;
18056 MenhirLib.EngineTypes.startp = _startpos;
18057 MenhirLib.EngineTypes.endp = _endpos;
18058 MenhirLib.EngineTypes.next = _menhir_stack;
18059 });
18060 (fun _menhir_env ->
18061 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18062 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18063 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18064 let _endpos = _startpos in
18065 let _v : 'tv_loption_disable_ =
18066 # 57 "standard.mly"
18067 ( [] )
18068 # 18069 "parser_cocci_menhir.ml"
18069 in
18070 _menhir_env.MenhirLib.EngineTypes.stack <- {
18071 MenhirLib.EngineTypes.state = _menhir_s;
18072 MenhirLib.EngineTypes.semv = Obj.repr _v;
18073 MenhirLib.EngineTypes.startp = _startpos;
18074 MenhirLib.EngineTypes.endp = _endpos;
18075 MenhirLib.EngineTypes.next = _menhir_stack;
18076 });
18077 (fun _menhir_env ->
18078 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18079 let {
18080 MenhirLib.EngineTypes.state = _menhir_s;
18081 MenhirLib.EngineTypes.semv = x;
18082 MenhirLib.EngineTypes.startp = _startpos_x_;
18083 MenhirLib.EngineTypes.endp = _endpos_x_;
18084 MenhirLib.EngineTypes.next = _menhir_stack;
18085 } = _menhir_stack in
18086 let x : 'tv_disable = Obj.magic x in
18087 let _startpos = _startpos_x_ in
18088 let _endpos = _endpos_x_ in
18089 let _v : 'tv_loption_disable_ =
18090 # 59 "standard.mly"
18091 ( x )
18092 # 18093 "parser_cocci_menhir.ml"
18093 in
18094 _menhir_env.MenhirLib.EngineTypes.stack <- {
18095 MenhirLib.EngineTypes.state = _menhir_s;
18096 MenhirLib.EngineTypes.semv = Obj.repr _v;
18097 MenhirLib.EngineTypes.startp = _startpos;
18098 MenhirLib.EngineTypes.endp = _endpos;
18099 MenhirLib.EngineTypes.next = _menhir_stack;
18100 });
18101 (fun _menhir_env ->
18102 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18103 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18104 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18105 let _endpos = _startpos in
18106 let _v : 'tv_loption_filespec_ =
18107 # 57 "standard.mly"
18108 ( [] )
18109 # 18110 "parser_cocci_menhir.ml"
18110 in
18111 _menhir_env.MenhirLib.EngineTypes.stack <- {
18112 MenhirLib.EngineTypes.state = _menhir_s;
18113 MenhirLib.EngineTypes.semv = Obj.repr _v;
18114 MenhirLib.EngineTypes.startp = _startpos;
18115 MenhirLib.EngineTypes.endp = _endpos;
18116 MenhirLib.EngineTypes.next = _menhir_stack;
18117 });
18118 (fun _menhir_env ->
18119 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18120 let {
18121 MenhirLib.EngineTypes.state = _menhir_s;
18122 MenhirLib.EngineTypes.semv = x;
18123 MenhirLib.EngineTypes.startp = _startpos_x_;
18124 MenhirLib.EngineTypes.endp = _endpos_x_;
18125 MenhirLib.EngineTypes.next = _menhir_stack;
18126 } = _menhir_stack in
18127 let x : 'tv_filespec = Obj.magic x in
18128 let _startpos = _startpos_x_ in
18129 let _endpos = _endpos_x_ in
18130 let _v : 'tv_loption_filespec_ =
18131 # 59 "standard.mly"
18132 ( x )
18133 # 18134 "parser_cocci_menhir.ml"
18134 in
18135 _menhir_env.MenhirLib.EngineTypes.stack <- {
18136 MenhirLib.EngineTypes.state = _menhir_s;
18137 MenhirLib.EngineTypes.semv = Obj.repr _v;
18138 MenhirLib.EngineTypes.startp = _startpos;
18139 MenhirLib.EngineTypes.endp = _endpos;
18140 MenhirLib.EngineTypes.next = _menhir_stack;
18141 });
18142 (fun _menhir_env ->
18143 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18144 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18145 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18146 let _endpos = _startpos in
18147 let _v : 'tv_loption_minus_start_ =
18148 # 57 "standard.mly"
18149 ( [] )
18150 # 18151 "parser_cocci_menhir.ml"
18151 in
18152 _menhir_env.MenhirLib.EngineTypes.stack <- {
18153 MenhirLib.EngineTypes.state = _menhir_s;
18154 MenhirLib.EngineTypes.semv = Obj.repr _v;
18155 MenhirLib.EngineTypes.startp = _startpos;
18156 MenhirLib.EngineTypes.endp = _endpos;
18157 MenhirLib.EngineTypes.next = _menhir_stack;
18158 });
18159 (fun _menhir_env ->
18160 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18161 let {
18162 MenhirLib.EngineTypes.state = _menhir_s;
18163 MenhirLib.EngineTypes.semv = x;
18164 MenhirLib.EngineTypes.startp = _startpos_x_;
18165 MenhirLib.EngineTypes.endp = _endpos_x_;
18166 MenhirLib.EngineTypes.next = _menhir_stack;
18167 } = _menhir_stack in
18168 let x : 'tv_minus_start = Obj.magic x in
18169 let _startpos = _startpos_x_ in
18170 let _endpos = _endpos_x_ in
18171 let _v : 'tv_loption_minus_start_ =
18172 # 59 "standard.mly"
18173 ( x )
18174 # 18175 "parser_cocci_menhir.ml"
18175 in
18176 _menhir_env.MenhirLib.EngineTypes.stack <- {
18177 MenhirLib.EngineTypes.state = _menhir_s;
18178 MenhirLib.EngineTypes.semv = Obj.repr _v;
18179 MenhirLib.EngineTypes.startp = _startpos;
18180 MenhirLib.EngineTypes.endp = _endpos;
18181 MenhirLib.EngineTypes.next = _menhir_stack;
18182 });
18183 (fun _menhir_env ->
18184 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18185 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18186 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18187 let _endpos = _startpos in
18188 let _v : 'tv_loption_not_pos_ =
18189 # 57 "standard.mly"
18190 ( [] )
18191 # 18192 "parser_cocci_menhir.ml"
18192 in
18193 _menhir_env.MenhirLib.EngineTypes.stack <- {
18194 MenhirLib.EngineTypes.state = _menhir_s;
18195 MenhirLib.EngineTypes.semv = Obj.repr _v;
18196 MenhirLib.EngineTypes.startp = _startpos;
18197 MenhirLib.EngineTypes.endp = _endpos;
18198 MenhirLib.EngineTypes.next = _menhir_stack;
18199 });
18200 (fun _menhir_env ->
18201 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18202 let {
18203 MenhirLib.EngineTypes.state = _menhir_s;
18204 MenhirLib.EngineTypes.semv = x;
18205 MenhirLib.EngineTypes.startp = _startpos_x_;
18206 MenhirLib.EngineTypes.endp = _endpos_x_;
18207 MenhirLib.EngineTypes.next = _menhir_stack;
18208 } = _menhir_stack in
18209 let x : 'tv_not_pos = Obj.magic x in
18210 let _startpos = _startpos_x_ in
18211 let _endpos = _endpos_x_ in
18212 let _v : 'tv_loption_not_pos_ =
18213 # 59 "standard.mly"
18214 ( x )
18215 # 18216 "parser_cocci_menhir.ml"
18216 in
18217 _menhir_env.MenhirLib.EngineTypes.stack <- {
18218 MenhirLib.EngineTypes.state = _menhir_s;
18219 MenhirLib.EngineTypes.semv = Obj.repr _v;
18220 MenhirLib.EngineTypes.startp = _startpos;
18221 MenhirLib.EngineTypes.endp = _endpos;
18222 MenhirLib.EngineTypes.next = _menhir_stack;
18223 });
18224 (fun _menhir_env ->
18225 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18226 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18227 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18228 let _endpos = _startpos in
18229 let _v : 'tv_loption_plus_start_ =
18230 # 57 "standard.mly"
18231 ( [] )
18232 # 18233 "parser_cocci_menhir.ml"
18233 in
18234 _menhir_env.MenhirLib.EngineTypes.stack <- {
18235 MenhirLib.EngineTypes.state = _menhir_s;
18236 MenhirLib.EngineTypes.semv = Obj.repr _v;
18237 MenhirLib.EngineTypes.startp = _startpos;
18238 MenhirLib.EngineTypes.endp = _endpos;
18239 MenhirLib.EngineTypes.next = _menhir_stack;
18240 });
18241 (fun _menhir_env ->
18242 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18243 let {
18244 MenhirLib.EngineTypes.state = _menhir_s;
18245 MenhirLib.EngineTypes.semv = x;
18246 MenhirLib.EngineTypes.startp = _startpos_x_;
18247 MenhirLib.EngineTypes.endp = _endpos_x_;
18248 MenhirLib.EngineTypes.next = _menhir_stack;
18249 } = _menhir_stack in
18250 let x : 'tv_plus_start = Obj.magic x in
18251 let _startpos = _startpos_x_ in
18252 let _endpos = _endpos_x_ in
18253 let _v : 'tv_loption_plus_start_ =
18254 # 59 "standard.mly"
18255 ( x )
18256 # 18257 "parser_cocci_menhir.ml"
18257 in
18258 _menhir_env.MenhirLib.EngineTypes.stack <- {
18259 MenhirLib.EngineTypes.state = _menhir_s;
18260 MenhirLib.EngineTypes.semv = Obj.repr _v;
18261 MenhirLib.EngineTypes.startp = _startpos;
18262 MenhirLib.EngineTypes.endp = _endpos;
18263 MenhirLib.EngineTypes.next = _menhir_stack;
18264 });
18265 (fun _menhir_env ->
18266 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18267 let {
18268 MenhirLib.EngineTypes.state = _menhir_s;
18269 MenhirLib.EngineTypes.semv = t;
18270 MenhirLib.EngineTypes.startp = _startpos_t_;
18271 MenhirLib.EngineTypes.endp = _endpos_t_;
18272 MenhirLib.EngineTypes.next = _menhir_stack;
18273 } = _menhir_stack in
18274 let t : 'tv_typedef_ctype = Obj.magic t in
18275 let _startpos = _startpos_t_ in
18276 let _endpos = _endpos_t_ in
18277 let _v : 'tv_meta_exp_type =
18278 # 493 "parser_cocci_menhir.mly"
18279 ( [Ast0_cocci.ast0_type_to_type t] )
18280 # 18281 "parser_cocci_menhir.ml"
18281 in
18282 _menhir_env.MenhirLib.EngineTypes.stack <- {
18283 MenhirLib.EngineTypes.state = _menhir_s;
18284 MenhirLib.EngineTypes.semv = Obj.repr _v;
18285 MenhirLib.EngineTypes.startp = _startpos;
18286 MenhirLib.EngineTypes.endp = _endpos;
18287 MenhirLib.EngineTypes.next = _menhir_stack;
18288 });
18289 (fun _menhir_env ->
18290 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18291 let {
18292 MenhirLib.EngineTypes.semv = m;
18293 MenhirLib.EngineTypes.startp = _startpos_m_;
18294 MenhirLib.EngineTypes.endp = _endpos_m_;
18295 MenhirLib.EngineTypes.next = {
18296 MenhirLib.EngineTypes.startp = _startpos__3_;
18297 MenhirLib.EngineTypes.endp = _endpos__3_;
18298 MenhirLib.EngineTypes.next = {
18299 MenhirLib.EngineTypes.semv = t;
18300 MenhirLib.EngineTypes.startp = _startpos_t_;
18301 MenhirLib.EngineTypes.endp = _endpos_t_;
18302 MenhirLib.EngineTypes.next = {
18303 MenhirLib.EngineTypes.state = _menhir_s;
18304 MenhirLib.EngineTypes.startp = _startpos__1_;
18305 MenhirLib.EngineTypes.endp = _endpos__1_;
18306 MenhirLib.EngineTypes.next = _menhir_stack;
18307 };
18308 };
18309 };
18310 } = _menhir_stack in
18311 let m : 'tv_list_TMul_ = Obj.magic m in
18312 let t : 'tv_comma_list_ctype_ = Obj.magic t in
18313 let _startpos = _startpos__1_ in
18314 let _endpos = _endpos_m_ in
18315 let _v : 'tv_meta_exp_type =
18316 # 495 "parser_cocci_menhir.mly"
18317 ( List.map
18318 (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
18319 t )
18320 # 18321 "parser_cocci_menhir.ml"
18321 in
18322 _menhir_env.MenhirLib.EngineTypes.stack <- {
18323 MenhirLib.EngineTypes.state = _menhir_s;
18324 MenhirLib.EngineTypes.semv = Obj.repr _v;
18325 MenhirLib.EngineTypes.startp = _startpos;
18326 MenhirLib.EngineTypes.endp = _endpos;
18327 MenhirLib.EngineTypes.next = _menhir_stack;
18328 });
18329 (fun _menhir_env ->
18330 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18331 let {
18332 MenhirLib.EngineTypes.semv = _3;
18333 MenhirLib.EngineTypes.startp = _startpos__3_;
18334 MenhirLib.EngineTypes.endp = _endpos__3_;
18335 MenhirLib.EngineTypes.next = {
18336 MenhirLib.EngineTypes.startp = _startpos__2_;
18337 MenhirLib.EngineTypes.endp = _endpos__2_;
18338 MenhirLib.EngineTypes.next = {
18339 MenhirLib.EngineTypes.state = _menhir_s;
18340 MenhirLib.EngineTypes.semv = _1;
18341 MenhirLib.EngineTypes.startp = _startpos__1_;
18342 MenhirLib.EngineTypes.endp = _endpos__1_;
18343 MenhirLib.EngineTypes.next = _menhir_stack;
18344 };
18345 };
18346 } = _menhir_stack in
18347 let _3 : 'tv_pure_ident = Obj.magic _3 in
18348 let _1 : (
18349 # 49 "parser_cocci_menhir.mly"
18350 (string)
18351 # 18352 "parser_cocci_menhir.ml"
18352 ) = Obj.magic _1 in
18353 let _startpos = _startpos__1_ in
18354 let _endpos = _endpos__3_ in
18355 let _v : 'tv_meta_ident =
18356 # 1456 "parser_cocci_menhir.mly"
18357 ( (Some _1,P.id2name _3) )
18358 # 18359 "parser_cocci_menhir.ml"
18359 in
18360 _menhir_env.MenhirLib.EngineTypes.stack <- {
18361 MenhirLib.EngineTypes.state = _menhir_s;
18362 MenhirLib.EngineTypes.semv = Obj.repr _v;
18363 MenhirLib.EngineTypes.startp = _startpos;
18364 MenhirLib.EngineTypes.endp = _endpos;
18365 MenhirLib.EngineTypes.next = _menhir_stack;
18366 });
18367 (fun _menhir_env ->
18368 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18369 let {
18370 MenhirLib.EngineTypes.semv = _3;
18371 MenhirLib.EngineTypes.startp = _startpos__3_;
18372 MenhirLib.EngineTypes.endp = _endpos__3_;
18373 MenhirLib.EngineTypes.next = {
18374 MenhirLib.EngineTypes.startp = _startpos__2_;
18375 MenhirLib.EngineTypes.endp = _endpos__2_;
18376 MenhirLib.EngineTypes.next = {
18377 MenhirLib.EngineTypes.state = _menhir_s;
18378 MenhirLib.EngineTypes.semv = _1;
18379 MenhirLib.EngineTypes.startp = _startpos__1_;
18380 MenhirLib.EngineTypes.endp = _endpos__1_;
18381 MenhirLib.EngineTypes.next = _menhir_stack;
18382 };
18383 };
18384 } = _menhir_stack in
18385 let _3 : 'tv_pure_ident_kwd = Obj.magic _3 in
18386 let _1 : (
18387 # 49 "parser_cocci_menhir.mly"
18388 (string)
18389 # 18390 "parser_cocci_menhir.ml"
18390 ) = Obj.magic _1 in
18391 let _startpos = _startpos__1_ in
18392 let _endpos = _endpos__3_ in
18393 let _v : 'tv_meta_ident =
18394 # 1457 "parser_cocci_menhir.mly"
18395 ( (Some _1,_3) )
18396 # 18397 "parser_cocci_menhir.ml"
18397 in
18398 _menhir_env.MenhirLib.EngineTypes.stack <- {
18399 MenhirLib.EngineTypes.state = _menhir_s;
18400 MenhirLib.EngineTypes.semv = Obj.repr _v;
18401 MenhirLib.EngineTypes.startp = _startpos;
18402 MenhirLib.EngineTypes.endp = _endpos;
18403 MenhirLib.EngineTypes.next = _menhir_stack;
18404 });
18405 (fun _menhir_env ->
18406 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18407 let {
18408 MenhirLib.EngineTypes.state = _menhir_s;
18409 MenhirLib.EngineTypes.semv = m;
18410 MenhirLib.EngineTypes.startp = _startpos_m_;
18411 MenhirLib.EngineTypes.endp = _endpos_m_;
18412 MenhirLib.EngineTypes.next = _menhir_stack;
18413 } = _menhir_stack in
18414 let m : 'tv_metadec = Obj.magic m in
18415 let _startpos = _startpos_m_ in
18416 let _endpos = _endpos_m_ in
18417 let _v : (
18418 # 160 "parser_cocci_menhir.mly"
18419 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
18420 # 18421 "parser_cocci_menhir.ml"
18421 ) =
18422 # 184 "parser_cocci_menhir.mly"
18423 ( m (!Ast0.rule_name) )
18424 # 18425 "parser_cocci_menhir.ml"
18425 in
18426 _menhir_env.MenhirLib.EngineTypes.stack <- {
18427 MenhirLib.EngineTypes.state = _menhir_s;
18428 MenhirLib.EngineTypes.semv = Obj.repr _v;
18429 MenhirLib.EngineTypes.startp = _startpos;
18430 MenhirLib.EngineTypes.endp = _endpos;
18431 MenhirLib.EngineTypes.next = _menhir_stack;
18432 });
18433 (fun _menhir_env ->
18434 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18435 let {
18436 MenhirLib.EngineTypes.startp = _startpos__5_;
18437 MenhirLib.EngineTypes.endp = _endpos__5_;
18438 MenhirLib.EngineTypes.next = {
18439 MenhirLib.EngineTypes.semv = ids;
18440 MenhirLib.EngineTypes.startp = _startpos_ids_;
18441 MenhirLib.EngineTypes.endp = _endpos_ids_;
18442 MenhirLib.EngineTypes.next = {
18443 MenhirLib.EngineTypes.startp = _startpos__3_;
18444 MenhirLib.EngineTypes.endp = _endpos__3_;
18445 MenhirLib.EngineTypes.next = {
18446 MenhirLib.EngineTypes.semv = ispure;
18447 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18448 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18449 MenhirLib.EngineTypes.next = {
18450 MenhirLib.EngineTypes.state = _menhir_s;
18451 MenhirLib.EngineTypes.semv = ar;
18452 MenhirLib.EngineTypes.startp = _startpos_ar_;
18453 MenhirLib.EngineTypes.endp = _endpos_ar_;
18454 MenhirLib.EngineTypes.next = _menhir_stack;
18455 };
18456 };
18457 };
18458 };
18459 } = _menhir_stack in
18460 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18461 let ispure : 'tv_pure = Obj.magic ispure in
18462 let ar : 'tv_arity = Obj.magic ar in
18463 let _startpos = _startpos_ar_ in
18464 let _endpos = _endpos__5_ in
18465 let _v : 'tv_metadec = let kindfn =
18466
18467 # 342 "parser_cocci_menhir.mly"
18468 ( (fun arity name pure check_meta ->
18469 let tok = check_meta(Ast.MetaParamDecl(arity,name)) in
18470 !Data.add_param_meta name pure; tok) )
18471 # 18472 "parser_cocci_menhir.ml"
18472
18473 in
18474
18475 # 273 "parser_cocci_menhir.mly"
18476 ( P.create_metadec ar ispure kindfn ids )
18477 # 18478 "parser_cocci_menhir.ml"
18478 in
18479 _menhir_env.MenhirLib.EngineTypes.stack <- {
18480 MenhirLib.EngineTypes.state = _menhir_s;
18481 MenhirLib.EngineTypes.semv = Obj.repr _v;
18482 MenhirLib.EngineTypes.startp = _startpos;
18483 MenhirLib.EngineTypes.endp = _endpos;
18484 MenhirLib.EngineTypes.next = _menhir_stack;
18485 });
18486 (fun _menhir_env ->
18487 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18488 let {
18489 MenhirLib.EngineTypes.startp = _startpos__6_;
18490 MenhirLib.EngineTypes.endp = _endpos__6_;
18491 MenhirLib.EngineTypes.next = {
18492 MenhirLib.EngineTypes.semv = ids;
18493 MenhirLib.EngineTypes.startp = _startpos_ids_;
18494 MenhirLib.EngineTypes.endp = _endpos_ids_;
18495 MenhirLib.EngineTypes.next = {
18496 MenhirLib.EngineTypes.startp = _startpos__4_;
18497 MenhirLib.EngineTypes.endp = _endpos__4_;
18498 MenhirLib.EngineTypes.next = {
18499 MenhirLib.EngineTypes.startp = _startpos__3_;
18500 MenhirLib.EngineTypes.endp = _endpos__3_;
18501 MenhirLib.EngineTypes.next = {
18502 MenhirLib.EngineTypes.semv = ispure;
18503 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18504 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18505 MenhirLib.EngineTypes.next = {
18506 MenhirLib.EngineTypes.state = _menhir_s;
18507 MenhirLib.EngineTypes.semv = ar;
18508 MenhirLib.EngineTypes.startp = _startpos_ar_;
18509 MenhirLib.EngineTypes.endp = _endpos_ar_;
18510 MenhirLib.EngineTypes.next = _menhir_stack;
18511 };
18512 };
18513 };
18514 };
18515 };
18516 } = _menhir_stack in
18517 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18518 let ispure : 'tv_pure = Obj.magic ispure in
18519 let ar : 'tv_arity = Obj.magic ar in
18520 let _startpos = _startpos_ar_ in
18521 let _endpos = _endpos__6_ in
18522 let _v : 'tv_metadec = let kindfn =
18523
18524 # 346 "parser_cocci_menhir.mly"
18525 ( (fun arity name pure check_meta ->
18526 let tok = check_meta(Ast.MetaParamListDecl(arity,name,None)) in
18527 !Data.add_paramlist_meta name None pure; tok) )
18528 # 18529 "parser_cocci_menhir.ml"
18529
18530 in
18531
18532 # 273 "parser_cocci_menhir.mly"
18533 ( P.create_metadec ar ispure kindfn ids )
18534 # 18535 "parser_cocci_menhir.ml"
18535 in
18536 _menhir_env.MenhirLib.EngineTypes.stack <- {
18537 MenhirLib.EngineTypes.state = _menhir_s;
18538 MenhirLib.EngineTypes.semv = Obj.repr _v;
18539 MenhirLib.EngineTypes.startp = _startpos;
18540 MenhirLib.EngineTypes.endp = _endpos;
18541 MenhirLib.EngineTypes.next = _menhir_stack;
18542 });
18543 (fun _menhir_env ->
18544 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18545 let {
18546 MenhirLib.EngineTypes.startp = _startpos__6_;
18547 MenhirLib.EngineTypes.endp = _endpos__6_;
18548 MenhirLib.EngineTypes.next = {
18549 MenhirLib.EngineTypes.semv = ids;
18550 MenhirLib.EngineTypes.startp = _startpos_ids_;
18551 MenhirLib.EngineTypes.endp = _endpos_ids_;
18552 MenhirLib.EngineTypes.next = {
18553 MenhirLib.EngineTypes.startp = _startpos__4_;
18554 MenhirLib.EngineTypes.endp = _endpos__4_;
18555 MenhirLib.EngineTypes.next = {
18556 MenhirLib.EngineTypes.startp = _startpos__3_;
18557 MenhirLib.EngineTypes.endp = _endpos__3_;
18558 MenhirLib.EngineTypes.next = {
18559 MenhirLib.EngineTypes.semv = ispure;
18560 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18561 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18562 MenhirLib.EngineTypes.next = {
18563 MenhirLib.EngineTypes.state = _menhir_s;
18564 MenhirLib.EngineTypes.semv = ar;
18565 MenhirLib.EngineTypes.startp = _startpos_ar_;
18566 MenhirLib.EngineTypes.endp = _endpos_ar_;
18567 MenhirLib.EngineTypes.next = _menhir_stack;
18568 };
18569 };
18570 };
18571 };
18572 };
18573 } = _menhir_stack in
18574 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18575 let ispure : 'tv_pure = Obj.magic ispure in
18576 let ar : 'tv_arity = Obj.magic ar in
18577 let _startpos = _startpos_ar_ in
18578 let _endpos = _endpos__6_ in
18579 let _v : 'tv_metadec = let kindfn =
18580
18581 # 350 "parser_cocci_menhir.mly"
18582 ( (fun arity name pure check_meta ->
18583 let tok = check_meta(Ast.MetaExpListDecl(arity,name,None)) in
18584 !Data.add_explist_meta name None pure; tok) )
18585 # 18586 "parser_cocci_menhir.ml"
18586
18587 in
18588
18589 # 273 "parser_cocci_menhir.mly"
18590 ( P.create_metadec ar ispure kindfn ids )
18591 # 18592 "parser_cocci_menhir.ml"
18592 in
18593 _menhir_env.MenhirLib.EngineTypes.stack <- {
18594 MenhirLib.EngineTypes.state = _menhir_s;
18595 MenhirLib.EngineTypes.semv = Obj.repr _v;
18596 MenhirLib.EngineTypes.startp = _startpos;
18597 MenhirLib.EngineTypes.endp = _endpos;
18598 MenhirLib.EngineTypes.next = _menhir_stack;
18599 });
18600 (fun _menhir_env ->
18601 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18602 let {
18603 MenhirLib.EngineTypes.startp = _startpos__5_;
18604 MenhirLib.EngineTypes.endp = _endpos__5_;
18605 MenhirLib.EngineTypes.next = {
18606 MenhirLib.EngineTypes.semv = ids;
18607 MenhirLib.EngineTypes.startp = _startpos_ids_;
18608 MenhirLib.EngineTypes.endp = _endpos_ids_;
18609 MenhirLib.EngineTypes.next = {
18610 MenhirLib.EngineTypes.startp = _startpos__3_;
18611 MenhirLib.EngineTypes.endp = _endpos__3_;
18612 MenhirLib.EngineTypes.next = {
18613 MenhirLib.EngineTypes.semv = ispure;
18614 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18615 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18616 MenhirLib.EngineTypes.next = {
18617 MenhirLib.EngineTypes.state = _menhir_s;
18618 MenhirLib.EngineTypes.semv = ar;
18619 MenhirLib.EngineTypes.startp = _startpos_ar_;
18620 MenhirLib.EngineTypes.endp = _endpos_ar_;
18621 MenhirLib.EngineTypes.next = _menhir_stack;
18622 };
18623 };
18624 };
18625 };
18626 } = _menhir_stack in
18627 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18628 let ispure : 'tv_pure = Obj.magic ispure in
18629 let ar : 'tv_arity = Obj.magic ar in
18630 let _startpos = _startpos_ar_ in
18631 let _endpos = _endpos__5_ in
18632 let _v : 'tv_metadec = let kindfn =
18633
18634 # 354 "parser_cocci_menhir.mly"
18635 ( (fun arity name pure check_meta ->
18636 let tok = check_meta(Ast.MetaTypeDecl(arity,name)) in
18637 !Data.add_type_meta name pure; tok) )
18638 # 18639 "parser_cocci_menhir.ml"
18639
18640 in
18641
18642 # 273 "parser_cocci_menhir.mly"
18643 ( P.create_metadec ar ispure kindfn ids )
18644 # 18645 "parser_cocci_menhir.ml"
18645 in
18646 _menhir_env.MenhirLib.EngineTypes.stack <- {
18647 MenhirLib.EngineTypes.state = _menhir_s;
18648 MenhirLib.EngineTypes.semv = Obj.repr _v;
18649 MenhirLib.EngineTypes.startp = _startpos;
18650 MenhirLib.EngineTypes.endp = _endpos;
18651 MenhirLib.EngineTypes.next = _menhir_stack;
18652 });
18653 (fun _menhir_env ->
18654 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18655 let {
18656 MenhirLib.EngineTypes.startp = _startpos__5_;
18657 MenhirLib.EngineTypes.endp = _endpos__5_;
18658 MenhirLib.EngineTypes.next = {
18659 MenhirLib.EngineTypes.semv = ids;
18660 MenhirLib.EngineTypes.startp = _startpos_ids_;
18661 MenhirLib.EngineTypes.endp = _endpos_ids_;
18662 MenhirLib.EngineTypes.next = {
18663 MenhirLib.EngineTypes.startp = _startpos__3_;
18664 MenhirLib.EngineTypes.endp = _endpos__3_;
18665 MenhirLib.EngineTypes.next = {
18666 MenhirLib.EngineTypes.semv = ispure;
18667 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18668 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18669 MenhirLib.EngineTypes.next = {
18670 MenhirLib.EngineTypes.state = _menhir_s;
18671 MenhirLib.EngineTypes.semv = ar;
18672 MenhirLib.EngineTypes.startp = _startpos_ar_;
18673 MenhirLib.EngineTypes.endp = _endpos_ar_;
18674 MenhirLib.EngineTypes.next = _menhir_stack;
18675 };
18676 };
18677 };
18678 };
18679 } = _menhir_stack in
18680 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18681 let ispure : 'tv_pure = Obj.magic ispure in
18682 let ar : 'tv_arity = Obj.magic ar in
18683 let _startpos = _startpos_ar_ in
18684 let _endpos = _endpos__5_ in
18685 let _v : 'tv_metadec = let kindfn =
18686
18687 # 358 "parser_cocci_menhir.mly"
18688 ( (fun arity name pure check_meta ->
18689 let tok = check_meta(Ast.MetaInitDecl(arity,name)) in
18690 !Data.add_init_meta name pure; tok) )
18691 # 18692 "parser_cocci_menhir.ml"
18692
18693 in
18694
18695 # 273 "parser_cocci_menhir.mly"
18696 ( P.create_metadec ar ispure kindfn ids )
18697 # 18698 "parser_cocci_menhir.ml"
18698 in
18699 _menhir_env.MenhirLib.EngineTypes.stack <- {
18700 MenhirLib.EngineTypes.state = _menhir_s;
18701 MenhirLib.EngineTypes.semv = Obj.repr _v;
18702 MenhirLib.EngineTypes.startp = _startpos;
18703 MenhirLib.EngineTypes.endp = _endpos;
18704 MenhirLib.EngineTypes.next = _menhir_stack;
18705 });
18706 (fun _menhir_env ->
18707 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18708 let {
18709 MenhirLib.EngineTypes.startp = _startpos__5_;
18710 MenhirLib.EngineTypes.endp = _endpos__5_;
18711 MenhirLib.EngineTypes.next = {
18712 MenhirLib.EngineTypes.semv = ids;
18713 MenhirLib.EngineTypes.startp = _startpos_ids_;
18714 MenhirLib.EngineTypes.endp = _endpos_ids_;
18715 MenhirLib.EngineTypes.next = {
18716 MenhirLib.EngineTypes.startp = _startpos__3_;
18717 MenhirLib.EngineTypes.endp = _endpos__3_;
18718 MenhirLib.EngineTypes.next = {
18719 MenhirLib.EngineTypes.semv = ispure;
18720 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18721 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18722 MenhirLib.EngineTypes.next = {
18723 MenhirLib.EngineTypes.state = _menhir_s;
18724 MenhirLib.EngineTypes.semv = ar;
18725 MenhirLib.EngineTypes.startp = _startpos_ar_;
18726 MenhirLib.EngineTypes.endp = _endpos_ar_;
18727 MenhirLib.EngineTypes.next = _menhir_stack;
18728 };
18729 };
18730 };
18731 };
18732 } = _menhir_stack in
18733 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18734 let ispure : 'tv_pure = Obj.magic ispure in
18735 let ar : 'tv_arity = Obj.magic ar in
18736 let _startpos = _startpos_ar_ in
18737 let _endpos = _endpos__5_ in
18738 let _v : 'tv_metadec = let kindfn =
18739
18740 # 362 "parser_cocci_menhir.mly"
18741 ( (fun arity name pure check_meta ->
18742 let tok = check_meta(Ast.MetaStmDecl(arity,name)) in
18743 !Data.add_stm_meta name pure; tok) )
18744 # 18745 "parser_cocci_menhir.ml"
18745
18746 in
18747
18748 # 273 "parser_cocci_menhir.mly"
18749 ( P.create_metadec ar ispure kindfn ids )
18750 # 18751 "parser_cocci_menhir.ml"
18751 in
18752 _menhir_env.MenhirLib.EngineTypes.stack <- {
18753 MenhirLib.EngineTypes.state = _menhir_s;
18754 MenhirLib.EngineTypes.semv = Obj.repr _v;
18755 MenhirLib.EngineTypes.startp = _startpos;
18756 MenhirLib.EngineTypes.endp = _endpos;
18757 MenhirLib.EngineTypes.next = _menhir_stack;
18758 });
18759 (fun _menhir_env ->
18760 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18761 let {
18762 MenhirLib.EngineTypes.startp = _startpos__6_;
18763 MenhirLib.EngineTypes.endp = _endpos__6_;
18764 MenhirLib.EngineTypes.next = {
18765 MenhirLib.EngineTypes.semv = ids;
18766 MenhirLib.EngineTypes.startp = _startpos_ids_;
18767 MenhirLib.EngineTypes.endp = _endpos_ids_;
18768 MenhirLib.EngineTypes.next = {
18769 MenhirLib.EngineTypes.startp = _startpos__4_;
18770 MenhirLib.EngineTypes.endp = _endpos__4_;
18771 MenhirLib.EngineTypes.next = {
18772 MenhirLib.EngineTypes.startp = _startpos__3_;
18773 MenhirLib.EngineTypes.endp = _endpos__3_;
18774 MenhirLib.EngineTypes.next = {
18775 MenhirLib.EngineTypes.semv = ispure;
18776 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18777 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18778 MenhirLib.EngineTypes.next = {
18779 MenhirLib.EngineTypes.state = _menhir_s;
18780 MenhirLib.EngineTypes.semv = ar;
18781 MenhirLib.EngineTypes.startp = _startpos_ar_;
18782 MenhirLib.EngineTypes.endp = _endpos_ar_;
18783 MenhirLib.EngineTypes.next = _menhir_stack;
18784 };
18785 };
18786 };
18787 };
18788 };
18789 } = _menhir_stack in
18790 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18791 let ispure : 'tv_pure = Obj.magic ispure in
18792 let ar : 'tv_arity = Obj.magic ar in
18793 let _startpos = _startpos_ar_ in
18794 let _endpos = _endpos__6_ in
18795 let _v : 'tv_metadec = let kindfn =
18796
18797 # 366 "parser_cocci_menhir.mly"
18798 ( (fun arity name pure check_meta ->
18799 let tok = check_meta(Ast.MetaStmListDecl(arity,name)) in
18800 !Data.add_stmlist_meta name pure; tok) )
18801 # 18802 "parser_cocci_menhir.ml"
18802
18803 in
18804
18805 # 273 "parser_cocci_menhir.mly"
18806 ( P.create_metadec ar ispure kindfn ids )
18807 # 18808 "parser_cocci_menhir.ml"
18808 in
18809 _menhir_env.MenhirLib.EngineTypes.stack <- {
18810 MenhirLib.EngineTypes.state = _menhir_s;
18811 MenhirLib.EngineTypes.semv = Obj.repr _v;
18812 MenhirLib.EngineTypes.startp = _startpos;
18813 MenhirLib.EngineTypes.endp = _endpos;
18814 MenhirLib.EngineTypes.next = _menhir_stack;
18815 });
18816 (fun _menhir_env ->
18817 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18818 let {
18819 MenhirLib.EngineTypes.startp = _startpos__5_;
18820 MenhirLib.EngineTypes.endp = _endpos__5_;
18821 MenhirLib.EngineTypes.next = {
18822 MenhirLib.EngineTypes.semv = ids;
18823 MenhirLib.EngineTypes.startp = _startpos_ids_;
18824 MenhirLib.EngineTypes.endp = _endpos_ids_;
18825 MenhirLib.EngineTypes.next = {
18826 MenhirLib.EngineTypes.startp = _startpos__3_;
18827 MenhirLib.EngineTypes.endp = _endpos__3_;
18828 MenhirLib.EngineTypes.next = {
18829 MenhirLib.EngineTypes.semv = ispure;
18830 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18831 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18832 MenhirLib.EngineTypes.next = {
18833 MenhirLib.EngineTypes.state = _menhir_s;
18834 MenhirLib.EngineTypes.semv = ar;
18835 MenhirLib.EngineTypes.startp = _startpos_ar_;
18836 MenhirLib.EngineTypes.endp = _endpos_ar_;
18837 MenhirLib.EngineTypes.next = _menhir_stack;
18838 };
18839 };
18840 };
18841 };
18842 } = _menhir_stack in
18843 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18844 let ispure : 'tv_pure = Obj.magic ispure in
18845 let ar : 'tv_arity = Obj.magic ar in
18846 let _startpos = _startpos_ar_ in
18847 let _endpos = _endpos__5_ in
18848 let _v : 'tv_metadec = let kindfn =
18849
18850 # 370 "parser_cocci_menhir.mly"
18851 ( (fun arity (_,name) pure check_meta ->
18852 if arity = Ast.NONE && pure = Ast0.Impure
18853 then (!Data.add_type_name name; [])
18854 else raise (Semantic_cocci.Semantic "bad typedef")) )
18855 # 18856 "parser_cocci_menhir.ml"
18856
18857 in
18858
18859 # 273 "parser_cocci_menhir.mly"
18860 ( P.create_metadec ar ispure kindfn ids )
18861 # 18862 "parser_cocci_menhir.ml"
18862 in
18863 _menhir_env.MenhirLib.EngineTypes.stack <- {
18864 MenhirLib.EngineTypes.state = _menhir_s;
18865 MenhirLib.EngineTypes.semv = Obj.repr _v;
18866 MenhirLib.EngineTypes.startp = _startpos;
18867 MenhirLib.EngineTypes.endp = _endpos;
18868 MenhirLib.EngineTypes.next = _menhir_stack;
18869 });
18870 (fun _menhir_env ->
18871 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18872 let {
18873 MenhirLib.EngineTypes.startp = _startpos__6_;
18874 MenhirLib.EngineTypes.endp = _endpos__6_;
18875 MenhirLib.EngineTypes.next = {
18876 MenhirLib.EngineTypes.semv = ids;
18877 MenhirLib.EngineTypes.startp = _startpos_ids_;
18878 MenhirLib.EngineTypes.endp = _endpos_ids_;
18879 MenhirLib.EngineTypes.next = {
18880 MenhirLib.EngineTypes.startp = _startpos__4_;
18881 MenhirLib.EngineTypes.endp = _endpos__4_;
18882 MenhirLib.EngineTypes.next = {
18883 MenhirLib.EngineTypes.startp = _startpos__3_;
18884 MenhirLib.EngineTypes.endp = _endpos__3_;
18885 MenhirLib.EngineTypes.next = {
18886 MenhirLib.EngineTypes.semv = ispure;
18887 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18888 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18889 MenhirLib.EngineTypes.next = {
18890 MenhirLib.EngineTypes.state = _menhir_s;
18891 MenhirLib.EngineTypes.semv = ar;
18892 MenhirLib.EngineTypes.startp = _startpos_ar_;
18893 MenhirLib.EngineTypes.endp = _endpos_ar_;
18894 MenhirLib.EngineTypes.next = _menhir_stack;
18895 };
18896 };
18897 };
18898 };
18899 };
18900 } = _menhir_stack in
18901 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18902 let ispure : 'tv_pure = Obj.magic ispure in
18903 let ar : 'tv_arity = Obj.magic ar in
18904 let _startpos = _startpos_ar_ in
18905 let _endpos = _endpos__6_ in
18906 let _v : 'tv_metadec = let kindfn =
18907
18908 # 375 "parser_cocci_menhir.mly"
18909 ( (fun arity (_,name) pure check_meta ->
18910 if arity = Ast.NONE && pure = Ast0.Impure
18911 then (!Data.add_declarer_name name; [])
18912 else raise (Semantic_cocci.Semantic "bad declarer")) )
18913 # 18914 "parser_cocci_menhir.ml"
18914
18915 in
18916
18917 # 273 "parser_cocci_menhir.mly"
18918 ( P.create_metadec ar ispure kindfn ids )
18919 # 18920 "parser_cocci_menhir.ml"
18920 in
18921 _menhir_env.MenhirLib.EngineTypes.stack <- {
18922 MenhirLib.EngineTypes.state = _menhir_s;
18923 MenhirLib.EngineTypes.semv = Obj.repr _v;
18924 MenhirLib.EngineTypes.startp = _startpos;
18925 MenhirLib.EngineTypes.endp = _endpos;
18926 MenhirLib.EngineTypes.next = _menhir_stack;
18927 });
18928 (fun _menhir_env ->
18929 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18930 let {
18931 MenhirLib.EngineTypes.startp = _startpos__6_;
18932 MenhirLib.EngineTypes.endp = _endpos__6_;
18933 MenhirLib.EngineTypes.next = {
18934 MenhirLib.EngineTypes.semv = ids;
18935 MenhirLib.EngineTypes.startp = _startpos_ids_;
18936 MenhirLib.EngineTypes.endp = _endpos_ids_;
18937 MenhirLib.EngineTypes.next = {
18938 MenhirLib.EngineTypes.startp = _startpos__4_;
18939 MenhirLib.EngineTypes.endp = _endpos__4_;
18940 MenhirLib.EngineTypes.next = {
18941 MenhirLib.EngineTypes.startp = _startpos__3_;
18942 MenhirLib.EngineTypes.endp = _endpos__3_;
18943 MenhirLib.EngineTypes.next = {
18944 MenhirLib.EngineTypes.semv = ispure;
18945 MenhirLib.EngineTypes.startp = _startpos_ispure_;
18946 MenhirLib.EngineTypes.endp = _endpos_ispure_;
18947 MenhirLib.EngineTypes.next = {
18948 MenhirLib.EngineTypes.state = _menhir_s;
18949 MenhirLib.EngineTypes.semv = ar;
18950 MenhirLib.EngineTypes.startp = _startpos_ar_;
18951 MenhirLib.EngineTypes.endp = _endpos_ar_;
18952 MenhirLib.EngineTypes.next = _menhir_stack;
18953 };
18954 };
18955 };
18956 };
18957 };
18958 } = _menhir_stack in
18959 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
18960 let ispure : 'tv_pure = Obj.magic ispure in
18961 let ar : 'tv_arity = Obj.magic ar in
18962 let _startpos = _startpos_ar_ in
18963 let _endpos = _endpos__6_ in
18964 let _v : 'tv_metadec = let kindfn =
18965
18966 # 380 "parser_cocci_menhir.mly"
18967 ( (fun arity (_,name) pure check_meta ->
18968 if arity = Ast.NONE && pure = Ast0.Impure
18969 then (!Data.add_iterator_name name; [])
18970 else raise (Semantic_cocci.Semantic "bad iterator")) )
18971 # 18972 "parser_cocci_menhir.ml"
18972
18973 in
18974
18975 # 273 "parser_cocci_menhir.mly"
18976 ( P.create_metadec ar ispure kindfn ids )
18977 # 18978 "parser_cocci_menhir.ml"
18978 in
18979 _menhir_env.MenhirLib.EngineTypes.stack <- {
18980 MenhirLib.EngineTypes.state = _menhir_s;
18981 MenhirLib.EngineTypes.semv = Obj.repr _v;
18982 MenhirLib.EngineTypes.startp = _startpos;
18983 MenhirLib.EngineTypes.endp = _endpos;
18984 MenhirLib.EngineTypes.next = _menhir_stack;
18985 });
18986 (fun _menhir_env ->
18987 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18988 let {
18989 MenhirLib.EngineTypes.startp = _startpos__4_;
18990 MenhirLib.EngineTypes.endp = _endpos__4_;
18991 MenhirLib.EngineTypes.next = {
18992 MenhirLib.EngineTypes.semv = ids;
18993 MenhirLib.EngineTypes.startp = _startpos_ids_;
18994 MenhirLib.EngineTypes.endp = _endpos_ids_;
18995 MenhirLib.EngineTypes.next = {
18996 MenhirLib.EngineTypes.startp = _startpos__2_;
18997 MenhirLib.EngineTypes.endp = _endpos__2_;
18998 MenhirLib.EngineTypes.next = {
18999 MenhirLib.EngineTypes.state = _menhir_s;
19000 MenhirLib.EngineTypes.startp = _startpos__1_;
19001 MenhirLib.EngineTypes.endp = _endpos__1_;
19002 MenhirLib.EngineTypes.next = _menhir_stack;
19003 };
19004 };
19005 };
19006 } = _menhir_stack in
19007 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = Obj.magic ids in
19008 let _startpos = _startpos__1_ in
19009 let _endpos = _endpos__4_ in
19010 let _v : 'tv_metadec = let kindfn =
19011
19012 # 335 "parser_cocci_menhir.mly"
19013 ( (fun name check_meta seed ->
19014 let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in
19015 !Data.add_fresh_id_meta name; tok) )
19016 # 19017 "parser_cocci_menhir.ml"
19017
19018 in
19019
19020 # 276 "parser_cocci_menhir.mly"
19021 ( P.create_fresh_metadec kindfn ids )
19022 # 19023 "parser_cocci_menhir.ml"
19023 in
19024 _menhir_env.MenhirLib.EngineTypes.stack <- {
19025 MenhirLib.EngineTypes.state = _menhir_s;
19026 MenhirLib.EngineTypes.semv = Obj.repr _v;
19027 MenhirLib.EngineTypes.startp = _startpos;
19028 MenhirLib.EngineTypes.endp = _endpos;
19029 MenhirLib.EngineTypes.next = _menhir_stack;
19030 });
19031 (fun _menhir_env ->
19032 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19033 let {
19034 MenhirLib.EngineTypes.startp = _startpos__5_;
19035 MenhirLib.EngineTypes.endp = _endpos__5_;
19036 MenhirLib.EngineTypes.next = {
19037 MenhirLib.EngineTypes.semv = ids;
19038 MenhirLib.EngineTypes.startp = _startpos_ids_;
19039 MenhirLib.EngineTypes.endp = _endpos_ids_;
19040 MenhirLib.EngineTypes.next = {
19041 MenhirLib.EngineTypes.startp = _startpos__3_;
19042 MenhirLib.EngineTypes.endp = _endpos__3_;
19043 MenhirLib.EngineTypes.next = {
19044 MenhirLib.EngineTypes.semv = ispure;
19045 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19046 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19047 MenhirLib.EngineTypes.next = {
19048 MenhirLib.EngineTypes.state = _menhir_s;
19049 MenhirLib.EngineTypes.semv = ar;
19050 MenhirLib.EngineTypes.startp = _startpos_ar_;
19051 MenhirLib.EngineTypes.endp = _endpos_ar_;
19052 MenhirLib.EngineTypes.next = _menhir_stack;
19053 };
19054 };
19055 };
19056 };
19057 } = _menhir_stack in
19058 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic ids in
19059 let ispure : 'tv_pure = Obj.magic ispure in
19060 let ar : 'tv_arity = Obj.magic ar in
19061 let _startpos = _startpos_ar_ in
19062 let _endpos = _endpos__5_ in
19063 let _v : 'tv_metadec = let kindfn =
19064
19065 # 387 "parser_cocci_menhir.mly"
19066 (
19067 let idfn arity name pure check_meta constraints =
19068 let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
19069 !Data.add_id_meta name constraints pure; tok in
19070 let virtfn arity name pure check_meta virtual_env =
19071 try
19072 let vl = List.assoc name virtual_env in
19073 !Data.add_virt_id_meta_found name vl; []
19074 with Not_found ->
19075 let name = ("virtual",name) in
19076 let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
19077 !Data.add_virt_id_meta_not_found name pure; tok in
19078 (idfn,virtfn) )
19079 # 19080 "parser_cocci_menhir.ml"
19080
19081 in
19082
19083 # 282 "parser_cocci_menhir.mly"
19084 ( let (normal,virt) = Common.partition_either (fun x -> x) ids in
19085 let (idfn,virtfn) = kindfn in
19086 function cr ->
19087 (P.create_metadec_with_constraints ar ispure idfn normal cr) @
19088 (P.create_metadec_virt ar ispure virtfn virt cr) )
19089 # 19090 "parser_cocci_menhir.ml"
19090 in
19091 _menhir_env.MenhirLib.EngineTypes.stack <- {
19092 MenhirLib.EngineTypes.state = _menhir_s;
19093 MenhirLib.EngineTypes.semv = Obj.repr _v;
19094 MenhirLib.EngineTypes.startp = _startpos;
19095 MenhirLib.EngineTypes.endp = _endpos;
19096 MenhirLib.EngineTypes.next = _menhir_stack;
19097 });
19098 (fun _menhir_env ->
19099 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19100 let {
19101 MenhirLib.EngineTypes.startp = _startpos__5_;
19102 MenhirLib.EngineTypes.endp = _endpos__5_;
19103 MenhirLib.EngineTypes.next = {
19104 MenhirLib.EngineTypes.semv = ids;
19105 MenhirLib.EngineTypes.startp = _startpos_ids_;
19106 MenhirLib.EngineTypes.endp = _endpos_ids_;
19107 MenhirLib.EngineTypes.next = {
19108 MenhirLib.EngineTypes.startp = _startpos__3_;
19109 MenhirLib.EngineTypes.endp = _endpos__3_;
19110 MenhirLib.EngineTypes.next = {
19111 MenhirLib.EngineTypes.semv = ispure;
19112 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19113 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19114 MenhirLib.EngineTypes.next = {
19115 MenhirLib.EngineTypes.state = _menhir_s;
19116 MenhirLib.EngineTypes.semv = ar;
19117 MenhirLib.EngineTypes.startp = _startpos_ar_;
19118 MenhirLib.EngineTypes.endp = _endpos_ar_;
19119 MenhirLib.EngineTypes.next = _menhir_stack;
19120 };
19121 };
19122 };
19123 };
19124 } = _menhir_stack in
19125 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
19126 let ispure : 'tv_pure = Obj.magic ispure in
19127 let ar : 'tv_arity = Obj.magic ar in
19128 let _startpos = _startpos_ar_ in
19129 let _endpos = _endpos__5_ in
19130 let _v : 'tv_metadec = let kindfn =
19131
19132 # 403 "parser_cocci_menhir.mly"
19133 ( (fun arity name pure check_meta constraints ->
19134 let tok = check_meta(Ast.MetaFuncDecl(arity,name)) in
19135 !Data.add_func_meta name constraints pure; tok) )
19136 # 19137 "parser_cocci_menhir.ml"
19137
19138 in
19139
19140 # 291 "parser_cocci_menhir.mly"
19141 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19142 # 19143 "parser_cocci_menhir.ml"
19143 in
19144 _menhir_env.MenhirLib.EngineTypes.stack <- {
19145 MenhirLib.EngineTypes.state = _menhir_s;
19146 MenhirLib.EngineTypes.semv = Obj.repr _v;
19147 MenhirLib.EngineTypes.startp = _startpos;
19148 MenhirLib.EngineTypes.endp = _endpos;
19149 MenhirLib.EngineTypes.next = _menhir_stack;
19150 });
19151 (fun _menhir_env ->
19152 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19153 let {
19154 MenhirLib.EngineTypes.startp = _startpos__6_;
19155 MenhirLib.EngineTypes.endp = _endpos__6_;
19156 MenhirLib.EngineTypes.next = {
19157 MenhirLib.EngineTypes.semv = ids;
19158 MenhirLib.EngineTypes.startp = _startpos_ids_;
19159 MenhirLib.EngineTypes.endp = _endpos_ids_;
19160 MenhirLib.EngineTypes.next = {
19161 MenhirLib.EngineTypes.startp = _startpos__4_;
19162 MenhirLib.EngineTypes.endp = _endpos__4_;
19163 MenhirLib.EngineTypes.next = {
19164 MenhirLib.EngineTypes.startp = _startpos__3_;
19165 MenhirLib.EngineTypes.endp = _endpos__3_;
19166 MenhirLib.EngineTypes.next = {
19167 MenhirLib.EngineTypes.semv = ispure;
19168 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19169 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19170 MenhirLib.EngineTypes.next = {
19171 MenhirLib.EngineTypes.state = _menhir_s;
19172 MenhirLib.EngineTypes.semv = ar;
19173 MenhirLib.EngineTypes.startp = _startpos_ar_;
19174 MenhirLib.EngineTypes.endp = _endpos_ar_;
19175 MenhirLib.EngineTypes.next = _menhir_stack;
19176 };
19177 };
19178 };
19179 };
19180 };
19181 } = _menhir_stack in
19182 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
19183 let ispure : 'tv_pure = Obj.magic ispure in
19184 let ar : 'tv_arity = Obj.magic ar in
19185 let _startpos = _startpos_ar_ in
19186 let _endpos = _endpos__6_ in
19187 let _v : 'tv_metadec = let kindfn =
19188
19189 # 407 "parser_cocci_menhir.mly"
19190 ( (fun arity name pure check_meta constraints ->
19191 let tok = check_meta(Ast.MetaLocalFuncDecl(arity,name)) in
19192 !Data.add_local_func_meta name constraints pure;
19193 tok) )
19194 # 19195 "parser_cocci_menhir.ml"
19195
19196 in
19197
19198 # 291 "parser_cocci_menhir.mly"
19199 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19200 # 19201 "parser_cocci_menhir.ml"
19201 in
19202 _menhir_env.MenhirLib.EngineTypes.stack <- {
19203 MenhirLib.EngineTypes.state = _menhir_s;
19204 MenhirLib.EngineTypes.semv = Obj.repr _v;
19205 MenhirLib.EngineTypes.startp = _startpos;
19206 MenhirLib.EngineTypes.endp = _endpos;
19207 MenhirLib.EngineTypes.next = _menhir_stack;
19208 });
19209 (fun _menhir_env ->
19210 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19211 let {
19212 MenhirLib.EngineTypes.startp = _startpos__5_;
19213 MenhirLib.EngineTypes.endp = _endpos__5_;
19214 MenhirLib.EngineTypes.next = {
19215 MenhirLib.EngineTypes.semv = ids;
19216 MenhirLib.EngineTypes.startp = _startpos_ids_;
19217 MenhirLib.EngineTypes.endp = _endpos_ids_;
19218 MenhirLib.EngineTypes.next = {
19219 MenhirLib.EngineTypes.startp = _startpos__3_;
19220 MenhirLib.EngineTypes.endp = _endpos__3_;
19221 MenhirLib.EngineTypes.next = {
19222 MenhirLib.EngineTypes.semv = ispure;
19223 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19224 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19225 MenhirLib.EngineTypes.next = {
19226 MenhirLib.EngineTypes.state = _menhir_s;
19227 MenhirLib.EngineTypes.semv = ar;
19228 MenhirLib.EngineTypes.startp = _startpos_ar_;
19229 MenhirLib.EngineTypes.endp = _endpos_ar_;
19230 MenhirLib.EngineTypes.next = _menhir_stack;
19231 };
19232 };
19233 };
19234 };
19235 } = _menhir_stack in
19236 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
19237 let ispure : 'tv_pure = Obj.magic ispure in
19238 let ar : 'tv_arity = Obj.magic ar in
19239 let _startpos = _startpos_ar_ in
19240 let _endpos = _endpos__5_ in
19241 let _v : 'tv_metadec = let kindfn =
19242
19243 # 412 "parser_cocci_menhir.mly"
19244 ( (fun arity name pure check_meta constraints ->
19245 let tok = check_meta(Ast.MetaDeclarerDecl(arity,name)) in
19246 !Data.add_declarer_meta name constraints pure; tok) )
19247 # 19248 "parser_cocci_menhir.ml"
19248
19249 in
19250
19251 # 291 "parser_cocci_menhir.mly"
19252 ( P.create_metadec_with_constraints ar ispure kindfn ids )
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.startp = _startpos__5_;
19266 MenhirLib.EngineTypes.endp = _endpos__5_;
19267 MenhirLib.EngineTypes.next = {
19268 MenhirLib.EngineTypes.semv = ids;
19269 MenhirLib.EngineTypes.startp = _startpos_ids_;
19270 MenhirLib.EngineTypes.endp = _endpos_ids_;
19271 MenhirLib.EngineTypes.next = {
19272 MenhirLib.EngineTypes.startp = _startpos__3_;
19273 MenhirLib.EngineTypes.endp = _endpos__3_;
19274 MenhirLib.EngineTypes.next = {
19275 MenhirLib.EngineTypes.semv = ispure;
19276 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19277 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19278 MenhirLib.EngineTypes.next = {
19279 MenhirLib.EngineTypes.state = _menhir_s;
19280 MenhirLib.EngineTypes.semv = ar;
19281 MenhirLib.EngineTypes.startp = _startpos_ar_;
19282 MenhirLib.EngineTypes.endp = _endpos_ar_;
19283 MenhirLib.EngineTypes.next = _menhir_stack;
19284 };
19285 };
19286 };
19287 };
19288 } = _menhir_stack in
19289 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
19290 let ispure : 'tv_pure = Obj.magic ispure in
19291 let ar : 'tv_arity = Obj.magic ar in
19292 let _startpos = _startpos_ar_ in
19293 let _endpos = _endpos__5_ in
19294 let _v : 'tv_metadec = let kindfn =
19295
19296 # 416 "parser_cocci_menhir.mly"
19297 ( (fun arity name pure check_meta constraints ->
19298 let tok = check_meta(Ast.MetaIteratorDecl(arity,name)) in
19299 !Data.add_iterator_meta name constraints pure; tok) )
19300 # 19301 "parser_cocci_menhir.ml"
19301
19302 in
19303
19304 # 291 "parser_cocci_menhir.mly"
19305 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19306 # 19307 "parser_cocci_menhir.ml"
19307 in
19308 _menhir_env.MenhirLib.EngineTypes.stack <- {
19309 MenhirLib.EngineTypes.state = _menhir_s;
19310 MenhirLib.EngineTypes.semv = Obj.repr _v;
19311 MenhirLib.EngineTypes.startp = _startpos;
19312 MenhirLib.EngineTypes.endp = _endpos;
19313 MenhirLib.EngineTypes.next = _menhir_stack;
19314 });
19315 (fun _menhir_env ->
19316 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19317 let {
19318 MenhirLib.EngineTypes.startp = _startpos__5_;
19319 MenhirLib.EngineTypes.endp = _endpos__5_;
19320 MenhirLib.EngineTypes.next = {
19321 MenhirLib.EngineTypes.semv = ids;
19322 MenhirLib.EngineTypes.startp = _startpos_ids_;
19323 MenhirLib.EngineTypes.endp = _endpos_ids_;
19324 MenhirLib.EngineTypes.next = {
19325 MenhirLib.EngineTypes.startp = _startpos__3_;
19326 MenhirLib.EngineTypes.endp = _endpos__3_;
19327 MenhirLib.EngineTypes.next = {
19328 MenhirLib.EngineTypes.semv = ispure;
19329 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19330 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19331 MenhirLib.EngineTypes.next = {
19332 MenhirLib.EngineTypes.state = _menhir_s;
19333 MenhirLib.EngineTypes.semv = ar;
19334 MenhirLib.EngineTypes.startp = _startpos_ar_;
19335 MenhirLib.EngineTypes.endp = _endpos_ar_;
19336 MenhirLib.EngineTypes.next = _menhir_stack;
19337 };
19338 };
19339 };
19340 };
19341 } = _menhir_stack in
19342 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
19343 let ispure : 'tv_pure = Obj.magic ispure in
19344 let ar : 'tv_arity = Obj.magic ar in
19345 let _startpos = _startpos_ar_ in
19346 let _endpos = _endpos__5_ in
19347 let _v : 'tv_metadec = let kindfn =
19348
19349 # 422 "parser_cocci_menhir.mly"
19350 ( (fun arity name pure check_meta constraints ->
19351 let tok = check_meta(Ast.MetaErrDecl(arity,name)) in
19352 !Data.add_err_meta name constraints pure; tok) )
19353 # 19354 "parser_cocci_menhir.ml"
19354
19355 in
19356
19357 # 296 "parser_cocci_menhir.mly"
19358 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19359 # 19360 "parser_cocci_menhir.ml"
19360 in
19361 _menhir_env.MenhirLib.EngineTypes.stack <- {
19362 MenhirLib.EngineTypes.state = _menhir_s;
19363 MenhirLib.EngineTypes.semv = Obj.repr _v;
19364 MenhirLib.EngineTypes.startp = _startpos;
19365 MenhirLib.EngineTypes.endp = _endpos;
19366 MenhirLib.EngineTypes.next = _menhir_stack;
19367 });
19368 (fun _menhir_env ->
19369 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19370 let {
19371 MenhirLib.EngineTypes.startp = _startpos__6_;
19372 MenhirLib.EngineTypes.endp = _endpos__6_;
19373 MenhirLib.EngineTypes.next = {
19374 MenhirLib.EngineTypes.semv = ids;
19375 MenhirLib.EngineTypes.startp = _startpos_ids_;
19376 MenhirLib.EngineTypes.endp = _endpos_ids_;
19377 MenhirLib.EngineTypes.next = {
19378 MenhirLib.EngineTypes.startp = _startpos__4_;
19379 MenhirLib.EngineTypes.endp = _endpos__4_;
19380 MenhirLib.EngineTypes.next = {
19381 MenhirLib.EngineTypes.semv = l0;
19382 MenhirLib.EngineTypes.startp = _startpos_l0_;
19383 MenhirLib.EngineTypes.endp = _endpos_l0_;
19384 MenhirLib.EngineTypes.next = {
19385 MenhirLib.EngineTypes.semv = ispure;
19386 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19387 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19388 MenhirLib.EngineTypes.next = {
19389 MenhirLib.EngineTypes.state = _menhir_s;
19390 MenhirLib.EngineTypes.semv = ar;
19391 MenhirLib.EngineTypes.startp = _startpos_ar_;
19392 MenhirLib.EngineTypes.endp = _endpos_ar_;
19393 MenhirLib.EngineTypes.next = _menhir_stack;
19394 };
19395 };
19396 };
19397 };
19398 };
19399 } = _menhir_stack in
19400 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
19401 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
19402 let ispure : 'tv_pure = Obj.magic ispure in
19403 let ar : 'tv_arity = Obj.magic ar in
19404 let _startpos = _startpos_ar_ in
19405 let _endpos = _endpos__6_ in
19406 let _v : 'tv_metadec = let kindfn =
19407 let l = l0 in
19408 let ty =
19409
19410 # 39 "standard.mly"
19411 ( None )
19412 # 19413 "parser_cocci_menhir.ml"
19413
19414 in
19415
19416 # 426 "parser_cocci_menhir.mly"
19417 ( (fun arity name pure check_meta constraints ->
19418 match l with
19419 None ->
19420 !Data.add_idexp_meta ty name constraints pure;
19421 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
19422 | Some _ ->
19423 !Data.add_local_idexp_meta ty name constraints pure;
19424 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
19425 # 19426 "parser_cocci_menhir.ml"
19426
19427 in
19428
19429 # 296 "parser_cocci_menhir.mly"
19430 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19431 # 19432 "parser_cocci_menhir.ml"
19432 in
19433 _menhir_env.MenhirLib.EngineTypes.stack <- {
19434 MenhirLib.EngineTypes.state = _menhir_s;
19435 MenhirLib.EngineTypes.semv = Obj.repr _v;
19436 MenhirLib.EngineTypes.startp = _startpos;
19437 MenhirLib.EngineTypes.endp = _endpos;
19438 MenhirLib.EngineTypes.next = _menhir_stack;
19439 });
19440 (fun _menhir_env ->
19441 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19442 let {
19443 MenhirLib.EngineTypes.startp = _startpos__7_;
19444 MenhirLib.EngineTypes.endp = _endpos__7_;
19445 MenhirLib.EngineTypes.next = {
19446 MenhirLib.EngineTypes.semv = ids;
19447 MenhirLib.EngineTypes.startp = _startpos_ids_;
19448 MenhirLib.EngineTypes.endp = _endpos_ids_;
19449 MenhirLib.EngineTypes.next = {
19450 MenhirLib.EngineTypes.semv = x00;
19451 MenhirLib.EngineTypes.startp = _startpos_x00_;
19452 MenhirLib.EngineTypes.endp = _endpos_x00_;
19453 MenhirLib.EngineTypes.next = {
19454 MenhirLib.EngineTypes.startp = _startpos__4_;
19455 MenhirLib.EngineTypes.endp = _endpos__4_;
19456 MenhirLib.EngineTypes.next = {
19457 MenhirLib.EngineTypes.semv = l0;
19458 MenhirLib.EngineTypes.startp = _startpos_l0_;
19459 MenhirLib.EngineTypes.endp = _endpos_l0_;
19460 MenhirLib.EngineTypes.next = {
19461 MenhirLib.EngineTypes.semv = ispure;
19462 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19463 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19464 MenhirLib.EngineTypes.next = {
19465 MenhirLib.EngineTypes.state = _menhir_s;
19466 MenhirLib.EngineTypes.semv = ar;
19467 MenhirLib.EngineTypes.startp = _startpos_ar_;
19468 MenhirLib.EngineTypes.endp = _endpos_ar_;
19469 MenhirLib.EngineTypes.next = _menhir_stack;
19470 };
19471 };
19472 };
19473 };
19474 };
19475 };
19476 } = _menhir_stack in
19477 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
19478 let x00 : 'tv_meta_exp_type = Obj.magic x00 in
19479 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
19480 let ispure : 'tv_pure = Obj.magic ispure in
19481 let ar : 'tv_arity = Obj.magic ar in
19482 let _startpos = _startpos_ar_ in
19483 let _endpos = _endpos__7_ in
19484 let _v : 'tv_metadec = let kindfn =
19485 let x0 = x00 in
19486 let l = l0 in
19487 let ty =
19488 let x = x0 in
19489
19490 # 41 "standard.mly"
19491 ( Some x )
19492 # 19493 "parser_cocci_menhir.ml"
19493
19494 in
19495
19496 # 426 "parser_cocci_menhir.mly"
19497 ( (fun arity name pure check_meta constraints ->
19498 match l with
19499 None ->
19500 !Data.add_idexp_meta ty name constraints pure;
19501 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
19502 | Some _ ->
19503 !Data.add_local_idexp_meta ty name constraints pure;
19504 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
19505 # 19506 "parser_cocci_menhir.ml"
19506
19507 in
19508
19509 # 296 "parser_cocci_menhir.mly"
19510 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19511 # 19512 "parser_cocci_menhir.ml"
19512 in
19513 _menhir_env.MenhirLib.EngineTypes.stack <- {
19514 MenhirLib.EngineTypes.state = _menhir_s;
19515 MenhirLib.EngineTypes.semv = Obj.repr _v;
19516 MenhirLib.EngineTypes.startp = _startpos;
19517 MenhirLib.EngineTypes.endp = _endpos;
19518 MenhirLib.EngineTypes.next = _menhir_stack;
19519 });
19520 (fun _menhir_env ->
19521 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19522 let {
19523 MenhirLib.EngineTypes.startp = _startpos__7_;
19524 MenhirLib.EngineTypes.endp = _endpos__7_;
19525 MenhirLib.EngineTypes.next = {
19526 MenhirLib.EngineTypes.semv = ids;
19527 MenhirLib.EngineTypes.startp = _startpos_ids_;
19528 MenhirLib.EngineTypes.endp = _endpos_ids_;
19529 MenhirLib.EngineTypes.next = {
19530 MenhirLib.EngineTypes.semv = m0;
19531 MenhirLib.EngineTypes.startp = _startpos_m0_;
19532 MenhirLib.EngineTypes.endp = _endpos_m0_;
19533 MenhirLib.EngineTypes.next = {
19534 MenhirLib.EngineTypes.startp = _startpos__4_;
19535 MenhirLib.EngineTypes.endp = _endpos__4_;
19536 MenhirLib.EngineTypes.next = {
19537 MenhirLib.EngineTypes.semv = l0;
19538 MenhirLib.EngineTypes.startp = _startpos_l0_;
19539 MenhirLib.EngineTypes.endp = _endpos_l0_;
19540 MenhirLib.EngineTypes.next = {
19541 MenhirLib.EngineTypes.semv = ispure;
19542 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19543 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19544 MenhirLib.EngineTypes.next = {
19545 MenhirLib.EngineTypes.state = _menhir_s;
19546 MenhirLib.EngineTypes.semv = ar;
19547 MenhirLib.EngineTypes.startp = _startpos_ar_;
19548 MenhirLib.EngineTypes.endp = _endpos_ar_;
19549 MenhirLib.EngineTypes.next = _menhir_stack;
19550 };
19551 };
19552 };
19553 };
19554 };
19555 };
19556 } = _menhir_stack in
19557 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
19558 let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
19559 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
19560 let ispure : 'tv_pure = Obj.magic ispure in
19561 let ar : 'tv_arity = Obj.magic ar in
19562 let _startpos = _startpos_ar_ in
19563 let _endpos = _endpos__7_ in
19564 let _v : 'tv_metadec = let kindfn =
19565 let m = m0 in
19566 let l = l0 in
19567
19568 # 435 "parser_cocci_menhir.mly"
19569 ( (fun arity name pure check_meta constraints ->
19570 let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
19571 match l with
19572 None ->
19573 !Data.add_idexp_meta ty name constraints pure;
19574 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
19575 | Some _ ->
19576 !Data.add_local_idexp_meta ty name constraints pure;
19577 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
19578 # 19579 "parser_cocci_menhir.ml"
19579
19580 in
19581
19582 # 296 "parser_cocci_menhir.mly"
19583 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19584 # 19585 "parser_cocci_menhir.ml"
19585 in
19586 _menhir_env.MenhirLib.EngineTypes.stack <- {
19587 MenhirLib.EngineTypes.state = _menhir_s;
19588 MenhirLib.EngineTypes.semv = Obj.repr _v;
19589 MenhirLib.EngineTypes.startp = _startpos;
19590 MenhirLib.EngineTypes.endp = _endpos;
19591 MenhirLib.EngineTypes.next = _menhir_stack;
19592 });
19593 (fun _menhir_env ->
19594 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19595 let {
19596 MenhirLib.EngineTypes.startp = _startpos__6_;
19597 MenhirLib.EngineTypes.endp = _endpos__6_;
19598 MenhirLib.EngineTypes.next = {
19599 MenhirLib.EngineTypes.semv = ids;
19600 MenhirLib.EngineTypes.startp = _startpos_ids_;
19601 MenhirLib.EngineTypes.endp = _endpos_ids_;
19602 MenhirLib.EngineTypes.next = {
19603 MenhirLib.EngineTypes.semv = m0;
19604 MenhirLib.EngineTypes.startp = _startpos_m0_;
19605 MenhirLib.EngineTypes.endp = _endpos_m0_;
19606 MenhirLib.EngineTypes.next = {
19607 MenhirLib.EngineTypes.startp = _startpos__3_;
19608 MenhirLib.EngineTypes.endp = _endpos__3_;
19609 MenhirLib.EngineTypes.next = {
19610 MenhirLib.EngineTypes.semv = ispure;
19611 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19612 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19613 MenhirLib.EngineTypes.next = {
19614 MenhirLib.EngineTypes.state = _menhir_s;
19615 MenhirLib.EngineTypes.semv = ar;
19616 MenhirLib.EngineTypes.startp = _startpos_ar_;
19617 MenhirLib.EngineTypes.endp = _endpos_ar_;
19618 MenhirLib.EngineTypes.next = _menhir_stack;
19619 };
19620 };
19621 };
19622 };
19623 };
19624 } = _menhir_stack in
19625 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
19626 let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
19627 let ispure : 'tv_pure = Obj.magic ispure in
19628 let ar : 'tv_arity = Obj.magic ar in
19629 let _startpos = _startpos_ar_ in
19630 let _endpos = _endpos__6_ in
19631 let _v : 'tv_metadec = let kindfn =
19632 let m = m0 in
19633
19634 # 445 "parser_cocci_menhir.mly"
19635 ( (fun arity name pure check_meta constraints ->
19636 let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
19637 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
19638 !Data.add_exp_meta ty name constraints pure; tok) )
19639 # 19640 "parser_cocci_menhir.ml"
19640
19641 in
19642
19643 # 296 "parser_cocci_menhir.mly"
19644 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19645 # 19646 "parser_cocci_menhir.ml"
19646 in
19647 _menhir_env.MenhirLib.EngineTypes.stack <- {
19648 MenhirLib.EngineTypes.state = _menhir_s;
19649 MenhirLib.EngineTypes.semv = Obj.repr _v;
19650 MenhirLib.EngineTypes.startp = _startpos;
19651 MenhirLib.EngineTypes.endp = _endpos;
19652 MenhirLib.EngineTypes.next = _menhir_stack;
19653 });
19654 (fun _menhir_env ->
19655 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19656 let {
19657 MenhirLib.EngineTypes.startp = _startpos__7_;
19658 MenhirLib.EngineTypes.endp = _endpos__7_;
19659 MenhirLib.EngineTypes.next = {
19660 MenhirLib.EngineTypes.semv = ids;
19661 MenhirLib.EngineTypes.startp = _startpos_ids_;
19662 MenhirLib.EngineTypes.endp = _endpos_ids_;
19663 MenhirLib.EngineTypes.next = {
19664 MenhirLib.EngineTypes.startp = _startpos__5_;
19665 MenhirLib.EngineTypes.endp = _endpos__5_;
19666 MenhirLib.EngineTypes.next = {
19667 MenhirLib.EngineTypes.startp = _startpos__4_;
19668 MenhirLib.EngineTypes.endp = _endpos__4_;
19669 MenhirLib.EngineTypes.next = {
19670 MenhirLib.EngineTypes.semv = vl0;
19671 MenhirLib.EngineTypes.startp = _startpos_vl0_;
19672 MenhirLib.EngineTypes.endp = _endpos_vl0_;
19673 MenhirLib.EngineTypes.next = {
19674 MenhirLib.EngineTypes.semv = ispure;
19675 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19676 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19677 MenhirLib.EngineTypes.next = {
19678 MenhirLib.EngineTypes.state = _menhir_s;
19679 MenhirLib.EngineTypes.semv = ar;
19680 MenhirLib.EngineTypes.startp = _startpos_ar_;
19681 MenhirLib.EngineTypes.endp = _endpos_ar_;
19682 MenhirLib.EngineTypes.next = _menhir_stack;
19683 };
19684 };
19685 };
19686 };
19687 };
19688 };
19689 } = _menhir_stack in
19690 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
19691 let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
19692 let ispure : 'tv_pure = Obj.magic ispure in
19693 let ar : 'tv_arity = Obj.magic ar in
19694 let _startpos = _startpos_ar_ in
19695 let _endpos = _endpos__7_ in
19696 let _v : 'tv_metadec = let kindfn =
19697 let vl = vl0 in
19698
19699 # 450 "parser_cocci_menhir.mly"
19700 ( (fun arity name pure check_meta constraints ->
19701 let ty = Some (List.map (function x -> Type_cocci.Array x) vl) in
19702 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
19703 !Data.add_exp_meta ty name constraints pure; tok) )
19704 # 19705 "parser_cocci_menhir.ml"
19705
19706 in
19707
19708 # 296 "parser_cocci_menhir.mly"
19709 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19710 # 19711 "parser_cocci_menhir.ml"
19711 in
19712 _menhir_env.MenhirLib.EngineTypes.stack <- {
19713 MenhirLib.EngineTypes.state = _menhir_s;
19714 MenhirLib.EngineTypes.semv = Obj.repr _v;
19715 MenhirLib.EngineTypes.startp = _startpos;
19716 MenhirLib.EngineTypes.endp = _endpos;
19717 MenhirLib.EngineTypes.next = _menhir_stack;
19718 });
19719 (fun _menhir_env ->
19720 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19721 let {
19722 MenhirLib.EngineTypes.startp = _startpos__5_;
19723 MenhirLib.EngineTypes.endp = _endpos__5_;
19724 MenhirLib.EngineTypes.next = {
19725 MenhirLib.EngineTypes.semv = ids;
19726 MenhirLib.EngineTypes.startp = _startpos_ids_;
19727 MenhirLib.EngineTypes.endp = _endpos_ids_;
19728 MenhirLib.EngineTypes.next = {
19729 MenhirLib.EngineTypes.startp = _startpos__3_;
19730 MenhirLib.EngineTypes.endp = _endpos__3_;
19731 MenhirLib.EngineTypes.next = {
19732 MenhirLib.EngineTypes.semv = ispure;
19733 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19734 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19735 MenhirLib.EngineTypes.next = {
19736 MenhirLib.EngineTypes.state = _menhir_s;
19737 MenhirLib.EngineTypes.semv = ar;
19738 MenhirLib.EngineTypes.startp = _startpos_ar_;
19739 MenhirLib.EngineTypes.endp = _endpos_ar_;
19740 MenhirLib.EngineTypes.next = _menhir_stack;
19741 };
19742 };
19743 };
19744 };
19745 } = _menhir_stack in
19746 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
19747 let ispure : 'tv_pure = Obj.magic ispure in
19748 let ar : 'tv_arity = Obj.magic ar in
19749 let _startpos = _startpos_ar_ in
19750 let _endpos = _endpos__5_ in
19751 let _v : 'tv_metadec = let kindfn =
19752 let ty =
19753
19754 # 39 "standard.mly"
19755 ( None )
19756 # 19757 "parser_cocci_menhir.ml"
19757
19758 in
19759
19760 # 455 "parser_cocci_menhir.mly"
19761 ( (fun arity name pure check_meta constraints ->
19762 let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
19763 !Data.add_const_meta ty name constraints pure; tok) )
19764 # 19765 "parser_cocci_menhir.ml"
19765
19766 in
19767
19768 # 296 "parser_cocci_menhir.mly"
19769 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19770 # 19771 "parser_cocci_menhir.ml"
19771 in
19772 _menhir_env.MenhirLib.EngineTypes.stack <- {
19773 MenhirLib.EngineTypes.state = _menhir_s;
19774 MenhirLib.EngineTypes.semv = Obj.repr _v;
19775 MenhirLib.EngineTypes.startp = _startpos;
19776 MenhirLib.EngineTypes.endp = _endpos;
19777 MenhirLib.EngineTypes.next = _menhir_stack;
19778 });
19779 (fun _menhir_env ->
19780 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19781 let {
19782 MenhirLib.EngineTypes.startp = _startpos__6_;
19783 MenhirLib.EngineTypes.endp = _endpos__6_;
19784 MenhirLib.EngineTypes.next = {
19785 MenhirLib.EngineTypes.semv = ids;
19786 MenhirLib.EngineTypes.startp = _startpos_ids_;
19787 MenhirLib.EngineTypes.endp = _endpos_ids_;
19788 MenhirLib.EngineTypes.next = {
19789 MenhirLib.EngineTypes.semv = x00;
19790 MenhirLib.EngineTypes.startp = _startpos_x00_;
19791 MenhirLib.EngineTypes.endp = _endpos_x00_;
19792 MenhirLib.EngineTypes.next = {
19793 MenhirLib.EngineTypes.startp = _startpos__3_;
19794 MenhirLib.EngineTypes.endp = _endpos__3_;
19795 MenhirLib.EngineTypes.next = {
19796 MenhirLib.EngineTypes.semv = ispure;
19797 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19798 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19799 MenhirLib.EngineTypes.next = {
19800 MenhirLib.EngineTypes.state = _menhir_s;
19801 MenhirLib.EngineTypes.semv = ar;
19802 MenhirLib.EngineTypes.startp = _startpos_ar_;
19803 MenhirLib.EngineTypes.endp = _endpos_ar_;
19804 MenhirLib.EngineTypes.next = _menhir_stack;
19805 };
19806 };
19807 };
19808 };
19809 };
19810 } = _menhir_stack in
19811 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
19812 let x00 : 'tv_meta_exp_type = Obj.magic x00 in
19813 let ispure : 'tv_pure = Obj.magic ispure in
19814 let ar : 'tv_arity = Obj.magic ar in
19815 let _startpos = _startpos_ar_ in
19816 let _endpos = _endpos__6_ in
19817 let _v : 'tv_metadec = let kindfn =
19818 let x0 = x00 in
19819 let ty =
19820 let x = x0 in
19821
19822 # 41 "standard.mly"
19823 ( Some x )
19824 # 19825 "parser_cocci_menhir.ml"
19825
19826 in
19827
19828 # 455 "parser_cocci_menhir.mly"
19829 ( (fun arity name pure check_meta constraints ->
19830 let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
19831 !Data.add_const_meta ty name constraints pure; tok) )
19832 # 19833 "parser_cocci_menhir.ml"
19833
19834 in
19835
19836 # 296 "parser_cocci_menhir.mly"
19837 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19838 # 19839 "parser_cocci_menhir.ml"
19839 in
19840 _menhir_env.MenhirLib.EngineTypes.stack <- {
19841 MenhirLib.EngineTypes.state = _menhir_s;
19842 MenhirLib.EngineTypes.semv = Obj.repr _v;
19843 MenhirLib.EngineTypes.startp = _startpos;
19844 MenhirLib.EngineTypes.endp = _endpos;
19845 MenhirLib.EngineTypes.next = _menhir_stack;
19846 });
19847 (fun _menhir_env ->
19848 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19849 let {
19850 MenhirLib.EngineTypes.startp = _startpos__5_;
19851 MenhirLib.EngineTypes.endp = _endpos__5_;
19852 MenhirLib.EngineTypes.next = {
19853 MenhirLib.EngineTypes.semv = ids;
19854 MenhirLib.EngineTypes.startp = _startpos_ids_;
19855 MenhirLib.EngineTypes.endp = _endpos_ids_;
19856 MenhirLib.EngineTypes.next = {
19857 MenhirLib.EngineTypes.startp = _startpos__3_;
19858 MenhirLib.EngineTypes.endp = _endpos__3_;
19859 MenhirLib.EngineTypes.next = {
19860 MenhirLib.EngineTypes.semv = ispure;
19861 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19862 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19863 MenhirLib.EngineTypes.next = {
19864 MenhirLib.EngineTypes.state = _menhir_s;
19865 MenhirLib.EngineTypes.semv = ar;
19866 MenhirLib.EngineTypes.startp = _startpos_ar_;
19867 MenhirLib.EngineTypes.endp = _endpos_ar_;
19868 MenhirLib.EngineTypes.next = _menhir_stack;
19869 };
19870 };
19871 };
19872 };
19873 } = _menhir_stack in
19874 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic ids in
19875 let ispure : 'tv_pure = Obj.magic ispure in
19876 let ar : 'tv_arity = Obj.magic ar in
19877 let _startpos = _startpos_ar_ in
19878 let _endpos = _endpos__5_ in
19879 let _v : 'tv_metadec = let kindfn =
19880
19881 # 461 "parser_cocci_menhir.mly"
19882 ( (fun arity name pure check_meta constraints ->
19883 let tok = check_meta(Ast.MetaExpDecl(arity,name,None)) in
19884 !Data.add_exp_meta None name constraints pure; tok) )
19885 # 19886 "parser_cocci_menhir.ml"
19886
19887 in
19888
19889 # 301 "parser_cocci_menhir.mly"
19890 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19891 # 19892 "parser_cocci_menhir.ml"
19892 in
19893 _menhir_env.MenhirLib.EngineTypes.stack <- {
19894 MenhirLib.EngineTypes.state = _menhir_s;
19895 MenhirLib.EngineTypes.semv = Obj.repr _v;
19896 MenhirLib.EngineTypes.startp = _startpos;
19897 MenhirLib.EngineTypes.endp = _endpos;
19898 MenhirLib.EngineTypes.next = _menhir_stack;
19899 });
19900 (fun _menhir_env ->
19901 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19902 let {
19903 MenhirLib.EngineTypes.startp = _startpos__5_;
19904 MenhirLib.EngineTypes.endp = _endpos__5_;
19905 MenhirLib.EngineTypes.next = {
19906 MenhirLib.EngineTypes.semv = ids;
19907 MenhirLib.EngineTypes.startp = _startpos_ids_;
19908 MenhirLib.EngineTypes.endp = _endpos_ids_;
19909 MenhirLib.EngineTypes.next = {
19910 MenhirLib.EngineTypes.semv = vl0;
19911 MenhirLib.EngineTypes.startp = _startpos_vl0_;
19912 MenhirLib.EngineTypes.endp = _endpos_vl0_;
19913 MenhirLib.EngineTypes.next = {
19914 MenhirLib.EngineTypes.semv = ispure;
19915 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19916 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19917 MenhirLib.EngineTypes.next = {
19918 MenhirLib.EngineTypes.state = _menhir_s;
19919 MenhirLib.EngineTypes.semv = ar;
19920 MenhirLib.EngineTypes.startp = _startpos_ar_;
19921 MenhirLib.EngineTypes.endp = _endpos_ar_;
19922 MenhirLib.EngineTypes.next = _menhir_stack;
19923 };
19924 };
19925 };
19926 };
19927 } = _menhir_stack in
19928 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic ids in
19929 let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
19930 let ispure : 'tv_pure = Obj.magic ispure in
19931 let ar : 'tv_arity = Obj.magic ar in
19932 let _startpos = _startpos_ar_ in
19933 let _endpos = _endpos__5_ in
19934 let _v : 'tv_metadec = let kindfn =
19935 let vl = vl0 in
19936
19937 # 465 "parser_cocci_menhir.mly"
19938 ( (fun arity name pure check_meta constraints ->
19939 let ty = Some vl in
19940 (match constraints with
19941 Ast0.NotExpCstrt constraints ->
19942 List.iter
19943 (function c ->
19944 match Ast0.unwrap c with
19945 Ast0.Constant(_) ->
19946 if not
19947 (List.exists
19948 (function
19949 Type_cocci.BaseType(Type_cocci.IntType) -> true
19950 | Type_cocci.BaseType(Type_cocci.ShortType) -> true
19951 | Type_cocci.BaseType(Type_cocci.LongType) -> true
19952 | _ -> false)
19953 vl)
19954 then
19955 failwith "metavariable with int constraint must be an int"
19956 | _ -> ())
19957 constraints
19958 | _ -> ());
19959 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
19960 !Data.add_exp_meta ty name constraints pure; tok)
19961 )
19962 # 19963 "parser_cocci_menhir.ml"
19963
19964 in
19965
19966 # 301 "parser_cocci_menhir.mly"
19967 ( P.create_metadec_with_constraints ar ispure kindfn ids )
19968 # 19969 "parser_cocci_menhir.ml"
19969 in
19970 _menhir_env.MenhirLib.EngineTypes.stack <- {
19971 MenhirLib.EngineTypes.state = _menhir_s;
19972 MenhirLib.EngineTypes.semv = Obj.repr _v;
19973 MenhirLib.EngineTypes.startp = _startpos;
19974 MenhirLib.EngineTypes.endp = _endpos;
19975 MenhirLib.EngineTypes.next = _menhir_stack;
19976 });
19977 (fun _menhir_env ->
19978 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19979 let {
19980 MenhirLib.EngineTypes.startp = _startpos__5_;
19981 MenhirLib.EngineTypes.endp = _endpos__5_;
19982 MenhirLib.EngineTypes.next = {
19983 MenhirLib.EngineTypes.semv = ids;
19984 MenhirLib.EngineTypes.startp = _startpos_ids_;
19985 MenhirLib.EngineTypes.endp = _endpos_ids_;
19986 MenhirLib.EngineTypes.next = {
19987 MenhirLib.EngineTypes.semv = a;
19988 MenhirLib.EngineTypes.startp = _startpos_a_;
19989 MenhirLib.EngineTypes.endp = _endpos_a_;
19990 MenhirLib.EngineTypes.next = {
19991 MenhirLib.EngineTypes.startp = _startpos__2_;
19992 MenhirLib.EngineTypes.endp = _endpos__2_;
19993 MenhirLib.EngineTypes.next = {
19994 MenhirLib.EngineTypes.state = _menhir_s;
19995 MenhirLib.EngineTypes.semv = ar;
19996 MenhirLib.EngineTypes.startp = _startpos_ar_;
19997 MenhirLib.EngineTypes.endp = _endpos_ar_;
19998 MenhirLib.EngineTypes.next = _menhir_stack;
19999 };
20000 };
20001 };
20002 };
20003 } = _menhir_stack in
20004 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic ids in
20005 let a : 'tv_option_TPosAny_ = Obj.magic a in
20006 let ar : 'tv_arity = Obj.magic ar in
20007 let _startpos = _startpos_ar_ in
20008 let _endpos = _endpos__5_ in
20009 let _v : 'tv_metadec =
20010 # 307 "parser_cocci_menhir.mly"
20011 ( (if !Data.in_generating
20012 then failwith "position variables not allowed in a generated rule file");
20013 let kindfn arity name pure check_meta constraints =
20014 let tok = check_meta(Ast.MetaPosDecl(arity,name)) in
20015 let any = match a with None -> Ast.PER | Some _ -> Ast.ALL in
20016 !Data.add_pos_meta name constraints any; tok in
20017 P.create_metadec_with_constraints ar false kindfn ids )
20018 # 20019 "parser_cocci_menhir.ml"
20019 in
20020 _menhir_env.MenhirLib.EngineTypes.stack <- {
20021 MenhirLib.EngineTypes.state = _menhir_s;
20022 MenhirLib.EngineTypes.semv = Obj.repr _v;
20023 MenhirLib.EngineTypes.startp = _startpos;
20024 MenhirLib.EngineTypes.endp = _endpos;
20025 MenhirLib.EngineTypes.next = _menhir_stack;
20026 });
20027 (fun _menhir_env ->
20028 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20029 let {
20030 MenhirLib.EngineTypes.startp = _startpos__9_;
20031 MenhirLib.EngineTypes.endp = _endpos__9_;
20032 MenhirLib.EngineTypes.next = {
20033 MenhirLib.EngineTypes.semv = ids;
20034 MenhirLib.EngineTypes.startp = _startpos_ids_;
20035 MenhirLib.EngineTypes.endp = _endpos_ids_;
20036 MenhirLib.EngineTypes.next = {
20037 MenhirLib.EngineTypes.startp = _startpos__7_;
20038 MenhirLib.EngineTypes.endp = _endpos__7_;
20039 MenhirLib.EngineTypes.next = {
20040 MenhirLib.EngineTypes.semv = id;
20041 MenhirLib.EngineTypes.startp = _startpos_id_;
20042 MenhirLib.EngineTypes.endp = _endpos_id_;
20043 MenhirLib.EngineTypes.next = {
20044 MenhirLib.EngineTypes.startp = _startpos__5_;
20045 MenhirLib.EngineTypes.endp = _endpos__5_;
20046 MenhirLib.EngineTypes.next = {
20047 MenhirLib.EngineTypes.startp = _startpos__4_;
20048 MenhirLib.EngineTypes.endp = _endpos__4_;
20049 MenhirLib.EngineTypes.next = {
20050 MenhirLib.EngineTypes.startp = _startpos__3_;
20051 MenhirLib.EngineTypes.endp = _endpos__3_;
20052 MenhirLib.EngineTypes.next = {
20053 MenhirLib.EngineTypes.semv = ispure;
20054 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20055 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20056 MenhirLib.EngineTypes.next = {
20057 MenhirLib.EngineTypes.state = _menhir_s;
20058 MenhirLib.EngineTypes.semv = ar;
20059 MenhirLib.EngineTypes.startp = _startpos_ar_;
20060 MenhirLib.EngineTypes.endp = _endpos_ar_;
20061 MenhirLib.EngineTypes.next = _menhir_stack;
20062 };
20063 };
20064 };
20065 };
20066 };
20067 };
20068 };
20069 };
20070 } = _menhir_stack in
20071 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
20072 let id : 'tv_pure_ident_or_meta_ident = Obj.magic id in
20073 let ispure : 'tv_pure = Obj.magic ispure in
20074 let ar : 'tv_arity = Obj.magic ar in
20075 let _startpos = _startpos_ar_ in
20076 let _endpos = _endpos__9_ in
20077 let _v : 'tv_metadec =
20078 # 317 "parser_cocci_menhir.mly"
20079 ( P.create_len_metadec ar ispure
20080 (fun lenname arity name pure check_meta ->
20081 let tok =
20082 check_meta(Ast.MetaParamListDecl(arity,name,Some lenname)) in
20083 !Data.add_paramlist_meta name (Some lenname) pure; tok)
20084 id ids )
20085 # 20086 "parser_cocci_menhir.ml"
20086 in
20087 _menhir_env.MenhirLib.EngineTypes.stack <- {
20088 MenhirLib.EngineTypes.state = _menhir_s;
20089 MenhirLib.EngineTypes.semv = Obj.repr _v;
20090 MenhirLib.EngineTypes.startp = _startpos;
20091 MenhirLib.EngineTypes.endp = _endpos;
20092 MenhirLib.EngineTypes.next = _menhir_stack;
20093 });
20094 (fun _menhir_env ->
20095 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20096 let {
20097 MenhirLib.EngineTypes.startp = _startpos__9_;
20098 MenhirLib.EngineTypes.endp = _endpos__9_;
20099 MenhirLib.EngineTypes.next = {
20100 MenhirLib.EngineTypes.semv = ids;
20101 MenhirLib.EngineTypes.startp = _startpos_ids_;
20102 MenhirLib.EngineTypes.endp = _endpos_ids_;
20103 MenhirLib.EngineTypes.next = {
20104 MenhirLib.EngineTypes.startp = _startpos__7_;
20105 MenhirLib.EngineTypes.endp = _endpos__7_;
20106 MenhirLib.EngineTypes.next = {
20107 MenhirLib.EngineTypes.semv = id;
20108 MenhirLib.EngineTypes.startp = _startpos_id_;
20109 MenhirLib.EngineTypes.endp = _endpos_id_;
20110 MenhirLib.EngineTypes.next = {
20111 MenhirLib.EngineTypes.startp = _startpos__5_;
20112 MenhirLib.EngineTypes.endp = _endpos__5_;
20113 MenhirLib.EngineTypes.next = {
20114 MenhirLib.EngineTypes.startp = _startpos__4_;
20115 MenhirLib.EngineTypes.endp = _endpos__4_;
20116 MenhirLib.EngineTypes.next = {
20117 MenhirLib.EngineTypes.startp = _startpos__3_;
20118 MenhirLib.EngineTypes.endp = _endpos__3_;
20119 MenhirLib.EngineTypes.next = {
20120 MenhirLib.EngineTypes.semv = ispure;
20121 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20122 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20123 MenhirLib.EngineTypes.next = {
20124 MenhirLib.EngineTypes.state = _menhir_s;
20125 MenhirLib.EngineTypes.semv = ar;
20126 MenhirLib.EngineTypes.startp = _startpos_ar_;
20127 MenhirLib.EngineTypes.endp = _endpos_ar_;
20128 MenhirLib.EngineTypes.next = _menhir_stack;
20129 };
20130 };
20131 };
20132 };
20133 };
20134 };
20135 };
20136 };
20137 } = _menhir_stack in
20138 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
20139 let id : 'tv_pure_ident_or_meta_ident = Obj.magic id in
20140 let ispure : 'tv_pure = Obj.magic ispure in
20141 let ar : 'tv_arity = Obj.magic ar in
20142 let _startpos = _startpos_ar_ in
20143 let _endpos = _endpos__9_ in
20144 let _v : 'tv_metadec =
20145 # 326 "parser_cocci_menhir.mly"
20146 ( P.create_len_metadec ar ispure
20147 (fun lenname arity name pure check_meta ->
20148 let tok =
20149 check_meta(Ast.MetaExpListDecl(arity,name,Some lenname)) in
20150 !Data.add_explist_meta name (Some lenname) pure; tok)
20151 id ids )
20152 # 20153 "parser_cocci_menhir.ml"
20153 in
20154 _menhir_env.MenhirLib.EngineTypes.stack <- {
20155 MenhirLib.EngineTypes.state = _menhir_s;
20156 MenhirLib.EngineTypes.semv = Obj.repr _v;
20157 MenhirLib.EngineTypes.startp = _startpos;
20158 MenhirLib.EngineTypes.endp = _endpos;
20159 MenhirLib.EngineTypes.next = _menhir_stack;
20160 });
20161 (fun _menhir_env ->
20162 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20163 let {
20164 MenhirLib.EngineTypes.semv = b;
20165 MenhirLib.EngineTypes.startp = _startpos_b_;
20166 MenhirLib.EngineTypes.endp = _endpos_b_;
20167 MenhirLib.EngineTypes.next = {
20168 MenhirLib.EngineTypes.state = _menhir_s;
20169 MenhirLib.EngineTypes.semv = a;
20170 MenhirLib.EngineTypes.startp = _startpos_a_;
20171 MenhirLib.EngineTypes.endp = _endpos_a_;
20172 MenhirLib.EngineTypes.next = _menhir_stack;
20173 };
20174 } = _menhir_stack in
20175 let b : 'tv_list_mzl_ctype__ = Obj.magic b in
20176 let a : 'tv_ctype = Obj.magic a in
20177 let _startpos = _startpos_a_ in
20178 let _endpos = _endpos_b_ in
20179 let _v : 'tv_midzero_list_ctype_ctype_ =
20180 # 1972 "parser_cocci_menhir.mly"
20181 ( let (mids,code) = List.split b in (mids,(a::code)) )
20182 # 20183 "parser_cocci_menhir.ml"
20183 in
20184 _menhir_env.MenhirLib.EngineTypes.stack <- {
20185 MenhirLib.EngineTypes.state = _menhir_s;
20186 MenhirLib.EngineTypes.semv = Obj.repr _v;
20187 MenhirLib.EngineTypes.startp = _startpos;
20188 MenhirLib.EngineTypes.endp = _endpos;
20189 MenhirLib.EngineTypes.next = _menhir_stack;
20190 });
20191 (fun _menhir_env ->
20192 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20193 let {
20194 MenhirLib.EngineTypes.semv = b;
20195 MenhirLib.EngineTypes.startp = _startpos_b_;
20196 MenhirLib.EngineTypes.endp = _endpos_b_;
20197 MenhirLib.EngineTypes.next = {
20198 MenhirLib.EngineTypes.state = _menhir_s;
20199 MenhirLib.EngineTypes.semv = a;
20200 MenhirLib.EngineTypes.startp = _startpos_a_;
20201 MenhirLib.EngineTypes.endp = _endpos_a_;
20202 MenhirLib.EngineTypes.next = _menhir_stack;
20203 };
20204 } = _menhir_stack in
20205 let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
20206 let a : 'tv_eexpr = Obj.magic a in
20207 let _startpos = _startpos_a_ in
20208 let _endpos = _endpos_b_ in
20209 let _v : 'tv_midzero_list_eexpr_eexpr_ =
20210 # 1972 "parser_cocci_menhir.mly"
20211 ( let (mids,code) = List.split b in (mids,(a::code)) )
20212 # 20213 "parser_cocci_menhir.ml"
20213 in
20214 _menhir_env.MenhirLib.EngineTypes.stack <- {
20215 MenhirLib.EngineTypes.state = _menhir_s;
20216 MenhirLib.EngineTypes.semv = Obj.repr _v;
20217 MenhirLib.EngineTypes.startp = _startpos;
20218 MenhirLib.EngineTypes.endp = _endpos;
20219 MenhirLib.EngineTypes.next = _menhir_stack;
20220 });
20221 (fun _menhir_env ->
20222 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20223 let {
20224 MenhirLib.EngineTypes.semv = b;
20225 MenhirLib.EngineTypes.startp = _startpos_b_;
20226 MenhirLib.EngineTypes.endp = _endpos_b_;
20227 MenhirLib.EngineTypes.next = {
20228 MenhirLib.EngineTypes.state = _menhir_s;
20229 MenhirLib.EngineTypes.semv = a;
20230 MenhirLib.EngineTypes.startp = _startpos_a_;
20231 MenhirLib.EngineTypes.endp = _endpos_a_;
20232 MenhirLib.EngineTypes.next = _menhir_stack;
20233 };
20234 } = _menhir_stack in
20235 let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
20236 let a : 'tv_expr = Obj.magic a in
20237 let _startpos = _startpos_a_ in
20238 let _endpos = _endpos_b_ in
20239 let _v : 'tv_midzero_list_expr_eexpr_ =
20240 # 1972 "parser_cocci_menhir.mly"
20241 ( let (mids,code) = List.split b in (mids,(a::code)) )
20242 # 20243 "parser_cocci_menhir.ml"
20243 in
20244 _menhir_env.MenhirLib.EngineTypes.stack <- {
20245 MenhirLib.EngineTypes.state = _menhir_s;
20246 MenhirLib.EngineTypes.semv = Obj.repr _v;
20247 MenhirLib.EngineTypes.startp = _startpos;
20248 MenhirLib.EngineTypes.endp = _endpos;
20249 MenhirLib.EngineTypes.next = _menhir_stack;
20250 });
20251 (fun _menhir_env ->
20252 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20253 let {
20254 MenhirLib.EngineTypes.semv = b;
20255 MenhirLib.EngineTypes.startp = _startpos_b_;
20256 MenhirLib.EngineTypes.endp = _endpos_b_;
20257 MenhirLib.EngineTypes.next = {
20258 MenhirLib.EngineTypes.state = _menhir_s;
20259 MenhirLib.EngineTypes.semv = a;
20260 MenhirLib.EngineTypes.startp = _startpos_a_;
20261 MenhirLib.EngineTypes.endp = _endpos_a_;
20262 MenhirLib.EngineTypes.next = _menhir_stack;
20263 };
20264 } = _menhir_stack in
20265 let b : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic b in
20266 let a : 'tv_fun_after_stm = Obj.magic a in
20267 let _startpos = _startpos_a_ in
20268 let _endpos = _endpos_b_ in
20269 let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ =
20270 # 1972 "parser_cocci_menhir.mly"
20271 ( let (mids,code) = List.split b in (mids,(a::code)) )
20272 # 20273 "parser_cocci_menhir.ml"
20273 in
20274 _menhir_env.MenhirLib.EngineTypes.stack <- {
20275 MenhirLib.EngineTypes.state = _menhir_s;
20276 MenhirLib.EngineTypes.semv = Obj.repr _v;
20277 MenhirLib.EngineTypes.startp = _startpos;
20278 MenhirLib.EngineTypes.endp = _endpos;
20279 MenhirLib.EngineTypes.next = _menhir_stack;
20280 });
20281 (fun _menhir_env ->
20282 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20283 let {
20284 MenhirLib.EngineTypes.semv = b;
20285 MenhirLib.EngineTypes.startp = _startpos_b_;
20286 MenhirLib.EngineTypes.endp = _endpos_b_;
20287 MenhirLib.EngineTypes.next = {
20288 MenhirLib.EngineTypes.state = _menhir_s;
20289 MenhirLib.EngineTypes.semv = a;
20290 MenhirLib.EngineTypes.startp = _startpos_a_;
20291 MenhirLib.EngineTypes.endp = _endpos_a_;
20292 MenhirLib.EngineTypes.next = _menhir_stack;
20293 };
20294 } = _menhir_stack in
20295 let b : 'tv_list_mzl_fun_start__ = Obj.magic b in
20296 let a : 'tv_fun_start = Obj.magic a in
20297 let _startpos = _startpos_a_ in
20298 let _endpos = _endpos_b_ in
20299 let _v : 'tv_midzero_list_fun_start_fun_start_ =
20300 # 1972 "parser_cocci_menhir.mly"
20301 ( let (mids,code) = List.split b in (mids,(a::code)) )
20302 # 20303 "parser_cocci_menhir.ml"
20303 in
20304 _menhir_env.MenhirLib.EngineTypes.stack <- {
20305 MenhirLib.EngineTypes.state = _menhir_s;
20306 MenhirLib.EngineTypes.semv = Obj.repr _v;
20307 MenhirLib.EngineTypes.startp = _startpos;
20308 MenhirLib.EngineTypes.endp = _endpos;
20309 MenhirLib.EngineTypes.next = _menhir_stack;
20310 });
20311 (fun _menhir_env ->
20312 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20313 let {
20314 MenhirLib.EngineTypes.semv = b;
20315 MenhirLib.EngineTypes.startp = _startpos_b_;
20316 MenhirLib.EngineTypes.endp = _endpos_b_;
20317 MenhirLib.EngineTypes.next = {
20318 MenhirLib.EngineTypes.state = _menhir_s;
20319 MenhirLib.EngineTypes.semv = a;
20320 MenhirLib.EngineTypes.startp = _startpos_a_;
20321 MenhirLib.EngineTypes.endp = _endpos_a_;
20322 MenhirLib.EngineTypes.next = _menhir_stack;
20323 };
20324 } = _menhir_stack in
20325 let b : 'tv_list_mzl_rule_elem_statement__ = Obj.magic b in
20326 let a : 'tv_rule_elem_statement = Obj.magic a in
20327 let _startpos = _startpos_a_ in
20328 let _endpos = _endpos_b_ in
20329 let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ =
20330 # 1972 "parser_cocci_menhir.mly"
20331 ( let (mids,code) = List.split b in (mids,(a::code)) )
20332 # 20333 "parser_cocci_menhir.ml"
20333 in
20334 _menhir_env.MenhirLib.EngineTypes.stack <- {
20335 MenhirLib.EngineTypes.state = _menhir_s;
20336 MenhirLib.EngineTypes.semv = Obj.repr _v;
20337 MenhirLib.EngineTypes.startp = _startpos;
20338 MenhirLib.EngineTypes.endp = _endpos;
20339 MenhirLib.EngineTypes.next = _menhir_stack;
20340 });
20341 (fun _menhir_env ->
20342 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20343 let {
20344 MenhirLib.EngineTypes.semv = b;
20345 MenhirLib.EngineTypes.startp = _startpos_b_;
20346 MenhirLib.EngineTypes.endp = _endpos_b_;
20347 MenhirLib.EngineTypes.next = {
20348 MenhirLib.EngineTypes.state = _menhir_s;
20349 MenhirLib.EngineTypes.semv = a;
20350 MenhirLib.EngineTypes.startp = _startpos_a_;
20351 MenhirLib.EngineTypes.endp = _endpos_a_;
20352 MenhirLib.EngineTypes.next = _menhir_stack;
20353 };
20354 } = _menhir_stack in
20355 let b : 'tv_list_mzl_statement__ = Obj.magic b in
20356 let a : 'tv_statement = Obj.magic a in
20357 let _startpos = _startpos_a_ in
20358 let _endpos = _endpos_b_ in
20359 let _v : 'tv_midzero_list_statement_statement_ =
20360 # 1972 "parser_cocci_menhir.mly"
20361 ( let (mids,code) = List.split b in (mids,(a::code)) )
20362 # 20363 "parser_cocci_menhir.ml"
20363 in
20364 _menhir_env.MenhirLib.EngineTypes.stack <- {
20365 MenhirLib.EngineTypes.state = _menhir_s;
20366 MenhirLib.EngineTypes.semv = Obj.repr _v;
20367 MenhirLib.EngineTypes.startp = _startpos;
20368 MenhirLib.EngineTypes.endp = _endpos;
20369 MenhirLib.EngineTypes.next = _menhir_stack;
20370 });
20371 (fun _menhir_env ->
20372 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20373 let {
20374 MenhirLib.EngineTypes.semv = b;
20375 MenhirLib.EngineTypes.startp = _startpos_b_;
20376 MenhirLib.EngineTypes.endp = _endpos_b_;
20377 MenhirLib.EngineTypes.next = {
20378 MenhirLib.EngineTypes.state = _menhir_s;
20379 MenhirLib.EngineTypes.semv = f;
20380 MenhirLib.EngineTypes.startp = _startpos_f_;
20381 MenhirLib.EngineTypes.endp = _endpos_f_;
20382 MenhirLib.EngineTypes.next = _menhir_stack;
20383 };
20384 } = _menhir_stack in
20385 let b : 'tv_loption_minus_start_ = Obj.magic b in
20386 let f : 'tv_loption_filespec_ = Obj.magic f in
20387 let _startpos = _startpos_f_ in
20388 let _endpos = _endpos_b_ in
20389 let _v : 'tv_minus_body =
20390 # 637 "parser_cocci_menhir.mly"
20391 ( match f@b(*@ew*) with
20392 [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
20393 | code -> Top_level.top_level code )
20394 # 20395 "parser_cocci_menhir.ml"
20395 in
20396 _menhir_env.MenhirLib.EngineTypes.stack <- {
20397 MenhirLib.EngineTypes.state = _menhir_s;
20398 MenhirLib.EngineTypes.semv = Obj.repr _v;
20399 MenhirLib.EngineTypes.startp = _startpos;
20400 MenhirLib.EngineTypes.endp = _endpos;
20401 MenhirLib.EngineTypes.next = _menhir_stack;
20402 });
20403 (fun _menhir_env ->
20404 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20405 let {
20406 MenhirLib.EngineTypes.semv = b;
20407 MenhirLib.EngineTypes.startp = _startpos_b_;
20408 MenhirLib.EngineTypes.endp = _endpos_b_;
20409 MenhirLib.EngineTypes.next = {
20410 MenhirLib.EngineTypes.state = _menhir_s;
20411 MenhirLib.EngineTypes.semv = f;
20412 MenhirLib.EngineTypes.startp = _startpos_f_;
20413 MenhirLib.EngineTypes.endp = _endpos_f_;
20414 MenhirLib.EngineTypes.next = _menhir_stack;
20415 };
20416 } = _menhir_stack in
20417 let b : 'tv_top_eexpr = Obj.magic b in
20418 let f : 'tv_loption_filespec_ = Obj.magic f in
20419 let _startpos = _startpos_f_ in
20420 let _endpos = _endpos_b_ in
20421 let _v : 'tv_minus_exp_body =
20422 # 651 "parser_cocci_menhir.mly"
20423 ( match f@[b](*@ew*) with
20424 [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
20425 | code -> Top_level.top_level code )
20426 # 20427 "parser_cocci_menhir.ml"
20427 in
20428 _menhir_env.MenhirLib.EngineTypes.stack <- {
20429 MenhirLib.EngineTypes.state = _menhir_s;
20430 MenhirLib.EngineTypes.semv = Obj.repr _v;
20431 MenhirLib.EngineTypes.startp = _startpos;
20432 MenhirLib.EngineTypes.endp = _endpos;
20433 MenhirLib.EngineTypes.next = _menhir_stack;
20434 });
20435 (fun _menhir_env ->
20436 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20437 let {
20438 MenhirLib.EngineTypes.startp = _startpos__2_;
20439 MenhirLib.EngineTypes.endp = _endpos__2_;
20440 MenhirLib.EngineTypes.next = {
20441 MenhirLib.EngineTypes.state = _menhir_s;
20442 MenhirLib.EngineTypes.semv = _1;
20443 MenhirLib.EngineTypes.startp = _startpos__1_;
20444 MenhirLib.EngineTypes.endp = _endpos__1_;
20445 MenhirLib.EngineTypes.next = _menhir_stack;
20446 };
20447 } = _menhir_stack in
20448 let _1 : 'tv_minus_exp_body = Obj.magic _1 in
20449 let _startpos = _startpos__1_ in
20450 let _endpos = _endpos__2_ in
20451 let _v : (
20452 # 140 "parser_cocci_menhir.mly"
20453 (Ast0_cocci.rule)
20454 # 20455 "parser_cocci_menhir.ml"
20455 ) =
20456 # 180 "parser_cocci_menhir.mly"
20457 ( _1 )
20458 # 20459 "parser_cocci_menhir.ml"
20459 in
20460 _menhir_env.MenhirLib.EngineTypes.stack <- {
20461 MenhirLib.EngineTypes.state = _menhir_s;
20462 MenhirLib.EngineTypes.semv = Obj.repr _v;
20463 MenhirLib.EngineTypes.startp = _startpos;
20464 MenhirLib.EngineTypes.endp = _endpos;
20465 MenhirLib.EngineTypes.next = _menhir_stack;
20466 });
20467 (fun _menhir_env ->
20468 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20469 let {
20470 MenhirLib.EngineTypes.startp = _startpos__2_;
20471 MenhirLib.EngineTypes.endp = _endpos__2_;
20472 MenhirLib.EngineTypes.next = {
20473 MenhirLib.EngineTypes.state = _menhir_s;
20474 MenhirLib.EngineTypes.semv = m;
20475 MenhirLib.EngineTypes.startp = _startpos_m_;
20476 MenhirLib.EngineTypes.endp = _endpos_m_;
20477 MenhirLib.EngineTypes.next = _menhir_stack;
20478 };
20479 } = _menhir_stack in
20480 let m : 'tv_minus_exp_body = Obj.magic m in
20481 let _startpos = _startpos_m_ in
20482 let _endpos = _endpos__2_ in
20483 let _v : (
20484 # 140 "parser_cocci_menhir.mly"
20485 (Ast0_cocci.rule)
20486 # 20487 "parser_cocci_menhir.ml"
20487 ) =
20488 # 180 "parser_cocci_menhir.mly"
20489 ( m )
20490 # 20491 "parser_cocci_menhir.ml"
20491 in
20492 _menhir_env.MenhirLib.EngineTypes.stack <- {
20493 MenhirLib.EngineTypes.state = _menhir_s;
20494 MenhirLib.EngineTypes.semv = Obj.repr _v;
20495 MenhirLib.EngineTypes.startp = _startpos;
20496 MenhirLib.EngineTypes.endp = _endpos;
20497 MenhirLib.EngineTypes.next = _menhir_stack;
20498 });
20499 (fun _menhir_env ->
20500 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20501 let {
20502 MenhirLib.EngineTypes.startp = _startpos__2_;
20503 MenhirLib.EngineTypes.endp = _endpos__2_;
20504 MenhirLib.EngineTypes.next = {
20505 MenhirLib.EngineTypes.state = _menhir_s;
20506 MenhirLib.EngineTypes.semv = m;
20507 MenhirLib.EngineTypes.startp = _startpos_m_;
20508 MenhirLib.EngineTypes.endp = _endpos_m_;
20509 MenhirLib.EngineTypes.next = _menhir_stack;
20510 };
20511 } = _menhir_stack in
20512 let m : 'tv_minus_exp_body = Obj.magic m in
20513 let _startpos = _startpos_m_ in
20514 let _endpos = _endpos__2_ in
20515 let _v : (
20516 # 140 "parser_cocci_menhir.mly"
20517 (Ast0_cocci.rule)
20518 # 20519 "parser_cocci_menhir.ml"
20519 ) =
20520 # 181 "parser_cocci_menhir.mly"
20521 ( m )
20522 # 20523 "parser_cocci_menhir.ml"
20523 in
20524 _menhir_env.MenhirLib.EngineTypes.stack <- {
20525 MenhirLib.EngineTypes.state = _menhir_s;
20526 MenhirLib.EngineTypes.semv = Obj.repr _v;
20527 MenhirLib.EngineTypes.startp = _startpos;
20528 MenhirLib.EngineTypes.endp = _endpos;
20529 MenhirLib.EngineTypes.next = _menhir_stack;
20530 });
20531 (fun _menhir_env ->
20532 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20533 let {
20534 MenhirLib.EngineTypes.startp = _startpos__2_;
20535 MenhirLib.EngineTypes.endp = _endpos__2_;
20536 MenhirLib.EngineTypes.next = {
20537 MenhirLib.EngineTypes.state = _menhir_s;
20538 MenhirLib.EngineTypes.semv = _1;
20539 MenhirLib.EngineTypes.startp = _startpos__1_;
20540 MenhirLib.EngineTypes.endp = _endpos__1_;
20541 MenhirLib.EngineTypes.next = _menhir_stack;
20542 };
20543 } = _menhir_stack in
20544 let _1 : 'tv_minus_body = Obj.magic _1 in
20545 let _startpos = _startpos__1_ in
20546 let _endpos = _endpos__2_ in
20547 let _v : (
20548 # 137 "parser_cocci_menhir.mly"
20549 (Ast0_cocci.rule)
20550 # 20551 "parser_cocci_menhir.ml"
20551 ) =
20552 # 176 "parser_cocci_menhir.mly"
20553 ( _1 )
20554 # 20555 "parser_cocci_menhir.ml"
20555 in
20556 _menhir_env.MenhirLib.EngineTypes.stack <- {
20557 MenhirLib.EngineTypes.state = _menhir_s;
20558 MenhirLib.EngineTypes.semv = Obj.repr _v;
20559 MenhirLib.EngineTypes.startp = _startpos;
20560 MenhirLib.EngineTypes.endp = _endpos;
20561 MenhirLib.EngineTypes.next = _menhir_stack;
20562 });
20563 (fun _menhir_env ->
20564 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20565 let {
20566 MenhirLib.EngineTypes.startp = _startpos__2_;
20567 MenhirLib.EngineTypes.endp = _endpos__2_;
20568 MenhirLib.EngineTypes.next = {
20569 MenhirLib.EngineTypes.state = _menhir_s;
20570 MenhirLib.EngineTypes.semv = m;
20571 MenhirLib.EngineTypes.startp = _startpos_m_;
20572 MenhirLib.EngineTypes.endp = _endpos_m_;
20573 MenhirLib.EngineTypes.next = _menhir_stack;
20574 };
20575 } = _menhir_stack in
20576 let m : 'tv_minus_body = Obj.magic m in
20577 let _startpos = _startpos_m_ in
20578 let _endpos = _endpos__2_ in
20579 let _v : (
20580 # 137 "parser_cocci_menhir.mly"
20581 (Ast0_cocci.rule)
20582 # 20583 "parser_cocci_menhir.ml"
20583 ) =
20584 # 176 "parser_cocci_menhir.mly"
20585 ( m )
20586 # 20587 "parser_cocci_menhir.ml"
20587 in
20588 _menhir_env.MenhirLib.EngineTypes.stack <- {
20589 MenhirLib.EngineTypes.state = _menhir_s;
20590 MenhirLib.EngineTypes.semv = Obj.repr _v;
20591 MenhirLib.EngineTypes.startp = _startpos;
20592 MenhirLib.EngineTypes.endp = _endpos;
20593 MenhirLib.EngineTypes.next = _menhir_stack;
20594 });
20595 (fun _menhir_env ->
20596 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20597 let {
20598 MenhirLib.EngineTypes.startp = _startpos__2_;
20599 MenhirLib.EngineTypes.endp = _endpos__2_;
20600 MenhirLib.EngineTypes.next = {
20601 MenhirLib.EngineTypes.state = _menhir_s;
20602 MenhirLib.EngineTypes.semv = m;
20603 MenhirLib.EngineTypes.startp = _startpos_m_;
20604 MenhirLib.EngineTypes.endp = _endpos_m_;
20605 MenhirLib.EngineTypes.next = _menhir_stack;
20606 };
20607 } = _menhir_stack in
20608 let m : 'tv_minus_body = Obj.magic m in
20609 let _startpos = _startpos_m_ in
20610 let _endpos = _endpos__2_ in
20611 let _v : (
20612 # 137 "parser_cocci_menhir.mly"
20613 (Ast0_cocci.rule)
20614 # 20615 "parser_cocci_menhir.ml"
20615 ) =
20616 # 177 "parser_cocci_menhir.mly"
20617 ( m )
20618 # 20619 "parser_cocci_menhir.ml"
20619 in
20620 _menhir_env.MenhirLib.EngineTypes.stack <- {
20621 MenhirLib.EngineTypes.state = _menhir_s;
20622 MenhirLib.EngineTypes.semv = Obj.repr _v;
20623 MenhirLib.EngineTypes.startp = _startpos;
20624 MenhirLib.EngineTypes.endp = _endpos;
20625 MenhirLib.EngineTypes.next = _menhir_stack;
20626 });
20627 (fun _menhir_env ->
20628 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20629 let {
20630 MenhirLib.EngineTypes.state = _menhir_s;
20631 MenhirLib.EngineTypes.semv = _1;
20632 MenhirLib.EngineTypes.startp = _startpos__1_;
20633 MenhirLib.EngineTypes.endp = _endpos__1_;
20634 MenhirLib.EngineTypes.next = _menhir_stack;
20635 } = _menhir_stack in
20636 let _1 : 'tv_fundecl = Obj.magic _1 in
20637 let _startpos = _startpos__1_ in
20638 let _endpos = _endpos__1_ in
20639 let _v : 'tv_minus_start =
20640 # 1781 "parser_cocci_menhir.mly"
20641 ( [Ast0.wrap(Ast0.DECL(_1))] )
20642 # 20643 "parser_cocci_menhir.ml"
20643 in
20644 _menhir_env.MenhirLib.EngineTypes.stack <- {
20645 MenhirLib.EngineTypes.state = _menhir_s;
20646 MenhirLib.EngineTypes.semv = Obj.repr _v;
20647 MenhirLib.EngineTypes.startp = _startpos;
20648 MenhirLib.EngineTypes.endp = _endpos;
20649 MenhirLib.EngineTypes.next = _menhir_stack;
20650 });
20651 (fun _menhir_env ->
20652 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20653 let {
20654 MenhirLib.EngineTypes.state = _menhir_s;
20655 MenhirLib.EngineTypes.semv = _1;
20656 MenhirLib.EngineTypes.startp = _startpos__1_;
20657 MenhirLib.EngineTypes.endp = _endpos__1_;
20658 MenhirLib.EngineTypes.next = _menhir_stack;
20659 } = _menhir_stack in
20660 let _1 : 'tv_ctype = Obj.magic _1 in
20661 let _startpos = _startpos__1_ in
20662 let _endpos = _endpos__1_ in
20663 let _v : 'tv_minus_start =
20664 # 1782 "parser_cocci_menhir.mly"
20665 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
20666 # 20667 "parser_cocci_menhir.ml"
20667 in
20668 _menhir_env.MenhirLib.EngineTypes.stack <- {
20669 MenhirLib.EngineTypes.state = _menhir_s;
20670 MenhirLib.EngineTypes.semv = Obj.repr _v;
20671 MenhirLib.EngineTypes.startp = _startpos;
20672 MenhirLib.EngineTypes.endp = _endpos;
20673 MenhirLib.EngineTypes.next = _menhir_stack;
20674 });
20675 (fun _menhir_env ->
20676 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20677 let {
20678 MenhirLib.EngineTypes.state = _menhir_s;
20679 MenhirLib.EngineTypes.semv = _1;
20680 MenhirLib.EngineTypes.startp = _startpos__1_;
20681 MenhirLib.EngineTypes.endp = _endpos__1_;
20682 MenhirLib.EngineTypes.next = _menhir_stack;
20683 } = _menhir_stack in
20684 let _1 : 'tv_top_init = Obj.magic _1 in
20685 let _startpos = _startpos__1_ in
20686 let _endpos = _endpos__1_ in
20687 let _v : 'tv_minus_start =
20688 # 1783 "parser_cocci_menhir.mly"
20689 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
20690 # 20691 "parser_cocci_menhir.ml"
20691 in
20692 _menhir_env.MenhirLib.EngineTypes.stack <- {
20693 MenhirLib.EngineTypes.state = _menhir_s;
20694 MenhirLib.EngineTypes.semv = Obj.repr _v;
20695 MenhirLib.EngineTypes.startp = _startpos;
20696 MenhirLib.EngineTypes.endp = _endpos;
20697 MenhirLib.EngineTypes.next = _menhir_stack;
20698 });
20699 (fun _menhir_env ->
20700 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20701 let {
20702 MenhirLib.EngineTypes.state = _menhir_s;
20703 MenhirLib.EngineTypes.semv = _1;
20704 MenhirLib.EngineTypes.startp = _startpos__1_;
20705 MenhirLib.EngineTypes.endp = _endpos__1_;
20706 MenhirLib.EngineTypes.next = _menhir_stack;
20707 } = _menhir_stack in
20708 let _1 : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = Obj.magic _1 in
20709 let _startpos = _startpos__1_ in
20710 let _endpos = _endpos__1_ in
20711 let _v : 'tv_minus_start =
20712 # 1785 "parser_cocci_menhir.mly"
20713 ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
20714 # 20715 "parser_cocci_menhir.ml"
20715 in
20716 _menhir_env.MenhirLib.EngineTypes.stack <- {
20717 MenhirLib.EngineTypes.state = _menhir_s;
20718 MenhirLib.EngineTypes.semv = Obj.repr _v;
20719 MenhirLib.EngineTypes.startp = _startpos;
20720 MenhirLib.EngineTypes.endp = _endpos;
20721 MenhirLib.EngineTypes.next = _menhir_stack;
20722 });
20723 (fun _menhir_env ->
20724 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20725 let {
20726 MenhirLib.EngineTypes.semv = b;
20727 MenhirLib.EngineTypes.startp = _startpos_b_;
20728 MenhirLib.EngineTypes.endp = _endpos_b_;
20729 MenhirLib.EngineTypes.next = {
20730 MenhirLib.EngineTypes.state = _menhir_s;
20731 MenhirLib.EngineTypes.semv = a;
20732 MenhirLib.EngineTypes.startp = _startpos_a_;
20733 MenhirLib.EngineTypes.endp = _endpos_a_;
20734 MenhirLib.EngineTypes.next = _menhir_stack;
20735 };
20736 } = _menhir_stack in
20737 let b : 'tv_ctype = Obj.magic b in
20738 let a : (
20739 # 80 "parser_cocci_menhir.mly"
20740 (Data.clt)
20741 # 20742 "parser_cocci_menhir.ml"
20742 ) = Obj.magic a in
20743 let _startpos = _startpos_a_ in
20744 let _endpos = _endpos_b_ in
20745 let _v : 'tv_mzl_ctype_ =
20746 # 1975 "parser_cocci_menhir.mly"
20747 ( (P.clt2mcode "|" a, b) )
20748 # 20749 "parser_cocci_menhir.ml"
20749 in
20750 _menhir_env.MenhirLib.EngineTypes.stack <- {
20751 MenhirLib.EngineTypes.state = _menhir_s;
20752 MenhirLib.EngineTypes.semv = Obj.repr _v;
20753 MenhirLib.EngineTypes.startp = _startpos;
20754 MenhirLib.EngineTypes.endp = _endpos;
20755 MenhirLib.EngineTypes.next = _menhir_stack;
20756 });
20757 (fun _menhir_env ->
20758 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20759 let {
20760 MenhirLib.EngineTypes.semv = b;
20761 MenhirLib.EngineTypes.startp = _startpos_b_;
20762 MenhirLib.EngineTypes.endp = _endpos_b_;
20763 MenhirLib.EngineTypes.next = {
20764 MenhirLib.EngineTypes.state = _menhir_s;
20765 MenhirLib.EngineTypes.semv = a;
20766 MenhirLib.EngineTypes.startp = _startpos_a_;
20767 MenhirLib.EngineTypes.endp = _endpos_a_;
20768 MenhirLib.EngineTypes.next = _menhir_stack;
20769 };
20770 } = _menhir_stack in
20771 let b : 'tv_eexpr = Obj.magic b in
20772 let a : (
20773 # 80 "parser_cocci_menhir.mly"
20774 (Data.clt)
20775 # 20776 "parser_cocci_menhir.ml"
20776 ) = Obj.magic a in
20777 let _startpos = _startpos_a_ in
20778 let _endpos = _endpos_b_ in
20779 let _v : 'tv_mzl_eexpr_ =
20780 # 1975 "parser_cocci_menhir.mly"
20781 ( (P.clt2mcode "|" a, b) )
20782 # 20783 "parser_cocci_menhir.ml"
20783 in
20784 _menhir_env.MenhirLib.EngineTypes.stack <- {
20785 MenhirLib.EngineTypes.state = _menhir_s;
20786 MenhirLib.EngineTypes.semv = Obj.repr _v;
20787 MenhirLib.EngineTypes.startp = _startpos;
20788 MenhirLib.EngineTypes.endp = _endpos;
20789 MenhirLib.EngineTypes.next = _menhir_stack;
20790 });
20791 (fun _menhir_env ->
20792 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20793 let {
20794 MenhirLib.EngineTypes.semv = b;
20795 MenhirLib.EngineTypes.startp = _startpos_b_;
20796 MenhirLib.EngineTypes.endp = _endpos_b_;
20797 MenhirLib.EngineTypes.next = {
20798 MenhirLib.EngineTypes.state = _menhir_s;
20799 MenhirLib.EngineTypes.semv = a;
20800 MenhirLib.EngineTypes.startp = _startpos_a_;
20801 MenhirLib.EngineTypes.endp = _endpos_a_;
20802 MenhirLib.EngineTypes.next = _menhir_stack;
20803 };
20804 } = _menhir_stack in
20805 let b : 'tv_fun_after_dots_or = Obj.magic b in
20806 let a : (
20807 # 80 "parser_cocci_menhir.mly"
20808 (Data.clt)
20809 # 20810 "parser_cocci_menhir.ml"
20810 ) = Obj.magic a in
20811 let _startpos = _startpos_a_ in
20812 let _endpos = _endpos_b_ in
20813 let _v : 'tv_mzl_fun_after_dots_or_ =
20814 # 1975 "parser_cocci_menhir.mly"
20815 ( (P.clt2mcode "|" a, b) )
20816 # 20817 "parser_cocci_menhir.ml"
20817 in
20818 _menhir_env.MenhirLib.EngineTypes.stack <- {
20819 MenhirLib.EngineTypes.state = _menhir_s;
20820 MenhirLib.EngineTypes.semv = Obj.repr _v;
20821 MenhirLib.EngineTypes.startp = _startpos;
20822 MenhirLib.EngineTypes.endp = _endpos;
20823 MenhirLib.EngineTypes.next = _menhir_stack;
20824 });
20825 (fun _menhir_env ->
20826 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20827 let {
20828 MenhirLib.EngineTypes.semv = b;
20829 MenhirLib.EngineTypes.startp = _startpos_b_;
20830 MenhirLib.EngineTypes.endp = _endpos_b_;
20831 MenhirLib.EngineTypes.next = {
20832 MenhirLib.EngineTypes.state = _menhir_s;
20833 MenhirLib.EngineTypes.semv = a;
20834 MenhirLib.EngineTypes.startp = _startpos_a_;
20835 MenhirLib.EngineTypes.endp = _endpos_a_;
20836 MenhirLib.EngineTypes.next = _menhir_stack;
20837 };
20838 } = _menhir_stack in
20839 let b : 'tv_fun_start = Obj.magic b in
20840 let a : (
20841 # 80 "parser_cocci_menhir.mly"
20842 (Data.clt)
20843 # 20844 "parser_cocci_menhir.ml"
20844 ) = Obj.magic a in
20845 let _startpos = _startpos_a_ in
20846 let _endpos = _endpos_b_ in
20847 let _v : 'tv_mzl_fun_start_ =
20848 # 1975 "parser_cocci_menhir.mly"
20849 ( (P.clt2mcode "|" a, b) )
20850 # 20851 "parser_cocci_menhir.ml"
20851 in
20852 _menhir_env.MenhirLib.EngineTypes.stack <- {
20853 MenhirLib.EngineTypes.state = _menhir_s;
20854 MenhirLib.EngineTypes.semv = Obj.repr _v;
20855 MenhirLib.EngineTypes.startp = _startpos;
20856 MenhirLib.EngineTypes.endp = _endpos;
20857 MenhirLib.EngineTypes.next = _menhir_stack;
20858 });
20859 (fun _menhir_env ->
20860 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20861 let {
20862 MenhirLib.EngineTypes.semv = b;
20863 MenhirLib.EngineTypes.startp = _startpos_b_;
20864 MenhirLib.EngineTypes.endp = _endpos_b_;
20865 MenhirLib.EngineTypes.next = {
20866 MenhirLib.EngineTypes.state = _menhir_s;
20867 MenhirLib.EngineTypes.semv = a;
20868 MenhirLib.EngineTypes.startp = _startpos_a_;
20869 MenhirLib.EngineTypes.endp = _endpos_a_;
20870 MenhirLib.EngineTypes.next = _menhir_stack;
20871 };
20872 } = _menhir_stack in
20873 let b : 'tv_rule_elem_statement = Obj.magic b in
20874 let a : (
20875 # 80 "parser_cocci_menhir.mly"
20876 (Data.clt)
20877 # 20878 "parser_cocci_menhir.ml"
20878 ) = Obj.magic a in
20879 let _startpos = _startpos_a_ in
20880 let _endpos = _endpos_b_ in
20881 let _v : 'tv_mzl_rule_elem_statement_ =
20882 # 1975 "parser_cocci_menhir.mly"
20883 ( (P.clt2mcode "|" a, b) )
20884 # 20885 "parser_cocci_menhir.ml"
20885 in
20886 _menhir_env.MenhirLib.EngineTypes.stack <- {
20887 MenhirLib.EngineTypes.state = _menhir_s;
20888 MenhirLib.EngineTypes.semv = Obj.repr _v;
20889 MenhirLib.EngineTypes.startp = _startpos;
20890 MenhirLib.EngineTypes.endp = _endpos;
20891 MenhirLib.EngineTypes.next = _menhir_stack;
20892 });
20893 (fun _menhir_env ->
20894 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20895 let {
20896 MenhirLib.EngineTypes.semv = b;
20897 MenhirLib.EngineTypes.startp = _startpos_b_;
20898 MenhirLib.EngineTypes.endp = _endpos_b_;
20899 MenhirLib.EngineTypes.next = {
20900 MenhirLib.EngineTypes.state = _menhir_s;
20901 MenhirLib.EngineTypes.semv = a;
20902 MenhirLib.EngineTypes.startp = _startpos_a_;
20903 MenhirLib.EngineTypes.endp = _endpos_a_;
20904 MenhirLib.EngineTypes.next = _menhir_stack;
20905 };
20906 } = _menhir_stack in
20907 let b : 'tv_statement = Obj.magic b in
20908 let a : (
20909 # 80 "parser_cocci_menhir.mly"
20910 (Data.clt)
20911 # 20912 "parser_cocci_menhir.ml"
20912 ) = Obj.magic a in
20913 let _startpos = _startpos_a_ in
20914 let _endpos = _endpos_b_ in
20915 let _v : 'tv_mzl_statement_ =
20916 # 1975 "parser_cocci_menhir.mly"
20917 ( (P.clt2mcode "|" a, b) )
20918 # 20919 "parser_cocci_menhir.ml"
20919 in
20920 _menhir_env.MenhirLib.EngineTypes.stack <- {
20921 MenhirLib.EngineTypes.state = _menhir_s;
20922 MenhirLib.EngineTypes.semv = Obj.repr _v;
20923 MenhirLib.EngineTypes.startp = _startpos;
20924 MenhirLib.EngineTypes.endp = _endpos;
20925 MenhirLib.EngineTypes.next = _menhir_stack;
20926 });
20927 (fun _menhir_env ->
20928 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20929 let {
20930 MenhirLib.EngineTypes.state = _menhir_s;
20931 MenhirLib.EngineTypes.semv = _1;
20932 MenhirLib.EngineTypes.startp = _startpos__1_;
20933 MenhirLib.EngineTypes.endp = _endpos__1_;
20934 MenhirLib.EngineTypes.next = _menhir_stack;
20935 } = _menhir_stack in
20936 let _1 : 'tv_decl = Obj.magic _1 in
20937 let _startpos = _startpos__1_ in
20938 let _endpos = _endpos__1_ in
20939 let _v : 'tv_name_opt_decl =
20940 # 862 "parser_cocci_menhir.mly"
20941 ( _1 )
20942 # 20943 "parser_cocci_menhir.ml"
20943 in
20944 _menhir_env.MenhirLib.EngineTypes.stack <- {
20945 MenhirLib.EngineTypes.state = _menhir_s;
20946 MenhirLib.EngineTypes.semv = Obj.repr _v;
20947 MenhirLib.EngineTypes.startp = _startpos;
20948 MenhirLib.EngineTypes.endp = _endpos;
20949 MenhirLib.EngineTypes.next = _menhir_stack;
20950 });
20951 (fun _menhir_env ->
20952 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20953 let {
20954 MenhirLib.EngineTypes.semv = rp1;
20955 MenhirLib.EngineTypes.startp = _startpos_rp1_;
20956 MenhirLib.EngineTypes.endp = _endpos_rp1_;
20957 MenhirLib.EngineTypes.next = {
20958 MenhirLib.EngineTypes.semv = d;
20959 MenhirLib.EngineTypes.startp = _startpos_d_;
20960 MenhirLib.EngineTypes.endp = _endpos_d_;
20961 MenhirLib.EngineTypes.next = {
20962 MenhirLib.EngineTypes.semv = lp1;
20963 MenhirLib.EngineTypes.startp = _startpos_lp1_;
20964 MenhirLib.EngineTypes.endp = _endpos_lp1_;
20965 MenhirLib.EngineTypes.next = {
20966 MenhirLib.EngineTypes.semv = rp;
20967 MenhirLib.EngineTypes.startp = _startpos_rp_;
20968 MenhirLib.EngineTypes.endp = _endpos_rp_;
20969 MenhirLib.EngineTypes.next = {
20970 MenhirLib.EngineTypes.semv = s;
20971 MenhirLib.EngineTypes.startp = _startpos_s_;
20972 MenhirLib.EngineTypes.endp = _endpos_s_;
20973 MenhirLib.EngineTypes.next = {
20974 MenhirLib.EngineTypes.semv = lp;
20975 MenhirLib.EngineTypes.startp = _startpos_lp_;
20976 MenhirLib.EngineTypes.endp = _endpos_lp_;
20977 MenhirLib.EngineTypes.next = {
20978 MenhirLib.EngineTypes.state = _menhir_s;
20979 MenhirLib.EngineTypes.semv = t;
20980 MenhirLib.EngineTypes.startp = _startpos_t_;
20981 MenhirLib.EngineTypes.endp = _endpos_t_;
20982 MenhirLib.EngineTypes.next = _menhir_stack;
20983 };
20984 };
20985 };
20986 };
20987 };
20988 };
20989 } = _menhir_stack in
20990 let rp1 : (
20991 # 80 "parser_cocci_menhir.mly"
20992 (Data.clt)
20993 # 20994 "parser_cocci_menhir.ml"
20994 ) = Obj.magic rp1 in
20995 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
20996 let lp1 : (
20997 # 79 "parser_cocci_menhir.mly"
20998 (Data.clt)
20999 # 21000 "parser_cocci_menhir.ml"
21000 ) = Obj.magic lp1 in
21001 let rp : (
21002 # 80 "parser_cocci_menhir.mly"
21003 (Data.clt)
21004 # 21005 "parser_cocci_menhir.ml"
21005 ) = Obj.magic rp in
21006 let s : (
21007 # 102 "parser_cocci_menhir.mly"
21008 (Data.clt)
21009 # 21010 "parser_cocci_menhir.ml"
21010 ) = Obj.magic s in
21011 let lp : (
21012 # 79 "parser_cocci_menhir.mly"
21013 (Data.clt)
21014 # 21015 "parser_cocci_menhir.ml"
21015 ) = Obj.magic lp in
21016 let t : 'tv_ctype = Obj.magic t in
21017 let _startpos = _startpos_t_ in
21018 let _endpos = _endpos_rp1_ in
21019 let _v : 'tv_name_opt_decl =
21020 # 865 "parser_cocci_menhir.mly"
21021 ( let fnptr =
21022 Ast0.wrap
21023 (Ast0.FunctionPointer
21024 (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
21025 P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
21026 Ast0.wrap(Ast0.Param(fnptr, None)) )
21027 # 21028 "parser_cocci_menhir.ml"
21028 in
21029 _menhir_env.MenhirLib.EngineTypes.stack <- {
21030 MenhirLib.EngineTypes.state = _menhir_s;
21031 MenhirLib.EngineTypes.semv = Obj.repr _v;
21032 MenhirLib.EngineTypes.startp = _startpos;
21033 MenhirLib.EngineTypes.endp = _endpos;
21034 MenhirLib.EngineTypes.next = _menhir_stack;
21035 });
21036 (fun _menhir_env ->
21037 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21038 let {
21039 MenhirLib.EngineTypes.semv = _2;
21040 MenhirLib.EngineTypes.startp = _startpos__2_;
21041 MenhirLib.EngineTypes.endp = _endpos__2_;
21042 MenhirLib.EngineTypes.next = {
21043 MenhirLib.EngineTypes.state = _menhir_s;
21044 MenhirLib.EngineTypes.semv = _1;
21045 MenhirLib.EngineTypes.startp = _startpos__1_;
21046 MenhirLib.EngineTypes.endp = _endpos__1_;
21047 MenhirLib.EngineTypes.next = _menhir_stack;
21048 };
21049 } = _menhir_stack in
21050 let _2 : 'tv_nest_after_stm = Obj.magic _2 in
21051 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
21052 let _startpos = _startpos__1_ in
21053 let _endpos = _endpos__2_ in
21054 let _v : 'tv_nest_after_dots =
21055 # 1896 "parser_cocci_menhir.mly"
21056 (_1@_2)
21057 # 21058 "parser_cocci_menhir.ml"
21058 in
21059 _menhir_env.MenhirLib.EngineTypes.stack <- {
21060 MenhirLib.EngineTypes.state = _menhir_s;
21061 MenhirLib.EngineTypes.semv = Obj.repr _v;
21062 MenhirLib.EngineTypes.startp = _startpos;
21063 MenhirLib.EngineTypes.endp = _endpos;
21064 MenhirLib.EngineTypes.next = _menhir_stack;
21065 });
21066 (fun _menhir_env ->
21067 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21068 let {
21069 MenhirLib.EngineTypes.semv = _2;
21070 MenhirLib.EngineTypes.startp = _startpos__2_;
21071 MenhirLib.EngineTypes.endp = _endpos__2_;
21072 MenhirLib.EngineTypes.next = {
21073 MenhirLib.EngineTypes.state = _menhir_s;
21074 MenhirLib.EngineTypes.startp = _startpos__1_;
21075 MenhirLib.EngineTypes.endp = _endpos__1_;
21076 MenhirLib.EngineTypes.next = _menhir_stack;
21077 };
21078 } = _menhir_stack in
21079 let _2 : 'tv_nest_after_exp = Obj.magic _2 in
21080 let _startpos = _startpos__1_ in
21081 let _endpos = _endpos__2_ in
21082 let _v : 'tv_nest_after_dots =
21083 # 1897 "parser_cocci_menhir.mly"
21084 (_2)
21085 # 21086 "parser_cocci_menhir.ml"
21086 in
21087 _menhir_env.MenhirLib.EngineTypes.stack <- {
21088 MenhirLib.EngineTypes.state = _menhir_s;
21089 MenhirLib.EngineTypes.semv = Obj.repr _v;
21090 MenhirLib.EngineTypes.startp = _startpos;
21091 MenhirLib.EngineTypes.endp = _endpos;
21092 MenhirLib.EngineTypes.next = _menhir_stack;
21093 });
21094 (fun _menhir_env ->
21095 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21096 let {
21097 MenhirLib.EngineTypes.semv = _2;
21098 MenhirLib.EngineTypes.startp = _startpos__2_;
21099 MenhirLib.EngineTypes.endp = _endpos__2_;
21100 MenhirLib.EngineTypes.next = {
21101 MenhirLib.EngineTypes.state = _menhir_s;
21102 MenhirLib.EngineTypes.semv = _1;
21103 MenhirLib.EngineTypes.startp = _startpos__1_;
21104 MenhirLib.EngineTypes.endp = _endpos__1_;
21105 MenhirLib.EngineTypes.next = _menhir_stack;
21106 };
21107 } = _menhir_stack in
21108 let _2 : 'tv_nest_after_exp = Obj.magic _2 in
21109 let _1 : 'tv_expr = Obj.magic _1 in
21110 let _startpos = _startpos__1_ in
21111 let _endpos = _endpos__2_ in
21112 let _v : 'tv_nest_after_dots =
21113 # 1898 "parser_cocci_menhir.mly"
21114 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
21115 # 21116 "parser_cocci_menhir.ml"
21116 in
21117 _menhir_env.MenhirLib.EngineTypes.stack <- {
21118 MenhirLib.EngineTypes.state = _menhir_s;
21119 MenhirLib.EngineTypes.semv = Obj.repr _v;
21120 MenhirLib.EngineTypes.startp = _startpos;
21121 MenhirLib.EngineTypes.endp = _endpos;
21122 MenhirLib.EngineTypes.next = _menhir_stack;
21123 });
21124 (fun _menhir_env ->
21125 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21126 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
21127 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
21128 let _endpos = _startpos in
21129 let _v : 'tv_nest_after_exp =
21130 # 1906 "parser_cocci_menhir.mly"
21131 ([])
21132 # 21133 "parser_cocci_menhir.ml"
21133 in
21134 _menhir_env.MenhirLib.EngineTypes.stack <- {
21135 MenhirLib.EngineTypes.state = _menhir_s;
21136 MenhirLib.EngineTypes.semv = Obj.repr _v;
21137 MenhirLib.EngineTypes.startp = _startpos;
21138 MenhirLib.EngineTypes.endp = _endpos;
21139 MenhirLib.EngineTypes.next = _menhir_stack;
21140 });
21141 (fun _menhir_env ->
21142 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21143 let {
21144 MenhirLib.EngineTypes.semv = _2;
21145 MenhirLib.EngineTypes.startp = _startpos__2_;
21146 MenhirLib.EngineTypes.endp = _endpos__2_;
21147 MenhirLib.EngineTypes.next = {
21148 MenhirLib.EngineTypes.state = _menhir_s;
21149 MenhirLib.EngineTypes.semv = _1;
21150 MenhirLib.EngineTypes.startp = _startpos__1_;
21151 MenhirLib.EngineTypes.endp = _endpos__1_;
21152 MenhirLib.EngineTypes.next = _menhir_stack;
21153 };
21154 } = _menhir_stack in
21155 let _2 : 'tv_nest_after_dots = Obj.magic _2 in
21156 let _1 : 'tv_stm_dots = Obj.magic _1 in
21157 let _startpos = _startpos__1_ in
21158 let _endpos = _endpos__2_ in
21159 let _v : 'tv_nest_after_exp =
21160 # 1907 "parser_cocci_menhir.mly"
21161 (_1::_2)
21162 # 21163 "parser_cocci_menhir.ml"
21163 in
21164 _menhir_env.MenhirLib.EngineTypes.stack <- {
21165 MenhirLib.EngineTypes.state = _menhir_s;
21166 MenhirLib.EngineTypes.semv = Obj.repr _v;
21167 MenhirLib.EngineTypes.startp = _startpos;
21168 MenhirLib.EngineTypes.endp = _endpos;
21169 MenhirLib.EngineTypes.next = _menhir_stack;
21170 });
21171 (fun _menhir_env ->
21172 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21173 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
21174 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
21175 let _endpos = _startpos in
21176 let _v : 'tv_nest_after_stm =
21177 # 1901 "parser_cocci_menhir.mly"
21178 ([])
21179 # 21180 "parser_cocci_menhir.ml"
21180 in
21181 _menhir_env.MenhirLib.EngineTypes.stack <- {
21182 MenhirLib.EngineTypes.state = _menhir_s;
21183 MenhirLib.EngineTypes.semv = Obj.repr _v;
21184 MenhirLib.EngineTypes.startp = _startpos;
21185 MenhirLib.EngineTypes.endp = _endpos;
21186 MenhirLib.EngineTypes.next = _menhir_stack;
21187 });
21188 (fun _menhir_env ->
21189 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21190 let {
21191 MenhirLib.EngineTypes.semv = _2;
21192 MenhirLib.EngineTypes.startp = _startpos__2_;
21193 MenhirLib.EngineTypes.endp = _endpos__2_;
21194 MenhirLib.EngineTypes.next = {
21195 MenhirLib.EngineTypes.state = _menhir_s;
21196 MenhirLib.EngineTypes.semv = _1;
21197 MenhirLib.EngineTypes.startp = _startpos__1_;
21198 MenhirLib.EngineTypes.endp = _endpos__1_;
21199 MenhirLib.EngineTypes.next = _menhir_stack;
21200 };
21201 } = _menhir_stack in
21202 let _2 : 'tv_nest_after_dots = Obj.magic _2 in
21203 let _1 : 'tv_stm_dots = Obj.magic _1 in
21204 let _startpos = _startpos__1_ in
21205 let _endpos = _endpos__2_ in
21206 let _v : 'tv_nest_after_stm =
21207 # 1902 "parser_cocci_menhir.mly"
21208 (_1::_2)
21209 # 21210 "parser_cocci_menhir.ml"
21210 in
21211 _menhir_env.MenhirLib.EngineTypes.stack <- {
21212 MenhirLib.EngineTypes.state = _menhir_s;
21213 MenhirLib.EngineTypes.semv = Obj.repr _v;
21214 MenhirLib.EngineTypes.startp = _startpos;
21215 MenhirLib.EngineTypes.endp = _endpos;
21216 MenhirLib.EngineTypes.next = _menhir_stack;
21217 });
21218 (fun _menhir_env ->
21219 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21220 let {
21221 MenhirLib.EngineTypes.semv = _2;
21222 MenhirLib.EngineTypes.startp = _startpos__2_;
21223 MenhirLib.EngineTypes.endp = _endpos__2_;
21224 MenhirLib.EngineTypes.next = {
21225 MenhirLib.EngineTypes.state = _menhir_s;
21226 MenhirLib.EngineTypes.semv = _1;
21227 MenhirLib.EngineTypes.startp = _startpos__1_;
21228 MenhirLib.EngineTypes.endp = _endpos__1_;
21229 MenhirLib.EngineTypes.next = _menhir_stack;
21230 };
21231 } = _menhir_stack in
21232 let _2 : 'tv_nest_after_stm = Obj.magic _2 in
21233 let _1 : 'tv_decl_statement = Obj.magic _1 in
21234 let _startpos = _startpos__1_ in
21235 let _endpos = _endpos__2_ in
21236 let _v : 'tv_nest_after_stm =
21237 # 1903 "parser_cocci_menhir.mly"
21238 (_1@_2)
21239 # 21240 "parser_cocci_menhir.ml"
21240 in
21241 _menhir_env.MenhirLib.EngineTypes.stack <- {
21242 MenhirLib.EngineTypes.state = _menhir_s;
21243 MenhirLib.EngineTypes.semv = Obj.repr _v;
21244 MenhirLib.EngineTypes.startp = _startpos;
21245 MenhirLib.EngineTypes.endp = _endpos;
21246 MenhirLib.EngineTypes.next = _menhir_stack;
21247 });
21248 (fun _menhir_env ->
21249 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21250 let {
21251 MenhirLib.EngineTypes.semv = c;
21252 MenhirLib.EngineTypes.startp = _startpos_c_;
21253 MenhirLib.EngineTypes.endp = _endpos_c_;
21254 MenhirLib.EngineTypes.next = {
21255 MenhirLib.EngineTypes.semv = e;
21256 MenhirLib.EngineTypes.startp = _startpos_e_;
21257 MenhirLib.EngineTypes.endp = _endpos_e_;
21258 MenhirLib.EngineTypes.next = {
21259 MenhirLib.EngineTypes.state = _menhir_s;
21260 MenhirLib.EngineTypes.semv = _1;
21261 MenhirLib.EngineTypes.startp = _startpos__1_;
21262 MenhirLib.EngineTypes.endp = _endpos__1_;
21263 MenhirLib.EngineTypes.next = _menhir_stack;
21264 };
21265 };
21266 } = _menhir_stack in
21267 let c : (
21268 # 76 "parser_cocci_menhir.mly"
21269 (Data.clt)
21270 # 21271 "parser_cocci_menhir.ml"
21271 ) = Obj.magic c in
21272 let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
21273 let _1 : (
21274 # 76 "parser_cocci_menhir.mly"
21275 (Data.clt)
21276 # 21277 "parser_cocci_menhir.ml"
21277 ) = Obj.magic _1 in
21278 let _startpos = _startpos__1_ in
21279 let _endpos = _endpos_c_ in
21280 let _v : 'tv_nest_expressions =
21281 # 1255 "parser_cocci_menhir.mly"
21282 ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
21283 Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
21284 P.clt2mcode "...>" c, None, false)) )
21285 # 21286 "parser_cocci_menhir.ml"
21286 in
21287 _menhir_env.MenhirLib.EngineTypes.stack <- {
21288 MenhirLib.EngineTypes.state = _menhir_s;
21289 MenhirLib.EngineTypes.semv = Obj.repr _v;
21290 MenhirLib.EngineTypes.startp = _startpos;
21291 MenhirLib.EngineTypes.endp = _endpos;
21292 MenhirLib.EngineTypes.next = _menhir_stack;
21293 });
21294 (fun _menhir_env ->
21295 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21296 let {
21297 MenhirLib.EngineTypes.semv = c;
21298 MenhirLib.EngineTypes.startp = _startpos_c_;
21299 MenhirLib.EngineTypes.endp = _endpos_c_;
21300 MenhirLib.EngineTypes.next = {
21301 MenhirLib.EngineTypes.semv = e;
21302 MenhirLib.EngineTypes.startp = _startpos_e_;
21303 MenhirLib.EngineTypes.endp = _endpos_e_;
21304 MenhirLib.EngineTypes.next = {
21305 MenhirLib.EngineTypes.state = _menhir_s;
21306 MenhirLib.EngineTypes.semv = _1;
21307 MenhirLib.EngineTypes.startp = _startpos__1_;
21308 MenhirLib.EngineTypes.endp = _endpos__1_;
21309 MenhirLib.EngineTypes.next = _menhir_stack;
21310 };
21311 };
21312 } = _menhir_stack in
21313 let c : (
21314 # 76 "parser_cocci_menhir.mly"
21315 (Data.clt)
21316 # 21317 "parser_cocci_menhir.ml"
21317 ) = Obj.magic c in
21318 let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
21319 let _1 : (
21320 # 76 "parser_cocci_menhir.mly"
21321 (Data.clt)
21322 # 21323 "parser_cocci_menhir.ml"
21323 ) = Obj.magic _1 in
21324 let _startpos = _startpos__1_ in
21325 let _endpos = _endpos_c_ in
21326 let _v : 'tv_nest_expressions =
21327 # 1259 "parser_cocci_menhir.mly"
21328 ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
21329 Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
21330 P.clt2mcode "...+>" c, None, true)) )
21331 # 21332 "parser_cocci_menhir.ml"
21332 in
21333 _menhir_env.MenhirLib.EngineTypes.stack <- {
21334 MenhirLib.EngineTypes.state = _menhir_s;
21335 MenhirLib.EngineTypes.semv = Obj.repr _v;
21336 MenhirLib.EngineTypes.startp = _startpos;
21337 MenhirLib.EngineTypes.endp = _endpos;
21338 MenhirLib.EngineTypes.next = _menhir_stack;
21339 });
21340 (fun _menhir_env ->
21341 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21342 let {
21343 MenhirLib.EngineTypes.state = _menhir_s;
21344 MenhirLib.EngineTypes.semv = _1;
21345 MenhirLib.EngineTypes.startp = _startpos__1_;
21346 MenhirLib.EngineTypes.endp = _endpos__1_;
21347 MenhirLib.EngineTypes.next = _menhir_stack;
21348 } = _menhir_stack in
21349 let _1 : 'tv_nest_after_dots = Obj.magic _1 in
21350 let _startpos = _startpos__1_ in
21351 let _endpos = _endpos__1_ in
21352 let _v : 'tv_nest_start =
21353 # 1893 "parser_cocci_menhir.mly"
21354 ( Ast0.wrap(Ast0.DOTS(_1)) )
21355 # 21356 "parser_cocci_menhir.ml"
21356 in
21357 _menhir_env.MenhirLib.EngineTypes.stack <- {
21358 MenhirLib.EngineTypes.state = _menhir_s;
21359 MenhirLib.EngineTypes.semv = Obj.repr _v;
21360 MenhirLib.EngineTypes.startp = _startpos;
21361 MenhirLib.EngineTypes.endp = _endpos;
21362 MenhirLib.EngineTypes.next = _menhir_stack;
21363 });
21364 (fun _menhir_env ->
21365 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21366 let {
21367 MenhirLib.EngineTypes.state = _menhir_s;
21368 MenhirLib.EngineTypes.startp = _startpos__1_;
21369 MenhirLib.EngineTypes.endp = _endpos__1_;
21370 MenhirLib.EngineTypes.next = _menhir_stack;
21371 } = _menhir_stack in
21372 let _startpos = _startpos__1_ in
21373 let _endpos = _endpos__1_ in
21374 let _v : (
21375 # 171 "parser_cocci_menhir.mly"
21376 (unit)
21377 # 21378 "parser_cocci_menhir.ml"
21378 ) =
21379 # 2042 "parser_cocci_menhir.mly"
21380 ( () )
21381 # 21382 "parser_cocci_menhir.ml"
21382 in
21383 _menhir_env.MenhirLib.EngineTypes.stack <- {
21384 MenhirLib.EngineTypes.state = _menhir_s;
21385 MenhirLib.EngineTypes.semv = Obj.repr _v;
21386 MenhirLib.EngineTypes.startp = _startpos;
21387 MenhirLib.EngineTypes.endp = _endpos;
21388 MenhirLib.EngineTypes.next = _menhir_stack;
21389 });
21390 (fun _menhir_env ->
21391 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21392 let {
21393 MenhirLib.EngineTypes.startp = _startpos__2_;
21394 MenhirLib.EngineTypes.endp = _endpos__2_;
21395 MenhirLib.EngineTypes.next = {
21396 MenhirLib.EngineTypes.state = _menhir_s;
21397 MenhirLib.EngineTypes.startp = _startpos__1_;
21398 MenhirLib.EngineTypes.endp = _endpos__1_;
21399 MenhirLib.EngineTypes.next = _menhir_stack;
21400 };
21401 } = _menhir_stack in
21402 let _startpos = _startpos__1_ in
21403 let _endpos = _endpos__2_ in
21404 let _v : (
21405 # 171 "parser_cocci_menhir.mly"
21406 (unit)
21407 # 21408 "parser_cocci_menhir.ml"
21408 ) =
21409 # 2043 "parser_cocci_menhir.mly"
21410 ( () )
21411 # 21412 "parser_cocci_menhir.ml"
21412 in
21413 _menhir_env.MenhirLib.EngineTypes.stack <- {
21414 MenhirLib.EngineTypes.state = _menhir_s;
21415 MenhirLib.EngineTypes.semv = Obj.repr _v;
21416 MenhirLib.EngineTypes.startp = _startpos;
21417 MenhirLib.EngineTypes.endp = _endpos;
21418 MenhirLib.EngineTypes.next = _menhir_stack;
21419 });
21420 (fun _menhir_env ->
21421 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21422 let {
21423 MenhirLib.EngineTypes.state = _menhir_s;
21424 MenhirLib.EngineTypes.startp = _startpos__1_;
21425 MenhirLib.EngineTypes.endp = _endpos__1_;
21426 MenhirLib.EngineTypes.next = _menhir_stack;
21427 } = _menhir_stack in
21428 let _startpos = _startpos__1_ in
21429 let _endpos = _endpos__1_ in
21430 let _v : (
21431 # 171 "parser_cocci_menhir.mly"
21432 (unit)
21433 # 21434 "parser_cocci_menhir.ml"
21434 ) =
21435 # 2044 "parser_cocci_menhir.mly"
21436 ( () )
21437 # 21438 "parser_cocci_menhir.ml"
21438 in
21439 _menhir_env.MenhirLib.EngineTypes.stack <- {
21440 MenhirLib.EngineTypes.state = _menhir_s;
21441 MenhirLib.EngineTypes.semv = Obj.repr _v;
21442 MenhirLib.EngineTypes.startp = _startpos;
21443 MenhirLib.EngineTypes.endp = _endpos;
21444 MenhirLib.EngineTypes.next = _menhir_stack;
21445 });
21446 (fun _menhir_env ->
21447 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21448 let {
21449 MenhirLib.EngineTypes.semv = dg;
21450 MenhirLib.EngineTypes.startp = _startpos_dg_;
21451 MenhirLib.EngineTypes.endp = _endpos_dg_;
21452 MenhirLib.EngineTypes.next = {
21453 MenhirLib.EngineTypes.state = _menhir_s;
21454 MenhirLib.EngineTypes.semv = g;
21455 MenhirLib.EngineTypes.startp = _startpos_g_;
21456 MenhirLib.EngineTypes.endp = _endpos_g_;
21457 MenhirLib.EngineTypes.next = _menhir_stack;
21458 };
21459 } = _menhir_stack in
21460 let dg : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic dg in
21461 let g : 'tv_dexpr = Obj.magic g in
21462 let _startpos = _startpos_g_ in
21463 let _endpos = _endpos_dg_ in
21464 let _v : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ =
21465 # 1423 "parser_cocci_menhir.mly"
21466 ( function dot_builder ->
21467 g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
21468 # 21469 "parser_cocci_menhir.ml"
21469 in
21470 _menhir_env.MenhirLib.EngineTypes.stack <- {
21471 MenhirLib.EngineTypes.state = _menhir_s;
21472 MenhirLib.EngineTypes.semv = Obj.repr _v;
21473 MenhirLib.EngineTypes.startp = _startpos;
21474 MenhirLib.EngineTypes.endp = _endpos;
21475 MenhirLib.EngineTypes.next = _menhir_stack;
21476 });
21477 (fun _menhir_env ->
21478 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21479 let {
21480 MenhirLib.EngineTypes.state = _menhir_s;
21481 MenhirLib.EngineTypes.semv = x;
21482 MenhirLib.EngineTypes.startp = _startpos_x_;
21483 MenhirLib.EngineTypes.endp = _endpos_x_;
21484 MenhirLib.EngineTypes.next = _menhir_stack;
21485 } = _menhir_stack in
21486 let x : (
21487 # 102 "parser_cocci_menhir.mly"
21488 (Data.clt)
21489 # 21490 "parser_cocci_menhir.ml"
21490 ) = Obj.magic x in
21491 let _startpos = _startpos_x_ in
21492 let _endpos = _endpos_x_ in
21493 let _v : 'tv_nonempty_list_TMul_ =
21494 # 124 "standard.mly"
21495 ( [ x ] )
21496 # 21497 "parser_cocci_menhir.ml"
21497 in
21498 _menhir_env.MenhirLib.EngineTypes.stack <- {
21499 MenhirLib.EngineTypes.state = _menhir_s;
21500 MenhirLib.EngineTypes.semv = Obj.repr _v;
21501 MenhirLib.EngineTypes.startp = _startpos;
21502 MenhirLib.EngineTypes.endp = _endpos;
21503 MenhirLib.EngineTypes.next = _menhir_stack;
21504 });
21505 (fun _menhir_env ->
21506 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21507 let {
21508 MenhirLib.EngineTypes.semv = xs;
21509 MenhirLib.EngineTypes.startp = _startpos_xs_;
21510 MenhirLib.EngineTypes.endp = _endpos_xs_;
21511 MenhirLib.EngineTypes.next = {
21512 MenhirLib.EngineTypes.state = _menhir_s;
21513 MenhirLib.EngineTypes.semv = x;
21514 MenhirLib.EngineTypes.startp = _startpos_x_;
21515 MenhirLib.EngineTypes.endp = _endpos_x_;
21516 MenhirLib.EngineTypes.next = _menhir_stack;
21517 };
21518 } = _menhir_stack in
21519 let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in
21520 let x : (
21521 # 102 "parser_cocci_menhir.mly"
21522 (Data.clt)
21523 # 21524 "parser_cocci_menhir.ml"
21524 ) = Obj.magic x in
21525 let _startpos = _startpos_x_ in
21526 let _endpos = _endpos_xs_ in
21527 let _v : 'tv_nonempty_list_TMul_ =
21528 # 126 "standard.mly"
21529 ( x :: xs )
21530 # 21531 "parser_cocci_menhir.ml"
21531 in
21532 _menhir_env.MenhirLib.EngineTypes.stack <- {
21533 MenhirLib.EngineTypes.state = _menhir_s;
21534 MenhirLib.EngineTypes.semv = Obj.repr _v;
21535 MenhirLib.EngineTypes.startp = _startpos;
21536 MenhirLib.EngineTypes.endp = _endpos;
21537 MenhirLib.EngineTypes.next = _menhir_stack;
21538 });
21539 (fun _menhir_env ->
21540 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21541 let {
21542 MenhirLib.EngineTypes.semv = i;
21543 MenhirLib.EngineTypes.startp = _startpos_i_;
21544 MenhirLib.EngineTypes.endp = _endpos_i_;
21545 MenhirLib.EngineTypes.next = {
21546 MenhirLib.EngineTypes.state = _menhir_s;
21547 MenhirLib.EngineTypes.startp = _startpos__1_;
21548 MenhirLib.EngineTypes.endp = _endpos__1_;
21549 MenhirLib.EngineTypes.next = _menhir_stack;
21550 };
21551 } = _menhir_stack in
21552 let i : 'tv_ident_or_const = Obj.magic i in
21553 let _startpos = _startpos__1_ in
21554 let _endpos = _endpos_i_ in
21555 let _v : 'tv_not_ceq =
21556 # 1596 "parser_cocci_menhir.mly"
21557 ( (if !Data.in_iso
21558 then failwith "constraints not allowed in iso file");
21559 (if !Data.in_generating
21560 then failwith "constraints not allowed in a generated rule file");
21561 [i] )
21562 # 21563 "parser_cocci_menhir.ml"
21563 in
21564 _menhir_env.MenhirLib.EngineTypes.stack <- {
21565 MenhirLib.EngineTypes.state = _menhir_s;
21566 MenhirLib.EngineTypes.semv = Obj.repr _v;
21567 MenhirLib.EngineTypes.startp = _startpos;
21568 MenhirLib.EngineTypes.endp = _endpos;
21569 MenhirLib.EngineTypes.next = _menhir_stack;
21570 });
21571 (fun _menhir_env ->
21572 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21573 let {
21574 MenhirLib.EngineTypes.startp = _startpos__4_;
21575 MenhirLib.EngineTypes.endp = _endpos__4_;
21576 MenhirLib.EngineTypes.next = {
21577 MenhirLib.EngineTypes.semv = l;
21578 MenhirLib.EngineTypes.startp = _startpos_l_;
21579 MenhirLib.EngineTypes.endp = _endpos_l_;
21580 MenhirLib.EngineTypes.next = {
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.startp = _startpos__1_;
21586 MenhirLib.EngineTypes.endp = _endpos__1_;
21587 MenhirLib.EngineTypes.next = _menhir_stack;
21588 };
21589 };
21590 };
21591 } = _menhir_stack in
21592 let l : 'tv_comma_list_ident_or_const_ = Obj.magic l in
21593 let _startpos = _startpos__1_ in
21594 let _endpos = _endpos__4_ in
21595 let _v : 'tv_not_ceq =
21596 # 1602 "parser_cocci_menhir.mly"
21597 ( (if !Data.in_iso
21598 then failwith "constraints not allowed in iso file");
21599 (if !Data.in_generating
21600 then failwith "constraints not allowed in a generated rule file");
21601 l )
21602 # 21603 "parser_cocci_menhir.ml"
21603 in
21604 _menhir_env.MenhirLib.EngineTypes.stack <- {
21605 MenhirLib.EngineTypes.state = _menhir_s;
21606 MenhirLib.EngineTypes.semv = Obj.repr _v;
21607 MenhirLib.EngineTypes.startp = _startpos;
21608 MenhirLib.EngineTypes.endp = _endpos;
21609 MenhirLib.EngineTypes.next = _menhir_stack;
21610 });
21611 (fun _menhir_env ->
21612 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21613 let {
21614 MenhirLib.EngineTypes.state = _menhir_s;
21615 MenhirLib.EngineTypes.semv = ceq;
21616 MenhirLib.EngineTypes.startp = _startpos_ceq_;
21617 MenhirLib.EngineTypes.endp = _endpos_ceq_;
21618 MenhirLib.EngineTypes.next = _menhir_stack;
21619 } = _menhir_stack in
21620 let ceq : 'tv_not_ceq = Obj.magic ceq in
21621 let _startpos = _startpos_ceq_ in
21622 let _endpos = _endpos_ceq_ in
21623 let _v : 'tv_not_ceq_or_sub =
21624 # 1572 "parser_cocci_menhir.mly"
21625 (Ast0.NotExpCstrt ceq)
21626 # 21627 "parser_cocci_menhir.ml"
21627 in
21628 _menhir_env.MenhirLib.EngineTypes.stack <- {
21629 MenhirLib.EngineTypes.state = _menhir_s;
21630 MenhirLib.EngineTypes.semv = Obj.repr _v;
21631 MenhirLib.EngineTypes.startp = _startpos;
21632 MenhirLib.EngineTypes.endp = _endpos;
21633 MenhirLib.EngineTypes.next = _menhir_stack;
21634 });
21635 (fun _menhir_env ->
21636 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21637 let {
21638 MenhirLib.EngineTypes.state = _menhir_s;
21639 MenhirLib.EngineTypes.semv = s;
21640 MenhirLib.EngineTypes.startp = _startpos_s_;
21641 MenhirLib.EngineTypes.endp = _endpos_s_;
21642 MenhirLib.EngineTypes.next = _menhir_stack;
21643 } = _menhir_stack in
21644 let s : 'tv_sub = Obj.magic s in
21645 let _startpos = _startpos_s_ in
21646 let _endpos = _endpos_s_ in
21647 let _v : 'tv_not_ceq_or_sub =
21648 # 1573 "parser_cocci_menhir.mly"
21649 (Ast0.SubExpCstrt s)
21650 # 21651 "parser_cocci_menhir.ml"
21651 in
21652 _menhir_env.MenhirLib.EngineTypes.stack <- {
21653 MenhirLib.EngineTypes.state = _menhir_s;
21654 MenhirLib.EngineTypes.semv = Obj.repr _v;
21655 MenhirLib.EngineTypes.startp = _startpos;
21656 MenhirLib.EngineTypes.endp = _endpos;
21657 MenhirLib.EngineTypes.next = _menhir_stack;
21658 });
21659 (fun _menhir_env ->
21660 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21661 let {
21662 MenhirLib.EngineTypes.semv = i;
21663 MenhirLib.EngineTypes.startp = _startpos_i_;
21664 MenhirLib.EngineTypes.endp = _endpos_i_;
21665 MenhirLib.EngineTypes.next = {
21666 MenhirLib.EngineTypes.state = _menhir_s;
21667 MenhirLib.EngineTypes.startp = _startpos__1_;
21668 MenhirLib.EngineTypes.endp = _endpos__1_;
21669 MenhirLib.EngineTypes.next = _menhir_stack;
21670 };
21671 } = _menhir_stack in
21672 let i : 'tv_pure_ident = Obj.magic i in
21673 let _startpos = _startpos__1_ in
21674 let _endpos = _endpos_i_ in
21675 let _v : 'tv_not_eqe =
21676 # 1577 "parser_cocci_menhir.mly"
21677 ( (if !Data.in_iso
21678 then failwith "constraints not allowed in iso file");
21679 (if !Data.in_generating
21680 then failwith "constraints not allowed in a generated rule file");
21681 [Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))]
21682 )
21683 # 21684 "parser_cocci_menhir.ml"
21684 in
21685 _menhir_env.MenhirLib.EngineTypes.stack <- {
21686 MenhirLib.EngineTypes.state = _menhir_s;
21687 MenhirLib.EngineTypes.semv = Obj.repr _v;
21688 MenhirLib.EngineTypes.startp = _startpos;
21689 MenhirLib.EngineTypes.endp = _endpos;
21690 MenhirLib.EngineTypes.next = _menhir_stack;
21691 });
21692 (fun _menhir_env ->
21693 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21694 let {
21695 MenhirLib.EngineTypes.startp = _startpos__4_;
21696 MenhirLib.EngineTypes.endp = _endpos__4_;
21697 MenhirLib.EngineTypes.next = {
21698 MenhirLib.EngineTypes.semv = l;
21699 MenhirLib.EngineTypes.startp = _startpos_l_;
21700 MenhirLib.EngineTypes.endp = _endpos_l_;
21701 MenhirLib.EngineTypes.next = {
21702 MenhirLib.EngineTypes.startp = _startpos__2_;
21703 MenhirLib.EngineTypes.endp = _endpos__2_;
21704 MenhirLib.EngineTypes.next = {
21705 MenhirLib.EngineTypes.state = _menhir_s;
21706 MenhirLib.EngineTypes.startp = _startpos__1_;
21707 MenhirLib.EngineTypes.endp = _endpos__1_;
21708 MenhirLib.EngineTypes.next = _menhir_stack;
21709 };
21710 };
21711 };
21712 } = _menhir_stack in
21713 let l : 'tv_comma_list_pure_ident_ = Obj.magic l in
21714 let _startpos = _startpos__1_ in
21715 let _endpos = _endpos__4_ in
21716 let _v : 'tv_not_eqe =
21717 # 1584 "parser_cocci_menhir.mly"
21718 ( (if !Data.in_iso
21719 then failwith "constraints not allowed in iso file");
21720 (if !Data.in_generating
21721 then failwith "constraints not allowed in a generated rule file");
21722 List.map
21723 (function i ->
21724 Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))))
21725 l
21726 )
21727 # 21728 "parser_cocci_menhir.ml"
21728 in
21729 _menhir_env.MenhirLib.EngineTypes.stack <- {
21730 MenhirLib.EngineTypes.state = _menhir_s;
21731 MenhirLib.EngineTypes.semv = Obj.repr _v;
21732 MenhirLib.EngineTypes.startp = _startpos;
21733 MenhirLib.EngineTypes.endp = _endpos;
21734 MenhirLib.EngineTypes.next = _menhir_stack;
21735 });
21736 (fun _menhir_env ->
21737 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21738 let {
21739 MenhirLib.EngineTypes.semv = i;
21740 MenhirLib.EngineTypes.startp = _startpos_i_;
21741 MenhirLib.EngineTypes.endp = _endpos_i_;
21742 MenhirLib.EngineTypes.next = {
21743 MenhirLib.EngineTypes.state = _menhir_s;
21744 MenhirLib.EngineTypes.startp = _startpos__1_;
21745 MenhirLib.EngineTypes.endp = _endpos__1_;
21746 MenhirLib.EngineTypes.next = _menhir_stack;
21747 };
21748 } = _menhir_stack in
21749 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
21750 let _startpos = _startpos__1_ in
21751 let _endpos = _endpos_i_ in
21752 let _v : 'tv_not_eqid =
21753 # 1534 "parser_cocci_menhir.mly"
21754 ( (if !Data.in_iso
21755 then failwith "constraints not allowed in iso file");
21756 (if !Data.in_generating
21757 (* pb: constraints not stored with metavars; too lazy to search for
21758 them in the pattern *)
21759 then failwith "constraints not allowed in a generated rule file");
21760 (match i with
21761 (Some rn,id) ->
21762 let i =
21763 P.check_inherited_constraint i
21764 (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in
21765 Ast.IdNegIdSet([],[i])
21766 | (None,i) -> Ast.IdNegIdSet([i],[])) )
21767 # 21768 "parser_cocci_menhir.ml"
21768 in
21769 _menhir_env.MenhirLib.EngineTypes.stack <- {
21770 MenhirLib.EngineTypes.state = _menhir_s;
21771 MenhirLib.EngineTypes.semv = Obj.repr _v;
21772 MenhirLib.EngineTypes.startp = _startpos;
21773 MenhirLib.EngineTypes.endp = _endpos;
21774 MenhirLib.EngineTypes.next = _menhir_stack;
21775 });
21776 (fun _menhir_env ->
21777 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21778 let {
21779 MenhirLib.EngineTypes.startp = _startpos__4_;
21780 MenhirLib.EngineTypes.endp = _endpos__4_;
21781 MenhirLib.EngineTypes.next = {
21782 MenhirLib.EngineTypes.semv = l;
21783 MenhirLib.EngineTypes.startp = _startpos_l_;
21784 MenhirLib.EngineTypes.endp = _endpos_l_;
21785 MenhirLib.EngineTypes.next = {
21786 MenhirLib.EngineTypes.startp = _startpos__2_;
21787 MenhirLib.EngineTypes.endp = _endpos__2_;
21788 MenhirLib.EngineTypes.next = {
21789 MenhirLib.EngineTypes.state = _menhir_s;
21790 MenhirLib.EngineTypes.startp = _startpos__1_;
21791 MenhirLib.EngineTypes.endp = _endpos__1_;
21792 MenhirLib.EngineTypes.next = _menhir_stack;
21793 };
21794 };
21795 };
21796 } = _menhir_stack in
21797 let l : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic l in
21798 let _startpos = _startpos__1_ in
21799 let _endpos = _endpos__4_ in
21800 let _v : 'tv_not_eqid =
21801 # 1548 "parser_cocci_menhir.mly"
21802 ( (if !Data.in_iso
21803 then failwith "constraints not allowed in iso file");
21804 (if !Data.in_generating
21805 then failwith "constraints not allowed in a generated rule file");
21806 let (str,meta) =
21807 List.fold_left
21808 (function (str,meta) ->
21809 function
21810 (Some rn,id) as i ->
21811 let i =
21812 P.check_inherited_constraint i
21813 (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in
21814 (str,i::meta)
21815 | (None,i) -> (i::str,meta))
21816 ([],[]) l in
21817 Ast.IdNegIdSet(str,meta)
21818 )
21819 # 21820 "parser_cocci_menhir.ml"
21820 in
21821 _menhir_env.MenhirLib.EngineTypes.stack <- {
21822 MenhirLib.EngineTypes.state = _menhir_s;
21823 MenhirLib.EngineTypes.semv = Obj.repr _v;
21824 MenhirLib.EngineTypes.startp = _startpos;
21825 MenhirLib.EngineTypes.endp = _endpos;
21826 MenhirLib.EngineTypes.next = _menhir_stack;
21827 });
21828 (fun _menhir_env ->
21829 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21830 let {
21831 MenhirLib.EngineTypes.semv = i;
21832 MenhirLib.EngineTypes.startp = _startpos_i_;
21833 MenhirLib.EngineTypes.endp = _endpos_i_;
21834 MenhirLib.EngineTypes.next = {
21835 MenhirLib.EngineTypes.state = _menhir_s;
21836 MenhirLib.EngineTypes.startp = _startpos__1_;
21837 MenhirLib.EngineTypes.endp = _endpos__1_;
21838 MenhirLib.EngineTypes.next = _menhir_stack;
21839 };
21840 } = _menhir_stack in
21841 let i : 'tv_meta_ident = Obj.magic i in
21842 let _startpos = _startpos__1_ in
21843 let _endpos = _endpos_i_ in
21844 let _v : 'tv_not_pos =
21845 # 1640 "parser_cocci_menhir.mly"
21846 ( (if !Data.in_iso
21847 then failwith "constraints not allowed in iso file");
21848 (if !Data.in_generating
21849 then failwith "constraints not allowed in a generated rule file");
21850 let i =
21851 P.check_inherited_constraint i
21852 (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)) in
21853 [i] )
21854 # 21855 "parser_cocci_menhir.ml"
21855 in
21856 _menhir_env.MenhirLib.EngineTypes.stack <- {
21857 MenhirLib.EngineTypes.state = _menhir_s;
21858 MenhirLib.EngineTypes.semv = Obj.repr _v;
21859 MenhirLib.EngineTypes.startp = _startpos;
21860 MenhirLib.EngineTypes.endp = _endpos;
21861 MenhirLib.EngineTypes.next = _menhir_stack;
21862 });
21863 (fun _menhir_env ->
21864 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21865 let {
21866 MenhirLib.EngineTypes.startp = _startpos__4_;
21867 MenhirLib.EngineTypes.endp = _endpos__4_;
21868 MenhirLib.EngineTypes.next = {
21869 MenhirLib.EngineTypes.semv = l;
21870 MenhirLib.EngineTypes.startp = _startpos_l_;
21871 MenhirLib.EngineTypes.endp = _endpos_l_;
21872 MenhirLib.EngineTypes.next = {
21873 MenhirLib.EngineTypes.startp = _startpos__2_;
21874 MenhirLib.EngineTypes.endp = _endpos__2_;
21875 MenhirLib.EngineTypes.next = {
21876 MenhirLib.EngineTypes.state = _menhir_s;
21877 MenhirLib.EngineTypes.startp = _startpos__1_;
21878 MenhirLib.EngineTypes.endp = _endpos__1_;
21879 MenhirLib.EngineTypes.next = _menhir_stack;
21880 };
21881 };
21882 };
21883 } = _menhir_stack in
21884 let l : 'tv_comma_list_meta_ident_ = Obj.magic l in
21885 let _startpos = _startpos__1_ in
21886 let _endpos = _endpos__4_ in
21887 let _v : 'tv_not_pos =
21888 # 1649 "parser_cocci_menhir.mly"
21889 ( (if !Data.in_iso
21890 then failwith "constraints not allowed in iso file");
21891 (if !Data.in_generating
21892 then failwith "constraints not allowed in a generated rule file");
21893 List.map
21894 (function i ->
21895 P.check_inherited_constraint i
21896 (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)))
21897 l )
21898 # 21899 "parser_cocci_menhir.ml"
21899 in
21900 _menhir_env.MenhirLib.EngineTypes.stack <- {
21901 MenhirLib.EngineTypes.state = _menhir_s;
21902 MenhirLib.EngineTypes.semv = Obj.repr _v;
21903 MenhirLib.EngineTypes.startp = _startpos;
21904 MenhirLib.EngineTypes.endp = _endpos;
21905 MenhirLib.EngineTypes.next = _menhir_stack;
21906 });
21907 (fun _menhir_env ->
21908 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21909 let {
21910 MenhirLib.EngineTypes.state = _menhir_s;
21911 MenhirLib.EngineTypes.semv = _1;
21912 MenhirLib.EngineTypes.startp = _startpos__1_;
21913 MenhirLib.EngineTypes.endp = _endpos__1_;
21914 MenhirLib.EngineTypes.next = _menhir_stack;
21915 } = _menhir_stack in
21916 let _1 : 'tv_decl = Obj.magic _1 in
21917 let _startpos = _startpos__1_ in
21918 let _endpos = _endpos__1_ in
21919 let _v : 'tv_one_dec_decl_ =
21920 # 1719 "parser_cocci_menhir.mly"
21921 ( _1 )
21922 # 21923 "parser_cocci_menhir.ml"
21923 in
21924 _menhir_env.MenhirLib.EngineTypes.stack <- {
21925 MenhirLib.EngineTypes.state = _menhir_s;
21926 MenhirLib.EngineTypes.semv = Obj.repr _v;
21927 MenhirLib.EngineTypes.startp = _startpos;
21928 MenhirLib.EngineTypes.endp = _endpos;
21929 MenhirLib.EngineTypes.next = _menhir_stack;
21930 });
21931 (fun _menhir_env ->
21932 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21933 let {
21934 MenhirLib.EngineTypes.state = _menhir_s;
21935 MenhirLib.EngineTypes.semv = _1;
21936 MenhirLib.EngineTypes.startp = _startpos__1_;
21937 MenhirLib.EngineTypes.endp = _endpos__1_;
21938 MenhirLib.EngineTypes.next = _menhir_stack;
21939 } = _menhir_stack in
21940 let _1 : (
21941 # 69 "parser_cocci_menhir.mly"
21942 (Parse_aux.list_info)
21943 # 21944 "parser_cocci_menhir.ml"
21944 ) = Obj.magic _1 in
21945 let _startpos = _startpos__1_ in
21946 let _endpos = _endpos__1_ in
21947 let _v : 'tv_one_dec_decl_ =
21948 # 1721 "parser_cocci_menhir.mly"
21949 ( let (nm,lenname,pure,clt) = _1 in
21950 let nm = P.clt2mcode nm clt in
21951 let lenname =
21952 match lenname with
21953 Some nm -> Some(P.clt2mcode nm clt)
21954 | None -> None in
21955 Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
21956 # 21957 "parser_cocci_menhir.ml"
21957 in
21958 _menhir_env.MenhirLib.EngineTypes.stack <- {
21959 MenhirLib.EngineTypes.state = _menhir_s;
21960 MenhirLib.EngineTypes.semv = Obj.repr _v;
21961 MenhirLib.EngineTypes.startp = _startpos;
21962 MenhirLib.EngineTypes.endp = _endpos;
21963 MenhirLib.EngineTypes.next = _menhir_stack;
21964 });
21965 (fun _menhir_env ->
21966 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21967 let {
21968 MenhirLib.EngineTypes.state = _menhir_s;
21969 MenhirLib.EngineTypes.semv = _1;
21970 MenhirLib.EngineTypes.startp = _startpos__1_;
21971 MenhirLib.EngineTypes.endp = _endpos__1_;
21972 MenhirLib.EngineTypes.next = _menhir_stack;
21973 } = _menhir_stack in
21974 let _1 : 'tv_name_opt_decl = Obj.magic _1 in
21975 let _startpos = _startpos__1_ in
21976 let _endpos = _endpos__1_ in
21977 let _v : 'tv_one_dec_name_opt_decl_ =
21978 # 1719 "parser_cocci_menhir.mly"
21979 ( _1 )
21980 # 21981 "parser_cocci_menhir.ml"
21981 in
21982 _menhir_env.MenhirLib.EngineTypes.stack <- {
21983 MenhirLib.EngineTypes.state = _menhir_s;
21984 MenhirLib.EngineTypes.semv = Obj.repr _v;
21985 MenhirLib.EngineTypes.startp = _startpos;
21986 MenhirLib.EngineTypes.endp = _endpos;
21987 MenhirLib.EngineTypes.next = _menhir_stack;
21988 });
21989 (fun _menhir_env ->
21990 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21991 let {
21992 MenhirLib.EngineTypes.state = _menhir_s;
21993 MenhirLib.EngineTypes.semv = _1;
21994 MenhirLib.EngineTypes.startp = _startpos__1_;
21995 MenhirLib.EngineTypes.endp = _endpos__1_;
21996 MenhirLib.EngineTypes.next = _menhir_stack;
21997 } = _menhir_stack in
21998 let _1 : (
21999 # 69 "parser_cocci_menhir.mly"
22000 (Parse_aux.list_info)
22001 # 22002 "parser_cocci_menhir.ml"
22002 ) = Obj.magic _1 in
22003 let _startpos = _startpos__1_ in
22004 let _endpos = _endpos__1_ in
22005 let _v : 'tv_one_dec_name_opt_decl_ =
22006 # 1721 "parser_cocci_menhir.mly"
22007 ( let (nm,lenname,pure,clt) = _1 in
22008 let nm = P.clt2mcode nm clt in
22009 let lenname =
22010 match lenname with
22011 Some nm -> Some(P.clt2mcode nm clt)
22012 | None -> None in
22013 Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
22014 # 22015 "parser_cocci_menhir.ml"
22015 in
22016 _menhir_env.MenhirLib.EngineTypes.stack <- {
22017 MenhirLib.EngineTypes.state = _menhir_s;
22018 MenhirLib.EngineTypes.semv = Obj.repr _v;
22019 MenhirLib.EngineTypes.startp = _startpos;
22020 MenhirLib.EngineTypes.endp = _endpos;
22021 MenhirLib.EngineTypes.next = _menhir_stack;
22022 });
22023 (fun _menhir_env ->
22024 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22025 let {
22026 MenhirLib.EngineTypes.semv = pv;
22027 MenhirLib.EngineTypes.startp = _startpos_pv_;
22028 MenhirLib.EngineTypes.endp = _endpos_pv_;
22029 MenhirLib.EngineTypes.next = {
22030 MenhirLib.EngineTypes.state = _menhir_s;
22031 MenhirLib.EngineTypes.semv = t;
22032 MenhirLib.EngineTypes.startp = _startpos_t_;
22033 MenhirLib.EngineTypes.endp = _endpos_t_;
22034 MenhirLib.EngineTypes.next = _menhir_stack;
22035 };
22036 } = _menhir_stack in
22037 let pv : (
22038 # 110 "parser_cocci_menhir.mly"
22039 (Data.clt)
22040 # 22041 "parser_cocci_menhir.ml"
22041 ) = Obj.magic pv in
22042 let t : 'tv_ctype = Obj.magic t in
22043 let _startpos = _startpos_t_ in
22044 let _endpos = _endpos_pv_ in
22045 let _v : 'tv_one_decl_var =
22046 # 1040 "parser_cocci_menhir.mly"
22047 ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) )
22048 # 22049 "parser_cocci_menhir.ml"
22049 in
22050 _menhir_env.MenhirLib.EngineTypes.stack <- {
22051 MenhirLib.EngineTypes.state = _menhir_s;
22052 MenhirLib.EngineTypes.semv = Obj.repr _v;
22053 MenhirLib.EngineTypes.startp = _startpos;
22054 MenhirLib.EngineTypes.endp = _endpos;
22055 MenhirLib.EngineTypes.next = _menhir_stack;
22056 });
22057 (fun _menhir_env ->
22058 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22059 let {
22060 MenhirLib.EngineTypes.semv = pv;
22061 MenhirLib.EngineTypes.startp = _startpos_pv_;
22062 MenhirLib.EngineTypes.endp = _endpos_pv_;
22063 MenhirLib.EngineTypes.next = {
22064 MenhirLib.EngineTypes.semv = d;
22065 MenhirLib.EngineTypes.startp = _startpos_d_;
22066 MenhirLib.EngineTypes.endp = _endpos_d_;
22067 MenhirLib.EngineTypes.next = {
22068 MenhirLib.EngineTypes.state = _menhir_s;
22069 MenhirLib.EngineTypes.semv = t;
22070 MenhirLib.EngineTypes.startp = _startpos_t_;
22071 MenhirLib.EngineTypes.endp = _endpos_t_;
22072 MenhirLib.EngineTypes.next = _menhir_stack;
22073 };
22074 };
22075 } = _menhir_stack in
22076 let pv : (
22077 # 110 "parser_cocci_menhir.mly"
22078 (Data.clt)
22079 # 22080 "parser_cocci_menhir.ml"
22080 ) = Obj.magic pv in
22081 let d : 'tv_d_ident = Obj.magic d in
22082 let t : 'tv_ctype = Obj.magic t in
22083 let _startpos = _startpos_t_ in
22084 let _endpos = _endpos_pv_ in
22085 let _v : 'tv_one_decl_var = let s =
22086
22087 # 39 "standard.mly"
22088 ( None )
22089 # 22090 "parser_cocci_menhir.ml"
22090
22091 in
22092
22093 # 1042 "parser_cocci_menhir.mly"
22094 ( let (id,fn) = d in
22095 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
22096 # 22097 "parser_cocci_menhir.ml"
22097 in
22098 _menhir_env.MenhirLib.EngineTypes.stack <- {
22099 MenhirLib.EngineTypes.state = _menhir_s;
22100 MenhirLib.EngineTypes.semv = Obj.repr _v;
22101 MenhirLib.EngineTypes.startp = _startpos;
22102 MenhirLib.EngineTypes.endp = _endpos;
22103 MenhirLib.EngineTypes.next = _menhir_stack;
22104 });
22105 (fun _menhir_env ->
22106 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22107 let {
22108 MenhirLib.EngineTypes.semv = pv;
22109 MenhirLib.EngineTypes.startp = _startpos_pv_;
22110 MenhirLib.EngineTypes.endp = _endpos_pv_;
22111 MenhirLib.EngineTypes.next = {
22112 MenhirLib.EngineTypes.semv = d;
22113 MenhirLib.EngineTypes.startp = _startpos_d_;
22114 MenhirLib.EngineTypes.endp = _endpos_d_;
22115 MenhirLib.EngineTypes.next = {
22116 MenhirLib.EngineTypes.semv = t;
22117 MenhirLib.EngineTypes.startp = _startpos_t_;
22118 MenhirLib.EngineTypes.endp = _endpos_t_;
22119 MenhirLib.EngineTypes.next = {
22120 MenhirLib.EngineTypes.state = _menhir_s;
22121 MenhirLib.EngineTypes.semv = x0;
22122 MenhirLib.EngineTypes.startp = _startpos_x0_;
22123 MenhirLib.EngineTypes.endp = _endpos_x0_;
22124 MenhirLib.EngineTypes.next = _menhir_stack;
22125 };
22126 };
22127 };
22128 } = _menhir_stack in
22129 let pv : (
22130 # 110 "parser_cocci_menhir.mly"
22131 (Data.clt)
22132 # 22133 "parser_cocci_menhir.ml"
22133 ) = Obj.magic pv in
22134 let d : 'tv_d_ident = Obj.magic d in
22135 let t : 'tv_ctype = Obj.magic t in
22136 let x0 : 'tv_storage = Obj.magic x0 in
22137 let _startpos = _startpos_x0_ in
22138 let _endpos = _endpos_pv_ in
22139 let _v : 'tv_one_decl_var = let s =
22140 let x = x0 in
22141
22142 # 41 "standard.mly"
22143 ( Some x )
22144 # 22145 "parser_cocci_menhir.ml"
22145
22146 in
22147
22148 # 1042 "parser_cocci_menhir.mly"
22149 ( let (id,fn) = d in
22150 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
22151 # 22152 "parser_cocci_menhir.ml"
22152 in
22153 _menhir_env.MenhirLib.EngineTypes.stack <- {
22154 MenhirLib.EngineTypes.state = _menhir_s;
22155 MenhirLib.EngineTypes.semv = Obj.repr _v;
22156 MenhirLib.EngineTypes.startp = _startpos;
22157 MenhirLib.EngineTypes.endp = _endpos;
22158 MenhirLib.EngineTypes.next = _menhir_stack;
22159 });
22160 (fun _menhir_env ->
22161 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22162 let {
22163 MenhirLib.EngineTypes.state = _menhir_s;
22164 MenhirLib.EngineTypes.semv = f;
22165 MenhirLib.EngineTypes.startp = _startpos_f_;
22166 MenhirLib.EngineTypes.endp = _endpos_f_;
22167 MenhirLib.EngineTypes.next = _menhir_stack;
22168 } = _menhir_stack in
22169 let f : 'tv_funproto = Obj.magic f in
22170 let _startpos = _startpos_f_ in
22171 let _endpos = _endpos_f_ in
22172 let _v : 'tv_one_decl_var =
22173 # 1044 "parser_cocci_menhir.mly"
22174 ( f )
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 = pv;
22188 MenhirLib.EngineTypes.startp = _startpos_pv_;
22189 MenhirLib.EngineTypes.endp = _endpos_pv_;
22190 MenhirLib.EngineTypes.next = {
22191 MenhirLib.EngineTypes.semv = e;
22192 MenhirLib.EngineTypes.startp = _startpos_e_;
22193 MenhirLib.EngineTypes.endp = _endpos_e_;
22194 MenhirLib.EngineTypes.next = {
22195 MenhirLib.EngineTypes.semv = q;
22196 MenhirLib.EngineTypes.startp = _startpos_q_;
22197 MenhirLib.EngineTypes.endp = _endpos_q_;
22198 MenhirLib.EngineTypes.next = {
22199 MenhirLib.EngineTypes.semv = d;
22200 MenhirLib.EngineTypes.startp = _startpos_d_;
22201 MenhirLib.EngineTypes.endp = _endpos_d_;
22202 MenhirLib.EngineTypes.next = {
22203 MenhirLib.EngineTypes.state = _menhir_s;
22204 MenhirLib.EngineTypes.semv = t;
22205 MenhirLib.EngineTypes.startp = _startpos_t_;
22206 MenhirLib.EngineTypes.endp = _endpos_t_;
22207 MenhirLib.EngineTypes.next = _menhir_stack;
22208 };
22209 };
22210 };
22211 };
22212 } = _menhir_stack in
22213 let pv : (
22214 # 110 "parser_cocci_menhir.mly"
22215 (Data.clt)
22216 # 22217 "parser_cocci_menhir.ml"
22217 ) = Obj.magic pv in
22218 let e : 'tv_initialize = Obj.magic e in
22219 let q : (
22220 # 110 "parser_cocci_menhir.mly"
22221 (Data.clt)
22222 # 22223 "parser_cocci_menhir.ml"
22223 ) = Obj.magic q in
22224 let d : 'tv_d_ident = Obj.magic d in
22225 let t : 'tv_ctype = Obj.magic t in
22226 let _startpos = _startpos_t_ in
22227 let _endpos = _endpos_pv_ in
22228 let _v : 'tv_one_decl_var = let s =
22229
22230 # 39 "standard.mly"
22231 ( None )
22232 # 22233 "parser_cocci_menhir.ml"
22233
22234 in
22235
22236 # 1046 "parser_cocci_menhir.mly"
22237 ( let (id,fn) = d in
22238 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
22239 # 22240 "parser_cocci_menhir.ml"
22240 in
22241 _menhir_env.MenhirLib.EngineTypes.stack <- {
22242 MenhirLib.EngineTypes.state = _menhir_s;
22243 MenhirLib.EngineTypes.semv = Obj.repr _v;
22244 MenhirLib.EngineTypes.startp = _startpos;
22245 MenhirLib.EngineTypes.endp = _endpos;
22246 MenhirLib.EngineTypes.next = _menhir_stack;
22247 });
22248 (fun _menhir_env ->
22249 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22250 let {
22251 MenhirLib.EngineTypes.semv = pv;
22252 MenhirLib.EngineTypes.startp = _startpos_pv_;
22253 MenhirLib.EngineTypes.endp = _endpos_pv_;
22254 MenhirLib.EngineTypes.next = {
22255 MenhirLib.EngineTypes.semv = e;
22256 MenhirLib.EngineTypes.startp = _startpos_e_;
22257 MenhirLib.EngineTypes.endp = _endpos_e_;
22258 MenhirLib.EngineTypes.next = {
22259 MenhirLib.EngineTypes.semv = q;
22260 MenhirLib.EngineTypes.startp = _startpos_q_;
22261 MenhirLib.EngineTypes.endp = _endpos_q_;
22262 MenhirLib.EngineTypes.next = {
22263 MenhirLib.EngineTypes.semv = d;
22264 MenhirLib.EngineTypes.startp = _startpos_d_;
22265 MenhirLib.EngineTypes.endp = _endpos_d_;
22266 MenhirLib.EngineTypes.next = {
22267 MenhirLib.EngineTypes.semv = t;
22268 MenhirLib.EngineTypes.startp = _startpos_t_;
22269 MenhirLib.EngineTypes.endp = _endpos_t_;
22270 MenhirLib.EngineTypes.next = {
22271 MenhirLib.EngineTypes.state = _menhir_s;
22272 MenhirLib.EngineTypes.semv = x0;
22273 MenhirLib.EngineTypes.startp = _startpos_x0_;
22274 MenhirLib.EngineTypes.endp = _endpos_x0_;
22275 MenhirLib.EngineTypes.next = _menhir_stack;
22276 };
22277 };
22278 };
22279 };
22280 };
22281 } = _menhir_stack in
22282 let pv : (
22283 # 110 "parser_cocci_menhir.mly"
22284 (Data.clt)
22285 # 22286 "parser_cocci_menhir.ml"
22286 ) = Obj.magic pv in
22287 let e : 'tv_initialize = Obj.magic e in
22288 let q : (
22289 # 110 "parser_cocci_menhir.mly"
22290 (Data.clt)
22291 # 22292 "parser_cocci_menhir.ml"
22292 ) = Obj.magic q in
22293 let d : 'tv_d_ident = Obj.magic d in
22294 let t : 'tv_ctype = Obj.magic t in
22295 let x0 : 'tv_storage = Obj.magic x0 in
22296 let _startpos = _startpos_x0_ in
22297 let _endpos = _endpos_pv_ in
22298 let _v : 'tv_one_decl_var = let s =
22299 let x = x0 in
22300
22301 # 41 "standard.mly"
22302 ( Some x )
22303 # 22304 "parser_cocci_menhir.ml"
22304
22305 in
22306
22307 # 1046 "parser_cocci_menhir.mly"
22308 ( let (id,fn) = d in
22309 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
22310 # 22311 "parser_cocci_menhir.ml"
22311 in
22312 _menhir_env.MenhirLib.EngineTypes.stack <- {
22313 MenhirLib.EngineTypes.state = _menhir_s;
22314 MenhirLib.EngineTypes.semv = Obj.repr _v;
22315 MenhirLib.EngineTypes.startp = _startpos;
22316 MenhirLib.EngineTypes.endp = _endpos;
22317 MenhirLib.EngineTypes.next = _menhir_stack;
22318 });
22319 (fun _menhir_env ->
22320 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22321 let {
22322 MenhirLib.EngineTypes.semv = pv;
22323 MenhirLib.EngineTypes.startp = _startpos_pv_;
22324 MenhirLib.EngineTypes.endp = _endpos_pv_;
22325 MenhirLib.EngineTypes.next = {
22326 MenhirLib.EngineTypes.semv = d;
22327 MenhirLib.EngineTypes.startp = _startpos_d_;
22328 MenhirLib.EngineTypes.endp = _endpos_d_;
22329 MenhirLib.EngineTypes.next = {
22330 MenhirLib.EngineTypes.state = _menhir_s;
22331 MenhirLib.EngineTypes.semv = i;
22332 MenhirLib.EngineTypes.startp = _startpos_i_;
22333 MenhirLib.EngineTypes.endp = _endpos_i_;
22334 MenhirLib.EngineTypes.next = _menhir_stack;
22335 };
22336 };
22337 } = _menhir_stack in
22338 let pv : (
22339 # 110 "parser_cocci_menhir.mly"
22340 (Data.clt)
22341 # 22342 "parser_cocci_menhir.ml"
22342 ) = Obj.magic pv in
22343 let d : 'tv_d_ident = Obj.magic d in
22344 let i : 'tv_pure_ident = Obj.magic i in
22345 let _startpos = _startpos_i_ in
22346 let _endpos = _endpos_pv_ in
22347 let _v : 'tv_one_decl_var = let cv =
22348
22349 # 39 "standard.mly"
22350 ( None )
22351 # 22352 "parser_cocci_menhir.ml"
22352
22353 in
22354 let s =
22355
22356 # 39 "standard.mly"
22357 ( None )
22358 # 22359 "parser_cocci_menhir.ml"
22359
22360 in
22361
22362 # 1051 "parser_cocci_menhir.mly"
22363 ( let (id,fn) = d in
22364 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22365 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
22366 # 22367 "parser_cocci_menhir.ml"
22367 in
22368 _menhir_env.MenhirLib.EngineTypes.stack <- {
22369 MenhirLib.EngineTypes.state = _menhir_s;
22370 MenhirLib.EngineTypes.semv = Obj.repr _v;
22371 MenhirLib.EngineTypes.startp = _startpos;
22372 MenhirLib.EngineTypes.endp = _endpos;
22373 MenhirLib.EngineTypes.next = _menhir_stack;
22374 });
22375 (fun _menhir_env ->
22376 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22377 let {
22378 MenhirLib.EngineTypes.semv = pv;
22379 MenhirLib.EngineTypes.startp = _startpos_pv_;
22380 MenhirLib.EngineTypes.endp = _endpos_pv_;
22381 MenhirLib.EngineTypes.next = {
22382 MenhirLib.EngineTypes.semv = d;
22383 MenhirLib.EngineTypes.startp = _startpos_d_;
22384 MenhirLib.EngineTypes.endp = _endpos_d_;
22385 MenhirLib.EngineTypes.next = {
22386 MenhirLib.EngineTypes.semv = i;
22387 MenhirLib.EngineTypes.startp = _startpos_i_;
22388 MenhirLib.EngineTypes.endp = _endpos_i_;
22389 MenhirLib.EngineTypes.next = {
22390 MenhirLib.EngineTypes.state = _menhir_s;
22391 MenhirLib.EngineTypes.semv = x0;
22392 MenhirLib.EngineTypes.startp = _startpos_x0_;
22393 MenhirLib.EngineTypes.endp = _endpos_x0_;
22394 MenhirLib.EngineTypes.next = _menhir_stack;
22395 };
22396 };
22397 };
22398 } = _menhir_stack in
22399 let pv : (
22400 # 110 "parser_cocci_menhir.mly"
22401 (Data.clt)
22402 # 22403 "parser_cocci_menhir.ml"
22403 ) = Obj.magic pv in
22404 let d : 'tv_d_ident = Obj.magic d in
22405 let i : 'tv_pure_ident = Obj.magic i in
22406 let x0 : 'tv_const_vol = Obj.magic x0 in
22407 let _startpos = _startpos_x0_ in
22408 let _endpos = _endpos_pv_ in
22409 let _v : 'tv_one_decl_var = let cv =
22410 let x = x0 in
22411
22412 # 41 "standard.mly"
22413 ( Some x )
22414 # 22415 "parser_cocci_menhir.ml"
22415
22416 in
22417 let s =
22418
22419 # 39 "standard.mly"
22420 ( None )
22421 # 22422 "parser_cocci_menhir.ml"
22422
22423 in
22424
22425 # 1051 "parser_cocci_menhir.mly"
22426 ( let (id,fn) = d in
22427 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22428 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
22429 # 22430 "parser_cocci_menhir.ml"
22430 in
22431 _menhir_env.MenhirLib.EngineTypes.stack <- {
22432 MenhirLib.EngineTypes.state = _menhir_s;
22433 MenhirLib.EngineTypes.semv = Obj.repr _v;
22434 MenhirLib.EngineTypes.startp = _startpos;
22435 MenhirLib.EngineTypes.endp = _endpos;
22436 MenhirLib.EngineTypes.next = _menhir_stack;
22437 });
22438 (fun _menhir_env ->
22439 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22440 let {
22441 MenhirLib.EngineTypes.semv = pv;
22442 MenhirLib.EngineTypes.startp = _startpos_pv_;
22443 MenhirLib.EngineTypes.endp = _endpos_pv_;
22444 MenhirLib.EngineTypes.next = {
22445 MenhirLib.EngineTypes.semv = d;
22446 MenhirLib.EngineTypes.startp = _startpos_d_;
22447 MenhirLib.EngineTypes.endp = _endpos_d_;
22448 MenhirLib.EngineTypes.next = {
22449 MenhirLib.EngineTypes.semv = i;
22450 MenhirLib.EngineTypes.startp = _startpos_i_;
22451 MenhirLib.EngineTypes.endp = _endpos_i_;
22452 MenhirLib.EngineTypes.next = {
22453 MenhirLib.EngineTypes.state = _menhir_s;
22454 MenhirLib.EngineTypes.semv = x0;
22455 MenhirLib.EngineTypes.startp = _startpos_x0_;
22456 MenhirLib.EngineTypes.endp = _endpos_x0_;
22457 MenhirLib.EngineTypes.next = _menhir_stack;
22458 };
22459 };
22460 };
22461 } = _menhir_stack in
22462 let pv : (
22463 # 110 "parser_cocci_menhir.mly"
22464 (Data.clt)
22465 # 22466 "parser_cocci_menhir.ml"
22466 ) = Obj.magic pv in
22467 let d : 'tv_d_ident = Obj.magic d in
22468 let i : 'tv_pure_ident = Obj.magic i in
22469 let x0 : 'tv_storage = Obj.magic x0 in
22470 let _startpos = _startpos_x0_ in
22471 let _endpos = _endpos_pv_ in
22472 let _v : 'tv_one_decl_var = let cv =
22473
22474 # 39 "standard.mly"
22475 ( None )
22476 # 22477 "parser_cocci_menhir.ml"
22477
22478 in
22479 let s =
22480 let x = x0 in
22481
22482 # 41 "standard.mly"
22483 ( Some x )
22484 # 22485 "parser_cocci_menhir.ml"
22485
22486 in
22487
22488 # 1051 "parser_cocci_menhir.mly"
22489 ( let (id,fn) = d in
22490 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22491 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
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 = pv;
22505 MenhirLib.EngineTypes.startp = _startpos_pv_;
22506 MenhirLib.EngineTypes.endp = _endpos_pv_;
22507 MenhirLib.EngineTypes.next = {
22508 MenhirLib.EngineTypes.semv = d;
22509 MenhirLib.EngineTypes.startp = _startpos_d_;
22510 MenhirLib.EngineTypes.endp = _endpos_d_;
22511 MenhirLib.EngineTypes.next = {
22512 MenhirLib.EngineTypes.semv = i;
22513 MenhirLib.EngineTypes.startp = _startpos_i_;
22514 MenhirLib.EngineTypes.endp = _endpos_i_;
22515 MenhirLib.EngineTypes.next = {
22516 MenhirLib.EngineTypes.semv = x1;
22517 MenhirLib.EngineTypes.startp = _startpos_x1_;
22518 MenhirLib.EngineTypes.endp = _endpos_x1_;
22519 MenhirLib.EngineTypes.next = {
22520 MenhirLib.EngineTypes.state = _menhir_s;
22521 MenhirLib.EngineTypes.semv = x0;
22522 MenhirLib.EngineTypes.startp = _startpos_x0_;
22523 MenhirLib.EngineTypes.endp = _endpos_x0_;
22524 MenhirLib.EngineTypes.next = _menhir_stack;
22525 };
22526 };
22527 };
22528 };
22529 } = _menhir_stack in
22530 let pv : (
22531 # 110 "parser_cocci_menhir.mly"
22532 (Data.clt)
22533 # 22534 "parser_cocci_menhir.ml"
22534 ) = Obj.magic pv in
22535 let d : 'tv_d_ident = Obj.magic d in
22536 let i : 'tv_pure_ident = Obj.magic i in
22537 let x1 : 'tv_const_vol = Obj.magic x1 in
22538 let x0 : 'tv_storage = Obj.magic x0 in
22539 let _startpos = _startpos_x0_ in
22540 let _endpos = _endpos_pv_ in
22541 let _v : 'tv_one_decl_var = let cv =
22542 let x = x1 in
22543
22544 # 41 "standard.mly"
22545 ( Some x )
22546 # 22547 "parser_cocci_menhir.ml"
22547
22548 in
22549 let s =
22550 let x = x0 in
22551
22552 # 41 "standard.mly"
22553 ( Some x )
22554 # 22555 "parser_cocci_menhir.ml"
22555
22556 in
22557
22558 # 1051 "parser_cocci_menhir.mly"
22559 ( let (id,fn) = d in
22560 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22561 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
22562 # 22563 "parser_cocci_menhir.ml"
22563 in
22564 _menhir_env.MenhirLib.EngineTypes.stack <- {
22565 MenhirLib.EngineTypes.state = _menhir_s;
22566 MenhirLib.EngineTypes.semv = Obj.repr _v;
22567 MenhirLib.EngineTypes.startp = _startpos;
22568 MenhirLib.EngineTypes.endp = _endpos;
22569 MenhirLib.EngineTypes.next = _menhir_stack;
22570 });
22571 (fun _menhir_env ->
22572 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22573 let {
22574 MenhirLib.EngineTypes.semv = pv;
22575 MenhirLib.EngineTypes.startp = _startpos_pv_;
22576 MenhirLib.EngineTypes.endp = _endpos_pv_;
22577 MenhirLib.EngineTypes.next = {
22578 MenhirLib.EngineTypes.semv = e;
22579 MenhirLib.EngineTypes.startp = _startpos_e_;
22580 MenhirLib.EngineTypes.endp = _endpos_e_;
22581 MenhirLib.EngineTypes.next = {
22582 MenhirLib.EngineTypes.semv = q;
22583 MenhirLib.EngineTypes.startp = _startpos_q_;
22584 MenhirLib.EngineTypes.endp = _endpos_q_;
22585 MenhirLib.EngineTypes.next = {
22586 MenhirLib.EngineTypes.semv = d;
22587 MenhirLib.EngineTypes.startp = _startpos_d_;
22588 MenhirLib.EngineTypes.endp = _endpos_d_;
22589 MenhirLib.EngineTypes.next = {
22590 MenhirLib.EngineTypes.state = _menhir_s;
22591 MenhirLib.EngineTypes.semv = i;
22592 MenhirLib.EngineTypes.startp = _startpos_i_;
22593 MenhirLib.EngineTypes.endp = _endpos_i_;
22594 MenhirLib.EngineTypes.next = _menhir_stack;
22595 };
22596 };
22597 };
22598 };
22599 } = _menhir_stack in
22600 let pv : (
22601 # 110 "parser_cocci_menhir.mly"
22602 (Data.clt)
22603 # 22604 "parser_cocci_menhir.ml"
22604 ) = Obj.magic pv in
22605 let e : 'tv_initialize = Obj.magic e in
22606 let q : (
22607 # 110 "parser_cocci_menhir.mly"
22608 (Data.clt)
22609 # 22610 "parser_cocci_menhir.ml"
22610 ) = Obj.magic q in
22611 let d : 'tv_d_ident = Obj.magic d in
22612 let i : 'tv_pure_ident = Obj.magic i in
22613 let _startpos = _startpos_i_ in
22614 let _endpos = _endpos_pv_ in
22615 let _v : 'tv_one_decl_var = let cv =
22616
22617 # 39 "standard.mly"
22618 ( None )
22619 # 22620 "parser_cocci_menhir.ml"
22620
22621 in
22622 let s =
22623
22624 # 39 "standard.mly"
22625 ( None )
22626 # 22627 "parser_cocci_menhir.ml"
22627
22628 in
22629
22630 # 1056 "parser_cocci_menhir.mly"
22631 ( let (id,fn) = d in
22632 !Data.add_type_name (P.id2name i);
22633 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22634 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
22635 P.clt2mcode ";" pv)) )
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 = pv;
22649 MenhirLib.EngineTypes.startp = _startpos_pv_;
22650 MenhirLib.EngineTypes.endp = _endpos_pv_;
22651 MenhirLib.EngineTypes.next = {
22652 MenhirLib.EngineTypes.semv = e;
22653 MenhirLib.EngineTypes.startp = _startpos_e_;
22654 MenhirLib.EngineTypes.endp = _endpos_e_;
22655 MenhirLib.EngineTypes.next = {
22656 MenhirLib.EngineTypes.semv = q;
22657 MenhirLib.EngineTypes.startp = _startpos_q_;
22658 MenhirLib.EngineTypes.endp = _endpos_q_;
22659 MenhirLib.EngineTypes.next = {
22660 MenhirLib.EngineTypes.semv = d;
22661 MenhirLib.EngineTypes.startp = _startpos_d_;
22662 MenhirLib.EngineTypes.endp = _endpos_d_;
22663 MenhirLib.EngineTypes.next = {
22664 MenhirLib.EngineTypes.semv = i;
22665 MenhirLib.EngineTypes.startp = _startpos_i_;
22666 MenhirLib.EngineTypes.endp = _endpos_i_;
22667 MenhirLib.EngineTypes.next = {
22668 MenhirLib.EngineTypes.state = _menhir_s;
22669 MenhirLib.EngineTypes.semv = x0;
22670 MenhirLib.EngineTypes.startp = _startpos_x0_;
22671 MenhirLib.EngineTypes.endp = _endpos_x0_;
22672 MenhirLib.EngineTypes.next = _menhir_stack;
22673 };
22674 };
22675 };
22676 };
22677 };
22678 } = _menhir_stack in
22679 let pv : (
22680 # 110 "parser_cocci_menhir.mly"
22681 (Data.clt)
22682 # 22683 "parser_cocci_menhir.ml"
22683 ) = Obj.magic pv in
22684 let e : 'tv_initialize = Obj.magic e in
22685 let q : (
22686 # 110 "parser_cocci_menhir.mly"
22687 (Data.clt)
22688 # 22689 "parser_cocci_menhir.ml"
22689 ) = Obj.magic q in
22690 let d : 'tv_d_ident = Obj.magic d in
22691 let i : 'tv_pure_ident = Obj.magic i in
22692 let x0 : 'tv_const_vol = Obj.magic x0 in
22693 let _startpos = _startpos_x0_ in
22694 let _endpos = _endpos_pv_ in
22695 let _v : 'tv_one_decl_var = let cv =
22696 let x = x0 in
22697
22698 # 41 "standard.mly"
22699 ( Some x )
22700 # 22701 "parser_cocci_menhir.ml"
22701
22702 in
22703 let s =
22704
22705 # 39 "standard.mly"
22706 ( None )
22707 # 22708 "parser_cocci_menhir.ml"
22708
22709 in
22710
22711 # 1056 "parser_cocci_menhir.mly"
22712 ( let (id,fn) = d in
22713 !Data.add_type_name (P.id2name i);
22714 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22715 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
22716 P.clt2mcode ";" pv)) )
22717 # 22718 "parser_cocci_menhir.ml"
22718 in
22719 _menhir_env.MenhirLib.EngineTypes.stack <- {
22720 MenhirLib.EngineTypes.state = _menhir_s;
22721 MenhirLib.EngineTypes.semv = Obj.repr _v;
22722 MenhirLib.EngineTypes.startp = _startpos;
22723 MenhirLib.EngineTypes.endp = _endpos;
22724 MenhirLib.EngineTypes.next = _menhir_stack;
22725 });
22726 (fun _menhir_env ->
22727 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22728 let {
22729 MenhirLib.EngineTypes.semv = pv;
22730 MenhirLib.EngineTypes.startp = _startpos_pv_;
22731 MenhirLib.EngineTypes.endp = _endpos_pv_;
22732 MenhirLib.EngineTypes.next = {
22733 MenhirLib.EngineTypes.semv = e;
22734 MenhirLib.EngineTypes.startp = _startpos_e_;
22735 MenhirLib.EngineTypes.endp = _endpos_e_;
22736 MenhirLib.EngineTypes.next = {
22737 MenhirLib.EngineTypes.semv = q;
22738 MenhirLib.EngineTypes.startp = _startpos_q_;
22739 MenhirLib.EngineTypes.endp = _endpos_q_;
22740 MenhirLib.EngineTypes.next = {
22741 MenhirLib.EngineTypes.semv = d;
22742 MenhirLib.EngineTypes.startp = _startpos_d_;
22743 MenhirLib.EngineTypes.endp = _endpos_d_;
22744 MenhirLib.EngineTypes.next = {
22745 MenhirLib.EngineTypes.semv = i;
22746 MenhirLib.EngineTypes.startp = _startpos_i_;
22747 MenhirLib.EngineTypes.endp = _endpos_i_;
22748 MenhirLib.EngineTypes.next = {
22749 MenhirLib.EngineTypes.state = _menhir_s;
22750 MenhirLib.EngineTypes.semv = x0;
22751 MenhirLib.EngineTypes.startp = _startpos_x0_;
22752 MenhirLib.EngineTypes.endp = _endpos_x0_;
22753 MenhirLib.EngineTypes.next = _menhir_stack;
22754 };
22755 };
22756 };
22757 };
22758 };
22759 } = _menhir_stack in
22760 let pv : (
22761 # 110 "parser_cocci_menhir.mly"
22762 (Data.clt)
22763 # 22764 "parser_cocci_menhir.ml"
22764 ) = Obj.magic pv in
22765 let e : 'tv_initialize = Obj.magic e in
22766 let q : (
22767 # 110 "parser_cocci_menhir.mly"
22768 (Data.clt)
22769 # 22770 "parser_cocci_menhir.ml"
22770 ) = Obj.magic q in
22771 let d : 'tv_d_ident = Obj.magic d in
22772 let i : 'tv_pure_ident = Obj.magic i in
22773 let x0 : 'tv_storage = Obj.magic x0 in
22774 let _startpos = _startpos_x0_ in
22775 let _endpos = _endpos_pv_ in
22776 let _v : 'tv_one_decl_var = let cv =
22777
22778 # 39 "standard.mly"
22779 ( None )
22780 # 22781 "parser_cocci_menhir.ml"
22781
22782 in
22783 let s =
22784 let x = x0 in
22785
22786 # 41 "standard.mly"
22787 ( Some x )
22788 # 22789 "parser_cocci_menhir.ml"
22789
22790 in
22791
22792 # 1056 "parser_cocci_menhir.mly"
22793 ( let (id,fn) = d in
22794 !Data.add_type_name (P.id2name i);
22795 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22796 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
22797 P.clt2mcode ";" pv)) )
22798 # 22799 "parser_cocci_menhir.ml"
22799 in
22800 _menhir_env.MenhirLib.EngineTypes.stack <- {
22801 MenhirLib.EngineTypes.state = _menhir_s;
22802 MenhirLib.EngineTypes.semv = Obj.repr _v;
22803 MenhirLib.EngineTypes.startp = _startpos;
22804 MenhirLib.EngineTypes.endp = _endpos;
22805 MenhirLib.EngineTypes.next = _menhir_stack;
22806 });
22807 (fun _menhir_env ->
22808 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22809 let {
22810 MenhirLib.EngineTypes.semv = pv;
22811 MenhirLib.EngineTypes.startp = _startpos_pv_;
22812 MenhirLib.EngineTypes.endp = _endpos_pv_;
22813 MenhirLib.EngineTypes.next = {
22814 MenhirLib.EngineTypes.semv = e;
22815 MenhirLib.EngineTypes.startp = _startpos_e_;
22816 MenhirLib.EngineTypes.endp = _endpos_e_;
22817 MenhirLib.EngineTypes.next = {
22818 MenhirLib.EngineTypes.semv = q;
22819 MenhirLib.EngineTypes.startp = _startpos_q_;
22820 MenhirLib.EngineTypes.endp = _endpos_q_;
22821 MenhirLib.EngineTypes.next = {
22822 MenhirLib.EngineTypes.semv = d;
22823 MenhirLib.EngineTypes.startp = _startpos_d_;
22824 MenhirLib.EngineTypes.endp = _endpos_d_;
22825 MenhirLib.EngineTypes.next = {
22826 MenhirLib.EngineTypes.semv = i;
22827 MenhirLib.EngineTypes.startp = _startpos_i_;
22828 MenhirLib.EngineTypes.endp = _endpos_i_;
22829 MenhirLib.EngineTypes.next = {
22830 MenhirLib.EngineTypes.semv = x1;
22831 MenhirLib.EngineTypes.startp = _startpos_x1_;
22832 MenhirLib.EngineTypes.endp = _endpos_x1_;
22833 MenhirLib.EngineTypes.next = {
22834 MenhirLib.EngineTypes.state = _menhir_s;
22835 MenhirLib.EngineTypes.semv = x0;
22836 MenhirLib.EngineTypes.startp = _startpos_x0_;
22837 MenhirLib.EngineTypes.endp = _endpos_x0_;
22838 MenhirLib.EngineTypes.next = _menhir_stack;
22839 };
22840 };
22841 };
22842 };
22843 };
22844 };
22845 } = _menhir_stack in
22846 let pv : (
22847 # 110 "parser_cocci_menhir.mly"
22848 (Data.clt)
22849 # 22850 "parser_cocci_menhir.ml"
22850 ) = Obj.magic pv in
22851 let e : 'tv_initialize = Obj.magic e in
22852 let q : (
22853 # 110 "parser_cocci_menhir.mly"
22854 (Data.clt)
22855 # 22856 "parser_cocci_menhir.ml"
22856 ) = Obj.magic q in
22857 let d : 'tv_d_ident = Obj.magic d in
22858 let i : 'tv_pure_ident = Obj.magic i in
22859 let x1 : 'tv_const_vol = Obj.magic x1 in
22860 let x0 : 'tv_storage = Obj.magic x0 in
22861 let _startpos = _startpos_x0_ in
22862 let _endpos = _endpos_pv_ in
22863 let _v : 'tv_one_decl_var = let cv =
22864 let x = x1 in
22865
22866 # 41 "standard.mly"
22867 ( Some x )
22868 # 22869 "parser_cocci_menhir.ml"
22869
22870 in
22871 let s =
22872 let x = x0 in
22873
22874 # 41 "standard.mly"
22875 ( Some x )
22876 # 22877 "parser_cocci_menhir.ml"
22877
22878 in
22879
22880 # 1056 "parser_cocci_menhir.mly"
22881 ( let (id,fn) = d in
22882 !Data.add_type_name (P.id2name i);
22883 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
22884 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
22885 P.clt2mcode ";" pv)) )
22886 # 22887 "parser_cocci_menhir.ml"
22887 in
22888 _menhir_env.MenhirLib.EngineTypes.stack <- {
22889 MenhirLib.EngineTypes.state = _menhir_s;
22890 MenhirLib.EngineTypes.semv = Obj.repr _v;
22891 MenhirLib.EngineTypes.startp = _startpos;
22892 MenhirLib.EngineTypes.endp = _endpos;
22893 MenhirLib.EngineTypes.next = _menhir_stack;
22894 });
22895 (fun _menhir_env ->
22896 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22897 let {
22898 MenhirLib.EngineTypes.semv = pv;
22899 MenhirLib.EngineTypes.startp = _startpos_pv_;
22900 MenhirLib.EngineTypes.endp = _endpos_pv_;
22901 MenhirLib.EngineTypes.next = {
22902 MenhirLib.EngineTypes.semv = rp2;
22903 MenhirLib.EngineTypes.startp = _startpos_rp2_;
22904 MenhirLib.EngineTypes.endp = _endpos_rp2_;
22905 MenhirLib.EngineTypes.next = {
22906 MenhirLib.EngineTypes.semv = p;
22907 MenhirLib.EngineTypes.startp = _startpos_p_;
22908 MenhirLib.EngineTypes.endp = _endpos_p_;
22909 MenhirLib.EngineTypes.next = {
22910 MenhirLib.EngineTypes.semv = lp2;
22911 MenhirLib.EngineTypes.startp = _startpos_lp2_;
22912 MenhirLib.EngineTypes.endp = _endpos_lp2_;
22913 MenhirLib.EngineTypes.next = {
22914 MenhirLib.EngineTypes.semv = rp1;
22915 MenhirLib.EngineTypes.startp = _startpos_rp1_;
22916 MenhirLib.EngineTypes.endp = _endpos_rp1_;
22917 MenhirLib.EngineTypes.next = {
22918 MenhirLib.EngineTypes.semv = d;
22919 MenhirLib.EngineTypes.startp = _startpos_d_;
22920 MenhirLib.EngineTypes.endp = _endpos_d_;
22921 MenhirLib.EngineTypes.next = {
22922 MenhirLib.EngineTypes.semv = st;
22923 MenhirLib.EngineTypes.startp = _startpos_st_;
22924 MenhirLib.EngineTypes.endp = _endpos_st_;
22925 MenhirLib.EngineTypes.next = {
22926 MenhirLib.EngineTypes.semv = lp1;
22927 MenhirLib.EngineTypes.startp = _startpos_lp1_;
22928 MenhirLib.EngineTypes.endp = _endpos_lp1_;
22929 MenhirLib.EngineTypes.next = {
22930 MenhirLib.EngineTypes.state = _menhir_s;
22931 MenhirLib.EngineTypes.semv = t;
22932 MenhirLib.EngineTypes.startp = _startpos_t_;
22933 MenhirLib.EngineTypes.endp = _endpos_t_;
22934 MenhirLib.EngineTypes.next = _menhir_stack;
22935 };
22936 };
22937 };
22938 };
22939 };
22940 };
22941 };
22942 };
22943 } = _menhir_stack in
22944 let pv : (
22945 # 110 "parser_cocci_menhir.mly"
22946 (Data.clt)
22947 # 22948 "parser_cocci_menhir.ml"
22948 ) = Obj.magic pv in
22949 let rp2 : (
22950 # 80 "parser_cocci_menhir.mly"
22951 (Data.clt)
22952 # 22953 "parser_cocci_menhir.ml"
22953 ) = Obj.magic rp2 in
22954 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
22955 let lp2 : (
22956 # 79 "parser_cocci_menhir.mly"
22957 (Data.clt)
22958 # 22959 "parser_cocci_menhir.ml"
22959 ) = Obj.magic lp2 in
22960 let rp1 : (
22961 # 80 "parser_cocci_menhir.mly"
22962 (Data.clt)
22963 # 22964 "parser_cocci_menhir.ml"
22964 ) = Obj.magic rp1 in
22965 let d : 'tv_d_ident = Obj.magic d in
22966 let st : (
22967 # 102 "parser_cocci_menhir.mly"
22968 (Data.clt)
22969 # 22970 "parser_cocci_menhir.ml"
22970 ) = Obj.magic st in
22971 let lp1 : (
22972 # 79 "parser_cocci_menhir.mly"
22973 (Data.clt)
22974 # 22975 "parser_cocci_menhir.ml"
22975 ) = Obj.magic lp1 in
22976 let t : 'tv_ctype = Obj.magic t in
22977 let _startpos = _startpos_t_ in
22978 let _endpos = _endpos_pv_ in
22979 let _v : 'tv_one_decl_var = let s =
22980
22981 # 39 "standard.mly"
22982 ( None )
22983 # 22984 "parser_cocci_menhir.ml"
22984
22985 in
22986
22987 # 1066 "parser_cocci_menhir.mly"
22988 ( let (id,fn) = d in
22989 let t =
22990 Ast0.wrap
22991 (Ast0.FunctionPointer
22992 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
22993 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
22994 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
22995 # 22996 "parser_cocci_menhir.ml"
22996 in
22997 _menhir_env.MenhirLib.EngineTypes.stack <- {
22998 MenhirLib.EngineTypes.state = _menhir_s;
22999 MenhirLib.EngineTypes.semv = Obj.repr _v;
23000 MenhirLib.EngineTypes.startp = _startpos;
23001 MenhirLib.EngineTypes.endp = _endpos;
23002 MenhirLib.EngineTypes.next = _menhir_stack;
23003 });
23004 (fun _menhir_env ->
23005 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23006 let {
23007 MenhirLib.EngineTypes.semv = pv;
23008 MenhirLib.EngineTypes.startp = _startpos_pv_;
23009 MenhirLib.EngineTypes.endp = _endpos_pv_;
23010 MenhirLib.EngineTypes.next = {
23011 MenhirLib.EngineTypes.semv = rp2;
23012 MenhirLib.EngineTypes.startp = _startpos_rp2_;
23013 MenhirLib.EngineTypes.endp = _endpos_rp2_;
23014 MenhirLib.EngineTypes.next = {
23015 MenhirLib.EngineTypes.semv = p;
23016 MenhirLib.EngineTypes.startp = _startpos_p_;
23017 MenhirLib.EngineTypes.endp = _endpos_p_;
23018 MenhirLib.EngineTypes.next = {
23019 MenhirLib.EngineTypes.semv = lp2;
23020 MenhirLib.EngineTypes.startp = _startpos_lp2_;
23021 MenhirLib.EngineTypes.endp = _endpos_lp2_;
23022 MenhirLib.EngineTypes.next = {
23023 MenhirLib.EngineTypes.semv = rp1;
23024 MenhirLib.EngineTypes.startp = _startpos_rp1_;
23025 MenhirLib.EngineTypes.endp = _endpos_rp1_;
23026 MenhirLib.EngineTypes.next = {
23027 MenhirLib.EngineTypes.semv = d;
23028 MenhirLib.EngineTypes.startp = _startpos_d_;
23029 MenhirLib.EngineTypes.endp = _endpos_d_;
23030 MenhirLib.EngineTypes.next = {
23031 MenhirLib.EngineTypes.semv = st;
23032 MenhirLib.EngineTypes.startp = _startpos_st_;
23033 MenhirLib.EngineTypes.endp = _endpos_st_;
23034 MenhirLib.EngineTypes.next = {
23035 MenhirLib.EngineTypes.semv = lp1;
23036 MenhirLib.EngineTypes.startp = _startpos_lp1_;
23037 MenhirLib.EngineTypes.endp = _endpos_lp1_;
23038 MenhirLib.EngineTypes.next = {
23039 MenhirLib.EngineTypes.semv = t;
23040 MenhirLib.EngineTypes.startp = _startpos_t_;
23041 MenhirLib.EngineTypes.endp = _endpos_t_;
23042 MenhirLib.EngineTypes.next = {
23043 MenhirLib.EngineTypes.state = _menhir_s;
23044 MenhirLib.EngineTypes.semv = x0;
23045 MenhirLib.EngineTypes.startp = _startpos_x0_;
23046 MenhirLib.EngineTypes.endp = _endpos_x0_;
23047 MenhirLib.EngineTypes.next = _menhir_stack;
23048 };
23049 };
23050 };
23051 };
23052 };
23053 };
23054 };
23055 };
23056 };
23057 } = _menhir_stack in
23058 let pv : (
23059 # 110 "parser_cocci_menhir.mly"
23060 (Data.clt)
23061 # 23062 "parser_cocci_menhir.ml"
23062 ) = Obj.magic pv in
23063 let rp2 : (
23064 # 80 "parser_cocci_menhir.mly"
23065 (Data.clt)
23066 # 23067 "parser_cocci_menhir.ml"
23067 ) = Obj.magic rp2 in
23068 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
23069 let lp2 : (
23070 # 79 "parser_cocci_menhir.mly"
23071 (Data.clt)
23072 # 23073 "parser_cocci_menhir.ml"
23073 ) = Obj.magic lp2 in
23074 let rp1 : (
23075 # 80 "parser_cocci_menhir.mly"
23076 (Data.clt)
23077 # 23078 "parser_cocci_menhir.ml"
23078 ) = Obj.magic rp1 in
23079 let d : 'tv_d_ident = Obj.magic d in
23080 let st : (
23081 # 102 "parser_cocci_menhir.mly"
23082 (Data.clt)
23083 # 23084 "parser_cocci_menhir.ml"
23084 ) = Obj.magic st in
23085 let lp1 : (
23086 # 79 "parser_cocci_menhir.mly"
23087 (Data.clt)
23088 # 23089 "parser_cocci_menhir.ml"
23089 ) = Obj.magic lp1 in
23090 let t : 'tv_ctype = Obj.magic t in
23091 let x0 : 'tv_storage = Obj.magic x0 in
23092 let _startpos = _startpos_x0_ in
23093 let _endpos = _endpos_pv_ in
23094 let _v : 'tv_one_decl_var = let s =
23095 let x = x0 in
23096
23097 # 41 "standard.mly"
23098 ( Some x )
23099 # 23100 "parser_cocci_menhir.ml"
23100
23101 in
23102
23103 # 1066 "parser_cocci_menhir.mly"
23104 ( let (id,fn) = d in
23105 let t =
23106 Ast0.wrap
23107 (Ast0.FunctionPointer
23108 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
23109 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
23110 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
23111 # 23112 "parser_cocci_menhir.ml"
23112 in
23113 _menhir_env.MenhirLib.EngineTypes.stack <- {
23114 MenhirLib.EngineTypes.state = _menhir_s;
23115 MenhirLib.EngineTypes.semv = Obj.repr _v;
23116 MenhirLib.EngineTypes.startp = _startpos;
23117 MenhirLib.EngineTypes.endp = _endpos;
23118 MenhirLib.EngineTypes.next = _menhir_stack;
23119 });
23120 (fun _menhir_env ->
23121 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23122 let {
23123 MenhirLib.EngineTypes.semv = _5;
23124 MenhirLib.EngineTypes.startp = _startpos__5_;
23125 MenhirLib.EngineTypes.endp = _endpos__5_;
23126 MenhirLib.EngineTypes.next = {
23127 MenhirLib.EngineTypes.semv = _4;
23128 MenhirLib.EngineTypes.startp = _startpos__4_;
23129 MenhirLib.EngineTypes.endp = _endpos__4_;
23130 MenhirLib.EngineTypes.next = {
23131 MenhirLib.EngineTypes.semv = _3;
23132 MenhirLib.EngineTypes.startp = _startpos__3_;
23133 MenhirLib.EngineTypes.endp = _endpos__3_;
23134 MenhirLib.EngineTypes.next = {
23135 MenhirLib.EngineTypes.semv = _2;
23136 MenhirLib.EngineTypes.startp = _startpos__2_;
23137 MenhirLib.EngineTypes.endp = _endpos__2_;
23138 MenhirLib.EngineTypes.next = {
23139 MenhirLib.EngineTypes.state = _menhir_s;
23140 MenhirLib.EngineTypes.semv = _1;
23141 MenhirLib.EngineTypes.startp = _startpos__1_;
23142 MenhirLib.EngineTypes.endp = _endpos__1_;
23143 MenhirLib.EngineTypes.next = _menhir_stack;
23144 };
23145 };
23146 };
23147 };
23148 } = _menhir_stack in
23149 let _5 : (
23150 # 110 "parser_cocci_menhir.mly"
23151 (Data.clt)
23152 # 23153 "parser_cocci_menhir.ml"
23153 ) = Obj.magic _5 in
23154 let _4 : (
23155 # 80 "parser_cocci_menhir.mly"
23156 (Data.clt)
23157 # 23158 "parser_cocci_menhir.ml"
23158 ) = Obj.magic _4 in
23159 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
23160 let _2 : (
23161 # 79 "parser_cocci_menhir.mly"
23162 (Data.clt)
23163 # 23164 "parser_cocci_menhir.ml"
23164 ) = Obj.magic _2 in
23165 let _1 : 'tv_decl_ident = Obj.magic _1 in
23166 let _startpos = _startpos__1_ in
23167 let _endpos = _endpos__5_ in
23168 let _v : 'tv_one_decl_var =
23169 # 1074 "parser_cocci_menhir.mly"
23170 ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
23171 P.clt2mcode ")" _4,P.clt2mcode ";" _5)) )
23172 # 23173 "parser_cocci_menhir.ml"
23173 in
23174 _menhir_env.MenhirLib.EngineTypes.stack <- {
23175 MenhirLib.EngineTypes.state = _menhir_s;
23176 MenhirLib.EngineTypes.semv = Obj.repr _v;
23177 MenhirLib.EngineTypes.startp = _startpos;
23178 MenhirLib.EngineTypes.endp = _endpos;
23179 MenhirLib.EngineTypes.next = _menhir_stack;
23180 });
23181 (fun _menhir_env ->
23182 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23183 let {
23184 MenhirLib.EngineTypes.semv = pv;
23185 MenhirLib.EngineTypes.startp = _startpos_pv_;
23186 MenhirLib.EngineTypes.endp = _endpos_pv_;
23187 MenhirLib.EngineTypes.next = {
23188 MenhirLib.EngineTypes.semv = e;
23189 MenhirLib.EngineTypes.startp = _startpos_e_;
23190 MenhirLib.EngineTypes.endp = _endpos_e_;
23191 MenhirLib.EngineTypes.next = {
23192 MenhirLib.EngineTypes.semv = q;
23193 MenhirLib.EngineTypes.startp = _startpos_q_;
23194 MenhirLib.EngineTypes.endp = _endpos_q_;
23195 MenhirLib.EngineTypes.next = {
23196 MenhirLib.EngineTypes.semv = rp2;
23197 MenhirLib.EngineTypes.startp = _startpos_rp2_;
23198 MenhirLib.EngineTypes.endp = _endpos_rp2_;
23199 MenhirLib.EngineTypes.next = {
23200 MenhirLib.EngineTypes.semv = p;
23201 MenhirLib.EngineTypes.startp = _startpos_p_;
23202 MenhirLib.EngineTypes.endp = _endpos_p_;
23203 MenhirLib.EngineTypes.next = {
23204 MenhirLib.EngineTypes.semv = lp2;
23205 MenhirLib.EngineTypes.startp = _startpos_lp2_;
23206 MenhirLib.EngineTypes.endp = _endpos_lp2_;
23207 MenhirLib.EngineTypes.next = {
23208 MenhirLib.EngineTypes.semv = rp1;
23209 MenhirLib.EngineTypes.startp = _startpos_rp1_;
23210 MenhirLib.EngineTypes.endp = _endpos_rp1_;
23211 MenhirLib.EngineTypes.next = {
23212 MenhirLib.EngineTypes.semv = d;
23213 MenhirLib.EngineTypes.startp = _startpos_d_;
23214 MenhirLib.EngineTypes.endp = _endpos_d_;
23215 MenhirLib.EngineTypes.next = {
23216 MenhirLib.EngineTypes.semv = st;
23217 MenhirLib.EngineTypes.startp = _startpos_st_;
23218 MenhirLib.EngineTypes.endp = _endpos_st_;
23219 MenhirLib.EngineTypes.next = {
23220 MenhirLib.EngineTypes.semv = lp1;
23221 MenhirLib.EngineTypes.startp = _startpos_lp1_;
23222 MenhirLib.EngineTypes.endp = _endpos_lp1_;
23223 MenhirLib.EngineTypes.next = {
23224 MenhirLib.EngineTypes.state = _menhir_s;
23225 MenhirLib.EngineTypes.semv = t;
23226 MenhirLib.EngineTypes.startp = _startpos_t_;
23227 MenhirLib.EngineTypes.endp = _endpos_t_;
23228 MenhirLib.EngineTypes.next = _menhir_stack;
23229 };
23230 };
23231 };
23232 };
23233 };
23234 };
23235 };
23236 };
23237 };
23238 };
23239 } = _menhir_stack in
23240 let pv : (
23241 # 110 "parser_cocci_menhir.mly"
23242 (Data.clt)
23243 # 23244 "parser_cocci_menhir.ml"
23244 ) = Obj.magic pv in
23245 let e : 'tv_initialize = Obj.magic e in
23246 let q : (
23247 # 110 "parser_cocci_menhir.mly"
23248 (Data.clt)
23249 # 23250 "parser_cocci_menhir.ml"
23250 ) = Obj.magic q in
23251 let rp2 : (
23252 # 80 "parser_cocci_menhir.mly"
23253 (Data.clt)
23254 # 23255 "parser_cocci_menhir.ml"
23255 ) = Obj.magic rp2 in
23256 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
23257 let lp2 : (
23258 # 79 "parser_cocci_menhir.mly"
23259 (Data.clt)
23260 # 23261 "parser_cocci_menhir.ml"
23261 ) = Obj.magic lp2 in
23262 let rp1 : (
23263 # 80 "parser_cocci_menhir.mly"
23264 (Data.clt)
23265 # 23266 "parser_cocci_menhir.ml"
23266 ) = Obj.magic rp1 in
23267 let d : 'tv_d_ident = Obj.magic d in
23268 let st : (
23269 # 102 "parser_cocci_menhir.mly"
23270 (Data.clt)
23271 # 23272 "parser_cocci_menhir.ml"
23272 ) = Obj.magic st in
23273 let lp1 : (
23274 # 79 "parser_cocci_menhir.mly"
23275 (Data.clt)
23276 # 23277 "parser_cocci_menhir.ml"
23277 ) = Obj.magic lp1 in
23278 let t : 'tv_ctype = Obj.magic t in
23279 let _startpos = _startpos_t_ in
23280 let _endpos = _endpos_pv_ in
23281 let _v : 'tv_one_decl_var = let s =
23282
23283 # 39 "standard.mly"
23284 ( None )
23285 # 23286 "parser_cocci_menhir.ml"
23286
23287 in
23288
23289 # 1080 "parser_cocci_menhir.mly"
23290 ( let (id,fn) = d in
23291 let t =
23292 Ast0.wrap
23293 (Ast0.FunctionPointer
23294 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
23295 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
23296 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
23297 # 23298 "parser_cocci_menhir.ml"
23298 in
23299 _menhir_env.MenhirLib.EngineTypes.stack <- {
23300 MenhirLib.EngineTypes.state = _menhir_s;
23301 MenhirLib.EngineTypes.semv = Obj.repr _v;
23302 MenhirLib.EngineTypes.startp = _startpos;
23303 MenhirLib.EngineTypes.endp = _endpos;
23304 MenhirLib.EngineTypes.next = _menhir_stack;
23305 });
23306 (fun _menhir_env ->
23307 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23308 let {
23309 MenhirLib.EngineTypes.semv = pv;
23310 MenhirLib.EngineTypes.startp = _startpos_pv_;
23311 MenhirLib.EngineTypes.endp = _endpos_pv_;
23312 MenhirLib.EngineTypes.next = {
23313 MenhirLib.EngineTypes.semv = e;
23314 MenhirLib.EngineTypes.startp = _startpos_e_;
23315 MenhirLib.EngineTypes.endp = _endpos_e_;
23316 MenhirLib.EngineTypes.next = {
23317 MenhirLib.EngineTypes.semv = q;
23318 MenhirLib.EngineTypes.startp = _startpos_q_;
23319 MenhirLib.EngineTypes.endp = _endpos_q_;
23320 MenhirLib.EngineTypes.next = {
23321 MenhirLib.EngineTypes.semv = rp2;
23322 MenhirLib.EngineTypes.startp = _startpos_rp2_;
23323 MenhirLib.EngineTypes.endp = _endpos_rp2_;
23324 MenhirLib.EngineTypes.next = {
23325 MenhirLib.EngineTypes.semv = p;
23326 MenhirLib.EngineTypes.startp = _startpos_p_;
23327 MenhirLib.EngineTypes.endp = _endpos_p_;
23328 MenhirLib.EngineTypes.next = {
23329 MenhirLib.EngineTypes.semv = lp2;
23330 MenhirLib.EngineTypes.startp = _startpos_lp2_;
23331 MenhirLib.EngineTypes.endp = _endpos_lp2_;
23332 MenhirLib.EngineTypes.next = {
23333 MenhirLib.EngineTypes.semv = rp1;
23334 MenhirLib.EngineTypes.startp = _startpos_rp1_;
23335 MenhirLib.EngineTypes.endp = _endpos_rp1_;
23336 MenhirLib.EngineTypes.next = {
23337 MenhirLib.EngineTypes.semv = d;
23338 MenhirLib.EngineTypes.startp = _startpos_d_;
23339 MenhirLib.EngineTypes.endp = _endpos_d_;
23340 MenhirLib.EngineTypes.next = {
23341 MenhirLib.EngineTypes.semv = st;
23342 MenhirLib.EngineTypes.startp = _startpos_st_;
23343 MenhirLib.EngineTypes.endp = _endpos_st_;
23344 MenhirLib.EngineTypes.next = {
23345 MenhirLib.EngineTypes.semv = lp1;
23346 MenhirLib.EngineTypes.startp = _startpos_lp1_;
23347 MenhirLib.EngineTypes.endp = _endpos_lp1_;
23348 MenhirLib.EngineTypes.next = {
23349 MenhirLib.EngineTypes.semv = t;
23350 MenhirLib.EngineTypes.startp = _startpos_t_;
23351 MenhirLib.EngineTypes.endp = _endpos_t_;
23352 MenhirLib.EngineTypes.next = {
23353 MenhirLib.EngineTypes.state = _menhir_s;
23354 MenhirLib.EngineTypes.semv = x0;
23355 MenhirLib.EngineTypes.startp = _startpos_x0_;
23356 MenhirLib.EngineTypes.endp = _endpos_x0_;
23357 MenhirLib.EngineTypes.next = _menhir_stack;
23358 };
23359 };
23360 };
23361 };
23362 };
23363 };
23364 };
23365 };
23366 };
23367 };
23368 };
23369 } = _menhir_stack in
23370 let pv : (
23371 # 110 "parser_cocci_menhir.mly"
23372 (Data.clt)
23373 # 23374 "parser_cocci_menhir.ml"
23374 ) = Obj.magic pv in
23375 let e : 'tv_initialize = Obj.magic e in
23376 let q : (
23377 # 110 "parser_cocci_menhir.mly"
23378 (Data.clt)
23379 # 23380 "parser_cocci_menhir.ml"
23380 ) = Obj.magic q in
23381 let rp2 : (
23382 # 80 "parser_cocci_menhir.mly"
23383 (Data.clt)
23384 # 23385 "parser_cocci_menhir.ml"
23385 ) = Obj.magic rp2 in
23386 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
23387 let lp2 : (
23388 # 79 "parser_cocci_menhir.mly"
23389 (Data.clt)
23390 # 23391 "parser_cocci_menhir.ml"
23391 ) = Obj.magic lp2 in
23392 let rp1 : (
23393 # 80 "parser_cocci_menhir.mly"
23394 (Data.clt)
23395 # 23396 "parser_cocci_menhir.ml"
23396 ) = Obj.magic rp1 in
23397 let d : 'tv_d_ident = Obj.magic d in
23398 let st : (
23399 # 102 "parser_cocci_menhir.mly"
23400 (Data.clt)
23401 # 23402 "parser_cocci_menhir.ml"
23402 ) = Obj.magic st in
23403 let lp1 : (
23404 # 79 "parser_cocci_menhir.mly"
23405 (Data.clt)
23406 # 23407 "parser_cocci_menhir.ml"
23407 ) = Obj.magic lp1 in
23408 let t : 'tv_ctype = Obj.magic t in
23409 let x0 : 'tv_storage = Obj.magic x0 in
23410 let _startpos = _startpos_x0_ in
23411 let _endpos = _endpos_pv_ in
23412 let _v : 'tv_one_decl_var = let s =
23413 let x = x0 in
23414
23415 # 41 "standard.mly"
23416 ( Some x )
23417 # 23418 "parser_cocci_menhir.ml"
23418
23419 in
23420
23421 # 1080 "parser_cocci_menhir.mly"
23422 ( let (id,fn) = d in
23423 let t =
23424 Ast0.wrap
23425 (Ast0.FunctionPointer
23426 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
23427 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
23428 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
23429 # 23430 "parser_cocci_menhir.ml"
23430 in
23431 _menhir_env.MenhirLib.EngineTypes.stack <- {
23432 MenhirLib.EngineTypes.state = _menhir_s;
23433 MenhirLib.EngineTypes.semv = Obj.repr _v;
23434 MenhirLib.EngineTypes.startp = _startpos;
23435 MenhirLib.EngineTypes.endp = _endpos;
23436 MenhirLib.EngineTypes.next = _menhir_stack;
23437 });
23438 (fun _menhir_env ->
23439 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23440 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23441 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23442 let _endpos = _startpos in
23443 let _v : 'tv_option_TLocal_ =
23444 # 29 "standard.mly"
23445 ( None )
23446 # 23447 "parser_cocci_menhir.ml"
23447 in
23448 _menhir_env.MenhirLib.EngineTypes.stack <- {
23449 MenhirLib.EngineTypes.state = _menhir_s;
23450 MenhirLib.EngineTypes.semv = Obj.repr _v;
23451 MenhirLib.EngineTypes.startp = _startpos;
23452 MenhirLib.EngineTypes.endp = _endpos;
23453 MenhirLib.EngineTypes.next = _menhir_stack;
23454 });
23455 (fun _menhir_env ->
23456 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23457 let {
23458 MenhirLib.EngineTypes.state = _menhir_s;
23459 MenhirLib.EngineTypes.semv = x;
23460 MenhirLib.EngineTypes.startp = _startpos_x_;
23461 MenhirLib.EngineTypes.endp = _endpos_x_;
23462 MenhirLib.EngineTypes.next = _menhir_stack;
23463 } = _menhir_stack in
23464 let x : unit = Obj.magic x in
23465 let _startpos = _startpos_x_ in
23466 let _endpos = _endpos_x_ in
23467 let _v : 'tv_option_TLocal_ =
23468 # 31 "standard.mly"
23469 ( Some x )
23470 # 23471 "parser_cocci_menhir.ml"
23471 in
23472 _menhir_env.MenhirLib.EngineTypes.stack <- {
23473 MenhirLib.EngineTypes.state = _menhir_s;
23474 MenhirLib.EngineTypes.semv = Obj.repr _v;
23475 MenhirLib.EngineTypes.startp = _startpos;
23476 MenhirLib.EngineTypes.endp = _endpos;
23477 MenhirLib.EngineTypes.next = _menhir_stack;
23478 });
23479 (fun _menhir_env ->
23480 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23481 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23482 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23483 let _endpos = _startpos in
23484 let _v : 'tv_option_TPosAny_ =
23485 # 29 "standard.mly"
23486 ( None )
23487 # 23488 "parser_cocci_menhir.ml"
23488 in
23489 _menhir_env.MenhirLib.EngineTypes.stack <- {
23490 MenhirLib.EngineTypes.state = _menhir_s;
23491 MenhirLib.EngineTypes.semv = Obj.repr _v;
23492 MenhirLib.EngineTypes.startp = _startpos;
23493 MenhirLib.EngineTypes.endp = _endpos;
23494 MenhirLib.EngineTypes.next = _menhir_stack;
23495 });
23496 (fun _menhir_env ->
23497 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23498 let {
23499 MenhirLib.EngineTypes.state = _menhir_s;
23500 MenhirLib.EngineTypes.semv = x;
23501 MenhirLib.EngineTypes.startp = _startpos_x_;
23502 MenhirLib.EngineTypes.endp = _endpos_x_;
23503 MenhirLib.EngineTypes.next = _menhir_stack;
23504 } = _menhir_stack in
23505 let x : unit = Obj.magic x in
23506 let _startpos = _startpos_x_ in
23507 let _endpos = _endpos_x_ in
23508 let _v : 'tv_option_TPosAny_ =
23509 # 31 "standard.mly"
23510 ( Some x )
23511 # 23512 "parser_cocci_menhir.ml"
23512 in
23513 _menhir_env.MenhirLib.EngineTypes.stack <- {
23514 MenhirLib.EngineTypes.state = _menhir_s;
23515 MenhirLib.EngineTypes.semv = Obj.repr _v;
23516 MenhirLib.EngineTypes.startp = _startpos;
23517 MenhirLib.EngineTypes.endp = _endpos;
23518 MenhirLib.EngineTypes.next = _menhir_stack;
23519 });
23520 (fun _menhir_env ->
23521 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23522 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23523 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23524 let _endpos = _startpos in
23525 let _v : 'tv_option_eexpr_ =
23526 # 29 "standard.mly"
23527 ( None )
23528 # 23529 "parser_cocci_menhir.ml"
23529 in
23530 _menhir_env.MenhirLib.EngineTypes.stack <- {
23531 MenhirLib.EngineTypes.state = _menhir_s;
23532 MenhirLib.EngineTypes.semv = Obj.repr _v;
23533 MenhirLib.EngineTypes.startp = _startpos;
23534 MenhirLib.EngineTypes.endp = _endpos;
23535 MenhirLib.EngineTypes.next = _menhir_stack;
23536 });
23537 (fun _menhir_env ->
23538 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23539 let {
23540 MenhirLib.EngineTypes.state = _menhir_s;
23541 MenhirLib.EngineTypes.semv = x;
23542 MenhirLib.EngineTypes.startp = _startpos_x_;
23543 MenhirLib.EngineTypes.endp = _endpos_x_;
23544 MenhirLib.EngineTypes.next = _menhir_stack;
23545 } = _menhir_stack in
23546 let x : 'tv_eexpr = Obj.magic x in
23547 let _startpos = _startpos_x_ in
23548 let _endpos = _endpos_x_ in
23549 let _v : 'tv_option_eexpr_ =
23550 # 31 "standard.mly"
23551 ( Some x )
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 _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23564 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23565 let _endpos = _startpos in
23566 let _v : 'tv_option_not_ceq_or_sub_ =
23567 # 29 "standard.mly"
23568 ( None )
23569 # 23570 "parser_cocci_menhir.ml"
23570 in
23571 _menhir_env.MenhirLib.EngineTypes.stack <- {
23572 MenhirLib.EngineTypes.state = _menhir_s;
23573 MenhirLib.EngineTypes.semv = Obj.repr _v;
23574 MenhirLib.EngineTypes.startp = _startpos;
23575 MenhirLib.EngineTypes.endp = _endpos;
23576 MenhirLib.EngineTypes.next = _menhir_stack;
23577 });
23578 (fun _menhir_env ->
23579 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23580 let {
23581 MenhirLib.EngineTypes.state = _menhir_s;
23582 MenhirLib.EngineTypes.semv = x;
23583 MenhirLib.EngineTypes.startp = _startpos_x_;
23584 MenhirLib.EngineTypes.endp = _endpos_x_;
23585 MenhirLib.EngineTypes.next = _menhir_stack;
23586 } = _menhir_stack in
23587 let x : 'tv_not_ceq_or_sub = Obj.magic x in
23588 let _startpos = _startpos_x_ in
23589 let _endpos = _endpos_x_ in
23590 let _v : 'tv_option_not_ceq_or_sub_ =
23591 # 31 "standard.mly"
23592 ( Some x )
23593 # 23594 "parser_cocci_menhir.ml"
23594 in
23595 _menhir_env.MenhirLib.EngineTypes.stack <- {
23596 MenhirLib.EngineTypes.state = _menhir_s;
23597 MenhirLib.EngineTypes.semv = Obj.repr _v;
23598 MenhirLib.EngineTypes.startp = _startpos;
23599 MenhirLib.EngineTypes.endp = _endpos;
23600 MenhirLib.EngineTypes.next = _menhir_stack;
23601 });
23602 (fun _menhir_env ->
23603 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23604 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23605 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23606 let _endpos = _startpos in
23607 let _v : 'tv_option_re_or_not_eqe_or_sub_ =
23608 # 29 "standard.mly"
23609 ( None )
23610 # 23611 "parser_cocci_menhir.ml"
23611 in
23612 _menhir_env.MenhirLib.EngineTypes.stack <- {
23613 MenhirLib.EngineTypes.state = _menhir_s;
23614 MenhirLib.EngineTypes.semv = Obj.repr _v;
23615 MenhirLib.EngineTypes.startp = _startpos;
23616 MenhirLib.EngineTypes.endp = _endpos;
23617 MenhirLib.EngineTypes.next = _menhir_stack;
23618 });
23619 (fun _menhir_env ->
23620 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23621 let {
23622 MenhirLib.EngineTypes.state = _menhir_s;
23623 MenhirLib.EngineTypes.semv = x;
23624 MenhirLib.EngineTypes.startp = _startpos_x_;
23625 MenhirLib.EngineTypes.endp = _endpos_x_;
23626 MenhirLib.EngineTypes.next = _menhir_stack;
23627 } = _menhir_stack in
23628 let x : 'tv_re_or_not_eqe_or_sub = Obj.magic x in
23629 let _startpos = _startpos_x_ in
23630 let _endpos = _endpos_x_ in
23631 let _v : 'tv_option_re_or_not_eqe_or_sub_ =
23632 # 31 "standard.mly"
23633 ( Some x )
23634 # 23635 "parser_cocci_menhir.ml"
23635 in
23636 _menhir_env.MenhirLib.EngineTypes.stack <- {
23637 MenhirLib.EngineTypes.state = _menhir_s;
23638 MenhirLib.EngineTypes.semv = Obj.repr _v;
23639 MenhirLib.EngineTypes.startp = _startpos;
23640 MenhirLib.EngineTypes.endp = _endpos;
23641 MenhirLib.EngineTypes.next = _menhir_stack;
23642 });
23643 (fun _menhir_env ->
23644 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23645 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23646 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23647 let _endpos = _startpos in
23648 let _v : 'tv_option_re_or_not_eqid_ =
23649 # 29 "standard.mly"
23650 ( None )
23651 # 23652 "parser_cocci_menhir.ml"
23652 in
23653 _menhir_env.MenhirLib.EngineTypes.stack <- {
23654 MenhirLib.EngineTypes.state = _menhir_s;
23655 MenhirLib.EngineTypes.semv = Obj.repr _v;
23656 MenhirLib.EngineTypes.startp = _startpos;
23657 MenhirLib.EngineTypes.endp = _endpos;
23658 MenhirLib.EngineTypes.next = _menhir_stack;
23659 });
23660 (fun _menhir_env ->
23661 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23662 let {
23663 MenhirLib.EngineTypes.state = _menhir_s;
23664 MenhirLib.EngineTypes.semv = x;
23665 MenhirLib.EngineTypes.startp = _startpos_x_;
23666 MenhirLib.EngineTypes.endp = _endpos_x_;
23667 MenhirLib.EngineTypes.next = _menhir_stack;
23668 } = _menhir_stack in
23669 let x : 'tv_re_or_not_eqid = Obj.magic x in
23670 let _startpos = _startpos_x_ in
23671 let _endpos = _endpos_x_ in
23672 let _v : 'tv_option_re_or_not_eqid_ =
23673 # 31 "standard.mly"
23674 ( Some x )
23675 # 23676 "parser_cocci_menhir.ml"
23676 in
23677 _menhir_env.MenhirLib.EngineTypes.stack <- {
23678 MenhirLib.EngineTypes.state = _menhir_s;
23679 MenhirLib.EngineTypes.semv = Obj.repr _v;
23680 MenhirLib.EngineTypes.startp = _startpos;
23681 MenhirLib.EngineTypes.endp = _endpos;
23682 MenhirLib.EngineTypes.next = _menhir_stack;
23683 });
23684 (fun _menhir_env ->
23685 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23686 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23687 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23688 let _endpos = _startpos in
23689 let _v : 'tv_plus_after_dots =
23690 # 1843 "parser_cocci_menhir.mly"
23691 ([])
23692 # 23693 "parser_cocci_menhir.ml"
23693 in
23694 _menhir_env.MenhirLib.EngineTypes.stack <- {
23695 MenhirLib.EngineTypes.state = _menhir_s;
23696 MenhirLib.EngineTypes.semv = Obj.repr _v;
23697 MenhirLib.EngineTypes.startp = _startpos;
23698 MenhirLib.EngineTypes.endp = _endpos;
23699 MenhirLib.EngineTypes.next = _menhir_stack;
23700 });
23701 (fun _menhir_env ->
23702 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23703 let {
23704 MenhirLib.EngineTypes.semv = _2;
23705 MenhirLib.EngineTypes.startp = _startpos__2_;
23706 MenhirLib.EngineTypes.endp = _endpos__2_;
23707 MenhirLib.EngineTypes.next = {
23708 MenhirLib.EngineTypes.state = _menhir_s;
23709 MenhirLib.EngineTypes.startp = _startpos__1_;
23710 MenhirLib.EngineTypes.endp = _endpos__1_;
23711 MenhirLib.EngineTypes.next = _menhir_stack;
23712 };
23713 } = _menhir_stack in
23714 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
23715 let _startpos = _startpos__1_ in
23716 let _endpos = _endpos__2_ in
23717 let _v : 'tv_plus_after_dots =
23718 # 1844 "parser_cocci_menhir.mly"
23719 (_2)
23720 # 23721 "parser_cocci_menhir.ml"
23721 in
23722 _menhir_env.MenhirLib.EngineTypes.stack <- {
23723 MenhirLib.EngineTypes.state = _menhir_s;
23724 MenhirLib.EngineTypes.semv = Obj.repr _v;
23725 MenhirLib.EngineTypes.startp = _startpos;
23726 MenhirLib.EngineTypes.endp = _endpos;
23727 MenhirLib.EngineTypes.next = _menhir_stack;
23728 });
23729 (fun _menhir_env ->
23730 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23731 let {
23732 MenhirLib.EngineTypes.semv = _2;
23733 MenhirLib.EngineTypes.startp = _startpos__2_;
23734 MenhirLib.EngineTypes.endp = _endpos__2_;
23735 MenhirLib.EngineTypes.next = {
23736 MenhirLib.EngineTypes.state = _menhir_s;
23737 MenhirLib.EngineTypes.semv = _1;
23738 MenhirLib.EngineTypes.startp = _startpos__1_;
23739 MenhirLib.EngineTypes.endp = _endpos__1_;
23740 MenhirLib.EngineTypes.next = _menhir_stack;
23741 };
23742 } = _menhir_stack in
23743 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
23744 let _1 : 'tv_expr = Obj.magic _1 in
23745 let _startpos = _startpos__1_ in
23746 let _endpos = _endpos__2_ in
23747 let _v : 'tv_plus_after_dots =
23748 # 1846 "parser_cocci_menhir.mly"
23749 ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
23750 # 23751 "parser_cocci_menhir.ml"
23751 in
23752 _menhir_env.MenhirLib.EngineTypes.stack <- {
23753 MenhirLib.EngineTypes.state = _menhir_s;
23754 MenhirLib.EngineTypes.semv = Obj.repr _v;
23755 MenhirLib.EngineTypes.startp = _startpos;
23756 MenhirLib.EngineTypes.endp = _endpos;
23757 MenhirLib.EngineTypes.next = _menhir_stack;
23758 });
23759 (fun _menhir_env ->
23760 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23761 let {
23762 MenhirLib.EngineTypes.semv = _2;
23763 MenhirLib.EngineTypes.startp = _startpos__2_;
23764 MenhirLib.EngineTypes.endp = _endpos__2_;
23765 MenhirLib.EngineTypes.next = {
23766 MenhirLib.EngineTypes.state = _menhir_s;
23767 MenhirLib.EngineTypes.semv = _1;
23768 MenhirLib.EngineTypes.startp = _startpos__1_;
23769 MenhirLib.EngineTypes.endp = _endpos__1_;
23770 MenhirLib.EngineTypes.next = _menhir_stack;
23771 };
23772 } = _menhir_stack in
23773 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
23774 let _1 : 'tv_fundecl = Obj.magic _1 in
23775 let _startpos = _startpos__1_ in
23776 let _endpos = _endpos__2_ in
23777 let _v : 'tv_plus_after_dots =
23778 # 1847 "parser_cocci_menhir.mly"
23779 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
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.semv = _2;
23793 MenhirLib.EngineTypes.startp = _startpos__2_;
23794 MenhirLib.EngineTypes.endp = _endpos__2_;
23795 MenhirLib.EngineTypes.next = {
23796 MenhirLib.EngineTypes.state = _menhir_s;
23797 MenhirLib.EngineTypes.semv = _1;
23798 MenhirLib.EngineTypes.startp = _startpos__1_;
23799 MenhirLib.EngineTypes.endp = _endpos__1_;
23800 MenhirLib.EngineTypes.next = _menhir_stack;
23801 };
23802 } = _menhir_stack in
23803 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
23804 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
23805 let _startpos = _startpos__1_ in
23806 let _endpos = _endpos__2_ in
23807 let _v : 'tv_plus_after_dots =
23808 # 1849 "parser_cocci_menhir.mly"
23809 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
23810 # 23811 "parser_cocci_menhir.ml"
23811 in
23812 _menhir_env.MenhirLib.EngineTypes.stack <- {
23813 MenhirLib.EngineTypes.state = _menhir_s;
23814 MenhirLib.EngineTypes.semv = Obj.repr _v;
23815 MenhirLib.EngineTypes.startp = _startpos;
23816 MenhirLib.EngineTypes.endp = _endpos;
23817 MenhirLib.EngineTypes.next = _menhir_stack;
23818 });
23819 (fun _menhir_env ->
23820 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23821 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23822 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23823 let _endpos = _startpos in
23824 let _v : 'tv_plus_after_exp =
23825 # 1839 "parser_cocci_menhir.mly"
23826 ([])
23827 # 23828 "parser_cocci_menhir.ml"
23828 in
23829 _menhir_env.MenhirLib.EngineTypes.stack <- {
23830 MenhirLib.EngineTypes.state = _menhir_s;
23831 MenhirLib.EngineTypes.semv = Obj.repr _v;
23832 MenhirLib.EngineTypes.startp = _startpos;
23833 MenhirLib.EngineTypes.endp = _endpos;
23834 MenhirLib.EngineTypes.next = _menhir_stack;
23835 });
23836 (fun _menhir_env ->
23837 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23838 let {
23839 MenhirLib.EngineTypes.semv = _2;
23840 MenhirLib.EngineTypes.startp = _startpos__2_;
23841 MenhirLib.EngineTypes.endp = _endpos__2_;
23842 MenhirLib.EngineTypes.next = {
23843 MenhirLib.EngineTypes.state = _menhir_s;
23844 MenhirLib.EngineTypes.semv = _1;
23845 MenhirLib.EngineTypes.startp = _startpos__1_;
23846 MenhirLib.EngineTypes.endp = _endpos__1_;
23847 MenhirLib.EngineTypes.next = _menhir_stack;
23848 };
23849 } = _menhir_stack in
23850 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
23851 let _1 : 'tv_stm_dots = Obj.magic _1 in
23852 let _startpos = _startpos__1_ in
23853 let _endpos = _endpos__2_ in
23854 let _v : 'tv_plus_after_exp =
23855 # 1840 "parser_cocci_menhir.mly"
23856 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
23857 # 23858 "parser_cocci_menhir.ml"
23858 in
23859 _menhir_env.MenhirLib.EngineTypes.stack <- {
23860 MenhirLib.EngineTypes.state = _menhir_s;
23861 MenhirLib.EngineTypes.semv = Obj.repr _v;
23862 MenhirLib.EngineTypes.startp = _startpos;
23863 MenhirLib.EngineTypes.endp = _endpos;
23864 MenhirLib.EngineTypes.next = _menhir_stack;
23865 });
23866 (fun _menhir_env ->
23867 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23868 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23869 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23870 let _endpos = _startpos in
23871 let _v : 'tv_plus_after_stm =
23872 # 1852 "parser_cocci_menhir.mly"
23873 ([])
23874 # 23875 "parser_cocci_menhir.ml"
23875 in
23876 _menhir_env.MenhirLib.EngineTypes.stack <- {
23877 MenhirLib.EngineTypes.state = _menhir_s;
23878 MenhirLib.EngineTypes.semv = Obj.repr _v;
23879 MenhirLib.EngineTypes.startp = _startpos;
23880 MenhirLib.EngineTypes.endp = _endpos;
23881 MenhirLib.EngineTypes.next = _menhir_stack;
23882 });
23883 (fun _menhir_env ->
23884 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23885 let {
23886 MenhirLib.EngineTypes.semv = _2;
23887 MenhirLib.EngineTypes.startp = _startpos__2_;
23888 MenhirLib.EngineTypes.endp = _endpos__2_;
23889 MenhirLib.EngineTypes.next = {
23890 MenhirLib.EngineTypes.state = _menhir_s;
23891 MenhirLib.EngineTypes.semv = _1;
23892 MenhirLib.EngineTypes.startp = _startpos__1_;
23893 MenhirLib.EngineTypes.endp = _endpos__1_;
23894 MenhirLib.EngineTypes.next = _menhir_stack;
23895 };
23896 } = _menhir_stack in
23897 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
23898 let _1 : 'tv_stm_dots = Obj.magic _1 in
23899 let _startpos = _startpos__1_ in
23900 let _endpos = _endpos__2_ in
23901 let _v : 'tv_plus_after_stm =
23902 # 1853 "parser_cocci_menhir.mly"
23903 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
23904 # 23905 "parser_cocci_menhir.ml"
23905 in
23906 _menhir_env.MenhirLib.EngineTypes.stack <- {
23907 MenhirLib.EngineTypes.state = _menhir_s;
23908 MenhirLib.EngineTypes.semv = Obj.repr _v;
23909 MenhirLib.EngineTypes.startp = _startpos;
23910 MenhirLib.EngineTypes.endp = _endpos;
23911 MenhirLib.EngineTypes.next = _menhir_stack;
23912 });
23913 (fun _menhir_env ->
23914 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23915 let {
23916 MenhirLib.EngineTypes.semv = _2;
23917 MenhirLib.EngineTypes.startp = _startpos__2_;
23918 MenhirLib.EngineTypes.endp = _endpos__2_;
23919 MenhirLib.EngineTypes.next = {
23920 MenhirLib.EngineTypes.state = _menhir_s;
23921 MenhirLib.EngineTypes.semv = _1;
23922 MenhirLib.EngineTypes.startp = _startpos__1_;
23923 MenhirLib.EngineTypes.endp = _endpos__1_;
23924 MenhirLib.EngineTypes.next = _menhir_stack;
23925 };
23926 } = _menhir_stack in
23927 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
23928 let _1 : 'tv_fundecl = Obj.magic _1 in
23929 let _startpos = _startpos__1_ in
23930 let _endpos = _endpos__2_ in
23931 let _v : 'tv_plus_after_stm =
23932 # 1854 "parser_cocci_menhir.mly"
23933 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
23934 # 23935 "parser_cocci_menhir.ml"
23935 in
23936 _menhir_env.MenhirLib.EngineTypes.stack <- {
23937 MenhirLib.EngineTypes.state = _menhir_s;
23938 MenhirLib.EngineTypes.semv = Obj.repr _v;
23939 MenhirLib.EngineTypes.startp = _startpos;
23940 MenhirLib.EngineTypes.endp = _endpos;
23941 MenhirLib.EngineTypes.next = _menhir_stack;
23942 });
23943 (fun _menhir_env ->
23944 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23945 let {
23946 MenhirLib.EngineTypes.semv = _2;
23947 MenhirLib.EngineTypes.startp = _startpos__2_;
23948 MenhirLib.EngineTypes.endp = _endpos__2_;
23949 MenhirLib.EngineTypes.next = {
23950 MenhirLib.EngineTypes.state = _menhir_s;
23951 MenhirLib.EngineTypes.semv = _1;
23952 MenhirLib.EngineTypes.startp = _startpos__1_;
23953 MenhirLib.EngineTypes.endp = _endpos__1_;
23954 MenhirLib.EngineTypes.next = _menhir_stack;
23955 };
23956 } = _menhir_stack in
23957 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
23958 let _1 : 'tv_decl_statement = Obj.magic _1 in
23959 let _startpos = _startpos__1_ in
23960 let _endpos = _endpos__2_ in
23961 let _v : 'tv_plus_after_stm =
23962 # 1856 "parser_cocci_menhir.mly"
23963 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
23964 # 23965 "parser_cocci_menhir.ml"
23965 in
23966 _menhir_env.MenhirLib.EngineTypes.stack <- {
23967 MenhirLib.EngineTypes.state = _menhir_s;
23968 MenhirLib.EngineTypes.semv = Obj.repr _v;
23969 MenhirLib.EngineTypes.startp = _startpos;
23970 MenhirLib.EngineTypes.endp = _endpos;
23971 MenhirLib.EngineTypes.next = _menhir_stack;
23972 });
23973 (fun _menhir_env ->
23974 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23975 let {
23976 MenhirLib.EngineTypes.semv = b;
23977 MenhirLib.EngineTypes.startp = _startpos_b_;
23978 MenhirLib.EngineTypes.endp = _endpos_b_;
23979 MenhirLib.EngineTypes.next = {
23980 MenhirLib.EngineTypes.state = _menhir_s;
23981 MenhirLib.EngineTypes.semv = f;
23982 MenhirLib.EngineTypes.startp = _startpos_f_;
23983 MenhirLib.EngineTypes.endp = _endpos_f_;
23984 MenhirLib.EngineTypes.next = _menhir_stack;
23985 };
23986 } = _menhir_stack in
23987 let b : 'tv_loption_plus_start_ = Obj.magic b in
23988 let f : 'tv_loption_filespec_ = Obj.magic f in
23989 let _startpos = _startpos_f_ in
23990 let _endpos = _endpos_b_ in
23991 let _v : 'tv_plus_body =
23992 # 645 "parser_cocci_menhir.mly"
23993 ( Top_level.top_level (f@b(*@ew*)) )
23994 # 23995 "parser_cocci_menhir.ml"
23995 in
23996 _menhir_env.MenhirLib.EngineTypes.stack <- {
23997 MenhirLib.EngineTypes.state = _menhir_s;
23998 MenhirLib.EngineTypes.semv = Obj.repr _v;
23999 MenhirLib.EngineTypes.startp = _startpos;
24000 MenhirLib.EngineTypes.endp = _endpos;
24001 MenhirLib.EngineTypes.next = _menhir_stack;
24002 });
24003 (fun _menhir_env ->
24004 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24005 let {
24006 MenhirLib.EngineTypes.semv = b;
24007 MenhirLib.EngineTypes.startp = _startpos_b_;
24008 MenhirLib.EngineTypes.endp = _endpos_b_;
24009 MenhirLib.EngineTypes.next = {
24010 MenhirLib.EngineTypes.state = _menhir_s;
24011 MenhirLib.EngineTypes.semv = f;
24012 MenhirLib.EngineTypes.startp = _startpos_f_;
24013 MenhirLib.EngineTypes.endp = _endpos_f_;
24014 MenhirLib.EngineTypes.next = _menhir_stack;
24015 };
24016 } = _menhir_stack in
24017 let b : 'tv_top_eexpr = Obj.magic b in
24018 let f : 'tv_loption_filespec_ = Obj.magic f in
24019 let _startpos = _startpos_f_ in
24020 let _endpos = _endpos_b_ in
24021 let _v : 'tv_plus_exp_body =
24022 # 659 "parser_cocci_menhir.mly"
24023 ( Top_level.top_level (f@[b](*@ew*)) )
24024 # 24025 "parser_cocci_menhir.ml"
24025 in
24026 _menhir_env.MenhirLib.EngineTypes.stack <- {
24027 MenhirLib.EngineTypes.state = _menhir_s;
24028 MenhirLib.EngineTypes.semv = Obj.repr _v;
24029 MenhirLib.EngineTypes.startp = _startpos;
24030 MenhirLib.EngineTypes.endp = _endpos;
24031 MenhirLib.EngineTypes.next = _menhir_stack;
24032 });
24033 (fun _menhir_env ->
24034 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24035 let {
24036 MenhirLib.EngineTypes.startp = _startpos__2_;
24037 MenhirLib.EngineTypes.endp = _endpos__2_;
24038 MenhirLib.EngineTypes.next = {
24039 MenhirLib.EngineTypes.state = _menhir_s;
24040 MenhirLib.EngineTypes.semv = _1;
24041 MenhirLib.EngineTypes.startp = _startpos__1_;
24042 MenhirLib.EngineTypes.endp = _endpos__1_;
24043 MenhirLib.EngineTypes.next = _menhir_stack;
24044 };
24045 } = _menhir_stack in
24046 let _1 : 'tv_plus_exp_body = Obj.magic _1 in
24047 let _startpos = _startpos__1_ in
24048 let _endpos = _endpos__2_ in
24049 let _v : (
24050 # 146 "parser_cocci_menhir.mly"
24051 (Ast0_cocci.rule)
24052 # 24053 "parser_cocci_menhir.ml"
24053 ) =
24054 # 182 "parser_cocci_menhir.mly"
24055 ( _1 )
24056 # 24057 "parser_cocci_menhir.ml"
24057 in
24058 _menhir_env.MenhirLib.EngineTypes.stack <- {
24059 MenhirLib.EngineTypes.state = _menhir_s;
24060 MenhirLib.EngineTypes.semv = Obj.repr _v;
24061 MenhirLib.EngineTypes.startp = _startpos;
24062 MenhirLib.EngineTypes.endp = _endpos;
24063 MenhirLib.EngineTypes.next = _menhir_stack;
24064 });
24065 (fun _menhir_env ->
24066 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24067 let {
24068 MenhirLib.EngineTypes.startp = _startpos__2_;
24069 MenhirLib.EngineTypes.endp = _endpos__2_;
24070 MenhirLib.EngineTypes.next = {
24071 MenhirLib.EngineTypes.state = _menhir_s;
24072 MenhirLib.EngineTypes.semv = p;
24073 MenhirLib.EngineTypes.startp = _startpos_p_;
24074 MenhirLib.EngineTypes.endp = _endpos_p_;
24075 MenhirLib.EngineTypes.next = _menhir_stack;
24076 };
24077 } = _menhir_stack in
24078 let p : 'tv_plus_exp_body = Obj.magic p in
24079 let _startpos = _startpos_p_ in
24080 let _endpos = _endpos__2_ in
24081 let _v : (
24082 # 146 "parser_cocci_menhir.mly"
24083 (Ast0_cocci.rule)
24084 # 24085 "parser_cocci_menhir.ml"
24085 ) =
24086 # 182 "parser_cocci_menhir.mly"
24087 ( p )
24088 # 24089 "parser_cocci_menhir.ml"
24089 in
24090 _menhir_env.MenhirLib.EngineTypes.stack <- {
24091 MenhirLib.EngineTypes.state = _menhir_s;
24092 MenhirLib.EngineTypes.semv = Obj.repr _v;
24093 MenhirLib.EngineTypes.startp = _startpos;
24094 MenhirLib.EngineTypes.endp = _endpos;
24095 MenhirLib.EngineTypes.next = _menhir_stack;
24096 });
24097 (fun _menhir_env ->
24098 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24099 let {
24100 MenhirLib.EngineTypes.startp = _startpos__2_;
24101 MenhirLib.EngineTypes.endp = _endpos__2_;
24102 MenhirLib.EngineTypes.next = {
24103 MenhirLib.EngineTypes.state = _menhir_s;
24104 MenhirLib.EngineTypes.semv = p;
24105 MenhirLib.EngineTypes.startp = _startpos_p_;
24106 MenhirLib.EngineTypes.endp = _endpos_p_;
24107 MenhirLib.EngineTypes.next = _menhir_stack;
24108 };
24109 } = _menhir_stack in
24110 let p : 'tv_plus_exp_body = Obj.magic p in
24111 let _startpos = _startpos_p_ in
24112 let _endpos = _endpos__2_ in
24113 let _v : (
24114 # 146 "parser_cocci_menhir.mly"
24115 (Ast0_cocci.rule)
24116 # 24117 "parser_cocci_menhir.ml"
24117 ) =
24118 # 183 "parser_cocci_menhir.mly"
24119 ( p )
24120 # 24121 "parser_cocci_menhir.ml"
24121 in
24122 _menhir_env.MenhirLib.EngineTypes.stack <- {
24123 MenhirLib.EngineTypes.state = _menhir_s;
24124 MenhirLib.EngineTypes.semv = Obj.repr _v;
24125 MenhirLib.EngineTypes.startp = _startpos;
24126 MenhirLib.EngineTypes.endp = _endpos;
24127 MenhirLib.EngineTypes.next = _menhir_stack;
24128 });
24129 (fun _menhir_env ->
24130 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24131 let {
24132 MenhirLib.EngineTypes.startp = _startpos__2_;
24133 MenhirLib.EngineTypes.endp = _endpos__2_;
24134 MenhirLib.EngineTypes.next = {
24135 MenhirLib.EngineTypes.state = _menhir_s;
24136 MenhirLib.EngineTypes.semv = _1;
24137 MenhirLib.EngineTypes.startp = _startpos__1_;
24138 MenhirLib.EngineTypes.endp = _endpos__1_;
24139 MenhirLib.EngineTypes.next = _menhir_stack;
24140 };
24141 } = _menhir_stack in
24142 let _1 : 'tv_plus_body = Obj.magic _1 in
24143 let _startpos = _startpos__1_ in
24144 let _endpos = _endpos__2_ in
24145 let _v : (
24146 # 143 "parser_cocci_menhir.mly"
24147 (Ast0_cocci.rule)
24148 # 24149 "parser_cocci_menhir.ml"
24149 ) =
24150 # 178 "parser_cocci_menhir.mly"
24151 ( _1 )
24152 # 24153 "parser_cocci_menhir.ml"
24153 in
24154 _menhir_env.MenhirLib.EngineTypes.stack <- {
24155 MenhirLib.EngineTypes.state = _menhir_s;
24156 MenhirLib.EngineTypes.semv = Obj.repr _v;
24157 MenhirLib.EngineTypes.startp = _startpos;
24158 MenhirLib.EngineTypes.endp = _endpos;
24159 MenhirLib.EngineTypes.next = _menhir_stack;
24160 });
24161 (fun _menhir_env ->
24162 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24163 let {
24164 MenhirLib.EngineTypes.startp = _startpos__2_;
24165 MenhirLib.EngineTypes.endp = _endpos__2_;
24166 MenhirLib.EngineTypes.next = {
24167 MenhirLib.EngineTypes.state = _menhir_s;
24168 MenhirLib.EngineTypes.semv = p;
24169 MenhirLib.EngineTypes.startp = _startpos_p_;
24170 MenhirLib.EngineTypes.endp = _endpos_p_;
24171 MenhirLib.EngineTypes.next = _menhir_stack;
24172 };
24173 } = _menhir_stack in
24174 let p : 'tv_plus_body = Obj.magic p in
24175 let _startpos = _startpos_p_ in
24176 let _endpos = _endpos__2_ in
24177 let _v : (
24178 # 143 "parser_cocci_menhir.mly"
24179 (Ast0_cocci.rule)
24180 # 24181 "parser_cocci_menhir.ml"
24181 ) =
24182 # 178 "parser_cocci_menhir.mly"
24183 ( p )
24184 # 24185 "parser_cocci_menhir.ml"
24185 in
24186 _menhir_env.MenhirLib.EngineTypes.stack <- {
24187 MenhirLib.EngineTypes.state = _menhir_s;
24188 MenhirLib.EngineTypes.semv = Obj.repr _v;
24189 MenhirLib.EngineTypes.startp = _startpos;
24190 MenhirLib.EngineTypes.endp = _endpos;
24191 MenhirLib.EngineTypes.next = _menhir_stack;
24192 });
24193 (fun _menhir_env ->
24194 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24195 let {
24196 MenhirLib.EngineTypes.startp = _startpos__2_;
24197 MenhirLib.EngineTypes.endp = _endpos__2_;
24198 MenhirLib.EngineTypes.next = {
24199 MenhirLib.EngineTypes.state = _menhir_s;
24200 MenhirLib.EngineTypes.semv = p;
24201 MenhirLib.EngineTypes.startp = _startpos_p_;
24202 MenhirLib.EngineTypes.endp = _endpos_p_;
24203 MenhirLib.EngineTypes.next = _menhir_stack;
24204 };
24205 } = _menhir_stack in
24206 let p : 'tv_plus_body = Obj.magic p in
24207 let _startpos = _startpos_p_ in
24208 let _endpos = _endpos__2_ in
24209 let _v : (
24210 # 143 "parser_cocci_menhir.mly"
24211 (Ast0_cocci.rule)
24212 # 24213 "parser_cocci_menhir.ml"
24213 ) =
24214 # 179 "parser_cocci_menhir.mly"
24215 ( p )
24216 # 24217 "parser_cocci_menhir.ml"
24217 in
24218 _menhir_env.MenhirLib.EngineTypes.stack <- {
24219 MenhirLib.EngineTypes.state = _menhir_s;
24220 MenhirLib.EngineTypes.semv = Obj.repr _v;
24221 MenhirLib.EngineTypes.startp = _startpos;
24222 MenhirLib.EngineTypes.endp = _endpos;
24223 MenhirLib.EngineTypes.next = _menhir_stack;
24224 });
24225 (fun _menhir_env ->
24226 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24227 let {
24228 MenhirLib.EngineTypes.state = _menhir_s;
24229 MenhirLib.EngineTypes.semv = _1;
24230 MenhirLib.EngineTypes.startp = _startpos__1_;
24231 MenhirLib.EngineTypes.endp = _endpos__1_;
24232 MenhirLib.EngineTypes.next = _menhir_stack;
24233 } = _menhir_stack in
24234 let _1 : 'tv_ctype = Obj.magic _1 in
24235 let _startpos = _startpos__1_ in
24236 let _endpos = _endpos__1_ in
24237 let _v : 'tv_plus_start =
24238 # 1828 "parser_cocci_menhir.mly"
24239 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
24240 # 24241 "parser_cocci_menhir.ml"
24241 in
24242 _menhir_env.MenhirLib.EngineTypes.stack <- {
24243 MenhirLib.EngineTypes.state = _menhir_s;
24244 MenhirLib.EngineTypes.semv = Obj.repr _v;
24245 MenhirLib.EngineTypes.startp = _startpos;
24246 MenhirLib.EngineTypes.endp = _endpos;
24247 MenhirLib.EngineTypes.next = _menhir_stack;
24248 });
24249 (fun _menhir_env ->
24250 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24251 let {
24252 MenhirLib.EngineTypes.state = _menhir_s;
24253 MenhirLib.EngineTypes.semv = _1;
24254 MenhirLib.EngineTypes.startp = _startpos__1_;
24255 MenhirLib.EngineTypes.endp = _endpos__1_;
24256 MenhirLib.EngineTypes.next = _menhir_stack;
24257 } = _menhir_stack in
24258 let _1 : 'tv_top_init = Obj.magic _1 in
24259 let _startpos = _startpos__1_ in
24260 let _endpos = _endpos__1_ in
24261 let _v : 'tv_plus_start =
24262 # 1829 "parser_cocci_menhir.mly"
24263 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
24264 # 24265 "parser_cocci_menhir.ml"
24265 in
24266 _menhir_env.MenhirLib.EngineTypes.stack <- {
24267 MenhirLib.EngineTypes.state = _menhir_s;
24268 MenhirLib.EngineTypes.semv = Obj.repr _v;
24269 MenhirLib.EngineTypes.startp = _startpos;
24270 MenhirLib.EngineTypes.endp = _endpos;
24271 MenhirLib.EngineTypes.next = _menhir_stack;
24272 });
24273 (fun _menhir_env ->
24274 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24275 let {
24276 MenhirLib.EngineTypes.semv = _2;
24277 MenhirLib.EngineTypes.startp = _startpos__2_;
24278 MenhirLib.EngineTypes.endp = _endpos__2_;
24279 MenhirLib.EngineTypes.next = {
24280 MenhirLib.EngineTypes.state = _menhir_s;
24281 MenhirLib.EngineTypes.semv = _1;
24282 MenhirLib.EngineTypes.startp = _startpos__1_;
24283 MenhirLib.EngineTypes.endp = _endpos__1_;
24284 MenhirLib.EngineTypes.next = _menhir_stack;
24285 };
24286 } = _menhir_stack in
24287 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
24288 let _1 : 'tv_stm_dots = Obj.magic _1 in
24289 let _startpos = _startpos__1_ in
24290 let _endpos = _endpos__2_ in
24291 let _v : 'tv_plus_start =
24292 # 1831 "parser_cocci_menhir.mly"
24293 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
24294 # 24295 "parser_cocci_menhir.ml"
24295 in
24296 _menhir_env.MenhirLib.EngineTypes.stack <- {
24297 MenhirLib.EngineTypes.state = _menhir_s;
24298 MenhirLib.EngineTypes.semv = Obj.repr _v;
24299 MenhirLib.EngineTypes.startp = _startpos;
24300 MenhirLib.EngineTypes.endp = _endpos;
24301 MenhirLib.EngineTypes.next = _menhir_stack;
24302 });
24303 (fun _menhir_env ->
24304 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24305 let {
24306 MenhirLib.EngineTypes.semv = _2;
24307 MenhirLib.EngineTypes.startp = _startpos__2_;
24308 MenhirLib.EngineTypes.endp = _endpos__2_;
24309 MenhirLib.EngineTypes.next = {
24310 MenhirLib.EngineTypes.state = _menhir_s;
24311 MenhirLib.EngineTypes.semv = _1;
24312 MenhirLib.EngineTypes.startp = _startpos__1_;
24313 MenhirLib.EngineTypes.endp = _endpos__1_;
24314 MenhirLib.EngineTypes.next = _menhir_stack;
24315 };
24316 } = _menhir_stack in
24317 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
24318 let _1 : 'tv_expr = Obj.magic _1 in
24319 let _startpos = _startpos__1_ in
24320 let _endpos = _endpos__2_ in
24321 let _v : 'tv_plus_start =
24322 # 1833 "parser_cocci_menhir.mly"
24323 ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
24324 # 24325 "parser_cocci_menhir.ml"
24325 in
24326 _menhir_env.MenhirLib.EngineTypes.stack <- {
24327 MenhirLib.EngineTypes.state = _menhir_s;
24328 MenhirLib.EngineTypes.semv = Obj.repr _v;
24329 MenhirLib.EngineTypes.startp = _startpos;
24330 MenhirLib.EngineTypes.endp = _endpos;
24331 MenhirLib.EngineTypes.next = _menhir_stack;
24332 });
24333 (fun _menhir_env ->
24334 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24335 let {
24336 MenhirLib.EngineTypes.semv = _2;
24337 MenhirLib.EngineTypes.startp = _startpos__2_;
24338 MenhirLib.EngineTypes.endp = _endpos__2_;
24339 MenhirLib.EngineTypes.next = {
24340 MenhirLib.EngineTypes.state = _menhir_s;
24341 MenhirLib.EngineTypes.semv = _1;
24342 MenhirLib.EngineTypes.startp = _startpos__1_;
24343 MenhirLib.EngineTypes.endp = _endpos__1_;
24344 MenhirLib.EngineTypes.next = _menhir_stack;
24345 };
24346 } = _menhir_stack in
24347 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
24348 let _1 : 'tv_fundecl = Obj.magic _1 in
24349 let _startpos = _startpos__1_ in
24350 let _endpos = _endpos__2_ in
24351 let _v : 'tv_plus_start =
24352 # 1834 "parser_cocci_menhir.mly"
24353 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
24354 # 24355 "parser_cocci_menhir.ml"
24355 in
24356 _menhir_env.MenhirLib.EngineTypes.stack <- {
24357 MenhirLib.EngineTypes.state = _menhir_s;
24358 MenhirLib.EngineTypes.semv = Obj.repr _v;
24359 MenhirLib.EngineTypes.startp = _startpos;
24360 MenhirLib.EngineTypes.endp = _endpos;
24361 MenhirLib.EngineTypes.next = _menhir_stack;
24362 });
24363 (fun _menhir_env ->
24364 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24365 let {
24366 MenhirLib.EngineTypes.semv = _2;
24367 MenhirLib.EngineTypes.startp = _startpos__2_;
24368 MenhirLib.EngineTypes.endp = _endpos__2_;
24369 MenhirLib.EngineTypes.next = {
24370 MenhirLib.EngineTypes.state = _menhir_s;
24371 MenhirLib.EngineTypes.semv = _1;
24372 MenhirLib.EngineTypes.startp = _startpos__1_;
24373 MenhirLib.EngineTypes.endp = _endpos__1_;
24374 MenhirLib.EngineTypes.next = _menhir_stack;
24375 };
24376 } = _menhir_stack in
24377 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
24378 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
24379 let _startpos = _startpos__1_ in
24380 let _endpos = _endpos__2_ in
24381 let _v : 'tv_plus_start =
24382 # 1836 "parser_cocci_menhir.mly"
24383 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
24384 # 24385 "parser_cocci_menhir.ml"
24385 in
24386 _menhir_env.MenhirLib.EngineTypes.stack <- {
24387 MenhirLib.EngineTypes.state = _menhir_s;
24388 MenhirLib.EngineTypes.semv = Obj.repr _v;
24389 MenhirLib.EngineTypes.startp = _startpos;
24390 MenhirLib.EngineTypes.endp = _endpos;
24391 MenhirLib.EngineTypes.next = _menhir_stack;
24392 });
24393 (fun _menhir_env ->
24394 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24395 let {
24396 MenhirLib.EngineTypes.state = _menhir_s;
24397 MenhirLib.EngineTypes.semv = _1;
24398 MenhirLib.EngineTypes.startp = _startpos__1_;
24399 MenhirLib.EngineTypes.endp = _endpos__1_;
24400 MenhirLib.EngineTypes.next = _menhir_stack;
24401 } = _menhir_stack in
24402 let _1 : (
24403 # 49 "parser_cocci_menhir.mly"
24404 (string)
24405 # 24406 "parser_cocci_menhir.ml"
24406 ) = Obj.magic _1 in
24407 let _startpos = _startpos__1_ in
24408 let _endpos = _endpos__1_ in
24409 let _v : 'tv_pnrule =
24410 # 233 "parser_cocci_menhir.mly"
24411 ( Ast.Dep _1 )
24412 # 24413 "parser_cocci_menhir.ml"
24413 in
24414 _menhir_env.MenhirLib.EngineTypes.stack <- {
24415 MenhirLib.EngineTypes.state = _menhir_s;
24416 MenhirLib.EngineTypes.semv = Obj.repr _v;
24417 MenhirLib.EngineTypes.startp = _startpos;
24418 MenhirLib.EngineTypes.endp = _endpos;
24419 MenhirLib.EngineTypes.next = _menhir_stack;
24420 });
24421 (fun _menhir_env ->
24422 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24423 let {
24424 MenhirLib.EngineTypes.semv = _2;
24425 MenhirLib.EngineTypes.startp = _startpos__2_;
24426 MenhirLib.EngineTypes.endp = _endpos__2_;
24427 MenhirLib.EngineTypes.next = {
24428 MenhirLib.EngineTypes.state = _menhir_s;
24429 MenhirLib.EngineTypes.startp = _startpos__1_;
24430 MenhirLib.EngineTypes.endp = _endpos__1_;
24431 MenhirLib.EngineTypes.next = _menhir_stack;
24432 };
24433 } = _menhir_stack in
24434 let _2 : (
24435 # 49 "parser_cocci_menhir.mly"
24436 (string)
24437 # 24438 "parser_cocci_menhir.ml"
24438 ) = Obj.magic _2 in
24439 let _startpos = _startpos__1_ in
24440 let _endpos = _endpos__2_ in
24441 let _v : 'tv_pnrule =
24442 # 234 "parser_cocci_menhir.mly"
24443 ( Ast.AntiDep _2 )
24444 # 24445 "parser_cocci_menhir.ml"
24445 in
24446 _menhir_env.MenhirLib.EngineTypes.stack <- {
24447 MenhirLib.EngineTypes.state = _menhir_s;
24448 MenhirLib.EngineTypes.semv = Obj.repr _v;
24449 MenhirLib.EngineTypes.startp = _startpos;
24450 MenhirLib.EngineTypes.endp = _endpos;
24451 MenhirLib.EngineTypes.next = _menhir_stack;
24452 });
24453 (fun _menhir_env ->
24454 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24455 let {
24456 MenhirLib.EngineTypes.semv = _2;
24457 MenhirLib.EngineTypes.startp = _startpos__2_;
24458 MenhirLib.EngineTypes.endp = _endpos__2_;
24459 MenhirLib.EngineTypes.next = {
24460 MenhirLib.EngineTypes.state = _menhir_s;
24461 MenhirLib.EngineTypes.startp = _startpos__1_;
24462 MenhirLib.EngineTypes.endp = _endpos__1_;
24463 MenhirLib.EngineTypes.next = _menhir_stack;
24464 };
24465 } = _menhir_stack in
24466 let _2 : (
24467 # 49 "parser_cocci_menhir.mly"
24468 (string)
24469 # 24470 "parser_cocci_menhir.ml"
24470 ) = Obj.magic _2 in
24471 let _startpos = _startpos__1_ in
24472 let _endpos = _endpos__2_ in
24473 let _v : 'tv_pnrule =
24474 # 235 "parser_cocci_menhir.mly"
24475 ( Ast.EverDep _2 )
24476 # 24477 "parser_cocci_menhir.ml"
24477 in
24478 _menhir_env.MenhirLib.EngineTypes.stack <- {
24479 MenhirLib.EngineTypes.state = _menhir_s;
24480 MenhirLib.EngineTypes.semv = Obj.repr _v;
24481 MenhirLib.EngineTypes.startp = _startpos;
24482 MenhirLib.EngineTypes.endp = _endpos;
24483 MenhirLib.EngineTypes.next = _menhir_stack;
24484 });
24485 (fun _menhir_env ->
24486 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24487 let {
24488 MenhirLib.EngineTypes.semv = _2;
24489 MenhirLib.EngineTypes.startp = _startpos__2_;
24490 MenhirLib.EngineTypes.endp = _endpos__2_;
24491 MenhirLib.EngineTypes.next = {
24492 MenhirLib.EngineTypes.state = _menhir_s;
24493 MenhirLib.EngineTypes.startp = _startpos__1_;
24494 MenhirLib.EngineTypes.endp = _endpos__1_;
24495 MenhirLib.EngineTypes.next = _menhir_stack;
24496 };
24497 } = _menhir_stack in
24498 let _2 : (
24499 # 49 "parser_cocci_menhir.mly"
24500 (string)
24501 # 24502 "parser_cocci_menhir.ml"
24502 ) = Obj.magic _2 in
24503 let _startpos = _startpos__1_ in
24504 let _endpos = _endpos__2_ in
24505 let _v : 'tv_pnrule =
24506 # 236 "parser_cocci_menhir.mly"
24507 ( Ast.NeverDep _2 )
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.startp = _startpos__3_;
24521 MenhirLib.EngineTypes.endp = _endpos__3_;
24522 MenhirLib.EngineTypes.next = {
24523 MenhirLib.EngineTypes.semv = _2;
24524 MenhirLib.EngineTypes.startp = _startpos__2_;
24525 MenhirLib.EngineTypes.endp = _endpos__2_;
24526 MenhirLib.EngineTypes.next = {
24527 MenhirLib.EngineTypes.state = _menhir_s;
24528 MenhirLib.EngineTypes.startp = _startpos__1_;
24529 MenhirLib.EngineTypes.endp = _endpos__1_;
24530 MenhirLib.EngineTypes.next = _menhir_stack;
24531 };
24532 };
24533 } = _menhir_stack in
24534 let _2 : 'tv_dep = Obj.magic _2 in
24535 let _startpos = _startpos__1_ in
24536 let _endpos = _endpos__3_ in
24537 let _v : 'tv_pnrule =
24538 # 237 "parser_cocci_menhir.mly"
24539 ( _2 )
24540 # 24541 "parser_cocci_menhir.ml"
24541 in
24542 _menhir_env.MenhirLib.EngineTypes.stack <- {
24543 MenhirLib.EngineTypes.state = _menhir_s;
24544 MenhirLib.EngineTypes.semv = Obj.repr _v;
24545 MenhirLib.EngineTypes.startp = _startpos;
24546 MenhirLib.EngineTypes.endp = _endpos;
24547 MenhirLib.EngineTypes.next = _menhir_stack;
24548 });
24549 (fun _menhir_env ->
24550 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24551 let {
24552 MenhirLib.EngineTypes.state = _menhir_s;
24553 MenhirLib.EngineTypes.semv = _1;
24554 MenhirLib.EngineTypes.startp = _startpos__1_;
24555 MenhirLib.EngineTypes.endp = _endpos__1_;
24556 MenhirLib.EngineTypes.next = _menhir_stack;
24557 } = _menhir_stack in
24558 let _1 : 'tv_primary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24559 let _startpos = _startpos__1_ in
24560 let _endpos = _endpos__1_ in
24561 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24562 # 1356 "parser_cocci_menhir.mly"
24563 ( _1 )
24564 # 24565 "parser_cocci_menhir.ml"
24565 in
24566 _menhir_env.MenhirLib.EngineTypes.stack <- {
24567 MenhirLib.EngineTypes.state = _menhir_s;
24568 MenhirLib.EngineTypes.semv = Obj.repr _v;
24569 MenhirLib.EngineTypes.startp = _startpos;
24570 MenhirLib.EngineTypes.endp = _endpos;
24571 MenhirLib.EngineTypes.next = _menhir_stack;
24572 });
24573 (fun _menhir_env ->
24574 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24575 let {
24576 MenhirLib.EngineTypes.semv = _4;
24577 MenhirLib.EngineTypes.startp = _startpos__4_;
24578 MenhirLib.EngineTypes.endp = _endpos__4_;
24579 MenhirLib.EngineTypes.next = {
24580 MenhirLib.EngineTypes.semv = _3;
24581 MenhirLib.EngineTypes.startp = _startpos__3_;
24582 MenhirLib.EngineTypes.endp = _endpos__3_;
24583 MenhirLib.EngineTypes.next = {
24584 MenhirLib.EngineTypes.semv = _2;
24585 MenhirLib.EngineTypes.startp = _startpos__2_;
24586 MenhirLib.EngineTypes.endp = _endpos__2_;
24587 MenhirLib.EngineTypes.next = {
24588 MenhirLib.EngineTypes.state = _menhir_s;
24589 MenhirLib.EngineTypes.semv = _1;
24590 MenhirLib.EngineTypes.startp = _startpos__1_;
24591 MenhirLib.EngineTypes.endp = _endpos__1_;
24592 MenhirLib.EngineTypes.next = _menhir_stack;
24593 };
24594 };
24595 };
24596 } = _menhir_stack in
24597 let _4 : (
24598 # 105 "parser_cocci_menhir.mly"
24599 (Data.clt)
24600 # 24601 "parser_cocci_menhir.ml"
24601 ) = Obj.magic _4 in
24602 let _3 : 'tv_eexpr = Obj.magic _3 in
24603 let _2 : (
24604 # 105 "parser_cocci_menhir.mly"
24605 (Data.clt)
24606 # 24607 "parser_cocci_menhir.ml"
24607 ) = Obj.magic _2 in
24608 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24609 let _startpos = _startpos__1_ in
24610 let _endpos = _endpos__4_ in
24611 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24612 # 1358 "parser_cocci_menhir.mly"
24613 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
24614 P.clt2mcode "]" _4)) )
24615 # 24616 "parser_cocci_menhir.ml"
24616 in
24617 _menhir_env.MenhirLib.EngineTypes.stack <- {
24618 MenhirLib.EngineTypes.state = _menhir_s;
24619 MenhirLib.EngineTypes.semv = Obj.repr _v;
24620 MenhirLib.EngineTypes.startp = _startpos;
24621 MenhirLib.EngineTypes.endp = _endpos;
24622 MenhirLib.EngineTypes.next = _menhir_stack;
24623 });
24624 (fun _menhir_env ->
24625 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24626 let {
24627 MenhirLib.EngineTypes.semv = _3;
24628 MenhirLib.EngineTypes.startp = _startpos__3_;
24629 MenhirLib.EngineTypes.endp = _endpos__3_;
24630 MenhirLib.EngineTypes.next = {
24631 MenhirLib.EngineTypes.semv = _2;
24632 MenhirLib.EngineTypes.startp = _startpos__2_;
24633 MenhirLib.EngineTypes.endp = _endpos__2_;
24634 MenhirLib.EngineTypes.next = {
24635 MenhirLib.EngineTypes.state = _menhir_s;
24636 MenhirLib.EngineTypes.semv = _1;
24637 MenhirLib.EngineTypes.startp = _startpos__1_;
24638 MenhirLib.EngineTypes.endp = _endpos__1_;
24639 MenhirLib.EngineTypes.next = _menhir_stack;
24640 };
24641 };
24642 } = _menhir_stack in
24643 let _3 : 'tv_ident = Obj.magic _3 in
24644 let _2 : (
24645 # 110 "parser_cocci_menhir.mly"
24646 (Data.clt)
24647 # 24648 "parser_cocci_menhir.ml"
24648 ) = Obj.magic _2 in
24649 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24650 let _startpos = _startpos__1_ in
24651 let _endpos = _endpos__3_ in
24652 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24653 # 1361 "parser_cocci_menhir.mly"
24654 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
24655 # 24656 "parser_cocci_menhir.ml"
24656 in
24657 _menhir_env.MenhirLib.EngineTypes.stack <- {
24658 MenhirLib.EngineTypes.state = _menhir_s;
24659 MenhirLib.EngineTypes.semv = Obj.repr _v;
24660 MenhirLib.EngineTypes.startp = _startpos;
24661 MenhirLib.EngineTypes.endp = _endpos;
24662 MenhirLib.EngineTypes.next = _menhir_stack;
24663 });
24664 (fun _menhir_env ->
24665 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24666 let {
24667 MenhirLib.EngineTypes.semv = _3;
24668 MenhirLib.EngineTypes.startp = _startpos__3_;
24669 MenhirLib.EngineTypes.endp = _endpos__3_;
24670 MenhirLib.EngineTypes.next = {
24671 MenhirLib.EngineTypes.semv = _2;
24672 MenhirLib.EngineTypes.startp = _startpos__2_;
24673 MenhirLib.EngineTypes.endp = _endpos__2_;
24674 MenhirLib.EngineTypes.next = {
24675 MenhirLib.EngineTypes.state = _menhir_s;
24676 MenhirLib.EngineTypes.semv = _1;
24677 MenhirLib.EngineTypes.startp = _startpos__1_;
24678 MenhirLib.EngineTypes.endp = _endpos__1_;
24679 MenhirLib.EngineTypes.next = _menhir_stack;
24680 };
24681 };
24682 } = _menhir_stack in
24683 let _3 : 'tv_ident = Obj.magic _3 in
24684 let _2 : (
24685 # 107 "parser_cocci_menhir.mly"
24686 (Data.clt)
24687 # 24688 "parser_cocci_menhir.ml"
24688 ) = Obj.magic _2 in
24689 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24690 let _startpos = _startpos__1_ in
24691 let _endpos = _endpos__3_ in
24692 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24693 # 1363 "parser_cocci_menhir.mly"
24694 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
24695 _3)) )
24696 # 24697 "parser_cocci_menhir.ml"
24697 in
24698 _menhir_env.MenhirLib.EngineTypes.stack <- {
24699 MenhirLib.EngineTypes.state = _menhir_s;
24700 MenhirLib.EngineTypes.semv = Obj.repr _v;
24701 MenhirLib.EngineTypes.startp = _startpos;
24702 MenhirLib.EngineTypes.endp = _endpos;
24703 MenhirLib.EngineTypes.next = _menhir_stack;
24704 });
24705 (fun _menhir_env ->
24706 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24707 let {
24708 MenhirLib.EngineTypes.semv = _2;
24709 MenhirLib.EngineTypes.startp = _startpos__2_;
24710 MenhirLib.EngineTypes.endp = _endpos__2_;
24711 MenhirLib.EngineTypes.next = {
24712 MenhirLib.EngineTypes.state = _menhir_s;
24713 MenhirLib.EngineTypes.semv = _1;
24714 MenhirLib.EngineTypes.startp = _startpos__1_;
24715 MenhirLib.EngineTypes.endp = _endpos__1_;
24716 MenhirLib.EngineTypes.next = _menhir_stack;
24717 };
24718 } = _menhir_stack in
24719 let _2 : (
24720 # 88 "parser_cocci_menhir.mly"
24721 (Data.clt)
24722 # 24723 "parser_cocci_menhir.ml"
24723 ) = Obj.magic _2 in
24724 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24725 let _startpos = _startpos__1_ in
24726 let _endpos = _endpos__2_ in
24727 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24728 # 1366 "parser_cocci_menhir.mly"
24729 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
24730 # 24731 "parser_cocci_menhir.ml"
24731 in
24732 _menhir_env.MenhirLib.EngineTypes.stack <- {
24733 MenhirLib.EngineTypes.state = _menhir_s;
24734 MenhirLib.EngineTypes.semv = Obj.repr _v;
24735 MenhirLib.EngineTypes.startp = _startpos;
24736 MenhirLib.EngineTypes.endp = _endpos;
24737 MenhirLib.EngineTypes.next = _menhir_stack;
24738 });
24739 (fun _menhir_env ->
24740 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24741 let {
24742 MenhirLib.EngineTypes.semv = _2;
24743 MenhirLib.EngineTypes.startp = _startpos__2_;
24744 MenhirLib.EngineTypes.endp = _endpos__2_;
24745 MenhirLib.EngineTypes.next = {
24746 MenhirLib.EngineTypes.state = _menhir_s;
24747 MenhirLib.EngineTypes.semv = _1;
24748 MenhirLib.EngineTypes.startp = _startpos__1_;
24749 MenhirLib.EngineTypes.endp = _endpos__1_;
24750 MenhirLib.EngineTypes.next = _menhir_stack;
24751 };
24752 } = _menhir_stack in
24753 let _2 : (
24754 # 88 "parser_cocci_menhir.mly"
24755 (Data.clt)
24756 # 24757 "parser_cocci_menhir.ml"
24757 ) = Obj.magic _2 in
24758 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24759 let _startpos = _startpos__1_ in
24760 let _endpos = _endpos__2_ in
24761 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24762 # 1368 "parser_cocci_menhir.mly"
24763 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
24764 # 24765 "parser_cocci_menhir.ml"
24765 in
24766 _menhir_env.MenhirLib.EngineTypes.stack <- {
24767 MenhirLib.EngineTypes.state = _menhir_s;
24768 MenhirLib.EngineTypes.semv = Obj.repr _v;
24769 MenhirLib.EngineTypes.startp = _startpos;
24770 MenhirLib.EngineTypes.endp = _endpos;
24771 MenhirLib.EngineTypes.next = _menhir_stack;
24772 });
24773 (fun _menhir_env ->
24774 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24775 let {
24776 MenhirLib.EngineTypes.semv = _4;
24777 MenhirLib.EngineTypes.startp = _startpos__4_;
24778 MenhirLib.EngineTypes.endp = _endpos__4_;
24779 MenhirLib.EngineTypes.next = {
24780 MenhirLib.EngineTypes.semv = _3;
24781 MenhirLib.EngineTypes.startp = _startpos__3_;
24782 MenhirLib.EngineTypes.endp = _endpos__3_;
24783 MenhirLib.EngineTypes.next = {
24784 MenhirLib.EngineTypes.semv = _2;
24785 MenhirLib.EngineTypes.startp = _startpos__2_;
24786 MenhirLib.EngineTypes.endp = _endpos__2_;
24787 MenhirLib.EngineTypes.next = {
24788 MenhirLib.EngineTypes.state = _menhir_s;
24789 MenhirLib.EngineTypes.semv = _1;
24790 MenhirLib.EngineTypes.startp = _startpos__1_;
24791 MenhirLib.EngineTypes.endp = _endpos__1_;
24792 MenhirLib.EngineTypes.next = _menhir_stack;
24793 };
24794 };
24795 };
24796 } = _menhir_stack in
24797 let _4 : (
24798 # 80 "parser_cocci_menhir.mly"
24799 (Data.clt)
24800 # 24801 "parser_cocci_menhir.ml"
24801 ) = Obj.magic _4 in
24802 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
24803 let _2 : (
24804 # 79 "parser_cocci_menhir.mly"
24805 (Data.clt)
24806 # 24807 "parser_cocci_menhir.ml"
24807 ) = Obj.magic _2 in
24808 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
24809 let _startpos = _startpos__1_ in
24810 let _endpos = _endpos__4_ in
24811 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
24812 # 1370 "parser_cocci_menhir.mly"
24813 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
24814 _3,
24815 P.clt2mcode ")" _4)) )
24816 # 24817 "parser_cocci_menhir.ml"
24817 in
24818 _menhir_env.MenhirLib.EngineTypes.stack <- {
24819 MenhirLib.EngineTypes.state = _menhir_s;
24820 MenhirLib.EngineTypes.semv = Obj.repr _v;
24821 MenhirLib.EngineTypes.startp = _startpos;
24822 MenhirLib.EngineTypes.endp = _endpos;
24823 MenhirLib.EngineTypes.next = _menhir_stack;
24824 });
24825 (fun _menhir_env ->
24826 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24827 let {
24828 MenhirLib.EngineTypes.state = _menhir_s;
24829 MenhirLib.EngineTypes.semv = _1;
24830 MenhirLib.EngineTypes.startp = _startpos__1_;
24831 MenhirLib.EngineTypes.endp = _endpos__1_;
24832 MenhirLib.EngineTypes.next = _menhir_stack;
24833 } = _menhir_stack in
24834 let _1 : 'tv_primary_expr_eexpr_invalid_ = Obj.magic _1 in
24835 let _startpos = _startpos__1_ in
24836 let _endpos = _endpos__1_ in
24837 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24838 # 1356 "parser_cocci_menhir.mly"
24839 ( _1 )
24840 # 24841 "parser_cocci_menhir.ml"
24841 in
24842 _menhir_env.MenhirLib.EngineTypes.stack <- {
24843 MenhirLib.EngineTypes.state = _menhir_s;
24844 MenhirLib.EngineTypes.semv = Obj.repr _v;
24845 MenhirLib.EngineTypes.startp = _startpos;
24846 MenhirLib.EngineTypes.endp = _endpos;
24847 MenhirLib.EngineTypes.next = _menhir_stack;
24848 });
24849 (fun _menhir_env ->
24850 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24851 let {
24852 MenhirLib.EngineTypes.semv = _4;
24853 MenhirLib.EngineTypes.startp = _startpos__4_;
24854 MenhirLib.EngineTypes.endp = _endpos__4_;
24855 MenhirLib.EngineTypes.next = {
24856 MenhirLib.EngineTypes.semv = _3;
24857 MenhirLib.EngineTypes.startp = _startpos__3_;
24858 MenhirLib.EngineTypes.endp = _endpos__3_;
24859 MenhirLib.EngineTypes.next = {
24860 MenhirLib.EngineTypes.semv = _2;
24861 MenhirLib.EngineTypes.startp = _startpos__2_;
24862 MenhirLib.EngineTypes.endp = _endpos__2_;
24863 MenhirLib.EngineTypes.next = {
24864 MenhirLib.EngineTypes.state = _menhir_s;
24865 MenhirLib.EngineTypes.semv = _1;
24866 MenhirLib.EngineTypes.startp = _startpos__1_;
24867 MenhirLib.EngineTypes.endp = _endpos__1_;
24868 MenhirLib.EngineTypes.next = _menhir_stack;
24869 };
24870 };
24871 };
24872 } = _menhir_stack in
24873 let _4 : (
24874 # 105 "parser_cocci_menhir.mly"
24875 (Data.clt)
24876 # 24877 "parser_cocci_menhir.ml"
24877 ) = Obj.magic _4 in
24878 let _3 : 'tv_eexpr = Obj.magic _3 in
24879 let _2 : (
24880 # 105 "parser_cocci_menhir.mly"
24881 (Data.clt)
24882 # 24883 "parser_cocci_menhir.ml"
24883 ) = Obj.magic _2 in
24884 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24885 let _startpos = _startpos__1_ in
24886 let _endpos = _endpos__4_ in
24887 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24888 # 1358 "parser_cocci_menhir.mly"
24889 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
24890 P.clt2mcode "]" _4)) )
24891 # 24892 "parser_cocci_menhir.ml"
24892 in
24893 _menhir_env.MenhirLib.EngineTypes.stack <- {
24894 MenhirLib.EngineTypes.state = _menhir_s;
24895 MenhirLib.EngineTypes.semv = Obj.repr _v;
24896 MenhirLib.EngineTypes.startp = _startpos;
24897 MenhirLib.EngineTypes.endp = _endpos;
24898 MenhirLib.EngineTypes.next = _menhir_stack;
24899 });
24900 (fun _menhir_env ->
24901 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24902 let {
24903 MenhirLib.EngineTypes.semv = _3;
24904 MenhirLib.EngineTypes.startp = _startpos__3_;
24905 MenhirLib.EngineTypes.endp = _endpos__3_;
24906 MenhirLib.EngineTypes.next = {
24907 MenhirLib.EngineTypes.semv = _2;
24908 MenhirLib.EngineTypes.startp = _startpos__2_;
24909 MenhirLib.EngineTypes.endp = _endpos__2_;
24910 MenhirLib.EngineTypes.next = {
24911 MenhirLib.EngineTypes.state = _menhir_s;
24912 MenhirLib.EngineTypes.semv = _1;
24913 MenhirLib.EngineTypes.startp = _startpos__1_;
24914 MenhirLib.EngineTypes.endp = _endpos__1_;
24915 MenhirLib.EngineTypes.next = _menhir_stack;
24916 };
24917 };
24918 } = _menhir_stack in
24919 let _3 : 'tv_ident = Obj.magic _3 in
24920 let _2 : (
24921 # 110 "parser_cocci_menhir.mly"
24922 (Data.clt)
24923 # 24924 "parser_cocci_menhir.ml"
24924 ) = Obj.magic _2 in
24925 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24926 let _startpos = _startpos__1_ in
24927 let _endpos = _endpos__3_ in
24928 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24929 # 1361 "parser_cocci_menhir.mly"
24930 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
24931 # 24932 "parser_cocci_menhir.ml"
24932 in
24933 _menhir_env.MenhirLib.EngineTypes.stack <- {
24934 MenhirLib.EngineTypes.state = _menhir_s;
24935 MenhirLib.EngineTypes.semv = Obj.repr _v;
24936 MenhirLib.EngineTypes.startp = _startpos;
24937 MenhirLib.EngineTypes.endp = _endpos;
24938 MenhirLib.EngineTypes.next = _menhir_stack;
24939 });
24940 (fun _menhir_env ->
24941 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24942 let {
24943 MenhirLib.EngineTypes.semv = _3;
24944 MenhirLib.EngineTypes.startp = _startpos__3_;
24945 MenhirLib.EngineTypes.endp = _endpos__3_;
24946 MenhirLib.EngineTypes.next = {
24947 MenhirLib.EngineTypes.semv = _2;
24948 MenhirLib.EngineTypes.startp = _startpos__2_;
24949 MenhirLib.EngineTypes.endp = _endpos__2_;
24950 MenhirLib.EngineTypes.next = {
24951 MenhirLib.EngineTypes.state = _menhir_s;
24952 MenhirLib.EngineTypes.semv = _1;
24953 MenhirLib.EngineTypes.startp = _startpos__1_;
24954 MenhirLib.EngineTypes.endp = _endpos__1_;
24955 MenhirLib.EngineTypes.next = _menhir_stack;
24956 };
24957 };
24958 } = _menhir_stack in
24959 let _3 : 'tv_ident = Obj.magic _3 in
24960 let _2 : (
24961 # 107 "parser_cocci_menhir.mly"
24962 (Data.clt)
24963 # 24964 "parser_cocci_menhir.ml"
24964 ) = Obj.magic _2 in
24965 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
24966 let _startpos = _startpos__1_ in
24967 let _endpos = _endpos__3_ in
24968 let _v : 'tv_postfix_expr_eexpr_invalid_ =
24969 # 1363 "parser_cocci_menhir.mly"
24970 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
24971 _3)) )
24972 # 24973 "parser_cocci_menhir.ml"
24973 in
24974 _menhir_env.MenhirLib.EngineTypes.stack <- {
24975 MenhirLib.EngineTypes.state = _menhir_s;
24976 MenhirLib.EngineTypes.semv = Obj.repr _v;
24977 MenhirLib.EngineTypes.startp = _startpos;
24978 MenhirLib.EngineTypes.endp = _endpos;
24979 MenhirLib.EngineTypes.next = _menhir_stack;
24980 });
24981 (fun _menhir_env ->
24982 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24983 let {
24984 MenhirLib.EngineTypes.semv = _2;
24985 MenhirLib.EngineTypes.startp = _startpos__2_;
24986 MenhirLib.EngineTypes.endp = _endpos__2_;
24987 MenhirLib.EngineTypes.next = {
24988 MenhirLib.EngineTypes.state = _menhir_s;
24989 MenhirLib.EngineTypes.semv = _1;
24990 MenhirLib.EngineTypes.startp = _startpos__1_;
24991 MenhirLib.EngineTypes.endp = _endpos__1_;
24992 MenhirLib.EngineTypes.next = _menhir_stack;
24993 };
24994 } = _menhir_stack in
24995 let _2 : (
24996 # 88 "parser_cocci_menhir.mly"
24997 (Data.clt)
24998 # 24999 "parser_cocci_menhir.ml"
24999 ) = Obj.magic _2 in
25000 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
25001 let _startpos = _startpos__1_ in
25002 let _endpos = _endpos__2_ in
25003 let _v : 'tv_postfix_expr_eexpr_invalid_ =
25004 # 1366 "parser_cocci_menhir.mly"
25005 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
25006 # 25007 "parser_cocci_menhir.ml"
25007 in
25008 _menhir_env.MenhirLib.EngineTypes.stack <- {
25009 MenhirLib.EngineTypes.state = _menhir_s;
25010 MenhirLib.EngineTypes.semv = Obj.repr _v;
25011 MenhirLib.EngineTypes.startp = _startpos;
25012 MenhirLib.EngineTypes.endp = _endpos;
25013 MenhirLib.EngineTypes.next = _menhir_stack;
25014 });
25015 (fun _menhir_env ->
25016 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25017 let {
25018 MenhirLib.EngineTypes.semv = _2;
25019 MenhirLib.EngineTypes.startp = _startpos__2_;
25020 MenhirLib.EngineTypes.endp = _endpos__2_;
25021 MenhirLib.EngineTypes.next = {
25022 MenhirLib.EngineTypes.state = _menhir_s;
25023 MenhirLib.EngineTypes.semv = _1;
25024 MenhirLib.EngineTypes.startp = _startpos__1_;
25025 MenhirLib.EngineTypes.endp = _endpos__1_;
25026 MenhirLib.EngineTypes.next = _menhir_stack;
25027 };
25028 } = _menhir_stack in
25029 let _2 : (
25030 # 88 "parser_cocci_menhir.mly"
25031 (Data.clt)
25032 # 25033 "parser_cocci_menhir.ml"
25033 ) = Obj.magic _2 in
25034 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
25035 let _startpos = _startpos__1_ in
25036 let _endpos = _endpos__2_ in
25037 let _v : 'tv_postfix_expr_eexpr_invalid_ =
25038 # 1368 "parser_cocci_menhir.mly"
25039 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
25040 # 25041 "parser_cocci_menhir.ml"
25041 in
25042 _menhir_env.MenhirLib.EngineTypes.stack <- {
25043 MenhirLib.EngineTypes.state = _menhir_s;
25044 MenhirLib.EngineTypes.semv = Obj.repr _v;
25045 MenhirLib.EngineTypes.startp = _startpos;
25046 MenhirLib.EngineTypes.endp = _endpos;
25047 MenhirLib.EngineTypes.next = _menhir_stack;
25048 });
25049 (fun _menhir_env ->
25050 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25051 let {
25052 MenhirLib.EngineTypes.semv = _4;
25053 MenhirLib.EngineTypes.startp = _startpos__4_;
25054 MenhirLib.EngineTypes.endp = _endpos__4_;
25055 MenhirLib.EngineTypes.next = {
25056 MenhirLib.EngineTypes.semv = _3;
25057 MenhirLib.EngineTypes.startp = _startpos__3_;
25058 MenhirLib.EngineTypes.endp = _endpos__3_;
25059 MenhirLib.EngineTypes.next = {
25060 MenhirLib.EngineTypes.semv = _2;
25061 MenhirLib.EngineTypes.startp = _startpos__2_;
25062 MenhirLib.EngineTypes.endp = _endpos__2_;
25063 MenhirLib.EngineTypes.next = {
25064 MenhirLib.EngineTypes.state = _menhir_s;
25065 MenhirLib.EngineTypes.semv = _1;
25066 MenhirLib.EngineTypes.startp = _startpos__1_;
25067 MenhirLib.EngineTypes.endp = _endpos__1_;
25068 MenhirLib.EngineTypes.next = _menhir_stack;
25069 };
25070 };
25071 };
25072 } = _menhir_stack in
25073 let _4 : (
25074 # 80 "parser_cocci_menhir.mly"
25075 (Data.clt)
25076 # 25077 "parser_cocci_menhir.ml"
25077 ) = Obj.magic _4 in
25078 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
25079 let _2 : (
25080 # 79 "parser_cocci_menhir.mly"
25081 (Data.clt)
25082 # 25083 "parser_cocci_menhir.ml"
25083 ) = Obj.magic _2 in
25084 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
25085 let _startpos = _startpos__1_ in
25086 let _endpos = _endpos__4_ in
25087 let _v : 'tv_postfix_expr_eexpr_invalid_ =
25088 # 1370 "parser_cocci_menhir.mly"
25089 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
25090 _3,
25091 P.clt2mcode ")" _4)) )
25092 # 25093 "parser_cocci_menhir.ml"
25093 in
25094 _menhir_env.MenhirLib.EngineTypes.stack <- {
25095 MenhirLib.EngineTypes.state = _menhir_s;
25096 MenhirLib.EngineTypes.semv = Obj.repr _v;
25097 MenhirLib.EngineTypes.startp = _startpos;
25098 MenhirLib.EngineTypes.endp = _endpos;
25099 MenhirLib.EngineTypes.next = _menhir_stack;
25100 });
25101 (fun _menhir_env ->
25102 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25103 let {
25104 MenhirLib.EngineTypes.state = _menhir_s;
25105 MenhirLib.EngineTypes.semv = _1;
25106 MenhirLib.EngineTypes.startp = _startpos__1_;
25107 MenhirLib.EngineTypes.endp = _endpos__1_;
25108 MenhirLib.EngineTypes.next = _menhir_stack;
25109 } = _menhir_stack in
25110 let _1 : 'tv_primary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
25111 let _startpos = _startpos__1_ in
25112 let _endpos = _endpos__1_ in
25113 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
25114 # 1356 "parser_cocci_menhir.mly"
25115 ( _1 )
25116 # 25117 "parser_cocci_menhir.ml"
25117 in
25118 _menhir_env.MenhirLib.EngineTypes.stack <- {
25119 MenhirLib.EngineTypes.state = _menhir_s;
25120 MenhirLib.EngineTypes.semv = Obj.repr _v;
25121 MenhirLib.EngineTypes.startp = _startpos;
25122 MenhirLib.EngineTypes.endp = _endpos;
25123 MenhirLib.EngineTypes.next = _menhir_stack;
25124 });
25125 (fun _menhir_env ->
25126 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25127 let {
25128 MenhirLib.EngineTypes.semv = _4;
25129 MenhirLib.EngineTypes.startp = _startpos__4_;
25130 MenhirLib.EngineTypes.endp = _endpos__4_;
25131 MenhirLib.EngineTypes.next = {
25132 MenhirLib.EngineTypes.semv = _3;
25133 MenhirLib.EngineTypes.startp = _startpos__3_;
25134 MenhirLib.EngineTypes.endp = _endpos__3_;
25135 MenhirLib.EngineTypes.next = {
25136 MenhirLib.EngineTypes.semv = _2;
25137 MenhirLib.EngineTypes.startp = _startpos__2_;
25138 MenhirLib.EngineTypes.endp = _endpos__2_;
25139 MenhirLib.EngineTypes.next = {
25140 MenhirLib.EngineTypes.state = _menhir_s;
25141 MenhirLib.EngineTypes.semv = _1;
25142 MenhirLib.EngineTypes.startp = _startpos__1_;
25143 MenhirLib.EngineTypes.endp = _endpos__1_;
25144 MenhirLib.EngineTypes.next = _menhir_stack;
25145 };
25146 };
25147 };
25148 } = _menhir_stack in
25149 let _4 : (
25150 # 105 "parser_cocci_menhir.mly"
25151 (Data.clt)
25152 # 25153 "parser_cocci_menhir.ml"
25153 ) = Obj.magic _4 in
25154 let _3 : 'tv_eexpr = Obj.magic _3 in
25155 let _2 : (
25156 # 105 "parser_cocci_menhir.mly"
25157 (Data.clt)
25158 # 25159 "parser_cocci_menhir.ml"
25159 ) = Obj.magic _2 in
25160 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
25161 let _startpos = _startpos__1_ in
25162 let _endpos = _endpos__4_ in
25163 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
25164 # 1358 "parser_cocci_menhir.mly"
25165 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
25166 P.clt2mcode "]" _4)) )
25167 # 25168 "parser_cocci_menhir.ml"
25168 in
25169 _menhir_env.MenhirLib.EngineTypes.stack <- {
25170 MenhirLib.EngineTypes.state = _menhir_s;
25171 MenhirLib.EngineTypes.semv = Obj.repr _v;
25172 MenhirLib.EngineTypes.startp = _startpos;
25173 MenhirLib.EngineTypes.endp = _endpos;
25174 MenhirLib.EngineTypes.next = _menhir_stack;
25175 });
25176 (fun _menhir_env ->
25177 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25178 let {
25179 MenhirLib.EngineTypes.semv = _3;
25180 MenhirLib.EngineTypes.startp = _startpos__3_;
25181 MenhirLib.EngineTypes.endp = _endpos__3_;
25182 MenhirLib.EngineTypes.next = {
25183 MenhirLib.EngineTypes.semv = _2;
25184 MenhirLib.EngineTypes.startp = _startpos__2_;
25185 MenhirLib.EngineTypes.endp = _endpos__2_;
25186 MenhirLib.EngineTypes.next = {
25187 MenhirLib.EngineTypes.state = _menhir_s;
25188 MenhirLib.EngineTypes.semv = _1;
25189 MenhirLib.EngineTypes.startp = _startpos__1_;
25190 MenhirLib.EngineTypes.endp = _endpos__1_;
25191 MenhirLib.EngineTypes.next = _menhir_stack;
25192 };
25193 };
25194 } = _menhir_stack in
25195 let _3 : 'tv_ident = Obj.magic _3 in
25196 let _2 : (
25197 # 110 "parser_cocci_menhir.mly"
25198 (Data.clt)
25199 # 25200 "parser_cocci_menhir.ml"
25200 ) = Obj.magic _2 in
25201 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
25202 let _startpos = _startpos__1_ in
25203 let _endpos = _endpos__3_ in
25204 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
25205 # 1361 "parser_cocci_menhir.mly"
25206 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
25207 # 25208 "parser_cocci_menhir.ml"
25208 in
25209 _menhir_env.MenhirLib.EngineTypes.stack <- {
25210 MenhirLib.EngineTypes.state = _menhir_s;
25211 MenhirLib.EngineTypes.semv = Obj.repr _v;
25212 MenhirLib.EngineTypes.startp = _startpos;
25213 MenhirLib.EngineTypes.endp = _endpos;
25214 MenhirLib.EngineTypes.next = _menhir_stack;
25215 });
25216 (fun _menhir_env ->
25217 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25218 let {
25219 MenhirLib.EngineTypes.semv = _3;
25220 MenhirLib.EngineTypes.startp = _startpos__3_;
25221 MenhirLib.EngineTypes.endp = _endpos__3_;
25222 MenhirLib.EngineTypes.next = {
25223 MenhirLib.EngineTypes.semv = _2;
25224 MenhirLib.EngineTypes.startp = _startpos__2_;
25225 MenhirLib.EngineTypes.endp = _endpos__2_;
25226 MenhirLib.EngineTypes.next = {
25227 MenhirLib.EngineTypes.state = _menhir_s;
25228 MenhirLib.EngineTypes.semv = _1;
25229 MenhirLib.EngineTypes.startp = _startpos__1_;
25230 MenhirLib.EngineTypes.endp = _endpos__1_;
25231 MenhirLib.EngineTypes.next = _menhir_stack;
25232 };
25233 };
25234 } = _menhir_stack in
25235 let _3 : 'tv_ident = Obj.magic _3 in
25236 let _2 : (
25237 # 107 "parser_cocci_menhir.mly"
25238 (Data.clt)
25239 # 25240 "parser_cocci_menhir.ml"
25240 ) = Obj.magic _2 in
25241 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
25242 let _startpos = _startpos__1_ in
25243 let _endpos = _endpos__3_ in
25244 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
25245 # 1363 "parser_cocci_menhir.mly"
25246 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
25247 _3)) )
25248 # 25249 "parser_cocci_menhir.ml"
25249 in
25250 _menhir_env.MenhirLib.EngineTypes.stack <- {
25251 MenhirLib.EngineTypes.state = _menhir_s;
25252 MenhirLib.EngineTypes.semv = Obj.repr _v;
25253 MenhirLib.EngineTypes.startp = _startpos;
25254 MenhirLib.EngineTypes.endp = _endpos;
25255 MenhirLib.EngineTypes.next = _menhir_stack;
25256 });
25257 (fun _menhir_env ->
25258 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25259 let {
25260 MenhirLib.EngineTypes.semv = _2;
25261 MenhirLib.EngineTypes.startp = _startpos__2_;
25262 MenhirLib.EngineTypes.endp = _endpos__2_;
25263 MenhirLib.EngineTypes.next = {
25264 MenhirLib.EngineTypes.state = _menhir_s;
25265 MenhirLib.EngineTypes.semv = _1;
25266 MenhirLib.EngineTypes.startp = _startpos__1_;
25267 MenhirLib.EngineTypes.endp = _endpos__1_;
25268 MenhirLib.EngineTypes.next = _menhir_stack;
25269 };
25270 } = _menhir_stack in
25271 let _2 : (
25272 # 88 "parser_cocci_menhir.mly"
25273 (Data.clt)
25274 # 25275 "parser_cocci_menhir.ml"
25275 ) = Obj.magic _2 in
25276 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
25277 let _startpos = _startpos__1_ in
25278 let _endpos = _endpos__2_ in
25279 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
25280 # 1366 "parser_cocci_menhir.mly"
25281 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
25282 # 25283 "parser_cocci_menhir.ml"
25283 in
25284 _menhir_env.MenhirLib.EngineTypes.stack <- {
25285 MenhirLib.EngineTypes.state = _menhir_s;
25286 MenhirLib.EngineTypes.semv = Obj.repr _v;
25287 MenhirLib.EngineTypes.startp = _startpos;
25288 MenhirLib.EngineTypes.endp = _endpos;
25289 MenhirLib.EngineTypes.next = _menhir_stack;
25290 });
25291 (fun _menhir_env ->
25292 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25293 let {
25294 MenhirLib.EngineTypes.semv = _2;
25295 MenhirLib.EngineTypes.startp = _startpos__2_;
25296 MenhirLib.EngineTypes.endp = _endpos__2_;
25297 MenhirLib.EngineTypes.next = {
25298 MenhirLib.EngineTypes.state = _menhir_s;
25299 MenhirLib.EngineTypes.semv = _1;
25300 MenhirLib.EngineTypes.startp = _startpos__1_;
25301 MenhirLib.EngineTypes.endp = _endpos__1_;
25302 MenhirLib.EngineTypes.next = _menhir_stack;
25303 };
25304 } = _menhir_stack in
25305 let _2 : (
25306 # 88 "parser_cocci_menhir.mly"
25307 (Data.clt)
25308 # 25309 "parser_cocci_menhir.ml"
25309 ) = Obj.magic _2 in
25310 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
25311 let _startpos = _startpos__1_ in
25312 let _endpos = _endpos__2_ in
25313 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
25314 # 1368 "parser_cocci_menhir.mly"
25315 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
25316 # 25317 "parser_cocci_menhir.ml"
25317 in
25318 _menhir_env.MenhirLib.EngineTypes.stack <- {
25319 MenhirLib.EngineTypes.state = _menhir_s;
25320 MenhirLib.EngineTypes.semv = Obj.repr _v;
25321 MenhirLib.EngineTypes.startp = _startpos;
25322 MenhirLib.EngineTypes.endp = _endpos;
25323 MenhirLib.EngineTypes.next = _menhir_stack;
25324 });
25325 (fun _menhir_env ->
25326 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25327 let {
25328 MenhirLib.EngineTypes.semv = _4;
25329 MenhirLib.EngineTypes.startp = _startpos__4_;
25330 MenhirLib.EngineTypes.endp = _endpos__4_;
25331 MenhirLib.EngineTypes.next = {
25332 MenhirLib.EngineTypes.semv = _3;
25333 MenhirLib.EngineTypes.startp = _startpos__3_;
25334 MenhirLib.EngineTypes.endp = _endpos__3_;
25335 MenhirLib.EngineTypes.next = {
25336 MenhirLib.EngineTypes.semv = _2;
25337 MenhirLib.EngineTypes.startp = _startpos__2_;
25338 MenhirLib.EngineTypes.endp = _endpos__2_;
25339 MenhirLib.EngineTypes.next = {
25340 MenhirLib.EngineTypes.state = _menhir_s;
25341 MenhirLib.EngineTypes.semv = _1;
25342 MenhirLib.EngineTypes.startp = _startpos__1_;
25343 MenhirLib.EngineTypes.endp = _endpos__1_;
25344 MenhirLib.EngineTypes.next = _menhir_stack;
25345 };
25346 };
25347 };
25348 } = _menhir_stack in
25349 let _4 : (
25350 # 80 "parser_cocci_menhir.mly"
25351 (Data.clt)
25352 # 25353 "parser_cocci_menhir.ml"
25353 ) = Obj.magic _4 in
25354 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
25355 let _2 : (
25356 # 79 "parser_cocci_menhir.mly"
25357 (Data.clt)
25358 # 25359 "parser_cocci_menhir.ml"
25359 ) = Obj.magic _2 in
25360 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
25361 let _startpos = _startpos__1_ in
25362 let _endpos = _endpos__4_ in
25363 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
25364 # 1370 "parser_cocci_menhir.mly"
25365 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
25366 _3,
25367 P.clt2mcode ")" _4)) )
25368 # 25369 "parser_cocci_menhir.ml"
25369 in
25370 _menhir_env.MenhirLib.EngineTypes.stack <- {
25371 MenhirLib.EngineTypes.state = _menhir_s;
25372 MenhirLib.EngineTypes.semv = Obj.repr _v;
25373 MenhirLib.EngineTypes.startp = _startpos;
25374 MenhirLib.EngineTypes.endp = _endpos;
25375 MenhirLib.EngineTypes.next = _menhir_stack;
25376 });
25377 (fun _menhir_env ->
25378 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25379 let {
25380 MenhirLib.EngineTypes.state = _menhir_s;
25381 MenhirLib.EngineTypes.semv = _1;
25382 MenhirLib.EngineTypes.startp = _startpos__1_;
25383 MenhirLib.EngineTypes.endp = _endpos__1_;
25384 MenhirLib.EngineTypes.next = _menhir_stack;
25385 } = _menhir_stack in
25386 let _1 : 'tv_primary_expr_expr_invalid_ = Obj.magic _1 in
25387 let _startpos = _startpos__1_ in
25388 let _endpos = _endpos__1_ in
25389 let _v : 'tv_postfix_expr_expr_invalid_ =
25390 # 1356 "parser_cocci_menhir.mly"
25391 ( _1 )
25392 # 25393 "parser_cocci_menhir.ml"
25393 in
25394 _menhir_env.MenhirLib.EngineTypes.stack <- {
25395 MenhirLib.EngineTypes.state = _menhir_s;
25396 MenhirLib.EngineTypes.semv = Obj.repr _v;
25397 MenhirLib.EngineTypes.startp = _startpos;
25398 MenhirLib.EngineTypes.endp = _endpos;
25399 MenhirLib.EngineTypes.next = _menhir_stack;
25400 });
25401 (fun _menhir_env ->
25402 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25403 let {
25404 MenhirLib.EngineTypes.semv = _4;
25405 MenhirLib.EngineTypes.startp = _startpos__4_;
25406 MenhirLib.EngineTypes.endp = _endpos__4_;
25407 MenhirLib.EngineTypes.next = {
25408 MenhirLib.EngineTypes.semv = _3;
25409 MenhirLib.EngineTypes.startp = _startpos__3_;
25410 MenhirLib.EngineTypes.endp = _endpos__3_;
25411 MenhirLib.EngineTypes.next = {
25412 MenhirLib.EngineTypes.semv = _2;
25413 MenhirLib.EngineTypes.startp = _startpos__2_;
25414 MenhirLib.EngineTypes.endp = _endpos__2_;
25415 MenhirLib.EngineTypes.next = {
25416 MenhirLib.EngineTypes.state = _menhir_s;
25417 MenhirLib.EngineTypes.semv = _1;
25418 MenhirLib.EngineTypes.startp = _startpos__1_;
25419 MenhirLib.EngineTypes.endp = _endpos__1_;
25420 MenhirLib.EngineTypes.next = _menhir_stack;
25421 };
25422 };
25423 };
25424 } = _menhir_stack in
25425 let _4 : (
25426 # 105 "parser_cocci_menhir.mly"
25427 (Data.clt)
25428 # 25429 "parser_cocci_menhir.ml"
25429 ) = Obj.magic _4 in
25430 let _3 : 'tv_eexpr = Obj.magic _3 in
25431 let _2 : (
25432 # 105 "parser_cocci_menhir.mly"
25433 (Data.clt)
25434 # 25435 "parser_cocci_menhir.ml"
25435 ) = Obj.magic _2 in
25436 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25437 let _startpos = _startpos__1_ in
25438 let _endpos = _endpos__4_ in
25439 let _v : 'tv_postfix_expr_expr_invalid_ =
25440 # 1358 "parser_cocci_menhir.mly"
25441 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
25442 P.clt2mcode "]" _4)) )
25443 # 25444 "parser_cocci_menhir.ml"
25444 in
25445 _menhir_env.MenhirLib.EngineTypes.stack <- {
25446 MenhirLib.EngineTypes.state = _menhir_s;
25447 MenhirLib.EngineTypes.semv = Obj.repr _v;
25448 MenhirLib.EngineTypes.startp = _startpos;
25449 MenhirLib.EngineTypes.endp = _endpos;
25450 MenhirLib.EngineTypes.next = _menhir_stack;
25451 });
25452 (fun _menhir_env ->
25453 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25454 let {
25455 MenhirLib.EngineTypes.semv = _3;
25456 MenhirLib.EngineTypes.startp = _startpos__3_;
25457 MenhirLib.EngineTypes.endp = _endpos__3_;
25458 MenhirLib.EngineTypes.next = {
25459 MenhirLib.EngineTypes.semv = _2;
25460 MenhirLib.EngineTypes.startp = _startpos__2_;
25461 MenhirLib.EngineTypes.endp = _endpos__2_;
25462 MenhirLib.EngineTypes.next = {
25463 MenhirLib.EngineTypes.state = _menhir_s;
25464 MenhirLib.EngineTypes.semv = _1;
25465 MenhirLib.EngineTypes.startp = _startpos__1_;
25466 MenhirLib.EngineTypes.endp = _endpos__1_;
25467 MenhirLib.EngineTypes.next = _menhir_stack;
25468 };
25469 };
25470 } = _menhir_stack in
25471 let _3 : 'tv_ident = Obj.magic _3 in
25472 let _2 : (
25473 # 110 "parser_cocci_menhir.mly"
25474 (Data.clt)
25475 # 25476 "parser_cocci_menhir.ml"
25476 ) = Obj.magic _2 in
25477 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25478 let _startpos = _startpos__1_ in
25479 let _endpos = _endpos__3_ in
25480 let _v : 'tv_postfix_expr_expr_invalid_ =
25481 # 1361 "parser_cocci_menhir.mly"
25482 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
25483 # 25484 "parser_cocci_menhir.ml"
25484 in
25485 _menhir_env.MenhirLib.EngineTypes.stack <- {
25486 MenhirLib.EngineTypes.state = _menhir_s;
25487 MenhirLib.EngineTypes.semv = Obj.repr _v;
25488 MenhirLib.EngineTypes.startp = _startpos;
25489 MenhirLib.EngineTypes.endp = _endpos;
25490 MenhirLib.EngineTypes.next = _menhir_stack;
25491 });
25492 (fun _menhir_env ->
25493 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25494 let {
25495 MenhirLib.EngineTypes.semv = _3;
25496 MenhirLib.EngineTypes.startp = _startpos__3_;
25497 MenhirLib.EngineTypes.endp = _endpos__3_;
25498 MenhirLib.EngineTypes.next = {
25499 MenhirLib.EngineTypes.semv = _2;
25500 MenhirLib.EngineTypes.startp = _startpos__2_;
25501 MenhirLib.EngineTypes.endp = _endpos__2_;
25502 MenhirLib.EngineTypes.next = {
25503 MenhirLib.EngineTypes.state = _menhir_s;
25504 MenhirLib.EngineTypes.semv = _1;
25505 MenhirLib.EngineTypes.startp = _startpos__1_;
25506 MenhirLib.EngineTypes.endp = _endpos__1_;
25507 MenhirLib.EngineTypes.next = _menhir_stack;
25508 };
25509 };
25510 } = _menhir_stack in
25511 let _3 : 'tv_ident = Obj.magic _3 in
25512 let _2 : (
25513 # 107 "parser_cocci_menhir.mly"
25514 (Data.clt)
25515 # 25516 "parser_cocci_menhir.ml"
25516 ) = Obj.magic _2 in
25517 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25518 let _startpos = _startpos__1_ in
25519 let _endpos = _endpos__3_ in
25520 let _v : 'tv_postfix_expr_expr_invalid_ =
25521 # 1363 "parser_cocci_menhir.mly"
25522 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
25523 _3)) )
25524 # 25525 "parser_cocci_menhir.ml"
25525 in
25526 _menhir_env.MenhirLib.EngineTypes.stack <- {
25527 MenhirLib.EngineTypes.state = _menhir_s;
25528 MenhirLib.EngineTypes.semv = Obj.repr _v;
25529 MenhirLib.EngineTypes.startp = _startpos;
25530 MenhirLib.EngineTypes.endp = _endpos;
25531 MenhirLib.EngineTypes.next = _menhir_stack;
25532 });
25533 (fun _menhir_env ->
25534 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25535 let {
25536 MenhirLib.EngineTypes.semv = _2;
25537 MenhirLib.EngineTypes.startp = _startpos__2_;
25538 MenhirLib.EngineTypes.endp = _endpos__2_;
25539 MenhirLib.EngineTypes.next = {
25540 MenhirLib.EngineTypes.state = _menhir_s;
25541 MenhirLib.EngineTypes.semv = _1;
25542 MenhirLib.EngineTypes.startp = _startpos__1_;
25543 MenhirLib.EngineTypes.endp = _endpos__1_;
25544 MenhirLib.EngineTypes.next = _menhir_stack;
25545 };
25546 } = _menhir_stack in
25547 let _2 : (
25548 # 88 "parser_cocci_menhir.mly"
25549 (Data.clt)
25550 # 25551 "parser_cocci_menhir.ml"
25551 ) = Obj.magic _2 in
25552 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25553 let _startpos = _startpos__1_ in
25554 let _endpos = _endpos__2_ in
25555 let _v : 'tv_postfix_expr_expr_invalid_ =
25556 # 1366 "parser_cocci_menhir.mly"
25557 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
25558 # 25559 "parser_cocci_menhir.ml"
25559 in
25560 _menhir_env.MenhirLib.EngineTypes.stack <- {
25561 MenhirLib.EngineTypes.state = _menhir_s;
25562 MenhirLib.EngineTypes.semv = Obj.repr _v;
25563 MenhirLib.EngineTypes.startp = _startpos;
25564 MenhirLib.EngineTypes.endp = _endpos;
25565 MenhirLib.EngineTypes.next = _menhir_stack;
25566 });
25567 (fun _menhir_env ->
25568 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25569 let {
25570 MenhirLib.EngineTypes.semv = _2;
25571 MenhirLib.EngineTypes.startp = _startpos__2_;
25572 MenhirLib.EngineTypes.endp = _endpos__2_;
25573 MenhirLib.EngineTypes.next = {
25574 MenhirLib.EngineTypes.state = _menhir_s;
25575 MenhirLib.EngineTypes.semv = _1;
25576 MenhirLib.EngineTypes.startp = _startpos__1_;
25577 MenhirLib.EngineTypes.endp = _endpos__1_;
25578 MenhirLib.EngineTypes.next = _menhir_stack;
25579 };
25580 } = _menhir_stack in
25581 let _2 : (
25582 # 88 "parser_cocci_menhir.mly"
25583 (Data.clt)
25584 # 25585 "parser_cocci_menhir.ml"
25585 ) = Obj.magic _2 in
25586 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25587 let _startpos = _startpos__1_ in
25588 let _endpos = _endpos__2_ in
25589 let _v : 'tv_postfix_expr_expr_invalid_ =
25590 # 1368 "parser_cocci_menhir.mly"
25591 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
25592 # 25593 "parser_cocci_menhir.ml"
25593 in
25594 _menhir_env.MenhirLib.EngineTypes.stack <- {
25595 MenhirLib.EngineTypes.state = _menhir_s;
25596 MenhirLib.EngineTypes.semv = Obj.repr _v;
25597 MenhirLib.EngineTypes.startp = _startpos;
25598 MenhirLib.EngineTypes.endp = _endpos;
25599 MenhirLib.EngineTypes.next = _menhir_stack;
25600 });
25601 (fun _menhir_env ->
25602 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25603 let {
25604 MenhirLib.EngineTypes.semv = _4;
25605 MenhirLib.EngineTypes.startp = _startpos__4_;
25606 MenhirLib.EngineTypes.endp = _endpos__4_;
25607 MenhirLib.EngineTypes.next = {
25608 MenhirLib.EngineTypes.semv = _3;
25609 MenhirLib.EngineTypes.startp = _startpos__3_;
25610 MenhirLib.EngineTypes.endp = _endpos__3_;
25611 MenhirLib.EngineTypes.next = {
25612 MenhirLib.EngineTypes.semv = _2;
25613 MenhirLib.EngineTypes.startp = _startpos__2_;
25614 MenhirLib.EngineTypes.endp = _endpos__2_;
25615 MenhirLib.EngineTypes.next = {
25616 MenhirLib.EngineTypes.state = _menhir_s;
25617 MenhirLib.EngineTypes.semv = _1;
25618 MenhirLib.EngineTypes.startp = _startpos__1_;
25619 MenhirLib.EngineTypes.endp = _endpos__1_;
25620 MenhirLib.EngineTypes.next = _menhir_stack;
25621 };
25622 };
25623 };
25624 } = _menhir_stack in
25625 let _4 : (
25626 # 80 "parser_cocci_menhir.mly"
25627 (Data.clt)
25628 # 25629 "parser_cocci_menhir.ml"
25629 ) = Obj.magic _4 in
25630 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
25631 let _2 : (
25632 # 79 "parser_cocci_menhir.mly"
25633 (Data.clt)
25634 # 25635 "parser_cocci_menhir.ml"
25635 ) = Obj.magic _2 in
25636 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
25637 let _startpos = _startpos__1_ in
25638 let _endpos = _endpos__4_ in
25639 let _v : 'tv_postfix_expr_expr_invalid_ =
25640 # 1370 "parser_cocci_menhir.mly"
25641 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
25642 _3,
25643 P.clt2mcode ")" _4)) )
25644 # 25645 "parser_cocci_menhir.ml"
25645 in
25646 _menhir_env.MenhirLib.EngineTypes.stack <- {
25647 MenhirLib.EngineTypes.state = _menhir_s;
25648 MenhirLib.EngineTypes.semv = Obj.repr _v;
25649 MenhirLib.EngineTypes.startp = _startpos;
25650 MenhirLib.EngineTypes.endp = _endpos;
25651 MenhirLib.EngineTypes.next = _menhir_stack;
25652 });
25653 (fun _menhir_env ->
25654 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25655 let {
25656 MenhirLib.EngineTypes.state = _menhir_s;
25657 MenhirLib.EngineTypes.semv = _1;
25658 MenhirLib.EngineTypes.startp = _startpos__1_;
25659 MenhirLib.EngineTypes.endp = _endpos__1_;
25660 MenhirLib.EngineTypes.next = _menhir_stack;
25661 } = _menhir_stack in
25662 let _1 : 'tv_func_ident = Obj.magic _1 in
25663 let _startpos = _startpos__1_ in
25664 let _endpos = _endpos__1_ in
25665 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25666 # 1375 "parser_cocci_menhir.mly"
25667 ( Ast0.wrap(Ast0.Ident(_1)) )
25668 # 25669 "parser_cocci_menhir.ml"
25669 in
25670 _menhir_env.MenhirLib.EngineTypes.stack <- {
25671 MenhirLib.EngineTypes.state = _menhir_s;
25672 MenhirLib.EngineTypes.semv = Obj.repr _v;
25673 MenhirLib.EngineTypes.startp = _startpos;
25674 MenhirLib.EngineTypes.endp = _endpos;
25675 MenhirLib.EngineTypes.next = _menhir_stack;
25676 });
25677 (fun _menhir_env ->
25678 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25679 let {
25680 MenhirLib.EngineTypes.state = _menhir_s;
25681 MenhirLib.EngineTypes.semv = _1;
25682 MenhirLib.EngineTypes.startp = _startpos__1_;
25683 MenhirLib.EngineTypes.endp = _endpos__1_;
25684 MenhirLib.EngineTypes.next = _menhir_stack;
25685 } = _menhir_stack in
25686 let _1 : (
25687 # 90 "parser_cocci_menhir.mly"
25688 (string * Data.clt)
25689 # 25690 "parser_cocci_menhir.ml"
25690 ) = Obj.magic _1 in
25691 let _startpos = _startpos__1_ in
25692 let _endpos = _endpos__1_ in
25693 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25694 # 1377 "parser_cocci_menhir.mly"
25695 ( let (x,clt) = _1 in
25696 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
25697 # 25698 "parser_cocci_menhir.ml"
25698 in
25699 _menhir_env.MenhirLib.EngineTypes.stack <- {
25700 MenhirLib.EngineTypes.state = _menhir_s;
25701 MenhirLib.EngineTypes.semv = Obj.repr _v;
25702 MenhirLib.EngineTypes.startp = _startpos;
25703 MenhirLib.EngineTypes.endp = _endpos;
25704 MenhirLib.EngineTypes.next = _menhir_stack;
25705 });
25706 (fun _menhir_env ->
25707 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25708 let {
25709 MenhirLib.EngineTypes.state = _menhir_s;
25710 MenhirLib.EngineTypes.semv = _1;
25711 MenhirLib.EngineTypes.startp = _startpos__1_;
25712 MenhirLib.EngineTypes.endp = _endpos__1_;
25713 MenhirLib.EngineTypes.next = _menhir_stack;
25714 } = _menhir_stack in
25715 let _1 : (
25716 # 90 "parser_cocci_menhir.mly"
25717 (string * Data.clt)
25718 # 25719 "parser_cocci_menhir.ml"
25719 ) = Obj.magic _1 in
25720 let _startpos = _startpos__1_ in
25721 let _endpos = _endpos__1_ in
25722 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25723 # 1380 "parser_cocci_menhir.mly"
25724 ( let (x,clt) = _1 in
25725 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
25726 # 25727 "parser_cocci_menhir.ml"
25727 in
25728 _menhir_env.MenhirLib.EngineTypes.stack <- {
25729 MenhirLib.EngineTypes.state = _menhir_s;
25730 MenhirLib.EngineTypes.semv = Obj.repr _v;
25731 MenhirLib.EngineTypes.startp = _startpos;
25732 MenhirLib.EngineTypes.endp = _endpos;
25733 MenhirLib.EngineTypes.next = _menhir_stack;
25734 });
25735 (fun _menhir_env ->
25736 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25737 let {
25738 MenhirLib.EngineTypes.state = _menhir_s;
25739 MenhirLib.EngineTypes.semv = _1;
25740 MenhirLib.EngineTypes.startp = _startpos__1_;
25741 MenhirLib.EngineTypes.endp = _endpos__1_;
25742 MenhirLib.EngineTypes.next = _menhir_stack;
25743 } = _menhir_stack in
25744 let _1 : (
25745 # 90 "parser_cocci_menhir.mly"
25746 (string * Data.clt)
25747 # 25748 "parser_cocci_menhir.ml"
25748 ) = Obj.magic _1 in
25749 let _startpos = _startpos__1_ in
25750 let _endpos = _endpos__1_ in
25751 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25752 # 1383 "parser_cocci_menhir.mly"
25753 ( let (x,clt) = _1 in
25754 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
25755 # 25756 "parser_cocci_menhir.ml"
25756 in
25757 _menhir_env.MenhirLib.EngineTypes.stack <- {
25758 MenhirLib.EngineTypes.state = _menhir_s;
25759 MenhirLib.EngineTypes.semv = Obj.repr _v;
25760 MenhirLib.EngineTypes.startp = _startpos;
25761 MenhirLib.EngineTypes.endp = _endpos;
25762 MenhirLib.EngineTypes.next = _menhir_stack;
25763 });
25764 (fun _menhir_env ->
25765 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25766 let {
25767 MenhirLib.EngineTypes.state = _menhir_s;
25768 MenhirLib.EngineTypes.semv = _1;
25769 MenhirLib.EngineTypes.startp = _startpos__1_;
25770 MenhirLib.EngineTypes.endp = _endpos__1_;
25771 MenhirLib.EngineTypes.next = _menhir_stack;
25772 } = _menhir_stack in
25773 let _1 : (
25774 # 90 "parser_cocci_menhir.mly"
25775 (string * Data.clt)
25776 # 25777 "parser_cocci_menhir.ml"
25777 ) = Obj.magic _1 in
25778 let _startpos = _startpos__1_ in
25779 let _endpos = _endpos__1_ in
25780 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25781 # 1386 "parser_cocci_menhir.mly"
25782 ( let (x,clt) = _1 in
25783 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
25784 # 25785 "parser_cocci_menhir.ml"
25785 in
25786 _menhir_env.MenhirLib.EngineTypes.stack <- {
25787 MenhirLib.EngineTypes.state = _menhir_s;
25788 MenhirLib.EngineTypes.semv = Obj.repr _v;
25789 MenhirLib.EngineTypes.startp = _startpos;
25790 MenhirLib.EngineTypes.endp = _endpos;
25791 MenhirLib.EngineTypes.next = _menhir_stack;
25792 });
25793 (fun _menhir_env ->
25794 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25795 let {
25796 MenhirLib.EngineTypes.state = _menhir_s;
25797 MenhirLib.EngineTypes.semv = _1;
25798 MenhirLib.EngineTypes.startp = _startpos__1_;
25799 MenhirLib.EngineTypes.endp = _endpos__1_;
25800 MenhirLib.EngineTypes.next = _menhir_stack;
25801 } = _menhir_stack in
25802 let _1 : (
25803 # 70 "parser_cocci_menhir.mly"
25804 (Parse_aux.typed_expinfo)
25805 # 25806 "parser_cocci_menhir.ml"
25806 ) = Obj.magic _1 in
25807 let _startpos = _startpos__1_ in
25808 let _endpos = _endpos__1_ in
25809 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25810 # 1389 "parser_cocci_menhir.mly"
25811 ( let (nm,constraints,pure,ty,clt) = _1 in
25812 Ast0.wrap
25813 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
25814 # 25815 "parser_cocci_menhir.ml"
25815 in
25816 _menhir_env.MenhirLib.EngineTypes.stack <- {
25817 MenhirLib.EngineTypes.state = _menhir_s;
25818 MenhirLib.EngineTypes.semv = Obj.repr _v;
25819 MenhirLib.EngineTypes.startp = _startpos;
25820 MenhirLib.EngineTypes.endp = _endpos;
25821 MenhirLib.EngineTypes.next = _menhir_stack;
25822 });
25823 (fun _menhir_env ->
25824 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25825 let {
25826 MenhirLib.EngineTypes.state = _menhir_s;
25827 MenhirLib.EngineTypes.semv = _1;
25828 MenhirLib.EngineTypes.startp = _startpos__1_;
25829 MenhirLib.EngineTypes.endp = _endpos__1_;
25830 MenhirLib.EngineTypes.next = _menhir_stack;
25831 } = _menhir_stack in
25832 let _1 : (
25833 # 66 "parser_cocci_menhir.mly"
25834 (Parse_aux.expinfo)
25835 # 25836 "parser_cocci_menhir.ml"
25836 ) = Obj.magic _1 in
25837 let _startpos = _startpos__1_ in
25838 let _endpos = _endpos__1_ in
25839 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25840 # 1393 "parser_cocci_menhir.mly"
25841 ( let (nm,constraints,pure,clt) = _1 in
25842 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
25843 # 25844 "parser_cocci_menhir.ml"
25844 in
25845 _menhir_env.MenhirLib.EngineTypes.stack <- {
25846 MenhirLib.EngineTypes.state = _menhir_s;
25847 MenhirLib.EngineTypes.semv = Obj.repr _v;
25848 MenhirLib.EngineTypes.startp = _startpos;
25849 MenhirLib.EngineTypes.endp = _endpos;
25850 MenhirLib.EngineTypes.next = _menhir_stack;
25851 });
25852 (fun _menhir_env ->
25853 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25854 let {
25855 MenhirLib.EngineTypes.state = _menhir_s;
25856 MenhirLib.EngineTypes.semv = _1;
25857 MenhirLib.EngineTypes.startp = _startpos__1_;
25858 MenhirLib.EngineTypes.endp = _endpos__1_;
25859 MenhirLib.EngineTypes.next = _menhir_stack;
25860 } = _menhir_stack in
25861 let _1 : (
25862 # 70 "parser_cocci_menhir.mly"
25863 (Parse_aux.typed_expinfo)
25864 # 25865 "parser_cocci_menhir.ml"
25865 ) = Obj.magic _1 in
25866 let _startpos = _startpos__1_ in
25867 let _endpos = _endpos__1_ in
25868 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25869 # 1396 "parser_cocci_menhir.mly"
25870 ( let (nm,constraints,pure,ty,clt) = _1 in
25871 Ast0.wrap
25872 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
25873 # 25874 "parser_cocci_menhir.ml"
25874 in
25875 _menhir_env.MenhirLib.EngineTypes.stack <- {
25876 MenhirLib.EngineTypes.state = _menhir_s;
25877 MenhirLib.EngineTypes.semv = Obj.repr _v;
25878 MenhirLib.EngineTypes.startp = _startpos;
25879 MenhirLib.EngineTypes.endp = _endpos;
25880 MenhirLib.EngineTypes.next = _menhir_stack;
25881 });
25882 (fun _menhir_env ->
25883 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25884 let {
25885 MenhirLib.EngineTypes.state = _menhir_s;
25886 MenhirLib.EngineTypes.semv = _1;
25887 MenhirLib.EngineTypes.startp = _startpos__1_;
25888 MenhirLib.EngineTypes.endp = _endpos__1_;
25889 MenhirLib.EngineTypes.next = _menhir_stack;
25890 } = _menhir_stack in
25891 let _1 : (
25892 # 70 "parser_cocci_menhir.mly"
25893 (Parse_aux.typed_expinfo)
25894 # 25895 "parser_cocci_menhir.ml"
25895 ) = Obj.magic _1 in
25896 let _startpos = _startpos__1_ in
25897 let _endpos = _endpos__1_ in
25898 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25899 # 1400 "parser_cocci_menhir.mly"
25900 ( let (nm,constraints,pure,ty,clt) = _1 in
25901 Ast0.wrap
25902 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
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.state = _menhir_s;
25916 MenhirLib.EngineTypes.semv = _1;
25917 MenhirLib.EngineTypes.startp = _startpos__1_;
25918 MenhirLib.EngineTypes.endp = _endpos__1_;
25919 MenhirLib.EngineTypes.next = _menhir_stack;
25920 } = _menhir_stack in
25921 let _1 : (
25922 # 70 "parser_cocci_menhir.mly"
25923 (Parse_aux.typed_expinfo)
25924 # 25925 "parser_cocci_menhir.ml"
25925 ) = Obj.magic _1 in
25926 let _startpos = _startpos__1_ in
25927 let _endpos = _endpos__1_ in
25928 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25929 # 1404 "parser_cocci_menhir.mly"
25930 ( let (nm,constraints,pure,ty,clt) = _1 in
25931 Ast0.wrap
25932 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
25933 # 25934 "parser_cocci_menhir.ml"
25934 in
25935 _menhir_env.MenhirLib.EngineTypes.stack <- {
25936 MenhirLib.EngineTypes.state = _menhir_s;
25937 MenhirLib.EngineTypes.semv = Obj.repr _v;
25938 MenhirLib.EngineTypes.startp = _startpos;
25939 MenhirLib.EngineTypes.endp = _endpos;
25940 MenhirLib.EngineTypes.next = _menhir_stack;
25941 });
25942 (fun _menhir_env ->
25943 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25944 let {
25945 MenhirLib.EngineTypes.semv = _3;
25946 MenhirLib.EngineTypes.startp = _startpos__3_;
25947 MenhirLib.EngineTypes.endp = _endpos__3_;
25948 MenhirLib.EngineTypes.next = {
25949 MenhirLib.EngineTypes.semv = _2;
25950 MenhirLib.EngineTypes.startp = _startpos__2_;
25951 MenhirLib.EngineTypes.endp = _endpos__2_;
25952 MenhirLib.EngineTypes.next = {
25953 MenhirLib.EngineTypes.state = _menhir_s;
25954 MenhirLib.EngineTypes.semv = _1;
25955 MenhirLib.EngineTypes.startp = _startpos__1_;
25956 MenhirLib.EngineTypes.endp = _endpos__1_;
25957 MenhirLib.EngineTypes.next = _menhir_stack;
25958 };
25959 };
25960 } = _menhir_stack in
25961 let _3 : (
25962 # 80 "parser_cocci_menhir.mly"
25963 (Data.clt)
25964 # 25965 "parser_cocci_menhir.ml"
25965 ) = Obj.magic _3 in
25966 let _2 : 'tv_eexpr = Obj.magic _2 in
25967 let _1 : (
25968 # 79 "parser_cocci_menhir.mly"
25969 (Data.clt)
25970 # 25971 "parser_cocci_menhir.ml"
25971 ) = Obj.magic _1 in
25972 let _startpos = _startpos__1_ in
25973 let _endpos = _endpos__3_ in
25974 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
25975 # 1408 "parser_cocci_menhir.mly"
25976 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
25977 P.clt2mcode ")" _3)) )
25978 # 25979 "parser_cocci_menhir.ml"
25979 in
25980 _menhir_env.MenhirLib.EngineTypes.stack <- {
25981 MenhirLib.EngineTypes.state = _menhir_s;
25982 MenhirLib.EngineTypes.semv = Obj.repr _v;
25983 MenhirLib.EngineTypes.startp = _startpos;
25984 MenhirLib.EngineTypes.endp = _endpos;
25985 MenhirLib.EngineTypes.next = _menhir_stack;
25986 });
25987 (fun _menhir_env ->
25988 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25989 let {
25990 MenhirLib.EngineTypes.semv = _3;
25991 MenhirLib.EngineTypes.startp = _startpos__3_;
25992 MenhirLib.EngineTypes.endp = _endpos__3_;
25993 MenhirLib.EngineTypes.next = {
25994 MenhirLib.EngineTypes.semv = _2;
25995 MenhirLib.EngineTypes.startp = _startpos__2_;
25996 MenhirLib.EngineTypes.endp = _endpos__2_;
25997 MenhirLib.EngineTypes.next = {
25998 MenhirLib.EngineTypes.state = _menhir_s;
25999 MenhirLib.EngineTypes.semv = _1;
26000 MenhirLib.EngineTypes.startp = _startpos__1_;
26001 MenhirLib.EngineTypes.endp = _endpos__1_;
26002 MenhirLib.EngineTypes.next = _menhir_stack;
26003 };
26004 };
26005 } = _menhir_stack in
26006 let _3 : (
26007 # 80 "parser_cocci_menhir.mly"
26008 (Data.clt)
26009 # 26010 "parser_cocci_menhir.ml"
26010 ) = Obj.magic _3 in
26011 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
26012 let _1 : (
26013 # 79 "parser_cocci_menhir.mly"
26014 (Data.clt)
26015 # 26016 "parser_cocci_menhir.ml"
26016 ) = Obj.magic _1 in
26017 let _startpos = _startpos__1_ in
26018 let _endpos = _endpos__3_ in
26019 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
26020 # 1411 "parser_cocci_menhir.mly"
26021 ( let (mids,code) = _2 in
26022 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
26023 code, mids,
26024 P.clt2mcode ")" _3)) )
26025 # 26026 "parser_cocci_menhir.ml"
26026 in
26027 _menhir_env.MenhirLib.EngineTypes.stack <- {
26028 MenhirLib.EngineTypes.state = _menhir_s;
26029 MenhirLib.EngineTypes.semv = Obj.repr _v;
26030 MenhirLib.EngineTypes.startp = _startpos;
26031 MenhirLib.EngineTypes.endp = _endpos;
26032 MenhirLib.EngineTypes.next = _menhir_stack;
26033 });
26034 (fun _menhir_env ->
26035 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26036 let {
26037 MenhirLib.EngineTypes.state = _menhir_s;
26038 MenhirLib.EngineTypes.semv = _1;
26039 MenhirLib.EngineTypes.startp = _startpos__1_;
26040 MenhirLib.EngineTypes.endp = _endpos__1_;
26041 MenhirLib.EngineTypes.next = _menhir_stack;
26042 } = _menhir_stack in
26043 let _1 : 'tv_dot_expressions = Obj.magic _1 in
26044 let _startpos = _startpos__1_ in
26045 let _endpos = _endpos__1_ in
26046 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
26047 # 1415 "parser_cocci_menhir.mly"
26048 ( _1 )
26049 # 26050 "parser_cocci_menhir.ml"
26050 in
26051 _menhir_env.MenhirLib.EngineTypes.stack <- {
26052 MenhirLib.EngineTypes.state = _menhir_s;
26053 MenhirLib.EngineTypes.semv = Obj.repr _v;
26054 MenhirLib.EngineTypes.startp = _startpos;
26055 MenhirLib.EngineTypes.endp = _endpos;
26056 MenhirLib.EngineTypes.next = _menhir_stack;
26057 });
26058 (fun _menhir_env ->
26059 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26060 let {
26061 MenhirLib.EngineTypes.state = _menhir_s;
26062 MenhirLib.EngineTypes.semv = _1;
26063 MenhirLib.EngineTypes.startp = _startpos__1_;
26064 MenhirLib.EngineTypes.endp = _endpos__1_;
26065 MenhirLib.EngineTypes.next = _menhir_stack;
26066 } = _menhir_stack in
26067 let _1 : 'tv_func_ident = Obj.magic _1 in
26068 let _startpos = _startpos__1_ in
26069 let _endpos = _endpos__1_ in
26070 let _v : 'tv_primary_expr_eexpr_invalid_ =
26071 # 1375 "parser_cocci_menhir.mly"
26072 ( Ast0.wrap(Ast0.Ident(_1)) )
26073 # 26074 "parser_cocci_menhir.ml"
26074 in
26075 _menhir_env.MenhirLib.EngineTypes.stack <- {
26076 MenhirLib.EngineTypes.state = _menhir_s;
26077 MenhirLib.EngineTypes.semv = Obj.repr _v;
26078 MenhirLib.EngineTypes.startp = _startpos;
26079 MenhirLib.EngineTypes.endp = _endpos;
26080 MenhirLib.EngineTypes.next = _menhir_stack;
26081 });
26082 (fun _menhir_env ->
26083 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26084 let {
26085 MenhirLib.EngineTypes.state = _menhir_s;
26086 MenhirLib.EngineTypes.semv = _1;
26087 MenhirLib.EngineTypes.startp = _startpos__1_;
26088 MenhirLib.EngineTypes.endp = _endpos__1_;
26089 MenhirLib.EngineTypes.next = _menhir_stack;
26090 } = _menhir_stack in
26091 let _1 : (
26092 # 90 "parser_cocci_menhir.mly"
26093 (string * Data.clt)
26094 # 26095 "parser_cocci_menhir.ml"
26095 ) = Obj.magic _1 in
26096 let _startpos = _startpos__1_ in
26097 let _endpos = _endpos__1_ in
26098 let _v : 'tv_primary_expr_eexpr_invalid_ =
26099 # 1377 "parser_cocci_menhir.mly"
26100 ( let (x,clt) = _1 in
26101 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
26102 # 26103 "parser_cocci_menhir.ml"
26103 in
26104 _menhir_env.MenhirLib.EngineTypes.stack <- {
26105 MenhirLib.EngineTypes.state = _menhir_s;
26106 MenhirLib.EngineTypes.semv = Obj.repr _v;
26107 MenhirLib.EngineTypes.startp = _startpos;
26108 MenhirLib.EngineTypes.endp = _endpos;
26109 MenhirLib.EngineTypes.next = _menhir_stack;
26110 });
26111 (fun _menhir_env ->
26112 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26113 let {
26114 MenhirLib.EngineTypes.state = _menhir_s;
26115 MenhirLib.EngineTypes.semv = _1;
26116 MenhirLib.EngineTypes.startp = _startpos__1_;
26117 MenhirLib.EngineTypes.endp = _endpos__1_;
26118 MenhirLib.EngineTypes.next = _menhir_stack;
26119 } = _menhir_stack in
26120 let _1 : (
26121 # 90 "parser_cocci_menhir.mly"
26122 (string * Data.clt)
26123 # 26124 "parser_cocci_menhir.ml"
26124 ) = Obj.magic _1 in
26125 let _startpos = _startpos__1_ in
26126 let _endpos = _endpos__1_ in
26127 let _v : 'tv_primary_expr_eexpr_invalid_ =
26128 # 1380 "parser_cocci_menhir.mly"
26129 ( let (x,clt) = _1 in
26130 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
26131 # 26132 "parser_cocci_menhir.ml"
26132 in
26133 _menhir_env.MenhirLib.EngineTypes.stack <- {
26134 MenhirLib.EngineTypes.state = _menhir_s;
26135 MenhirLib.EngineTypes.semv = Obj.repr _v;
26136 MenhirLib.EngineTypes.startp = _startpos;
26137 MenhirLib.EngineTypes.endp = _endpos;
26138 MenhirLib.EngineTypes.next = _menhir_stack;
26139 });
26140 (fun _menhir_env ->
26141 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26142 let {
26143 MenhirLib.EngineTypes.state = _menhir_s;
26144 MenhirLib.EngineTypes.semv = _1;
26145 MenhirLib.EngineTypes.startp = _startpos__1_;
26146 MenhirLib.EngineTypes.endp = _endpos__1_;
26147 MenhirLib.EngineTypes.next = _menhir_stack;
26148 } = _menhir_stack in
26149 let _1 : (
26150 # 90 "parser_cocci_menhir.mly"
26151 (string * Data.clt)
26152 # 26153 "parser_cocci_menhir.ml"
26153 ) = Obj.magic _1 in
26154 let _startpos = _startpos__1_ in
26155 let _endpos = _endpos__1_ in
26156 let _v : 'tv_primary_expr_eexpr_invalid_ =
26157 # 1383 "parser_cocci_menhir.mly"
26158 ( let (x,clt) = _1 in
26159 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
26160 # 26161 "parser_cocci_menhir.ml"
26161 in
26162 _menhir_env.MenhirLib.EngineTypes.stack <- {
26163 MenhirLib.EngineTypes.state = _menhir_s;
26164 MenhirLib.EngineTypes.semv = Obj.repr _v;
26165 MenhirLib.EngineTypes.startp = _startpos;
26166 MenhirLib.EngineTypes.endp = _endpos;
26167 MenhirLib.EngineTypes.next = _menhir_stack;
26168 });
26169 (fun _menhir_env ->
26170 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26171 let {
26172 MenhirLib.EngineTypes.state = _menhir_s;
26173 MenhirLib.EngineTypes.semv = _1;
26174 MenhirLib.EngineTypes.startp = _startpos__1_;
26175 MenhirLib.EngineTypes.endp = _endpos__1_;
26176 MenhirLib.EngineTypes.next = _menhir_stack;
26177 } = _menhir_stack in
26178 let _1 : (
26179 # 90 "parser_cocci_menhir.mly"
26180 (string * Data.clt)
26181 # 26182 "parser_cocci_menhir.ml"
26182 ) = Obj.magic _1 in
26183 let _startpos = _startpos__1_ in
26184 let _endpos = _endpos__1_ in
26185 let _v : 'tv_primary_expr_eexpr_invalid_ =
26186 # 1386 "parser_cocci_menhir.mly"
26187 ( let (x,clt) = _1 in
26188 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
26189 # 26190 "parser_cocci_menhir.ml"
26190 in
26191 _menhir_env.MenhirLib.EngineTypes.stack <- {
26192 MenhirLib.EngineTypes.state = _menhir_s;
26193 MenhirLib.EngineTypes.semv = Obj.repr _v;
26194 MenhirLib.EngineTypes.startp = _startpos;
26195 MenhirLib.EngineTypes.endp = _endpos;
26196 MenhirLib.EngineTypes.next = _menhir_stack;
26197 });
26198 (fun _menhir_env ->
26199 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26200 let {
26201 MenhirLib.EngineTypes.state = _menhir_s;
26202 MenhirLib.EngineTypes.semv = _1;
26203 MenhirLib.EngineTypes.startp = _startpos__1_;
26204 MenhirLib.EngineTypes.endp = _endpos__1_;
26205 MenhirLib.EngineTypes.next = _menhir_stack;
26206 } = _menhir_stack in
26207 let _1 : (
26208 # 70 "parser_cocci_menhir.mly"
26209 (Parse_aux.typed_expinfo)
26210 # 26211 "parser_cocci_menhir.ml"
26211 ) = Obj.magic _1 in
26212 let _startpos = _startpos__1_ in
26213 let _endpos = _endpos__1_ in
26214 let _v : 'tv_primary_expr_eexpr_invalid_ =
26215 # 1389 "parser_cocci_menhir.mly"
26216 ( let (nm,constraints,pure,ty,clt) = _1 in
26217 Ast0.wrap
26218 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
26219 # 26220 "parser_cocci_menhir.ml"
26220 in
26221 _menhir_env.MenhirLib.EngineTypes.stack <- {
26222 MenhirLib.EngineTypes.state = _menhir_s;
26223 MenhirLib.EngineTypes.semv = Obj.repr _v;
26224 MenhirLib.EngineTypes.startp = _startpos;
26225 MenhirLib.EngineTypes.endp = _endpos;
26226 MenhirLib.EngineTypes.next = _menhir_stack;
26227 });
26228 (fun _menhir_env ->
26229 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26230 let {
26231 MenhirLib.EngineTypes.state = _menhir_s;
26232 MenhirLib.EngineTypes.semv = _1;
26233 MenhirLib.EngineTypes.startp = _startpos__1_;
26234 MenhirLib.EngineTypes.endp = _endpos__1_;
26235 MenhirLib.EngineTypes.next = _menhir_stack;
26236 } = _menhir_stack in
26237 let _1 : (
26238 # 66 "parser_cocci_menhir.mly"
26239 (Parse_aux.expinfo)
26240 # 26241 "parser_cocci_menhir.ml"
26241 ) = Obj.magic _1 in
26242 let _startpos = _startpos__1_ in
26243 let _endpos = _endpos__1_ in
26244 let _v : 'tv_primary_expr_eexpr_invalid_ =
26245 # 1393 "parser_cocci_menhir.mly"
26246 ( let (nm,constraints,pure,clt) = _1 in
26247 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
26248 # 26249 "parser_cocci_menhir.ml"
26249 in
26250 _menhir_env.MenhirLib.EngineTypes.stack <- {
26251 MenhirLib.EngineTypes.state = _menhir_s;
26252 MenhirLib.EngineTypes.semv = Obj.repr _v;
26253 MenhirLib.EngineTypes.startp = _startpos;
26254 MenhirLib.EngineTypes.endp = _endpos;
26255 MenhirLib.EngineTypes.next = _menhir_stack;
26256 });
26257 (fun _menhir_env ->
26258 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26259 let {
26260 MenhirLib.EngineTypes.state = _menhir_s;
26261 MenhirLib.EngineTypes.semv = _1;
26262 MenhirLib.EngineTypes.startp = _startpos__1_;
26263 MenhirLib.EngineTypes.endp = _endpos__1_;
26264 MenhirLib.EngineTypes.next = _menhir_stack;
26265 } = _menhir_stack in
26266 let _1 : (
26267 # 70 "parser_cocci_menhir.mly"
26268 (Parse_aux.typed_expinfo)
26269 # 26270 "parser_cocci_menhir.ml"
26270 ) = Obj.magic _1 in
26271 let _startpos = _startpos__1_ in
26272 let _endpos = _endpos__1_ in
26273 let _v : 'tv_primary_expr_eexpr_invalid_ =
26274 # 1396 "parser_cocci_menhir.mly"
26275 ( let (nm,constraints,pure,ty,clt) = _1 in
26276 Ast0.wrap
26277 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
26278 # 26279 "parser_cocci_menhir.ml"
26279 in
26280 _menhir_env.MenhirLib.EngineTypes.stack <- {
26281 MenhirLib.EngineTypes.state = _menhir_s;
26282 MenhirLib.EngineTypes.semv = Obj.repr _v;
26283 MenhirLib.EngineTypes.startp = _startpos;
26284 MenhirLib.EngineTypes.endp = _endpos;
26285 MenhirLib.EngineTypes.next = _menhir_stack;
26286 });
26287 (fun _menhir_env ->
26288 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26289 let {
26290 MenhirLib.EngineTypes.state = _menhir_s;
26291 MenhirLib.EngineTypes.semv = _1;
26292 MenhirLib.EngineTypes.startp = _startpos__1_;
26293 MenhirLib.EngineTypes.endp = _endpos__1_;
26294 MenhirLib.EngineTypes.next = _menhir_stack;
26295 } = _menhir_stack in
26296 let _1 : (
26297 # 70 "parser_cocci_menhir.mly"
26298 (Parse_aux.typed_expinfo)
26299 # 26300 "parser_cocci_menhir.ml"
26300 ) = Obj.magic _1 in
26301 let _startpos = _startpos__1_ in
26302 let _endpos = _endpos__1_ in
26303 let _v : 'tv_primary_expr_eexpr_invalid_ =
26304 # 1400 "parser_cocci_menhir.mly"
26305 ( let (nm,constraints,pure,ty,clt) = _1 in
26306 Ast0.wrap
26307 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
26308 # 26309 "parser_cocci_menhir.ml"
26309 in
26310 _menhir_env.MenhirLib.EngineTypes.stack <- {
26311 MenhirLib.EngineTypes.state = _menhir_s;
26312 MenhirLib.EngineTypes.semv = Obj.repr _v;
26313 MenhirLib.EngineTypes.startp = _startpos;
26314 MenhirLib.EngineTypes.endp = _endpos;
26315 MenhirLib.EngineTypes.next = _menhir_stack;
26316 });
26317 (fun _menhir_env ->
26318 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26319 let {
26320 MenhirLib.EngineTypes.state = _menhir_s;
26321 MenhirLib.EngineTypes.semv = _1;
26322 MenhirLib.EngineTypes.startp = _startpos__1_;
26323 MenhirLib.EngineTypes.endp = _endpos__1_;
26324 MenhirLib.EngineTypes.next = _menhir_stack;
26325 } = _menhir_stack in
26326 let _1 : (
26327 # 70 "parser_cocci_menhir.mly"
26328 (Parse_aux.typed_expinfo)
26329 # 26330 "parser_cocci_menhir.ml"
26330 ) = Obj.magic _1 in
26331 let _startpos = _startpos__1_ in
26332 let _endpos = _endpos__1_ in
26333 let _v : 'tv_primary_expr_eexpr_invalid_ =
26334 # 1404 "parser_cocci_menhir.mly"
26335 ( let (nm,constraints,pure,ty,clt) = _1 in
26336 Ast0.wrap
26337 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
26338 # 26339 "parser_cocci_menhir.ml"
26339 in
26340 _menhir_env.MenhirLib.EngineTypes.stack <- {
26341 MenhirLib.EngineTypes.state = _menhir_s;
26342 MenhirLib.EngineTypes.semv = Obj.repr _v;
26343 MenhirLib.EngineTypes.startp = _startpos;
26344 MenhirLib.EngineTypes.endp = _endpos;
26345 MenhirLib.EngineTypes.next = _menhir_stack;
26346 });
26347 (fun _menhir_env ->
26348 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26349 let {
26350 MenhirLib.EngineTypes.semv = _3;
26351 MenhirLib.EngineTypes.startp = _startpos__3_;
26352 MenhirLib.EngineTypes.endp = _endpos__3_;
26353 MenhirLib.EngineTypes.next = {
26354 MenhirLib.EngineTypes.semv = _2;
26355 MenhirLib.EngineTypes.startp = _startpos__2_;
26356 MenhirLib.EngineTypes.endp = _endpos__2_;
26357 MenhirLib.EngineTypes.next = {
26358 MenhirLib.EngineTypes.state = _menhir_s;
26359 MenhirLib.EngineTypes.semv = _1;
26360 MenhirLib.EngineTypes.startp = _startpos__1_;
26361 MenhirLib.EngineTypes.endp = _endpos__1_;
26362 MenhirLib.EngineTypes.next = _menhir_stack;
26363 };
26364 };
26365 } = _menhir_stack in
26366 let _3 : (
26367 # 80 "parser_cocci_menhir.mly"
26368 (Data.clt)
26369 # 26370 "parser_cocci_menhir.ml"
26370 ) = Obj.magic _3 in
26371 let _2 : 'tv_eexpr = Obj.magic _2 in
26372 let _1 : (
26373 # 79 "parser_cocci_menhir.mly"
26374 (Data.clt)
26375 # 26376 "parser_cocci_menhir.ml"
26376 ) = Obj.magic _1 in
26377 let _startpos = _startpos__1_ in
26378 let _endpos = _endpos__3_ in
26379 let _v : 'tv_primary_expr_eexpr_invalid_ =
26380 # 1408 "parser_cocci_menhir.mly"
26381 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
26382 P.clt2mcode ")" _3)) )
26383 # 26384 "parser_cocci_menhir.ml"
26384 in
26385 _menhir_env.MenhirLib.EngineTypes.stack <- {
26386 MenhirLib.EngineTypes.state = _menhir_s;
26387 MenhirLib.EngineTypes.semv = Obj.repr _v;
26388 MenhirLib.EngineTypes.startp = _startpos;
26389 MenhirLib.EngineTypes.endp = _endpos;
26390 MenhirLib.EngineTypes.next = _menhir_stack;
26391 });
26392 (fun _menhir_env ->
26393 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26394 let {
26395 MenhirLib.EngineTypes.semv = _3;
26396 MenhirLib.EngineTypes.startp = _startpos__3_;
26397 MenhirLib.EngineTypes.endp = _endpos__3_;
26398 MenhirLib.EngineTypes.next = {
26399 MenhirLib.EngineTypes.semv = _2;
26400 MenhirLib.EngineTypes.startp = _startpos__2_;
26401 MenhirLib.EngineTypes.endp = _endpos__2_;
26402 MenhirLib.EngineTypes.next = {
26403 MenhirLib.EngineTypes.state = _menhir_s;
26404 MenhirLib.EngineTypes.semv = _1;
26405 MenhirLib.EngineTypes.startp = _startpos__1_;
26406 MenhirLib.EngineTypes.endp = _endpos__1_;
26407 MenhirLib.EngineTypes.next = _menhir_stack;
26408 };
26409 };
26410 } = _menhir_stack in
26411 let _3 : (
26412 # 80 "parser_cocci_menhir.mly"
26413 (Data.clt)
26414 # 26415 "parser_cocci_menhir.ml"
26415 ) = Obj.magic _3 in
26416 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
26417 let _1 : (
26418 # 79 "parser_cocci_menhir.mly"
26419 (Data.clt)
26420 # 26421 "parser_cocci_menhir.ml"
26421 ) = Obj.magic _1 in
26422 let _startpos = _startpos__1_ in
26423 let _endpos = _endpos__3_ in
26424 let _v : 'tv_primary_expr_eexpr_invalid_ =
26425 # 1411 "parser_cocci_menhir.mly"
26426 ( let (mids,code) = _2 in
26427 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
26428 code, mids,
26429 P.clt2mcode ")" _3)) )
26430 # 26431 "parser_cocci_menhir.ml"
26431 in
26432 _menhir_env.MenhirLib.EngineTypes.stack <- {
26433 MenhirLib.EngineTypes.state = _menhir_s;
26434 MenhirLib.EngineTypes.semv = Obj.repr _v;
26435 MenhirLib.EngineTypes.startp = _startpos;
26436 MenhirLib.EngineTypes.endp = _endpos;
26437 MenhirLib.EngineTypes.next = _menhir_stack;
26438 });
26439 (fun _menhir_env ->
26440 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26441 let {
26442 MenhirLib.EngineTypes.state = _menhir_s;
26443 MenhirLib.EngineTypes.semv = _1;
26444 MenhirLib.EngineTypes.startp = _startpos__1_;
26445 MenhirLib.EngineTypes.endp = _endpos__1_;
26446 MenhirLib.EngineTypes.next = _menhir_stack;
26447 } = _menhir_stack in
26448 let _1 : 'tv_invalid = Obj.magic _1 in
26449 let _startpos = _startpos__1_ in
26450 let _endpos = _endpos__1_ in
26451 let _v : 'tv_primary_expr_eexpr_invalid_ =
26452 # 1415 "parser_cocci_menhir.mly"
26453 ( _1 )
26454 # 26455 "parser_cocci_menhir.ml"
26455 in
26456 _menhir_env.MenhirLib.EngineTypes.stack <- {
26457 MenhirLib.EngineTypes.state = _menhir_s;
26458 MenhirLib.EngineTypes.semv = Obj.repr _v;
26459 MenhirLib.EngineTypes.startp = _startpos;
26460 MenhirLib.EngineTypes.endp = _endpos;
26461 MenhirLib.EngineTypes.next = _menhir_stack;
26462 });
26463 (fun _menhir_env ->
26464 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26465 let {
26466 MenhirLib.EngineTypes.state = _menhir_s;
26467 MenhirLib.EngineTypes.semv = _1;
26468 MenhirLib.EngineTypes.startp = _startpos__1_;
26469 MenhirLib.EngineTypes.endp = _endpos__1_;
26470 MenhirLib.EngineTypes.next = _menhir_stack;
26471 } = _menhir_stack in
26472 let _1 : 'tv_func_ident = Obj.magic _1 in
26473 let _startpos = _startpos__1_ in
26474 let _endpos = _endpos__1_ in
26475 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26476 # 1375 "parser_cocci_menhir.mly"
26477 ( Ast0.wrap(Ast0.Ident(_1)) )
26478 # 26479 "parser_cocci_menhir.ml"
26479 in
26480 _menhir_env.MenhirLib.EngineTypes.stack <- {
26481 MenhirLib.EngineTypes.state = _menhir_s;
26482 MenhirLib.EngineTypes.semv = Obj.repr _v;
26483 MenhirLib.EngineTypes.startp = _startpos;
26484 MenhirLib.EngineTypes.endp = _endpos;
26485 MenhirLib.EngineTypes.next = _menhir_stack;
26486 });
26487 (fun _menhir_env ->
26488 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26489 let {
26490 MenhirLib.EngineTypes.state = _menhir_s;
26491 MenhirLib.EngineTypes.semv = _1;
26492 MenhirLib.EngineTypes.startp = _startpos__1_;
26493 MenhirLib.EngineTypes.endp = _endpos__1_;
26494 MenhirLib.EngineTypes.next = _menhir_stack;
26495 } = _menhir_stack in
26496 let _1 : (
26497 # 90 "parser_cocci_menhir.mly"
26498 (string * Data.clt)
26499 # 26500 "parser_cocci_menhir.ml"
26500 ) = Obj.magic _1 in
26501 let _startpos = _startpos__1_ in
26502 let _endpos = _endpos__1_ in
26503 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26504 # 1377 "parser_cocci_menhir.mly"
26505 ( let (x,clt) = _1 in
26506 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
26507 # 26508 "parser_cocci_menhir.ml"
26508 in
26509 _menhir_env.MenhirLib.EngineTypes.stack <- {
26510 MenhirLib.EngineTypes.state = _menhir_s;
26511 MenhirLib.EngineTypes.semv = Obj.repr _v;
26512 MenhirLib.EngineTypes.startp = _startpos;
26513 MenhirLib.EngineTypes.endp = _endpos;
26514 MenhirLib.EngineTypes.next = _menhir_stack;
26515 });
26516 (fun _menhir_env ->
26517 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26518 let {
26519 MenhirLib.EngineTypes.state = _menhir_s;
26520 MenhirLib.EngineTypes.semv = _1;
26521 MenhirLib.EngineTypes.startp = _startpos__1_;
26522 MenhirLib.EngineTypes.endp = _endpos__1_;
26523 MenhirLib.EngineTypes.next = _menhir_stack;
26524 } = _menhir_stack in
26525 let _1 : (
26526 # 90 "parser_cocci_menhir.mly"
26527 (string * Data.clt)
26528 # 26529 "parser_cocci_menhir.ml"
26529 ) = Obj.magic _1 in
26530 let _startpos = _startpos__1_ in
26531 let _endpos = _endpos__1_ in
26532 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26533 # 1380 "parser_cocci_menhir.mly"
26534 ( let (x,clt) = _1 in
26535 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
26536 # 26537 "parser_cocci_menhir.ml"
26537 in
26538 _menhir_env.MenhirLib.EngineTypes.stack <- {
26539 MenhirLib.EngineTypes.state = _menhir_s;
26540 MenhirLib.EngineTypes.semv = Obj.repr _v;
26541 MenhirLib.EngineTypes.startp = _startpos;
26542 MenhirLib.EngineTypes.endp = _endpos;
26543 MenhirLib.EngineTypes.next = _menhir_stack;
26544 });
26545 (fun _menhir_env ->
26546 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26547 let {
26548 MenhirLib.EngineTypes.state = _menhir_s;
26549 MenhirLib.EngineTypes.semv = _1;
26550 MenhirLib.EngineTypes.startp = _startpos__1_;
26551 MenhirLib.EngineTypes.endp = _endpos__1_;
26552 MenhirLib.EngineTypes.next = _menhir_stack;
26553 } = _menhir_stack in
26554 let _1 : (
26555 # 90 "parser_cocci_menhir.mly"
26556 (string * Data.clt)
26557 # 26558 "parser_cocci_menhir.ml"
26558 ) = Obj.magic _1 in
26559 let _startpos = _startpos__1_ in
26560 let _endpos = _endpos__1_ in
26561 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26562 # 1383 "parser_cocci_menhir.mly"
26563 ( let (x,clt) = _1 in
26564 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
26565 # 26566 "parser_cocci_menhir.ml"
26566 in
26567 _menhir_env.MenhirLib.EngineTypes.stack <- {
26568 MenhirLib.EngineTypes.state = _menhir_s;
26569 MenhirLib.EngineTypes.semv = Obj.repr _v;
26570 MenhirLib.EngineTypes.startp = _startpos;
26571 MenhirLib.EngineTypes.endp = _endpos;
26572 MenhirLib.EngineTypes.next = _menhir_stack;
26573 });
26574 (fun _menhir_env ->
26575 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26576 let {
26577 MenhirLib.EngineTypes.state = _menhir_s;
26578 MenhirLib.EngineTypes.semv = _1;
26579 MenhirLib.EngineTypes.startp = _startpos__1_;
26580 MenhirLib.EngineTypes.endp = _endpos__1_;
26581 MenhirLib.EngineTypes.next = _menhir_stack;
26582 } = _menhir_stack in
26583 let _1 : (
26584 # 90 "parser_cocci_menhir.mly"
26585 (string * Data.clt)
26586 # 26587 "parser_cocci_menhir.ml"
26587 ) = Obj.magic _1 in
26588 let _startpos = _startpos__1_ in
26589 let _endpos = _endpos__1_ in
26590 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26591 # 1386 "parser_cocci_menhir.mly"
26592 ( let (x,clt) = _1 in
26593 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
26594 # 26595 "parser_cocci_menhir.ml"
26595 in
26596 _menhir_env.MenhirLib.EngineTypes.stack <- {
26597 MenhirLib.EngineTypes.state = _menhir_s;
26598 MenhirLib.EngineTypes.semv = Obj.repr _v;
26599 MenhirLib.EngineTypes.startp = _startpos;
26600 MenhirLib.EngineTypes.endp = _endpos;
26601 MenhirLib.EngineTypes.next = _menhir_stack;
26602 });
26603 (fun _menhir_env ->
26604 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26605 let {
26606 MenhirLib.EngineTypes.state = _menhir_s;
26607 MenhirLib.EngineTypes.semv = _1;
26608 MenhirLib.EngineTypes.startp = _startpos__1_;
26609 MenhirLib.EngineTypes.endp = _endpos__1_;
26610 MenhirLib.EngineTypes.next = _menhir_stack;
26611 } = _menhir_stack in
26612 let _1 : (
26613 # 70 "parser_cocci_menhir.mly"
26614 (Parse_aux.typed_expinfo)
26615 # 26616 "parser_cocci_menhir.ml"
26616 ) = Obj.magic _1 in
26617 let _startpos = _startpos__1_ in
26618 let _endpos = _endpos__1_ in
26619 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26620 # 1389 "parser_cocci_menhir.mly"
26621 ( let (nm,constraints,pure,ty,clt) = _1 in
26622 Ast0.wrap
26623 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
26624 # 26625 "parser_cocci_menhir.ml"
26625 in
26626 _menhir_env.MenhirLib.EngineTypes.stack <- {
26627 MenhirLib.EngineTypes.state = _menhir_s;
26628 MenhirLib.EngineTypes.semv = Obj.repr _v;
26629 MenhirLib.EngineTypes.startp = _startpos;
26630 MenhirLib.EngineTypes.endp = _endpos;
26631 MenhirLib.EngineTypes.next = _menhir_stack;
26632 });
26633 (fun _menhir_env ->
26634 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26635 let {
26636 MenhirLib.EngineTypes.state = _menhir_s;
26637 MenhirLib.EngineTypes.semv = _1;
26638 MenhirLib.EngineTypes.startp = _startpos__1_;
26639 MenhirLib.EngineTypes.endp = _endpos__1_;
26640 MenhirLib.EngineTypes.next = _menhir_stack;
26641 } = _menhir_stack in
26642 let _1 : (
26643 # 66 "parser_cocci_menhir.mly"
26644 (Parse_aux.expinfo)
26645 # 26646 "parser_cocci_menhir.ml"
26646 ) = Obj.magic _1 in
26647 let _startpos = _startpos__1_ in
26648 let _endpos = _endpos__1_ in
26649 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26650 # 1393 "parser_cocci_menhir.mly"
26651 ( let (nm,constraints,pure,clt) = _1 in
26652 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
26653 # 26654 "parser_cocci_menhir.ml"
26654 in
26655 _menhir_env.MenhirLib.EngineTypes.stack <- {
26656 MenhirLib.EngineTypes.state = _menhir_s;
26657 MenhirLib.EngineTypes.semv = Obj.repr _v;
26658 MenhirLib.EngineTypes.startp = _startpos;
26659 MenhirLib.EngineTypes.endp = _endpos;
26660 MenhirLib.EngineTypes.next = _menhir_stack;
26661 });
26662 (fun _menhir_env ->
26663 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26664 let {
26665 MenhirLib.EngineTypes.state = _menhir_s;
26666 MenhirLib.EngineTypes.semv = _1;
26667 MenhirLib.EngineTypes.startp = _startpos__1_;
26668 MenhirLib.EngineTypes.endp = _endpos__1_;
26669 MenhirLib.EngineTypes.next = _menhir_stack;
26670 } = _menhir_stack in
26671 let _1 : (
26672 # 70 "parser_cocci_menhir.mly"
26673 (Parse_aux.typed_expinfo)
26674 # 26675 "parser_cocci_menhir.ml"
26675 ) = Obj.magic _1 in
26676 let _startpos = _startpos__1_ in
26677 let _endpos = _endpos__1_ in
26678 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26679 # 1396 "parser_cocci_menhir.mly"
26680 ( let (nm,constraints,pure,ty,clt) = _1 in
26681 Ast0.wrap
26682 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
26683 # 26684 "parser_cocci_menhir.ml"
26684 in
26685 _menhir_env.MenhirLib.EngineTypes.stack <- {
26686 MenhirLib.EngineTypes.state = _menhir_s;
26687 MenhirLib.EngineTypes.semv = Obj.repr _v;
26688 MenhirLib.EngineTypes.startp = _startpos;
26689 MenhirLib.EngineTypes.endp = _endpos;
26690 MenhirLib.EngineTypes.next = _menhir_stack;
26691 });
26692 (fun _menhir_env ->
26693 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26694 let {
26695 MenhirLib.EngineTypes.state = _menhir_s;
26696 MenhirLib.EngineTypes.semv = _1;
26697 MenhirLib.EngineTypes.startp = _startpos__1_;
26698 MenhirLib.EngineTypes.endp = _endpos__1_;
26699 MenhirLib.EngineTypes.next = _menhir_stack;
26700 } = _menhir_stack in
26701 let _1 : (
26702 # 70 "parser_cocci_menhir.mly"
26703 (Parse_aux.typed_expinfo)
26704 # 26705 "parser_cocci_menhir.ml"
26705 ) = Obj.magic _1 in
26706 let _startpos = _startpos__1_ in
26707 let _endpos = _endpos__1_ in
26708 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26709 # 1400 "parser_cocci_menhir.mly"
26710 ( let (nm,constraints,pure,ty,clt) = _1 in
26711 Ast0.wrap
26712 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
26713 # 26714 "parser_cocci_menhir.ml"
26714 in
26715 _menhir_env.MenhirLib.EngineTypes.stack <- {
26716 MenhirLib.EngineTypes.state = _menhir_s;
26717 MenhirLib.EngineTypes.semv = Obj.repr _v;
26718 MenhirLib.EngineTypes.startp = _startpos;
26719 MenhirLib.EngineTypes.endp = _endpos;
26720 MenhirLib.EngineTypes.next = _menhir_stack;
26721 });
26722 (fun _menhir_env ->
26723 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26724 let {
26725 MenhirLib.EngineTypes.state = _menhir_s;
26726 MenhirLib.EngineTypes.semv = _1;
26727 MenhirLib.EngineTypes.startp = _startpos__1_;
26728 MenhirLib.EngineTypes.endp = _endpos__1_;
26729 MenhirLib.EngineTypes.next = _menhir_stack;
26730 } = _menhir_stack in
26731 let _1 : (
26732 # 70 "parser_cocci_menhir.mly"
26733 (Parse_aux.typed_expinfo)
26734 # 26735 "parser_cocci_menhir.ml"
26735 ) = Obj.magic _1 in
26736 let _startpos = _startpos__1_ in
26737 let _endpos = _endpos__1_ in
26738 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26739 # 1404 "parser_cocci_menhir.mly"
26740 ( let (nm,constraints,pure,ty,clt) = _1 in
26741 Ast0.wrap
26742 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
26743 # 26744 "parser_cocci_menhir.ml"
26744 in
26745 _menhir_env.MenhirLib.EngineTypes.stack <- {
26746 MenhirLib.EngineTypes.state = _menhir_s;
26747 MenhirLib.EngineTypes.semv = Obj.repr _v;
26748 MenhirLib.EngineTypes.startp = _startpos;
26749 MenhirLib.EngineTypes.endp = _endpos;
26750 MenhirLib.EngineTypes.next = _menhir_stack;
26751 });
26752 (fun _menhir_env ->
26753 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26754 let {
26755 MenhirLib.EngineTypes.semv = _3;
26756 MenhirLib.EngineTypes.startp = _startpos__3_;
26757 MenhirLib.EngineTypes.endp = _endpos__3_;
26758 MenhirLib.EngineTypes.next = {
26759 MenhirLib.EngineTypes.semv = _2;
26760 MenhirLib.EngineTypes.startp = _startpos__2_;
26761 MenhirLib.EngineTypes.endp = _endpos__2_;
26762 MenhirLib.EngineTypes.next = {
26763 MenhirLib.EngineTypes.state = _menhir_s;
26764 MenhirLib.EngineTypes.semv = _1;
26765 MenhirLib.EngineTypes.startp = _startpos__1_;
26766 MenhirLib.EngineTypes.endp = _endpos__1_;
26767 MenhirLib.EngineTypes.next = _menhir_stack;
26768 };
26769 };
26770 } = _menhir_stack in
26771 let _3 : (
26772 # 80 "parser_cocci_menhir.mly"
26773 (Data.clt)
26774 # 26775 "parser_cocci_menhir.ml"
26775 ) = Obj.magic _3 in
26776 let _2 : 'tv_eexpr = Obj.magic _2 in
26777 let _1 : (
26778 # 79 "parser_cocci_menhir.mly"
26779 (Data.clt)
26780 # 26781 "parser_cocci_menhir.ml"
26781 ) = Obj.magic _1 in
26782 let _startpos = _startpos__1_ in
26783 let _endpos = _endpos__3_ in
26784 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26785 # 1408 "parser_cocci_menhir.mly"
26786 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
26787 P.clt2mcode ")" _3)) )
26788 # 26789 "parser_cocci_menhir.ml"
26789 in
26790 _menhir_env.MenhirLib.EngineTypes.stack <- {
26791 MenhirLib.EngineTypes.state = _menhir_s;
26792 MenhirLib.EngineTypes.semv = Obj.repr _v;
26793 MenhirLib.EngineTypes.startp = _startpos;
26794 MenhirLib.EngineTypes.endp = _endpos;
26795 MenhirLib.EngineTypes.next = _menhir_stack;
26796 });
26797 (fun _menhir_env ->
26798 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26799 let {
26800 MenhirLib.EngineTypes.semv = _3;
26801 MenhirLib.EngineTypes.startp = _startpos__3_;
26802 MenhirLib.EngineTypes.endp = _endpos__3_;
26803 MenhirLib.EngineTypes.next = {
26804 MenhirLib.EngineTypes.semv = _2;
26805 MenhirLib.EngineTypes.startp = _startpos__2_;
26806 MenhirLib.EngineTypes.endp = _endpos__2_;
26807 MenhirLib.EngineTypes.next = {
26808 MenhirLib.EngineTypes.state = _menhir_s;
26809 MenhirLib.EngineTypes.semv = _1;
26810 MenhirLib.EngineTypes.startp = _startpos__1_;
26811 MenhirLib.EngineTypes.endp = _endpos__1_;
26812 MenhirLib.EngineTypes.next = _menhir_stack;
26813 };
26814 };
26815 } = _menhir_stack in
26816 let _3 : (
26817 # 80 "parser_cocci_menhir.mly"
26818 (Data.clt)
26819 # 26820 "parser_cocci_menhir.ml"
26820 ) = Obj.magic _3 in
26821 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
26822 let _1 : (
26823 # 79 "parser_cocci_menhir.mly"
26824 (Data.clt)
26825 # 26826 "parser_cocci_menhir.ml"
26826 ) = Obj.magic _1 in
26827 let _startpos = _startpos__1_ in
26828 let _endpos = _endpos__3_ in
26829 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26830 # 1411 "parser_cocci_menhir.mly"
26831 ( let (mids,code) = _2 in
26832 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
26833 code, mids,
26834 P.clt2mcode ")" _3)) )
26835 # 26836 "parser_cocci_menhir.ml"
26836 in
26837 _menhir_env.MenhirLib.EngineTypes.stack <- {
26838 MenhirLib.EngineTypes.state = _menhir_s;
26839 MenhirLib.EngineTypes.semv = Obj.repr _v;
26840 MenhirLib.EngineTypes.startp = _startpos;
26841 MenhirLib.EngineTypes.endp = _endpos;
26842 MenhirLib.EngineTypes.next = _menhir_stack;
26843 });
26844 (fun _menhir_env ->
26845 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26846 let {
26847 MenhirLib.EngineTypes.state = _menhir_s;
26848 MenhirLib.EngineTypes.semv = _1;
26849 MenhirLib.EngineTypes.startp = _startpos__1_;
26850 MenhirLib.EngineTypes.endp = _endpos__1_;
26851 MenhirLib.EngineTypes.next = _menhir_stack;
26852 } = _menhir_stack in
26853 let _1 : 'tv_nest_expressions = Obj.magic _1 in
26854 let _startpos = _startpos__1_ in
26855 let _endpos = _endpos__1_ in
26856 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
26857 # 1415 "parser_cocci_menhir.mly"
26858 ( _1 )
26859 # 26860 "parser_cocci_menhir.ml"
26860 in
26861 _menhir_env.MenhirLib.EngineTypes.stack <- {
26862 MenhirLib.EngineTypes.state = _menhir_s;
26863 MenhirLib.EngineTypes.semv = Obj.repr _v;
26864 MenhirLib.EngineTypes.startp = _startpos;
26865 MenhirLib.EngineTypes.endp = _endpos;
26866 MenhirLib.EngineTypes.next = _menhir_stack;
26867 });
26868 (fun _menhir_env ->
26869 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26870 let {
26871 MenhirLib.EngineTypes.state = _menhir_s;
26872 MenhirLib.EngineTypes.semv = _1;
26873 MenhirLib.EngineTypes.startp = _startpos__1_;
26874 MenhirLib.EngineTypes.endp = _endpos__1_;
26875 MenhirLib.EngineTypes.next = _menhir_stack;
26876 } = _menhir_stack in
26877 let _1 : 'tv_func_ident = Obj.magic _1 in
26878 let _startpos = _startpos__1_ in
26879 let _endpos = _endpos__1_ in
26880 let _v : 'tv_primary_expr_expr_invalid_ =
26881 # 1375 "parser_cocci_menhir.mly"
26882 ( Ast0.wrap(Ast0.Ident(_1)) )
26883 # 26884 "parser_cocci_menhir.ml"
26884 in
26885 _menhir_env.MenhirLib.EngineTypes.stack <- {
26886 MenhirLib.EngineTypes.state = _menhir_s;
26887 MenhirLib.EngineTypes.semv = Obj.repr _v;
26888 MenhirLib.EngineTypes.startp = _startpos;
26889 MenhirLib.EngineTypes.endp = _endpos;
26890 MenhirLib.EngineTypes.next = _menhir_stack;
26891 });
26892 (fun _menhir_env ->
26893 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26894 let {
26895 MenhirLib.EngineTypes.state = _menhir_s;
26896 MenhirLib.EngineTypes.semv = _1;
26897 MenhirLib.EngineTypes.startp = _startpos__1_;
26898 MenhirLib.EngineTypes.endp = _endpos__1_;
26899 MenhirLib.EngineTypes.next = _menhir_stack;
26900 } = _menhir_stack in
26901 let _1 : (
26902 # 90 "parser_cocci_menhir.mly"
26903 (string * Data.clt)
26904 # 26905 "parser_cocci_menhir.ml"
26905 ) = Obj.magic _1 in
26906 let _startpos = _startpos__1_ in
26907 let _endpos = _endpos__1_ in
26908 let _v : 'tv_primary_expr_expr_invalid_ =
26909 # 1377 "parser_cocci_menhir.mly"
26910 ( let (x,clt) = _1 in
26911 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
26912 # 26913 "parser_cocci_menhir.ml"
26913 in
26914 _menhir_env.MenhirLib.EngineTypes.stack <- {
26915 MenhirLib.EngineTypes.state = _menhir_s;
26916 MenhirLib.EngineTypes.semv = Obj.repr _v;
26917 MenhirLib.EngineTypes.startp = _startpos;
26918 MenhirLib.EngineTypes.endp = _endpos;
26919 MenhirLib.EngineTypes.next = _menhir_stack;
26920 });
26921 (fun _menhir_env ->
26922 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26923 let {
26924 MenhirLib.EngineTypes.state = _menhir_s;
26925 MenhirLib.EngineTypes.semv = _1;
26926 MenhirLib.EngineTypes.startp = _startpos__1_;
26927 MenhirLib.EngineTypes.endp = _endpos__1_;
26928 MenhirLib.EngineTypes.next = _menhir_stack;
26929 } = _menhir_stack in
26930 let _1 : (
26931 # 90 "parser_cocci_menhir.mly"
26932 (string * Data.clt)
26933 # 26934 "parser_cocci_menhir.ml"
26934 ) = Obj.magic _1 in
26935 let _startpos = _startpos__1_ in
26936 let _endpos = _endpos__1_ in
26937 let _v : 'tv_primary_expr_expr_invalid_ =
26938 # 1380 "parser_cocci_menhir.mly"
26939 ( let (x,clt) = _1 in
26940 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
26941 # 26942 "parser_cocci_menhir.ml"
26942 in
26943 _menhir_env.MenhirLib.EngineTypes.stack <- {
26944 MenhirLib.EngineTypes.state = _menhir_s;
26945 MenhirLib.EngineTypes.semv = Obj.repr _v;
26946 MenhirLib.EngineTypes.startp = _startpos;
26947 MenhirLib.EngineTypes.endp = _endpos;
26948 MenhirLib.EngineTypes.next = _menhir_stack;
26949 });
26950 (fun _menhir_env ->
26951 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26952 let {
26953 MenhirLib.EngineTypes.state = _menhir_s;
26954 MenhirLib.EngineTypes.semv = _1;
26955 MenhirLib.EngineTypes.startp = _startpos__1_;
26956 MenhirLib.EngineTypes.endp = _endpos__1_;
26957 MenhirLib.EngineTypes.next = _menhir_stack;
26958 } = _menhir_stack in
26959 let _1 : (
26960 # 90 "parser_cocci_menhir.mly"
26961 (string * Data.clt)
26962 # 26963 "parser_cocci_menhir.ml"
26963 ) = Obj.magic _1 in
26964 let _startpos = _startpos__1_ in
26965 let _endpos = _endpos__1_ in
26966 let _v : 'tv_primary_expr_expr_invalid_ =
26967 # 1383 "parser_cocci_menhir.mly"
26968 ( let (x,clt) = _1 in
26969 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
26970 # 26971 "parser_cocci_menhir.ml"
26971 in
26972 _menhir_env.MenhirLib.EngineTypes.stack <- {
26973 MenhirLib.EngineTypes.state = _menhir_s;
26974 MenhirLib.EngineTypes.semv = Obj.repr _v;
26975 MenhirLib.EngineTypes.startp = _startpos;
26976 MenhirLib.EngineTypes.endp = _endpos;
26977 MenhirLib.EngineTypes.next = _menhir_stack;
26978 });
26979 (fun _menhir_env ->
26980 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26981 let {
26982 MenhirLib.EngineTypes.state = _menhir_s;
26983 MenhirLib.EngineTypes.semv = _1;
26984 MenhirLib.EngineTypes.startp = _startpos__1_;
26985 MenhirLib.EngineTypes.endp = _endpos__1_;
26986 MenhirLib.EngineTypes.next = _menhir_stack;
26987 } = _menhir_stack in
26988 let _1 : (
26989 # 90 "parser_cocci_menhir.mly"
26990 (string * Data.clt)
26991 # 26992 "parser_cocci_menhir.ml"
26992 ) = Obj.magic _1 in
26993 let _startpos = _startpos__1_ in
26994 let _endpos = _endpos__1_ in
26995 let _v : 'tv_primary_expr_expr_invalid_ =
26996 # 1386 "parser_cocci_menhir.mly"
26997 ( let (x,clt) = _1 in
26998 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
26999 # 27000 "parser_cocci_menhir.ml"
27000 in
27001 _menhir_env.MenhirLib.EngineTypes.stack <- {
27002 MenhirLib.EngineTypes.state = _menhir_s;
27003 MenhirLib.EngineTypes.semv = Obj.repr _v;
27004 MenhirLib.EngineTypes.startp = _startpos;
27005 MenhirLib.EngineTypes.endp = _endpos;
27006 MenhirLib.EngineTypes.next = _menhir_stack;
27007 });
27008 (fun _menhir_env ->
27009 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27010 let {
27011 MenhirLib.EngineTypes.state = _menhir_s;
27012 MenhirLib.EngineTypes.semv = _1;
27013 MenhirLib.EngineTypes.startp = _startpos__1_;
27014 MenhirLib.EngineTypes.endp = _endpos__1_;
27015 MenhirLib.EngineTypes.next = _menhir_stack;
27016 } = _menhir_stack in
27017 let _1 : (
27018 # 70 "parser_cocci_menhir.mly"
27019 (Parse_aux.typed_expinfo)
27020 # 27021 "parser_cocci_menhir.ml"
27021 ) = Obj.magic _1 in
27022 let _startpos = _startpos__1_ in
27023 let _endpos = _endpos__1_ in
27024 let _v : 'tv_primary_expr_expr_invalid_ =
27025 # 1389 "parser_cocci_menhir.mly"
27026 ( let (nm,constraints,pure,ty,clt) = _1 in
27027 Ast0.wrap
27028 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
27029 # 27030 "parser_cocci_menhir.ml"
27030 in
27031 _menhir_env.MenhirLib.EngineTypes.stack <- {
27032 MenhirLib.EngineTypes.state = _menhir_s;
27033 MenhirLib.EngineTypes.semv = Obj.repr _v;
27034 MenhirLib.EngineTypes.startp = _startpos;
27035 MenhirLib.EngineTypes.endp = _endpos;
27036 MenhirLib.EngineTypes.next = _menhir_stack;
27037 });
27038 (fun _menhir_env ->
27039 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27040 let {
27041 MenhirLib.EngineTypes.state = _menhir_s;
27042 MenhirLib.EngineTypes.semv = _1;
27043 MenhirLib.EngineTypes.startp = _startpos__1_;
27044 MenhirLib.EngineTypes.endp = _endpos__1_;
27045 MenhirLib.EngineTypes.next = _menhir_stack;
27046 } = _menhir_stack in
27047 let _1 : (
27048 # 66 "parser_cocci_menhir.mly"
27049 (Parse_aux.expinfo)
27050 # 27051 "parser_cocci_menhir.ml"
27051 ) = Obj.magic _1 in
27052 let _startpos = _startpos__1_ in
27053 let _endpos = _endpos__1_ in
27054 let _v : 'tv_primary_expr_expr_invalid_ =
27055 # 1393 "parser_cocci_menhir.mly"
27056 ( let (nm,constraints,pure,clt) = _1 in
27057 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
27058 # 27059 "parser_cocci_menhir.ml"
27059 in
27060 _menhir_env.MenhirLib.EngineTypes.stack <- {
27061 MenhirLib.EngineTypes.state = _menhir_s;
27062 MenhirLib.EngineTypes.semv = Obj.repr _v;
27063 MenhirLib.EngineTypes.startp = _startpos;
27064 MenhirLib.EngineTypes.endp = _endpos;
27065 MenhirLib.EngineTypes.next = _menhir_stack;
27066 });
27067 (fun _menhir_env ->
27068 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27069 let {
27070 MenhirLib.EngineTypes.state = _menhir_s;
27071 MenhirLib.EngineTypes.semv = _1;
27072 MenhirLib.EngineTypes.startp = _startpos__1_;
27073 MenhirLib.EngineTypes.endp = _endpos__1_;
27074 MenhirLib.EngineTypes.next = _menhir_stack;
27075 } = _menhir_stack in
27076 let _1 : (
27077 # 70 "parser_cocci_menhir.mly"
27078 (Parse_aux.typed_expinfo)
27079 # 27080 "parser_cocci_menhir.ml"
27080 ) = Obj.magic _1 in
27081 let _startpos = _startpos__1_ in
27082 let _endpos = _endpos__1_ in
27083 let _v : 'tv_primary_expr_expr_invalid_ =
27084 # 1396 "parser_cocci_menhir.mly"
27085 ( let (nm,constraints,pure,ty,clt) = _1 in
27086 Ast0.wrap
27087 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
27088 # 27089 "parser_cocci_menhir.ml"
27089 in
27090 _menhir_env.MenhirLib.EngineTypes.stack <- {
27091 MenhirLib.EngineTypes.state = _menhir_s;
27092 MenhirLib.EngineTypes.semv = Obj.repr _v;
27093 MenhirLib.EngineTypes.startp = _startpos;
27094 MenhirLib.EngineTypes.endp = _endpos;
27095 MenhirLib.EngineTypes.next = _menhir_stack;
27096 });
27097 (fun _menhir_env ->
27098 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27099 let {
27100 MenhirLib.EngineTypes.state = _menhir_s;
27101 MenhirLib.EngineTypes.semv = _1;
27102 MenhirLib.EngineTypes.startp = _startpos__1_;
27103 MenhirLib.EngineTypes.endp = _endpos__1_;
27104 MenhirLib.EngineTypes.next = _menhir_stack;
27105 } = _menhir_stack in
27106 let _1 : (
27107 # 70 "parser_cocci_menhir.mly"
27108 (Parse_aux.typed_expinfo)
27109 # 27110 "parser_cocci_menhir.ml"
27110 ) = Obj.magic _1 in
27111 let _startpos = _startpos__1_ in
27112 let _endpos = _endpos__1_ in
27113 let _v : 'tv_primary_expr_expr_invalid_ =
27114 # 1400 "parser_cocci_menhir.mly"
27115 ( let (nm,constraints,pure,ty,clt) = _1 in
27116 Ast0.wrap
27117 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
27118 # 27119 "parser_cocci_menhir.ml"
27119 in
27120 _menhir_env.MenhirLib.EngineTypes.stack <- {
27121 MenhirLib.EngineTypes.state = _menhir_s;
27122 MenhirLib.EngineTypes.semv = Obj.repr _v;
27123 MenhirLib.EngineTypes.startp = _startpos;
27124 MenhirLib.EngineTypes.endp = _endpos;
27125 MenhirLib.EngineTypes.next = _menhir_stack;
27126 });
27127 (fun _menhir_env ->
27128 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27129 let {
27130 MenhirLib.EngineTypes.state = _menhir_s;
27131 MenhirLib.EngineTypes.semv = _1;
27132 MenhirLib.EngineTypes.startp = _startpos__1_;
27133 MenhirLib.EngineTypes.endp = _endpos__1_;
27134 MenhirLib.EngineTypes.next = _menhir_stack;
27135 } = _menhir_stack in
27136 let _1 : (
27137 # 70 "parser_cocci_menhir.mly"
27138 (Parse_aux.typed_expinfo)
27139 # 27140 "parser_cocci_menhir.ml"
27140 ) = Obj.magic _1 in
27141 let _startpos = _startpos__1_ in
27142 let _endpos = _endpos__1_ in
27143 let _v : 'tv_primary_expr_expr_invalid_ =
27144 # 1404 "parser_cocci_menhir.mly"
27145 ( let (nm,constraints,pure,ty,clt) = _1 in
27146 Ast0.wrap
27147 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
27148 # 27149 "parser_cocci_menhir.ml"
27149 in
27150 _menhir_env.MenhirLib.EngineTypes.stack <- {
27151 MenhirLib.EngineTypes.state = _menhir_s;
27152 MenhirLib.EngineTypes.semv = Obj.repr _v;
27153 MenhirLib.EngineTypes.startp = _startpos;
27154 MenhirLib.EngineTypes.endp = _endpos;
27155 MenhirLib.EngineTypes.next = _menhir_stack;
27156 });
27157 (fun _menhir_env ->
27158 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27159 let {
27160 MenhirLib.EngineTypes.semv = _3;
27161 MenhirLib.EngineTypes.startp = _startpos__3_;
27162 MenhirLib.EngineTypes.endp = _endpos__3_;
27163 MenhirLib.EngineTypes.next = {
27164 MenhirLib.EngineTypes.semv = _2;
27165 MenhirLib.EngineTypes.startp = _startpos__2_;
27166 MenhirLib.EngineTypes.endp = _endpos__2_;
27167 MenhirLib.EngineTypes.next = {
27168 MenhirLib.EngineTypes.state = _menhir_s;
27169 MenhirLib.EngineTypes.semv = _1;
27170 MenhirLib.EngineTypes.startp = _startpos__1_;
27171 MenhirLib.EngineTypes.endp = _endpos__1_;
27172 MenhirLib.EngineTypes.next = _menhir_stack;
27173 };
27174 };
27175 } = _menhir_stack in
27176 let _3 : (
27177 # 80 "parser_cocci_menhir.mly"
27178 (Data.clt)
27179 # 27180 "parser_cocci_menhir.ml"
27180 ) = Obj.magic _3 in
27181 let _2 : 'tv_eexpr = Obj.magic _2 in
27182 let _1 : (
27183 # 79 "parser_cocci_menhir.mly"
27184 (Data.clt)
27185 # 27186 "parser_cocci_menhir.ml"
27186 ) = Obj.magic _1 in
27187 let _startpos = _startpos__1_ in
27188 let _endpos = _endpos__3_ in
27189 let _v : 'tv_primary_expr_expr_invalid_ =
27190 # 1408 "parser_cocci_menhir.mly"
27191 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
27192 P.clt2mcode ")" _3)) )
27193 # 27194 "parser_cocci_menhir.ml"
27194 in
27195 _menhir_env.MenhirLib.EngineTypes.stack <- {
27196 MenhirLib.EngineTypes.state = _menhir_s;
27197 MenhirLib.EngineTypes.semv = Obj.repr _v;
27198 MenhirLib.EngineTypes.startp = _startpos;
27199 MenhirLib.EngineTypes.endp = _endpos;
27200 MenhirLib.EngineTypes.next = _menhir_stack;
27201 });
27202 (fun _menhir_env ->
27203 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27204 let {
27205 MenhirLib.EngineTypes.semv = _3;
27206 MenhirLib.EngineTypes.startp = _startpos__3_;
27207 MenhirLib.EngineTypes.endp = _endpos__3_;
27208 MenhirLib.EngineTypes.next = {
27209 MenhirLib.EngineTypes.semv = _2;
27210 MenhirLib.EngineTypes.startp = _startpos__2_;
27211 MenhirLib.EngineTypes.endp = _endpos__2_;
27212 MenhirLib.EngineTypes.next = {
27213 MenhirLib.EngineTypes.state = _menhir_s;
27214 MenhirLib.EngineTypes.semv = _1;
27215 MenhirLib.EngineTypes.startp = _startpos__1_;
27216 MenhirLib.EngineTypes.endp = _endpos__1_;
27217 MenhirLib.EngineTypes.next = _menhir_stack;
27218 };
27219 };
27220 } = _menhir_stack in
27221 let _3 : (
27222 # 80 "parser_cocci_menhir.mly"
27223 (Data.clt)
27224 # 27225 "parser_cocci_menhir.ml"
27225 ) = Obj.magic _3 in
27226 let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in
27227 let _1 : (
27228 # 79 "parser_cocci_menhir.mly"
27229 (Data.clt)
27230 # 27231 "parser_cocci_menhir.ml"
27231 ) = Obj.magic _1 in
27232 let _startpos = _startpos__1_ in
27233 let _endpos = _endpos__3_ in
27234 let _v : 'tv_primary_expr_expr_invalid_ =
27235 # 1411 "parser_cocci_menhir.mly"
27236 ( let (mids,code) = _2 in
27237 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
27238 code, mids,
27239 P.clt2mcode ")" _3)) )
27240 # 27241 "parser_cocci_menhir.ml"
27241 in
27242 _menhir_env.MenhirLib.EngineTypes.stack <- {
27243 MenhirLib.EngineTypes.state = _menhir_s;
27244 MenhirLib.EngineTypes.semv = Obj.repr _v;
27245 MenhirLib.EngineTypes.startp = _startpos;
27246 MenhirLib.EngineTypes.endp = _endpos;
27247 MenhirLib.EngineTypes.next = _menhir_stack;
27248 });
27249 (fun _menhir_env ->
27250 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27251 let {
27252 MenhirLib.EngineTypes.state = _menhir_s;
27253 MenhirLib.EngineTypes.semv = _1;
27254 MenhirLib.EngineTypes.startp = _startpos__1_;
27255 MenhirLib.EngineTypes.endp = _endpos__1_;
27256 MenhirLib.EngineTypes.next = _menhir_stack;
27257 } = _menhir_stack in
27258 let _1 : 'tv_invalid = Obj.magic _1 in
27259 let _startpos = _startpos__1_ in
27260 let _endpos = _endpos__1_ in
27261 let _v : 'tv_primary_expr_expr_invalid_ =
27262 # 1415 "parser_cocci_menhir.mly"
27263 ( _1 )
27264 # 27265 "parser_cocci_menhir.ml"
27265 in
27266 _menhir_env.MenhirLib.EngineTypes.stack <- {
27267 MenhirLib.EngineTypes.state = _menhir_s;
27268 MenhirLib.EngineTypes.semv = Obj.repr _v;
27269 MenhirLib.EngineTypes.startp = _startpos;
27270 MenhirLib.EngineTypes.endp = _endpos;
27271 MenhirLib.EngineTypes.next = _menhir_stack;
27272 });
27273 (fun _menhir_env ->
27274 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27275 let {
27276 MenhirLib.EngineTypes.state = _menhir_s;
27277 MenhirLib.EngineTypes.startp = _startpos__1_;
27278 MenhirLib.EngineTypes.endp = _endpos__1_;
27279 MenhirLib.EngineTypes.next = _menhir_stack;
27280 } = _menhir_stack in
27281 let _startpos = _startpos__1_ in
27282 let _endpos = _endpos__1_ in
27283 let _v : 'tv_pure =
27284 # 193 "parser_cocci_menhir.mly"
27285 ( Ast0.Pure )
27286 # 27287 "parser_cocci_menhir.ml"
27287 in
27288 _menhir_env.MenhirLib.EngineTypes.stack <- {
27289 MenhirLib.EngineTypes.state = _menhir_s;
27290 MenhirLib.EngineTypes.semv = Obj.repr _v;
27291 MenhirLib.EngineTypes.startp = _startpos;
27292 MenhirLib.EngineTypes.endp = _endpos;
27293 MenhirLib.EngineTypes.next = _menhir_stack;
27294 });
27295 (fun _menhir_env ->
27296 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27297 let {
27298 MenhirLib.EngineTypes.state = _menhir_s;
27299 MenhirLib.EngineTypes.startp = _startpos__1_;
27300 MenhirLib.EngineTypes.endp = _endpos__1_;
27301 MenhirLib.EngineTypes.next = _menhir_stack;
27302 } = _menhir_stack in
27303 let _startpos = _startpos__1_ in
27304 let _endpos = _endpos__1_ in
27305 let _v : 'tv_pure =
27306 # 194 "parser_cocci_menhir.mly"
27307 ( Ast0.Context )
27308 # 27309 "parser_cocci_menhir.ml"
27309 in
27310 _menhir_env.MenhirLib.EngineTypes.stack <- {
27311 MenhirLib.EngineTypes.state = _menhir_s;
27312 MenhirLib.EngineTypes.semv = Obj.repr _v;
27313 MenhirLib.EngineTypes.startp = _startpos;
27314 MenhirLib.EngineTypes.endp = _endpos;
27315 MenhirLib.EngineTypes.next = _menhir_stack;
27316 });
27317 (fun _menhir_env ->
27318 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27319 let {
27320 MenhirLib.EngineTypes.startp = _startpos__2_;
27321 MenhirLib.EngineTypes.endp = _endpos__2_;
27322 MenhirLib.EngineTypes.next = {
27323 MenhirLib.EngineTypes.state = _menhir_s;
27324 MenhirLib.EngineTypes.startp = _startpos__1_;
27325 MenhirLib.EngineTypes.endp = _endpos__1_;
27326 MenhirLib.EngineTypes.next = _menhir_stack;
27327 };
27328 } = _menhir_stack in
27329 let _startpos = _startpos__1_ in
27330 let _endpos = _endpos__2_ in
27331 let _v : 'tv_pure =
27332 # 195 "parser_cocci_menhir.mly"
27333 ( Ast0.PureContext )
27334 # 27335 "parser_cocci_menhir.ml"
27335 in
27336 _menhir_env.MenhirLib.EngineTypes.stack <- {
27337 MenhirLib.EngineTypes.state = _menhir_s;
27338 MenhirLib.EngineTypes.semv = Obj.repr _v;
27339 MenhirLib.EngineTypes.startp = _startpos;
27340 MenhirLib.EngineTypes.endp = _endpos;
27341 MenhirLib.EngineTypes.next = _menhir_stack;
27342 });
27343 (fun _menhir_env ->
27344 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27345 let {
27346 MenhirLib.EngineTypes.startp = _startpos__2_;
27347 MenhirLib.EngineTypes.endp = _endpos__2_;
27348 MenhirLib.EngineTypes.next = {
27349 MenhirLib.EngineTypes.state = _menhir_s;
27350 MenhirLib.EngineTypes.startp = _startpos__1_;
27351 MenhirLib.EngineTypes.endp = _endpos__1_;
27352 MenhirLib.EngineTypes.next = _menhir_stack;
27353 };
27354 } = _menhir_stack in
27355 let _startpos = _startpos__1_ in
27356 let _endpos = _endpos__2_ in
27357 let _v : 'tv_pure =
27358 # 196 "parser_cocci_menhir.mly"
27359 ( Ast0.PureContext )
27360 # 27361 "parser_cocci_menhir.ml"
27361 in
27362 _menhir_env.MenhirLib.EngineTypes.stack <- {
27363 MenhirLib.EngineTypes.state = _menhir_s;
27364 MenhirLib.EngineTypes.semv = Obj.repr _v;
27365 MenhirLib.EngineTypes.startp = _startpos;
27366 MenhirLib.EngineTypes.endp = _endpos;
27367 MenhirLib.EngineTypes.next = _menhir_stack;
27368 });
27369 (fun _menhir_env ->
27370 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27371 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
27372 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
27373 let _endpos = _startpos in
27374 let _v : 'tv_pure =
27375 # 197 "parser_cocci_menhir.mly"
27376 ( Ast0.Impure )
27377 # 27378 "parser_cocci_menhir.ml"
27378 in
27379 _menhir_env.MenhirLib.EngineTypes.stack <- {
27380 MenhirLib.EngineTypes.state = _menhir_s;
27381 MenhirLib.EngineTypes.semv = Obj.repr _v;
27382 MenhirLib.EngineTypes.startp = _startpos;
27383 MenhirLib.EngineTypes.endp = _endpos;
27384 MenhirLib.EngineTypes.next = _menhir_stack;
27385 });
27386 (fun _menhir_env ->
27387 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27388 let {
27389 MenhirLib.EngineTypes.state = _menhir_s;
27390 MenhirLib.EngineTypes.semv = _1;
27391 MenhirLib.EngineTypes.startp = _startpos__1_;
27392 MenhirLib.EngineTypes.endp = _endpos__1_;
27393 MenhirLib.EngineTypes.next = _menhir_stack;
27394 } = _menhir_stack in
27395 let _1 : (
27396 # 61 "parser_cocci_menhir.mly"
27397 (string * Data.clt)
27398 # 27399 "parser_cocci_menhir.ml"
27399 ) = Obj.magic _1 in
27400 let _startpos = _startpos__1_ in
27401 let _endpos = _endpos__1_ in
27402 let _v : 'tv_pure_ident =
27403 # 1429 "parser_cocci_menhir.mly"
27404 ( _1 )
27405 # 27406 "parser_cocci_menhir.ml"
27406 in
27407 _menhir_env.MenhirLib.EngineTypes.stack <- {
27408 MenhirLib.EngineTypes.state = _menhir_s;
27409 MenhirLib.EngineTypes.semv = Obj.repr _v;
27410 MenhirLib.EngineTypes.startp = _startpos;
27411 MenhirLib.EngineTypes.endp = _endpos;
27412 MenhirLib.EngineTypes.next = _menhir_stack;
27413 });
27414 (fun _menhir_env ->
27415 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27416 let {
27417 MenhirLib.EngineTypes.state = _menhir_s;
27418 MenhirLib.EngineTypes.startp = _startpos__1_;
27419 MenhirLib.EngineTypes.endp = _endpos__1_;
27420 MenhirLib.EngineTypes.next = _menhir_stack;
27421 } = _menhir_stack in
27422 let _startpos = _startpos__1_ in
27423 let _endpos = _endpos__1_ in
27424 let _v : 'tv_pure_ident_kwd =
27425 # 1432 "parser_cocci_menhir.mly"
27426 ( "identifier" )
27427 # 27428 "parser_cocci_menhir.ml"
27428 in
27429 _menhir_env.MenhirLib.EngineTypes.stack <- {
27430 MenhirLib.EngineTypes.state = _menhir_s;
27431 MenhirLib.EngineTypes.semv = Obj.repr _v;
27432 MenhirLib.EngineTypes.startp = _startpos;
27433 MenhirLib.EngineTypes.endp = _endpos;
27434 MenhirLib.EngineTypes.next = _menhir_stack;
27435 });
27436 (fun _menhir_env ->
27437 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27438 let {
27439 MenhirLib.EngineTypes.state = _menhir_s;
27440 MenhirLib.EngineTypes.startp = _startpos__1_;
27441 MenhirLib.EngineTypes.endp = _endpos__1_;
27442 MenhirLib.EngineTypes.next = _menhir_stack;
27443 } = _menhir_stack in
27444 let _startpos = _startpos__1_ in
27445 let _endpos = _endpos__1_ in
27446 let _v : 'tv_pure_ident_kwd =
27447 # 1433 "parser_cocci_menhir.mly"
27448 ( "expression" )
27449 # 27450 "parser_cocci_menhir.ml"
27450 in
27451 _menhir_env.MenhirLib.EngineTypes.stack <- {
27452 MenhirLib.EngineTypes.state = _menhir_s;
27453 MenhirLib.EngineTypes.semv = Obj.repr _v;
27454 MenhirLib.EngineTypes.startp = _startpos;
27455 MenhirLib.EngineTypes.endp = _endpos;
27456 MenhirLib.EngineTypes.next = _menhir_stack;
27457 });
27458 (fun _menhir_env ->
27459 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27460 let {
27461 MenhirLib.EngineTypes.state = _menhir_s;
27462 MenhirLib.EngineTypes.startp = _startpos__1_;
27463 MenhirLib.EngineTypes.endp = _endpos__1_;
27464 MenhirLib.EngineTypes.next = _menhir_stack;
27465 } = _menhir_stack in
27466 let _startpos = _startpos__1_ in
27467 let _endpos = _endpos__1_ in
27468 let _v : 'tv_pure_ident_kwd =
27469 # 1434 "parser_cocci_menhir.mly"
27470 ( "statement" )
27471 # 27472 "parser_cocci_menhir.ml"
27472 in
27473 _menhir_env.MenhirLib.EngineTypes.stack <- {
27474 MenhirLib.EngineTypes.state = _menhir_s;
27475 MenhirLib.EngineTypes.semv = Obj.repr _v;
27476 MenhirLib.EngineTypes.startp = _startpos;
27477 MenhirLib.EngineTypes.endp = _endpos;
27478 MenhirLib.EngineTypes.next = _menhir_stack;
27479 });
27480 (fun _menhir_env ->
27481 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27482 let {
27483 MenhirLib.EngineTypes.state = _menhir_s;
27484 MenhirLib.EngineTypes.startp = _startpos__1_;
27485 MenhirLib.EngineTypes.endp = _endpos__1_;
27486 MenhirLib.EngineTypes.next = _menhir_stack;
27487 } = _menhir_stack in
27488 let _startpos = _startpos__1_ in
27489 let _endpos = _endpos__1_ in
27490 let _v : 'tv_pure_ident_kwd =
27491 # 1435 "parser_cocci_menhir.mly"
27492 ( "function" )
27493 # 27494 "parser_cocci_menhir.ml"
27494 in
27495 _menhir_env.MenhirLib.EngineTypes.stack <- {
27496 MenhirLib.EngineTypes.state = _menhir_s;
27497 MenhirLib.EngineTypes.semv = Obj.repr _v;
27498 MenhirLib.EngineTypes.startp = _startpos;
27499 MenhirLib.EngineTypes.endp = _endpos;
27500 MenhirLib.EngineTypes.next = _menhir_stack;
27501 });
27502 (fun _menhir_env ->
27503 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27504 let {
27505 MenhirLib.EngineTypes.state = _menhir_s;
27506 MenhirLib.EngineTypes.startp = _startpos__1_;
27507 MenhirLib.EngineTypes.endp = _endpos__1_;
27508 MenhirLib.EngineTypes.next = _menhir_stack;
27509 } = _menhir_stack in
27510 let _startpos = _startpos__1_ in
27511 let _endpos = _endpos__1_ in
27512 let _v : 'tv_pure_ident_kwd =
27513 # 1436 "parser_cocci_menhir.mly"
27514 ( "local" )
27515 # 27516 "parser_cocci_menhir.ml"
27516 in
27517 _menhir_env.MenhirLib.EngineTypes.stack <- {
27518 MenhirLib.EngineTypes.state = _menhir_s;
27519 MenhirLib.EngineTypes.semv = Obj.repr _v;
27520 MenhirLib.EngineTypes.startp = _startpos;
27521 MenhirLib.EngineTypes.endp = _endpos;
27522 MenhirLib.EngineTypes.next = _menhir_stack;
27523 });
27524 (fun _menhir_env ->
27525 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27526 let {
27527 MenhirLib.EngineTypes.state = _menhir_s;
27528 MenhirLib.EngineTypes.startp = _startpos__1_;
27529 MenhirLib.EngineTypes.endp = _endpos__1_;
27530 MenhirLib.EngineTypes.next = _menhir_stack;
27531 } = _menhir_stack in
27532 let _startpos = _startpos__1_ in
27533 let _endpos = _endpos__1_ in
27534 let _v : 'tv_pure_ident_kwd =
27535 # 1437 "parser_cocci_menhir.mly"
27536 ( "type" )
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.startp = _startpos__1_;
27551 MenhirLib.EngineTypes.endp = _endpos__1_;
27552 MenhirLib.EngineTypes.next = _menhir_stack;
27553 } = _menhir_stack in
27554 let _startpos = _startpos__1_ in
27555 let _endpos = _endpos__1_ in
27556 let _v : 'tv_pure_ident_kwd =
27557 # 1438 "parser_cocci_menhir.mly"
27558 ( "parameter" )
27559 # 27560 "parser_cocci_menhir.ml"
27560 in
27561 _menhir_env.MenhirLib.EngineTypes.stack <- {
27562 MenhirLib.EngineTypes.state = _menhir_s;
27563 MenhirLib.EngineTypes.semv = Obj.repr _v;
27564 MenhirLib.EngineTypes.startp = _startpos;
27565 MenhirLib.EngineTypes.endp = _endpos;
27566 MenhirLib.EngineTypes.next = _menhir_stack;
27567 });
27568 (fun _menhir_env ->
27569 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27570 let {
27571 MenhirLib.EngineTypes.state = _menhir_s;
27572 MenhirLib.EngineTypes.startp = _startpos__1_;
27573 MenhirLib.EngineTypes.endp = _endpos__1_;
27574 MenhirLib.EngineTypes.next = _menhir_stack;
27575 } = _menhir_stack in
27576 let _startpos = _startpos__1_ in
27577 let _endpos = _endpos__1_ in
27578 let _v : 'tv_pure_ident_kwd =
27579 # 1439 "parser_cocci_menhir.mly"
27580 ( "idexpression" )
27581 # 27582 "parser_cocci_menhir.ml"
27582 in
27583 _menhir_env.MenhirLib.EngineTypes.stack <- {
27584 MenhirLib.EngineTypes.state = _menhir_s;
27585 MenhirLib.EngineTypes.semv = Obj.repr _v;
27586 MenhirLib.EngineTypes.startp = _startpos;
27587 MenhirLib.EngineTypes.endp = _endpos;
27588 MenhirLib.EngineTypes.next = _menhir_stack;
27589 });
27590 (fun _menhir_env ->
27591 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27592 let {
27593 MenhirLib.EngineTypes.state = _menhir_s;
27594 MenhirLib.EngineTypes.startp = _startpos__1_;
27595 MenhirLib.EngineTypes.endp = _endpos__1_;
27596 MenhirLib.EngineTypes.next = _menhir_stack;
27597 } = _menhir_stack in
27598 let _startpos = _startpos__1_ in
27599 let _endpos = _endpos__1_ in
27600 let _v : 'tv_pure_ident_kwd =
27601 # 1440 "parser_cocci_menhir.mly"
27602 ( "initialiser" )
27603 # 27604 "parser_cocci_menhir.ml"
27604 in
27605 _menhir_env.MenhirLib.EngineTypes.stack <- {
27606 MenhirLib.EngineTypes.state = _menhir_s;
27607 MenhirLib.EngineTypes.semv = Obj.repr _v;
27608 MenhirLib.EngineTypes.startp = _startpos;
27609 MenhirLib.EngineTypes.endp = _endpos;
27610 MenhirLib.EngineTypes.next = _menhir_stack;
27611 });
27612 (fun _menhir_env ->
27613 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27614 let {
27615 MenhirLib.EngineTypes.state = _menhir_s;
27616 MenhirLib.EngineTypes.startp = _startpos__1_;
27617 MenhirLib.EngineTypes.endp = _endpos__1_;
27618 MenhirLib.EngineTypes.next = _menhir_stack;
27619 } = _menhir_stack in
27620 let _startpos = _startpos__1_ in
27621 let _endpos = _endpos__1_ in
27622 let _v : 'tv_pure_ident_kwd =
27623 # 1441 "parser_cocci_menhir.mly"
27624 ( "list" )
27625 # 27626 "parser_cocci_menhir.ml"
27626 in
27627 _menhir_env.MenhirLib.EngineTypes.stack <- {
27628 MenhirLib.EngineTypes.state = _menhir_s;
27629 MenhirLib.EngineTypes.semv = Obj.repr _v;
27630 MenhirLib.EngineTypes.startp = _startpos;
27631 MenhirLib.EngineTypes.endp = _endpos;
27632 MenhirLib.EngineTypes.next = _menhir_stack;
27633 });
27634 (fun _menhir_env ->
27635 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27636 let {
27637 MenhirLib.EngineTypes.state = _menhir_s;
27638 MenhirLib.EngineTypes.startp = _startpos__1_;
27639 MenhirLib.EngineTypes.endp = _endpos__1_;
27640 MenhirLib.EngineTypes.next = _menhir_stack;
27641 } = _menhir_stack in
27642 let _startpos = _startpos__1_ in
27643 let _endpos = _endpos__1_ in
27644 let _v : 'tv_pure_ident_kwd =
27645 # 1442 "parser_cocci_menhir.mly"
27646 ( "fresh" )
27647 # 27648 "parser_cocci_menhir.ml"
27648 in
27649 _menhir_env.MenhirLib.EngineTypes.stack <- {
27650 MenhirLib.EngineTypes.state = _menhir_s;
27651 MenhirLib.EngineTypes.semv = Obj.repr _v;
27652 MenhirLib.EngineTypes.startp = _startpos;
27653 MenhirLib.EngineTypes.endp = _endpos;
27654 MenhirLib.EngineTypes.next = _menhir_stack;
27655 });
27656 (fun _menhir_env ->
27657 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27658 let {
27659 MenhirLib.EngineTypes.state = _menhir_s;
27660 MenhirLib.EngineTypes.startp = _startpos__1_;
27661 MenhirLib.EngineTypes.endp = _endpos__1_;
27662 MenhirLib.EngineTypes.next = _menhir_stack;
27663 } = _menhir_stack in
27664 let _startpos = _startpos__1_ in
27665 let _endpos = _endpos__1_ in
27666 let _v : 'tv_pure_ident_kwd =
27667 # 1443 "parser_cocci_menhir.mly"
27668 ( "constant" )
27669 # 27670 "parser_cocci_menhir.ml"
27670 in
27671 _menhir_env.MenhirLib.EngineTypes.stack <- {
27672 MenhirLib.EngineTypes.state = _menhir_s;
27673 MenhirLib.EngineTypes.semv = Obj.repr _v;
27674 MenhirLib.EngineTypes.startp = _startpos;
27675 MenhirLib.EngineTypes.endp = _endpos;
27676 MenhirLib.EngineTypes.next = _menhir_stack;
27677 });
27678 (fun _menhir_env ->
27679 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27680 let {
27681 MenhirLib.EngineTypes.state = _menhir_s;
27682 MenhirLib.EngineTypes.startp = _startpos__1_;
27683 MenhirLib.EngineTypes.endp = _endpos__1_;
27684 MenhirLib.EngineTypes.next = _menhir_stack;
27685 } = _menhir_stack in
27686 let _startpos = _startpos__1_ in
27687 let _endpos = _endpos__1_ in
27688 let _v : 'tv_pure_ident_kwd =
27689 # 1444 "parser_cocci_menhir.mly"
27690 ( "error" )
27691 # 27692 "parser_cocci_menhir.ml"
27692 in
27693 _menhir_env.MenhirLib.EngineTypes.stack <- {
27694 MenhirLib.EngineTypes.state = _menhir_s;
27695 MenhirLib.EngineTypes.semv = Obj.repr _v;
27696 MenhirLib.EngineTypes.startp = _startpos;
27697 MenhirLib.EngineTypes.endp = _endpos;
27698 MenhirLib.EngineTypes.next = _menhir_stack;
27699 });
27700 (fun _menhir_env ->
27701 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27702 let {
27703 MenhirLib.EngineTypes.state = _menhir_s;
27704 MenhirLib.EngineTypes.startp = _startpos__1_;
27705 MenhirLib.EngineTypes.endp = _endpos__1_;
27706 MenhirLib.EngineTypes.next = _menhir_stack;
27707 } = _menhir_stack in
27708 let _startpos = _startpos__1_ in
27709 let _endpos = _endpos__1_ in
27710 let _v : 'tv_pure_ident_kwd =
27711 # 1445 "parser_cocci_menhir.mly"
27712 ( "words" )
27713 # 27714 "parser_cocci_menhir.ml"
27714 in
27715 _menhir_env.MenhirLib.EngineTypes.stack <- {
27716 MenhirLib.EngineTypes.state = _menhir_s;
27717 MenhirLib.EngineTypes.semv = Obj.repr _v;
27718 MenhirLib.EngineTypes.startp = _startpos;
27719 MenhirLib.EngineTypes.endp = _endpos;
27720 MenhirLib.EngineTypes.next = _menhir_stack;
27721 });
27722 (fun _menhir_env ->
27723 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27724 let {
27725 MenhirLib.EngineTypes.state = _menhir_s;
27726 MenhirLib.EngineTypes.startp = _startpos__1_;
27727 MenhirLib.EngineTypes.endp = _endpos__1_;
27728 MenhirLib.EngineTypes.next = _menhir_stack;
27729 } = _menhir_stack in
27730 let _startpos = _startpos__1_ in
27731 let _endpos = _endpos__1_ in
27732 let _v : 'tv_pure_ident_kwd =
27733 # 1446 "parser_cocci_menhir.mly"
27734 ( "pure" )
27735 # 27736 "parser_cocci_menhir.ml"
27736 in
27737 _menhir_env.MenhirLib.EngineTypes.stack <- {
27738 MenhirLib.EngineTypes.state = _menhir_s;
27739 MenhirLib.EngineTypes.semv = Obj.repr _v;
27740 MenhirLib.EngineTypes.startp = _startpos;
27741 MenhirLib.EngineTypes.endp = _endpos;
27742 MenhirLib.EngineTypes.next = _menhir_stack;
27743 });
27744 (fun _menhir_env ->
27745 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27746 let {
27747 MenhirLib.EngineTypes.state = _menhir_s;
27748 MenhirLib.EngineTypes.startp = _startpos__1_;
27749 MenhirLib.EngineTypes.endp = _endpos__1_;
27750 MenhirLib.EngineTypes.next = _menhir_stack;
27751 } = _menhir_stack in
27752 let _startpos = _startpos__1_ in
27753 let _endpos = _endpos__1_ in
27754 let _v : 'tv_pure_ident_kwd =
27755 # 1447 "parser_cocci_menhir.mly"
27756 ( "context" )
27757 # 27758 "parser_cocci_menhir.ml"
27758 in
27759 _menhir_env.MenhirLib.EngineTypes.stack <- {
27760 MenhirLib.EngineTypes.state = _menhir_s;
27761 MenhirLib.EngineTypes.semv = Obj.repr _v;
27762 MenhirLib.EngineTypes.startp = _startpos;
27763 MenhirLib.EngineTypes.endp = _endpos;
27764 MenhirLib.EngineTypes.next = _menhir_stack;
27765 });
27766 (fun _menhir_env ->
27767 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27768 let {
27769 MenhirLib.EngineTypes.state = _menhir_s;
27770 MenhirLib.EngineTypes.startp = _startpos__1_;
27771 MenhirLib.EngineTypes.endp = _endpos__1_;
27772 MenhirLib.EngineTypes.next = _menhir_stack;
27773 } = _menhir_stack in
27774 let _startpos = _startpos__1_ in
27775 let _endpos = _endpos__1_ in
27776 let _v : 'tv_pure_ident_kwd =
27777 # 1448 "parser_cocci_menhir.mly"
27778 ( "generated" )
27779 # 27780 "parser_cocci_menhir.ml"
27780 in
27781 _menhir_env.MenhirLib.EngineTypes.stack <- {
27782 MenhirLib.EngineTypes.state = _menhir_s;
27783 MenhirLib.EngineTypes.semv = Obj.repr _v;
27784 MenhirLib.EngineTypes.startp = _startpos;
27785 MenhirLib.EngineTypes.endp = _endpos;
27786 MenhirLib.EngineTypes.next = _menhir_stack;
27787 });
27788 (fun _menhir_env ->
27789 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27790 let {
27791 MenhirLib.EngineTypes.state = _menhir_s;
27792 MenhirLib.EngineTypes.startp = _startpos__1_;
27793 MenhirLib.EngineTypes.endp = _endpos__1_;
27794 MenhirLib.EngineTypes.next = _menhir_stack;
27795 } = _menhir_stack in
27796 let _startpos = _startpos__1_ in
27797 let _endpos = _endpos__1_ in
27798 let _v : 'tv_pure_ident_kwd =
27799 # 1449 "parser_cocci_menhir.mly"
27800 ( "typedef" )
27801 # 27802 "parser_cocci_menhir.ml"
27802 in
27803 _menhir_env.MenhirLib.EngineTypes.stack <- {
27804 MenhirLib.EngineTypes.state = _menhir_s;
27805 MenhirLib.EngineTypes.semv = Obj.repr _v;
27806 MenhirLib.EngineTypes.startp = _startpos;
27807 MenhirLib.EngineTypes.endp = _endpos;
27808 MenhirLib.EngineTypes.next = _menhir_stack;
27809 });
27810 (fun _menhir_env ->
27811 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27812 let {
27813 MenhirLib.EngineTypes.state = _menhir_s;
27814 MenhirLib.EngineTypes.startp = _startpos__1_;
27815 MenhirLib.EngineTypes.endp = _endpos__1_;
27816 MenhirLib.EngineTypes.next = _menhir_stack;
27817 } = _menhir_stack in
27818 let _startpos = _startpos__1_ in
27819 let _endpos = _endpos__1_ in
27820 let _v : 'tv_pure_ident_kwd =
27821 # 1450 "parser_cocci_menhir.mly"
27822 ( "declarer" )
27823 # 27824 "parser_cocci_menhir.ml"
27824 in
27825 _menhir_env.MenhirLib.EngineTypes.stack <- {
27826 MenhirLib.EngineTypes.state = _menhir_s;
27827 MenhirLib.EngineTypes.semv = Obj.repr _v;
27828 MenhirLib.EngineTypes.startp = _startpos;
27829 MenhirLib.EngineTypes.endp = _endpos;
27830 MenhirLib.EngineTypes.next = _menhir_stack;
27831 });
27832 (fun _menhir_env ->
27833 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27834 let {
27835 MenhirLib.EngineTypes.state = _menhir_s;
27836 MenhirLib.EngineTypes.startp = _startpos__1_;
27837 MenhirLib.EngineTypes.endp = _endpos__1_;
27838 MenhirLib.EngineTypes.next = _menhir_stack;
27839 } = _menhir_stack in
27840 let _startpos = _startpos__1_ in
27841 let _endpos = _endpos__1_ in
27842 let _v : 'tv_pure_ident_kwd =
27843 # 1451 "parser_cocci_menhir.mly"
27844 ( "iterator" )
27845 # 27846 "parser_cocci_menhir.ml"
27846 in
27847 _menhir_env.MenhirLib.EngineTypes.stack <- {
27848 MenhirLib.EngineTypes.state = _menhir_s;
27849 MenhirLib.EngineTypes.semv = Obj.repr _v;
27850 MenhirLib.EngineTypes.startp = _startpos;
27851 MenhirLib.EngineTypes.endp = _endpos;
27852 MenhirLib.EngineTypes.next = _menhir_stack;
27853 });
27854 (fun _menhir_env ->
27855 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27856 let {
27857 MenhirLib.EngineTypes.state = _menhir_s;
27858 MenhirLib.EngineTypes.startp = _startpos__1_;
27859 MenhirLib.EngineTypes.endp = _endpos__1_;
27860 MenhirLib.EngineTypes.next = _menhir_stack;
27861 } = _menhir_stack in
27862 let _startpos = _startpos__1_ in
27863 let _endpos = _endpos__1_ in
27864 let _v : 'tv_pure_ident_kwd =
27865 # 1452 "parser_cocci_menhir.mly"
27866 ( "name" )
27867 # 27868 "parser_cocci_menhir.ml"
27868 in
27869 _menhir_env.MenhirLib.EngineTypes.stack <- {
27870 MenhirLib.EngineTypes.state = _menhir_s;
27871 MenhirLib.EngineTypes.semv = Obj.repr _v;
27872 MenhirLib.EngineTypes.startp = _startpos;
27873 MenhirLib.EngineTypes.endp = _endpos;
27874 MenhirLib.EngineTypes.next = _menhir_stack;
27875 });
27876 (fun _menhir_env ->
27877 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27878 let {
27879 MenhirLib.EngineTypes.state = _menhir_s;
27880 MenhirLib.EngineTypes.startp = _startpos__1_;
27881 MenhirLib.EngineTypes.endp = _endpos__1_;
27882 MenhirLib.EngineTypes.next = _menhir_stack;
27883 } = _menhir_stack in
27884 let _startpos = _startpos__1_ in
27885 let _endpos = _endpos__1_ in
27886 let _v : 'tv_pure_ident_kwd =
27887 # 1453 "parser_cocci_menhir.mly"
27888 ( "position" )
27889 # 27890 "parser_cocci_menhir.ml"
27890 in
27891 _menhir_env.MenhirLib.EngineTypes.stack <- {
27892 MenhirLib.EngineTypes.state = _menhir_s;
27893 MenhirLib.EngineTypes.semv = Obj.repr _v;
27894 MenhirLib.EngineTypes.startp = _startpos;
27895 MenhirLib.EngineTypes.endp = _endpos;
27896 MenhirLib.EngineTypes.next = _menhir_stack;
27897 });
27898 (fun _menhir_env ->
27899 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27900 let {
27901 MenhirLib.EngineTypes.state = _menhir_s;
27902 MenhirLib.EngineTypes.semv = _1;
27903 MenhirLib.EngineTypes.startp = _startpos__1_;
27904 MenhirLib.EngineTypes.endp = _endpos__1_;
27905 MenhirLib.EngineTypes.next = _menhir_stack;
27906 } = _menhir_stack in
27907 let _1 : 'tv_pure_ident = Obj.magic _1 in
27908 let _startpos = _startpos__1_ in
27909 let _endpos = _endpos__1_ in
27910 let _v : 'tv_pure_ident_or_meta_ident =
27911 # 1460 "parser_cocci_menhir.mly"
27912 ( (None,P.id2name _1) )
27913 # 27914 "parser_cocci_menhir.ml"
27914 in
27915 _menhir_env.MenhirLib.EngineTypes.stack <- {
27916 MenhirLib.EngineTypes.state = _menhir_s;
27917 MenhirLib.EngineTypes.semv = Obj.repr _v;
27918 MenhirLib.EngineTypes.startp = _startpos;
27919 MenhirLib.EngineTypes.endp = _endpos;
27920 MenhirLib.EngineTypes.next = _menhir_stack;
27921 });
27922 (fun _menhir_env ->
27923 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27924 let {
27925 MenhirLib.EngineTypes.state = _menhir_s;
27926 MenhirLib.EngineTypes.semv = _1;
27927 MenhirLib.EngineTypes.startp = _startpos__1_;
27928 MenhirLib.EngineTypes.endp = _endpos__1_;
27929 MenhirLib.EngineTypes.next = _menhir_stack;
27930 } = _menhir_stack in
27931 let _1 : 'tv_pure_ident_kwd = Obj.magic _1 in
27932 let _startpos = _startpos__1_ in
27933 let _endpos = _endpos__1_ in
27934 let _v : 'tv_pure_ident_or_meta_ident =
27935 # 1461 "parser_cocci_menhir.mly"
27936 ( (None,_1) )
27937 # 27938 "parser_cocci_menhir.ml"
27938 in
27939 _menhir_env.MenhirLib.EngineTypes.stack <- {
27940 MenhirLib.EngineTypes.state = _menhir_s;
27941 MenhirLib.EngineTypes.semv = Obj.repr _v;
27942 MenhirLib.EngineTypes.startp = _startpos;
27943 MenhirLib.EngineTypes.endp = _endpos;
27944 MenhirLib.EngineTypes.next = _menhir_stack;
27945 });
27946 (fun _menhir_env ->
27947 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27948 let {
27949 MenhirLib.EngineTypes.state = _menhir_s;
27950 MenhirLib.EngineTypes.semv = _1;
27951 MenhirLib.EngineTypes.startp = _startpos__1_;
27952 MenhirLib.EngineTypes.endp = _endpos__1_;
27953 MenhirLib.EngineTypes.next = _menhir_stack;
27954 } = _menhir_stack in
27955 let _1 : 'tv_meta_ident = Obj.magic _1 in
27956 let _startpos = _startpos__1_ in
27957 let _endpos = _endpos__1_ in
27958 let _v : 'tv_pure_ident_or_meta_ident =
27959 # 1462 "parser_cocci_menhir.mly"
27960 ( _1 )
27961 # 27962 "parser_cocci_menhir.ml"
27962 in
27963 _menhir_env.MenhirLib.EngineTypes.stack <- {
27964 MenhirLib.EngineTypes.state = _menhir_s;
27965 MenhirLib.EngineTypes.semv = Obj.repr _v;
27966 MenhirLib.EngineTypes.startp = _startpos;
27967 MenhirLib.EngineTypes.endp = _endpos;
27968 MenhirLib.EngineTypes.next = _menhir_stack;
27969 });
27970 (fun _menhir_env ->
27971 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27972 let {
27973 MenhirLib.EngineTypes.semv = optc;
27974 MenhirLib.EngineTypes.startp = _startpos_optc_;
27975 MenhirLib.EngineTypes.endp = _endpos_optc_;
27976 MenhirLib.EngineTypes.next = {
27977 MenhirLib.EngineTypes.state = _menhir_s;
27978 MenhirLib.EngineTypes.semv = i;
27979 MenhirLib.EngineTypes.startp = _startpos_i_;
27980 MenhirLib.EngineTypes.endp = _endpos_i_;
27981 MenhirLib.EngineTypes.next = _menhir_stack;
27982 };
27983 } = _menhir_stack in
27984 let optc : 'tv_option_not_ceq_or_sub_ = Obj.magic optc in
27985 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
27986 let _startpos = _startpos_i_ in
27987 let _endpos = _endpos_optc_ in
27988 let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ =
27989 # 1488 "parser_cocci_menhir.mly"
27990 (
27991 match optc with
27992 None -> (i, Ast0.NoConstraint)
27993 | Some c -> (i, c)
27994 )
27995 # 27996 "parser_cocci_menhir.ml"
27996 in
27997 _menhir_env.MenhirLib.EngineTypes.stack <- {
27998 MenhirLib.EngineTypes.state = _menhir_s;
27999 MenhirLib.EngineTypes.semv = Obj.repr _v;
28000 MenhirLib.EngineTypes.startp = _startpos;
28001 MenhirLib.EngineTypes.endp = _endpos;
28002 MenhirLib.EngineTypes.next = _menhir_stack;
28003 });
28004 (fun _menhir_env ->
28005 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28006 let {
28007 MenhirLib.EngineTypes.semv = optc;
28008 MenhirLib.EngineTypes.startp = _startpos_optc_;
28009 MenhirLib.EngineTypes.endp = _endpos_optc_;
28010 MenhirLib.EngineTypes.next = {
28011 MenhirLib.EngineTypes.state = _menhir_s;
28012 MenhirLib.EngineTypes.semv = i;
28013 MenhirLib.EngineTypes.startp = _startpos_i_;
28014 MenhirLib.EngineTypes.endp = _endpos_i_;
28015 MenhirLib.EngineTypes.next = _menhir_stack;
28016 };
28017 } = _menhir_stack in
28018 let optc : 'tv_option_re_or_not_eqe_or_sub_ = Obj.magic optc in
28019 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
28020 let _startpos = _startpos_i_ in
28021 let _endpos = _endpos_optc_ in
28022 let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ =
28023 # 1488 "parser_cocci_menhir.mly"
28024 (
28025 match optc with
28026 None -> (i, Ast0.NoConstraint)
28027 | Some c -> (i, c)
28028 )
28029 # 28030 "parser_cocci_menhir.ml"
28030 in
28031 _menhir_env.MenhirLib.EngineTypes.stack <- {
28032 MenhirLib.EngineTypes.state = _menhir_s;
28033 MenhirLib.EngineTypes.semv = Obj.repr _v;
28034 MenhirLib.EngineTypes.startp = _startpos;
28035 MenhirLib.EngineTypes.endp = _endpos;
28036 MenhirLib.EngineTypes.next = _menhir_stack;
28037 });
28038 (fun _menhir_env ->
28039 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28040 let {
28041 MenhirLib.EngineTypes.semv = c;
28042 MenhirLib.EngineTypes.startp = _startpos_c_;
28043 MenhirLib.EngineTypes.endp = _endpos_c_;
28044 MenhirLib.EngineTypes.next = {
28045 MenhirLib.EngineTypes.state = _menhir_s;
28046 MenhirLib.EngineTypes.semv = i;
28047 MenhirLib.EngineTypes.startp = _startpos_i_;
28048 MenhirLib.EngineTypes.endp = _endpos_i_;
28049 MenhirLib.EngineTypes.next = _menhir_stack;
28050 };
28051 } = _menhir_stack in
28052 let c : 'tv_option_re_or_not_eqid_ = Obj.magic c in
28053 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
28054 let _startpos = _startpos_i_ in
28055 let _endpos = _endpos_c_ in
28056 let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ =
28057 # 1506 "parser_cocci_menhir.mly"
28058 (
28059 match c with
28060 None -> (i, Ast.IdNoConstraint)
28061 | Some constraint_ -> (i,constraint_)
28062 )
28063 # 28064 "parser_cocci_menhir.ml"
28064 in
28065 _menhir_env.MenhirLib.EngineTypes.stack <- {
28066 MenhirLib.EngineTypes.state = _menhir_s;
28067 MenhirLib.EngineTypes.semv = Obj.repr _v;
28068 MenhirLib.EngineTypes.startp = _startpos;
28069 MenhirLib.EngineTypes.endp = _endpos;
28070 MenhirLib.EngineTypes.next = _menhir_stack;
28071 });
28072 (fun _menhir_env ->
28073 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28074 let {
28075 MenhirLib.EngineTypes.semv = c;
28076 MenhirLib.EngineTypes.startp = _startpos_c_;
28077 MenhirLib.EngineTypes.endp = _endpos_c_;
28078 MenhirLib.EngineTypes.next = {
28079 MenhirLib.EngineTypes.state = _menhir_s;
28080 MenhirLib.EngineTypes.semv = i;
28081 MenhirLib.EngineTypes.startp = _startpos_i_;
28082 MenhirLib.EngineTypes.endp = _endpos_i_;
28083 MenhirLib.EngineTypes.next = _menhir_stack;
28084 };
28085 } = _menhir_stack in
28086 let c : 'tv_option_re_or_not_eqid_ = Obj.magic c in
28087 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
28088 let _startpos = _startpos_i_ in
28089 let _endpos = _endpos_c_ in
28090 let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ =
28091 # 1496 "parser_cocci_menhir.mly"
28092 (
28093 Common.Left
28094 (match c with
28095 None -> (i, Ast.IdNoConstraint)
28096 | Some constraint_ -> (i,constraint_))
28097 )
28098 # 28099 "parser_cocci_menhir.ml"
28099 in
28100 _menhir_env.MenhirLib.EngineTypes.stack <- {
28101 MenhirLib.EngineTypes.state = _menhir_s;
28102 MenhirLib.EngineTypes.semv = Obj.repr _v;
28103 MenhirLib.EngineTypes.startp = _startpos;
28104 MenhirLib.EngineTypes.endp = _endpos;
28105 MenhirLib.EngineTypes.next = _menhir_stack;
28106 });
28107 (fun _menhir_env ->
28108 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28109 let {
28110 MenhirLib.EngineTypes.semv = _3;
28111 MenhirLib.EngineTypes.startp = _startpos__3_;
28112 MenhirLib.EngineTypes.endp = _endpos__3_;
28113 MenhirLib.EngineTypes.next = {
28114 MenhirLib.EngineTypes.startp = _startpos__2_;
28115 MenhirLib.EngineTypes.endp = _endpos__2_;
28116 MenhirLib.EngineTypes.next = {
28117 MenhirLib.EngineTypes.state = _menhir_s;
28118 MenhirLib.EngineTypes.startp = _startpos__1_;
28119 MenhirLib.EngineTypes.endp = _endpos__1_;
28120 MenhirLib.EngineTypes.next = _menhir_stack;
28121 };
28122 };
28123 } = _menhir_stack in
28124 let _3 : 'tv_pure_ident = Obj.magic _3 in
28125 let _startpos = _startpos__1_ in
28126 let _endpos = _endpos__3_ in
28127 let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ =
28128 # 1502 "parser_cocci_menhir.mly"
28129 ( Common.Right (P.id2name _3) )
28130 # 28131 "parser_cocci_menhir.ml"
28131 in
28132 _menhir_env.MenhirLib.EngineTypes.stack <- {
28133 MenhirLib.EngineTypes.state = _menhir_s;
28134 MenhirLib.EngineTypes.semv = Obj.repr _v;
28135 MenhirLib.EngineTypes.startp = _startpos;
28136 MenhirLib.EngineTypes.endp = _endpos;
28137 MenhirLib.EngineTypes.next = _menhir_stack;
28138 });
28139 (fun _menhir_env ->
28140 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28141 let {
28142 MenhirLib.EngineTypes.state = _menhir_s;
28143 MenhirLib.EngineTypes.semv = _1;
28144 MenhirLib.EngineTypes.startp = _startpos__1_;
28145 MenhirLib.EngineTypes.endp = _endpos__1_;
28146 MenhirLib.EngineTypes.next = _menhir_stack;
28147 } = _menhir_stack in
28148 let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
28149 let _startpos = _startpos__1_ in
28150 let _endpos = _endpos__1_ in
28151 let _v : 'tv_pure_ident_or_meta_ident_with_seed =
28152 # 1465 "parser_cocci_menhir.mly"
28153 ( (_1,Ast.NoVal) )
28154 # 28155 "parser_cocci_menhir.ml"
28155 in
28156 _menhir_env.MenhirLib.EngineTypes.stack <- {
28157 MenhirLib.EngineTypes.state = _menhir_s;
28158 MenhirLib.EngineTypes.semv = Obj.repr _v;
28159 MenhirLib.EngineTypes.startp = _startpos;
28160 MenhirLib.EngineTypes.endp = _endpos;
28161 MenhirLib.EngineTypes.next = _menhir_stack;
28162 });
28163 (fun _menhir_env ->
28164 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28165 let {
28166 MenhirLib.EngineTypes.semv = _3;
28167 MenhirLib.EngineTypes.startp = _startpos__3_;
28168 MenhirLib.EngineTypes.endp = _endpos__3_;
28169 MenhirLib.EngineTypes.next = {
28170 MenhirLib.EngineTypes.startp = _startpos__2_;
28171 MenhirLib.EngineTypes.endp = _endpos__2_;
28172 MenhirLib.EngineTypes.next = {
28173 MenhirLib.EngineTypes.state = _menhir_s;
28174 MenhirLib.EngineTypes.semv = _1;
28175 MenhirLib.EngineTypes.startp = _startpos__1_;
28176 MenhirLib.EngineTypes.endp = _endpos__1_;
28177 MenhirLib.EngineTypes.next = _menhir_stack;
28178 };
28179 };
28180 } = _menhir_stack in
28181 let _3 : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic _3 in
28182 let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
28183 let _startpos = _startpos__1_ in
28184 let _endpos = _endpos__3_ in
28185 let _v : 'tv_pure_ident_or_meta_ident_with_seed =
28186 # 1468 "parser_cocci_menhir.mly"
28187 ( match _3 with
28188 [Ast.SeedString s] -> (_1,Ast.StringSeed s)
28189 | _ -> (_1,Ast.ListSeed _3) )
28190 # 28191 "parser_cocci_menhir.ml"
28191 in
28192 _menhir_env.MenhirLib.EngineTypes.stack <- {
28193 MenhirLib.EngineTypes.state = _menhir_s;
28194 MenhirLib.EngineTypes.semv = Obj.repr _v;
28195 MenhirLib.EngineTypes.startp = _startpos;
28196 MenhirLib.EngineTypes.endp = _endpos;
28197 MenhirLib.EngineTypes.next = _menhir_stack;
28198 });
28199 (fun _menhir_env ->
28200 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28201 let {
28202 MenhirLib.EngineTypes.semv = l;
28203 MenhirLib.EngineTypes.startp = _startpos_l_;
28204 MenhirLib.EngineTypes.endp = _endpos_l_;
28205 MenhirLib.EngineTypes.next = {
28206 MenhirLib.EngineTypes.state = _menhir_s;
28207 MenhirLib.EngineTypes.semv = i;
28208 MenhirLib.EngineTypes.startp = _startpos_i_;
28209 MenhirLib.EngineTypes.endp = _endpos_i_;
28210 MenhirLib.EngineTypes.next = _menhir_stack;
28211 };
28212 } = _menhir_stack in
28213 let l : 'tv_loption_not_pos_ = Obj.magic l in
28214 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
28215 let _startpos = _startpos_i_ in
28216 let _endpos = _endpos_l_ in
28217 let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ =
28218 # 1482 "parser_cocci_menhir.mly"
28219 (
28220 (i, l)
28221 )
28222 # 28223 "parser_cocci_menhir.ml"
28223 in
28224 _menhir_env.MenhirLib.EngineTypes.stack <- {
28225 MenhirLib.EngineTypes.state = _menhir_s;
28226 MenhirLib.EngineTypes.semv = Obj.repr _v;
28227 MenhirLib.EngineTypes.startp = _startpos;
28228 MenhirLib.EngineTypes.endp = _endpos;
28229 MenhirLib.EngineTypes.next = _menhir_stack;
28230 });
28231 (fun _menhir_env ->
28232 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28233 let {
28234 MenhirLib.EngineTypes.state = _menhir_s;
28235 MenhirLib.EngineTypes.semv = re;
28236 MenhirLib.EngineTypes.startp = _startpos_re_;
28237 MenhirLib.EngineTypes.endp = _endpos_re_;
28238 MenhirLib.EngineTypes.next = _menhir_stack;
28239 } = _menhir_stack in
28240 let re : 'tv_regexp_eqid = Obj.magic re in
28241 let _startpos = _startpos_re_ in
28242 let _endpos = _endpos_re_ in
28243 let _v : 'tv_re_or_not_eqe_or_sub =
28244 # 1567 "parser_cocci_menhir.mly"
28245 (Ast0.NotIdCstrt re)
28246 # 28247 "parser_cocci_menhir.ml"
28247 in
28248 _menhir_env.MenhirLib.EngineTypes.stack <- {
28249 MenhirLib.EngineTypes.state = _menhir_s;
28250 MenhirLib.EngineTypes.semv = Obj.repr _v;
28251 MenhirLib.EngineTypes.startp = _startpos;
28252 MenhirLib.EngineTypes.endp = _endpos;
28253 MenhirLib.EngineTypes.next = _menhir_stack;
28254 });
28255 (fun _menhir_env ->
28256 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28257 let {
28258 MenhirLib.EngineTypes.state = _menhir_s;
28259 MenhirLib.EngineTypes.semv = ne;
28260 MenhirLib.EngineTypes.startp = _startpos_ne_;
28261 MenhirLib.EngineTypes.endp = _endpos_ne_;
28262 MenhirLib.EngineTypes.next = _menhir_stack;
28263 } = _menhir_stack in
28264 let ne : 'tv_not_eqe = Obj.magic ne in
28265 let _startpos = _startpos_ne_ in
28266 let _endpos = _endpos_ne_ in
28267 let _v : 'tv_re_or_not_eqe_or_sub =
28268 # 1568 "parser_cocci_menhir.mly"
28269 (Ast0.NotExpCstrt ne)
28270 # 28271 "parser_cocci_menhir.ml"
28271 in
28272 _menhir_env.MenhirLib.EngineTypes.stack <- {
28273 MenhirLib.EngineTypes.state = _menhir_s;
28274 MenhirLib.EngineTypes.semv = Obj.repr _v;
28275 MenhirLib.EngineTypes.startp = _startpos;
28276 MenhirLib.EngineTypes.endp = _endpos;
28277 MenhirLib.EngineTypes.next = _menhir_stack;
28278 });
28279 (fun _menhir_env ->
28280 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28281 let {
28282 MenhirLib.EngineTypes.state = _menhir_s;
28283 MenhirLib.EngineTypes.semv = s;
28284 MenhirLib.EngineTypes.startp = _startpos_s_;
28285 MenhirLib.EngineTypes.endp = _endpos_s_;
28286 MenhirLib.EngineTypes.next = _menhir_stack;
28287 } = _menhir_stack in
28288 let s : 'tv_sub = Obj.magic s in
28289 let _startpos = _startpos_s_ in
28290 let _endpos = _endpos_s_ in
28291 let _v : 'tv_re_or_not_eqe_or_sub =
28292 # 1569 "parser_cocci_menhir.mly"
28293 (Ast0.SubExpCstrt s)
28294 # 28295 "parser_cocci_menhir.ml"
28295 in
28296 _menhir_env.MenhirLib.EngineTypes.stack <- {
28297 MenhirLib.EngineTypes.state = _menhir_s;
28298 MenhirLib.EngineTypes.semv = Obj.repr _v;
28299 MenhirLib.EngineTypes.startp = _startpos;
28300 MenhirLib.EngineTypes.endp = _endpos;
28301 MenhirLib.EngineTypes.next = _menhir_stack;
28302 });
28303 (fun _menhir_env ->
28304 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28305 let {
28306 MenhirLib.EngineTypes.state = _menhir_s;
28307 MenhirLib.EngineTypes.semv = re;
28308 MenhirLib.EngineTypes.startp = _startpos_re_;
28309 MenhirLib.EngineTypes.endp = _endpos_re_;
28310 MenhirLib.EngineTypes.next = _menhir_stack;
28311 } = _menhir_stack in
28312 let re : 'tv_regexp_eqid = Obj.magic re in
28313 let _startpos = _startpos_re_ in
28314 let _endpos = _endpos_re_ in
28315 let _v : 'tv_re_or_not_eqid =
28316 # 1513 "parser_cocci_menhir.mly"
28317 (Ast.IdRegExpConstraint re)
28318 # 28319 "parser_cocci_menhir.ml"
28319 in
28320 _menhir_env.MenhirLib.EngineTypes.stack <- {
28321 MenhirLib.EngineTypes.state = _menhir_s;
28322 MenhirLib.EngineTypes.semv = Obj.repr _v;
28323 MenhirLib.EngineTypes.startp = _startpos;
28324 MenhirLib.EngineTypes.endp = _endpos;
28325 MenhirLib.EngineTypes.next = _menhir_stack;
28326 });
28327 (fun _menhir_env ->
28328 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28329 let {
28330 MenhirLib.EngineTypes.state = _menhir_s;
28331 MenhirLib.EngineTypes.semv = ne;
28332 MenhirLib.EngineTypes.startp = _startpos_ne_;
28333 MenhirLib.EngineTypes.endp = _endpos_ne_;
28334 MenhirLib.EngineTypes.next = _menhir_stack;
28335 } = _menhir_stack in
28336 let ne : 'tv_not_eqid = Obj.magic ne in
28337 let _startpos = _startpos_ne_ in
28338 let _endpos = _endpos_ne_ in
28339 let _v : 'tv_re_or_not_eqid =
28340 # 1514 "parser_cocci_menhir.mly"
28341 (ne)
28342 # 28343 "parser_cocci_menhir.ml"
28343 in
28344 _menhir_env.MenhirLib.EngineTypes.stack <- {
28345 MenhirLib.EngineTypes.state = _menhir_s;
28346 MenhirLib.EngineTypes.semv = Obj.repr _v;
28347 MenhirLib.EngineTypes.startp = _startpos;
28348 MenhirLib.EngineTypes.endp = _endpos;
28349 MenhirLib.EngineTypes.next = _menhir_stack;
28350 });
28351 (fun _menhir_env ->
28352 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28353 let {
28354 MenhirLib.EngineTypes.semv = re;
28355 MenhirLib.EngineTypes.startp = _startpos_re_;
28356 MenhirLib.EngineTypes.endp = _endpos_re_;
28357 MenhirLib.EngineTypes.next = {
28358 MenhirLib.EngineTypes.state = _menhir_s;
28359 MenhirLib.EngineTypes.startp = _startpos__1_;
28360 MenhirLib.EngineTypes.endp = _endpos__1_;
28361 MenhirLib.EngineTypes.next = _menhir_stack;
28362 };
28363 } = _menhir_stack in
28364 let re : (
28365 # 90 "parser_cocci_menhir.mly"
28366 (string * Data.clt)
28367 # 28368 "parser_cocci_menhir.ml"
28368 ) = Obj.magic re in
28369 let _startpos = _startpos__1_ in
28370 let _endpos = _endpos_re_ in
28371 let _v : 'tv_regexp_eqid =
28372 # 1518 "parser_cocci_menhir.mly"
28373 ( (if !Data.in_iso
28374 then failwith "constraints not allowed in iso file");
28375 (if !Data.in_generating
28376 then failwith "constraints not allowed in a generated rule file");
28377 let (s,_) = re in Ast.IdRegExp (s,Str.regexp s)
28378 )
28379 # 28380 "parser_cocci_menhir.ml"
28380 in
28381 _menhir_env.MenhirLib.EngineTypes.stack <- {
28382 MenhirLib.EngineTypes.state = _menhir_s;
28383 MenhirLib.EngineTypes.semv = Obj.repr _v;
28384 MenhirLib.EngineTypes.startp = _startpos;
28385 MenhirLib.EngineTypes.endp = _endpos;
28386 MenhirLib.EngineTypes.next = _menhir_stack;
28387 });
28388 (fun _menhir_env ->
28389 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28390 let {
28391 MenhirLib.EngineTypes.semv = re;
28392 MenhirLib.EngineTypes.startp = _startpos_re_;
28393 MenhirLib.EngineTypes.endp = _endpos_re_;
28394 MenhirLib.EngineTypes.next = {
28395 MenhirLib.EngineTypes.state = _menhir_s;
28396 MenhirLib.EngineTypes.startp = _startpos__1_;
28397 MenhirLib.EngineTypes.endp = _endpos__1_;
28398 MenhirLib.EngineTypes.next = _menhir_stack;
28399 };
28400 } = _menhir_stack in
28401 let re : (
28402 # 90 "parser_cocci_menhir.mly"
28403 (string * Data.clt)
28404 # 28405 "parser_cocci_menhir.ml"
28405 ) = Obj.magic re in
28406 let _startpos = _startpos__1_ in
28407 let _endpos = _endpos_re_ in
28408 let _v : 'tv_regexp_eqid =
28409 # 1525 "parser_cocci_menhir.mly"
28410 ( (if !Data.in_iso
28411 then failwith "constraints not allowed in iso file");
28412 (if !Data.in_generating
28413 then failwith "constraints not allowed in a generated rule file");
28414 let (s,_) = re in Ast.IdNotRegExp (s,Str.regexp s)
28415 )
28416 # 28417 "parser_cocci_menhir.ml"
28417 in
28418 _menhir_env.MenhirLib.EngineTypes.stack <- {
28419 MenhirLib.EngineTypes.state = _menhir_s;
28420 MenhirLib.EngineTypes.semv = Obj.repr _v;
28421 MenhirLib.EngineTypes.startp = _startpos;
28422 MenhirLib.EngineTypes.endp = _endpos;
28423 MenhirLib.EngineTypes.next = _menhir_stack;
28424 });
28425 (fun _menhir_env ->
28426 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28427 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
28428 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
28429 let _endpos = _startpos in
28430 let _v : (
28431 # 134 "parser_cocci_menhir.mly"
28432 (unit)
28433 # 28434 "parser_cocci_menhir.ml"
28434 ) =
28435 # 175 "parser_cocci_menhir.mly"
28436 ( )
28437 # 28438 "parser_cocci_menhir.ml"
28438 in
28439 _menhir_env.MenhirLib.EngineTypes.stack <- {
28440 MenhirLib.EngineTypes.state = _menhir_s;
28441 MenhirLib.EngineTypes.semv = Obj.repr _v;
28442 MenhirLib.EngineTypes.startp = _startpos;
28443 MenhirLib.EngineTypes.endp = _endpos;
28444 MenhirLib.EngineTypes.next = _menhir_stack;
28445 });
28446 (fun _menhir_env ->
28447 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28448 let {
28449 MenhirLib.EngineTypes.state = _menhir_s;
28450 MenhirLib.EngineTypes.semv = _1;
28451 MenhirLib.EngineTypes.startp = _startpos__1_;
28452 MenhirLib.EngineTypes.endp = _endpos__1_;
28453 MenhirLib.EngineTypes.next = _menhir_stack;
28454 } = _menhir_stack in
28455 let _1 : 'tv_one_decl_var = Obj.magic _1 in
28456 let _startpos = _startpos__1_ in
28457 let _endpos = _endpos__1_ in
28458 let _v : 'tv_rule_elem_statement =
28459 # 937 "parser_cocci_menhir.mly"
28460 ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) )
28461 # 28462 "parser_cocci_menhir.ml"
28462 in
28463 _menhir_env.MenhirLib.EngineTypes.stack <- {
28464 MenhirLib.EngineTypes.state = _menhir_s;
28465 MenhirLib.EngineTypes.semv = Obj.repr _v;
28466 MenhirLib.EngineTypes.startp = _startpos;
28467 MenhirLib.EngineTypes.endp = _endpos;
28468 MenhirLib.EngineTypes.next = _menhir_stack;
28469 });
28470 (fun _menhir_env ->
28471 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28472 let {
28473 MenhirLib.EngineTypes.semv = _2;
28474 MenhirLib.EngineTypes.startp = _startpos__2_;
28475 MenhirLib.EngineTypes.endp = _endpos__2_;
28476 MenhirLib.EngineTypes.next = {
28477 MenhirLib.EngineTypes.state = _menhir_s;
28478 MenhirLib.EngineTypes.semv = _1;
28479 MenhirLib.EngineTypes.startp = _startpos__1_;
28480 MenhirLib.EngineTypes.endp = _endpos__1_;
28481 MenhirLib.EngineTypes.next = _menhir_stack;
28482 };
28483 } = _menhir_stack in
28484 let _2 : (
28485 # 110 "parser_cocci_menhir.mly"
28486 (Data.clt)
28487 # 28488 "parser_cocci_menhir.ml"
28488 ) = Obj.magic _2 in
28489 let _1 : 'tv_expr = Obj.magic _1 in
28490 let _startpos = _startpos__1_ in
28491 let _endpos = _endpos__2_ in
28492 let _v : 'tv_rule_elem_statement =
28493 # 938 "parser_cocci_menhir.mly"
28494 ( P.exp_stm _1 _2 )
28495 # 28496 "parser_cocci_menhir.ml"
28496 in
28497 _menhir_env.MenhirLib.EngineTypes.stack <- {
28498 MenhirLib.EngineTypes.state = _menhir_s;
28499 MenhirLib.EngineTypes.semv = Obj.repr _v;
28500 MenhirLib.EngineTypes.startp = _startpos;
28501 MenhirLib.EngineTypes.endp = _endpos;
28502 MenhirLib.EngineTypes.next = _menhir_stack;
28503 });
28504 (fun _menhir_env ->
28505 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28506 let {
28507 MenhirLib.EngineTypes.semv = _3;
28508 MenhirLib.EngineTypes.startp = _startpos__3_;
28509 MenhirLib.EngineTypes.endp = _endpos__3_;
28510 MenhirLib.EngineTypes.next = {
28511 MenhirLib.EngineTypes.semv = _2;
28512 MenhirLib.EngineTypes.startp = _startpos__2_;
28513 MenhirLib.EngineTypes.endp = _endpos__2_;
28514 MenhirLib.EngineTypes.next = {
28515 MenhirLib.EngineTypes.state = _menhir_s;
28516 MenhirLib.EngineTypes.semv = _1;
28517 MenhirLib.EngineTypes.startp = _startpos__1_;
28518 MenhirLib.EngineTypes.endp = _endpos__1_;
28519 MenhirLib.EngineTypes.next = _menhir_stack;
28520 };
28521 };
28522 } = _menhir_stack in
28523 let _3 : (
28524 # 110 "parser_cocci_menhir.mly"
28525 (Data.clt)
28526 # 28527 "parser_cocci_menhir.ml"
28527 ) = Obj.magic _3 in
28528 let _2 : 'tv_eexpr = Obj.magic _2 in
28529 let _1 : (
28530 # 59 "parser_cocci_menhir.mly"
28531 (Data.clt)
28532 # 28533 "parser_cocci_menhir.ml"
28533 ) = Obj.magic _1 in
28534 let _startpos = _startpos__1_ in
28535 let _endpos = _endpos__3_ in
28536 let _v : 'tv_rule_elem_statement =
28537 # 939 "parser_cocci_menhir.mly"
28538 ( P.ret_exp _1 _2 _3 )
28539 # 28540 "parser_cocci_menhir.ml"
28540 in
28541 _menhir_env.MenhirLib.EngineTypes.stack <- {
28542 MenhirLib.EngineTypes.state = _menhir_s;
28543 MenhirLib.EngineTypes.semv = Obj.repr _v;
28544 MenhirLib.EngineTypes.startp = _startpos;
28545 MenhirLib.EngineTypes.endp = _endpos;
28546 MenhirLib.EngineTypes.next = _menhir_stack;
28547 });
28548 (fun _menhir_env ->
28549 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28550 let {
28551 MenhirLib.EngineTypes.semv = _2;
28552 MenhirLib.EngineTypes.startp = _startpos__2_;
28553 MenhirLib.EngineTypes.endp = _endpos__2_;
28554 MenhirLib.EngineTypes.next = {
28555 MenhirLib.EngineTypes.state = _menhir_s;
28556 MenhirLib.EngineTypes.semv = _1;
28557 MenhirLib.EngineTypes.startp = _startpos__1_;
28558 MenhirLib.EngineTypes.endp = _endpos__1_;
28559 MenhirLib.EngineTypes.next = _menhir_stack;
28560 };
28561 } = _menhir_stack in
28562 let _2 : (
28563 # 110 "parser_cocci_menhir.mly"
28564 (Data.clt)
28565 # 28566 "parser_cocci_menhir.ml"
28566 ) = Obj.magic _2 in
28567 let _1 : (
28568 # 59 "parser_cocci_menhir.mly"
28569 (Data.clt)
28570 # 28571 "parser_cocci_menhir.ml"
28571 ) = Obj.magic _1 in
28572 let _startpos = _startpos__1_ in
28573 let _endpos = _endpos__2_ in
28574 let _v : 'tv_rule_elem_statement =
28575 # 940 "parser_cocci_menhir.mly"
28576 ( P.ret _1 _2 )
28577 # 28578 "parser_cocci_menhir.ml"
28578 in
28579 _menhir_env.MenhirLib.EngineTypes.stack <- {
28580 MenhirLib.EngineTypes.state = _menhir_s;
28581 MenhirLib.EngineTypes.semv = Obj.repr _v;
28582 MenhirLib.EngineTypes.startp = _startpos;
28583 MenhirLib.EngineTypes.endp = _endpos;
28584 MenhirLib.EngineTypes.next = _menhir_stack;
28585 });
28586 (fun _menhir_env ->
28587 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28588 let {
28589 MenhirLib.EngineTypes.semv = _2;
28590 MenhirLib.EngineTypes.startp = _startpos__2_;
28591 MenhirLib.EngineTypes.endp = _endpos__2_;
28592 MenhirLib.EngineTypes.next = {
28593 MenhirLib.EngineTypes.state = _menhir_s;
28594 MenhirLib.EngineTypes.semv = _1;
28595 MenhirLib.EngineTypes.startp = _startpos__1_;
28596 MenhirLib.EngineTypes.endp = _endpos__1_;
28597 MenhirLib.EngineTypes.next = _menhir_stack;
28598 };
28599 } = _menhir_stack in
28600 let _2 : (
28601 # 110 "parser_cocci_menhir.mly"
28602 (Data.clt)
28603 # 28604 "parser_cocci_menhir.ml"
28604 ) = Obj.magic _2 in
28605 let _1 : (
28606 # 60 "parser_cocci_menhir.mly"
28607 (Data.clt)
28608 # 28609 "parser_cocci_menhir.ml"
28609 ) = Obj.magic _1 in
28610 let _startpos = _startpos__1_ in
28611 let _endpos = _endpos__2_ in
28612 let _v : 'tv_rule_elem_statement =
28613 # 941 "parser_cocci_menhir.mly"
28614 ( P.break _1 _2 )
28615 # 28616 "parser_cocci_menhir.ml"
28616 in
28617 _menhir_env.MenhirLib.EngineTypes.stack <- {
28618 MenhirLib.EngineTypes.state = _menhir_s;
28619 MenhirLib.EngineTypes.semv = Obj.repr _v;
28620 MenhirLib.EngineTypes.startp = _startpos;
28621 MenhirLib.EngineTypes.endp = _endpos;
28622 MenhirLib.EngineTypes.next = _menhir_stack;
28623 });
28624 (fun _menhir_env ->
28625 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28626 let {
28627 MenhirLib.EngineTypes.semv = _2;
28628 MenhirLib.EngineTypes.startp = _startpos__2_;
28629 MenhirLib.EngineTypes.endp = _endpos__2_;
28630 MenhirLib.EngineTypes.next = {
28631 MenhirLib.EngineTypes.state = _menhir_s;
28632 MenhirLib.EngineTypes.semv = _1;
28633 MenhirLib.EngineTypes.startp = _startpos__1_;
28634 MenhirLib.EngineTypes.endp = _endpos__1_;
28635 MenhirLib.EngineTypes.next = _menhir_stack;
28636 };
28637 } = _menhir_stack in
28638 let _2 : (
28639 # 110 "parser_cocci_menhir.mly"
28640 (Data.clt)
28641 # 28642 "parser_cocci_menhir.ml"
28642 ) = Obj.magic _2 in
28643 let _1 : (
28644 # 60 "parser_cocci_menhir.mly"
28645 (Data.clt)
28646 # 28647 "parser_cocci_menhir.ml"
28647 ) = Obj.magic _1 in
28648 let _startpos = _startpos__1_ in
28649 let _endpos = _endpos__2_ in
28650 let _v : 'tv_rule_elem_statement =
28651 # 942 "parser_cocci_menhir.mly"
28652 ( P.cont _1 _2 )
28653 # 28654 "parser_cocci_menhir.ml"
28654 in
28655 _menhir_env.MenhirLib.EngineTypes.stack <- {
28656 MenhirLib.EngineTypes.state = _menhir_s;
28657 MenhirLib.EngineTypes.semv = Obj.repr _v;
28658 MenhirLib.EngineTypes.startp = _startpos;
28659 MenhirLib.EngineTypes.endp = _endpos;
28660 MenhirLib.EngineTypes.next = _menhir_stack;
28661 });
28662 (fun _menhir_env ->
28663 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28664 let {
28665 MenhirLib.EngineTypes.semv = _3;
28666 MenhirLib.EngineTypes.startp = _startpos__3_;
28667 MenhirLib.EngineTypes.endp = _endpos__3_;
28668 MenhirLib.EngineTypes.next = {
28669 MenhirLib.EngineTypes.semv = _2;
28670 MenhirLib.EngineTypes.startp = _startpos__2_;
28671 MenhirLib.EngineTypes.endp = _endpos__2_;
28672 MenhirLib.EngineTypes.next = {
28673 MenhirLib.EngineTypes.state = _menhir_s;
28674 MenhirLib.EngineTypes.semv = _1;
28675 MenhirLib.EngineTypes.startp = _startpos__1_;
28676 MenhirLib.EngineTypes.endp = _endpos__1_;
28677 MenhirLib.EngineTypes.next = _menhir_stack;
28678 };
28679 };
28680 } = _menhir_stack in
28681 let _3 : (
28682 # 80 "parser_cocci_menhir.mly"
28683 (Data.clt)
28684 # 28685 "parser_cocci_menhir.ml"
28685 ) = Obj.magic _3 in
28686 let _2 : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = Obj.magic _2 in
28687 let _1 : (
28688 # 79 "parser_cocci_menhir.mly"
28689 (Data.clt)
28690 # 28691 "parser_cocci_menhir.ml"
28691 ) = Obj.magic _1 in
28692 let _startpos = _startpos__1_ in
28693 let _endpos = _endpos__3_ in
28694 let _v : 'tv_rule_elem_statement =
28695 # 944 "parser_cocci_menhir.mly"
28696 ( let (mids,code) = _2 in
28697 Ast0.wrap
28698 (Ast0.Disj(P.clt2mcode "(" _1,
28699 List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
28700 mids, P.clt2mcode ")" _3)) )
28701 # 28702 "parser_cocci_menhir.ml"
28702 in
28703 _menhir_env.MenhirLib.EngineTypes.stack <- {
28704 MenhirLib.EngineTypes.state = _menhir_s;
28705 MenhirLib.EngineTypes.semv = Obj.repr _v;
28706 MenhirLib.EngineTypes.startp = _startpos;
28707 MenhirLib.EngineTypes.endp = _endpos;
28708 MenhirLib.EngineTypes.next = _menhir_stack;
28709 });
28710 (fun _menhir_env ->
28711 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28712 let {
28713 MenhirLib.EngineTypes.startp = _startpos__7_;
28714 MenhirLib.EngineTypes.endp = _endpos__7_;
28715 MenhirLib.EngineTypes.next = {
28716 MenhirLib.EngineTypes.semv = ee;
28717 MenhirLib.EngineTypes.startp = _startpos_ee_;
28718 MenhirLib.EngineTypes.endp = _endpos_ee_;
28719 MenhirLib.EngineTypes.next = {
28720 MenhirLib.EngineTypes.semv = e;
28721 MenhirLib.EngineTypes.startp = _startpos_e_;
28722 MenhirLib.EngineTypes.endp = _endpos_e_;
28723 MenhirLib.EngineTypes.next = {
28724 MenhirLib.EngineTypes.semv = a;
28725 MenhirLib.EngineTypes.startp = _startpos_a_;
28726 MenhirLib.EngineTypes.endp = _endpos_a_;
28727 MenhirLib.EngineTypes.next = {
28728 MenhirLib.EngineTypes.semv = i;
28729 MenhirLib.EngineTypes.startp = _startpos_i_;
28730 MenhirLib.EngineTypes.endp = _endpos_i_;
28731 MenhirLib.EngineTypes.next = {
28732 MenhirLib.EngineTypes.semv = d;
28733 MenhirLib.EngineTypes.startp = _startpos_d_;
28734 MenhirLib.EngineTypes.endp = _endpos_d_;
28735 MenhirLib.EngineTypes.next = {
28736 MenhirLib.EngineTypes.state = _menhir_s;
28737 MenhirLib.EngineTypes.startp = _startpos__1_;
28738 MenhirLib.EngineTypes.endp = _endpos__1_;
28739 MenhirLib.EngineTypes.next = _menhir_stack;
28740 };
28741 };
28742 };
28743 };
28744 };
28745 };
28746 } = _menhir_stack in
28747 let ee : 'tv_is_expression = Obj.magic ee in
28748 let e : 'tv_exists = Obj.magic e in
28749 let a : 'tv_loption_disable_ = Obj.magic a in
28750 let i : 'tv_loption_choose_iso_ = Obj.magic i in
28751 let d : 'tv_depends = Obj.magic d in
28752 let _startpos = _startpos__1_ in
28753 let _endpos = _endpos__7_ in
28754 let _v : (
28755 # 156 "parser_cocci_menhir.mly"
28756 (Ast_cocci.rulename)
28757 # 28758 "parser_cocci_menhir.ml"
28758 ) = let nm =
28759
28760 # 39 "standard.mly"
28761 ( None )
28762 # 28763 "parser_cocci_menhir.ml"
28763
28764 in
28765
28766 # 205 "parser_cocci_menhir.mly"
28767 ( P.make_cocci_rule_name_result nm d i a e ee )
28768 # 28769 "parser_cocci_menhir.ml"
28769 in
28770 _menhir_env.MenhirLib.EngineTypes.stack <- {
28771 MenhirLib.EngineTypes.state = _menhir_s;
28772 MenhirLib.EngineTypes.semv = Obj.repr _v;
28773 MenhirLib.EngineTypes.startp = _startpos;
28774 MenhirLib.EngineTypes.endp = _endpos;
28775 MenhirLib.EngineTypes.next = _menhir_stack;
28776 });
28777 (fun _menhir_env ->
28778 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28779 let {
28780 MenhirLib.EngineTypes.startp = _startpos__8_;
28781 MenhirLib.EngineTypes.endp = _endpos__8_;
28782 MenhirLib.EngineTypes.next = {
28783 MenhirLib.EngineTypes.semv = ee;
28784 MenhirLib.EngineTypes.startp = _startpos_ee_;
28785 MenhirLib.EngineTypes.endp = _endpos_ee_;
28786 MenhirLib.EngineTypes.next = {
28787 MenhirLib.EngineTypes.semv = e;
28788 MenhirLib.EngineTypes.startp = _startpos_e_;
28789 MenhirLib.EngineTypes.endp = _endpos_e_;
28790 MenhirLib.EngineTypes.next = {
28791 MenhirLib.EngineTypes.semv = a;
28792 MenhirLib.EngineTypes.startp = _startpos_a_;
28793 MenhirLib.EngineTypes.endp = _endpos_a_;
28794 MenhirLib.EngineTypes.next = {
28795 MenhirLib.EngineTypes.semv = i;
28796 MenhirLib.EngineTypes.startp = _startpos_i_;
28797 MenhirLib.EngineTypes.endp = _endpos_i_;
28798 MenhirLib.EngineTypes.next = {
28799 MenhirLib.EngineTypes.semv = d;
28800 MenhirLib.EngineTypes.startp = _startpos_d_;
28801 MenhirLib.EngineTypes.endp = _endpos_d_;
28802 MenhirLib.EngineTypes.next = {
28803 MenhirLib.EngineTypes.startp = _startpos__2_;
28804 MenhirLib.EngineTypes.endp = _endpos__2_;
28805 MenhirLib.EngineTypes.next = {
28806 MenhirLib.EngineTypes.state = _menhir_s;
28807 MenhirLib.EngineTypes.semv = x0;
28808 MenhirLib.EngineTypes.startp = _startpos_x0_;
28809 MenhirLib.EngineTypes.endp = _endpos_x0_;
28810 MenhirLib.EngineTypes.next = _menhir_stack;
28811 };
28812 };
28813 };
28814 };
28815 };
28816 };
28817 };
28818 } = _menhir_stack in
28819 let ee : 'tv_is_expression = Obj.magic ee in
28820 let e : 'tv_exists = Obj.magic e in
28821 let a : 'tv_loption_disable_ = Obj.magic a in
28822 let i : 'tv_loption_choose_iso_ = Obj.magic i in
28823 let d : 'tv_depends = Obj.magic d in
28824 let x0 : 'tv_pure_ident = Obj.magic x0 in
28825 let _startpos = _startpos_x0_ in
28826 let _endpos = _endpos__8_ in
28827 let _v : (
28828 # 156 "parser_cocci_menhir.mly"
28829 (Ast_cocci.rulename)
28830 # 28831 "parser_cocci_menhir.ml"
28831 ) = let nm =
28832 let x = x0 in
28833
28834 # 41 "standard.mly"
28835 ( Some x )
28836 # 28837 "parser_cocci_menhir.ml"
28837
28838 in
28839
28840 # 205 "parser_cocci_menhir.mly"
28841 ( P.make_cocci_rule_name_result nm d i a e ee )
28842 # 28843 "parser_cocci_menhir.ml"
28843 in
28844 _menhir_env.MenhirLib.EngineTypes.stack <- {
28845 MenhirLib.EngineTypes.state = _menhir_s;
28846 MenhirLib.EngineTypes.semv = Obj.repr _v;
28847 MenhirLib.EngineTypes.startp = _startpos;
28848 MenhirLib.EngineTypes.endp = _endpos;
28849 MenhirLib.EngineTypes.next = _menhir_stack;
28850 });
28851 (fun _menhir_env ->
28852 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28853 let {
28854 MenhirLib.EngineTypes.startp = _startpos__8_;
28855 MenhirLib.EngineTypes.endp = _endpos__8_;
28856 MenhirLib.EngineTypes.next = {
28857 MenhirLib.EngineTypes.semv = ee;
28858 MenhirLib.EngineTypes.startp = _startpos_ee_;
28859 MenhirLib.EngineTypes.endp = _endpos_ee_;
28860 MenhirLib.EngineTypes.next = {
28861 MenhirLib.EngineTypes.semv = e;
28862 MenhirLib.EngineTypes.startp = _startpos_e_;
28863 MenhirLib.EngineTypes.endp = _endpos_e_;
28864 MenhirLib.EngineTypes.next = {
28865 MenhirLib.EngineTypes.semv = a;
28866 MenhirLib.EngineTypes.startp = _startpos_a_;
28867 MenhirLib.EngineTypes.endp = _endpos_a_;
28868 MenhirLib.EngineTypes.next = {
28869 MenhirLib.EngineTypes.semv = i;
28870 MenhirLib.EngineTypes.startp = _startpos_i_;
28871 MenhirLib.EngineTypes.endp = _endpos_i_;
28872 MenhirLib.EngineTypes.next = {
28873 MenhirLib.EngineTypes.semv = d;
28874 MenhirLib.EngineTypes.startp = _startpos_d_;
28875 MenhirLib.EngineTypes.endp = _endpos_d_;
28876 MenhirLib.EngineTypes.next = {
28877 MenhirLib.EngineTypes.startp = _startpos__2_;
28878 MenhirLib.EngineTypes.endp = _endpos__2_;
28879 MenhirLib.EngineTypes.next = {
28880 MenhirLib.EngineTypes.state = _menhir_s;
28881 MenhirLib.EngineTypes.startp = _startpos__1_;
28882 MenhirLib.EngineTypes.endp = _endpos__1_;
28883 MenhirLib.EngineTypes.next = _menhir_stack;
28884 };
28885 };
28886 };
28887 };
28888 };
28889 };
28890 };
28891 } = _menhir_stack in
28892 let ee : 'tv_is_expression = Obj.magic ee in
28893 let e : 'tv_exists = Obj.magic e in
28894 let a : 'tv_loption_disable_ = Obj.magic a in
28895 let i : 'tv_loption_choose_iso_ = Obj.magic i in
28896 let d : 'tv_depends = Obj.magic d in
28897 let _startpos = _startpos__1_ in
28898 let _endpos = _endpos__8_ in
28899 let _v : (
28900 # 156 "parser_cocci_menhir.mly"
28901 (Ast_cocci.rulename)
28902 # 28903 "parser_cocci_menhir.ml"
28903 ) =
28904 # 210 "parser_cocci_menhir.mly"
28905 ( P.make_generated_rule_name_result None d i a e ee )
28906 # 28907 "parser_cocci_menhir.ml"
28907 in
28908 _menhir_env.MenhirLib.EngineTypes.stack <- {
28909 MenhirLib.EngineTypes.state = _menhir_s;
28910 MenhirLib.EngineTypes.semv = Obj.repr _v;
28911 MenhirLib.EngineTypes.startp = _startpos;
28912 MenhirLib.EngineTypes.endp = _endpos;
28913 MenhirLib.EngineTypes.next = _menhir_stack;
28914 });
28915 (fun _menhir_env ->
28916 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28917 let {
28918 MenhirLib.EngineTypes.startp = _startpos__5_;
28919 MenhirLib.EngineTypes.endp = _endpos__5_;
28920 MenhirLib.EngineTypes.next = {
28921 MenhirLib.EngineTypes.semv = d;
28922 MenhirLib.EngineTypes.startp = _startpos_d_;
28923 MenhirLib.EngineTypes.endp = _endpos_d_;
28924 MenhirLib.EngineTypes.next = {
28925 MenhirLib.EngineTypes.semv = lang;
28926 MenhirLib.EngineTypes.startp = _startpos_lang_;
28927 MenhirLib.EngineTypes.endp = _endpos_lang_;
28928 MenhirLib.EngineTypes.next = {
28929 MenhirLib.EngineTypes.startp = _startpos__2_;
28930 MenhirLib.EngineTypes.endp = _endpos__2_;
28931 MenhirLib.EngineTypes.next = {
28932 MenhirLib.EngineTypes.state = _menhir_s;
28933 MenhirLib.EngineTypes.startp = _startpos__1_;
28934 MenhirLib.EngineTypes.endp = _endpos__1_;
28935 MenhirLib.EngineTypes.next = _menhir_stack;
28936 };
28937 };
28938 };
28939 };
28940 } = _menhir_stack in
28941 let d : 'tv_depends = Obj.magic d in
28942 let lang : 'tv_pure_ident = Obj.magic lang in
28943 let _startpos = _startpos__1_ in
28944 let _endpos = _endpos__5_ in
28945 let _v : (
28946 # 156 "parser_cocci_menhir.mly"
28947 (Ast_cocci.rulename)
28948 # 28949 "parser_cocci_menhir.ml"
28949 ) =
28950 # 212 "parser_cocci_menhir.mly"
28951 ( P.make_script_rule_name_result lang d )
28952 # 28953 "parser_cocci_menhir.ml"
28953 in
28954 _menhir_env.MenhirLib.EngineTypes.stack <- {
28955 MenhirLib.EngineTypes.state = _menhir_s;
28956 MenhirLib.EngineTypes.semv = Obj.repr _v;
28957 MenhirLib.EngineTypes.startp = _startpos;
28958 MenhirLib.EngineTypes.endp = _endpos;
28959 MenhirLib.EngineTypes.next = _menhir_stack;
28960 });
28961 (fun _menhir_env ->
28962 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28963 let {
28964 MenhirLib.EngineTypes.startp = _startpos__5_;
28965 MenhirLib.EngineTypes.endp = _endpos__5_;
28966 MenhirLib.EngineTypes.next = {
28967 MenhirLib.EngineTypes.semv = d;
28968 MenhirLib.EngineTypes.startp = _startpos_d_;
28969 MenhirLib.EngineTypes.endp = _endpos_d_;
28970 MenhirLib.EngineTypes.next = {
28971 MenhirLib.EngineTypes.semv = lang;
28972 MenhirLib.EngineTypes.startp = _startpos_lang_;
28973 MenhirLib.EngineTypes.endp = _endpos_lang_;
28974 MenhirLib.EngineTypes.next = {
28975 MenhirLib.EngineTypes.startp = _startpos__2_;
28976 MenhirLib.EngineTypes.endp = _endpos__2_;
28977 MenhirLib.EngineTypes.next = {
28978 MenhirLib.EngineTypes.state = _menhir_s;
28979 MenhirLib.EngineTypes.startp = _startpos__1_;
28980 MenhirLib.EngineTypes.endp = _endpos__1_;
28981 MenhirLib.EngineTypes.next = _menhir_stack;
28982 };
28983 };
28984 };
28985 };
28986 } = _menhir_stack in
28987 let d : 'tv_depends = Obj.magic d in
28988 let lang : 'tv_pure_ident = Obj.magic lang in
28989 let _startpos = _startpos__1_ in
28990 let _endpos = _endpos__5_ in
28991 let _v : (
28992 # 156 "parser_cocci_menhir.mly"
28993 (Ast_cocci.rulename)
28994 # 28995 "parser_cocci_menhir.ml"
28995 ) =
28996 # 214 "parser_cocci_menhir.mly"
28997 ( P.make_initial_script_rule_name_result lang d )
28998 # 28999 "parser_cocci_menhir.ml"
28999 in
29000 _menhir_env.MenhirLib.EngineTypes.stack <- {
29001 MenhirLib.EngineTypes.state = _menhir_s;
29002 MenhirLib.EngineTypes.semv = Obj.repr _v;
29003 MenhirLib.EngineTypes.startp = _startpos;
29004 MenhirLib.EngineTypes.endp = _endpos;
29005 MenhirLib.EngineTypes.next = _menhir_stack;
29006 });
29007 (fun _menhir_env ->
29008 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29009 let {
29010 MenhirLib.EngineTypes.startp = _startpos__5_;
29011 MenhirLib.EngineTypes.endp = _endpos__5_;
29012 MenhirLib.EngineTypes.next = {
29013 MenhirLib.EngineTypes.semv = d;
29014 MenhirLib.EngineTypes.startp = _startpos_d_;
29015 MenhirLib.EngineTypes.endp = _endpos_d_;
29016 MenhirLib.EngineTypes.next = {
29017 MenhirLib.EngineTypes.semv = lang;
29018 MenhirLib.EngineTypes.startp = _startpos_lang_;
29019 MenhirLib.EngineTypes.endp = _endpos_lang_;
29020 MenhirLib.EngineTypes.next = {
29021 MenhirLib.EngineTypes.startp = _startpos__2_;
29022 MenhirLib.EngineTypes.endp = _endpos__2_;
29023 MenhirLib.EngineTypes.next = {
29024 MenhirLib.EngineTypes.state = _menhir_s;
29025 MenhirLib.EngineTypes.startp = _startpos__1_;
29026 MenhirLib.EngineTypes.endp = _endpos__1_;
29027 MenhirLib.EngineTypes.next = _menhir_stack;
29028 };
29029 };
29030 };
29031 };
29032 } = _menhir_stack in
29033 let d : 'tv_depends = Obj.magic d in
29034 let lang : 'tv_pure_ident = Obj.magic lang in
29035 let _startpos = _startpos__1_ in
29036 let _endpos = _endpos__5_ in
29037 let _v : (
29038 # 156 "parser_cocci_menhir.mly"
29039 (Ast_cocci.rulename)
29040 # 29041 "parser_cocci_menhir.ml"
29041 ) =
29042 # 216 "parser_cocci_menhir.mly"
29043 ( P.make_final_script_rule_name_result lang d )
29044 # 29045 "parser_cocci_menhir.ml"
29045 in
29046 _menhir_env.MenhirLib.EngineTypes.stack <- {
29047 MenhirLib.EngineTypes.state = _menhir_s;
29048 MenhirLib.EngineTypes.semv = Obj.repr _v;
29049 MenhirLib.EngineTypes.startp = _startpos;
29050 MenhirLib.EngineTypes.endp = _endpos;
29051 MenhirLib.EngineTypes.next = _menhir_stack;
29052 });
29053 (fun _menhir_env ->
29054 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29055 let {
29056 MenhirLib.EngineTypes.startp = _startpos__6_;
29057 MenhirLib.EngineTypes.endp = _endpos__6_;
29058 MenhirLib.EngineTypes.next = {
29059 MenhirLib.EngineTypes.semv = cocci;
29060 MenhirLib.EngineTypes.startp = _startpos_cocci_;
29061 MenhirLib.EngineTypes.endp = _endpos_cocci_;
29062 MenhirLib.EngineTypes.next = {
29063 MenhirLib.EngineTypes.startp = _startpos__4_;
29064 MenhirLib.EngineTypes.endp = _endpos__4_;
29065 MenhirLib.EngineTypes.next = {
29066 MenhirLib.EngineTypes.semv = _3;
29067 MenhirLib.EngineTypes.startp = _startpos__3_;
29068 MenhirLib.EngineTypes.endp = _endpos__3_;
29069 MenhirLib.EngineTypes.next = {
29070 MenhirLib.EngineTypes.startp = _startpos__2_;
29071 MenhirLib.EngineTypes.endp = _endpos__2_;
29072 MenhirLib.EngineTypes.next = {
29073 MenhirLib.EngineTypes.state = _menhir_s;
29074 MenhirLib.EngineTypes.semv = py;
29075 MenhirLib.EngineTypes.startp = _startpos_py_;
29076 MenhirLib.EngineTypes.endp = _endpos_py_;
29077 MenhirLib.EngineTypes.next = _menhir_stack;
29078 };
29079 };
29080 };
29081 };
29082 };
29083 } = _menhir_stack in
29084 let cocci : 'tv_pure_ident = Obj.magic cocci in
29085 let _3 : (
29086 # 49 "parser_cocci_menhir.mly"
29087 (string)
29088 # 29089 "parser_cocci_menhir.ml"
29089 ) = Obj.magic _3 in
29090 let py : 'tv_pure_ident = Obj.magic py in
29091 let _startpos = _startpos_py_ in
29092 let _endpos = _endpos__6_ in
29093 let _v : (
29094 # 162 "parser_cocci_menhir.mly"
29095 (string * Ast_cocci.meta_name)
29096 # 29097 "parser_cocci_menhir.ml"
29097 ) =
29098 # 2048 "parser_cocci_menhir.mly"
29099 ( (P.id2name py, (_3, P.id2name cocci)) )
29100 # 29101 "parser_cocci_menhir.ml"
29101 in
29102 _menhir_env.MenhirLib.EngineTypes.stack <- {
29103 MenhirLib.EngineTypes.state = _menhir_s;
29104 MenhirLib.EngineTypes.semv = Obj.repr _v;
29105 MenhirLib.EngineTypes.startp = _startpos;
29106 MenhirLib.EngineTypes.endp = _endpos;
29107 MenhirLib.EngineTypes.next = _menhir_stack;
29108 });
29109 (fun _menhir_env ->
29110 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29111 let {
29112 MenhirLib.EngineTypes.startp = _startpos__6_;
29113 MenhirLib.EngineTypes.endp = _endpos__6_;
29114 MenhirLib.EngineTypes.next = {
29115 MenhirLib.EngineTypes.semv = cocci;
29116 MenhirLib.EngineTypes.startp = _startpos_cocci_;
29117 MenhirLib.EngineTypes.endp = _endpos_cocci_;
29118 MenhirLib.EngineTypes.next = {
29119 MenhirLib.EngineTypes.startp = _startpos__4_;
29120 MenhirLib.EngineTypes.endp = _endpos__4_;
29121 MenhirLib.EngineTypes.next = {
29122 MenhirLib.EngineTypes.startp = _startpos__3_;
29123 MenhirLib.EngineTypes.endp = _endpos__3_;
29124 MenhirLib.EngineTypes.next = {
29125 MenhirLib.EngineTypes.startp = _startpos__2_;
29126 MenhirLib.EngineTypes.endp = _endpos__2_;
29127 MenhirLib.EngineTypes.next = {
29128 MenhirLib.EngineTypes.state = _menhir_s;
29129 MenhirLib.EngineTypes.semv = py;
29130 MenhirLib.EngineTypes.startp = _startpos_py_;
29131 MenhirLib.EngineTypes.endp = _endpos_py_;
29132 MenhirLib.EngineTypes.next = _menhir_stack;
29133 };
29134 };
29135 };
29136 };
29137 };
29138 } = _menhir_stack in
29139 let cocci : 'tv_pure_ident = Obj.magic cocci in
29140 let py : 'tv_pure_ident = Obj.magic py in
29141 let _startpos = _startpos_py_ in
29142 let _endpos = _endpos__6_ in
29143 let _v : (
29144 # 162 "parser_cocci_menhir.mly"
29145 (string * Ast_cocci.meta_name)
29146 # 29147 "parser_cocci_menhir.ml"
29147 ) =
29148 # 2050 "parser_cocci_menhir.mly"
29149 ( (P.id2name py, ("virtual", P.id2name cocci)) )
29150 # 29151 "parser_cocci_menhir.ml"
29151 in
29152 _menhir_env.MenhirLib.EngineTypes.stack <- {
29153 MenhirLib.EngineTypes.state = _menhir_s;
29154 MenhirLib.EngineTypes.semv = Obj.repr _v;
29155 MenhirLib.EngineTypes.startp = _startpos;
29156 MenhirLib.EngineTypes.endp = _endpos;
29157 MenhirLib.EngineTypes.next = _menhir_stack;
29158 });
29159 (fun _menhir_env ->
29160 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29161 let {
29162 MenhirLib.EngineTypes.state = _menhir_s;
29163 MenhirLib.EngineTypes.semv = _1;
29164 MenhirLib.EngineTypes.startp = _startpos__1_;
29165 MenhirLib.EngineTypes.endp = _endpos__1_;
29166 MenhirLib.EngineTypes.next = _menhir_stack;
29167 } = _menhir_stack in
29168 let _1 : (
29169 # 90 "parser_cocci_menhir.mly"
29170 (string * Data.clt)
29171 # 29172 "parser_cocci_menhir.ml"
29172 ) = Obj.magic _1 in
29173 let _startpos = _startpos__1_ in
29174 let _endpos = _endpos__1_ in
29175 let _v : 'tv_seed_elem =
29176 # 1473 "parser_cocci_menhir.mly"
29177 ( let (x,_) = _1 in Ast.SeedString x )
29178 # 29179 "parser_cocci_menhir.ml"
29179 in
29180 _menhir_env.MenhirLib.EngineTypes.stack <- {
29181 MenhirLib.EngineTypes.state = _menhir_s;
29182 MenhirLib.EngineTypes.semv = Obj.repr _v;
29183 MenhirLib.EngineTypes.startp = _startpos;
29184 MenhirLib.EngineTypes.endp = _endpos;
29185 MenhirLib.EngineTypes.next = _menhir_stack;
29186 });
29187 (fun _menhir_env ->
29188 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29189 let {
29190 MenhirLib.EngineTypes.state = _menhir_s;
29191 MenhirLib.EngineTypes.semv = _1;
29192 MenhirLib.EngineTypes.startp = _startpos__1_;
29193 MenhirLib.EngineTypes.endp = _endpos__1_;
29194 MenhirLib.EngineTypes.next = _menhir_stack;
29195 } = _menhir_stack in
29196 let _1 : (
29197 # 64 "parser_cocci_menhir.mly"
29198 (Parse_aux.idinfo)
29199 # 29200 "parser_cocci_menhir.ml"
29200 ) = Obj.magic _1 in
29201 let _startpos = _startpos__1_ in
29202 let _endpos = _endpos__1_ in
29203 let _v : 'tv_seed_elem =
29204 # 1474 "parser_cocci_menhir.mly"
29205 ( let (x,_,_,_) = _1 in Ast.SeedId x )
29206 # 29207 "parser_cocci_menhir.ml"
29207 in
29208 _menhir_env.MenhirLib.EngineTypes.stack <- {
29209 MenhirLib.EngineTypes.state = _menhir_s;
29210 MenhirLib.EngineTypes.semv = Obj.repr _v;
29211 MenhirLib.EngineTypes.startp = _startpos;
29212 MenhirLib.EngineTypes.endp = _endpos;
29213 MenhirLib.EngineTypes.next = _menhir_stack;
29214 });
29215 (fun _menhir_env ->
29216 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29217 let {
29218 MenhirLib.EngineTypes.semv = _3;
29219 MenhirLib.EngineTypes.startp = _startpos__3_;
29220 MenhirLib.EngineTypes.endp = _endpos__3_;
29221 MenhirLib.EngineTypes.next = {
29222 MenhirLib.EngineTypes.startp = _startpos__2_;
29223 MenhirLib.EngineTypes.endp = _endpos__2_;
29224 MenhirLib.EngineTypes.next = {
29225 MenhirLib.EngineTypes.state = _menhir_s;
29226 MenhirLib.EngineTypes.semv = _1;
29227 MenhirLib.EngineTypes.startp = _startpos__1_;
29228 MenhirLib.EngineTypes.endp = _endpos__1_;
29229 MenhirLib.EngineTypes.next = _menhir_stack;
29230 };
29231 };
29232 } = _menhir_stack in
29233 let _3 : 'tv_pure_ident = Obj.magic _3 in
29234 let _1 : (
29235 # 49 "parser_cocci_menhir.mly"
29236 (string)
29237 # 29238 "parser_cocci_menhir.ml"
29238 ) = Obj.magic _1 in
29239 let _startpos = _startpos__1_ in
29240 let _endpos = _endpos__3_ in
29241 let _v : 'tv_seed_elem =
29242 # 1476 "parser_cocci_menhir.mly"
29243 ( let nm = (_1,P.id2name _3) in
29244 P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm));
29245 Ast.SeedId nm )
29246 # 29247 "parser_cocci_menhir.ml"
29247 in
29248 _menhir_env.MenhirLib.EngineTypes.stack <- {
29249 MenhirLib.EngineTypes.state = _menhir_s;
29250 MenhirLib.EngineTypes.semv = Obj.repr _v;
29251 MenhirLib.EngineTypes.startp = _startpos;
29252 MenhirLib.EngineTypes.endp = _endpos;
29253 MenhirLib.EngineTypes.next = _menhir_stack;
29254 });
29255 (fun _menhir_env ->
29256 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29257 let {
29258 MenhirLib.EngineTypes.state = _menhir_s;
29259 MenhirLib.EngineTypes.semv = x;
29260 MenhirLib.EngineTypes.startp = _startpos_x_;
29261 MenhirLib.EngineTypes.endp = _endpos_x_;
29262 MenhirLib.EngineTypes.next = _menhir_stack;
29263 } = _menhir_stack in
29264 let x : (
29265 # 90 "parser_cocci_menhir.mly"
29266 (string * Data.clt)
29267 # 29268 "parser_cocci_menhir.ml"
29268 ) = Obj.magic x in
29269 let _startpos = _startpos_x_ in
29270 let _endpos = _endpos_x_ in
29271 let _v : 'tv_separated_nonempty_list_TComma_TString_ =
29272 # 144 "standard.mly"
29273 ( [ x ] )
29274 # 29275 "parser_cocci_menhir.ml"
29275 in
29276 _menhir_env.MenhirLib.EngineTypes.stack <- {
29277 MenhirLib.EngineTypes.state = _menhir_s;
29278 MenhirLib.EngineTypes.semv = Obj.repr _v;
29279 MenhirLib.EngineTypes.startp = _startpos;
29280 MenhirLib.EngineTypes.endp = _endpos;
29281 MenhirLib.EngineTypes.next = _menhir_stack;
29282 });
29283 (fun _menhir_env ->
29284 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29285 let {
29286 MenhirLib.EngineTypes.semv = xs;
29287 MenhirLib.EngineTypes.startp = _startpos_xs_;
29288 MenhirLib.EngineTypes.endp = _endpos_xs_;
29289 MenhirLib.EngineTypes.next = {
29290 MenhirLib.EngineTypes.startp = _startpos__2_;
29291 MenhirLib.EngineTypes.endp = _endpos__2_;
29292 MenhirLib.EngineTypes.next = {
29293 MenhirLib.EngineTypes.state = _menhir_s;
29294 MenhirLib.EngineTypes.semv = x;
29295 MenhirLib.EngineTypes.startp = _startpos_x_;
29296 MenhirLib.EngineTypes.endp = _endpos_x_;
29297 MenhirLib.EngineTypes.next = _menhir_stack;
29298 };
29299 };
29300 } = _menhir_stack in
29301 let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in
29302 let x : (
29303 # 90 "parser_cocci_menhir.mly"
29304 (string * Data.clt)
29305 # 29306 "parser_cocci_menhir.ml"
29306 ) = Obj.magic x in
29307 let _startpos = _startpos_x_ in
29308 let _endpos = _endpos_xs_ in
29309 let _v : 'tv_separated_nonempty_list_TComma_TString_ =
29310 # 146 "standard.mly"
29311 ( x :: xs )
29312 # 29313 "parser_cocci_menhir.ml"
29313 in
29314 _menhir_env.MenhirLib.EngineTypes.stack <- {
29315 MenhirLib.EngineTypes.state = _menhir_s;
29316 MenhirLib.EngineTypes.semv = Obj.repr _v;
29317 MenhirLib.EngineTypes.startp = _startpos;
29318 MenhirLib.EngineTypes.endp = _endpos;
29319 MenhirLib.EngineTypes.next = _menhir_stack;
29320 });
29321 (fun _menhir_env ->
29322 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29323 let {
29324 MenhirLib.EngineTypes.state = _menhir_s;
29325 MenhirLib.EngineTypes.semv = x;
29326 MenhirLib.EngineTypes.startp = _startpos_x_;
29327 MenhirLib.EngineTypes.endp = _endpos_x_;
29328 MenhirLib.EngineTypes.next = _menhir_stack;
29329 } = _menhir_stack in
29330 let x : 'tv_any_strict = Obj.magic x in
29331 let _startpos = _startpos_x_ in
29332 let _endpos = _endpos_x_ in
29333 let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
29334 # 144 "standard.mly"
29335 ( [ x ] )
29336 # 29337 "parser_cocci_menhir.ml"
29337 in
29338 _menhir_env.MenhirLib.EngineTypes.stack <- {
29339 MenhirLib.EngineTypes.state = _menhir_s;
29340 MenhirLib.EngineTypes.semv = Obj.repr _v;
29341 MenhirLib.EngineTypes.startp = _startpos;
29342 MenhirLib.EngineTypes.endp = _endpos;
29343 MenhirLib.EngineTypes.next = _menhir_stack;
29344 });
29345 (fun _menhir_env ->
29346 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29347 let {
29348 MenhirLib.EngineTypes.semv = xs;
29349 MenhirLib.EngineTypes.startp = _startpos_xs_;
29350 MenhirLib.EngineTypes.endp = _endpos_xs_;
29351 MenhirLib.EngineTypes.next = {
29352 MenhirLib.EngineTypes.startp = _startpos__2_;
29353 MenhirLib.EngineTypes.endp = _endpos__2_;
29354 MenhirLib.EngineTypes.next = {
29355 MenhirLib.EngineTypes.state = _menhir_s;
29356 MenhirLib.EngineTypes.semv = x;
29357 MenhirLib.EngineTypes.startp = _startpos_x_;
29358 MenhirLib.EngineTypes.endp = _endpos_x_;
29359 MenhirLib.EngineTypes.next = _menhir_stack;
29360 };
29361 };
29362 } = _menhir_stack in
29363 let xs : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic xs in
29364 let x : 'tv_any_strict = Obj.magic x in
29365 let _startpos = _startpos_x_ in
29366 let _endpos = _endpos_xs_ in
29367 let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
29368 # 146 "standard.mly"
29369 ( x :: xs )
29370 # 29371 "parser_cocci_menhir.ml"
29371 in
29372 _menhir_env.MenhirLib.EngineTypes.stack <- {
29373 MenhirLib.EngineTypes.state = _menhir_s;
29374 MenhirLib.EngineTypes.semv = Obj.repr _v;
29375 MenhirLib.EngineTypes.startp = _startpos;
29376 MenhirLib.EngineTypes.endp = _endpos;
29377 MenhirLib.EngineTypes.next = _menhir_stack;
29378 });
29379 (fun _menhir_env ->
29380 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29381 let {
29382 MenhirLib.EngineTypes.state = _menhir_s;
29383 MenhirLib.EngineTypes.semv = x;
29384 MenhirLib.EngineTypes.startp = _startpos_x_;
29385 MenhirLib.EngineTypes.endp = _endpos_x_;
29386 MenhirLib.EngineTypes.next = _menhir_stack;
29387 } = _menhir_stack in
29388 let x : 'tv_ctype = Obj.magic x in
29389 let _startpos = _startpos_x_ in
29390 let _endpos = _endpos_x_ in
29391 let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
29392 # 144 "standard.mly"
29393 ( [ x ] )
29394 # 29395 "parser_cocci_menhir.ml"
29395 in
29396 _menhir_env.MenhirLib.EngineTypes.stack <- {
29397 MenhirLib.EngineTypes.state = _menhir_s;
29398 MenhirLib.EngineTypes.semv = Obj.repr _v;
29399 MenhirLib.EngineTypes.startp = _startpos;
29400 MenhirLib.EngineTypes.endp = _endpos;
29401 MenhirLib.EngineTypes.next = _menhir_stack;
29402 });
29403 (fun _menhir_env ->
29404 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29405 let {
29406 MenhirLib.EngineTypes.semv = xs;
29407 MenhirLib.EngineTypes.startp = _startpos_xs_;
29408 MenhirLib.EngineTypes.endp = _endpos_xs_;
29409 MenhirLib.EngineTypes.next = {
29410 MenhirLib.EngineTypes.startp = _startpos__2_;
29411 MenhirLib.EngineTypes.endp = _endpos__2_;
29412 MenhirLib.EngineTypes.next = {
29413 MenhirLib.EngineTypes.state = _menhir_s;
29414 MenhirLib.EngineTypes.semv = x;
29415 MenhirLib.EngineTypes.startp = _startpos_x_;
29416 MenhirLib.EngineTypes.endp = _endpos_x_;
29417 MenhirLib.EngineTypes.next = _menhir_stack;
29418 };
29419 };
29420 } = _menhir_stack in
29421 let xs : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic xs in
29422 let x : 'tv_ctype = Obj.magic x in
29423 let _startpos = _startpos_x_ in
29424 let _endpos = _endpos_xs_ in
29425 let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
29426 # 146 "standard.mly"
29427 ( x :: xs )
29428 # 29429 "parser_cocci_menhir.ml"
29429 in
29430 _menhir_env.MenhirLib.EngineTypes.stack <- {
29431 MenhirLib.EngineTypes.state = _menhir_s;
29432 MenhirLib.EngineTypes.semv = Obj.repr _v;
29433 MenhirLib.EngineTypes.startp = _startpos;
29434 MenhirLib.EngineTypes.endp = _endpos;
29435 MenhirLib.EngineTypes.next = _menhir_stack;
29436 });
29437 (fun _menhir_env ->
29438 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29439 let {
29440 MenhirLib.EngineTypes.state = _menhir_s;
29441 MenhirLib.EngineTypes.semv = x;
29442 MenhirLib.EngineTypes.startp = _startpos_x_;
29443 MenhirLib.EngineTypes.endp = _endpos_x_;
29444 MenhirLib.EngineTypes.next = _menhir_stack;
29445 } = _menhir_stack in
29446 let x : 'tv_d_ident = Obj.magic x in
29447 let _startpos = _startpos_x_ in
29448 let _endpos = _endpos_x_ in
29449 let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
29450 # 144 "standard.mly"
29451 ( [ x ] )
29452 # 29453 "parser_cocci_menhir.ml"
29453 in
29454 _menhir_env.MenhirLib.EngineTypes.stack <- {
29455 MenhirLib.EngineTypes.state = _menhir_s;
29456 MenhirLib.EngineTypes.semv = Obj.repr _v;
29457 MenhirLib.EngineTypes.startp = _startpos;
29458 MenhirLib.EngineTypes.endp = _endpos;
29459 MenhirLib.EngineTypes.next = _menhir_stack;
29460 });
29461 (fun _menhir_env ->
29462 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29463 let {
29464 MenhirLib.EngineTypes.semv = xs;
29465 MenhirLib.EngineTypes.startp = _startpos_xs_;
29466 MenhirLib.EngineTypes.endp = _endpos_xs_;
29467 MenhirLib.EngineTypes.next = {
29468 MenhirLib.EngineTypes.startp = _startpos__2_;
29469 MenhirLib.EngineTypes.endp = _endpos__2_;
29470 MenhirLib.EngineTypes.next = {
29471 MenhirLib.EngineTypes.state = _menhir_s;
29472 MenhirLib.EngineTypes.semv = x;
29473 MenhirLib.EngineTypes.startp = _startpos_x_;
29474 MenhirLib.EngineTypes.endp = _endpos_x_;
29475 MenhirLib.EngineTypes.next = _menhir_stack;
29476 };
29477 };
29478 } = _menhir_stack in
29479 let xs : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic xs in
29480 let x : 'tv_d_ident = Obj.magic x in
29481 let _startpos = _startpos_x_ in
29482 let _endpos = _endpos_xs_ in
29483 let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
29484 # 146 "standard.mly"
29485 ( x :: xs )
29486 # 29487 "parser_cocci_menhir.ml"
29487 in
29488 _menhir_env.MenhirLib.EngineTypes.stack <- {
29489 MenhirLib.EngineTypes.state = _menhir_s;
29490 MenhirLib.EngineTypes.semv = Obj.repr _v;
29491 MenhirLib.EngineTypes.startp = _startpos;
29492 MenhirLib.EngineTypes.endp = _endpos;
29493 MenhirLib.EngineTypes.next = _menhir_stack;
29494 });
29495 (fun _menhir_env ->
29496 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29497 let {
29498 MenhirLib.EngineTypes.state = _menhir_s;
29499 MenhirLib.EngineTypes.semv = x;
29500 MenhirLib.EngineTypes.startp = _startpos_x_;
29501 MenhirLib.EngineTypes.endp = _endpos_x_;
29502 MenhirLib.EngineTypes.next = _menhir_stack;
29503 } = _menhir_stack in
29504 let x : 'tv_ident_or_const = Obj.magic x in
29505 let _startpos = _startpos_x_ in
29506 let _endpos = _endpos_x_ in
29507 let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
29508 # 144 "standard.mly"
29509 ( [ x ] )
29510 # 29511 "parser_cocci_menhir.ml"
29511 in
29512 _menhir_env.MenhirLib.EngineTypes.stack <- {
29513 MenhirLib.EngineTypes.state = _menhir_s;
29514 MenhirLib.EngineTypes.semv = Obj.repr _v;
29515 MenhirLib.EngineTypes.startp = _startpos;
29516 MenhirLib.EngineTypes.endp = _endpos;
29517 MenhirLib.EngineTypes.next = _menhir_stack;
29518 });
29519 (fun _menhir_env ->
29520 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29521 let {
29522 MenhirLib.EngineTypes.semv = xs;
29523 MenhirLib.EngineTypes.startp = _startpos_xs_;
29524 MenhirLib.EngineTypes.endp = _endpos_xs_;
29525 MenhirLib.EngineTypes.next = {
29526 MenhirLib.EngineTypes.startp = _startpos__2_;
29527 MenhirLib.EngineTypes.endp = _endpos__2_;
29528 MenhirLib.EngineTypes.next = {
29529 MenhirLib.EngineTypes.state = _menhir_s;
29530 MenhirLib.EngineTypes.semv = x;
29531 MenhirLib.EngineTypes.startp = _startpos_x_;
29532 MenhirLib.EngineTypes.endp = _endpos_x_;
29533 MenhirLib.EngineTypes.next = _menhir_stack;
29534 };
29535 };
29536 } = _menhir_stack in
29537 let xs : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic xs in
29538 let x : 'tv_ident_or_const = Obj.magic x in
29539 let _startpos = _startpos_x_ in
29540 let _endpos = _endpos_xs_ in
29541 let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
29542 # 146 "standard.mly"
29543 ( x :: xs )
29544 # 29545 "parser_cocci_menhir.ml"
29545 in
29546 _menhir_env.MenhirLib.EngineTypes.stack <- {
29547 MenhirLib.EngineTypes.state = _menhir_s;
29548 MenhirLib.EngineTypes.semv = Obj.repr _v;
29549 MenhirLib.EngineTypes.startp = _startpos;
29550 MenhirLib.EngineTypes.endp = _endpos;
29551 MenhirLib.EngineTypes.next = _menhir_stack;
29552 });
29553 (fun _menhir_env ->
29554 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29555 let {
29556 MenhirLib.EngineTypes.state = _menhir_s;
29557 MenhirLib.EngineTypes.semv = x;
29558 MenhirLib.EngineTypes.startp = _startpos_x_;
29559 MenhirLib.EngineTypes.endp = _endpos_x_;
29560 MenhirLib.EngineTypes.next = _menhir_stack;
29561 } = _menhir_stack in
29562 let x : 'tv_meta_ident = Obj.magic x in
29563 let _startpos = _startpos_x_ in
29564 let _endpos = _endpos_x_ in
29565 let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
29566 # 144 "standard.mly"
29567 ( [ x ] )
29568 # 29569 "parser_cocci_menhir.ml"
29569 in
29570 _menhir_env.MenhirLib.EngineTypes.stack <- {
29571 MenhirLib.EngineTypes.state = _menhir_s;
29572 MenhirLib.EngineTypes.semv = Obj.repr _v;
29573 MenhirLib.EngineTypes.startp = _startpos;
29574 MenhirLib.EngineTypes.endp = _endpos;
29575 MenhirLib.EngineTypes.next = _menhir_stack;
29576 });
29577 (fun _menhir_env ->
29578 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29579 let {
29580 MenhirLib.EngineTypes.semv = xs;
29581 MenhirLib.EngineTypes.startp = _startpos_xs_;
29582 MenhirLib.EngineTypes.endp = _endpos_xs_;
29583 MenhirLib.EngineTypes.next = {
29584 MenhirLib.EngineTypes.startp = _startpos__2_;
29585 MenhirLib.EngineTypes.endp = _endpos__2_;
29586 MenhirLib.EngineTypes.next = {
29587 MenhirLib.EngineTypes.state = _menhir_s;
29588 MenhirLib.EngineTypes.semv = x;
29589 MenhirLib.EngineTypes.startp = _startpos_x_;
29590 MenhirLib.EngineTypes.endp = _endpos_x_;
29591 MenhirLib.EngineTypes.next = _menhir_stack;
29592 };
29593 };
29594 } = _menhir_stack in
29595 let xs : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic xs in
29596 let x : 'tv_meta_ident = Obj.magic x in
29597 let _startpos = _startpos_x_ in
29598 let _endpos = _endpos_xs_ in
29599 let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
29600 # 146 "standard.mly"
29601 ( x :: xs )
29602 # 29603 "parser_cocci_menhir.ml"
29603 in
29604 _menhir_env.MenhirLib.EngineTypes.stack <- {
29605 MenhirLib.EngineTypes.state = _menhir_s;
29606 MenhirLib.EngineTypes.semv = Obj.repr _v;
29607 MenhirLib.EngineTypes.startp = _startpos;
29608 MenhirLib.EngineTypes.endp = _endpos;
29609 MenhirLib.EngineTypes.next = _menhir_stack;
29610 });
29611 (fun _menhir_env ->
29612 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29613 let {
29614 MenhirLib.EngineTypes.state = _menhir_s;
29615 MenhirLib.EngineTypes.semv = x;
29616 MenhirLib.EngineTypes.startp = _startpos_x_;
29617 MenhirLib.EngineTypes.endp = _endpos_x_;
29618 MenhirLib.EngineTypes.next = _menhir_stack;
29619 } = _menhir_stack in
29620 let x : 'tv_pure_ident = Obj.magic x in
29621 let _startpos = _startpos_x_ in
29622 let _endpos = _endpos_x_ in
29623 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
29624 # 144 "standard.mly"
29625 ( [ x ] )
29626 # 29627 "parser_cocci_menhir.ml"
29627 in
29628 _menhir_env.MenhirLib.EngineTypes.stack <- {
29629 MenhirLib.EngineTypes.state = _menhir_s;
29630 MenhirLib.EngineTypes.semv = Obj.repr _v;
29631 MenhirLib.EngineTypes.startp = _startpos;
29632 MenhirLib.EngineTypes.endp = _endpos;
29633 MenhirLib.EngineTypes.next = _menhir_stack;
29634 });
29635 (fun _menhir_env ->
29636 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29637 let {
29638 MenhirLib.EngineTypes.semv = xs;
29639 MenhirLib.EngineTypes.startp = _startpos_xs_;
29640 MenhirLib.EngineTypes.endp = _endpos_xs_;
29641 MenhirLib.EngineTypes.next = {
29642 MenhirLib.EngineTypes.startp = _startpos__2_;
29643 MenhirLib.EngineTypes.endp = _endpos__2_;
29644 MenhirLib.EngineTypes.next = {
29645 MenhirLib.EngineTypes.state = _menhir_s;
29646 MenhirLib.EngineTypes.semv = x;
29647 MenhirLib.EngineTypes.startp = _startpos_x_;
29648 MenhirLib.EngineTypes.endp = _endpos_x_;
29649 MenhirLib.EngineTypes.next = _menhir_stack;
29650 };
29651 };
29652 } = _menhir_stack in
29653 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic xs in
29654 let x : 'tv_pure_ident = Obj.magic x in
29655 let _startpos = _startpos_x_ in
29656 let _endpos = _endpos_xs_ in
29657 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
29658 # 146 "standard.mly"
29659 ( x :: xs )
29660 # 29661 "parser_cocci_menhir.ml"
29661 in
29662 _menhir_env.MenhirLib.EngineTypes.stack <- {
29663 MenhirLib.EngineTypes.state = _menhir_s;
29664 MenhirLib.EngineTypes.semv = Obj.repr _v;
29665 MenhirLib.EngineTypes.startp = _startpos;
29666 MenhirLib.EngineTypes.endp = _endpos;
29667 MenhirLib.EngineTypes.next = _menhir_stack;
29668 });
29669 (fun _menhir_env ->
29670 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29671 let {
29672 MenhirLib.EngineTypes.state = _menhir_s;
29673 MenhirLib.EngineTypes.semv = x;
29674 MenhirLib.EngineTypes.startp = _startpos_x_;
29675 MenhirLib.EngineTypes.endp = _endpos_x_;
29676 MenhirLib.EngineTypes.next = _menhir_stack;
29677 } = _menhir_stack in
29678 let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
29679 let _startpos = _startpos_x_ in
29680 let _endpos = _endpos_x_ in
29681 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
29682 # 144 "standard.mly"
29683 ( [ x ] )
29684 # 29685 "parser_cocci_menhir.ml"
29685 in
29686 _menhir_env.MenhirLib.EngineTypes.stack <- {
29687 MenhirLib.EngineTypes.state = _menhir_s;
29688 MenhirLib.EngineTypes.semv = Obj.repr _v;
29689 MenhirLib.EngineTypes.startp = _startpos;
29690 MenhirLib.EngineTypes.endp = _endpos;
29691 MenhirLib.EngineTypes.next = _menhir_stack;
29692 });
29693 (fun _menhir_env ->
29694 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29695 let {
29696 MenhirLib.EngineTypes.semv = xs;
29697 MenhirLib.EngineTypes.startp = _startpos_xs_;
29698 MenhirLib.EngineTypes.endp = _endpos_xs_;
29699 MenhirLib.EngineTypes.next = {
29700 MenhirLib.EngineTypes.startp = _startpos__2_;
29701 MenhirLib.EngineTypes.endp = _endpos__2_;
29702 MenhirLib.EngineTypes.next = {
29703 MenhirLib.EngineTypes.state = _menhir_s;
29704 MenhirLib.EngineTypes.semv = x;
29705 MenhirLib.EngineTypes.startp = _startpos_x_;
29706 MenhirLib.EngineTypes.endp = _endpos_x_;
29707 MenhirLib.EngineTypes.next = _menhir_stack;
29708 };
29709 };
29710 } = _menhir_stack in
29711 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic xs in
29712 let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
29713 let _startpos = _startpos_x_ in
29714 let _endpos = _endpos_xs_ in
29715 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
29716 # 146 "standard.mly"
29717 ( x :: xs )
29718 # 29719 "parser_cocci_menhir.ml"
29719 in
29720 _menhir_env.MenhirLib.EngineTypes.stack <- {
29721 MenhirLib.EngineTypes.state = _menhir_s;
29722 MenhirLib.EngineTypes.semv = Obj.repr _v;
29723 MenhirLib.EngineTypes.startp = _startpos;
29724 MenhirLib.EngineTypes.endp = _endpos;
29725 MenhirLib.EngineTypes.next = _menhir_stack;
29726 });
29727 (fun _menhir_env ->
29728 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29729 let {
29730 MenhirLib.EngineTypes.state = _menhir_s;
29731 MenhirLib.EngineTypes.semv = x;
29732 MenhirLib.EngineTypes.startp = _startpos_x_;
29733 MenhirLib.EngineTypes.endp = _endpos_x_;
29734 MenhirLib.EngineTypes.next = _menhir_stack;
29735 } = _menhir_stack in
29736 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = Obj.magic x in
29737 let _startpos = _startpos_x_ in
29738 let _endpos = _endpos_x_ in
29739 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
29740 # 144 "standard.mly"
29741 ( [ x ] )
29742 # 29743 "parser_cocci_menhir.ml"
29743 in
29744 _menhir_env.MenhirLib.EngineTypes.stack <- {
29745 MenhirLib.EngineTypes.state = _menhir_s;
29746 MenhirLib.EngineTypes.semv = Obj.repr _v;
29747 MenhirLib.EngineTypes.startp = _startpos;
29748 MenhirLib.EngineTypes.endp = _endpos;
29749 MenhirLib.EngineTypes.next = _menhir_stack;
29750 });
29751 (fun _menhir_env ->
29752 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29753 let {
29754 MenhirLib.EngineTypes.semv = xs;
29755 MenhirLib.EngineTypes.startp = _startpos_xs_;
29756 MenhirLib.EngineTypes.endp = _endpos_xs_;
29757 MenhirLib.EngineTypes.next = {
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 = x;
29763 MenhirLib.EngineTypes.startp = _startpos_x_;
29764 MenhirLib.EngineTypes.endp = _endpos_x_;
29765 MenhirLib.EngineTypes.next = _menhir_stack;
29766 };
29767 };
29768 } = _menhir_stack in
29769 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic xs in
29770 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = Obj.magic x in
29771 let _startpos = _startpos_x_ in
29772 let _endpos = _endpos_xs_ in
29773 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
29774 # 146 "standard.mly"
29775 ( x :: xs )
29776 # 29777 "parser_cocci_menhir.ml"
29777 in
29778 _menhir_env.MenhirLib.EngineTypes.stack <- {
29779 MenhirLib.EngineTypes.state = _menhir_s;
29780 MenhirLib.EngineTypes.semv = Obj.repr _v;
29781 MenhirLib.EngineTypes.startp = _startpos;
29782 MenhirLib.EngineTypes.endp = _endpos;
29783 MenhirLib.EngineTypes.next = _menhir_stack;
29784 });
29785 (fun _menhir_env ->
29786 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29787 let {
29788 MenhirLib.EngineTypes.state = _menhir_s;
29789 MenhirLib.EngineTypes.semv = x;
29790 MenhirLib.EngineTypes.startp = _startpos_x_;
29791 MenhirLib.EngineTypes.endp = _endpos_x_;
29792 MenhirLib.EngineTypes.next = _menhir_stack;
29793 } = _menhir_stack in
29794 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = Obj.magic x in
29795 let _startpos = _startpos_x_ in
29796 let _endpos = _endpos_x_ in
29797 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
29798 # 144 "standard.mly"
29799 ( [ x ] )
29800 # 29801 "parser_cocci_menhir.ml"
29801 in
29802 _menhir_env.MenhirLib.EngineTypes.stack <- {
29803 MenhirLib.EngineTypes.state = _menhir_s;
29804 MenhirLib.EngineTypes.semv = Obj.repr _v;
29805 MenhirLib.EngineTypes.startp = _startpos;
29806 MenhirLib.EngineTypes.endp = _endpos;
29807 MenhirLib.EngineTypes.next = _menhir_stack;
29808 });
29809 (fun _menhir_env ->
29810 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29811 let {
29812 MenhirLib.EngineTypes.semv = xs;
29813 MenhirLib.EngineTypes.startp = _startpos_xs_;
29814 MenhirLib.EngineTypes.endp = _endpos_xs_;
29815 MenhirLib.EngineTypes.next = {
29816 MenhirLib.EngineTypes.startp = _startpos__2_;
29817 MenhirLib.EngineTypes.endp = _endpos__2_;
29818 MenhirLib.EngineTypes.next = {
29819 MenhirLib.EngineTypes.state = _menhir_s;
29820 MenhirLib.EngineTypes.semv = x;
29821 MenhirLib.EngineTypes.startp = _startpos_x_;
29822 MenhirLib.EngineTypes.endp = _endpos_x_;
29823 MenhirLib.EngineTypes.next = _menhir_stack;
29824 };
29825 };
29826 } = _menhir_stack in
29827 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic xs in
29828 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = Obj.magic x in
29829 let _startpos = _startpos_x_ in
29830 let _endpos = _endpos_xs_ in
29831 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
29832 # 146 "standard.mly"
29833 ( x :: xs )
29834 # 29835 "parser_cocci_menhir.ml"
29835 in
29836 _menhir_env.MenhirLib.EngineTypes.stack <- {
29837 MenhirLib.EngineTypes.state = _menhir_s;
29838 MenhirLib.EngineTypes.semv = Obj.repr _v;
29839 MenhirLib.EngineTypes.startp = _startpos;
29840 MenhirLib.EngineTypes.endp = _endpos;
29841 MenhirLib.EngineTypes.next = _menhir_stack;
29842 });
29843 (fun _menhir_env ->
29844 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29845 let {
29846 MenhirLib.EngineTypes.state = _menhir_s;
29847 MenhirLib.EngineTypes.semv = x;
29848 MenhirLib.EngineTypes.startp = _startpos_x_;
29849 MenhirLib.EngineTypes.endp = _endpos_x_;
29850 MenhirLib.EngineTypes.next = _menhir_stack;
29851 } = _menhir_stack in
29852 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
29853 let _startpos = _startpos_x_ in
29854 let _endpos = _endpos_x_ in
29855 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
29856 # 144 "standard.mly"
29857 ( [ x ] )
29858 # 29859 "parser_cocci_menhir.ml"
29859 in
29860 _menhir_env.MenhirLib.EngineTypes.stack <- {
29861 MenhirLib.EngineTypes.state = _menhir_s;
29862 MenhirLib.EngineTypes.semv = Obj.repr _v;
29863 MenhirLib.EngineTypes.startp = _startpos;
29864 MenhirLib.EngineTypes.endp = _endpos;
29865 MenhirLib.EngineTypes.next = _menhir_stack;
29866 });
29867 (fun _menhir_env ->
29868 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29869 let {
29870 MenhirLib.EngineTypes.semv = xs;
29871 MenhirLib.EngineTypes.startp = _startpos_xs_;
29872 MenhirLib.EngineTypes.endp = _endpos_xs_;
29873 MenhirLib.EngineTypes.next = {
29874 MenhirLib.EngineTypes.startp = _startpos__2_;
29875 MenhirLib.EngineTypes.endp = _endpos__2_;
29876 MenhirLib.EngineTypes.next = {
29877 MenhirLib.EngineTypes.state = _menhir_s;
29878 MenhirLib.EngineTypes.semv = x;
29879 MenhirLib.EngineTypes.startp = _startpos_x_;
29880 MenhirLib.EngineTypes.endp = _endpos_x_;
29881 MenhirLib.EngineTypes.next = _menhir_stack;
29882 };
29883 };
29884 } = _menhir_stack in
29885 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic xs in
29886 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
29887 let _startpos = _startpos_x_ in
29888 let _endpos = _endpos_xs_ in
29889 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
29890 # 146 "standard.mly"
29891 ( x :: xs )
29892 # 29893 "parser_cocci_menhir.ml"
29893 in
29894 _menhir_env.MenhirLib.EngineTypes.stack <- {
29895 MenhirLib.EngineTypes.state = _menhir_s;
29896 MenhirLib.EngineTypes.semv = Obj.repr _v;
29897 MenhirLib.EngineTypes.startp = _startpos;
29898 MenhirLib.EngineTypes.endp = _endpos;
29899 MenhirLib.EngineTypes.next = _menhir_stack;
29900 });
29901 (fun _menhir_env ->
29902 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29903 let {
29904 MenhirLib.EngineTypes.state = _menhir_s;
29905 MenhirLib.EngineTypes.semv = x;
29906 MenhirLib.EngineTypes.startp = _startpos_x_;
29907 MenhirLib.EngineTypes.endp = _endpos_x_;
29908 MenhirLib.EngineTypes.next = _menhir_stack;
29909 } = _menhir_stack in
29910 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in
29911 let _startpos = _startpos_x_ in
29912 let _endpos = _endpos_x_ in
29913 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
29914 # 144 "standard.mly"
29915 ( [ x ] )
29916 # 29917 "parser_cocci_menhir.ml"
29917 in
29918 _menhir_env.MenhirLib.EngineTypes.stack <- {
29919 MenhirLib.EngineTypes.state = _menhir_s;
29920 MenhirLib.EngineTypes.semv = Obj.repr _v;
29921 MenhirLib.EngineTypes.startp = _startpos;
29922 MenhirLib.EngineTypes.endp = _endpos;
29923 MenhirLib.EngineTypes.next = _menhir_stack;
29924 });
29925 (fun _menhir_env ->
29926 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29927 let {
29928 MenhirLib.EngineTypes.semv = xs;
29929 MenhirLib.EngineTypes.startp = _startpos_xs_;
29930 MenhirLib.EngineTypes.endp = _endpos_xs_;
29931 MenhirLib.EngineTypes.next = {
29932 MenhirLib.EngineTypes.startp = _startpos__2_;
29933 MenhirLib.EngineTypes.endp = _endpos__2_;
29934 MenhirLib.EngineTypes.next = {
29935 MenhirLib.EngineTypes.state = _menhir_s;
29936 MenhirLib.EngineTypes.semv = x;
29937 MenhirLib.EngineTypes.startp = _startpos_x_;
29938 MenhirLib.EngineTypes.endp = _endpos_x_;
29939 MenhirLib.EngineTypes.next = _menhir_stack;
29940 };
29941 };
29942 } = _menhir_stack in
29943 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic xs in
29944 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in
29945 let _startpos = _startpos_x_ in
29946 let _endpos = _endpos_xs_ in
29947 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
29948 # 146 "standard.mly"
29949 ( x :: xs )
29950 # 29951 "parser_cocci_menhir.ml"
29951 in
29952 _menhir_env.MenhirLib.EngineTypes.stack <- {
29953 MenhirLib.EngineTypes.state = _menhir_s;
29954 MenhirLib.EngineTypes.semv = Obj.repr _v;
29955 MenhirLib.EngineTypes.startp = _startpos;
29956 MenhirLib.EngineTypes.endp = _endpos;
29957 MenhirLib.EngineTypes.next = _menhir_stack;
29958 });
29959 (fun _menhir_env ->
29960 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29961 let {
29962 MenhirLib.EngineTypes.state = _menhir_s;
29963 MenhirLib.EngineTypes.semv = x;
29964 MenhirLib.EngineTypes.startp = _startpos_x_;
29965 MenhirLib.EngineTypes.endp = _endpos_x_;
29966 MenhirLib.EngineTypes.next = _menhir_stack;
29967 } = _menhir_stack in
29968 let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
29969 let _startpos = _startpos_x_ in
29970 let _endpos = _endpos_x_ in
29971 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
29972 # 144 "standard.mly"
29973 ( [ x ] )
29974 # 29975 "parser_cocci_menhir.ml"
29975 in
29976 _menhir_env.MenhirLib.EngineTypes.stack <- {
29977 MenhirLib.EngineTypes.state = _menhir_s;
29978 MenhirLib.EngineTypes.semv = Obj.repr _v;
29979 MenhirLib.EngineTypes.startp = _startpos;
29980 MenhirLib.EngineTypes.endp = _endpos;
29981 MenhirLib.EngineTypes.next = _menhir_stack;
29982 });
29983 (fun _menhir_env ->
29984 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29985 let {
29986 MenhirLib.EngineTypes.semv = xs;
29987 MenhirLib.EngineTypes.startp = _startpos_xs_;
29988 MenhirLib.EngineTypes.endp = _endpos_xs_;
29989 MenhirLib.EngineTypes.next = {
29990 MenhirLib.EngineTypes.startp = _startpos__2_;
29991 MenhirLib.EngineTypes.endp = _endpos__2_;
29992 MenhirLib.EngineTypes.next = {
29993 MenhirLib.EngineTypes.state = _menhir_s;
29994 MenhirLib.EngineTypes.semv = x;
29995 MenhirLib.EngineTypes.startp = _startpos_x_;
29996 MenhirLib.EngineTypes.endp = _endpos_x_;
29997 MenhirLib.EngineTypes.next = _menhir_stack;
29998 };
29999 };
30000 } = _menhir_stack in
30001 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic xs in
30002 let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
30003 let _startpos = _startpos_x_ in
30004 let _endpos = _endpos_xs_ in
30005 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
30006 # 146 "standard.mly"
30007 ( x :: xs )
30008 # 30009 "parser_cocci_menhir.ml"
30009 in
30010 _menhir_env.MenhirLib.EngineTypes.stack <- {
30011 MenhirLib.EngineTypes.state = _menhir_s;
30012 MenhirLib.EngineTypes.semv = Obj.repr _v;
30013 MenhirLib.EngineTypes.startp = _startpos;
30014 MenhirLib.EngineTypes.endp = _endpos;
30015 MenhirLib.EngineTypes.next = _menhir_stack;
30016 });
30017 (fun _menhir_env ->
30018 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30019 let {
30020 MenhirLib.EngineTypes.state = _menhir_s;
30021 MenhirLib.EngineTypes.semv = x;
30022 MenhirLib.EngineTypes.startp = _startpos_x_;
30023 MenhirLib.EngineTypes.endp = _endpos_x_;
30024 MenhirLib.EngineTypes.next = _menhir_stack;
30025 } = _menhir_stack in
30026 let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
30027 let _startpos = _startpos_x_ in
30028 let _endpos = _endpos_x_ in
30029 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
30030 # 144 "standard.mly"
30031 ( [ x ] )
30032 # 30033 "parser_cocci_menhir.ml"
30033 in
30034 _menhir_env.MenhirLib.EngineTypes.stack <- {
30035 MenhirLib.EngineTypes.state = _menhir_s;
30036 MenhirLib.EngineTypes.semv = Obj.repr _v;
30037 MenhirLib.EngineTypes.startp = _startpos;
30038 MenhirLib.EngineTypes.endp = _endpos;
30039 MenhirLib.EngineTypes.next = _menhir_stack;
30040 });
30041 (fun _menhir_env ->
30042 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30043 let {
30044 MenhirLib.EngineTypes.semv = xs;
30045 MenhirLib.EngineTypes.startp = _startpos_xs_;
30046 MenhirLib.EngineTypes.endp = _endpos_xs_;
30047 MenhirLib.EngineTypes.next = {
30048 MenhirLib.EngineTypes.startp = _startpos__2_;
30049 MenhirLib.EngineTypes.endp = _endpos__2_;
30050 MenhirLib.EngineTypes.next = {
30051 MenhirLib.EngineTypes.state = _menhir_s;
30052 MenhirLib.EngineTypes.semv = x;
30053 MenhirLib.EngineTypes.startp = _startpos_x_;
30054 MenhirLib.EngineTypes.endp = _endpos_x_;
30055 MenhirLib.EngineTypes.next = _menhir_stack;
30056 };
30057 };
30058 } = _menhir_stack in
30059 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic xs in
30060 let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
30061 let _startpos = _startpos_x_ in
30062 let _endpos = _endpos_xs_ in
30063 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
30064 # 146 "standard.mly"
30065 ( x :: xs )
30066 # 30067 "parser_cocci_menhir.ml"
30067 in
30068 _menhir_env.MenhirLib.EngineTypes.stack <- {
30069 MenhirLib.EngineTypes.state = _menhir_s;
30070 MenhirLib.EngineTypes.semv = Obj.repr _v;
30071 MenhirLib.EngineTypes.startp = _startpos;
30072 MenhirLib.EngineTypes.endp = _endpos;
30073 MenhirLib.EngineTypes.next = _menhir_stack;
30074 });
30075 (fun _menhir_env ->
30076 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30077 let {
30078 MenhirLib.EngineTypes.state = _menhir_s;
30079 MenhirLib.EngineTypes.semv = x;
30080 MenhirLib.EngineTypes.startp = _startpos_x_;
30081 MenhirLib.EngineTypes.endp = _endpos_x_;
30082 MenhirLib.EngineTypes.next = _menhir_stack;
30083 } = _menhir_stack in
30084 let x : 'tv_typedef_ident = Obj.magic x in
30085 let _startpos = _startpos_x_ in
30086 let _endpos = _endpos_x_ in
30087 let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
30088 # 144 "standard.mly"
30089 ( [ x ] )
30090 # 30091 "parser_cocci_menhir.ml"
30091 in
30092 _menhir_env.MenhirLib.EngineTypes.stack <- {
30093 MenhirLib.EngineTypes.state = _menhir_s;
30094 MenhirLib.EngineTypes.semv = Obj.repr _v;
30095 MenhirLib.EngineTypes.startp = _startpos;
30096 MenhirLib.EngineTypes.endp = _endpos;
30097 MenhirLib.EngineTypes.next = _menhir_stack;
30098 });
30099 (fun _menhir_env ->
30100 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30101 let {
30102 MenhirLib.EngineTypes.semv = xs;
30103 MenhirLib.EngineTypes.startp = _startpos_xs_;
30104 MenhirLib.EngineTypes.endp = _endpos_xs_;
30105 MenhirLib.EngineTypes.next = {
30106 MenhirLib.EngineTypes.startp = _startpos__2_;
30107 MenhirLib.EngineTypes.endp = _endpos__2_;
30108 MenhirLib.EngineTypes.next = {
30109 MenhirLib.EngineTypes.state = _menhir_s;
30110 MenhirLib.EngineTypes.semv = x;
30111 MenhirLib.EngineTypes.startp = _startpos_x_;
30112 MenhirLib.EngineTypes.endp = _endpos_x_;
30113 MenhirLib.EngineTypes.next = _menhir_stack;
30114 };
30115 };
30116 } = _menhir_stack in
30117 let xs : 'tv_separated_nonempty_list_TComma_typedef_ident_ = Obj.magic xs in
30118 let x : 'tv_typedef_ident = Obj.magic x in
30119 let _startpos = _startpos_x_ in
30120 let _endpos = _endpos_xs_ in
30121 let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
30122 # 146 "standard.mly"
30123 ( x :: xs )
30124 # 30125 "parser_cocci_menhir.ml"
30125 in
30126 _menhir_env.MenhirLib.EngineTypes.stack <- {
30127 MenhirLib.EngineTypes.state = _menhir_s;
30128 MenhirLib.EngineTypes.semv = Obj.repr _v;
30129 MenhirLib.EngineTypes.startp = _startpos;
30130 MenhirLib.EngineTypes.endp = _endpos;
30131 MenhirLib.EngineTypes.next = _menhir_stack;
30132 });
30133 (fun _menhir_env ->
30134 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30135 let {
30136 MenhirLib.EngineTypes.state = _menhir_s;
30137 MenhirLib.EngineTypes.semv = x;
30138 MenhirLib.EngineTypes.startp = _startpos_x_;
30139 MenhirLib.EngineTypes.endp = _endpos_x_;
30140 MenhirLib.EngineTypes.next = _menhir_stack;
30141 } = _menhir_stack in
30142 let x : 'tv_seed_elem = Obj.magic x in
30143 let _startpos = _startpos_x_ in
30144 let _endpos = _endpos_x_ in
30145 let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ =
30146 # 144 "standard.mly"
30147 ( [ x ] )
30148 # 30149 "parser_cocci_menhir.ml"
30149 in
30150 _menhir_env.MenhirLib.EngineTypes.stack <- {
30151 MenhirLib.EngineTypes.state = _menhir_s;
30152 MenhirLib.EngineTypes.semv = Obj.repr _v;
30153 MenhirLib.EngineTypes.startp = _startpos;
30154 MenhirLib.EngineTypes.endp = _endpos;
30155 MenhirLib.EngineTypes.next = _menhir_stack;
30156 });
30157 (fun _menhir_env ->
30158 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30159 let {
30160 MenhirLib.EngineTypes.semv = xs;
30161 MenhirLib.EngineTypes.startp = _startpos_xs_;
30162 MenhirLib.EngineTypes.endp = _endpos_xs_;
30163 MenhirLib.EngineTypes.next = {
30164 MenhirLib.EngineTypes.startp = _startpos__2_;
30165 MenhirLib.EngineTypes.endp = _endpos__2_;
30166 MenhirLib.EngineTypes.next = {
30167 MenhirLib.EngineTypes.state = _menhir_s;
30168 MenhirLib.EngineTypes.semv = x;
30169 MenhirLib.EngineTypes.startp = _startpos_x_;
30170 MenhirLib.EngineTypes.endp = _endpos_x_;
30171 MenhirLib.EngineTypes.next = _menhir_stack;
30172 };
30173 };
30174 } = _menhir_stack in
30175 let xs : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic xs in
30176 let x : 'tv_seed_elem = Obj.magic x in
30177 let _startpos = _startpos_x_ in
30178 let _endpos = _endpos_xs_ in
30179 let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ =
30180 # 146 "standard.mly"
30181 ( x :: xs )
30182 # 30183 "parser_cocci_menhir.ml"
30183 in
30184 _menhir_env.MenhirLib.EngineTypes.stack <- {
30185 MenhirLib.EngineTypes.state = _menhir_s;
30186 MenhirLib.EngineTypes.semv = Obj.repr _v;
30187 MenhirLib.EngineTypes.startp = _startpos;
30188 MenhirLib.EngineTypes.endp = _endpos;
30189 MenhirLib.EngineTypes.next = _menhir_stack;
30190 });
30191 (fun _menhir_env ->
30192 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30193 let {
30194 MenhirLib.EngineTypes.state = _menhir_s;
30195 MenhirLib.EngineTypes.semv = _1;
30196 MenhirLib.EngineTypes.startp = _startpos__1_;
30197 MenhirLib.EngineTypes.endp = _endpos__1_;
30198 MenhirLib.EngineTypes.next = _menhir_stack;
30199 } = _menhir_stack in
30200 let _1 : 'tv_statement = Obj.magic _1 in
30201 let _startpos = _startpos__1_ in
30202 let _endpos = _endpos__1_ in
30203 let _v : 'tv_single_statement =
30204 # 952 "parser_cocci_menhir.mly"
30205 ( _1 )
30206 # 30207 "parser_cocci_menhir.ml"
30207 in
30208 _menhir_env.MenhirLib.EngineTypes.stack <- {
30209 MenhirLib.EngineTypes.state = _menhir_s;
30210 MenhirLib.EngineTypes.semv = Obj.repr _v;
30211 MenhirLib.EngineTypes.startp = _startpos;
30212 MenhirLib.EngineTypes.endp = _endpos;
30213 MenhirLib.EngineTypes.next = _menhir_stack;
30214 });
30215 (fun _menhir_env ->
30216 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30217 let {
30218 MenhirLib.EngineTypes.semv = _3;
30219 MenhirLib.EngineTypes.startp = _startpos__3_;
30220 MenhirLib.EngineTypes.endp = _endpos__3_;
30221 MenhirLib.EngineTypes.next = {
30222 MenhirLib.EngineTypes.semv = _2;
30223 MenhirLib.EngineTypes.startp = _startpos__2_;
30224 MenhirLib.EngineTypes.endp = _endpos__2_;
30225 MenhirLib.EngineTypes.next = {
30226 MenhirLib.EngineTypes.state = _menhir_s;
30227 MenhirLib.EngineTypes.semv = _1;
30228 MenhirLib.EngineTypes.startp = _startpos__1_;
30229 MenhirLib.EngineTypes.endp = _endpos__1_;
30230 MenhirLib.EngineTypes.next = _menhir_stack;
30231 };
30232 };
30233 } = _menhir_stack in
30234 let _3 : (
30235 # 80 "parser_cocci_menhir.mly"
30236 (Data.clt)
30237 # 30238 "parser_cocci_menhir.ml"
30238 ) = Obj.magic _3 in
30239 let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in
30240 let _1 : (
30241 # 79 "parser_cocci_menhir.mly"
30242 (Data.clt)
30243 # 30244 "parser_cocci_menhir.ml"
30244 ) = Obj.magic _1 in
30245 let _startpos = _startpos__1_ in
30246 let _endpos = _endpos__3_ in
30247 let _v : 'tv_single_statement =
30248 # 956 "parser_cocci_menhir.mly"
30249 ( let (mids,code) = _2 in
30250 Ast0.wrap
30251 (Ast0.Disj(P.clt2mcode "(" _1,
30252 List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
30253 mids, P.clt2mcode ")" _3)) )
30254 # 30255 "parser_cocci_menhir.ml"
30255 in
30256 _menhir_env.MenhirLib.EngineTypes.stack <- {
30257 MenhirLib.EngineTypes.state = _menhir_s;
30258 MenhirLib.EngineTypes.semv = Obj.repr _v;
30259 MenhirLib.EngineTypes.startp = _startpos;
30260 MenhirLib.EngineTypes.endp = _endpos;
30261 MenhirLib.EngineTypes.next = _menhir_stack;
30262 });
30263 (fun _menhir_env ->
30264 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30265 let {
30266 MenhirLib.EngineTypes.state = _menhir_s;
30267 MenhirLib.EngineTypes.semv = _1;
30268 MenhirLib.EngineTypes.startp = _startpos__1_;
30269 MenhirLib.EngineTypes.endp = _endpos__1_;
30270 MenhirLib.EngineTypes.next = _menhir_stack;
30271 } = _menhir_stack in
30272 let _1 : 'tv_includes = Obj.magic _1 in
30273 let _startpos = _startpos__1_ in
30274 let _endpos = _endpos__1_ in
30275 let _v : 'tv_statement =
30276 # 879 "parser_cocci_menhir.mly"
30277 ( _1 )
30278 # 30279 "parser_cocci_menhir.ml"
30279 in
30280 _menhir_env.MenhirLib.EngineTypes.stack <- {
30281 MenhirLib.EngineTypes.state = _menhir_s;
30282 MenhirLib.EngineTypes.semv = Obj.repr _v;
30283 MenhirLib.EngineTypes.startp = _startpos;
30284 MenhirLib.EngineTypes.endp = _endpos;
30285 MenhirLib.EngineTypes.next = _menhir_stack;
30286 });
30287 (fun _menhir_env ->
30288 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30289 let {
30290 MenhirLib.EngineTypes.state = _menhir_s;
30291 MenhirLib.EngineTypes.semv = _1;
30292 MenhirLib.EngineTypes.startp = _startpos__1_;
30293 MenhirLib.EngineTypes.endp = _endpos__1_;
30294 MenhirLib.EngineTypes.next = _menhir_stack;
30295 } = _menhir_stack in
30296 let _1 : (
30297 # 67 "parser_cocci_menhir.mly"
30298 (Parse_aux.info)
30299 # 30300 "parser_cocci_menhir.ml"
30300 ) = Obj.magic _1 in
30301 let _startpos = _startpos__1_ in
30302 let _endpos = _endpos__1_ in
30303 let _v : 'tv_statement =
30304 # 881 "parser_cocci_menhir.mly"
30305 ( P.meta_stm _1 )
30306 # 30307 "parser_cocci_menhir.ml"
30307 in
30308 _menhir_env.MenhirLib.EngineTypes.stack <- {
30309 MenhirLib.EngineTypes.state = _menhir_s;
30310 MenhirLib.EngineTypes.semv = Obj.repr _v;
30311 MenhirLib.EngineTypes.startp = _startpos;
30312 MenhirLib.EngineTypes.endp = _endpos;
30313 MenhirLib.EngineTypes.next = _menhir_stack;
30314 });
30315 (fun _menhir_env ->
30316 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30317 let {
30318 MenhirLib.EngineTypes.semv = _2;
30319 MenhirLib.EngineTypes.startp = _startpos__2_;
30320 MenhirLib.EngineTypes.endp = _endpos__2_;
30321 MenhirLib.EngineTypes.next = {
30322 MenhirLib.EngineTypes.state = _menhir_s;
30323 MenhirLib.EngineTypes.semv = _1;
30324 MenhirLib.EngineTypes.startp = _startpos__1_;
30325 MenhirLib.EngineTypes.endp = _endpos__1_;
30326 MenhirLib.EngineTypes.next = _menhir_stack;
30327 };
30328 } = _menhir_stack in
30329 let _2 : (
30330 # 110 "parser_cocci_menhir.mly"
30331 (Data.clt)
30332 # 30333 "parser_cocci_menhir.ml"
30333 ) = Obj.magic _2 in
30334 let _1 : 'tv_expr = Obj.magic _1 in
30335 let _startpos = _startpos__1_ in
30336 let _endpos = _endpos__2_ in
30337 let _v : 'tv_statement =
30338 # 883 "parser_cocci_menhir.mly"
30339 ( P.exp_stm _1 _2 )
30340 # 30341 "parser_cocci_menhir.ml"
30341 in
30342 _menhir_env.MenhirLib.EngineTypes.stack <- {
30343 MenhirLib.EngineTypes.state = _menhir_s;
30344 MenhirLib.EngineTypes.semv = Obj.repr _v;
30345 MenhirLib.EngineTypes.startp = _startpos;
30346 MenhirLib.EngineTypes.endp = _endpos;
30347 MenhirLib.EngineTypes.next = _menhir_stack;
30348 });
30349 (fun _menhir_env ->
30350 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30351 let {
30352 MenhirLib.EngineTypes.semv = _5;
30353 MenhirLib.EngineTypes.startp = _startpos__5_;
30354 MenhirLib.EngineTypes.endp = _endpos__5_;
30355 MenhirLib.EngineTypes.next = {
30356 MenhirLib.EngineTypes.semv = _4;
30357 MenhirLib.EngineTypes.startp = _startpos__4_;
30358 MenhirLib.EngineTypes.endp = _endpos__4_;
30359 MenhirLib.EngineTypes.next = {
30360 MenhirLib.EngineTypes.semv = _3;
30361 MenhirLib.EngineTypes.startp = _startpos__3_;
30362 MenhirLib.EngineTypes.endp = _endpos__3_;
30363 MenhirLib.EngineTypes.next = {
30364 MenhirLib.EngineTypes.semv = _2;
30365 MenhirLib.EngineTypes.startp = _startpos__2_;
30366 MenhirLib.EngineTypes.endp = _endpos__2_;
30367 MenhirLib.EngineTypes.next = {
30368 MenhirLib.EngineTypes.state = _menhir_s;
30369 MenhirLib.EngineTypes.semv = _1;
30370 MenhirLib.EngineTypes.startp = _startpos__1_;
30371 MenhirLib.EngineTypes.endp = _endpos__1_;
30372 MenhirLib.EngineTypes.next = _menhir_stack;
30373 };
30374 };
30375 };
30376 };
30377 } = _menhir_stack in
30378 let _5 : 'tv_single_statement = Obj.magic _5 in
30379 let _4 : (
30380 # 80 "parser_cocci_menhir.mly"
30381 (Data.clt)
30382 # 30383 "parser_cocci_menhir.ml"
30383 ) = Obj.magic _4 in
30384 let _3 : 'tv_eexpr = Obj.magic _3 in
30385 let _2 : (
30386 # 79 "parser_cocci_menhir.mly"
30387 (Data.clt)
30388 # 30389 "parser_cocci_menhir.ml"
30389 ) = Obj.magic _2 in
30390 let _1 : (
30391 # 59 "parser_cocci_menhir.mly"
30392 (Data.clt)
30393 # 30394 "parser_cocci_menhir.ml"
30394 ) = Obj.magic _1 in
30395 let _startpos = _startpos__1_ in
30396 let _endpos = _endpos__5_ in
30397 let _v : 'tv_statement =
30398 # 885 "parser_cocci_menhir.mly"
30399 ( P.ifthen _1 _2 _3 _4 _5 )
30400 # 30401 "parser_cocci_menhir.ml"
30401 in
30402 _menhir_env.MenhirLib.EngineTypes.stack <- {
30403 MenhirLib.EngineTypes.state = _menhir_s;
30404 MenhirLib.EngineTypes.semv = Obj.repr _v;
30405 MenhirLib.EngineTypes.startp = _startpos;
30406 MenhirLib.EngineTypes.endp = _endpos;
30407 MenhirLib.EngineTypes.next = _menhir_stack;
30408 });
30409 (fun _menhir_env ->
30410 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30411 let {
30412 MenhirLib.EngineTypes.semv = _7;
30413 MenhirLib.EngineTypes.startp = _startpos__7_;
30414 MenhirLib.EngineTypes.endp = _endpos__7_;
30415 MenhirLib.EngineTypes.next = {
30416 MenhirLib.EngineTypes.semv = _6;
30417 MenhirLib.EngineTypes.startp = _startpos__6_;
30418 MenhirLib.EngineTypes.endp = _endpos__6_;
30419 MenhirLib.EngineTypes.next = {
30420 MenhirLib.EngineTypes.semv = _5;
30421 MenhirLib.EngineTypes.startp = _startpos__5_;
30422 MenhirLib.EngineTypes.endp = _endpos__5_;
30423 MenhirLib.EngineTypes.next = {
30424 MenhirLib.EngineTypes.semv = _4;
30425 MenhirLib.EngineTypes.startp = _startpos__4_;
30426 MenhirLib.EngineTypes.endp = _endpos__4_;
30427 MenhirLib.EngineTypes.next = {
30428 MenhirLib.EngineTypes.semv = _3;
30429 MenhirLib.EngineTypes.startp = _startpos__3_;
30430 MenhirLib.EngineTypes.endp = _endpos__3_;
30431 MenhirLib.EngineTypes.next = {
30432 MenhirLib.EngineTypes.semv = _2;
30433 MenhirLib.EngineTypes.startp = _startpos__2_;
30434 MenhirLib.EngineTypes.endp = _endpos__2_;
30435 MenhirLib.EngineTypes.next = {
30436 MenhirLib.EngineTypes.state = _menhir_s;
30437 MenhirLib.EngineTypes.semv = _1;
30438 MenhirLib.EngineTypes.startp = _startpos__1_;
30439 MenhirLib.EngineTypes.endp = _endpos__1_;
30440 MenhirLib.EngineTypes.next = _menhir_stack;
30441 };
30442 };
30443 };
30444 };
30445 };
30446 };
30447 } = _menhir_stack in
30448 let _7 : 'tv_single_statement = Obj.magic _7 in
30449 let _6 : (
30450 # 59 "parser_cocci_menhir.mly"
30451 (Data.clt)
30452 # 30453 "parser_cocci_menhir.ml"
30453 ) = Obj.magic _6 in
30454 let _5 : 'tv_single_statement = Obj.magic _5 in
30455 let _4 : (
30456 # 80 "parser_cocci_menhir.mly"
30457 (Data.clt)
30458 # 30459 "parser_cocci_menhir.ml"
30459 ) = Obj.magic _4 in
30460 let _3 : 'tv_eexpr = Obj.magic _3 in
30461 let _2 : (
30462 # 79 "parser_cocci_menhir.mly"
30463 (Data.clt)
30464 # 30465 "parser_cocci_menhir.ml"
30465 ) = Obj.magic _2 in
30466 let _1 : (
30467 # 59 "parser_cocci_menhir.mly"
30468 (Data.clt)
30469 # 30470 "parser_cocci_menhir.ml"
30470 ) = Obj.magic _1 in
30471 let _startpos = _startpos__1_ in
30472 let _endpos = _endpos__7_ in
30473 let _v : 'tv_statement =
30474 # 887 "parser_cocci_menhir.mly"
30475 ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 )
30476 # 30477 "parser_cocci_menhir.ml"
30477 in
30478 _menhir_env.MenhirLib.EngineTypes.stack <- {
30479 MenhirLib.EngineTypes.state = _menhir_s;
30480 MenhirLib.EngineTypes.semv = Obj.repr _v;
30481 MenhirLib.EngineTypes.startp = _startpos;
30482 MenhirLib.EngineTypes.endp = _endpos;
30483 MenhirLib.EngineTypes.next = _menhir_stack;
30484 });
30485 (fun _menhir_env ->
30486 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30487 let {
30488 MenhirLib.EngineTypes.semv = _9;
30489 MenhirLib.EngineTypes.startp = _startpos__9_;
30490 MenhirLib.EngineTypes.endp = _endpos__9_;
30491 MenhirLib.EngineTypes.next = {
30492 MenhirLib.EngineTypes.semv = _8;
30493 MenhirLib.EngineTypes.startp = _startpos__8_;
30494 MenhirLib.EngineTypes.endp = _endpos__8_;
30495 MenhirLib.EngineTypes.next = {
30496 MenhirLib.EngineTypes.semv = _7;
30497 MenhirLib.EngineTypes.startp = _startpos__7_;
30498 MenhirLib.EngineTypes.endp = _endpos__7_;
30499 MenhirLib.EngineTypes.next = {
30500 MenhirLib.EngineTypes.semv = _6;
30501 MenhirLib.EngineTypes.startp = _startpos__6_;
30502 MenhirLib.EngineTypes.endp = _endpos__6_;
30503 MenhirLib.EngineTypes.next = {
30504 MenhirLib.EngineTypes.semv = _5;
30505 MenhirLib.EngineTypes.startp = _startpos__5_;
30506 MenhirLib.EngineTypes.endp = _endpos__5_;
30507 MenhirLib.EngineTypes.next = {
30508 MenhirLib.EngineTypes.semv = _4;
30509 MenhirLib.EngineTypes.startp = _startpos__4_;
30510 MenhirLib.EngineTypes.endp = _endpos__4_;
30511 MenhirLib.EngineTypes.next = {
30512 MenhirLib.EngineTypes.semv = _3;
30513 MenhirLib.EngineTypes.startp = _startpos__3_;
30514 MenhirLib.EngineTypes.endp = _endpos__3_;
30515 MenhirLib.EngineTypes.next = {
30516 MenhirLib.EngineTypes.semv = _2;
30517 MenhirLib.EngineTypes.startp = _startpos__2_;
30518 MenhirLib.EngineTypes.endp = _endpos__2_;
30519 MenhirLib.EngineTypes.next = {
30520 MenhirLib.EngineTypes.state = _menhir_s;
30521 MenhirLib.EngineTypes.semv = _1;
30522 MenhirLib.EngineTypes.startp = _startpos__1_;
30523 MenhirLib.EngineTypes.endp = _endpos__1_;
30524 MenhirLib.EngineTypes.next = _menhir_stack;
30525 };
30526 };
30527 };
30528 };
30529 };
30530 };
30531 };
30532 };
30533 } = _menhir_stack in
30534 let _9 : 'tv_single_statement = Obj.magic _9 in
30535 let _8 : (
30536 # 80 "parser_cocci_menhir.mly"
30537 (Data.clt)
30538 # 30539 "parser_cocci_menhir.ml"
30539 ) = Obj.magic _8 in
30540 let _7 : 'tv_option_eexpr_ = Obj.magic _7 in
30541 let _6 : (
30542 # 110 "parser_cocci_menhir.mly"
30543 (Data.clt)
30544 # 30545 "parser_cocci_menhir.ml"
30545 ) = Obj.magic _6 in
30546 let _5 : 'tv_option_eexpr_ = Obj.magic _5 in
30547 let _4 : (
30548 # 110 "parser_cocci_menhir.mly"
30549 (Data.clt)
30550 # 30551 "parser_cocci_menhir.ml"
30551 ) = Obj.magic _4 in
30552 let _3 : 'tv_option_eexpr_ = Obj.magic _3 in
30553 let _2 : (
30554 # 79 "parser_cocci_menhir.mly"
30555 (Data.clt)
30556 # 30557 "parser_cocci_menhir.ml"
30557 ) = Obj.magic _2 in
30558 let _1 : (
30559 # 59 "parser_cocci_menhir.mly"
30560 (Data.clt)
30561 # 30562 "parser_cocci_menhir.ml"
30562 ) = Obj.magic _1 in
30563 let _startpos = _startpos__1_ in
30564 let _endpos = _endpos__9_ in
30565 let _v : 'tv_statement =
30566 # 890 "parser_cocci_menhir.mly"
30567 ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 )
30568 # 30569 "parser_cocci_menhir.ml"
30569 in
30570 _menhir_env.MenhirLib.EngineTypes.stack <- {
30571 MenhirLib.EngineTypes.state = _menhir_s;
30572 MenhirLib.EngineTypes.semv = Obj.repr _v;
30573 MenhirLib.EngineTypes.startp = _startpos;
30574 MenhirLib.EngineTypes.endp = _endpos;
30575 MenhirLib.EngineTypes.next = _menhir_stack;
30576 });
30577 (fun _menhir_env ->
30578 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30579 let {
30580 MenhirLib.EngineTypes.semv = _5;
30581 MenhirLib.EngineTypes.startp = _startpos__5_;
30582 MenhirLib.EngineTypes.endp = _endpos__5_;
30583 MenhirLib.EngineTypes.next = {
30584 MenhirLib.EngineTypes.semv = _4;
30585 MenhirLib.EngineTypes.startp = _startpos__4_;
30586 MenhirLib.EngineTypes.endp = _endpos__4_;
30587 MenhirLib.EngineTypes.next = {
30588 MenhirLib.EngineTypes.semv = _3;
30589 MenhirLib.EngineTypes.startp = _startpos__3_;
30590 MenhirLib.EngineTypes.endp = _endpos__3_;
30591 MenhirLib.EngineTypes.next = {
30592 MenhirLib.EngineTypes.semv = _2;
30593 MenhirLib.EngineTypes.startp = _startpos__2_;
30594 MenhirLib.EngineTypes.endp = _endpos__2_;
30595 MenhirLib.EngineTypes.next = {
30596 MenhirLib.EngineTypes.state = _menhir_s;
30597 MenhirLib.EngineTypes.semv = _1;
30598 MenhirLib.EngineTypes.startp = _startpos__1_;
30599 MenhirLib.EngineTypes.endp = _endpos__1_;
30600 MenhirLib.EngineTypes.next = _menhir_stack;
30601 };
30602 };
30603 };
30604 };
30605 } = _menhir_stack in
30606 let _5 : 'tv_single_statement = Obj.magic _5 in
30607 let _4 : (
30608 # 80 "parser_cocci_menhir.mly"
30609 (Data.clt)
30610 # 30611 "parser_cocci_menhir.ml"
30611 ) = Obj.magic _4 in
30612 let _3 : 'tv_eexpr = Obj.magic _3 in
30613 let _2 : (
30614 # 79 "parser_cocci_menhir.mly"
30615 (Data.clt)
30616 # 30617 "parser_cocci_menhir.ml"
30617 ) = Obj.magic _2 in
30618 let _1 : (
30619 # 59 "parser_cocci_menhir.mly"
30620 (Data.clt)
30621 # 30622 "parser_cocci_menhir.ml"
30622 ) = Obj.magic _1 in
30623 let _startpos = _startpos__1_ in
30624 let _endpos = _endpos__5_ in
30625 let _v : 'tv_statement =
30626 # 892 "parser_cocci_menhir.mly"
30627 ( P.whileloop _1 _2 _3 _4 _5 )
30628 # 30629 "parser_cocci_menhir.ml"
30629 in
30630 _menhir_env.MenhirLib.EngineTypes.stack <- {
30631 MenhirLib.EngineTypes.state = _menhir_s;
30632 MenhirLib.EngineTypes.semv = Obj.repr _v;
30633 MenhirLib.EngineTypes.startp = _startpos;
30634 MenhirLib.EngineTypes.endp = _endpos;
30635 MenhirLib.EngineTypes.next = _menhir_stack;
30636 });
30637 (fun _menhir_env ->
30638 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30639 let {
30640 MenhirLib.EngineTypes.semv = _7;
30641 MenhirLib.EngineTypes.startp = _startpos__7_;
30642 MenhirLib.EngineTypes.endp = _endpos__7_;
30643 MenhirLib.EngineTypes.next = {
30644 MenhirLib.EngineTypes.semv = _6;
30645 MenhirLib.EngineTypes.startp = _startpos__6_;
30646 MenhirLib.EngineTypes.endp = _endpos__6_;
30647 MenhirLib.EngineTypes.next = {
30648 MenhirLib.EngineTypes.semv = _5;
30649 MenhirLib.EngineTypes.startp = _startpos__5_;
30650 MenhirLib.EngineTypes.endp = _endpos__5_;
30651 MenhirLib.EngineTypes.next = {
30652 MenhirLib.EngineTypes.semv = _4;
30653 MenhirLib.EngineTypes.startp = _startpos__4_;
30654 MenhirLib.EngineTypes.endp = _endpos__4_;
30655 MenhirLib.EngineTypes.next = {
30656 MenhirLib.EngineTypes.semv = _3;
30657 MenhirLib.EngineTypes.startp = _startpos__3_;
30658 MenhirLib.EngineTypes.endp = _endpos__3_;
30659 MenhirLib.EngineTypes.next = {
30660 MenhirLib.EngineTypes.semv = _2;
30661 MenhirLib.EngineTypes.startp = _startpos__2_;
30662 MenhirLib.EngineTypes.endp = _endpos__2_;
30663 MenhirLib.EngineTypes.next = {
30664 MenhirLib.EngineTypes.state = _menhir_s;
30665 MenhirLib.EngineTypes.semv = _1;
30666 MenhirLib.EngineTypes.startp = _startpos__1_;
30667 MenhirLib.EngineTypes.endp = _endpos__1_;
30668 MenhirLib.EngineTypes.next = _menhir_stack;
30669 };
30670 };
30671 };
30672 };
30673 };
30674 };
30675 } = _menhir_stack in
30676 let _7 : (
30677 # 110 "parser_cocci_menhir.mly"
30678 (Data.clt)
30679 # 30680 "parser_cocci_menhir.ml"
30680 ) = Obj.magic _7 in
30681 let _6 : (
30682 # 80 "parser_cocci_menhir.mly"
30683 (Data.clt)
30684 # 30685 "parser_cocci_menhir.ml"
30685 ) = Obj.magic _6 in
30686 let _5 : 'tv_eexpr = Obj.magic _5 in
30687 let _4 : (
30688 # 79 "parser_cocci_menhir.mly"
30689 (Data.clt)
30690 # 30691 "parser_cocci_menhir.ml"
30691 ) = Obj.magic _4 in
30692 let _3 : (
30693 # 59 "parser_cocci_menhir.mly"
30694 (Data.clt)
30695 # 30696 "parser_cocci_menhir.ml"
30696 ) = Obj.magic _3 in
30697 let _2 : 'tv_single_statement = Obj.magic _2 in
30698 let _1 : (
30699 # 59 "parser_cocci_menhir.mly"
30700 (Data.clt)
30701 # 30702 "parser_cocci_menhir.ml"
30702 ) = Obj.magic _1 in
30703 let _startpos = _startpos__1_ in
30704 let _endpos = _endpos__7_ in
30705 let _v : 'tv_statement =
30706 # 894 "parser_cocci_menhir.mly"
30707 ( P.doloop _1 _2 _3 _4 _5 _6 _7 )
30708 # 30709 "parser_cocci_menhir.ml"
30709 in
30710 _menhir_env.MenhirLib.EngineTypes.stack <- {
30711 MenhirLib.EngineTypes.state = _menhir_s;
30712 MenhirLib.EngineTypes.semv = Obj.repr _v;
30713 MenhirLib.EngineTypes.startp = _startpos;
30714 MenhirLib.EngineTypes.endp = _endpos;
30715 MenhirLib.EngineTypes.next = _menhir_stack;
30716 });
30717 (fun _menhir_env ->
30718 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30719 let {
30720 MenhirLib.EngineTypes.semv = _5;
30721 MenhirLib.EngineTypes.startp = _startpos__5_;
30722 MenhirLib.EngineTypes.endp = _endpos__5_;
30723 MenhirLib.EngineTypes.next = {
30724 MenhirLib.EngineTypes.semv = _4;
30725 MenhirLib.EngineTypes.startp = _startpos__4_;
30726 MenhirLib.EngineTypes.endp = _endpos__4_;
30727 MenhirLib.EngineTypes.next = {
30728 MenhirLib.EngineTypes.semv = _3;
30729 MenhirLib.EngineTypes.startp = _startpos__3_;
30730 MenhirLib.EngineTypes.endp = _endpos__3_;
30731 MenhirLib.EngineTypes.next = {
30732 MenhirLib.EngineTypes.semv = _2;
30733 MenhirLib.EngineTypes.startp = _startpos__2_;
30734 MenhirLib.EngineTypes.endp = _endpos__2_;
30735 MenhirLib.EngineTypes.next = {
30736 MenhirLib.EngineTypes.state = _menhir_s;
30737 MenhirLib.EngineTypes.semv = _1;
30738 MenhirLib.EngineTypes.startp = _startpos__1_;
30739 MenhirLib.EngineTypes.endp = _endpos__1_;
30740 MenhirLib.EngineTypes.next = _menhir_stack;
30741 };
30742 };
30743 };
30744 };
30745 } = _menhir_stack in
30746 let _5 : 'tv_single_statement = Obj.magic _5 in
30747 let _4 : (
30748 # 80 "parser_cocci_menhir.mly"
30749 (Data.clt)
30750 # 30751 "parser_cocci_menhir.ml"
30751 ) = Obj.magic _4 in
30752 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
30753 let _2 : (
30754 # 79 "parser_cocci_menhir.mly"
30755 (Data.clt)
30756 # 30757 "parser_cocci_menhir.ml"
30757 ) = Obj.magic _2 in
30758 let _1 : 'tv_iter_ident = Obj.magic _1 in
30759 let _startpos = _startpos__1_ in
30760 let _endpos = _endpos__5_ in
30761 let _v : 'tv_statement =
30762 # 896 "parser_cocci_menhir.mly"
30763 ( P.iterator _1 _2 _3 _4 _5 )
30764 # 30765 "parser_cocci_menhir.ml"
30765 in
30766 _menhir_env.MenhirLib.EngineTypes.stack <- {
30767 MenhirLib.EngineTypes.state = _menhir_s;
30768 MenhirLib.EngineTypes.semv = Obj.repr _v;
30769 MenhirLib.EngineTypes.startp = _startpos;
30770 MenhirLib.EngineTypes.endp = _endpos;
30771 MenhirLib.EngineTypes.next = _menhir_stack;
30772 });
30773 (fun _menhir_env ->
30774 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30775 let {
30776 MenhirLib.EngineTypes.semv = _8;
30777 MenhirLib.EngineTypes.startp = _startpos__8_;
30778 MenhirLib.EngineTypes.endp = _endpos__8_;
30779 MenhirLib.EngineTypes.next = {
30780 MenhirLib.EngineTypes.semv = _7;
30781 MenhirLib.EngineTypes.startp = _startpos__7_;
30782 MenhirLib.EngineTypes.endp = _endpos__7_;
30783 MenhirLib.EngineTypes.next = {
30784 MenhirLib.EngineTypes.semv = _6;
30785 MenhirLib.EngineTypes.startp = _startpos__6_;
30786 MenhirLib.EngineTypes.endp = _endpos__6_;
30787 MenhirLib.EngineTypes.next = {
30788 MenhirLib.EngineTypes.semv = _5;
30789 MenhirLib.EngineTypes.startp = _startpos__5_;
30790 MenhirLib.EngineTypes.endp = _endpos__5_;
30791 MenhirLib.EngineTypes.next = {
30792 MenhirLib.EngineTypes.semv = _4;
30793 MenhirLib.EngineTypes.startp = _startpos__4_;
30794 MenhirLib.EngineTypes.endp = _endpos__4_;
30795 MenhirLib.EngineTypes.next = {
30796 MenhirLib.EngineTypes.semv = _3;
30797 MenhirLib.EngineTypes.startp = _startpos__3_;
30798 MenhirLib.EngineTypes.endp = _endpos__3_;
30799 MenhirLib.EngineTypes.next = {
30800 MenhirLib.EngineTypes.semv = _2;
30801 MenhirLib.EngineTypes.startp = _startpos__2_;
30802 MenhirLib.EngineTypes.endp = _endpos__2_;
30803 MenhirLib.EngineTypes.next = {
30804 MenhirLib.EngineTypes.state = _menhir_s;
30805 MenhirLib.EngineTypes.semv = _1;
30806 MenhirLib.EngineTypes.startp = _startpos__1_;
30807 MenhirLib.EngineTypes.endp = _endpos__1_;
30808 MenhirLib.EngineTypes.next = _menhir_stack;
30809 };
30810 };
30811 };
30812 };
30813 };
30814 };
30815 };
30816 } = _menhir_stack in
30817 let _8 : (
30818 # 104 "parser_cocci_menhir.mly"
30819 (Data.clt)
30820 # 30821 "parser_cocci_menhir.ml"
30821 ) = Obj.magic _8 in
30822 let _7 : 'tv_list_case_line_ = Obj.magic _7 in
30823 let _6 : 'tv_list_decl_var_ = Obj.magic _6 in
30824 let _5 : (
30825 # 104 "parser_cocci_menhir.mly"
30826 (Data.clt)
30827 # 30828 "parser_cocci_menhir.ml"
30828 ) = Obj.magic _5 in
30829 let _4 : (
30830 # 80 "parser_cocci_menhir.mly"
30831 (Data.clt)
30832 # 30833 "parser_cocci_menhir.ml"
30833 ) = Obj.magic _4 in
30834 let _3 : 'tv_eexpr = Obj.magic _3 in
30835 let _2 : (
30836 # 79 "parser_cocci_menhir.mly"
30837 (Data.clt)
30838 # 30839 "parser_cocci_menhir.ml"
30839 ) = Obj.magic _2 in
30840 let _1 : (
30841 # 59 "parser_cocci_menhir.mly"
30842 (Data.clt)
30843 # 30844 "parser_cocci_menhir.ml"
30844 ) = Obj.magic _1 in
30845 let _startpos = _startpos__1_ in
30846 let _endpos = _endpos__8_ in
30847 let _v : 'tv_statement =
30848 # 898 "parser_cocci_menhir.mly"
30849 ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 )
30850 # 30851 "parser_cocci_menhir.ml"
30851 in
30852 _menhir_env.MenhirLib.EngineTypes.stack <- {
30853 MenhirLib.EngineTypes.state = _menhir_s;
30854 MenhirLib.EngineTypes.semv = Obj.repr _v;
30855 MenhirLib.EngineTypes.startp = _startpos;
30856 MenhirLib.EngineTypes.endp = _endpos;
30857 MenhirLib.EngineTypes.next = _menhir_stack;
30858 });
30859 (fun _menhir_env ->
30860 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30861 let {
30862 MenhirLib.EngineTypes.semv = _3;
30863 MenhirLib.EngineTypes.startp = _startpos__3_;
30864 MenhirLib.EngineTypes.endp = _endpos__3_;
30865 MenhirLib.EngineTypes.next = {
30866 MenhirLib.EngineTypes.semv = _2;
30867 MenhirLib.EngineTypes.startp = _startpos__2_;
30868 MenhirLib.EngineTypes.endp = _endpos__2_;
30869 MenhirLib.EngineTypes.next = {
30870 MenhirLib.EngineTypes.state = _menhir_s;
30871 MenhirLib.EngineTypes.semv = _1;
30872 MenhirLib.EngineTypes.startp = _startpos__1_;
30873 MenhirLib.EngineTypes.endp = _endpos__1_;
30874 MenhirLib.EngineTypes.next = _menhir_stack;
30875 };
30876 };
30877 } = _menhir_stack in
30878 let _3 : (
30879 # 110 "parser_cocci_menhir.mly"
30880 (Data.clt)
30881 # 30882 "parser_cocci_menhir.ml"
30882 ) = Obj.magic _3 in
30883 let _2 : 'tv_eexpr = Obj.magic _2 in
30884 let _1 : (
30885 # 59 "parser_cocci_menhir.mly"
30886 (Data.clt)
30887 # 30888 "parser_cocci_menhir.ml"
30888 ) = Obj.magic _1 in
30889 let _startpos = _startpos__1_ in
30890 let _endpos = _endpos__3_ in
30891 let _v : 'tv_statement =
30892 # 899 "parser_cocci_menhir.mly"
30893 ( P.ret_exp _1 _2 _3 )
30894 # 30895 "parser_cocci_menhir.ml"
30895 in
30896 _menhir_env.MenhirLib.EngineTypes.stack <- {
30897 MenhirLib.EngineTypes.state = _menhir_s;
30898 MenhirLib.EngineTypes.semv = Obj.repr _v;
30899 MenhirLib.EngineTypes.startp = _startpos;
30900 MenhirLib.EngineTypes.endp = _endpos;
30901 MenhirLib.EngineTypes.next = _menhir_stack;
30902 });
30903 (fun _menhir_env ->
30904 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30905 let {
30906 MenhirLib.EngineTypes.semv = _2;
30907 MenhirLib.EngineTypes.startp = _startpos__2_;
30908 MenhirLib.EngineTypes.endp = _endpos__2_;
30909 MenhirLib.EngineTypes.next = {
30910 MenhirLib.EngineTypes.state = _menhir_s;
30911 MenhirLib.EngineTypes.semv = _1;
30912 MenhirLib.EngineTypes.startp = _startpos__1_;
30913 MenhirLib.EngineTypes.endp = _endpos__1_;
30914 MenhirLib.EngineTypes.next = _menhir_stack;
30915 };
30916 } = _menhir_stack in
30917 let _2 : (
30918 # 110 "parser_cocci_menhir.mly"
30919 (Data.clt)
30920 # 30921 "parser_cocci_menhir.ml"
30921 ) = Obj.magic _2 in
30922 let _1 : (
30923 # 59 "parser_cocci_menhir.mly"
30924 (Data.clt)
30925 # 30926 "parser_cocci_menhir.ml"
30926 ) = Obj.magic _1 in
30927 let _startpos = _startpos__1_ in
30928 let _endpos = _endpos__2_ in
30929 let _v : 'tv_statement =
30930 # 900 "parser_cocci_menhir.mly"
30931 ( P.ret _1 _2 )
30932 # 30933 "parser_cocci_menhir.ml"
30933 in
30934 _menhir_env.MenhirLib.EngineTypes.stack <- {
30935 MenhirLib.EngineTypes.state = _menhir_s;
30936 MenhirLib.EngineTypes.semv = Obj.repr _v;
30937 MenhirLib.EngineTypes.startp = _startpos;
30938 MenhirLib.EngineTypes.endp = _endpos;
30939 MenhirLib.EngineTypes.next = _menhir_stack;
30940 });
30941 (fun _menhir_env ->
30942 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30943 let {
30944 MenhirLib.EngineTypes.semv = _2;
30945 MenhirLib.EngineTypes.startp = _startpos__2_;
30946 MenhirLib.EngineTypes.endp = _endpos__2_;
30947 MenhirLib.EngineTypes.next = {
30948 MenhirLib.EngineTypes.state = _menhir_s;
30949 MenhirLib.EngineTypes.semv = _1;
30950 MenhirLib.EngineTypes.startp = _startpos__1_;
30951 MenhirLib.EngineTypes.endp = _endpos__1_;
30952 MenhirLib.EngineTypes.next = _menhir_stack;
30953 };
30954 } = _menhir_stack in
30955 let _2 : (
30956 # 110 "parser_cocci_menhir.mly"
30957 (Data.clt)
30958 # 30959 "parser_cocci_menhir.ml"
30959 ) = Obj.magic _2 in
30960 let _1 : (
30961 # 60 "parser_cocci_menhir.mly"
30962 (Data.clt)
30963 # 30964 "parser_cocci_menhir.ml"
30964 ) = Obj.magic _1 in
30965 let _startpos = _startpos__1_ in
30966 let _endpos = _endpos__2_ in
30967 let _v : 'tv_statement =
30968 # 901 "parser_cocci_menhir.mly"
30969 ( P.break _1 _2 )
30970 # 30971 "parser_cocci_menhir.ml"
30971 in
30972 _menhir_env.MenhirLib.EngineTypes.stack <- {
30973 MenhirLib.EngineTypes.state = _menhir_s;
30974 MenhirLib.EngineTypes.semv = Obj.repr _v;
30975 MenhirLib.EngineTypes.startp = _startpos;
30976 MenhirLib.EngineTypes.endp = _endpos;
30977 MenhirLib.EngineTypes.next = _menhir_stack;
30978 });
30979 (fun _menhir_env ->
30980 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30981 let {
30982 MenhirLib.EngineTypes.semv = _2;
30983 MenhirLib.EngineTypes.startp = _startpos__2_;
30984 MenhirLib.EngineTypes.endp = _endpos__2_;
30985 MenhirLib.EngineTypes.next = {
30986 MenhirLib.EngineTypes.state = _menhir_s;
30987 MenhirLib.EngineTypes.semv = _1;
30988 MenhirLib.EngineTypes.startp = _startpos__1_;
30989 MenhirLib.EngineTypes.endp = _endpos__1_;
30990 MenhirLib.EngineTypes.next = _menhir_stack;
30991 };
30992 } = _menhir_stack in
30993 let _2 : (
30994 # 110 "parser_cocci_menhir.mly"
30995 (Data.clt)
30996 # 30997 "parser_cocci_menhir.ml"
30997 ) = Obj.magic _2 in
30998 let _1 : (
30999 # 60 "parser_cocci_menhir.mly"
31000 (Data.clt)
31001 # 31002 "parser_cocci_menhir.ml"
31002 ) = Obj.magic _1 in
31003 let _startpos = _startpos__1_ in
31004 let _endpos = _endpos__2_ in
31005 let _v : 'tv_statement =
31006 # 902 "parser_cocci_menhir.mly"
31007 ( P.cont _1 _2 )
31008 # 31009 "parser_cocci_menhir.ml"
31009 in
31010 _menhir_env.MenhirLib.EngineTypes.stack <- {
31011 MenhirLib.EngineTypes.state = _menhir_s;
31012 MenhirLib.EngineTypes.semv = Obj.repr _v;
31013 MenhirLib.EngineTypes.startp = _startpos;
31014 MenhirLib.EngineTypes.endp = _endpos;
31015 MenhirLib.EngineTypes.next = _menhir_stack;
31016 });
31017 (fun _menhir_env ->
31018 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31019 let {
31020 MenhirLib.EngineTypes.semv = _2;
31021 MenhirLib.EngineTypes.startp = _startpos__2_;
31022 MenhirLib.EngineTypes.endp = _endpos__2_;
31023 MenhirLib.EngineTypes.next = {
31024 MenhirLib.EngineTypes.state = _menhir_s;
31025 MenhirLib.EngineTypes.semv = _1;
31026 MenhirLib.EngineTypes.startp = _startpos__1_;
31027 MenhirLib.EngineTypes.endp = _endpos__1_;
31028 MenhirLib.EngineTypes.next = _menhir_stack;
31029 };
31030 } = _menhir_stack in
31031 let _2 : (
31032 # 79 "parser_cocci_menhir.mly"
31033 (Data.clt)
31034 # 31035 "parser_cocci_menhir.ml"
31035 ) = Obj.magic _2 in
31036 let _1 : 'tv_ident = Obj.magic _1 in
31037 let _startpos = _startpos__1_ in
31038 let _endpos = _endpos__2_ in
31039 let _v : 'tv_statement =
31040 # 903 "parser_cocci_menhir.mly"
31041 ( P.label _1 _2 )
31042 # 31043 "parser_cocci_menhir.ml"
31043 in
31044 _menhir_env.MenhirLib.EngineTypes.stack <- {
31045 MenhirLib.EngineTypes.state = _menhir_s;
31046 MenhirLib.EngineTypes.semv = Obj.repr _v;
31047 MenhirLib.EngineTypes.startp = _startpos;
31048 MenhirLib.EngineTypes.endp = _endpos;
31049 MenhirLib.EngineTypes.next = _menhir_stack;
31050 });
31051 (fun _menhir_env ->
31052 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31053 let {
31054 MenhirLib.EngineTypes.semv = _3;
31055 MenhirLib.EngineTypes.startp = _startpos__3_;
31056 MenhirLib.EngineTypes.endp = _endpos__3_;
31057 MenhirLib.EngineTypes.next = {
31058 MenhirLib.EngineTypes.semv = _2;
31059 MenhirLib.EngineTypes.startp = _startpos__2_;
31060 MenhirLib.EngineTypes.endp = _endpos__2_;
31061 MenhirLib.EngineTypes.next = {
31062 MenhirLib.EngineTypes.state = _menhir_s;
31063 MenhirLib.EngineTypes.semv = _1;
31064 MenhirLib.EngineTypes.startp = _startpos__1_;
31065 MenhirLib.EngineTypes.endp = _endpos__1_;
31066 MenhirLib.EngineTypes.next = _menhir_stack;
31067 };
31068 };
31069 } = _menhir_stack in
31070 let _3 : (
31071 # 110 "parser_cocci_menhir.mly"
31072 (Data.clt)
31073 # 31074 "parser_cocci_menhir.ml"
31074 ) = Obj.magic _3 in
31075 let _2 : 'tv_ident = Obj.magic _2 in
31076 let _1 : (
31077 # 60 "parser_cocci_menhir.mly"
31078 (Data.clt)
31079 # 31080 "parser_cocci_menhir.ml"
31080 ) = Obj.magic _1 in
31081 let _startpos = _startpos__1_ in
31082 let _endpos = _endpos__3_ in
31083 let _v : 'tv_statement =
31084 # 904 "parser_cocci_menhir.mly"
31085 ( P.goto _1 _2 _3 )
31086 # 31087 "parser_cocci_menhir.ml"
31087 in
31088 _menhir_env.MenhirLib.EngineTypes.stack <- {
31089 MenhirLib.EngineTypes.state = _menhir_s;
31090 MenhirLib.EngineTypes.semv = Obj.repr _v;
31091 MenhirLib.EngineTypes.startp = _startpos;
31092 MenhirLib.EngineTypes.endp = _endpos;
31093 MenhirLib.EngineTypes.next = _menhir_stack;
31094 });
31095 (fun _menhir_env ->
31096 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31097 let {
31098 MenhirLib.EngineTypes.semv = _3;
31099 MenhirLib.EngineTypes.startp = _startpos__3_;
31100 MenhirLib.EngineTypes.endp = _endpos__3_;
31101 MenhirLib.EngineTypes.next = {
31102 MenhirLib.EngineTypes.semv = _2;
31103 MenhirLib.EngineTypes.startp = _startpos__2_;
31104 MenhirLib.EngineTypes.endp = _endpos__2_;
31105 MenhirLib.EngineTypes.next = {
31106 MenhirLib.EngineTypes.state = _menhir_s;
31107 MenhirLib.EngineTypes.semv = _1;
31108 MenhirLib.EngineTypes.startp = _startpos__1_;
31109 MenhirLib.EngineTypes.endp = _endpos__1_;
31110 MenhirLib.EngineTypes.next = _menhir_stack;
31111 };
31112 };
31113 } = _menhir_stack in
31114 let _3 : (
31115 # 104 "parser_cocci_menhir.mly"
31116 (Data.clt)
31117 # 31118 "parser_cocci_menhir.ml"
31118 ) = Obj.magic _3 in
31119 let _2 : 'tv_fun_start = Obj.magic _2 in
31120 let _1 : (
31121 # 104 "parser_cocci_menhir.mly"
31122 (Data.clt)
31123 # 31124 "parser_cocci_menhir.ml"
31124 ) = Obj.magic _1 in
31125 let _startpos = _startpos__1_ in
31126 let _endpos = _endpos__3_ in
31127 let _v : 'tv_statement =
31128 # 906 "parser_cocci_menhir.mly"
31129 ( P.seq _1 _2 _3 )
31130 # 31131 "parser_cocci_menhir.ml"
31131 in
31132 _menhir_env.MenhirLib.EngineTypes.stack <- {
31133 MenhirLib.EngineTypes.state = _menhir_s;
31134 MenhirLib.EngineTypes.semv = Obj.repr _v;
31135 MenhirLib.EngineTypes.startp = _startpos;
31136 MenhirLib.EngineTypes.endp = _endpos;
31137 MenhirLib.EngineTypes.next = _menhir_stack;
31138 });
31139 (fun _menhir_env ->
31140 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31141 let {
31142 MenhirLib.EngineTypes.semv = w;
31143 MenhirLib.EngineTypes.startp = _startpos_w_;
31144 MenhirLib.EngineTypes.endp = _endpos_w_;
31145 MenhirLib.EngineTypes.next = {
31146 MenhirLib.EngineTypes.state = _menhir_s;
31147 MenhirLib.EngineTypes.semv = _1;
31148 MenhirLib.EngineTypes.startp = _startpos__1_;
31149 MenhirLib.EngineTypes.endp = _endpos__1_;
31150 MenhirLib.EngineTypes.next = _menhir_stack;
31151 };
31152 } = _menhir_stack in
31153 let w : 'tv_list_whenppdecs_ = Obj.magic w in
31154 let _1 : (
31155 # 76 "parser_cocci_menhir.mly"
31156 (Data.clt)
31157 # 31158 "parser_cocci_menhir.ml"
31158 ) = Obj.magic _1 in
31159 let _startpos = _startpos__1_ in
31160 let _endpos = _endpos_w_ in
31161 let _v : 'tv_stm_dots =
31162 # 910 "parser_cocci_menhir.mly"
31163 ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) )
31164 # 31165 "parser_cocci_menhir.ml"
31165 in
31166 _menhir_env.MenhirLib.EngineTypes.stack <- {
31167 MenhirLib.EngineTypes.state = _menhir_s;
31168 MenhirLib.EngineTypes.semv = Obj.repr _v;
31169 MenhirLib.EngineTypes.startp = _startpos;
31170 MenhirLib.EngineTypes.endp = _endpos;
31171 MenhirLib.EngineTypes.next = _menhir_stack;
31172 });
31173 (fun _menhir_env ->
31174 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31175 let {
31176 MenhirLib.EngineTypes.semv = c;
31177 MenhirLib.EngineTypes.startp = _startpos_c_;
31178 MenhirLib.EngineTypes.endp = _endpos_c_;
31179 MenhirLib.EngineTypes.next = {
31180 MenhirLib.EngineTypes.semv = b;
31181 MenhirLib.EngineTypes.startp = _startpos_b_;
31182 MenhirLib.EngineTypes.endp = _endpos_b_;
31183 MenhirLib.EngineTypes.next = {
31184 MenhirLib.EngineTypes.semv = w;
31185 MenhirLib.EngineTypes.startp = _startpos_w_;
31186 MenhirLib.EngineTypes.endp = _endpos_w_;
31187 MenhirLib.EngineTypes.next = {
31188 MenhirLib.EngineTypes.state = _menhir_s;
31189 MenhirLib.EngineTypes.semv = _1;
31190 MenhirLib.EngineTypes.startp = _startpos__1_;
31191 MenhirLib.EngineTypes.endp = _endpos__1_;
31192 MenhirLib.EngineTypes.next = _menhir_stack;
31193 };
31194 };
31195 };
31196 } = _menhir_stack in
31197 let c : (
31198 # 76 "parser_cocci_menhir.mly"
31199 (Data.clt)
31200 # 31201 "parser_cocci_menhir.ml"
31201 ) = Obj.magic c in
31202 let b : 'tv_nest_start = Obj.magic b in
31203 let w : 'tv_list_whenppdecs_ = Obj.magic w in
31204 let _1 : (
31205 # 76 "parser_cocci_menhir.mly"
31206 (Data.clt)
31207 # 31208 "parser_cocci_menhir.ml"
31208 ) = Obj.magic _1 in
31209 let _startpos = _startpos__1_ in
31210 let _endpos = _endpos_c_ in
31211 let _v : 'tv_stm_dots =
31212 # 912 "parser_cocci_menhir.mly"
31213 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b,
31214 P.clt2mcode "...>" c, List.concat w, false)) )
31215 # 31216 "parser_cocci_menhir.ml"
31216 in
31217 _menhir_env.MenhirLib.EngineTypes.stack <- {
31218 MenhirLib.EngineTypes.state = _menhir_s;
31219 MenhirLib.EngineTypes.semv = Obj.repr _v;
31220 MenhirLib.EngineTypes.startp = _startpos;
31221 MenhirLib.EngineTypes.endp = _endpos;
31222 MenhirLib.EngineTypes.next = _menhir_stack;
31223 });
31224 (fun _menhir_env ->
31225 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31226 let {
31227 MenhirLib.EngineTypes.semv = c;
31228 MenhirLib.EngineTypes.startp = _startpos_c_;
31229 MenhirLib.EngineTypes.endp = _endpos_c_;
31230 MenhirLib.EngineTypes.next = {
31231 MenhirLib.EngineTypes.semv = b;
31232 MenhirLib.EngineTypes.startp = _startpos_b_;
31233 MenhirLib.EngineTypes.endp = _endpos_b_;
31234 MenhirLib.EngineTypes.next = {
31235 MenhirLib.EngineTypes.semv = w;
31236 MenhirLib.EngineTypes.startp = _startpos_w_;
31237 MenhirLib.EngineTypes.endp = _endpos_w_;
31238 MenhirLib.EngineTypes.next = {
31239 MenhirLib.EngineTypes.state = _menhir_s;
31240 MenhirLib.EngineTypes.semv = _1;
31241 MenhirLib.EngineTypes.startp = _startpos__1_;
31242 MenhirLib.EngineTypes.endp = _endpos__1_;
31243 MenhirLib.EngineTypes.next = _menhir_stack;
31244 };
31245 };
31246 };
31247 } = _menhir_stack in
31248 let c : (
31249 # 76 "parser_cocci_menhir.mly"
31250 (Data.clt)
31251 # 31252 "parser_cocci_menhir.ml"
31252 ) = Obj.magic c in
31253 let b : 'tv_nest_start = Obj.magic b in
31254 let w : 'tv_list_whenppdecs_ = Obj.magic w in
31255 let _1 : (
31256 # 76 "parser_cocci_menhir.mly"
31257 (Data.clt)
31258 # 31259 "parser_cocci_menhir.ml"
31259 ) = Obj.magic _1 in
31260 let _startpos = _startpos__1_ in
31261 let _endpos = _endpos_c_ in
31262 let _v : 'tv_stm_dots =
31263 # 915 "parser_cocci_menhir.mly"
31264 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b,
31265 P.clt2mcode "...+>" c, List.concat w, true)) )
31266 # 31267 "parser_cocci_menhir.ml"
31267 in
31268 _menhir_env.MenhirLib.EngineTypes.stack <- {
31269 MenhirLib.EngineTypes.state = _menhir_s;
31270 MenhirLib.EngineTypes.semv = Obj.repr _v;
31271 MenhirLib.EngineTypes.startp = _startpos;
31272 MenhirLib.EngineTypes.endp = _endpos;
31273 MenhirLib.EngineTypes.next = _menhir_stack;
31274 });
31275 (fun _menhir_env ->
31276 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31277 let {
31278 MenhirLib.EngineTypes.state = _menhir_s;
31279 MenhirLib.EngineTypes.semv = s;
31280 MenhirLib.EngineTypes.startp = _startpos_s_;
31281 MenhirLib.EngineTypes.endp = _endpos_s_;
31282 MenhirLib.EngineTypes.next = _menhir_stack;
31283 } = _menhir_stack in
31284 let s : (
31285 # 55 "parser_cocci_menhir.mly"
31286 (Data.clt)
31287 # 31288 "parser_cocci_menhir.ml"
31288 ) = Obj.magic s in
31289 let _startpos = _startpos_s_ in
31290 let _endpos = _endpos_s_ in
31291 let _v : 'tv_storage =
31292 # 841 "parser_cocci_menhir.mly"
31293 ( P.clt2mcode Ast.Static s )
31294 # 31295 "parser_cocci_menhir.ml"
31295 in
31296 _menhir_env.MenhirLib.EngineTypes.stack <- {
31297 MenhirLib.EngineTypes.state = _menhir_s;
31298 MenhirLib.EngineTypes.semv = Obj.repr _v;
31299 MenhirLib.EngineTypes.startp = _startpos;
31300 MenhirLib.EngineTypes.endp = _endpos;
31301 MenhirLib.EngineTypes.next = _menhir_stack;
31302 });
31303 (fun _menhir_env ->
31304 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31305 let {
31306 MenhirLib.EngineTypes.state = _menhir_s;
31307 MenhirLib.EngineTypes.semv = s;
31308 MenhirLib.EngineTypes.startp = _startpos_s_;
31309 MenhirLib.EngineTypes.endp = _endpos_s_;
31310 MenhirLib.EngineTypes.next = _menhir_stack;
31311 } = _menhir_stack in
31312 let s : (
31313 # 55 "parser_cocci_menhir.mly"
31314 (Data.clt)
31315 # 31316 "parser_cocci_menhir.ml"
31316 ) = Obj.magic s in
31317 let _startpos = _startpos_s_ in
31318 let _endpos = _endpos_s_ in
31319 let _v : 'tv_storage =
31320 # 842 "parser_cocci_menhir.mly"
31321 ( P.clt2mcode Ast.Auto s )
31322 # 31323 "parser_cocci_menhir.ml"
31323 in
31324 _menhir_env.MenhirLib.EngineTypes.stack <- {
31325 MenhirLib.EngineTypes.state = _menhir_s;
31326 MenhirLib.EngineTypes.semv = Obj.repr _v;
31327 MenhirLib.EngineTypes.startp = _startpos;
31328 MenhirLib.EngineTypes.endp = _endpos;
31329 MenhirLib.EngineTypes.next = _menhir_stack;
31330 });
31331 (fun _menhir_env ->
31332 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31333 let {
31334 MenhirLib.EngineTypes.state = _menhir_s;
31335 MenhirLib.EngineTypes.semv = s;
31336 MenhirLib.EngineTypes.startp = _startpos_s_;
31337 MenhirLib.EngineTypes.endp = _endpos_s_;
31338 MenhirLib.EngineTypes.next = _menhir_stack;
31339 } = _menhir_stack in
31340 let s : (
31341 # 55 "parser_cocci_menhir.mly"
31342 (Data.clt)
31343 # 31344 "parser_cocci_menhir.ml"
31344 ) = Obj.magic s in
31345 let _startpos = _startpos_s_ in
31346 let _endpos = _endpos_s_ in
31347 let _v : 'tv_storage =
31348 # 843 "parser_cocci_menhir.mly"
31349 ( P.clt2mcode Ast.Register s )
31350 # 31351 "parser_cocci_menhir.ml"
31351 in
31352 _menhir_env.MenhirLib.EngineTypes.stack <- {
31353 MenhirLib.EngineTypes.state = _menhir_s;
31354 MenhirLib.EngineTypes.semv = Obj.repr _v;
31355 MenhirLib.EngineTypes.startp = _startpos;
31356 MenhirLib.EngineTypes.endp = _endpos;
31357 MenhirLib.EngineTypes.next = _menhir_stack;
31358 });
31359 (fun _menhir_env ->
31360 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31361 let {
31362 MenhirLib.EngineTypes.state = _menhir_s;
31363 MenhirLib.EngineTypes.semv = s;
31364 MenhirLib.EngineTypes.startp = _startpos_s_;
31365 MenhirLib.EngineTypes.endp = _endpos_s_;
31366 MenhirLib.EngineTypes.next = _menhir_stack;
31367 } = _menhir_stack in
31368 let s : (
31369 # 55 "parser_cocci_menhir.mly"
31370 (Data.clt)
31371 # 31372 "parser_cocci_menhir.ml"
31372 ) = Obj.magic s in
31373 let _startpos = _startpos_s_ in
31374 let _endpos = _endpos_s_ in
31375 let _v : 'tv_storage =
31376 # 844 "parser_cocci_menhir.mly"
31377 ( P.clt2mcode Ast.Extern s )
31378 # 31379 "parser_cocci_menhir.ml"
31379 in
31380 _menhir_env.MenhirLib.EngineTypes.stack <- {
31381 MenhirLib.EngineTypes.state = _menhir_s;
31382 MenhirLib.EngineTypes.semv = Obj.repr _v;
31383 MenhirLib.EngineTypes.startp = _startpos;
31384 MenhirLib.EngineTypes.endp = _endpos;
31385 MenhirLib.EngineTypes.next = _menhir_stack;
31386 });
31387 (fun _menhir_env ->
31388 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31389 let {
31390 MenhirLib.EngineTypes.state = _menhir_s;
31391 MenhirLib.EngineTypes.startp = _startpos__1_;
31392 MenhirLib.EngineTypes.endp = _endpos__1_;
31393 MenhirLib.EngineTypes.next = _menhir_stack;
31394 } = _menhir_stack in
31395 let _startpos = _startpos__1_ in
31396 let _endpos = _endpos__1_ in
31397 let _v : 'tv_struct_decl =
31398 # 595 "parser_cocci_menhir.mly"
31399 ( [] )
31400 # 31401 "parser_cocci_menhir.ml"
31401 in
31402 _menhir_env.MenhirLib.EngineTypes.stack <- {
31403 MenhirLib.EngineTypes.state = _menhir_s;
31404 MenhirLib.EngineTypes.semv = Obj.repr _v;
31405 MenhirLib.EngineTypes.startp = _startpos;
31406 MenhirLib.EngineTypes.endp = _endpos;
31407 MenhirLib.EngineTypes.next = _menhir_stack;
31408 });
31409 (fun _menhir_env ->
31410 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31411 let {
31412 MenhirLib.EngineTypes.semv = pv;
31413 MenhirLib.EngineTypes.startp = _startpos_pv_;
31414 MenhirLib.EngineTypes.endp = _endpos_pv_;
31415 MenhirLib.EngineTypes.next = {
31416 MenhirLib.EngineTypes.semv = d;
31417 MenhirLib.EngineTypes.startp = _startpos_d_;
31418 MenhirLib.EngineTypes.endp = _endpos_d_;
31419 MenhirLib.EngineTypes.next = {
31420 MenhirLib.EngineTypes.state = _menhir_s;
31421 MenhirLib.EngineTypes.semv = t;
31422 MenhirLib.EngineTypes.startp = _startpos_t_;
31423 MenhirLib.EngineTypes.endp = _endpos_t_;
31424 MenhirLib.EngineTypes.next = _menhir_stack;
31425 };
31426 };
31427 } = _menhir_stack in
31428 let pv : (
31429 # 110 "parser_cocci_menhir.mly"
31430 (Data.clt)
31431 # 31432 "parser_cocci_menhir.ml"
31432 ) = Obj.magic pv in
31433 let d : 'tv_d_ident = Obj.magic d in
31434 let t : 'tv_ctype = Obj.magic t in
31435 let _startpos = _startpos_t_ in
31436 let _endpos = _endpos_pv_ in
31437 let _v : 'tv_struct_decl =
31438 # 597 "parser_cocci_menhir.mly"
31439 ( let (id,fn) = d in
31440 [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] )
31441 # 31442 "parser_cocci_menhir.ml"
31442 in
31443 _menhir_env.MenhirLib.EngineTypes.stack <- {
31444 MenhirLib.EngineTypes.state = _menhir_s;
31445 MenhirLib.EngineTypes.semv = Obj.repr _v;
31446 MenhirLib.EngineTypes.startp = _startpos;
31447 MenhirLib.EngineTypes.endp = _endpos;
31448 MenhirLib.EngineTypes.next = _menhir_stack;
31449 });
31450 (fun _menhir_env ->
31451 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31452 let {
31453 MenhirLib.EngineTypes.semv = pv;
31454 MenhirLib.EngineTypes.startp = _startpos_pv_;
31455 MenhirLib.EngineTypes.endp = _endpos_pv_;
31456 MenhirLib.EngineTypes.next = {
31457 MenhirLib.EngineTypes.semv = rp2;
31458 MenhirLib.EngineTypes.startp = _startpos_rp2_;
31459 MenhirLib.EngineTypes.endp = _endpos_rp2_;
31460 MenhirLib.EngineTypes.next = {
31461 MenhirLib.EngineTypes.semv = p;
31462 MenhirLib.EngineTypes.startp = _startpos_p_;
31463 MenhirLib.EngineTypes.endp = _endpos_p_;
31464 MenhirLib.EngineTypes.next = {
31465 MenhirLib.EngineTypes.semv = lp2;
31466 MenhirLib.EngineTypes.startp = _startpos_lp2_;
31467 MenhirLib.EngineTypes.endp = _endpos_lp2_;
31468 MenhirLib.EngineTypes.next = {
31469 MenhirLib.EngineTypes.semv = rp1;
31470 MenhirLib.EngineTypes.startp = _startpos_rp1_;
31471 MenhirLib.EngineTypes.endp = _endpos_rp1_;
31472 MenhirLib.EngineTypes.next = {
31473 MenhirLib.EngineTypes.semv = d;
31474 MenhirLib.EngineTypes.startp = _startpos_d_;
31475 MenhirLib.EngineTypes.endp = _endpos_d_;
31476 MenhirLib.EngineTypes.next = {
31477 MenhirLib.EngineTypes.semv = st;
31478 MenhirLib.EngineTypes.startp = _startpos_st_;
31479 MenhirLib.EngineTypes.endp = _endpos_st_;
31480 MenhirLib.EngineTypes.next = {
31481 MenhirLib.EngineTypes.semv = lp1;
31482 MenhirLib.EngineTypes.startp = _startpos_lp1_;
31483 MenhirLib.EngineTypes.endp = _endpos_lp1_;
31484 MenhirLib.EngineTypes.next = {
31485 MenhirLib.EngineTypes.state = _menhir_s;
31486 MenhirLib.EngineTypes.semv = t;
31487 MenhirLib.EngineTypes.startp = _startpos_t_;
31488 MenhirLib.EngineTypes.endp = _endpos_t_;
31489 MenhirLib.EngineTypes.next = _menhir_stack;
31490 };
31491 };
31492 };
31493 };
31494 };
31495 };
31496 };
31497 };
31498 } = _menhir_stack in
31499 let pv : (
31500 # 110 "parser_cocci_menhir.mly"
31501 (Data.clt)
31502 # 31503 "parser_cocci_menhir.ml"
31503 ) = Obj.magic pv in
31504 let rp2 : (
31505 # 80 "parser_cocci_menhir.mly"
31506 (Data.clt)
31507 # 31508 "parser_cocci_menhir.ml"
31508 ) = Obj.magic rp2 in
31509 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
31510 let lp2 : (
31511 # 79 "parser_cocci_menhir.mly"
31512 (Data.clt)
31513 # 31514 "parser_cocci_menhir.ml"
31514 ) = Obj.magic lp2 in
31515 let rp1 : (
31516 # 80 "parser_cocci_menhir.mly"
31517 (Data.clt)
31518 # 31519 "parser_cocci_menhir.ml"
31519 ) = Obj.magic rp1 in
31520 let d : 'tv_d_ident = Obj.magic d in
31521 let st : (
31522 # 102 "parser_cocci_menhir.mly"
31523 (Data.clt)
31524 # 31525 "parser_cocci_menhir.ml"
31525 ) = Obj.magic st in
31526 let lp1 : (
31527 # 79 "parser_cocci_menhir.mly"
31528 (Data.clt)
31529 # 31530 "parser_cocci_menhir.ml"
31530 ) = Obj.magic lp1 in
31531 let t : 'tv_ctype = Obj.magic t in
31532 let _startpos = _startpos_t_ in
31533 let _endpos = _endpos_pv_ in
31534 let _v : 'tv_struct_decl =
31535 # 601 "parser_cocci_menhir.mly"
31536 ( let (id,fn) = d in
31537 let t =
31538 Ast0.wrap
31539 (Ast0.FunctionPointer
31540 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
31541 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
31542 [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] )
31543 # 31544 "parser_cocci_menhir.ml"
31544 in
31545 _menhir_env.MenhirLib.EngineTypes.stack <- {
31546 MenhirLib.EngineTypes.state = _menhir_s;
31547 MenhirLib.EngineTypes.semv = Obj.repr _v;
31548 MenhirLib.EngineTypes.startp = _startpos;
31549 MenhirLib.EngineTypes.endp = _endpos;
31550 MenhirLib.EngineTypes.next = _menhir_stack;
31551 });
31552 (fun _menhir_env ->
31553 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31554 let {
31555 MenhirLib.EngineTypes.semv = pv;
31556 MenhirLib.EngineTypes.startp = _startpos_pv_;
31557 MenhirLib.EngineTypes.endp = _endpos_pv_;
31558 MenhirLib.EngineTypes.next = {
31559 MenhirLib.EngineTypes.semv = d;
31560 MenhirLib.EngineTypes.startp = _startpos_d_;
31561 MenhirLib.EngineTypes.endp = _endpos_d_;
31562 MenhirLib.EngineTypes.next = {
31563 MenhirLib.EngineTypes.state = _menhir_s;
31564 MenhirLib.EngineTypes.semv = i;
31565 MenhirLib.EngineTypes.startp = _startpos_i_;
31566 MenhirLib.EngineTypes.endp = _endpos_i_;
31567 MenhirLib.EngineTypes.next = _menhir_stack;
31568 };
31569 };
31570 } = _menhir_stack in
31571 let pv : (
31572 # 110 "parser_cocci_menhir.mly"
31573 (Data.clt)
31574 # 31575 "parser_cocci_menhir.ml"
31575 ) = Obj.magic pv in
31576 let d : 'tv_d_ident = Obj.magic d in
31577 let i : 'tv_pure_ident = Obj.magic i in
31578 let _startpos = _startpos_i_ in
31579 let _endpos = _endpos_pv_ in
31580 let _v : 'tv_struct_decl = let cv =
31581
31582 # 39 "standard.mly"
31583 ( None )
31584 # 31585 "parser_cocci_menhir.ml"
31585
31586 in
31587
31588 # 609 "parser_cocci_menhir.mly"
31589 ( let (id,fn) = d in
31590 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
31591 [Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv))] )
31592 # 31593 "parser_cocci_menhir.ml"
31593 in
31594 _menhir_env.MenhirLib.EngineTypes.stack <- {
31595 MenhirLib.EngineTypes.state = _menhir_s;
31596 MenhirLib.EngineTypes.semv = Obj.repr _v;
31597 MenhirLib.EngineTypes.startp = _startpos;
31598 MenhirLib.EngineTypes.endp = _endpos;
31599 MenhirLib.EngineTypes.next = _menhir_stack;
31600 });
31601 (fun _menhir_env ->
31602 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31603 let {
31604 MenhirLib.EngineTypes.semv = pv;
31605 MenhirLib.EngineTypes.startp = _startpos_pv_;
31606 MenhirLib.EngineTypes.endp = _endpos_pv_;
31607 MenhirLib.EngineTypes.next = {
31608 MenhirLib.EngineTypes.semv = d;
31609 MenhirLib.EngineTypes.startp = _startpos_d_;
31610 MenhirLib.EngineTypes.endp = _endpos_d_;
31611 MenhirLib.EngineTypes.next = {
31612 MenhirLib.EngineTypes.semv = i;
31613 MenhirLib.EngineTypes.startp = _startpos_i_;
31614 MenhirLib.EngineTypes.endp = _endpos_i_;
31615 MenhirLib.EngineTypes.next = {
31616 MenhirLib.EngineTypes.state = _menhir_s;
31617 MenhirLib.EngineTypes.semv = x0;
31618 MenhirLib.EngineTypes.startp = _startpos_x0_;
31619 MenhirLib.EngineTypes.endp = _endpos_x0_;
31620 MenhirLib.EngineTypes.next = _menhir_stack;
31621 };
31622 };
31623 };
31624 } = _menhir_stack in
31625 let pv : (
31626 # 110 "parser_cocci_menhir.mly"
31627 (Data.clt)
31628 # 31629 "parser_cocci_menhir.ml"
31629 ) = Obj.magic pv in
31630 let d : 'tv_d_ident = Obj.magic d in
31631 let i : 'tv_pure_ident = Obj.magic i in
31632 let x0 : 'tv_const_vol = Obj.magic x0 in
31633 let _startpos = _startpos_x0_ in
31634 let _endpos = _endpos_pv_ in
31635 let _v : 'tv_struct_decl = let cv =
31636 let x = x0 in
31637
31638 # 41 "standard.mly"
31639 ( Some x )
31640 # 31641 "parser_cocci_menhir.ml"
31641
31642 in
31643
31644 # 609 "parser_cocci_menhir.mly"
31645 ( let (id,fn) = d in
31646 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
31647 [Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv))] )
31648 # 31649 "parser_cocci_menhir.ml"
31649 in
31650 _menhir_env.MenhirLib.EngineTypes.stack <- {
31651 MenhirLib.EngineTypes.state = _menhir_s;
31652 MenhirLib.EngineTypes.semv = Obj.repr _v;
31653 MenhirLib.EngineTypes.startp = _startpos;
31654 MenhirLib.EngineTypes.endp = _endpos;
31655 MenhirLib.EngineTypes.next = _menhir_stack;
31656 });
31657 (fun _menhir_env ->
31658 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31659 let {
31660 MenhirLib.EngineTypes.state = _menhir_s;
31661 MenhirLib.EngineTypes.semv = _1;
31662 MenhirLib.EngineTypes.startp = _startpos__1_;
31663 MenhirLib.EngineTypes.endp = _endpos__1_;
31664 MenhirLib.EngineTypes.next = _menhir_stack;
31665 } = _menhir_stack in
31666 let _1 : 'tv_struct_decl_list_start = Obj.magic _1 in
31667 let _startpos = _startpos__1_ in
31668 let _endpos = _endpos__1_ in
31669 let _v : 'tv_struct_decl_list =
31670 # 614 "parser_cocci_menhir.mly"
31671 ( Ast0.wrap(Ast0.DOTS(_1)) )
31672 # 31673 "parser_cocci_menhir.ml"
31673 in
31674 _menhir_env.MenhirLib.EngineTypes.stack <- {
31675 MenhirLib.EngineTypes.state = _menhir_s;
31676 MenhirLib.EngineTypes.semv = Obj.repr _v;
31677 MenhirLib.EngineTypes.startp = _startpos;
31678 MenhirLib.EngineTypes.endp = _endpos;
31679 MenhirLib.EngineTypes.next = _menhir_stack;
31680 });
31681 (fun _menhir_env ->
31682 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31683 let {
31684 MenhirLib.EngineTypes.state = _menhir_s;
31685 MenhirLib.EngineTypes.semv = _1;
31686 MenhirLib.EngineTypes.startp = _startpos__1_;
31687 MenhirLib.EngineTypes.endp = _endpos__1_;
31688 MenhirLib.EngineTypes.next = _menhir_stack;
31689 } = _menhir_stack in
31690 let _1 : 'tv_struct_decl = Obj.magic _1 in
31691 let _startpos = _startpos__1_ in
31692 let _endpos = _endpos__1_ in
31693 let _v : 'tv_struct_decl_list_start =
31694 # 617 "parser_cocci_menhir.mly"
31695 ( _1 )
31696 # 31697 "parser_cocci_menhir.ml"
31697 in
31698 _menhir_env.MenhirLib.EngineTypes.stack <- {
31699 MenhirLib.EngineTypes.state = _menhir_s;
31700 MenhirLib.EngineTypes.semv = Obj.repr _v;
31701 MenhirLib.EngineTypes.startp = _startpos;
31702 MenhirLib.EngineTypes.endp = _endpos;
31703 MenhirLib.EngineTypes.next = _menhir_stack;
31704 });
31705 (fun _menhir_env ->
31706 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31707 let {
31708 MenhirLib.EngineTypes.semv = _2;
31709 MenhirLib.EngineTypes.startp = _startpos__2_;
31710 MenhirLib.EngineTypes.endp = _endpos__2_;
31711 MenhirLib.EngineTypes.next = {
31712 MenhirLib.EngineTypes.state = _menhir_s;
31713 MenhirLib.EngineTypes.semv = _1;
31714 MenhirLib.EngineTypes.startp = _startpos__1_;
31715 MenhirLib.EngineTypes.endp = _endpos__1_;
31716 MenhirLib.EngineTypes.next = _menhir_stack;
31717 };
31718 } = _menhir_stack in
31719 let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
31720 let _1 : 'tv_struct_decl = Obj.magic _1 in
31721 let _startpos = _startpos__1_ in
31722 let _endpos = _endpos__2_ in
31723 let _v : 'tv_struct_decl_list_start =
31724 # 618 "parser_cocci_menhir.mly"
31725 ( _1@_2 )
31726 # 31727 "parser_cocci_menhir.ml"
31727 in
31728 _menhir_env.MenhirLib.EngineTypes.stack <- {
31729 MenhirLib.EngineTypes.state = _menhir_s;
31730 MenhirLib.EngineTypes.semv = Obj.repr _v;
31731 MenhirLib.EngineTypes.startp = _startpos;
31732 MenhirLib.EngineTypes.endp = _endpos;
31733 MenhirLib.EngineTypes.next = _menhir_stack;
31734 });
31735 (fun _menhir_env ->
31736 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31737 let {
31738 MenhirLib.EngineTypes.semv = r;
31739 MenhirLib.EngineTypes.startp = _startpos_r_;
31740 MenhirLib.EngineTypes.endp = _endpos_r_;
31741 MenhirLib.EngineTypes.next = {
31742 MenhirLib.EngineTypes.state = _menhir_s;
31743 MenhirLib.EngineTypes.semv = d;
31744 MenhirLib.EngineTypes.startp = _startpos_d_;
31745 MenhirLib.EngineTypes.endp = _endpos_d_;
31746 MenhirLib.EngineTypes.next = _menhir_stack;
31747 };
31748 } = _menhir_stack in
31749 let r : 'tv_continue_struct_decl_list = Obj.magic r in
31750 let d : 'tv_edots_when_TEllipsis_struct_decl_ = Obj.magic d in
31751 let _startpos = _startpos_d_ in
31752 let _endpos = _endpos_r_ in
31753 let _v : 'tv_struct_decl_list_start =
31754 # 620 "parser_cocci_menhir.mly"
31755 ( (P.mkddots "..." d)::r )
31756 # 31757 "parser_cocci_menhir.ml"
31757 in
31758 _menhir_env.MenhirLib.EngineTypes.stack <- {
31759 MenhirLib.EngineTypes.state = _menhir_s;
31760 MenhirLib.EngineTypes.semv = Obj.repr _v;
31761 MenhirLib.EngineTypes.startp = _startpos;
31762 MenhirLib.EngineTypes.endp = _endpos;
31763 MenhirLib.EngineTypes.next = _menhir_stack;
31764 });
31765 (fun _menhir_env ->
31766 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31767 let {
31768 MenhirLib.EngineTypes.state = _menhir_s;
31769 MenhirLib.EngineTypes.semv = s;
31770 MenhirLib.EngineTypes.startp = _startpos_s_;
31771 MenhirLib.EngineTypes.endp = _endpos_s_;
31772 MenhirLib.EngineTypes.next = _menhir_stack;
31773 } = _menhir_stack in
31774 let s : (
31775 # 52 "parser_cocci_menhir.mly"
31776 (Data.clt)
31777 # 31778 "parser_cocci_menhir.ml"
31778 ) = Obj.magic s in
31779 let _startpos = _startpos_s_ in
31780 let _endpos = _endpos_s_ in
31781 let _v : 'tv_struct_or_union =
31782 # 591 "parser_cocci_menhir.mly"
31783 ( P.clt2mcode Ast.Struct s )
31784 # 31785 "parser_cocci_menhir.ml"
31785 in
31786 _menhir_env.MenhirLib.EngineTypes.stack <- {
31787 MenhirLib.EngineTypes.state = _menhir_s;
31788 MenhirLib.EngineTypes.semv = Obj.repr _v;
31789 MenhirLib.EngineTypes.startp = _startpos;
31790 MenhirLib.EngineTypes.endp = _endpos;
31791 MenhirLib.EngineTypes.next = _menhir_stack;
31792 });
31793 (fun _menhir_env ->
31794 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31795 let {
31796 MenhirLib.EngineTypes.state = _menhir_s;
31797 MenhirLib.EngineTypes.semv = u;
31798 MenhirLib.EngineTypes.startp = _startpos_u_;
31799 MenhirLib.EngineTypes.endp = _endpos_u_;
31800 MenhirLib.EngineTypes.next = _menhir_stack;
31801 } = _menhir_stack in
31802 let u : (
31803 # 52 "parser_cocci_menhir.mly"
31804 (Data.clt)
31805 # 31806 "parser_cocci_menhir.ml"
31806 ) = Obj.magic u in
31807 let _startpos = _startpos_u_ in
31808 let _endpos = _endpos_u_ in
31809 let _v : 'tv_struct_or_union =
31810 # 592 "parser_cocci_menhir.mly"
31811 ( P.clt2mcode Ast.Union u )
31812 # 31813 "parser_cocci_menhir.ml"
31813 in
31814 _menhir_env.MenhirLib.EngineTypes.stack <- {
31815 MenhirLib.EngineTypes.state = _menhir_s;
31816 MenhirLib.EngineTypes.semv = Obj.repr _v;
31817 MenhirLib.EngineTypes.startp = _startpos;
31818 MenhirLib.EngineTypes.endp = _endpos;
31819 MenhirLib.EngineTypes.next = _menhir_stack;
31820 });
31821 (fun _menhir_env ->
31822 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31823 let {
31824 MenhirLib.EngineTypes.semv = i;
31825 MenhirLib.EngineTypes.startp = _startpos_i_;
31826 MenhirLib.EngineTypes.endp = _endpos_i_;
31827 MenhirLib.EngineTypes.next = {
31828 MenhirLib.EngineTypes.state = _menhir_s;
31829 MenhirLib.EngineTypes.startp = _startpos__1_;
31830 MenhirLib.EngineTypes.endp = _endpos__1_;
31831 MenhirLib.EngineTypes.next = _menhir_stack;
31832 };
31833 } = _menhir_stack in
31834 let i : 'tv_meta_ident = Obj.magic i in
31835 let _startpos = _startpos__1_ in
31836 let _endpos = _endpos_i_ in
31837 let _v : 'tv_sub =
31838 # 1613 "parser_cocci_menhir.mly"
31839 ( (if !Data.in_iso
31840 then failwith "constraints not allowed in iso file");
31841 (if !Data.in_generating
31842 then failwith "constraints not allowed in a generated rule file");
31843 let i =
31844 P.check_inherited_constraint i
31845 (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)) in
31846 [i] )
31847 # 31848 "parser_cocci_menhir.ml"
31848 in
31849 _menhir_env.MenhirLib.EngineTypes.stack <- {
31850 MenhirLib.EngineTypes.state = _menhir_s;
31851 MenhirLib.EngineTypes.semv = Obj.repr _v;
31852 MenhirLib.EngineTypes.startp = _startpos;
31853 MenhirLib.EngineTypes.endp = _endpos;
31854 MenhirLib.EngineTypes.next = _menhir_stack;
31855 });
31856 (fun _menhir_env ->
31857 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31858 let {
31859 MenhirLib.EngineTypes.startp = _startpos__4_;
31860 MenhirLib.EngineTypes.endp = _endpos__4_;
31861 MenhirLib.EngineTypes.next = {
31862 MenhirLib.EngineTypes.semv = l;
31863 MenhirLib.EngineTypes.startp = _startpos_l_;
31864 MenhirLib.EngineTypes.endp = _endpos_l_;
31865 MenhirLib.EngineTypes.next = {
31866 MenhirLib.EngineTypes.startp = _startpos__2_;
31867 MenhirLib.EngineTypes.endp = _endpos__2_;
31868 MenhirLib.EngineTypes.next = {
31869 MenhirLib.EngineTypes.state = _menhir_s;
31870 MenhirLib.EngineTypes.startp = _startpos__1_;
31871 MenhirLib.EngineTypes.endp = _endpos__1_;
31872 MenhirLib.EngineTypes.next = _menhir_stack;
31873 };
31874 };
31875 };
31876 } = _menhir_stack in
31877 let l : 'tv_comma_list_meta_ident_ = Obj.magic l in
31878 let _startpos = _startpos__1_ in
31879 let _endpos = _endpos__4_ in
31880 let _v : 'tv_sub =
31881 # 1622 "parser_cocci_menhir.mly"
31882 ( (if !Data.in_iso
31883 then failwith "constraints not allowed in iso file");
31884 (if !Data.in_generating
31885 then failwith "constraints not allowed in a generated rule file");
31886 List.map
31887 (function i ->
31888 P.check_inherited_constraint i
31889 (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)))
31890 l)
31891 # 31892 "parser_cocci_menhir.ml"
31892 in
31893 _menhir_env.MenhirLib.EngineTypes.stack <- {
31894 MenhirLib.EngineTypes.state = _menhir_s;
31895 MenhirLib.EngineTypes.semv = Obj.repr _v;
31896 MenhirLib.EngineTypes.startp = _startpos;
31897 MenhirLib.EngineTypes.endp = _endpos;
31898 MenhirLib.EngineTypes.next = _menhir_stack;
31899 });
31900 (fun _menhir_env ->
31901 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31902 let {
31903 MenhirLib.EngineTypes.state = _menhir_s;
31904 MenhirLib.EngineTypes.semv = _1;
31905 MenhirLib.EngineTypes.startp = _startpos__1_;
31906 MenhirLib.EngineTypes.endp = _endpos__1_;
31907 MenhirLib.EngineTypes.next = _menhir_stack;
31908 } = _menhir_stack in
31909 let _1 : 'tv_eexpr = Obj.magic _1 in
31910 let _startpos = _startpos__1_ in
31911 let _endpos = _endpos__1_ in
31912 let _v : 'tv_top_eexpr =
31913 # 1243 "parser_cocci_menhir.mly"
31914 ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) )
31915 # 31916 "parser_cocci_menhir.ml"
31916 in
31917 _menhir_env.MenhirLib.EngineTypes.stack <- {
31918 MenhirLib.EngineTypes.state = _menhir_s;
31919 MenhirLib.EngineTypes.semv = Obj.repr _v;
31920 MenhirLib.EngineTypes.startp = _startpos;
31921 MenhirLib.EngineTypes.endp = _endpos;
31922 MenhirLib.EngineTypes.next = _menhir_stack;
31923 });
31924 (fun _menhir_env ->
31925 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31926 let {
31927 MenhirLib.EngineTypes.semv = _3;
31928 MenhirLib.EngineTypes.startp = _startpos__3_;
31929 MenhirLib.EngineTypes.endp = _endpos__3_;
31930 MenhirLib.EngineTypes.next = {
31931 MenhirLib.EngineTypes.semv = _2;
31932 MenhirLib.EngineTypes.startp = _startpos__2_;
31933 MenhirLib.EngineTypes.endp = _endpos__2_;
31934 MenhirLib.EngineTypes.next = {
31935 MenhirLib.EngineTypes.state = _menhir_s;
31936 MenhirLib.EngineTypes.semv = _1;
31937 MenhirLib.EngineTypes.startp = _startpos__1_;
31938 MenhirLib.EngineTypes.endp = _endpos__1_;
31939 MenhirLib.EngineTypes.next = _menhir_stack;
31940 };
31941 };
31942 } = _menhir_stack in
31943 let _3 : (
31944 # 104 "parser_cocci_menhir.mly"
31945 (Data.clt)
31946 # 31947 "parser_cocci_menhir.ml"
31947 ) = Obj.magic _3 in
31948 let _2 : 'tv_initialize_list = Obj.magic _2 in
31949 let _1 : (
31950 # 104 "parser_cocci_menhir.mly"
31951 (Data.clt)
31952 # 31953 "parser_cocci_menhir.ml"
31953 ) = Obj.magic _1 in
31954 let _startpos = _startpos__1_ in
31955 let _endpos = _endpos__3_ in
31956 let _v : 'tv_top_init =
31957 # 1821 "parser_cocci_menhir.mly"
31958 ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
31959 # 31960 "parser_cocci_menhir.ml"
31960 in
31961 _menhir_env.MenhirLib.EngineTypes.stack <- {
31962 MenhirLib.EngineTypes.state = _menhir_s;
31963 MenhirLib.EngineTypes.semv = Obj.repr _v;
31964 MenhirLib.EngineTypes.startp = _startpos;
31965 MenhirLib.EngineTypes.endp = _endpos;
31966 MenhirLib.EngineTypes.next = _menhir_stack;
31967 });
31968 (fun _menhir_env ->
31969 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31970 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
31971 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
31972 let _endpos = _startpos in
31973 let _v : 'tv_toplevel_after_dots =
31974 # 1809 "parser_cocci_menhir.mly"
31975 ([])
31976 # 31977 "parser_cocci_menhir.ml"
31977 in
31978 _menhir_env.MenhirLib.EngineTypes.stack <- {
31979 MenhirLib.EngineTypes.state = _menhir_s;
31980 MenhirLib.EngineTypes.semv = Obj.repr _v;
31981 MenhirLib.EngineTypes.startp = _startpos;
31982 MenhirLib.EngineTypes.endp = _endpos;
31983 MenhirLib.EngineTypes.next = _menhir_stack;
31984 });
31985 (fun _menhir_env ->
31986 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31987 let {
31988 MenhirLib.EngineTypes.semv = _2;
31989 MenhirLib.EngineTypes.startp = _startpos__2_;
31990 MenhirLib.EngineTypes.endp = _endpos__2_;
31991 MenhirLib.EngineTypes.next = {
31992 MenhirLib.EngineTypes.state = _menhir_s;
31993 MenhirLib.EngineTypes.startp = _startpos__1_;
31994 MenhirLib.EngineTypes.endp = _endpos__1_;
31995 MenhirLib.EngineTypes.next = _menhir_stack;
31996 };
31997 } = _menhir_stack in
31998 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
31999 let _startpos = _startpos__1_ in
32000 let _endpos = _endpos__2_ in
32001 let _v : 'tv_toplevel_after_dots =
32002 # 1810 "parser_cocci_menhir.mly"
32003 (_2)
32004 # 32005 "parser_cocci_menhir.ml"
32005 in
32006 _menhir_env.MenhirLib.EngineTypes.stack <- {
32007 MenhirLib.EngineTypes.state = _menhir_s;
32008 MenhirLib.EngineTypes.semv = Obj.repr _v;
32009 MenhirLib.EngineTypes.startp = _startpos;
32010 MenhirLib.EngineTypes.endp = _endpos;
32011 MenhirLib.EngineTypes.next = _menhir_stack;
32012 });
32013 (fun _menhir_env ->
32014 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32015 let {
32016 MenhirLib.EngineTypes.semv = _2;
32017 MenhirLib.EngineTypes.startp = _startpos__2_;
32018 MenhirLib.EngineTypes.endp = _endpos__2_;
32019 MenhirLib.EngineTypes.next = {
32020 MenhirLib.EngineTypes.state = _menhir_s;
32021 MenhirLib.EngineTypes.semv = _1;
32022 MenhirLib.EngineTypes.startp = _startpos__1_;
32023 MenhirLib.EngineTypes.endp = _endpos__1_;
32024 MenhirLib.EngineTypes.next = _menhir_stack;
32025 };
32026 } = _menhir_stack in
32027 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
32028 let _1 : 'tv_expr = Obj.magic _1 in
32029 let _startpos = _startpos__1_ in
32030 let _endpos = _endpos__2_ in
32031 let _v : 'tv_toplevel_after_dots =
32032 # 1811 "parser_cocci_menhir.mly"
32033 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
32034 # 32035 "parser_cocci_menhir.ml"
32035 in
32036 _menhir_env.MenhirLib.EngineTypes.stack <- {
32037 MenhirLib.EngineTypes.state = _menhir_s;
32038 MenhirLib.EngineTypes.semv = Obj.repr _v;
32039 MenhirLib.EngineTypes.startp = _startpos;
32040 MenhirLib.EngineTypes.endp = _endpos;
32041 MenhirLib.EngineTypes.next = _menhir_stack;
32042 });
32043 (fun _menhir_env ->
32044 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32045 let {
32046 MenhirLib.EngineTypes.semv = _2;
32047 MenhirLib.EngineTypes.startp = _startpos__2_;
32048 MenhirLib.EngineTypes.endp = _endpos__2_;
32049 MenhirLib.EngineTypes.next = {
32050 MenhirLib.EngineTypes.state = _menhir_s;
32051 MenhirLib.EngineTypes.semv = _1;
32052 MenhirLib.EngineTypes.startp = _startpos__1_;
32053 MenhirLib.EngineTypes.endp = _endpos__1_;
32054 MenhirLib.EngineTypes.next = _menhir_stack;
32055 };
32056 } = _menhir_stack in
32057 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
32058 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
32059 let _startpos = _startpos__1_ in
32060 let _endpos = _endpos__2_ in
32061 let _v : 'tv_toplevel_after_dots =
32062 # 1812 "parser_cocci_menhir.mly"
32063 (_1@_2)
32064 # 32065 "parser_cocci_menhir.ml"
32065 in
32066 _menhir_env.MenhirLib.EngineTypes.stack <- {
32067 MenhirLib.EngineTypes.state = _menhir_s;
32068 MenhirLib.EngineTypes.semv = Obj.repr _v;
32069 MenhirLib.EngineTypes.startp = _startpos;
32070 MenhirLib.EngineTypes.endp = _endpos;
32071 MenhirLib.EngineTypes.next = _menhir_stack;
32072 });
32073 (fun _menhir_env ->
32074 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32075 let {
32076 MenhirLib.EngineTypes.semv = _2;
32077 MenhirLib.EngineTypes.startp = _startpos__2_;
32078 MenhirLib.EngineTypes.endp = _endpos__2_;
32079 MenhirLib.EngineTypes.next = {
32080 MenhirLib.EngineTypes.state = _menhir_s;
32081 MenhirLib.EngineTypes.startp = _startpos__1_;
32082 MenhirLib.EngineTypes.endp = _endpos__1_;
32083 MenhirLib.EngineTypes.next = _menhir_stack;
32084 };
32085 } = _menhir_stack in
32086 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
32087 let _startpos = _startpos__1_ in
32088 let _endpos = _endpos__2_ in
32089 let _v : 'tv_toplevel_after_dots_init =
32090 # 1800 "parser_cocci_menhir.mly"
32091 (_2)
32092 # 32093 "parser_cocci_menhir.ml"
32093 in
32094 _menhir_env.MenhirLib.EngineTypes.stack <- {
32095 MenhirLib.EngineTypes.state = _menhir_s;
32096 MenhirLib.EngineTypes.semv = Obj.repr _v;
32097 MenhirLib.EngineTypes.startp = _startpos;
32098 MenhirLib.EngineTypes.endp = _endpos;
32099 MenhirLib.EngineTypes.next = _menhir_stack;
32100 });
32101 (fun _menhir_env ->
32102 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32103 let {
32104 MenhirLib.EngineTypes.semv = _2;
32105 MenhirLib.EngineTypes.startp = _startpos__2_;
32106 MenhirLib.EngineTypes.endp = _endpos__2_;
32107 MenhirLib.EngineTypes.next = {
32108 MenhirLib.EngineTypes.state = _menhir_s;
32109 MenhirLib.EngineTypes.semv = _1;
32110 MenhirLib.EngineTypes.startp = _startpos__1_;
32111 MenhirLib.EngineTypes.endp = _endpos__1_;
32112 MenhirLib.EngineTypes.next = _menhir_stack;
32113 };
32114 } = _menhir_stack in
32115 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
32116 let _1 : 'tv_expr = Obj.magic _1 in
32117 let _startpos = _startpos__1_ in
32118 let _endpos = _endpos__2_ in
32119 let _v : 'tv_toplevel_after_dots_init =
32120 # 1801 "parser_cocci_menhir.mly"
32121 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
32122 # 32123 "parser_cocci_menhir.ml"
32123 in
32124 _menhir_env.MenhirLib.EngineTypes.stack <- {
32125 MenhirLib.EngineTypes.state = _menhir_s;
32126 MenhirLib.EngineTypes.semv = Obj.repr _v;
32127 MenhirLib.EngineTypes.startp = _startpos;
32128 MenhirLib.EngineTypes.endp = _endpos;
32129 MenhirLib.EngineTypes.next = _menhir_stack;
32130 });
32131 (fun _menhir_env ->
32132 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32133 let {
32134 MenhirLib.EngineTypes.semv = _2;
32135 MenhirLib.EngineTypes.startp = _startpos__2_;
32136 MenhirLib.EngineTypes.endp = _endpos__2_;
32137 MenhirLib.EngineTypes.next = {
32138 MenhirLib.EngineTypes.state = _menhir_s;
32139 MenhirLib.EngineTypes.semv = _1;
32140 MenhirLib.EngineTypes.startp = _startpos__1_;
32141 MenhirLib.EngineTypes.endp = _endpos__1_;
32142 MenhirLib.EngineTypes.next = _menhir_stack;
32143 };
32144 } = _menhir_stack in
32145 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
32146 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
32147 let _startpos = _startpos__1_ in
32148 let _endpos = _endpos__2_ in
32149 let _v : 'tv_toplevel_after_dots_init =
32150 # 1802 "parser_cocci_menhir.mly"
32151 (_1@_2)
32152 # 32153 "parser_cocci_menhir.ml"
32153 in
32154 _menhir_env.MenhirLib.EngineTypes.stack <- {
32155 MenhirLib.EngineTypes.state = _menhir_s;
32156 MenhirLib.EngineTypes.semv = Obj.repr _v;
32157 MenhirLib.EngineTypes.startp = _startpos;
32158 MenhirLib.EngineTypes.endp = _endpos;
32159 MenhirLib.EngineTypes.next = _menhir_stack;
32160 });
32161 (fun _menhir_env ->
32162 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32163 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
32164 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
32165 let _endpos = _startpos in
32166 let _v : 'tv_toplevel_after_exp =
32167 # 1805 "parser_cocci_menhir.mly"
32168 ([])
32169 # 32170 "parser_cocci_menhir.ml"
32170 in
32171 _menhir_env.MenhirLib.EngineTypes.stack <- {
32172 MenhirLib.EngineTypes.state = _menhir_s;
32173 MenhirLib.EngineTypes.semv = Obj.repr _v;
32174 MenhirLib.EngineTypes.startp = _startpos;
32175 MenhirLib.EngineTypes.endp = _endpos;
32176 MenhirLib.EngineTypes.next = _menhir_stack;
32177 });
32178 (fun _menhir_env ->
32179 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32180 let {
32181 MenhirLib.EngineTypes.semv = _2;
32182 MenhirLib.EngineTypes.startp = _startpos__2_;
32183 MenhirLib.EngineTypes.endp = _endpos__2_;
32184 MenhirLib.EngineTypes.next = {
32185 MenhirLib.EngineTypes.state = _menhir_s;
32186 MenhirLib.EngineTypes.semv = _1;
32187 MenhirLib.EngineTypes.startp = _startpos__1_;
32188 MenhirLib.EngineTypes.endp = _endpos__1_;
32189 MenhirLib.EngineTypes.next = _menhir_stack;
32190 };
32191 } = _menhir_stack in
32192 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
32193 let _1 : 'tv_stm_dots = Obj.magic _1 in
32194 let _startpos = _startpos__1_ in
32195 let _endpos = _endpos__2_ in
32196 let _v : 'tv_toplevel_after_exp =
32197 # 1806 "parser_cocci_menhir.mly"
32198 (_1::_2)
32199 # 32200 "parser_cocci_menhir.ml"
32200 in
32201 _menhir_env.MenhirLib.EngineTypes.stack <- {
32202 MenhirLib.EngineTypes.state = _menhir_s;
32203 MenhirLib.EngineTypes.semv = Obj.repr _v;
32204 MenhirLib.EngineTypes.startp = _startpos;
32205 MenhirLib.EngineTypes.endp = _endpos;
32206 MenhirLib.EngineTypes.next = _menhir_stack;
32207 });
32208 (fun _menhir_env ->
32209 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32210 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
32211 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
32212 let _endpos = _startpos in
32213 let _v : 'tv_toplevel_after_stm =
32214 # 1815 "parser_cocci_menhir.mly"
32215 ([])
32216 # 32217 "parser_cocci_menhir.ml"
32217 in
32218 _menhir_env.MenhirLib.EngineTypes.stack <- {
32219 MenhirLib.EngineTypes.state = _menhir_s;
32220 MenhirLib.EngineTypes.semv = Obj.repr _v;
32221 MenhirLib.EngineTypes.startp = _startpos;
32222 MenhirLib.EngineTypes.endp = _endpos;
32223 MenhirLib.EngineTypes.next = _menhir_stack;
32224 });
32225 (fun _menhir_env ->
32226 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32227 let {
32228 MenhirLib.EngineTypes.semv = _2;
32229 MenhirLib.EngineTypes.startp = _startpos__2_;
32230 MenhirLib.EngineTypes.endp = _endpos__2_;
32231 MenhirLib.EngineTypes.next = {
32232 MenhirLib.EngineTypes.state = _menhir_s;
32233 MenhirLib.EngineTypes.semv = _1;
32234 MenhirLib.EngineTypes.startp = _startpos__1_;
32235 MenhirLib.EngineTypes.endp = _endpos__1_;
32236 MenhirLib.EngineTypes.next = _menhir_stack;
32237 };
32238 } = _menhir_stack in
32239 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
32240 let _1 : 'tv_stm_dots = Obj.magic _1 in
32241 let _startpos = _startpos__1_ in
32242 let _endpos = _endpos__2_ in
32243 let _v : 'tv_toplevel_after_stm =
32244 # 1816 "parser_cocci_menhir.mly"
32245 (_1::_2)
32246 # 32247 "parser_cocci_menhir.ml"
32247 in
32248 _menhir_env.MenhirLib.EngineTypes.stack <- {
32249 MenhirLib.EngineTypes.state = _menhir_s;
32250 MenhirLib.EngineTypes.semv = Obj.repr _v;
32251 MenhirLib.EngineTypes.startp = _startpos;
32252 MenhirLib.EngineTypes.endp = _endpos;
32253 MenhirLib.EngineTypes.next = _menhir_stack;
32254 });
32255 (fun _menhir_env ->
32256 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32257 let {
32258 MenhirLib.EngineTypes.semv = _2;
32259 MenhirLib.EngineTypes.startp = _startpos__2_;
32260 MenhirLib.EngineTypes.endp = _endpos__2_;
32261 MenhirLib.EngineTypes.next = {
32262 MenhirLib.EngineTypes.state = _menhir_s;
32263 MenhirLib.EngineTypes.semv = _1;
32264 MenhirLib.EngineTypes.startp = _startpos__1_;
32265 MenhirLib.EngineTypes.endp = _endpos__1_;
32266 MenhirLib.EngineTypes.next = _menhir_stack;
32267 };
32268 } = _menhir_stack in
32269 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
32270 let _1 : 'tv_decl_statement = Obj.magic _1 in
32271 let _startpos = _startpos__1_ in
32272 let _endpos = _endpos__2_ in
32273 let _v : 'tv_toplevel_after_stm =
32274 # 1817 "parser_cocci_menhir.mly"
32275 (_1@_2)
32276 # 32277 "parser_cocci_menhir.ml"
32277 in
32278 _menhir_env.MenhirLib.EngineTypes.stack <- {
32279 MenhirLib.EngineTypes.state = _menhir_s;
32280 MenhirLib.EngineTypes.semv = Obj.repr _v;
32281 MenhirLib.EngineTypes.startp = _startpos;
32282 MenhirLib.EngineTypes.endp = _endpos;
32283 MenhirLib.EngineTypes.next = _menhir_stack;
32284 });
32285 (fun _menhir_env ->
32286 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32287 let {
32288 MenhirLib.EngineTypes.semv = _2;
32289 MenhirLib.EngineTypes.startp = _startpos__2_;
32290 MenhirLib.EngineTypes.endp = _endpos__2_;
32291 MenhirLib.EngineTypes.next = {
32292 MenhirLib.EngineTypes.state = _menhir_s;
32293 MenhirLib.EngineTypes.semv = _1;
32294 MenhirLib.EngineTypes.startp = _startpos__1_;
32295 MenhirLib.EngineTypes.endp = _endpos__1_;
32296 MenhirLib.EngineTypes.next = _menhir_stack;
32297 };
32298 } = _menhir_stack in
32299 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
32300 let _1 : 'tv_stm_dots = Obj.magic _1 in
32301 let _startpos = _startpos__1_ in
32302 let _endpos = _endpos__2_ in
32303 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
32304 # 1795 "parser_cocci_menhir.mly"
32305 ( _1::_2 )
32306 # 32307 "parser_cocci_menhir.ml"
32307 in
32308 _menhir_env.MenhirLib.EngineTypes.stack <- {
32309 MenhirLib.EngineTypes.state = _menhir_s;
32310 MenhirLib.EngineTypes.semv = Obj.repr _v;
32311 MenhirLib.EngineTypes.startp = _startpos;
32312 MenhirLib.EngineTypes.endp = _endpos;
32313 MenhirLib.EngineTypes.next = _menhir_stack;
32314 });
32315 (fun _menhir_env ->
32316 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32317 let {
32318 MenhirLib.EngineTypes.semv = _2;
32319 MenhirLib.EngineTypes.startp = _startpos__2_;
32320 MenhirLib.EngineTypes.endp = _endpos__2_;
32321 MenhirLib.EngineTypes.next = {
32322 MenhirLib.EngineTypes.state = _menhir_s;
32323 MenhirLib.EngineTypes.semv = _1;
32324 MenhirLib.EngineTypes.startp = _startpos__1_;
32325 MenhirLib.EngineTypes.endp = _endpos__1_;
32326 MenhirLib.EngineTypes.next = _menhir_stack;
32327 };
32328 } = _menhir_stack in
32329 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
32330 let _1 : 'tv_expr = Obj.magic _1 in
32331 let _startpos = _startpos__1_ in
32332 let _endpos = _endpos__2_ in
32333 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
32334 # 1796 "parser_cocci_menhir.mly"
32335 ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
32336 # 32337 "parser_cocci_menhir.ml"
32337 in
32338 _menhir_env.MenhirLib.EngineTypes.stack <- {
32339 MenhirLib.EngineTypes.state = _menhir_s;
32340 MenhirLib.EngineTypes.semv = Obj.repr _v;
32341 MenhirLib.EngineTypes.startp = _startpos;
32342 MenhirLib.EngineTypes.endp = _endpos;
32343 MenhirLib.EngineTypes.next = _menhir_stack;
32344 });
32345 (fun _menhir_env ->
32346 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32347 let {
32348 MenhirLib.EngineTypes.semv = _2;
32349 MenhirLib.EngineTypes.startp = _startpos__2_;
32350 MenhirLib.EngineTypes.endp = _endpos__2_;
32351 MenhirLib.EngineTypes.next = {
32352 MenhirLib.EngineTypes.state = _menhir_s;
32353 MenhirLib.EngineTypes.semv = _1;
32354 MenhirLib.EngineTypes.startp = _startpos__1_;
32355 MenhirLib.EngineTypes.endp = _endpos__1_;
32356 MenhirLib.EngineTypes.next = _menhir_stack;
32357 };
32358 } = _menhir_stack in
32359 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
32360 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
32361 let _startpos = _startpos__1_ in
32362 let _endpos = _endpos__2_ in
32363 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
32364 # 1797 "parser_cocci_menhir.mly"
32365 ( _1@_2 )
32366 # 32367 "parser_cocci_menhir.ml"
32367 in
32368 _menhir_env.MenhirLib.EngineTypes.stack <- {
32369 MenhirLib.EngineTypes.state = _menhir_s;
32370 MenhirLib.EngineTypes.semv = Obj.repr _v;
32371 MenhirLib.EngineTypes.startp = _startpos;
32372 MenhirLib.EngineTypes.endp = _endpos;
32373 MenhirLib.EngineTypes.next = _menhir_stack;
32374 });
32375 (fun _menhir_env ->
32376 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32377 let {
32378 MenhirLib.EngineTypes.semv = b;
32379 MenhirLib.EngineTypes.startp = _startpos_b_;
32380 MenhirLib.EngineTypes.endp = _endpos_b_;
32381 MenhirLib.EngineTypes.next = {
32382 MenhirLib.EngineTypes.semv = w0;
32383 MenhirLib.EngineTypes.startp = _startpos_w0_;
32384 MenhirLib.EngineTypes.endp = _endpos_w0_;
32385 MenhirLib.EngineTypes.next = {
32386 MenhirLib.EngineTypes.state = _menhir_s;
32387 MenhirLib.EngineTypes.semv = a0;
32388 MenhirLib.EngineTypes.startp = _startpos_a0_;
32389 MenhirLib.EngineTypes.endp = _endpos_a0_;
32390 MenhirLib.EngineTypes.next = _menhir_stack;
32391 };
32392 };
32393 } = _menhir_stack in
32394 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
32395 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
32396 let a0 : (
32397 # 76 "parser_cocci_menhir.mly"
32398 (Data.clt)
32399 # 32400 "parser_cocci_menhir.ml"
32400 ) = Obj.magic a0 in
32401 let _startpos = _startpos_a0_ in
32402 let _endpos = _endpos_b_ in
32403 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
32404 let w = w0 in
32405 let a = a0 in
32406
32407 # 920 "parser_cocci_menhir.mly"
32408 ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) )
32409 # 32410 "parser_cocci_menhir.ml"
32410
32411 in
32412
32413 # 1788 "parser_cocci_menhir.mly"
32414 ( a::b )
32415 # 32416 "parser_cocci_menhir.ml"
32416 in
32417 _menhir_env.MenhirLib.EngineTypes.stack <- {
32418 MenhirLib.EngineTypes.state = _menhir_s;
32419 MenhirLib.EngineTypes.semv = Obj.repr _v;
32420 MenhirLib.EngineTypes.startp = _startpos;
32421 MenhirLib.EngineTypes.endp = _endpos;
32422 MenhirLib.EngineTypes.next = _menhir_stack;
32423 });
32424 (fun _menhir_env ->
32425 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32426 let {
32427 MenhirLib.EngineTypes.semv = b;
32428 MenhirLib.EngineTypes.startp = _startpos_b_;
32429 MenhirLib.EngineTypes.endp = _endpos_b_;
32430 MenhirLib.EngineTypes.next = {
32431 MenhirLib.EngineTypes.semv = c0;
32432 MenhirLib.EngineTypes.startp = _startpos_c0_;
32433 MenhirLib.EngineTypes.endp = _endpos_c0_;
32434 MenhirLib.EngineTypes.next = {
32435 MenhirLib.EngineTypes.semv = b0;
32436 MenhirLib.EngineTypes.startp = _startpos_b0_;
32437 MenhirLib.EngineTypes.endp = _endpos_b0_;
32438 MenhirLib.EngineTypes.next = {
32439 MenhirLib.EngineTypes.semv = w0;
32440 MenhirLib.EngineTypes.startp = _startpos_w0_;
32441 MenhirLib.EngineTypes.endp = _endpos_w0_;
32442 MenhirLib.EngineTypes.next = {
32443 MenhirLib.EngineTypes.state = _menhir_s;
32444 MenhirLib.EngineTypes.semv = a0;
32445 MenhirLib.EngineTypes.startp = _startpos_a0_;
32446 MenhirLib.EngineTypes.endp = _endpos_a0_;
32447 MenhirLib.EngineTypes.next = _menhir_stack;
32448 };
32449 };
32450 };
32451 };
32452 } = _menhir_stack in
32453 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
32454 let c0 : (
32455 # 76 "parser_cocci_menhir.mly"
32456 (Data.clt)
32457 # 32458 "parser_cocci_menhir.ml"
32458 ) = Obj.magic c0 in
32459 let b0 : 'tv_nest_start = Obj.magic b0 in
32460 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
32461 let a0 : (
32462 # 76 "parser_cocci_menhir.mly"
32463 (Data.clt)
32464 # 32465 "parser_cocci_menhir.ml"
32465 ) = Obj.magic a0 in
32466 let _startpos = _startpos_a0_ in
32467 let _endpos = _endpos_b_ in
32468 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
32469 let c = c0 in
32470 let b = b0 in
32471 let w = w0 in
32472 let a = a0 in
32473
32474 # 924 "parser_cocci_menhir.mly"
32475 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
32476 P.clt2mcode "...>" c, List.concat w, false)) )
32477 # 32478 "parser_cocci_menhir.ml"
32478
32479 in
32480
32481 # 1789 "parser_cocci_menhir.mly"
32482 ( a::b )
32483 # 32484 "parser_cocci_menhir.ml"
32484 in
32485 _menhir_env.MenhirLib.EngineTypes.stack <- {
32486 MenhirLib.EngineTypes.state = _menhir_s;
32487 MenhirLib.EngineTypes.semv = Obj.repr _v;
32488 MenhirLib.EngineTypes.startp = _startpos;
32489 MenhirLib.EngineTypes.endp = _endpos;
32490 MenhirLib.EngineTypes.next = _menhir_stack;
32491 });
32492 (fun _menhir_env ->
32493 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32494 let {
32495 MenhirLib.EngineTypes.semv = b;
32496 MenhirLib.EngineTypes.startp = _startpos_b_;
32497 MenhirLib.EngineTypes.endp = _endpos_b_;
32498 MenhirLib.EngineTypes.next = {
32499 MenhirLib.EngineTypes.semv = c0;
32500 MenhirLib.EngineTypes.startp = _startpos_c0_;
32501 MenhirLib.EngineTypes.endp = _endpos_c0_;
32502 MenhirLib.EngineTypes.next = {
32503 MenhirLib.EngineTypes.semv = b0;
32504 MenhirLib.EngineTypes.startp = _startpos_b0_;
32505 MenhirLib.EngineTypes.endp = _endpos_b0_;
32506 MenhirLib.EngineTypes.next = {
32507 MenhirLib.EngineTypes.semv = w0;
32508 MenhirLib.EngineTypes.startp = _startpos_w0_;
32509 MenhirLib.EngineTypes.endp = _endpos_w0_;
32510 MenhirLib.EngineTypes.next = {
32511 MenhirLib.EngineTypes.state = _menhir_s;
32512 MenhirLib.EngineTypes.semv = a0;
32513 MenhirLib.EngineTypes.startp = _startpos_a0_;
32514 MenhirLib.EngineTypes.endp = _endpos_a0_;
32515 MenhirLib.EngineTypes.next = _menhir_stack;
32516 };
32517 };
32518 };
32519 };
32520 } = _menhir_stack in
32521 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
32522 let c0 : (
32523 # 76 "parser_cocci_menhir.mly"
32524 (Data.clt)
32525 # 32526 "parser_cocci_menhir.ml"
32526 ) = Obj.magic c0 in
32527 let b0 : 'tv_nest_start = Obj.magic b0 in
32528 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
32529 let a0 : (
32530 # 76 "parser_cocci_menhir.mly"
32531 (Data.clt)
32532 # 32533 "parser_cocci_menhir.ml"
32533 ) = Obj.magic a0 in
32534 let _startpos = _startpos_a0_ in
32535 let _endpos = _endpos_b_ in
32536 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
32537 let c = c0 in
32538 let b = b0 in
32539 let w = w0 in
32540 let a = a0 in
32541
32542 # 927 "parser_cocci_menhir.mly"
32543 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
32544 P.clt2mcode "...+>" c, List.concat w, true)) )
32545 # 32546 "parser_cocci_menhir.ml"
32546
32547 in
32548
32549 # 1789 "parser_cocci_menhir.mly"
32550 ( a::b )
32551 # 32552 "parser_cocci_menhir.ml"
32552 in
32553 _menhir_env.MenhirLib.EngineTypes.stack <- {
32554 MenhirLib.EngineTypes.state = _menhir_s;
32555 MenhirLib.EngineTypes.semv = Obj.repr _v;
32556 MenhirLib.EngineTypes.startp = _startpos;
32557 MenhirLib.EngineTypes.endp = _endpos;
32558 MenhirLib.EngineTypes.next = _menhir_stack;
32559 });
32560 (fun _menhir_env ->
32561 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32562 let {
32563 MenhirLib.EngineTypes.semv = c0;
32564 MenhirLib.EngineTypes.startp = _startpos_c0_;
32565 MenhirLib.EngineTypes.endp = _endpos_c0_;
32566 MenhirLib.EngineTypes.next = {
32567 MenhirLib.EngineTypes.semv = b0;
32568 MenhirLib.EngineTypes.startp = _startpos_b0_;
32569 MenhirLib.EngineTypes.endp = _endpos_b0_;
32570 MenhirLib.EngineTypes.next = {
32571 MenhirLib.EngineTypes.semv = w0;
32572 MenhirLib.EngineTypes.startp = _startpos_w0_;
32573 MenhirLib.EngineTypes.endp = _endpos_w0_;
32574 MenhirLib.EngineTypes.next = {
32575 MenhirLib.EngineTypes.state = _menhir_s;
32576 MenhirLib.EngineTypes.semv = a0;
32577 MenhirLib.EngineTypes.startp = _startpos_a0_;
32578 MenhirLib.EngineTypes.endp = _endpos_a0_;
32579 MenhirLib.EngineTypes.next = _menhir_stack;
32580 };
32581 };
32582 };
32583 } = _menhir_stack in
32584 let c0 : (
32585 # 76 "parser_cocci_menhir.mly"
32586 (Data.clt)
32587 # 32588 "parser_cocci_menhir.ml"
32588 ) = Obj.magic c0 in
32589 let b0 : 'tv_nest_start = Obj.magic b0 in
32590 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
32591 let a0 : (
32592 # 76 "parser_cocci_menhir.mly"
32593 (Data.clt)
32594 # 32595 "parser_cocci_menhir.ml"
32595 ) = Obj.magic a0 in
32596 let _startpos = _startpos_a0_ in
32597 let _endpos = _endpos_c0_ in
32598 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
32599 let c = c0 in
32600 let b = b0 in
32601 let w = w0 in
32602 let a = a0 in
32603
32604 # 924 "parser_cocci_menhir.mly"
32605 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
32606 P.clt2mcode "...>" c, List.concat w, false)) )
32607 # 32608 "parser_cocci_menhir.ml"
32608
32609 in
32610
32611 # 1790 "parser_cocci_menhir.mly"
32612 ( [a] )
32613 # 32614 "parser_cocci_menhir.ml"
32614 in
32615 _menhir_env.MenhirLib.EngineTypes.stack <- {
32616 MenhirLib.EngineTypes.state = _menhir_s;
32617 MenhirLib.EngineTypes.semv = Obj.repr _v;
32618 MenhirLib.EngineTypes.startp = _startpos;
32619 MenhirLib.EngineTypes.endp = _endpos;
32620 MenhirLib.EngineTypes.next = _menhir_stack;
32621 });
32622 (fun _menhir_env ->
32623 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32624 let {
32625 MenhirLib.EngineTypes.semv = c0;
32626 MenhirLib.EngineTypes.startp = _startpos_c0_;
32627 MenhirLib.EngineTypes.endp = _endpos_c0_;
32628 MenhirLib.EngineTypes.next = {
32629 MenhirLib.EngineTypes.semv = b0;
32630 MenhirLib.EngineTypes.startp = _startpos_b0_;
32631 MenhirLib.EngineTypes.endp = _endpos_b0_;
32632 MenhirLib.EngineTypes.next = {
32633 MenhirLib.EngineTypes.semv = w0;
32634 MenhirLib.EngineTypes.startp = _startpos_w0_;
32635 MenhirLib.EngineTypes.endp = _endpos_w0_;
32636 MenhirLib.EngineTypes.next = {
32637 MenhirLib.EngineTypes.state = _menhir_s;
32638 MenhirLib.EngineTypes.semv = a0;
32639 MenhirLib.EngineTypes.startp = _startpos_a0_;
32640 MenhirLib.EngineTypes.endp = _endpos_a0_;
32641 MenhirLib.EngineTypes.next = _menhir_stack;
32642 };
32643 };
32644 };
32645 } = _menhir_stack in
32646 let c0 : (
32647 # 76 "parser_cocci_menhir.mly"
32648 (Data.clt)
32649 # 32650 "parser_cocci_menhir.ml"
32650 ) = Obj.magic c0 in
32651 let b0 : 'tv_nest_start = Obj.magic b0 in
32652 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
32653 let a0 : (
32654 # 76 "parser_cocci_menhir.mly"
32655 (Data.clt)
32656 # 32657 "parser_cocci_menhir.ml"
32657 ) = Obj.magic a0 in
32658 let _startpos = _startpos_a0_ in
32659 let _endpos = _endpos_c0_ in
32660 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
32661 let c = c0 in
32662 let b = b0 in
32663 let w = w0 in
32664 let a = a0 in
32665
32666 # 927 "parser_cocci_menhir.mly"
32667 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
32668 P.clt2mcode "...+>" c, List.concat w, true)) )
32669 # 32670 "parser_cocci_menhir.ml"
32670
32671 in
32672
32673 # 1790 "parser_cocci_menhir.mly"
32674 ( [a] )
32675 # 32676 "parser_cocci_menhir.ml"
32676 in
32677 _menhir_env.MenhirLib.EngineTypes.stack <- {
32678 MenhirLib.EngineTypes.state = _menhir_s;
32679 MenhirLib.EngineTypes.semv = Obj.repr _v;
32680 MenhirLib.EngineTypes.startp = _startpos;
32681 MenhirLib.EngineTypes.endp = _endpos;
32682 MenhirLib.EngineTypes.next = _menhir_stack;
32683 });
32684 (fun _menhir_env ->
32685 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32686 let {
32687 MenhirLib.EngineTypes.semv = _2;
32688 MenhirLib.EngineTypes.startp = _startpos__2_;
32689 MenhirLib.EngineTypes.endp = _endpos__2_;
32690 MenhirLib.EngineTypes.next = {
32691 MenhirLib.EngineTypes.state = _menhir_s;
32692 MenhirLib.EngineTypes.semv = _1;
32693 MenhirLib.EngineTypes.startp = _startpos__1_;
32694 MenhirLib.EngineTypes.endp = _endpos__1_;
32695 MenhirLib.EngineTypes.next = _menhir_stack;
32696 };
32697 } = _menhir_stack in
32698 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
32699 let _1 : 'tv_expr = Obj.magic _1 in
32700 let _startpos = _startpos__1_ in
32701 let _endpos = _endpos__2_ in
32702 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
32703 # 1791 "parser_cocci_menhir.mly"
32704 ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
32705 # 32706 "parser_cocci_menhir.ml"
32706 in
32707 _menhir_env.MenhirLib.EngineTypes.stack <- {
32708 MenhirLib.EngineTypes.state = _menhir_s;
32709 MenhirLib.EngineTypes.semv = Obj.repr _v;
32710 MenhirLib.EngineTypes.startp = _startpos;
32711 MenhirLib.EngineTypes.endp = _endpos;
32712 MenhirLib.EngineTypes.next = _menhir_stack;
32713 });
32714 (fun _menhir_env ->
32715 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32716 let {
32717 MenhirLib.EngineTypes.semv = _2;
32718 MenhirLib.EngineTypes.startp = _startpos__2_;
32719 MenhirLib.EngineTypes.endp = _endpos__2_;
32720 MenhirLib.EngineTypes.next = {
32721 MenhirLib.EngineTypes.state = _menhir_s;
32722 MenhirLib.EngineTypes.semv = _1;
32723 MenhirLib.EngineTypes.startp = _startpos__1_;
32724 MenhirLib.EngineTypes.endp = _endpos__1_;
32725 MenhirLib.EngineTypes.next = _menhir_stack;
32726 };
32727 } = _menhir_stack in
32728 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
32729 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
32730 let _startpos = _startpos__1_ in
32731 let _endpos = _endpos__2_ in
32732 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
32733 # 1792 "parser_cocci_menhir.mly"
32734 ( _1@_2 )
32735 # 32736 "parser_cocci_menhir.ml"
32736 in
32737 _menhir_env.MenhirLib.EngineTypes.stack <- {
32738 MenhirLib.EngineTypes.state = _menhir_s;
32739 MenhirLib.EngineTypes.semv = Obj.repr _v;
32740 MenhirLib.EngineTypes.startp = _startpos;
32741 MenhirLib.EngineTypes.endp = _endpos;
32742 MenhirLib.EngineTypes.next = _menhir_stack;
32743 });
32744 (fun _menhir_env ->
32745 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32746 let {
32747 MenhirLib.EngineTypes.semv = m;
32748 MenhirLib.EngineTypes.startp = _startpos_m_;
32749 MenhirLib.EngineTypes.endp = _endpos_m_;
32750 MenhirLib.EngineTypes.next = {
32751 MenhirLib.EngineTypes.semv = ty00;
32752 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32753 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32754 MenhirLib.EngineTypes.next = {
32755 MenhirLib.EngineTypes.state = _menhir_s;
32756 MenhirLib.EngineTypes.semv = r0;
32757 MenhirLib.EngineTypes.startp = _startpos_r0_;
32758 MenhirLib.EngineTypes.endp = _endpos_r0_;
32759 MenhirLib.EngineTypes.next = _menhir_stack;
32760 };
32761 };
32762 } = _menhir_stack in
32763 let m : 'tv_list_TMul_ = Obj.magic m in
32764 let ty00 : (
32765 # 51 "parser_cocci_menhir.mly"
32766 (Data.clt)
32767 # 32768 "parser_cocci_menhir.ml"
32768 ) = Obj.magic ty00 in
32769 let r0 : (
32770 # 53 "parser_cocci_menhir.mly"
32771 (Data.clt)
32772 # 32773 "parser_cocci_menhir.ml"
32773 ) = Obj.magic r0 in
32774 let _startpos = _startpos_r0_ in
32775 let _endpos = _endpos_m_ in
32776 let _v : 'tv_typedef_ctype = let ty =
32777 let ty0 = ty00 in
32778 let r = r0 in
32779 let ty =
32780 let ty = ty0 in
32781
32782 # 509 "parser_cocci_menhir.mly"
32783 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
32784 # 32785 "parser_cocci_menhir.ml"
32785
32786 in
32787
32788 # 561 "parser_cocci_menhir.mly"
32789 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32790 # 32791 "parser_cocci_menhir.ml"
32791
32792 in
32793 let cv =
32794
32795 # 39 "standard.mly"
32796 ( None )
32797 # 32798 "parser_cocci_menhir.ml"
32798
32799 in
32800
32801 # 582 "parser_cocci_menhir.mly"
32802 ( P.pointerify (P.make_cv cv ty) m )
32803 # 32804 "parser_cocci_menhir.ml"
32804 in
32805 _menhir_env.MenhirLib.EngineTypes.stack <- {
32806 MenhirLib.EngineTypes.state = _menhir_s;
32807 MenhirLib.EngineTypes.semv = Obj.repr _v;
32808 MenhirLib.EngineTypes.startp = _startpos;
32809 MenhirLib.EngineTypes.endp = _endpos;
32810 MenhirLib.EngineTypes.next = _menhir_stack;
32811 });
32812 (fun _menhir_env ->
32813 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32814 let {
32815 MenhirLib.EngineTypes.semv = m;
32816 MenhirLib.EngineTypes.startp = _startpos_m_;
32817 MenhirLib.EngineTypes.endp = _endpos_m_;
32818 MenhirLib.EngineTypes.next = {
32819 MenhirLib.EngineTypes.semv = ty00;
32820 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32821 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32822 MenhirLib.EngineTypes.next = {
32823 MenhirLib.EngineTypes.state = _menhir_s;
32824 MenhirLib.EngineTypes.semv = r0;
32825 MenhirLib.EngineTypes.startp = _startpos_r0_;
32826 MenhirLib.EngineTypes.endp = _endpos_r0_;
32827 MenhirLib.EngineTypes.next = _menhir_stack;
32828 };
32829 };
32830 } = _menhir_stack in
32831 let m : 'tv_list_TMul_ = Obj.magic m in
32832 let ty00 : (
32833 # 51 "parser_cocci_menhir.mly"
32834 (Data.clt)
32835 # 32836 "parser_cocci_menhir.ml"
32836 ) = Obj.magic ty00 in
32837 let r0 : (
32838 # 53 "parser_cocci_menhir.mly"
32839 (Data.clt)
32840 # 32841 "parser_cocci_menhir.ml"
32841 ) = Obj.magic r0 in
32842 let _startpos = _startpos_r0_ in
32843 let _endpos = _endpos_m_ in
32844 let _v : 'tv_typedef_ctype = let ty =
32845 let ty0 = ty00 in
32846 let r = r0 in
32847 let ty =
32848 let ty = ty0 in
32849
32850 # 511 "parser_cocci_menhir.mly"
32851 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
32852 # 32853 "parser_cocci_menhir.ml"
32853
32854 in
32855
32856 # 561 "parser_cocci_menhir.mly"
32857 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32858 # 32859 "parser_cocci_menhir.ml"
32859
32860 in
32861 let cv =
32862
32863 # 39 "standard.mly"
32864 ( None )
32865 # 32866 "parser_cocci_menhir.ml"
32866
32867 in
32868
32869 # 582 "parser_cocci_menhir.mly"
32870 ( P.pointerify (P.make_cv cv ty) m )
32871 # 32872 "parser_cocci_menhir.ml"
32872 in
32873 _menhir_env.MenhirLib.EngineTypes.stack <- {
32874 MenhirLib.EngineTypes.state = _menhir_s;
32875 MenhirLib.EngineTypes.semv = Obj.repr _v;
32876 MenhirLib.EngineTypes.startp = _startpos;
32877 MenhirLib.EngineTypes.endp = _endpos;
32878 MenhirLib.EngineTypes.next = _menhir_stack;
32879 });
32880 (fun _menhir_env ->
32881 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32882 let {
32883 MenhirLib.EngineTypes.semv = m;
32884 MenhirLib.EngineTypes.startp = _startpos_m_;
32885 MenhirLib.EngineTypes.endp = _endpos_m_;
32886 MenhirLib.EngineTypes.next = {
32887 MenhirLib.EngineTypes.semv = ty00;
32888 MenhirLib.EngineTypes.startp = _startpos_ty00_;
32889 MenhirLib.EngineTypes.endp = _endpos_ty00_;
32890 MenhirLib.EngineTypes.next = {
32891 MenhirLib.EngineTypes.state = _menhir_s;
32892 MenhirLib.EngineTypes.semv = r0;
32893 MenhirLib.EngineTypes.startp = _startpos_r0_;
32894 MenhirLib.EngineTypes.endp = _endpos_r0_;
32895 MenhirLib.EngineTypes.next = _menhir_stack;
32896 };
32897 };
32898 } = _menhir_stack in
32899 let m : 'tv_list_TMul_ = Obj.magic m in
32900 let ty00 : (
32901 # 51 "parser_cocci_menhir.mly"
32902 (Data.clt)
32903 # 32904 "parser_cocci_menhir.ml"
32904 ) = Obj.magic ty00 in
32905 let r0 : (
32906 # 53 "parser_cocci_menhir.mly"
32907 (Data.clt)
32908 # 32909 "parser_cocci_menhir.ml"
32909 ) = Obj.magic r0 in
32910 let _startpos = _startpos_r0_ in
32911 let _endpos = _endpos_m_ in
32912 let _v : 'tv_typedef_ctype = let ty =
32913 let ty0 = ty00 in
32914 let r = r0 in
32915 let ty =
32916 let ty = ty0 in
32917
32918 # 513 "parser_cocci_menhir.mly"
32919 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
32920 # 32921 "parser_cocci_menhir.ml"
32921
32922 in
32923
32924 # 561 "parser_cocci_menhir.mly"
32925 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32926 # 32927 "parser_cocci_menhir.ml"
32927
32928 in
32929 let cv =
32930
32931 # 39 "standard.mly"
32932 ( None )
32933 # 32934 "parser_cocci_menhir.ml"
32934
32935 in
32936
32937 # 582 "parser_cocci_menhir.mly"
32938 ( P.pointerify (P.make_cv cv ty) m )
32939 # 32940 "parser_cocci_menhir.ml"
32940 in
32941 _menhir_env.MenhirLib.EngineTypes.stack <- {
32942 MenhirLib.EngineTypes.state = _menhir_s;
32943 MenhirLib.EngineTypes.semv = Obj.repr _v;
32944 MenhirLib.EngineTypes.startp = _startpos;
32945 MenhirLib.EngineTypes.endp = _endpos;
32946 MenhirLib.EngineTypes.next = _menhir_stack;
32947 });
32948 (fun _menhir_env ->
32949 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32950 let {
32951 MenhirLib.EngineTypes.semv = m;
32952 MenhirLib.EngineTypes.startp = _startpos_m_;
32953 MenhirLib.EngineTypes.endp = _endpos_m_;
32954 MenhirLib.EngineTypes.next = {
32955 MenhirLib.EngineTypes.semv = p00;
32956 MenhirLib.EngineTypes.startp = _startpos_p00_;
32957 MenhirLib.EngineTypes.endp = _endpos_p00_;
32958 MenhirLib.EngineTypes.next = {
32959 MenhirLib.EngineTypes.state = _menhir_s;
32960 MenhirLib.EngineTypes.semv = r0;
32961 MenhirLib.EngineTypes.startp = _startpos_r0_;
32962 MenhirLib.EngineTypes.endp = _endpos_r0_;
32963 MenhirLib.EngineTypes.next = _menhir_stack;
32964 };
32965 };
32966 } = _menhir_stack in
32967 let m : 'tv_list_TMul_ = Obj.magic m in
32968 let p00 : (
32969 # 67 "parser_cocci_menhir.mly"
32970 (Parse_aux.info)
32971 # 32972 "parser_cocci_menhir.ml"
32972 ) = Obj.magic p00 in
32973 let r0 : (
32974 # 53 "parser_cocci_menhir.mly"
32975 (Data.clt)
32976 # 32977 "parser_cocci_menhir.ml"
32977 ) = Obj.magic r0 in
32978 let _startpos = _startpos_r0_ in
32979 let _endpos = _endpos_m_ in
32980 let _v : 'tv_typedef_ctype = let ty =
32981 let p0 = p00 in
32982 let r = r0 in
32983 let ty =
32984 let p = p0 in
32985
32986 # 515 "parser_cocci_menhir.mly"
32987 ( let (nm,pure,clt) = p in
32988 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
32989 # 32990 "parser_cocci_menhir.ml"
32990
32991 in
32992
32993 # 561 "parser_cocci_menhir.mly"
32994 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
32995 # 32996 "parser_cocci_menhir.ml"
32996
32997 in
32998 let cv =
32999
33000 # 39 "standard.mly"
33001 ( None )
33002 # 33003 "parser_cocci_menhir.ml"
33003
33004 in
33005
33006 # 582 "parser_cocci_menhir.mly"
33007 ( P.pointerify (P.make_cv cv ty) m )
33008 # 33009 "parser_cocci_menhir.ml"
33009 in
33010 _menhir_env.MenhirLib.EngineTypes.stack <- {
33011 MenhirLib.EngineTypes.state = _menhir_s;
33012 MenhirLib.EngineTypes.semv = Obj.repr _v;
33013 MenhirLib.EngineTypes.startp = _startpos;
33014 MenhirLib.EngineTypes.endp = _endpos;
33015 MenhirLib.EngineTypes.next = _menhir_stack;
33016 });
33017 (fun _menhir_env ->
33018 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33019 let {
33020 MenhirLib.EngineTypes.semv = m;
33021 MenhirLib.EngineTypes.startp = _startpos_m_;
33022 MenhirLib.EngineTypes.endp = _endpos_m_;
33023 MenhirLib.EngineTypes.next = {
33024 MenhirLib.EngineTypes.semv = p00;
33025 MenhirLib.EngineTypes.startp = _startpos_p00_;
33026 MenhirLib.EngineTypes.endp = _endpos_p00_;
33027 MenhirLib.EngineTypes.next = {
33028 MenhirLib.EngineTypes.startp = _startpos__3_;
33029 MenhirLib.EngineTypes.endp = _endpos__3_;
33030 MenhirLib.EngineTypes.next = {
33031 MenhirLib.EngineTypes.semv = r00;
33032 MenhirLib.EngineTypes.startp = _startpos_r00_;
33033 MenhirLib.EngineTypes.endp = _endpos_r00_;
33034 MenhirLib.EngineTypes.next = {
33035 MenhirLib.EngineTypes.state = _menhir_s;
33036 MenhirLib.EngineTypes.semv = r1;
33037 MenhirLib.EngineTypes.startp = _startpos_r1_;
33038 MenhirLib.EngineTypes.endp = _endpos_r1_;
33039 MenhirLib.EngineTypes.next = _menhir_stack;
33040 };
33041 };
33042 };
33043 };
33044 } = _menhir_stack in
33045 let m : 'tv_list_TMul_ = Obj.magic m in
33046 let p00 : (
33047 # 61 "parser_cocci_menhir.mly"
33048 (string * Data.clt)
33049 # 33050 "parser_cocci_menhir.ml"
33050 ) = Obj.magic p00 in
33051 let r00 : (
33052 # 49 "parser_cocci_menhir.mly"
33053 (string)
33054 # 33055 "parser_cocci_menhir.ml"
33055 ) = Obj.magic r00 in
33056 let r1 : (
33057 # 53 "parser_cocci_menhir.mly"
33058 (Data.clt)
33059 # 33060 "parser_cocci_menhir.ml"
33060 ) = Obj.magic r1 in
33061 let _startpos = _startpos_r1_ in
33062 let _endpos = _endpos_m_ in
33063 let _v : 'tv_typedef_ctype = let ty =
33064 let p0 = p00 in
33065 let r0 = r00 in
33066 let r = r1 in
33067 let ty =
33068 let p = p0 in
33069 let r = r0 in
33070
33071 # 518 "parser_cocci_menhir.mly"
33072 ( let nm = (r,P.id2name p) in
33073 (* this is only possible when we are in a metavar decl. Otherwise,
33074 it will be represented already as a MetaType *)
33075 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
33076 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
33077 Ast0.Impure (*will be ignored*))) )
33078 # 33079 "parser_cocci_menhir.ml"
33079
33080 in
33081
33082 # 561 "parser_cocci_menhir.mly"
33083 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
33084 # 33085 "parser_cocci_menhir.ml"
33085
33086 in
33087 let cv =
33088
33089 # 39 "standard.mly"
33090 ( None )
33091 # 33092 "parser_cocci_menhir.ml"
33092
33093 in
33094
33095 # 582 "parser_cocci_menhir.mly"
33096 ( P.pointerify (P.make_cv cv ty) m )
33097 # 33098 "parser_cocci_menhir.ml"
33098 in
33099 _menhir_env.MenhirLib.EngineTypes.stack <- {
33100 MenhirLib.EngineTypes.state = _menhir_s;
33101 MenhirLib.EngineTypes.semv = Obj.repr _v;
33102 MenhirLib.EngineTypes.startp = _startpos;
33103 MenhirLib.EngineTypes.endp = _endpos;
33104 MenhirLib.EngineTypes.next = _menhir_stack;
33105 });
33106 (fun _menhir_env ->
33107 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33108 let {
33109 MenhirLib.EngineTypes.semv = m;
33110 MenhirLib.EngineTypes.startp = _startpos_m_;
33111 MenhirLib.EngineTypes.endp = _endpos_m_;
33112 MenhirLib.EngineTypes.next = {
33113 MenhirLib.EngineTypes.semv = ty00;
33114 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33115 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33116 MenhirLib.EngineTypes.next = {
33117 MenhirLib.EngineTypes.state = _menhir_s;
33118 MenhirLib.EngineTypes.semv = r0;
33119 MenhirLib.EngineTypes.startp = _startpos_r0_;
33120 MenhirLib.EngineTypes.endp = _endpos_r0_;
33121 MenhirLib.EngineTypes.next = _menhir_stack;
33122 };
33123 };
33124 } = _menhir_stack in
33125 let m : 'tv_list_TMul_ = Obj.magic m in
33126 let ty00 : (
33127 # 51 "parser_cocci_menhir.mly"
33128 (Data.clt)
33129 # 33130 "parser_cocci_menhir.ml"
33130 ) = Obj.magic ty00 in
33131 let r0 : (
33132 # 53 "parser_cocci_menhir.mly"
33133 (Data.clt)
33134 # 33135 "parser_cocci_menhir.ml"
33135 ) = Obj.magic r0 in
33136 let _startpos = _startpos_r0_ in
33137 let _endpos = _endpos_m_ in
33138 let _v : 'tv_typedef_ctype = let ty =
33139 let ty0 = ty00 in
33140 let r = r0 in
33141 let ty =
33142 let ty = ty0 in
33143
33144 # 525 "parser_cocci_menhir.mly"
33145 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
33146 # 33147 "parser_cocci_menhir.ml"
33147
33148 in
33149
33150 # 561 "parser_cocci_menhir.mly"
33151 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
33152 # 33153 "parser_cocci_menhir.ml"
33153
33154 in
33155 let cv =
33156
33157 # 39 "standard.mly"
33158 ( None )
33159 # 33160 "parser_cocci_menhir.ml"
33160
33161 in
33162
33163 # 582 "parser_cocci_menhir.mly"
33164 ( P.pointerify (P.make_cv cv ty) m )
33165 # 33166 "parser_cocci_menhir.ml"
33166 in
33167 _menhir_env.MenhirLib.EngineTypes.stack <- {
33168 MenhirLib.EngineTypes.state = _menhir_s;
33169 MenhirLib.EngineTypes.semv = Obj.repr _v;
33170 MenhirLib.EngineTypes.startp = _startpos;
33171 MenhirLib.EngineTypes.endp = _endpos;
33172 MenhirLib.EngineTypes.next = _menhir_stack;
33173 });
33174 (fun _menhir_env ->
33175 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33176 let {
33177 MenhirLib.EngineTypes.semv = m;
33178 MenhirLib.EngineTypes.startp = _startpos_m_;
33179 MenhirLib.EngineTypes.endp = _endpos_m_;
33180 MenhirLib.EngineTypes.next = {
33181 MenhirLib.EngineTypes.semv = ty200;
33182 MenhirLib.EngineTypes.startp = _startpos_ty200_;
33183 MenhirLib.EngineTypes.endp = _endpos_ty200_;
33184 MenhirLib.EngineTypes.next = {
33185 MenhirLib.EngineTypes.semv = ty100;
33186 MenhirLib.EngineTypes.startp = _startpos_ty100_;
33187 MenhirLib.EngineTypes.endp = _endpos_ty100_;
33188 MenhirLib.EngineTypes.next = {
33189 MenhirLib.EngineTypes.state = _menhir_s;
33190 MenhirLib.EngineTypes.semv = r0;
33191 MenhirLib.EngineTypes.startp = _startpos_r0_;
33192 MenhirLib.EngineTypes.endp = _endpos_r0_;
33193 MenhirLib.EngineTypes.next = _menhir_stack;
33194 };
33195 };
33196 };
33197 } = _menhir_stack in
33198 let m : 'tv_list_TMul_ = Obj.magic m in
33199 let ty200 : (
33200 # 51 "parser_cocci_menhir.mly"
33201 (Data.clt)
33202 # 33203 "parser_cocci_menhir.ml"
33203 ) = Obj.magic ty200 in
33204 let ty100 : (
33205 # 51 "parser_cocci_menhir.mly"
33206 (Data.clt)
33207 # 33208 "parser_cocci_menhir.ml"
33208 ) = Obj.magic ty100 in
33209 let r0 : (
33210 # 53 "parser_cocci_menhir.mly"
33211 (Data.clt)
33212 # 33213 "parser_cocci_menhir.ml"
33213 ) = Obj.magic r0 in
33214 let _startpos = _startpos_r0_ in
33215 let _endpos = _endpos_m_ in
33216 let _v : 'tv_typedef_ctype = let ty =
33217 let ty20 = ty200 in
33218 let ty10 = ty100 in
33219 let r = r0 in
33220 let ty =
33221 let ty2 = ty20 in
33222 let ty1 = ty10 in
33223
33224 # 527 "parser_cocci_menhir.mly"
33225 ( Ast0.wrap
33226 (Ast0.BaseType
33227 (Ast.LongLongType,
33228 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
33229 # 33230 "parser_cocci_menhir.ml"
33230
33231 in
33232
33233 # 561 "parser_cocci_menhir.mly"
33234 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
33235 # 33236 "parser_cocci_menhir.ml"
33236
33237 in
33238 let cv =
33239
33240 # 39 "standard.mly"
33241 ( None )
33242 # 33243 "parser_cocci_menhir.ml"
33243
33244 in
33245
33246 # 582 "parser_cocci_menhir.mly"
33247 ( P.pointerify (P.make_cv cv ty) m )
33248 # 33249 "parser_cocci_menhir.ml"
33249 in
33250 _menhir_env.MenhirLib.EngineTypes.stack <- {
33251 MenhirLib.EngineTypes.state = _menhir_s;
33252 MenhirLib.EngineTypes.semv = Obj.repr _v;
33253 MenhirLib.EngineTypes.startp = _startpos;
33254 MenhirLib.EngineTypes.endp = _endpos;
33255 MenhirLib.EngineTypes.next = _menhir_stack;
33256 });
33257 (fun _menhir_env ->
33258 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33259 let {
33260 MenhirLib.EngineTypes.semv = m;
33261 MenhirLib.EngineTypes.startp = _startpos_m_;
33262 MenhirLib.EngineTypes.endp = _endpos_m_;
33263 MenhirLib.EngineTypes.next = {
33264 MenhirLib.EngineTypes.semv = ty00;
33265 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33266 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33267 MenhirLib.EngineTypes.next = {
33268 MenhirLib.EngineTypes.state = _menhir_s;
33269 MenhirLib.EngineTypes.semv = r0;
33270 MenhirLib.EngineTypes.startp = _startpos_r0_;
33271 MenhirLib.EngineTypes.endp = _endpos_r0_;
33272 MenhirLib.EngineTypes.next = _menhir_stack;
33273 };
33274 };
33275 } = _menhir_stack in
33276 let m : 'tv_list_TMul_ = Obj.magic m in
33277 let ty00 : (
33278 # 51 "parser_cocci_menhir.mly"
33279 (Data.clt)
33280 # 33281 "parser_cocci_menhir.ml"
33281 ) = Obj.magic ty00 in
33282 let r0 : (
33283 # 53 "parser_cocci_menhir.mly"
33284 (Data.clt)
33285 # 33286 "parser_cocci_menhir.ml"
33286 ) = Obj.magic r0 in
33287 let _startpos = _startpos_r0_ in
33288 let _endpos = _endpos_m_ in
33289 let _v : 'tv_typedef_ctype = let ty =
33290 let ty0 = ty00 in
33291 let r = r0 in
33292 let ty =
33293 let ty = ty0 in
33294
33295 # 509 "parser_cocci_menhir.mly"
33296 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
33297 # 33298 "parser_cocci_menhir.ml"
33298
33299 in
33300
33301 # 563 "parser_cocci_menhir.mly"
33302 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33303 # 33304 "parser_cocci_menhir.ml"
33304
33305 in
33306 let cv =
33307
33308 # 39 "standard.mly"
33309 ( None )
33310 # 33311 "parser_cocci_menhir.ml"
33311
33312 in
33313
33314 # 582 "parser_cocci_menhir.mly"
33315 ( P.pointerify (P.make_cv cv ty) m )
33316 # 33317 "parser_cocci_menhir.ml"
33317 in
33318 _menhir_env.MenhirLib.EngineTypes.stack <- {
33319 MenhirLib.EngineTypes.state = _menhir_s;
33320 MenhirLib.EngineTypes.semv = Obj.repr _v;
33321 MenhirLib.EngineTypes.startp = _startpos;
33322 MenhirLib.EngineTypes.endp = _endpos;
33323 MenhirLib.EngineTypes.next = _menhir_stack;
33324 });
33325 (fun _menhir_env ->
33326 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33327 let {
33328 MenhirLib.EngineTypes.semv = m;
33329 MenhirLib.EngineTypes.startp = _startpos_m_;
33330 MenhirLib.EngineTypes.endp = _endpos_m_;
33331 MenhirLib.EngineTypes.next = {
33332 MenhirLib.EngineTypes.semv = ty00;
33333 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33334 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33335 MenhirLib.EngineTypes.next = {
33336 MenhirLib.EngineTypes.state = _menhir_s;
33337 MenhirLib.EngineTypes.semv = r0;
33338 MenhirLib.EngineTypes.startp = _startpos_r0_;
33339 MenhirLib.EngineTypes.endp = _endpos_r0_;
33340 MenhirLib.EngineTypes.next = _menhir_stack;
33341 };
33342 };
33343 } = _menhir_stack in
33344 let m : 'tv_list_TMul_ = Obj.magic m in
33345 let ty00 : (
33346 # 51 "parser_cocci_menhir.mly"
33347 (Data.clt)
33348 # 33349 "parser_cocci_menhir.ml"
33349 ) = Obj.magic ty00 in
33350 let r0 : (
33351 # 53 "parser_cocci_menhir.mly"
33352 (Data.clt)
33353 # 33354 "parser_cocci_menhir.ml"
33354 ) = Obj.magic r0 in
33355 let _startpos = _startpos_r0_ in
33356 let _endpos = _endpos_m_ in
33357 let _v : 'tv_typedef_ctype = let ty =
33358 let ty0 = ty00 in
33359 let r = r0 in
33360 let ty =
33361 let ty = ty0 in
33362
33363 # 511 "parser_cocci_menhir.mly"
33364 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
33365 # 33366 "parser_cocci_menhir.ml"
33366
33367 in
33368
33369 # 563 "parser_cocci_menhir.mly"
33370 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33371 # 33372 "parser_cocci_menhir.ml"
33372
33373 in
33374 let cv =
33375
33376 # 39 "standard.mly"
33377 ( None )
33378 # 33379 "parser_cocci_menhir.ml"
33379
33380 in
33381
33382 # 582 "parser_cocci_menhir.mly"
33383 ( P.pointerify (P.make_cv cv ty) m )
33384 # 33385 "parser_cocci_menhir.ml"
33385 in
33386 _menhir_env.MenhirLib.EngineTypes.stack <- {
33387 MenhirLib.EngineTypes.state = _menhir_s;
33388 MenhirLib.EngineTypes.semv = Obj.repr _v;
33389 MenhirLib.EngineTypes.startp = _startpos;
33390 MenhirLib.EngineTypes.endp = _endpos;
33391 MenhirLib.EngineTypes.next = _menhir_stack;
33392 });
33393 (fun _menhir_env ->
33394 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33395 let {
33396 MenhirLib.EngineTypes.semv = m;
33397 MenhirLib.EngineTypes.startp = _startpos_m_;
33398 MenhirLib.EngineTypes.endp = _endpos_m_;
33399 MenhirLib.EngineTypes.next = {
33400 MenhirLib.EngineTypes.semv = ty00;
33401 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33402 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33403 MenhirLib.EngineTypes.next = {
33404 MenhirLib.EngineTypes.state = _menhir_s;
33405 MenhirLib.EngineTypes.semv = r0;
33406 MenhirLib.EngineTypes.startp = _startpos_r0_;
33407 MenhirLib.EngineTypes.endp = _endpos_r0_;
33408 MenhirLib.EngineTypes.next = _menhir_stack;
33409 };
33410 };
33411 } = _menhir_stack in
33412 let m : 'tv_list_TMul_ = Obj.magic m in
33413 let ty00 : (
33414 # 51 "parser_cocci_menhir.mly"
33415 (Data.clt)
33416 # 33417 "parser_cocci_menhir.ml"
33417 ) = Obj.magic ty00 in
33418 let r0 : (
33419 # 53 "parser_cocci_menhir.mly"
33420 (Data.clt)
33421 # 33422 "parser_cocci_menhir.ml"
33422 ) = Obj.magic r0 in
33423 let _startpos = _startpos_r0_ in
33424 let _endpos = _endpos_m_ in
33425 let _v : 'tv_typedef_ctype = let ty =
33426 let ty0 = ty00 in
33427 let r = r0 in
33428 let ty =
33429 let ty = ty0 in
33430
33431 # 513 "parser_cocci_menhir.mly"
33432 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
33433 # 33434 "parser_cocci_menhir.ml"
33434
33435 in
33436
33437 # 563 "parser_cocci_menhir.mly"
33438 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33439 # 33440 "parser_cocci_menhir.ml"
33440
33441 in
33442 let cv =
33443
33444 # 39 "standard.mly"
33445 ( None )
33446 # 33447 "parser_cocci_menhir.ml"
33447
33448 in
33449
33450 # 582 "parser_cocci_menhir.mly"
33451 ( P.pointerify (P.make_cv cv ty) m )
33452 # 33453 "parser_cocci_menhir.ml"
33453 in
33454 _menhir_env.MenhirLib.EngineTypes.stack <- {
33455 MenhirLib.EngineTypes.state = _menhir_s;
33456 MenhirLib.EngineTypes.semv = Obj.repr _v;
33457 MenhirLib.EngineTypes.startp = _startpos;
33458 MenhirLib.EngineTypes.endp = _endpos;
33459 MenhirLib.EngineTypes.next = _menhir_stack;
33460 });
33461 (fun _menhir_env ->
33462 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33463 let {
33464 MenhirLib.EngineTypes.semv = m;
33465 MenhirLib.EngineTypes.startp = _startpos_m_;
33466 MenhirLib.EngineTypes.endp = _endpos_m_;
33467 MenhirLib.EngineTypes.next = {
33468 MenhirLib.EngineTypes.semv = p00;
33469 MenhirLib.EngineTypes.startp = _startpos_p00_;
33470 MenhirLib.EngineTypes.endp = _endpos_p00_;
33471 MenhirLib.EngineTypes.next = {
33472 MenhirLib.EngineTypes.state = _menhir_s;
33473 MenhirLib.EngineTypes.semv = r0;
33474 MenhirLib.EngineTypes.startp = _startpos_r0_;
33475 MenhirLib.EngineTypes.endp = _endpos_r0_;
33476 MenhirLib.EngineTypes.next = _menhir_stack;
33477 };
33478 };
33479 } = _menhir_stack in
33480 let m : 'tv_list_TMul_ = Obj.magic m in
33481 let p00 : (
33482 # 67 "parser_cocci_menhir.mly"
33483 (Parse_aux.info)
33484 # 33485 "parser_cocci_menhir.ml"
33485 ) = Obj.magic p00 in
33486 let r0 : (
33487 # 53 "parser_cocci_menhir.mly"
33488 (Data.clt)
33489 # 33490 "parser_cocci_menhir.ml"
33490 ) = Obj.magic r0 in
33491 let _startpos = _startpos_r0_ in
33492 let _endpos = _endpos_m_ in
33493 let _v : 'tv_typedef_ctype = let ty =
33494 let p0 = p00 in
33495 let r = r0 in
33496 let ty =
33497 let p = p0 in
33498
33499 # 515 "parser_cocci_menhir.mly"
33500 ( let (nm,pure,clt) = p in
33501 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
33502 # 33503 "parser_cocci_menhir.ml"
33503
33504 in
33505
33506 # 563 "parser_cocci_menhir.mly"
33507 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33508 # 33509 "parser_cocci_menhir.ml"
33509
33510 in
33511 let cv =
33512
33513 # 39 "standard.mly"
33514 ( None )
33515 # 33516 "parser_cocci_menhir.ml"
33516
33517 in
33518
33519 # 582 "parser_cocci_menhir.mly"
33520 ( P.pointerify (P.make_cv cv ty) m )
33521 # 33522 "parser_cocci_menhir.ml"
33522 in
33523 _menhir_env.MenhirLib.EngineTypes.stack <- {
33524 MenhirLib.EngineTypes.state = _menhir_s;
33525 MenhirLib.EngineTypes.semv = Obj.repr _v;
33526 MenhirLib.EngineTypes.startp = _startpos;
33527 MenhirLib.EngineTypes.endp = _endpos;
33528 MenhirLib.EngineTypes.next = _menhir_stack;
33529 });
33530 (fun _menhir_env ->
33531 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33532 let {
33533 MenhirLib.EngineTypes.semv = m;
33534 MenhirLib.EngineTypes.startp = _startpos_m_;
33535 MenhirLib.EngineTypes.endp = _endpos_m_;
33536 MenhirLib.EngineTypes.next = {
33537 MenhirLib.EngineTypes.semv = p00;
33538 MenhirLib.EngineTypes.startp = _startpos_p00_;
33539 MenhirLib.EngineTypes.endp = _endpos_p00_;
33540 MenhirLib.EngineTypes.next = {
33541 MenhirLib.EngineTypes.startp = _startpos__3_;
33542 MenhirLib.EngineTypes.endp = _endpos__3_;
33543 MenhirLib.EngineTypes.next = {
33544 MenhirLib.EngineTypes.semv = r00;
33545 MenhirLib.EngineTypes.startp = _startpos_r00_;
33546 MenhirLib.EngineTypes.endp = _endpos_r00_;
33547 MenhirLib.EngineTypes.next = {
33548 MenhirLib.EngineTypes.state = _menhir_s;
33549 MenhirLib.EngineTypes.semv = r1;
33550 MenhirLib.EngineTypes.startp = _startpos_r1_;
33551 MenhirLib.EngineTypes.endp = _endpos_r1_;
33552 MenhirLib.EngineTypes.next = _menhir_stack;
33553 };
33554 };
33555 };
33556 };
33557 } = _menhir_stack in
33558 let m : 'tv_list_TMul_ = Obj.magic m in
33559 let p00 : (
33560 # 61 "parser_cocci_menhir.mly"
33561 (string * Data.clt)
33562 # 33563 "parser_cocci_menhir.ml"
33563 ) = Obj.magic p00 in
33564 let r00 : (
33565 # 49 "parser_cocci_menhir.mly"
33566 (string)
33567 # 33568 "parser_cocci_menhir.ml"
33568 ) = Obj.magic r00 in
33569 let r1 : (
33570 # 53 "parser_cocci_menhir.mly"
33571 (Data.clt)
33572 # 33573 "parser_cocci_menhir.ml"
33573 ) = Obj.magic r1 in
33574 let _startpos = _startpos_r1_ in
33575 let _endpos = _endpos_m_ in
33576 let _v : 'tv_typedef_ctype = let ty =
33577 let p0 = p00 in
33578 let r0 = r00 in
33579 let r = r1 in
33580 let ty =
33581 let p = p0 in
33582 let r = r0 in
33583
33584 # 518 "parser_cocci_menhir.mly"
33585 ( let nm = (r,P.id2name p) in
33586 (* this is only possible when we are in a metavar decl. Otherwise,
33587 it will be represented already as a MetaType *)
33588 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
33589 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
33590 Ast0.Impure (*will be ignored*))) )
33591 # 33592 "parser_cocci_menhir.ml"
33592
33593 in
33594
33595 # 563 "parser_cocci_menhir.mly"
33596 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33597 # 33598 "parser_cocci_menhir.ml"
33598
33599 in
33600 let cv =
33601
33602 # 39 "standard.mly"
33603 ( None )
33604 # 33605 "parser_cocci_menhir.ml"
33605
33606 in
33607
33608 # 582 "parser_cocci_menhir.mly"
33609 ( P.pointerify (P.make_cv cv ty) m )
33610 # 33611 "parser_cocci_menhir.ml"
33611 in
33612 _menhir_env.MenhirLib.EngineTypes.stack <- {
33613 MenhirLib.EngineTypes.state = _menhir_s;
33614 MenhirLib.EngineTypes.semv = Obj.repr _v;
33615 MenhirLib.EngineTypes.startp = _startpos;
33616 MenhirLib.EngineTypes.endp = _endpos;
33617 MenhirLib.EngineTypes.next = _menhir_stack;
33618 });
33619 (fun _menhir_env ->
33620 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33621 let {
33622 MenhirLib.EngineTypes.semv = m;
33623 MenhirLib.EngineTypes.startp = _startpos_m_;
33624 MenhirLib.EngineTypes.endp = _endpos_m_;
33625 MenhirLib.EngineTypes.next = {
33626 MenhirLib.EngineTypes.semv = ty00;
33627 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33628 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33629 MenhirLib.EngineTypes.next = {
33630 MenhirLib.EngineTypes.state = _menhir_s;
33631 MenhirLib.EngineTypes.semv = r0;
33632 MenhirLib.EngineTypes.startp = _startpos_r0_;
33633 MenhirLib.EngineTypes.endp = _endpos_r0_;
33634 MenhirLib.EngineTypes.next = _menhir_stack;
33635 };
33636 };
33637 } = _menhir_stack in
33638 let m : 'tv_list_TMul_ = Obj.magic m in
33639 let ty00 : (
33640 # 51 "parser_cocci_menhir.mly"
33641 (Data.clt)
33642 # 33643 "parser_cocci_menhir.ml"
33643 ) = Obj.magic ty00 in
33644 let r0 : (
33645 # 53 "parser_cocci_menhir.mly"
33646 (Data.clt)
33647 # 33648 "parser_cocci_menhir.ml"
33648 ) = Obj.magic r0 in
33649 let _startpos = _startpos_r0_ in
33650 let _endpos = _endpos_m_ in
33651 let _v : 'tv_typedef_ctype = let ty =
33652 let ty0 = ty00 in
33653 let r = r0 in
33654 let ty =
33655 let ty = ty0 in
33656
33657 # 525 "parser_cocci_menhir.mly"
33658 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
33659 # 33660 "parser_cocci_menhir.ml"
33660
33661 in
33662
33663 # 563 "parser_cocci_menhir.mly"
33664 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33665 # 33666 "parser_cocci_menhir.ml"
33666
33667 in
33668 let cv =
33669
33670 # 39 "standard.mly"
33671 ( None )
33672 # 33673 "parser_cocci_menhir.ml"
33673
33674 in
33675
33676 # 582 "parser_cocci_menhir.mly"
33677 ( P.pointerify (P.make_cv cv ty) m )
33678 # 33679 "parser_cocci_menhir.ml"
33679 in
33680 _menhir_env.MenhirLib.EngineTypes.stack <- {
33681 MenhirLib.EngineTypes.state = _menhir_s;
33682 MenhirLib.EngineTypes.semv = Obj.repr _v;
33683 MenhirLib.EngineTypes.startp = _startpos;
33684 MenhirLib.EngineTypes.endp = _endpos;
33685 MenhirLib.EngineTypes.next = _menhir_stack;
33686 });
33687 (fun _menhir_env ->
33688 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33689 let {
33690 MenhirLib.EngineTypes.semv = m;
33691 MenhirLib.EngineTypes.startp = _startpos_m_;
33692 MenhirLib.EngineTypes.endp = _endpos_m_;
33693 MenhirLib.EngineTypes.next = {
33694 MenhirLib.EngineTypes.semv = ty200;
33695 MenhirLib.EngineTypes.startp = _startpos_ty200_;
33696 MenhirLib.EngineTypes.endp = _endpos_ty200_;
33697 MenhirLib.EngineTypes.next = {
33698 MenhirLib.EngineTypes.semv = ty100;
33699 MenhirLib.EngineTypes.startp = _startpos_ty100_;
33700 MenhirLib.EngineTypes.endp = _endpos_ty100_;
33701 MenhirLib.EngineTypes.next = {
33702 MenhirLib.EngineTypes.state = _menhir_s;
33703 MenhirLib.EngineTypes.semv = r0;
33704 MenhirLib.EngineTypes.startp = _startpos_r0_;
33705 MenhirLib.EngineTypes.endp = _endpos_r0_;
33706 MenhirLib.EngineTypes.next = _menhir_stack;
33707 };
33708 };
33709 };
33710 } = _menhir_stack in
33711 let m : 'tv_list_TMul_ = Obj.magic m in
33712 let ty200 : (
33713 # 51 "parser_cocci_menhir.mly"
33714 (Data.clt)
33715 # 33716 "parser_cocci_menhir.ml"
33716 ) = Obj.magic ty200 in
33717 let ty100 : (
33718 # 51 "parser_cocci_menhir.mly"
33719 (Data.clt)
33720 # 33721 "parser_cocci_menhir.ml"
33721 ) = Obj.magic ty100 in
33722 let r0 : (
33723 # 53 "parser_cocci_menhir.mly"
33724 (Data.clt)
33725 # 33726 "parser_cocci_menhir.ml"
33726 ) = Obj.magic r0 in
33727 let _startpos = _startpos_r0_ in
33728 let _endpos = _endpos_m_ in
33729 let _v : 'tv_typedef_ctype = let ty =
33730 let ty20 = ty200 in
33731 let ty10 = ty100 in
33732 let r = r0 in
33733 let ty =
33734 let ty2 = ty20 in
33735 let ty1 = ty10 in
33736
33737 # 527 "parser_cocci_menhir.mly"
33738 ( Ast0.wrap
33739 (Ast0.BaseType
33740 (Ast.LongLongType,
33741 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
33742 # 33743 "parser_cocci_menhir.ml"
33743
33744 in
33745
33746 # 563 "parser_cocci_menhir.mly"
33747 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
33748 # 33749 "parser_cocci_menhir.ml"
33749
33750 in
33751 let cv =
33752
33753 # 39 "standard.mly"
33754 ( None )
33755 # 33756 "parser_cocci_menhir.ml"
33756
33757 in
33758
33759 # 582 "parser_cocci_menhir.mly"
33760 ( P.pointerify (P.make_cv cv ty) m )
33761 # 33762 "parser_cocci_menhir.ml"
33762 in
33763 _menhir_env.MenhirLib.EngineTypes.stack <- {
33764 MenhirLib.EngineTypes.state = _menhir_s;
33765 MenhirLib.EngineTypes.semv = Obj.repr _v;
33766 MenhirLib.EngineTypes.startp = _startpos;
33767 MenhirLib.EngineTypes.endp = _endpos;
33768 MenhirLib.EngineTypes.next = _menhir_stack;
33769 });
33770 (fun _menhir_env ->
33771 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33772 let {
33773 MenhirLib.EngineTypes.semv = m;
33774 MenhirLib.EngineTypes.startp = _startpos_m_;
33775 MenhirLib.EngineTypes.endp = _endpos_m_;
33776 MenhirLib.EngineTypes.next = {
33777 MenhirLib.EngineTypes.state = _menhir_s;
33778 MenhirLib.EngineTypes.semv = ty00;
33779 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33780 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33781 MenhirLib.EngineTypes.next = _menhir_stack;
33782 };
33783 } = _menhir_stack in
33784 let m : 'tv_list_TMul_ = Obj.magic m in
33785 let ty00 : (
33786 # 51 "parser_cocci_menhir.mly"
33787 (Data.clt)
33788 # 33789 "parser_cocci_menhir.ml"
33789 ) = Obj.magic ty00 in
33790 let _startpos = _startpos_ty00_ in
33791 let _endpos = _endpos_m_ in
33792 let _v : 'tv_typedef_ctype = let ty =
33793 let ty0 = ty00 in
33794 let ty =
33795 let ty = ty0 in
33796
33797 # 509 "parser_cocci_menhir.mly"
33798 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
33799 # 33800 "parser_cocci_menhir.ml"
33800
33801 in
33802
33803 # 564 "parser_cocci_menhir.mly"
33804 ( ty )
33805 # 33806 "parser_cocci_menhir.ml"
33806
33807 in
33808 let cv =
33809
33810 # 39 "standard.mly"
33811 ( None )
33812 # 33813 "parser_cocci_menhir.ml"
33813
33814 in
33815
33816 # 582 "parser_cocci_menhir.mly"
33817 ( P.pointerify (P.make_cv cv ty) m )
33818 # 33819 "parser_cocci_menhir.ml"
33819 in
33820 _menhir_env.MenhirLib.EngineTypes.stack <- {
33821 MenhirLib.EngineTypes.state = _menhir_s;
33822 MenhirLib.EngineTypes.semv = Obj.repr _v;
33823 MenhirLib.EngineTypes.startp = _startpos;
33824 MenhirLib.EngineTypes.endp = _endpos;
33825 MenhirLib.EngineTypes.next = _menhir_stack;
33826 });
33827 (fun _menhir_env ->
33828 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33829 let {
33830 MenhirLib.EngineTypes.semv = m;
33831 MenhirLib.EngineTypes.startp = _startpos_m_;
33832 MenhirLib.EngineTypes.endp = _endpos_m_;
33833 MenhirLib.EngineTypes.next = {
33834 MenhirLib.EngineTypes.state = _menhir_s;
33835 MenhirLib.EngineTypes.semv = ty00;
33836 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33837 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33838 MenhirLib.EngineTypes.next = _menhir_stack;
33839 };
33840 } = _menhir_stack in
33841 let m : 'tv_list_TMul_ = Obj.magic m in
33842 let ty00 : (
33843 # 51 "parser_cocci_menhir.mly"
33844 (Data.clt)
33845 # 33846 "parser_cocci_menhir.ml"
33846 ) = Obj.magic ty00 in
33847 let _startpos = _startpos_ty00_ in
33848 let _endpos = _endpos_m_ in
33849 let _v : 'tv_typedef_ctype = let ty =
33850 let ty0 = ty00 in
33851 let ty =
33852 let ty = ty0 in
33853
33854 # 511 "parser_cocci_menhir.mly"
33855 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
33856 # 33857 "parser_cocci_menhir.ml"
33857
33858 in
33859
33860 # 564 "parser_cocci_menhir.mly"
33861 ( ty )
33862 # 33863 "parser_cocci_menhir.ml"
33863
33864 in
33865 let cv =
33866
33867 # 39 "standard.mly"
33868 ( None )
33869 # 33870 "parser_cocci_menhir.ml"
33870
33871 in
33872
33873 # 582 "parser_cocci_menhir.mly"
33874 ( P.pointerify (P.make_cv cv ty) m )
33875 # 33876 "parser_cocci_menhir.ml"
33876 in
33877 _menhir_env.MenhirLib.EngineTypes.stack <- {
33878 MenhirLib.EngineTypes.state = _menhir_s;
33879 MenhirLib.EngineTypes.semv = Obj.repr _v;
33880 MenhirLib.EngineTypes.startp = _startpos;
33881 MenhirLib.EngineTypes.endp = _endpos;
33882 MenhirLib.EngineTypes.next = _menhir_stack;
33883 });
33884 (fun _menhir_env ->
33885 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33886 let {
33887 MenhirLib.EngineTypes.semv = m;
33888 MenhirLib.EngineTypes.startp = _startpos_m_;
33889 MenhirLib.EngineTypes.endp = _endpos_m_;
33890 MenhirLib.EngineTypes.next = {
33891 MenhirLib.EngineTypes.state = _menhir_s;
33892 MenhirLib.EngineTypes.semv = ty00;
33893 MenhirLib.EngineTypes.startp = _startpos_ty00_;
33894 MenhirLib.EngineTypes.endp = _endpos_ty00_;
33895 MenhirLib.EngineTypes.next = _menhir_stack;
33896 };
33897 } = _menhir_stack in
33898 let m : 'tv_list_TMul_ = Obj.magic m in
33899 let ty00 : (
33900 # 51 "parser_cocci_menhir.mly"
33901 (Data.clt)
33902 # 33903 "parser_cocci_menhir.ml"
33903 ) = Obj.magic ty00 in
33904 let _startpos = _startpos_ty00_ in
33905 let _endpos = _endpos_m_ in
33906 let _v : 'tv_typedef_ctype = let ty =
33907 let ty0 = ty00 in
33908 let ty =
33909 let ty = ty0 in
33910
33911 # 513 "parser_cocci_menhir.mly"
33912 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
33913 # 33914 "parser_cocci_menhir.ml"
33914
33915 in
33916
33917 # 564 "parser_cocci_menhir.mly"
33918 ( ty )
33919 # 33920 "parser_cocci_menhir.ml"
33920
33921 in
33922 let cv =
33923
33924 # 39 "standard.mly"
33925 ( None )
33926 # 33927 "parser_cocci_menhir.ml"
33927
33928 in
33929
33930 # 582 "parser_cocci_menhir.mly"
33931 ( P.pointerify (P.make_cv cv ty) m )
33932 # 33933 "parser_cocci_menhir.ml"
33933 in
33934 _menhir_env.MenhirLib.EngineTypes.stack <- {
33935 MenhirLib.EngineTypes.state = _menhir_s;
33936 MenhirLib.EngineTypes.semv = Obj.repr _v;
33937 MenhirLib.EngineTypes.startp = _startpos;
33938 MenhirLib.EngineTypes.endp = _endpos;
33939 MenhirLib.EngineTypes.next = _menhir_stack;
33940 });
33941 (fun _menhir_env ->
33942 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33943 let {
33944 MenhirLib.EngineTypes.semv = m;
33945 MenhirLib.EngineTypes.startp = _startpos_m_;
33946 MenhirLib.EngineTypes.endp = _endpos_m_;
33947 MenhirLib.EngineTypes.next = {
33948 MenhirLib.EngineTypes.state = _menhir_s;
33949 MenhirLib.EngineTypes.semv = p00;
33950 MenhirLib.EngineTypes.startp = _startpos_p00_;
33951 MenhirLib.EngineTypes.endp = _endpos_p00_;
33952 MenhirLib.EngineTypes.next = _menhir_stack;
33953 };
33954 } = _menhir_stack in
33955 let m : 'tv_list_TMul_ = Obj.magic m in
33956 let p00 : (
33957 # 67 "parser_cocci_menhir.mly"
33958 (Parse_aux.info)
33959 # 33960 "parser_cocci_menhir.ml"
33960 ) = Obj.magic p00 in
33961 let _startpos = _startpos_p00_ in
33962 let _endpos = _endpos_m_ in
33963 let _v : 'tv_typedef_ctype = let ty =
33964 let p0 = p00 in
33965 let ty =
33966 let p = p0 in
33967
33968 # 515 "parser_cocci_menhir.mly"
33969 ( let (nm,pure,clt) = p in
33970 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
33971 # 33972 "parser_cocci_menhir.ml"
33972
33973 in
33974
33975 # 564 "parser_cocci_menhir.mly"
33976 ( ty )
33977 # 33978 "parser_cocci_menhir.ml"
33978
33979 in
33980 let cv =
33981
33982 # 39 "standard.mly"
33983 ( None )
33984 # 33985 "parser_cocci_menhir.ml"
33985
33986 in
33987
33988 # 582 "parser_cocci_menhir.mly"
33989 ( P.pointerify (P.make_cv cv ty) m )
33990 # 33991 "parser_cocci_menhir.ml"
33991 in
33992 _menhir_env.MenhirLib.EngineTypes.stack <- {
33993 MenhirLib.EngineTypes.state = _menhir_s;
33994 MenhirLib.EngineTypes.semv = Obj.repr _v;
33995 MenhirLib.EngineTypes.startp = _startpos;
33996 MenhirLib.EngineTypes.endp = _endpos;
33997 MenhirLib.EngineTypes.next = _menhir_stack;
33998 });
33999 (fun _menhir_env ->
34000 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34001 let {
34002 MenhirLib.EngineTypes.semv = m;
34003 MenhirLib.EngineTypes.startp = _startpos_m_;
34004 MenhirLib.EngineTypes.endp = _endpos_m_;
34005 MenhirLib.EngineTypes.next = {
34006 MenhirLib.EngineTypes.semv = p00;
34007 MenhirLib.EngineTypes.startp = _startpos_p00_;
34008 MenhirLib.EngineTypes.endp = _endpos_p00_;
34009 MenhirLib.EngineTypes.next = {
34010 MenhirLib.EngineTypes.startp = _startpos__2_;
34011 MenhirLib.EngineTypes.endp = _endpos__2_;
34012 MenhirLib.EngineTypes.next = {
34013 MenhirLib.EngineTypes.state = _menhir_s;
34014 MenhirLib.EngineTypes.semv = r00;
34015 MenhirLib.EngineTypes.startp = _startpos_r00_;
34016 MenhirLib.EngineTypes.endp = _endpos_r00_;
34017 MenhirLib.EngineTypes.next = _menhir_stack;
34018 };
34019 };
34020 };
34021 } = _menhir_stack in
34022 let m : 'tv_list_TMul_ = Obj.magic m in
34023 let p00 : (
34024 # 61 "parser_cocci_menhir.mly"
34025 (string * Data.clt)
34026 # 34027 "parser_cocci_menhir.ml"
34027 ) = Obj.magic p00 in
34028 let r00 : (
34029 # 49 "parser_cocci_menhir.mly"
34030 (string)
34031 # 34032 "parser_cocci_menhir.ml"
34032 ) = Obj.magic r00 in
34033 let _startpos = _startpos_r00_ in
34034 let _endpos = _endpos_m_ in
34035 let _v : 'tv_typedef_ctype = let ty =
34036 let p0 = p00 in
34037 let r0 = r00 in
34038 let ty =
34039 let p = p0 in
34040 let r = r0 in
34041
34042 # 518 "parser_cocci_menhir.mly"
34043 ( let nm = (r,P.id2name p) in
34044 (* this is only possible when we are in a metavar decl. Otherwise,
34045 it will be represented already as a MetaType *)
34046 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
34047 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
34048 Ast0.Impure (*will be ignored*))) )
34049 # 34050 "parser_cocci_menhir.ml"
34050
34051 in
34052
34053 # 564 "parser_cocci_menhir.mly"
34054 ( ty )
34055 # 34056 "parser_cocci_menhir.ml"
34056
34057 in
34058 let cv =
34059
34060 # 39 "standard.mly"
34061 ( None )
34062 # 34063 "parser_cocci_menhir.ml"
34063
34064 in
34065
34066 # 582 "parser_cocci_menhir.mly"
34067 ( P.pointerify (P.make_cv cv ty) m )
34068 # 34069 "parser_cocci_menhir.ml"
34069 in
34070 _menhir_env.MenhirLib.EngineTypes.stack <- {
34071 MenhirLib.EngineTypes.state = _menhir_s;
34072 MenhirLib.EngineTypes.semv = Obj.repr _v;
34073 MenhirLib.EngineTypes.startp = _startpos;
34074 MenhirLib.EngineTypes.endp = _endpos;
34075 MenhirLib.EngineTypes.next = _menhir_stack;
34076 });
34077 (fun _menhir_env ->
34078 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34079 let {
34080 MenhirLib.EngineTypes.semv = m;
34081 MenhirLib.EngineTypes.startp = _startpos_m_;
34082 MenhirLib.EngineTypes.endp = _endpos_m_;
34083 MenhirLib.EngineTypes.next = {
34084 MenhirLib.EngineTypes.state = _menhir_s;
34085 MenhirLib.EngineTypes.semv = ty00;
34086 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34087 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34088 MenhirLib.EngineTypes.next = _menhir_stack;
34089 };
34090 } = _menhir_stack in
34091 let m : 'tv_list_TMul_ = Obj.magic m in
34092 let ty00 : (
34093 # 51 "parser_cocci_menhir.mly"
34094 (Data.clt)
34095 # 34096 "parser_cocci_menhir.ml"
34096 ) = Obj.magic ty00 in
34097 let _startpos = _startpos_ty00_ in
34098 let _endpos = _endpos_m_ in
34099 let _v : 'tv_typedef_ctype = let ty =
34100 let ty0 = ty00 in
34101 let ty =
34102 let ty = ty0 in
34103
34104 # 525 "parser_cocci_menhir.mly"
34105 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
34106 # 34107 "parser_cocci_menhir.ml"
34107
34108 in
34109
34110 # 564 "parser_cocci_menhir.mly"
34111 ( ty )
34112 # 34113 "parser_cocci_menhir.ml"
34113
34114 in
34115 let cv =
34116
34117 # 39 "standard.mly"
34118 ( None )
34119 # 34120 "parser_cocci_menhir.ml"
34120
34121 in
34122
34123 # 582 "parser_cocci_menhir.mly"
34124 ( P.pointerify (P.make_cv cv ty) m )
34125 # 34126 "parser_cocci_menhir.ml"
34126 in
34127 _menhir_env.MenhirLib.EngineTypes.stack <- {
34128 MenhirLib.EngineTypes.state = _menhir_s;
34129 MenhirLib.EngineTypes.semv = Obj.repr _v;
34130 MenhirLib.EngineTypes.startp = _startpos;
34131 MenhirLib.EngineTypes.endp = _endpos;
34132 MenhirLib.EngineTypes.next = _menhir_stack;
34133 });
34134 (fun _menhir_env ->
34135 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34136 let {
34137 MenhirLib.EngineTypes.semv = m;
34138 MenhirLib.EngineTypes.startp = _startpos_m_;
34139 MenhirLib.EngineTypes.endp = _endpos_m_;
34140 MenhirLib.EngineTypes.next = {
34141 MenhirLib.EngineTypes.semv = ty200;
34142 MenhirLib.EngineTypes.startp = _startpos_ty200_;
34143 MenhirLib.EngineTypes.endp = _endpos_ty200_;
34144 MenhirLib.EngineTypes.next = {
34145 MenhirLib.EngineTypes.state = _menhir_s;
34146 MenhirLib.EngineTypes.semv = ty100;
34147 MenhirLib.EngineTypes.startp = _startpos_ty100_;
34148 MenhirLib.EngineTypes.endp = _endpos_ty100_;
34149 MenhirLib.EngineTypes.next = _menhir_stack;
34150 };
34151 };
34152 } = _menhir_stack in
34153 let m : 'tv_list_TMul_ = Obj.magic m in
34154 let ty200 : (
34155 # 51 "parser_cocci_menhir.mly"
34156 (Data.clt)
34157 # 34158 "parser_cocci_menhir.ml"
34158 ) = Obj.magic ty200 in
34159 let ty100 : (
34160 # 51 "parser_cocci_menhir.mly"
34161 (Data.clt)
34162 # 34163 "parser_cocci_menhir.ml"
34163 ) = Obj.magic ty100 in
34164 let _startpos = _startpos_ty100_ in
34165 let _endpos = _endpos_m_ in
34166 let _v : 'tv_typedef_ctype = let ty =
34167 let ty20 = ty200 in
34168 let ty10 = ty100 in
34169 let ty =
34170 let ty2 = ty20 in
34171 let ty1 = ty10 in
34172
34173 # 527 "parser_cocci_menhir.mly"
34174 ( Ast0.wrap
34175 (Ast0.BaseType
34176 (Ast.LongLongType,
34177 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
34178 # 34179 "parser_cocci_menhir.ml"
34179
34180 in
34181
34182 # 564 "parser_cocci_menhir.mly"
34183 ( ty )
34184 # 34185 "parser_cocci_menhir.ml"
34185
34186 in
34187 let cv =
34188
34189 # 39 "standard.mly"
34190 ( None )
34191 # 34192 "parser_cocci_menhir.ml"
34192
34193 in
34194
34195 # 582 "parser_cocci_menhir.mly"
34196 ( P.pointerify (P.make_cv cv ty) m )
34197 # 34198 "parser_cocci_menhir.ml"
34198 in
34199 _menhir_env.MenhirLib.EngineTypes.stack <- {
34200 MenhirLib.EngineTypes.state = _menhir_s;
34201 MenhirLib.EngineTypes.semv = Obj.repr _v;
34202 MenhirLib.EngineTypes.startp = _startpos;
34203 MenhirLib.EngineTypes.endp = _endpos;
34204 MenhirLib.EngineTypes.next = _menhir_stack;
34205 });
34206 (fun _menhir_env ->
34207 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34208 let {
34209 MenhirLib.EngineTypes.semv = m;
34210 MenhirLib.EngineTypes.startp = _startpos_m_;
34211 MenhirLib.EngineTypes.endp = _endpos_m_;
34212 MenhirLib.EngineTypes.next = {
34213 MenhirLib.EngineTypes.state = _menhir_s;
34214 MenhirLib.EngineTypes.semv = ty00;
34215 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34216 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34217 MenhirLib.EngineTypes.next = _menhir_stack;
34218 };
34219 } = _menhir_stack in
34220 let m : 'tv_list_TMul_ = Obj.magic m in
34221 let ty00 : (
34222 # 52 "parser_cocci_menhir.mly"
34223 (Data.clt)
34224 # 34225 "parser_cocci_menhir.ml"
34225 ) = Obj.magic ty00 in
34226 let _startpos = _startpos_ty00_ in
34227 let _endpos = _endpos_m_ in
34228 let _v : 'tv_typedef_ctype = let ty =
34229 let ty0 = ty00 in
34230 let ty =
34231 let ty = ty0 in
34232
34233 # 535 "parser_cocci_menhir.mly"
34234 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
34235 # 34236 "parser_cocci_menhir.ml"
34236
34237 in
34238
34239 # 565 "parser_cocci_menhir.mly"
34240 ( ty )
34241 # 34242 "parser_cocci_menhir.ml"
34242
34243 in
34244 let cv =
34245
34246 # 39 "standard.mly"
34247 ( None )
34248 # 34249 "parser_cocci_menhir.ml"
34249
34250 in
34251
34252 # 582 "parser_cocci_menhir.mly"
34253 ( P.pointerify (P.make_cv cv ty) m )
34254 # 34255 "parser_cocci_menhir.ml"
34255 in
34256 _menhir_env.MenhirLib.EngineTypes.stack <- {
34257 MenhirLib.EngineTypes.state = _menhir_s;
34258 MenhirLib.EngineTypes.semv = Obj.repr _v;
34259 MenhirLib.EngineTypes.startp = _startpos;
34260 MenhirLib.EngineTypes.endp = _endpos;
34261 MenhirLib.EngineTypes.next = _menhir_stack;
34262 });
34263 (fun _menhir_env ->
34264 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34265 let {
34266 MenhirLib.EngineTypes.semv = m;
34267 MenhirLib.EngineTypes.startp = _startpos_m_;
34268 MenhirLib.EngineTypes.endp = _endpos_m_;
34269 MenhirLib.EngineTypes.next = {
34270 MenhirLib.EngineTypes.state = _menhir_s;
34271 MenhirLib.EngineTypes.semv = ty00;
34272 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34273 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34274 MenhirLib.EngineTypes.next = _menhir_stack;
34275 };
34276 } = _menhir_stack in
34277 let m : 'tv_list_TMul_ = Obj.magic m in
34278 let ty00 : (
34279 # 51 "parser_cocci_menhir.mly"
34280 (Data.clt)
34281 # 34282 "parser_cocci_menhir.ml"
34282 ) = Obj.magic ty00 in
34283 let _startpos = _startpos_ty00_ in
34284 let _endpos = _endpos_m_ in
34285 let _v : 'tv_typedef_ctype = let ty =
34286 let ty0 = ty00 in
34287 let ty =
34288 let ty = ty0 in
34289
34290 # 537 "parser_cocci_menhir.mly"
34291 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
34292 # 34293 "parser_cocci_menhir.ml"
34293
34294 in
34295
34296 # 565 "parser_cocci_menhir.mly"
34297 ( ty )
34298 # 34299 "parser_cocci_menhir.ml"
34299
34300 in
34301 let cv =
34302
34303 # 39 "standard.mly"
34304 ( None )
34305 # 34306 "parser_cocci_menhir.ml"
34306
34307 in
34308
34309 # 582 "parser_cocci_menhir.mly"
34310 ( P.pointerify (P.make_cv cv ty) m )
34311 # 34312 "parser_cocci_menhir.ml"
34312 in
34313 _menhir_env.MenhirLib.EngineTypes.stack <- {
34314 MenhirLib.EngineTypes.state = _menhir_s;
34315 MenhirLib.EngineTypes.semv = Obj.repr _v;
34316 MenhirLib.EngineTypes.startp = _startpos;
34317 MenhirLib.EngineTypes.endp = _endpos;
34318 MenhirLib.EngineTypes.next = _menhir_stack;
34319 });
34320 (fun _menhir_env ->
34321 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34322 let {
34323 MenhirLib.EngineTypes.semv = m;
34324 MenhirLib.EngineTypes.startp = _startpos_m_;
34325 MenhirLib.EngineTypes.endp = _endpos_m_;
34326 MenhirLib.EngineTypes.next = {
34327 MenhirLib.EngineTypes.state = _menhir_s;
34328 MenhirLib.EngineTypes.semv = ty00;
34329 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34330 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34331 MenhirLib.EngineTypes.next = _menhir_stack;
34332 };
34333 } = _menhir_stack in
34334 let m : 'tv_list_TMul_ = Obj.magic m in
34335 let ty00 : (
34336 # 51 "parser_cocci_menhir.mly"
34337 (Data.clt)
34338 # 34339 "parser_cocci_menhir.ml"
34339 ) = Obj.magic ty00 in
34340 let _startpos = _startpos_ty00_ in
34341 let _endpos = _endpos_m_ in
34342 let _v : 'tv_typedef_ctype = let ty =
34343 let ty0 = ty00 in
34344 let ty =
34345 let ty = ty0 in
34346
34347 # 539 "parser_cocci_menhir.mly"
34348 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
34349 # 34350 "parser_cocci_menhir.ml"
34350
34351 in
34352
34353 # 565 "parser_cocci_menhir.mly"
34354 ( ty )
34355 # 34356 "parser_cocci_menhir.ml"
34356
34357 in
34358 let cv =
34359
34360 # 39 "standard.mly"
34361 ( None )
34362 # 34363 "parser_cocci_menhir.ml"
34363
34364 in
34365
34366 # 582 "parser_cocci_menhir.mly"
34367 ( P.pointerify (P.make_cv cv ty) m )
34368 # 34369 "parser_cocci_menhir.ml"
34369 in
34370 _menhir_env.MenhirLib.EngineTypes.stack <- {
34371 MenhirLib.EngineTypes.state = _menhir_s;
34372 MenhirLib.EngineTypes.semv = Obj.repr _v;
34373 MenhirLib.EngineTypes.startp = _startpos;
34374 MenhirLib.EngineTypes.endp = _endpos;
34375 MenhirLib.EngineTypes.next = _menhir_stack;
34376 });
34377 (fun _menhir_env ->
34378 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34379 let {
34380 MenhirLib.EngineTypes.semv = m;
34381 MenhirLib.EngineTypes.startp = _startpos_m_;
34382 MenhirLib.EngineTypes.endp = _endpos_m_;
34383 MenhirLib.EngineTypes.next = {
34384 MenhirLib.EngineTypes.semv = i00;
34385 MenhirLib.EngineTypes.startp = _startpos_i00_;
34386 MenhirLib.EngineTypes.endp = _endpos_i00_;
34387 MenhirLib.EngineTypes.next = {
34388 MenhirLib.EngineTypes.state = _menhir_s;
34389 MenhirLib.EngineTypes.semv = s00;
34390 MenhirLib.EngineTypes.startp = _startpos_s00_;
34391 MenhirLib.EngineTypes.endp = _endpos_s00_;
34392 MenhirLib.EngineTypes.next = _menhir_stack;
34393 };
34394 };
34395 } = _menhir_stack in
34396 let m : 'tv_list_TMul_ = Obj.magic m in
34397 let i00 : 'tv_ident = Obj.magic i00 in
34398 let s00 : (
34399 # 52 "parser_cocci_menhir.mly"
34400 (Data.clt)
34401 # 34402 "parser_cocci_menhir.ml"
34402 ) = Obj.magic s00 in
34403 let _startpos = _startpos_s00_ in
34404 let _endpos = _endpos_m_ in
34405 let _v : 'tv_typedef_ctype = let ty =
34406 let i0 = i00 in
34407 let s0 = s00 in
34408 let ty =
34409 let i = i0 in
34410 let s = s0 in
34411
34412 # 541 "parser_cocci_menhir.mly"
34413 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
34414 # 34415 "parser_cocci_menhir.ml"
34415
34416 in
34417
34418 # 565 "parser_cocci_menhir.mly"
34419 ( ty )
34420 # 34421 "parser_cocci_menhir.ml"
34421
34422 in
34423 let cv =
34424
34425 # 39 "standard.mly"
34426 ( None )
34427 # 34428 "parser_cocci_menhir.ml"
34428
34429 in
34430
34431 # 582 "parser_cocci_menhir.mly"
34432 ( P.pointerify (P.make_cv cv ty) m )
34433 # 34434 "parser_cocci_menhir.ml"
34434 in
34435 _menhir_env.MenhirLib.EngineTypes.stack <- {
34436 MenhirLib.EngineTypes.state = _menhir_s;
34437 MenhirLib.EngineTypes.semv = Obj.repr _v;
34438 MenhirLib.EngineTypes.startp = _startpos;
34439 MenhirLib.EngineTypes.endp = _endpos;
34440 MenhirLib.EngineTypes.next = _menhir_stack;
34441 });
34442 (fun _menhir_env ->
34443 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34444 let {
34445 MenhirLib.EngineTypes.semv = m;
34446 MenhirLib.EngineTypes.startp = _startpos_m_;
34447 MenhirLib.EngineTypes.endp = _endpos_m_;
34448 MenhirLib.EngineTypes.next = {
34449 MenhirLib.EngineTypes.semv = i00;
34450 MenhirLib.EngineTypes.startp = _startpos_i00_;
34451 MenhirLib.EngineTypes.endp = _endpos_i00_;
34452 MenhirLib.EngineTypes.next = {
34453 MenhirLib.EngineTypes.state = _menhir_s;
34454 MenhirLib.EngineTypes.semv = s00;
34455 MenhirLib.EngineTypes.startp = _startpos_s00_;
34456 MenhirLib.EngineTypes.endp = _endpos_s00_;
34457 MenhirLib.EngineTypes.next = _menhir_stack;
34458 };
34459 };
34460 } = _menhir_stack in
34461 let m : 'tv_list_TMul_ = Obj.magic m in
34462 let i00 : 'tv_ident = Obj.magic i00 in
34463 let s00 : 'tv_struct_or_union = Obj.magic s00 in
34464 let _startpos = _startpos_s00_ in
34465 let _endpos = _endpos_m_ in
34466 let _v : 'tv_typedef_ctype = let ty =
34467 let i0 = i00 in
34468 let s0 = s00 in
34469 let ty =
34470 let i = i0 in
34471 let s = s0 in
34472
34473 # 543 "parser_cocci_menhir.mly"
34474 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
34475 # 34476 "parser_cocci_menhir.ml"
34476
34477 in
34478
34479 # 565 "parser_cocci_menhir.mly"
34480 ( ty )
34481 # 34482 "parser_cocci_menhir.ml"
34482
34483 in
34484 let cv =
34485
34486 # 39 "standard.mly"
34487 ( None )
34488 # 34489 "parser_cocci_menhir.ml"
34489
34490 in
34491
34492 # 582 "parser_cocci_menhir.mly"
34493 ( P.pointerify (P.make_cv cv ty) m )
34494 # 34495 "parser_cocci_menhir.ml"
34495 in
34496 _menhir_env.MenhirLib.EngineTypes.stack <- {
34497 MenhirLib.EngineTypes.state = _menhir_s;
34498 MenhirLib.EngineTypes.semv = Obj.repr _v;
34499 MenhirLib.EngineTypes.startp = _startpos;
34500 MenhirLib.EngineTypes.endp = _endpos;
34501 MenhirLib.EngineTypes.next = _menhir_stack;
34502 });
34503 (fun _menhir_env ->
34504 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34505 let {
34506 MenhirLib.EngineTypes.semv = m;
34507 MenhirLib.EngineTypes.startp = _startpos_m_;
34508 MenhirLib.EngineTypes.endp = _endpos_m_;
34509 MenhirLib.EngineTypes.next = {
34510 MenhirLib.EngineTypes.semv = r00;
34511 MenhirLib.EngineTypes.startp = _startpos_r00_;
34512 MenhirLib.EngineTypes.endp = _endpos_r00_;
34513 MenhirLib.EngineTypes.next = {
34514 MenhirLib.EngineTypes.semv = d00;
34515 MenhirLib.EngineTypes.startp = _startpos_d00_;
34516 MenhirLib.EngineTypes.endp = _endpos_d00_;
34517 MenhirLib.EngineTypes.next = {
34518 MenhirLib.EngineTypes.semv = l00;
34519 MenhirLib.EngineTypes.startp = _startpos_l00_;
34520 MenhirLib.EngineTypes.endp = _endpos_l00_;
34521 MenhirLib.EngineTypes.next = {
34522 MenhirLib.EngineTypes.state = _menhir_s;
34523 MenhirLib.EngineTypes.semv = s00;
34524 MenhirLib.EngineTypes.startp = _startpos_s00_;
34525 MenhirLib.EngineTypes.endp = _endpos_s00_;
34526 MenhirLib.EngineTypes.next = _menhir_stack;
34527 };
34528 };
34529 };
34530 };
34531 } = _menhir_stack in
34532 let m : 'tv_list_TMul_ = Obj.magic m in
34533 let r00 : (
34534 # 104 "parser_cocci_menhir.mly"
34535 (Data.clt)
34536 # 34537 "parser_cocci_menhir.ml"
34537 ) = Obj.magic r00 in
34538 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
34539 let l00 : (
34540 # 104 "parser_cocci_menhir.mly"
34541 (Data.clt)
34542 # 34543 "parser_cocci_menhir.ml"
34543 ) = Obj.magic l00 in
34544 let s00 : 'tv_struct_or_union = Obj.magic s00 in
34545 let _startpos = _startpos_s00_ in
34546 let _endpos = _endpos_m_ in
34547 let _v : 'tv_typedef_ctype = let ty =
34548 let r0 = r00 in
34549 let d0 = d00 in
34550 let l0 = l00 in
34551 let s0 = s00 in
34552 let ty =
34553 let r = r0 in
34554 let d = d0 in
34555 let l = l0 in
34556 let s = s0 in
34557 let i =
34558
34559 # 39 "standard.mly"
34560 ( None )
34561 # 34562 "parser_cocci_menhir.ml"
34562
34563 in
34564
34565 # 546 "parser_cocci_menhir.mly"
34566 ( (if i = None && !Data.in_iso
34567 then failwith "structures must be named in the iso file");
34568 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
34569 P.clt2mcode "{" l,
34570 d, P.clt2mcode "}" r)) )
34571 # 34572 "parser_cocci_menhir.ml"
34572
34573 in
34574
34575 # 565 "parser_cocci_menhir.mly"
34576 ( ty )
34577 # 34578 "parser_cocci_menhir.ml"
34578
34579 in
34580 let cv =
34581
34582 # 39 "standard.mly"
34583 ( None )
34584 # 34585 "parser_cocci_menhir.ml"
34585
34586 in
34587
34588 # 582 "parser_cocci_menhir.mly"
34589 ( P.pointerify (P.make_cv cv ty) m )
34590 # 34591 "parser_cocci_menhir.ml"
34591 in
34592 _menhir_env.MenhirLib.EngineTypes.stack <- {
34593 MenhirLib.EngineTypes.state = _menhir_s;
34594 MenhirLib.EngineTypes.semv = Obj.repr _v;
34595 MenhirLib.EngineTypes.startp = _startpos;
34596 MenhirLib.EngineTypes.endp = _endpos;
34597 MenhirLib.EngineTypes.next = _menhir_stack;
34598 });
34599 (fun _menhir_env ->
34600 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34601 let {
34602 MenhirLib.EngineTypes.semv = m;
34603 MenhirLib.EngineTypes.startp = _startpos_m_;
34604 MenhirLib.EngineTypes.endp = _endpos_m_;
34605 MenhirLib.EngineTypes.next = {
34606 MenhirLib.EngineTypes.semv = r00;
34607 MenhirLib.EngineTypes.startp = _startpos_r00_;
34608 MenhirLib.EngineTypes.endp = _endpos_r00_;
34609 MenhirLib.EngineTypes.next = {
34610 MenhirLib.EngineTypes.semv = d00;
34611 MenhirLib.EngineTypes.startp = _startpos_d00_;
34612 MenhirLib.EngineTypes.endp = _endpos_d00_;
34613 MenhirLib.EngineTypes.next = {
34614 MenhirLib.EngineTypes.semv = l00;
34615 MenhirLib.EngineTypes.startp = _startpos_l00_;
34616 MenhirLib.EngineTypes.endp = _endpos_l00_;
34617 MenhirLib.EngineTypes.next = {
34618 MenhirLib.EngineTypes.semv = x000;
34619 MenhirLib.EngineTypes.startp = _startpos_x000_;
34620 MenhirLib.EngineTypes.endp = _endpos_x000_;
34621 MenhirLib.EngineTypes.next = {
34622 MenhirLib.EngineTypes.state = _menhir_s;
34623 MenhirLib.EngineTypes.semv = s00;
34624 MenhirLib.EngineTypes.startp = _startpos_s00_;
34625 MenhirLib.EngineTypes.endp = _endpos_s00_;
34626 MenhirLib.EngineTypes.next = _menhir_stack;
34627 };
34628 };
34629 };
34630 };
34631 };
34632 } = _menhir_stack in
34633 let m : 'tv_list_TMul_ = Obj.magic m in
34634 let r00 : (
34635 # 104 "parser_cocci_menhir.mly"
34636 (Data.clt)
34637 # 34638 "parser_cocci_menhir.ml"
34638 ) = Obj.magic r00 in
34639 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
34640 let l00 : (
34641 # 104 "parser_cocci_menhir.mly"
34642 (Data.clt)
34643 # 34644 "parser_cocci_menhir.ml"
34644 ) = Obj.magic l00 in
34645 let x000 : 'tv_ident = Obj.magic x000 in
34646 let s00 : 'tv_struct_or_union = Obj.magic s00 in
34647 let _startpos = _startpos_s00_ in
34648 let _endpos = _endpos_m_ in
34649 let _v : 'tv_typedef_ctype = let ty =
34650 let r0 = r00 in
34651 let d0 = d00 in
34652 let l0 = l00 in
34653 let x00 = x000 in
34654 let s0 = s00 in
34655 let ty =
34656 let r = r0 in
34657 let d = d0 in
34658 let l = l0 in
34659 let x0 = x00 in
34660 let s = s0 in
34661 let i =
34662 let x = x0 in
34663
34664 # 41 "standard.mly"
34665 ( Some x )
34666 # 34667 "parser_cocci_menhir.ml"
34667
34668 in
34669
34670 # 546 "parser_cocci_menhir.mly"
34671 ( (if i = None && !Data.in_iso
34672 then failwith "structures must be named in the iso file");
34673 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
34674 P.clt2mcode "{" l,
34675 d, P.clt2mcode "}" r)) )
34676 # 34677 "parser_cocci_menhir.ml"
34677
34678 in
34679
34680 # 565 "parser_cocci_menhir.mly"
34681 ( ty )
34682 # 34683 "parser_cocci_menhir.ml"
34683
34684 in
34685 let cv =
34686
34687 # 39 "standard.mly"
34688 ( None )
34689 # 34690 "parser_cocci_menhir.ml"
34690
34691 in
34692
34693 # 582 "parser_cocci_menhir.mly"
34694 ( P.pointerify (P.make_cv cv ty) m )
34695 # 34696 "parser_cocci_menhir.ml"
34696 in
34697 _menhir_env.MenhirLib.EngineTypes.stack <- {
34698 MenhirLib.EngineTypes.state = _menhir_s;
34699 MenhirLib.EngineTypes.semv = Obj.repr _v;
34700 MenhirLib.EngineTypes.startp = _startpos;
34701 MenhirLib.EngineTypes.endp = _endpos;
34702 MenhirLib.EngineTypes.next = _menhir_stack;
34703 });
34704 (fun _menhir_env ->
34705 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34706 let {
34707 MenhirLib.EngineTypes.semv = m;
34708 MenhirLib.EngineTypes.startp = _startpos_m_;
34709 MenhirLib.EngineTypes.endp = _endpos_m_;
34710 MenhirLib.EngineTypes.next = {
34711 MenhirLib.EngineTypes.semv = r00;
34712 MenhirLib.EngineTypes.startp = _startpos_r00_;
34713 MenhirLib.EngineTypes.endp = _endpos_r00_;
34714 MenhirLib.EngineTypes.next = {
34715 MenhirLib.EngineTypes.semv = d00;
34716 MenhirLib.EngineTypes.startp = _startpos_d00_;
34717 MenhirLib.EngineTypes.endp = _endpos_d00_;
34718 MenhirLib.EngineTypes.next = {
34719 MenhirLib.EngineTypes.semv = l00;
34720 MenhirLib.EngineTypes.startp = _startpos_l00_;
34721 MenhirLib.EngineTypes.endp = _endpos_l00_;
34722 MenhirLib.EngineTypes.next = {
34723 MenhirLib.EngineTypes.state = _menhir_s;
34724 MenhirLib.EngineTypes.semv = s00;
34725 MenhirLib.EngineTypes.startp = _startpos_s00_;
34726 MenhirLib.EngineTypes.endp = _endpos_s00_;
34727 MenhirLib.EngineTypes.next = _menhir_stack;
34728 };
34729 };
34730 };
34731 };
34732 } = _menhir_stack in
34733 let m : 'tv_list_TMul_ = Obj.magic m in
34734 let r00 : (
34735 # 104 "parser_cocci_menhir.mly"
34736 (Data.clt)
34737 # 34738 "parser_cocci_menhir.ml"
34738 ) = Obj.magic r00 in
34739 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
34740 let l00 : (
34741 # 104 "parser_cocci_menhir.mly"
34742 (Data.clt)
34743 # 34744 "parser_cocci_menhir.ml"
34744 ) = Obj.magic l00 in
34745 let s00 : (
34746 # 67 "parser_cocci_menhir.mly"
34747 (Parse_aux.info)
34748 # 34749 "parser_cocci_menhir.ml"
34749 ) = Obj.magic s00 in
34750 let _startpos = _startpos_s00_ in
34751 let _endpos = _endpos_m_ in
34752 let _v : 'tv_typedef_ctype = let ty =
34753 let r0 = r00 in
34754 let d0 = d00 in
34755 let l0 = l00 in
34756 let s0 = s00 in
34757 let ty =
34758 let r = r0 in
34759 let d = d0 in
34760 let l = l0 in
34761 let s = s0 in
34762
34763 # 552 "parser_cocci_menhir.mly"
34764 ( let (nm,pure,clt) = s in
34765 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
34766 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
34767 # 34768 "parser_cocci_menhir.ml"
34768
34769 in
34770
34771 # 565 "parser_cocci_menhir.mly"
34772 ( ty )
34773 # 34774 "parser_cocci_menhir.ml"
34774
34775 in
34776 let cv =
34777
34778 # 39 "standard.mly"
34779 ( None )
34780 # 34781 "parser_cocci_menhir.ml"
34781
34782 in
34783
34784 # 582 "parser_cocci_menhir.mly"
34785 ( P.pointerify (P.make_cv cv ty) m )
34786 # 34787 "parser_cocci_menhir.ml"
34787 in
34788 _menhir_env.MenhirLib.EngineTypes.stack <- {
34789 MenhirLib.EngineTypes.state = _menhir_s;
34790 MenhirLib.EngineTypes.semv = Obj.repr _v;
34791 MenhirLib.EngineTypes.startp = _startpos;
34792 MenhirLib.EngineTypes.endp = _endpos;
34793 MenhirLib.EngineTypes.next = _menhir_stack;
34794 });
34795 (fun _menhir_env ->
34796 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34797 let {
34798 MenhirLib.EngineTypes.semv = m;
34799 MenhirLib.EngineTypes.startp = _startpos_m_;
34800 MenhirLib.EngineTypes.endp = _endpos_m_;
34801 MenhirLib.EngineTypes.next = {
34802 MenhirLib.EngineTypes.state = _menhir_s;
34803 MenhirLib.EngineTypes.semv = p00;
34804 MenhirLib.EngineTypes.startp = _startpos_p00_;
34805 MenhirLib.EngineTypes.endp = _endpos_p00_;
34806 MenhirLib.EngineTypes.next = _menhir_stack;
34807 };
34808 } = _menhir_stack in
34809 let m : 'tv_list_TMul_ = Obj.magic m in
34810 let p00 : (
34811 # 61 "parser_cocci_menhir.mly"
34812 (string * Data.clt)
34813 # 34814 "parser_cocci_menhir.ml"
34814 ) = Obj.magic p00 in
34815 let _startpos = _startpos_p00_ in
34816 let _endpos = _endpos_m_ in
34817 let _v : 'tv_typedef_ctype = let ty =
34818 let p0 = p00 in
34819 let ty =
34820 let p = p0 in
34821
34822 # 556 "parser_cocci_menhir.mly"
34823 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
34824 # 34825 "parser_cocci_menhir.ml"
34825
34826 in
34827
34828 # 565 "parser_cocci_menhir.mly"
34829 ( ty )
34830 # 34831 "parser_cocci_menhir.ml"
34831
34832 in
34833 let cv =
34834
34835 # 39 "standard.mly"
34836 ( None )
34837 # 34838 "parser_cocci_menhir.ml"
34838
34839 in
34840
34841 # 582 "parser_cocci_menhir.mly"
34842 ( P.pointerify (P.make_cv cv ty) m )
34843 # 34844 "parser_cocci_menhir.ml"
34844 in
34845 _menhir_env.MenhirLib.EngineTypes.stack <- {
34846 MenhirLib.EngineTypes.state = _menhir_s;
34847 MenhirLib.EngineTypes.semv = Obj.repr _v;
34848 MenhirLib.EngineTypes.startp = _startpos;
34849 MenhirLib.EngineTypes.endp = _endpos;
34850 MenhirLib.EngineTypes.next = _menhir_stack;
34851 });
34852 (fun _menhir_env ->
34853 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34854 let {
34855 MenhirLib.EngineTypes.semv = m;
34856 MenhirLib.EngineTypes.startp = _startpos_m_;
34857 MenhirLib.EngineTypes.endp = _endpos_m_;
34858 MenhirLib.EngineTypes.next = {
34859 MenhirLib.EngineTypes.semv = ty00;
34860 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34861 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34862 MenhirLib.EngineTypes.next = {
34863 MenhirLib.EngineTypes.semv = r0;
34864 MenhirLib.EngineTypes.startp = _startpos_r0_;
34865 MenhirLib.EngineTypes.endp = _endpos_r0_;
34866 MenhirLib.EngineTypes.next = {
34867 MenhirLib.EngineTypes.state = _menhir_s;
34868 MenhirLib.EngineTypes.semv = x0;
34869 MenhirLib.EngineTypes.startp = _startpos_x0_;
34870 MenhirLib.EngineTypes.endp = _endpos_x0_;
34871 MenhirLib.EngineTypes.next = _menhir_stack;
34872 };
34873 };
34874 };
34875 } = _menhir_stack in
34876 let m : 'tv_list_TMul_ = Obj.magic m in
34877 let ty00 : (
34878 # 51 "parser_cocci_menhir.mly"
34879 (Data.clt)
34880 # 34881 "parser_cocci_menhir.ml"
34881 ) = Obj.magic ty00 in
34882 let r0 : (
34883 # 53 "parser_cocci_menhir.mly"
34884 (Data.clt)
34885 # 34886 "parser_cocci_menhir.ml"
34886 ) = Obj.magic r0 in
34887 let x0 : 'tv_const_vol = Obj.magic x0 in
34888 let _startpos = _startpos_x0_ in
34889 let _endpos = _endpos_m_ in
34890 let _v : 'tv_typedef_ctype = let ty =
34891 let ty0 = ty00 in
34892 let r = r0 in
34893 let ty =
34894 let ty = ty0 in
34895
34896 # 509 "parser_cocci_menhir.mly"
34897 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
34898 # 34899 "parser_cocci_menhir.ml"
34899
34900 in
34901
34902 # 561 "parser_cocci_menhir.mly"
34903 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34904 # 34905 "parser_cocci_menhir.ml"
34905
34906 in
34907 let cv =
34908 let x = x0 in
34909
34910 # 41 "standard.mly"
34911 ( Some x )
34912 # 34913 "parser_cocci_menhir.ml"
34913
34914 in
34915
34916 # 582 "parser_cocci_menhir.mly"
34917 ( P.pointerify (P.make_cv cv ty) m )
34918 # 34919 "parser_cocci_menhir.ml"
34919 in
34920 _menhir_env.MenhirLib.EngineTypes.stack <- {
34921 MenhirLib.EngineTypes.state = _menhir_s;
34922 MenhirLib.EngineTypes.semv = Obj.repr _v;
34923 MenhirLib.EngineTypes.startp = _startpos;
34924 MenhirLib.EngineTypes.endp = _endpos;
34925 MenhirLib.EngineTypes.next = _menhir_stack;
34926 });
34927 (fun _menhir_env ->
34928 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34929 let {
34930 MenhirLib.EngineTypes.semv = m;
34931 MenhirLib.EngineTypes.startp = _startpos_m_;
34932 MenhirLib.EngineTypes.endp = _endpos_m_;
34933 MenhirLib.EngineTypes.next = {
34934 MenhirLib.EngineTypes.semv = ty00;
34935 MenhirLib.EngineTypes.startp = _startpos_ty00_;
34936 MenhirLib.EngineTypes.endp = _endpos_ty00_;
34937 MenhirLib.EngineTypes.next = {
34938 MenhirLib.EngineTypes.semv = r0;
34939 MenhirLib.EngineTypes.startp = _startpos_r0_;
34940 MenhirLib.EngineTypes.endp = _endpos_r0_;
34941 MenhirLib.EngineTypes.next = {
34942 MenhirLib.EngineTypes.state = _menhir_s;
34943 MenhirLib.EngineTypes.semv = x0;
34944 MenhirLib.EngineTypes.startp = _startpos_x0_;
34945 MenhirLib.EngineTypes.endp = _endpos_x0_;
34946 MenhirLib.EngineTypes.next = _menhir_stack;
34947 };
34948 };
34949 };
34950 } = _menhir_stack in
34951 let m : 'tv_list_TMul_ = Obj.magic m in
34952 let ty00 : (
34953 # 51 "parser_cocci_menhir.mly"
34954 (Data.clt)
34955 # 34956 "parser_cocci_menhir.ml"
34956 ) = Obj.magic ty00 in
34957 let r0 : (
34958 # 53 "parser_cocci_menhir.mly"
34959 (Data.clt)
34960 # 34961 "parser_cocci_menhir.ml"
34961 ) = Obj.magic r0 in
34962 let x0 : 'tv_const_vol = Obj.magic x0 in
34963 let _startpos = _startpos_x0_ in
34964 let _endpos = _endpos_m_ in
34965 let _v : 'tv_typedef_ctype = let ty =
34966 let ty0 = ty00 in
34967 let r = r0 in
34968 let ty =
34969 let ty = ty0 in
34970
34971 # 511 "parser_cocci_menhir.mly"
34972 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
34973 # 34974 "parser_cocci_menhir.ml"
34974
34975 in
34976
34977 # 561 "parser_cocci_menhir.mly"
34978 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
34979 # 34980 "parser_cocci_menhir.ml"
34980
34981 in
34982 let cv =
34983 let x = x0 in
34984
34985 # 41 "standard.mly"
34986 ( Some x )
34987 # 34988 "parser_cocci_menhir.ml"
34988
34989 in
34990
34991 # 582 "parser_cocci_menhir.mly"
34992 ( P.pointerify (P.make_cv cv ty) m )
34993 # 34994 "parser_cocci_menhir.ml"
34994 in
34995 _menhir_env.MenhirLib.EngineTypes.stack <- {
34996 MenhirLib.EngineTypes.state = _menhir_s;
34997 MenhirLib.EngineTypes.semv = Obj.repr _v;
34998 MenhirLib.EngineTypes.startp = _startpos;
34999 MenhirLib.EngineTypes.endp = _endpos;
35000 MenhirLib.EngineTypes.next = _menhir_stack;
35001 });
35002 (fun _menhir_env ->
35003 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35004 let {
35005 MenhirLib.EngineTypes.semv = m;
35006 MenhirLib.EngineTypes.startp = _startpos_m_;
35007 MenhirLib.EngineTypes.endp = _endpos_m_;
35008 MenhirLib.EngineTypes.next = {
35009 MenhirLib.EngineTypes.semv = ty00;
35010 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35011 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35012 MenhirLib.EngineTypes.next = {
35013 MenhirLib.EngineTypes.semv = r0;
35014 MenhirLib.EngineTypes.startp = _startpos_r0_;
35015 MenhirLib.EngineTypes.endp = _endpos_r0_;
35016 MenhirLib.EngineTypes.next = {
35017 MenhirLib.EngineTypes.state = _menhir_s;
35018 MenhirLib.EngineTypes.semv = x0;
35019 MenhirLib.EngineTypes.startp = _startpos_x0_;
35020 MenhirLib.EngineTypes.endp = _endpos_x0_;
35021 MenhirLib.EngineTypes.next = _menhir_stack;
35022 };
35023 };
35024 };
35025 } = _menhir_stack in
35026 let m : 'tv_list_TMul_ = Obj.magic m in
35027 let ty00 : (
35028 # 51 "parser_cocci_menhir.mly"
35029 (Data.clt)
35030 # 35031 "parser_cocci_menhir.ml"
35031 ) = Obj.magic ty00 in
35032 let r0 : (
35033 # 53 "parser_cocci_menhir.mly"
35034 (Data.clt)
35035 # 35036 "parser_cocci_menhir.ml"
35036 ) = Obj.magic r0 in
35037 let x0 : 'tv_const_vol = Obj.magic x0 in
35038 let _startpos = _startpos_x0_ in
35039 let _endpos = _endpos_m_ in
35040 let _v : 'tv_typedef_ctype = let ty =
35041 let ty0 = ty00 in
35042 let r = r0 in
35043 let ty =
35044 let ty = ty0 in
35045
35046 # 513 "parser_cocci_menhir.mly"
35047 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
35048 # 35049 "parser_cocci_menhir.ml"
35049
35050 in
35051
35052 # 561 "parser_cocci_menhir.mly"
35053 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
35054 # 35055 "parser_cocci_menhir.ml"
35055
35056 in
35057 let cv =
35058 let x = x0 in
35059
35060 # 41 "standard.mly"
35061 ( Some x )
35062 # 35063 "parser_cocci_menhir.ml"
35063
35064 in
35065
35066 # 582 "parser_cocci_menhir.mly"
35067 ( P.pointerify (P.make_cv cv ty) m )
35068 # 35069 "parser_cocci_menhir.ml"
35069 in
35070 _menhir_env.MenhirLib.EngineTypes.stack <- {
35071 MenhirLib.EngineTypes.state = _menhir_s;
35072 MenhirLib.EngineTypes.semv = Obj.repr _v;
35073 MenhirLib.EngineTypes.startp = _startpos;
35074 MenhirLib.EngineTypes.endp = _endpos;
35075 MenhirLib.EngineTypes.next = _menhir_stack;
35076 });
35077 (fun _menhir_env ->
35078 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35079 let {
35080 MenhirLib.EngineTypes.semv = m;
35081 MenhirLib.EngineTypes.startp = _startpos_m_;
35082 MenhirLib.EngineTypes.endp = _endpos_m_;
35083 MenhirLib.EngineTypes.next = {
35084 MenhirLib.EngineTypes.semv = p00;
35085 MenhirLib.EngineTypes.startp = _startpos_p00_;
35086 MenhirLib.EngineTypes.endp = _endpos_p00_;
35087 MenhirLib.EngineTypes.next = {
35088 MenhirLib.EngineTypes.semv = r0;
35089 MenhirLib.EngineTypes.startp = _startpos_r0_;
35090 MenhirLib.EngineTypes.endp = _endpos_r0_;
35091 MenhirLib.EngineTypes.next = {
35092 MenhirLib.EngineTypes.state = _menhir_s;
35093 MenhirLib.EngineTypes.semv = x0;
35094 MenhirLib.EngineTypes.startp = _startpos_x0_;
35095 MenhirLib.EngineTypes.endp = _endpos_x0_;
35096 MenhirLib.EngineTypes.next = _menhir_stack;
35097 };
35098 };
35099 };
35100 } = _menhir_stack in
35101 let m : 'tv_list_TMul_ = Obj.magic m in
35102 let p00 : (
35103 # 67 "parser_cocci_menhir.mly"
35104 (Parse_aux.info)
35105 # 35106 "parser_cocci_menhir.ml"
35106 ) = Obj.magic p00 in
35107 let r0 : (
35108 # 53 "parser_cocci_menhir.mly"
35109 (Data.clt)
35110 # 35111 "parser_cocci_menhir.ml"
35111 ) = Obj.magic r0 in
35112 let x0 : 'tv_const_vol = Obj.magic x0 in
35113 let _startpos = _startpos_x0_ in
35114 let _endpos = _endpos_m_ in
35115 let _v : 'tv_typedef_ctype = let ty =
35116 let p0 = p00 in
35117 let r = r0 in
35118 let ty =
35119 let p = p0 in
35120
35121 # 515 "parser_cocci_menhir.mly"
35122 ( let (nm,pure,clt) = p in
35123 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
35124 # 35125 "parser_cocci_menhir.ml"
35125
35126 in
35127
35128 # 561 "parser_cocci_menhir.mly"
35129 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
35130 # 35131 "parser_cocci_menhir.ml"
35131
35132 in
35133 let cv =
35134 let x = x0 in
35135
35136 # 41 "standard.mly"
35137 ( Some x )
35138 # 35139 "parser_cocci_menhir.ml"
35139
35140 in
35141
35142 # 582 "parser_cocci_menhir.mly"
35143 ( P.pointerify (P.make_cv cv ty) m )
35144 # 35145 "parser_cocci_menhir.ml"
35145 in
35146 _menhir_env.MenhirLib.EngineTypes.stack <- {
35147 MenhirLib.EngineTypes.state = _menhir_s;
35148 MenhirLib.EngineTypes.semv = Obj.repr _v;
35149 MenhirLib.EngineTypes.startp = _startpos;
35150 MenhirLib.EngineTypes.endp = _endpos;
35151 MenhirLib.EngineTypes.next = _menhir_stack;
35152 });
35153 (fun _menhir_env ->
35154 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35155 let {
35156 MenhirLib.EngineTypes.semv = m;
35157 MenhirLib.EngineTypes.startp = _startpos_m_;
35158 MenhirLib.EngineTypes.endp = _endpos_m_;
35159 MenhirLib.EngineTypes.next = {
35160 MenhirLib.EngineTypes.semv = p00;
35161 MenhirLib.EngineTypes.startp = _startpos_p00_;
35162 MenhirLib.EngineTypes.endp = _endpos_p00_;
35163 MenhirLib.EngineTypes.next = {
35164 MenhirLib.EngineTypes.startp = _startpos__4_;
35165 MenhirLib.EngineTypes.endp = _endpos__4_;
35166 MenhirLib.EngineTypes.next = {
35167 MenhirLib.EngineTypes.semv = r00;
35168 MenhirLib.EngineTypes.startp = _startpos_r00_;
35169 MenhirLib.EngineTypes.endp = _endpos_r00_;
35170 MenhirLib.EngineTypes.next = {
35171 MenhirLib.EngineTypes.semv = r1;
35172 MenhirLib.EngineTypes.startp = _startpos_r1_;
35173 MenhirLib.EngineTypes.endp = _endpos_r1_;
35174 MenhirLib.EngineTypes.next = {
35175 MenhirLib.EngineTypes.state = _menhir_s;
35176 MenhirLib.EngineTypes.semv = x0;
35177 MenhirLib.EngineTypes.startp = _startpos_x0_;
35178 MenhirLib.EngineTypes.endp = _endpos_x0_;
35179 MenhirLib.EngineTypes.next = _menhir_stack;
35180 };
35181 };
35182 };
35183 };
35184 };
35185 } = _menhir_stack in
35186 let m : 'tv_list_TMul_ = Obj.magic m in
35187 let p00 : (
35188 # 61 "parser_cocci_menhir.mly"
35189 (string * Data.clt)
35190 # 35191 "parser_cocci_menhir.ml"
35191 ) = Obj.magic p00 in
35192 let r00 : (
35193 # 49 "parser_cocci_menhir.mly"
35194 (string)
35195 # 35196 "parser_cocci_menhir.ml"
35196 ) = Obj.magic r00 in
35197 let r1 : (
35198 # 53 "parser_cocci_menhir.mly"
35199 (Data.clt)
35200 # 35201 "parser_cocci_menhir.ml"
35201 ) = Obj.magic r1 in
35202 let x0 : 'tv_const_vol = Obj.magic x0 in
35203 let _startpos = _startpos_x0_ in
35204 let _endpos = _endpos_m_ in
35205 let _v : 'tv_typedef_ctype = let ty =
35206 let p0 = p00 in
35207 let r0 = r00 in
35208 let r = r1 in
35209 let ty =
35210 let p = p0 in
35211 let r = r0 in
35212
35213 # 518 "parser_cocci_menhir.mly"
35214 ( let nm = (r,P.id2name p) in
35215 (* this is only possible when we are in a metavar decl. Otherwise,
35216 it will be represented already as a MetaType *)
35217 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
35218 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
35219 Ast0.Impure (*will be ignored*))) )
35220 # 35221 "parser_cocci_menhir.ml"
35221
35222 in
35223
35224 # 561 "parser_cocci_menhir.mly"
35225 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
35226 # 35227 "parser_cocci_menhir.ml"
35227
35228 in
35229 let cv =
35230 let x = x0 in
35231
35232 # 41 "standard.mly"
35233 ( Some x )
35234 # 35235 "parser_cocci_menhir.ml"
35235
35236 in
35237
35238 # 582 "parser_cocci_menhir.mly"
35239 ( P.pointerify (P.make_cv cv ty) m )
35240 # 35241 "parser_cocci_menhir.ml"
35241 in
35242 _menhir_env.MenhirLib.EngineTypes.stack <- {
35243 MenhirLib.EngineTypes.state = _menhir_s;
35244 MenhirLib.EngineTypes.semv = Obj.repr _v;
35245 MenhirLib.EngineTypes.startp = _startpos;
35246 MenhirLib.EngineTypes.endp = _endpos;
35247 MenhirLib.EngineTypes.next = _menhir_stack;
35248 });
35249 (fun _menhir_env ->
35250 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35251 let {
35252 MenhirLib.EngineTypes.semv = m;
35253 MenhirLib.EngineTypes.startp = _startpos_m_;
35254 MenhirLib.EngineTypes.endp = _endpos_m_;
35255 MenhirLib.EngineTypes.next = {
35256 MenhirLib.EngineTypes.semv = ty00;
35257 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35258 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35259 MenhirLib.EngineTypes.next = {
35260 MenhirLib.EngineTypes.semv = r0;
35261 MenhirLib.EngineTypes.startp = _startpos_r0_;
35262 MenhirLib.EngineTypes.endp = _endpos_r0_;
35263 MenhirLib.EngineTypes.next = {
35264 MenhirLib.EngineTypes.state = _menhir_s;
35265 MenhirLib.EngineTypes.semv = x0;
35266 MenhirLib.EngineTypes.startp = _startpos_x0_;
35267 MenhirLib.EngineTypes.endp = _endpos_x0_;
35268 MenhirLib.EngineTypes.next = _menhir_stack;
35269 };
35270 };
35271 };
35272 } = _menhir_stack in
35273 let m : 'tv_list_TMul_ = Obj.magic m in
35274 let ty00 : (
35275 # 51 "parser_cocci_menhir.mly"
35276 (Data.clt)
35277 # 35278 "parser_cocci_menhir.ml"
35278 ) = Obj.magic ty00 in
35279 let r0 : (
35280 # 53 "parser_cocci_menhir.mly"
35281 (Data.clt)
35282 # 35283 "parser_cocci_menhir.ml"
35283 ) = Obj.magic r0 in
35284 let x0 : 'tv_const_vol = Obj.magic x0 in
35285 let _startpos = _startpos_x0_ in
35286 let _endpos = _endpos_m_ in
35287 let _v : 'tv_typedef_ctype = let ty =
35288 let ty0 = ty00 in
35289 let r = r0 in
35290 let ty =
35291 let ty = ty0 in
35292
35293 # 525 "parser_cocci_menhir.mly"
35294 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
35295 # 35296 "parser_cocci_menhir.ml"
35296
35297 in
35298
35299 # 561 "parser_cocci_menhir.mly"
35300 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
35301 # 35302 "parser_cocci_menhir.ml"
35302
35303 in
35304 let cv =
35305 let x = x0 in
35306
35307 # 41 "standard.mly"
35308 ( Some x )
35309 # 35310 "parser_cocci_menhir.ml"
35310
35311 in
35312
35313 # 582 "parser_cocci_menhir.mly"
35314 ( P.pointerify (P.make_cv cv ty) m )
35315 # 35316 "parser_cocci_menhir.ml"
35316 in
35317 _menhir_env.MenhirLib.EngineTypes.stack <- {
35318 MenhirLib.EngineTypes.state = _menhir_s;
35319 MenhirLib.EngineTypes.semv = Obj.repr _v;
35320 MenhirLib.EngineTypes.startp = _startpos;
35321 MenhirLib.EngineTypes.endp = _endpos;
35322 MenhirLib.EngineTypes.next = _menhir_stack;
35323 });
35324 (fun _menhir_env ->
35325 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35326 let {
35327 MenhirLib.EngineTypes.semv = m;
35328 MenhirLib.EngineTypes.startp = _startpos_m_;
35329 MenhirLib.EngineTypes.endp = _endpos_m_;
35330 MenhirLib.EngineTypes.next = {
35331 MenhirLib.EngineTypes.semv = ty200;
35332 MenhirLib.EngineTypes.startp = _startpos_ty200_;
35333 MenhirLib.EngineTypes.endp = _endpos_ty200_;
35334 MenhirLib.EngineTypes.next = {
35335 MenhirLib.EngineTypes.semv = ty100;
35336 MenhirLib.EngineTypes.startp = _startpos_ty100_;
35337 MenhirLib.EngineTypes.endp = _endpos_ty100_;
35338 MenhirLib.EngineTypes.next = {
35339 MenhirLib.EngineTypes.semv = r0;
35340 MenhirLib.EngineTypes.startp = _startpos_r0_;
35341 MenhirLib.EngineTypes.endp = _endpos_r0_;
35342 MenhirLib.EngineTypes.next = {
35343 MenhirLib.EngineTypes.state = _menhir_s;
35344 MenhirLib.EngineTypes.semv = x0;
35345 MenhirLib.EngineTypes.startp = _startpos_x0_;
35346 MenhirLib.EngineTypes.endp = _endpos_x0_;
35347 MenhirLib.EngineTypes.next = _menhir_stack;
35348 };
35349 };
35350 };
35351 };
35352 } = _menhir_stack in
35353 let m : 'tv_list_TMul_ = Obj.magic m in
35354 let ty200 : (
35355 # 51 "parser_cocci_menhir.mly"
35356 (Data.clt)
35357 # 35358 "parser_cocci_menhir.ml"
35358 ) = Obj.magic ty200 in
35359 let ty100 : (
35360 # 51 "parser_cocci_menhir.mly"
35361 (Data.clt)
35362 # 35363 "parser_cocci_menhir.ml"
35363 ) = Obj.magic ty100 in
35364 let r0 : (
35365 # 53 "parser_cocci_menhir.mly"
35366 (Data.clt)
35367 # 35368 "parser_cocci_menhir.ml"
35368 ) = Obj.magic r0 in
35369 let x0 : 'tv_const_vol = Obj.magic x0 in
35370 let _startpos = _startpos_x0_ in
35371 let _endpos = _endpos_m_ in
35372 let _v : 'tv_typedef_ctype = let ty =
35373 let ty20 = ty200 in
35374 let ty10 = ty100 in
35375 let r = r0 in
35376 let ty =
35377 let ty2 = ty20 in
35378 let ty1 = ty10 in
35379
35380 # 527 "parser_cocci_menhir.mly"
35381 ( Ast0.wrap
35382 (Ast0.BaseType
35383 (Ast.LongLongType,
35384 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
35385 # 35386 "parser_cocci_menhir.ml"
35386
35387 in
35388
35389 # 561 "parser_cocci_menhir.mly"
35390 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
35391 # 35392 "parser_cocci_menhir.ml"
35392
35393 in
35394 let cv =
35395 let x = x0 in
35396
35397 # 41 "standard.mly"
35398 ( Some x )
35399 # 35400 "parser_cocci_menhir.ml"
35400
35401 in
35402
35403 # 582 "parser_cocci_menhir.mly"
35404 ( P.pointerify (P.make_cv cv ty) m )
35405 # 35406 "parser_cocci_menhir.ml"
35406 in
35407 _menhir_env.MenhirLib.EngineTypes.stack <- {
35408 MenhirLib.EngineTypes.state = _menhir_s;
35409 MenhirLib.EngineTypes.semv = Obj.repr _v;
35410 MenhirLib.EngineTypes.startp = _startpos;
35411 MenhirLib.EngineTypes.endp = _endpos;
35412 MenhirLib.EngineTypes.next = _menhir_stack;
35413 });
35414 (fun _menhir_env ->
35415 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35416 let {
35417 MenhirLib.EngineTypes.semv = m;
35418 MenhirLib.EngineTypes.startp = _startpos_m_;
35419 MenhirLib.EngineTypes.endp = _endpos_m_;
35420 MenhirLib.EngineTypes.next = {
35421 MenhirLib.EngineTypes.semv = ty00;
35422 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35423 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35424 MenhirLib.EngineTypes.next = {
35425 MenhirLib.EngineTypes.semv = r0;
35426 MenhirLib.EngineTypes.startp = _startpos_r0_;
35427 MenhirLib.EngineTypes.endp = _endpos_r0_;
35428 MenhirLib.EngineTypes.next = {
35429 MenhirLib.EngineTypes.state = _menhir_s;
35430 MenhirLib.EngineTypes.semv = x0;
35431 MenhirLib.EngineTypes.startp = _startpos_x0_;
35432 MenhirLib.EngineTypes.endp = _endpos_x0_;
35433 MenhirLib.EngineTypes.next = _menhir_stack;
35434 };
35435 };
35436 };
35437 } = _menhir_stack in
35438 let m : 'tv_list_TMul_ = Obj.magic m in
35439 let ty00 : (
35440 # 51 "parser_cocci_menhir.mly"
35441 (Data.clt)
35442 # 35443 "parser_cocci_menhir.ml"
35443 ) = Obj.magic ty00 in
35444 let r0 : (
35445 # 53 "parser_cocci_menhir.mly"
35446 (Data.clt)
35447 # 35448 "parser_cocci_menhir.ml"
35448 ) = Obj.magic r0 in
35449 let x0 : 'tv_const_vol = Obj.magic x0 in
35450 let _startpos = _startpos_x0_ in
35451 let _endpos = _endpos_m_ in
35452 let _v : 'tv_typedef_ctype = let ty =
35453 let ty0 = ty00 in
35454 let r = r0 in
35455 let ty =
35456 let ty = ty0 in
35457
35458 # 509 "parser_cocci_menhir.mly"
35459 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
35460 # 35461 "parser_cocci_menhir.ml"
35461
35462 in
35463
35464 # 563 "parser_cocci_menhir.mly"
35465 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35466 # 35467 "parser_cocci_menhir.ml"
35467
35468 in
35469 let cv =
35470 let x = x0 in
35471
35472 # 41 "standard.mly"
35473 ( Some x )
35474 # 35475 "parser_cocci_menhir.ml"
35475
35476 in
35477
35478 # 582 "parser_cocci_menhir.mly"
35479 ( P.pointerify (P.make_cv cv ty) m )
35480 # 35481 "parser_cocci_menhir.ml"
35481 in
35482 _menhir_env.MenhirLib.EngineTypes.stack <- {
35483 MenhirLib.EngineTypes.state = _menhir_s;
35484 MenhirLib.EngineTypes.semv = Obj.repr _v;
35485 MenhirLib.EngineTypes.startp = _startpos;
35486 MenhirLib.EngineTypes.endp = _endpos;
35487 MenhirLib.EngineTypes.next = _menhir_stack;
35488 });
35489 (fun _menhir_env ->
35490 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35491 let {
35492 MenhirLib.EngineTypes.semv = m;
35493 MenhirLib.EngineTypes.startp = _startpos_m_;
35494 MenhirLib.EngineTypes.endp = _endpos_m_;
35495 MenhirLib.EngineTypes.next = {
35496 MenhirLib.EngineTypes.semv = ty00;
35497 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35498 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35499 MenhirLib.EngineTypes.next = {
35500 MenhirLib.EngineTypes.semv = r0;
35501 MenhirLib.EngineTypes.startp = _startpos_r0_;
35502 MenhirLib.EngineTypes.endp = _endpos_r0_;
35503 MenhirLib.EngineTypes.next = {
35504 MenhirLib.EngineTypes.state = _menhir_s;
35505 MenhirLib.EngineTypes.semv = x0;
35506 MenhirLib.EngineTypes.startp = _startpos_x0_;
35507 MenhirLib.EngineTypes.endp = _endpos_x0_;
35508 MenhirLib.EngineTypes.next = _menhir_stack;
35509 };
35510 };
35511 };
35512 } = _menhir_stack in
35513 let m : 'tv_list_TMul_ = Obj.magic m in
35514 let ty00 : (
35515 # 51 "parser_cocci_menhir.mly"
35516 (Data.clt)
35517 # 35518 "parser_cocci_menhir.ml"
35518 ) = Obj.magic ty00 in
35519 let r0 : (
35520 # 53 "parser_cocci_menhir.mly"
35521 (Data.clt)
35522 # 35523 "parser_cocci_menhir.ml"
35523 ) = Obj.magic r0 in
35524 let x0 : 'tv_const_vol = Obj.magic x0 in
35525 let _startpos = _startpos_x0_ in
35526 let _endpos = _endpos_m_ in
35527 let _v : 'tv_typedef_ctype = let ty =
35528 let ty0 = ty00 in
35529 let r = r0 in
35530 let ty =
35531 let ty = ty0 in
35532
35533 # 511 "parser_cocci_menhir.mly"
35534 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
35535 # 35536 "parser_cocci_menhir.ml"
35536
35537 in
35538
35539 # 563 "parser_cocci_menhir.mly"
35540 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35541 # 35542 "parser_cocci_menhir.ml"
35542
35543 in
35544 let cv =
35545 let x = x0 in
35546
35547 # 41 "standard.mly"
35548 ( Some x )
35549 # 35550 "parser_cocci_menhir.ml"
35550
35551 in
35552
35553 # 582 "parser_cocci_menhir.mly"
35554 ( P.pointerify (P.make_cv cv ty) m )
35555 # 35556 "parser_cocci_menhir.ml"
35556 in
35557 _menhir_env.MenhirLib.EngineTypes.stack <- {
35558 MenhirLib.EngineTypes.state = _menhir_s;
35559 MenhirLib.EngineTypes.semv = Obj.repr _v;
35560 MenhirLib.EngineTypes.startp = _startpos;
35561 MenhirLib.EngineTypes.endp = _endpos;
35562 MenhirLib.EngineTypes.next = _menhir_stack;
35563 });
35564 (fun _menhir_env ->
35565 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35566 let {
35567 MenhirLib.EngineTypes.semv = m;
35568 MenhirLib.EngineTypes.startp = _startpos_m_;
35569 MenhirLib.EngineTypes.endp = _endpos_m_;
35570 MenhirLib.EngineTypes.next = {
35571 MenhirLib.EngineTypes.semv = ty00;
35572 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35573 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35574 MenhirLib.EngineTypes.next = {
35575 MenhirLib.EngineTypes.semv = r0;
35576 MenhirLib.EngineTypes.startp = _startpos_r0_;
35577 MenhirLib.EngineTypes.endp = _endpos_r0_;
35578 MenhirLib.EngineTypes.next = {
35579 MenhirLib.EngineTypes.state = _menhir_s;
35580 MenhirLib.EngineTypes.semv = x0;
35581 MenhirLib.EngineTypes.startp = _startpos_x0_;
35582 MenhirLib.EngineTypes.endp = _endpos_x0_;
35583 MenhirLib.EngineTypes.next = _menhir_stack;
35584 };
35585 };
35586 };
35587 } = _menhir_stack in
35588 let m : 'tv_list_TMul_ = Obj.magic m in
35589 let ty00 : (
35590 # 51 "parser_cocci_menhir.mly"
35591 (Data.clt)
35592 # 35593 "parser_cocci_menhir.ml"
35593 ) = Obj.magic ty00 in
35594 let r0 : (
35595 # 53 "parser_cocci_menhir.mly"
35596 (Data.clt)
35597 # 35598 "parser_cocci_menhir.ml"
35598 ) = Obj.magic r0 in
35599 let x0 : 'tv_const_vol = Obj.magic x0 in
35600 let _startpos = _startpos_x0_ in
35601 let _endpos = _endpos_m_ in
35602 let _v : 'tv_typedef_ctype = let ty =
35603 let ty0 = ty00 in
35604 let r = r0 in
35605 let ty =
35606 let ty = ty0 in
35607
35608 # 513 "parser_cocci_menhir.mly"
35609 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
35610 # 35611 "parser_cocci_menhir.ml"
35611
35612 in
35613
35614 # 563 "parser_cocci_menhir.mly"
35615 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35616 # 35617 "parser_cocci_menhir.ml"
35617
35618 in
35619 let cv =
35620 let x = x0 in
35621
35622 # 41 "standard.mly"
35623 ( Some x )
35624 # 35625 "parser_cocci_menhir.ml"
35625
35626 in
35627
35628 # 582 "parser_cocci_menhir.mly"
35629 ( P.pointerify (P.make_cv cv ty) m )
35630 # 35631 "parser_cocci_menhir.ml"
35631 in
35632 _menhir_env.MenhirLib.EngineTypes.stack <- {
35633 MenhirLib.EngineTypes.state = _menhir_s;
35634 MenhirLib.EngineTypes.semv = Obj.repr _v;
35635 MenhirLib.EngineTypes.startp = _startpos;
35636 MenhirLib.EngineTypes.endp = _endpos;
35637 MenhirLib.EngineTypes.next = _menhir_stack;
35638 });
35639 (fun _menhir_env ->
35640 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35641 let {
35642 MenhirLib.EngineTypes.semv = m;
35643 MenhirLib.EngineTypes.startp = _startpos_m_;
35644 MenhirLib.EngineTypes.endp = _endpos_m_;
35645 MenhirLib.EngineTypes.next = {
35646 MenhirLib.EngineTypes.semv = p00;
35647 MenhirLib.EngineTypes.startp = _startpos_p00_;
35648 MenhirLib.EngineTypes.endp = _endpos_p00_;
35649 MenhirLib.EngineTypes.next = {
35650 MenhirLib.EngineTypes.semv = r0;
35651 MenhirLib.EngineTypes.startp = _startpos_r0_;
35652 MenhirLib.EngineTypes.endp = _endpos_r0_;
35653 MenhirLib.EngineTypes.next = {
35654 MenhirLib.EngineTypes.state = _menhir_s;
35655 MenhirLib.EngineTypes.semv = x0;
35656 MenhirLib.EngineTypes.startp = _startpos_x0_;
35657 MenhirLib.EngineTypes.endp = _endpos_x0_;
35658 MenhirLib.EngineTypes.next = _menhir_stack;
35659 };
35660 };
35661 };
35662 } = _menhir_stack in
35663 let m : 'tv_list_TMul_ = Obj.magic m in
35664 let p00 : (
35665 # 67 "parser_cocci_menhir.mly"
35666 (Parse_aux.info)
35667 # 35668 "parser_cocci_menhir.ml"
35668 ) = Obj.magic p00 in
35669 let r0 : (
35670 # 53 "parser_cocci_menhir.mly"
35671 (Data.clt)
35672 # 35673 "parser_cocci_menhir.ml"
35673 ) = Obj.magic r0 in
35674 let x0 : 'tv_const_vol = Obj.magic x0 in
35675 let _startpos = _startpos_x0_ in
35676 let _endpos = _endpos_m_ in
35677 let _v : 'tv_typedef_ctype = let ty =
35678 let p0 = p00 in
35679 let r = r0 in
35680 let ty =
35681 let p = p0 in
35682
35683 # 515 "parser_cocci_menhir.mly"
35684 ( let (nm,pure,clt) = p in
35685 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
35686 # 35687 "parser_cocci_menhir.ml"
35687
35688 in
35689
35690 # 563 "parser_cocci_menhir.mly"
35691 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35692 # 35693 "parser_cocci_menhir.ml"
35693
35694 in
35695 let cv =
35696 let x = x0 in
35697
35698 # 41 "standard.mly"
35699 ( Some x )
35700 # 35701 "parser_cocci_menhir.ml"
35701
35702 in
35703
35704 # 582 "parser_cocci_menhir.mly"
35705 ( P.pointerify (P.make_cv cv ty) m )
35706 # 35707 "parser_cocci_menhir.ml"
35707 in
35708 _menhir_env.MenhirLib.EngineTypes.stack <- {
35709 MenhirLib.EngineTypes.state = _menhir_s;
35710 MenhirLib.EngineTypes.semv = Obj.repr _v;
35711 MenhirLib.EngineTypes.startp = _startpos;
35712 MenhirLib.EngineTypes.endp = _endpos;
35713 MenhirLib.EngineTypes.next = _menhir_stack;
35714 });
35715 (fun _menhir_env ->
35716 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35717 let {
35718 MenhirLib.EngineTypes.semv = m;
35719 MenhirLib.EngineTypes.startp = _startpos_m_;
35720 MenhirLib.EngineTypes.endp = _endpos_m_;
35721 MenhirLib.EngineTypes.next = {
35722 MenhirLib.EngineTypes.semv = p00;
35723 MenhirLib.EngineTypes.startp = _startpos_p00_;
35724 MenhirLib.EngineTypes.endp = _endpos_p00_;
35725 MenhirLib.EngineTypes.next = {
35726 MenhirLib.EngineTypes.startp = _startpos__4_;
35727 MenhirLib.EngineTypes.endp = _endpos__4_;
35728 MenhirLib.EngineTypes.next = {
35729 MenhirLib.EngineTypes.semv = r00;
35730 MenhirLib.EngineTypes.startp = _startpos_r00_;
35731 MenhirLib.EngineTypes.endp = _endpos_r00_;
35732 MenhirLib.EngineTypes.next = {
35733 MenhirLib.EngineTypes.semv = r1;
35734 MenhirLib.EngineTypes.startp = _startpos_r1_;
35735 MenhirLib.EngineTypes.endp = _endpos_r1_;
35736 MenhirLib.EngineTypes.next = {
35737 MenhirLib.EngineTypes.state = _menhir_s;
35738 MenhirLib.EngineTypes.semv = x0;
35739 MenhirLib.EngineTypes.startp = _startpos_x0_;
35740 MenhirLib.EngineTypes.endp = _endpos_x0_;
35741 MenhirLib.EngineTypes.next = _menhir_stack;
35742 };
35743 };
35744 };
35745 };
35746 };
35747 } = _menhir_stack in
35748 let m : 'tv_list_TMul_ = Obj.magic m in
35749 let p00 : (
35750 # 61 "parser_cocci_menhir.mly"
35751 (string * Data.clt)
35752 # 35753 "parser_cocci_menhir.ml"
35753 ) = Obj.magic p00 in
35754 let r00 : (
35755 # 49 "parser_cocci_menhir.mly"
35756 (string)
35757 # 35758 "parser_cocci_menhir.ml"
35758 ) = Obj.magic r00 in
35759 let r1 : (
35760 # 53 "parser_cocci_menhir.mly"
35761 (Data.clt)
35762 # 35763 "parser_cocci_menhir.ml"
35763 ) = Obj.magic r1 in
35764 let x0 : 'tv_const_vol = Obj.magic x0 in
35765 let _startpos = _startpos_x0_ in
35766 let _endpos = _endpos_m_ in
35767 let _v : 'tv_typedef_ctype = let ty =
35768 let p0 = p00 in
35769 let r0 = r00 in
35770 let r = r1 in
35771 let ty =
35772 let p = p0 in
35773 let r = r0 in
35774
35775 # 518 "parser_cocci_menhir.mly"
35776 ( let nm = (r,P.id2name p) in
35777 (* this is only possible when we are in a metavar decl. Otherwise,
35778 it will be represented already as a MetaType *)
35779 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
35780 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
35781 Ast0.Impure (*will be ignored*))) )
35782 # 35783 "parser_cocci_menhir.ml"
35783
35784 in
35785
35786 # 563 "parser_cocci_menhir.mly"
35787 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35788 # 35789 "parser_cocci_menhir.ml"
35789
35790 in
35791 let cv =
35792 let x = x0 in
35793
35794 # 41 "standard.mly"
35795 ( Some x )
35796 # 35797 "parser_cocci_menhir.ml"
35797
35798 in
35799
35800 # 582 "parser_cocci_menhir.mly"
35801 ( P.pointerify (P.make_cv cv ty) m )
35802 # 35803 "parser_cocci_menhir.ml"
35803 in
35804 _menhir_env.MenhirLib.EngineTypes.stack <- {
35805 MenhirLib.EngineTypes.state = _menhir_s;
35806 MenhirLib.EngineTypes.semv = Obj.repr _v;
35807 MenhirLib.EngineTypes.startp = _startpos;
35808 MenhirLib.EngineTypes.endp = _endpos;
35809 MenhirLib.EngineTypes.next = _menhir_stack;
35810 });
35811 (fun _menhir_env ->
35812 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35813 let {
35814 MenhirLib.EngineTypes.semv = m;
35815 MenhirLib.EngineTypes.startp = _startpos_m_;
35816 MenhirLib.EngineTypes.endp = _endpos_m_;
35817 MenhirLib.EngineTypes.next = {
35818 MenhirLib.EngineTypes.semv = ty00;
35819 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35820 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35821 MenhirLib.EngineTypes.next = {
35822 MenhirLib.EngineTypes.semv = r0;
35823 MenhirLib.EngineTypes.startp = _startpos_r0_;
35824 MenhirLib.EngineTypes.endp = _endpos_r0_;
35825 MenhirLib.EngineTypes.next = {
35826 MenhirLib.EngineTypes.state = _menhir_s;
35827 MenhirLib.EngineTypes.semv = x0;
35828 MenhirLib.EngineTypes.startp = _startpos_x0_;
35829 MenhirLib.EngineTypes.endp = _endpos_x0_;
35830 MenhirLib.EngineTypes.next = _menhir_stack;
35831 };
35832 };
35833 };
35834 } = _menhir_stack in
35835 let m : 'tv_list_TMul_ = Obj.magic m in
35836 let ty00 : (
35837 # 51 "parser_cocci_menhir.mly"
35838 (Data.clt)
35839 # 35840 "parser_cocci_menhir.ml"
35840 ) = Obj.magic ty00 in
35841 let r0 : (
35842 # 53 "parser_cocci_menhir.mly"
35843 (Data.clt)
35844 # 35845 "parser_cocci_menhir.ml"
35845 ) = Obj.magic r0 in
35846 let x0 : 'tv_const_vol = Obj.magic x0 in
35847 let _startpos = _startpos_x0_ in
35848 let _endpos = _endpos_m_ in
35849 let _v : 'tv_typedef_ctype = let ty =
35850 let ty0 = ty00 in
35851 let r = r0 in
35852 let ty =
35853 let ty = ty0 in
35854
35855 # 525 "parser_cocci_menhir.mly"
35856 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
35857 # 35858 "parser_cocci_menhir.ml"
35858
35859 in
35860
35861 # 563 "parser_cocci_menhir.mly"
35862 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35863 # 35864 "parser_cocci_menhir.ml"
35864
35865 in
35866 let cv =
35867 let x = x0 in
35868
35869 # 41 "standard.mly"
35870 ( Some x )
35871 # 35872 "parser_cocci_menhir.ml"
35872
35873 in
35874
35875 # 582 "parser_cocci_menhir.mly"
35876 ( P.pointerify (P.make_cv cv ty) m )
35877 # 35878 "parser_cocci_menhir.ml"
35878 in
35879 _menhir_env.MenhirLib.EngineTypes.stack <- {
35880 MenhirLib.EngineTypes.state = _menhir_s;
35881 MenhirLib.EngineTypes.semv = Obj.repr _v;
35882 MenhirLib.EngineTypes.startp = _startpos;
35883 MenhirLib.EngineTypes.endp = _endpos;
35884 MenhirLib.EngineTypes.next = _menhir_stack;
35885 });
35886 (fun _menhir_env ->
35887 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35888 let {
35889 MenhirLib.EngineTypes.semv = m;
35890 MenhirLib.EngineTypes.startp = _startpos_m_;
35891 MenhirLib.EngineTypes.endp = _endpos_m_;
35892 MenhirLib.EngineTypes.next = {
35893 MenhirLib.EngineTypes.semv = ty200;
35894 MenhirLib.EngineTypes.startp = _startpos_ty200_;
35895 MenhirLib.EngineTypes.endp = _endpos_ty200_;
35896 MenhirLib.EngineTypes.next = {
35897 MenhirLib.EngineTypes.semv = ty100;
35898 MenhirLib.EngineTypes.startp = _startpos_ty100_;
35899 MenhirLib.EngineTypes.endp = _endpos_ty100_;
35900 MenhirLib.EngineTypes.next = {
35901 MenhirLib.EngineTypes.semv = r0;
35902 MenhirLib.EngineTypes.startp = _startpos_r0_;
35903 MenhirLib.EngineTypes.endp = _endpos_r0_;
35904 MenhirLib.EngineTypes.next = {
35905 MenhirLib.EngineTypes.state = _menhir_s;
35906 MenhirLib.EngineTypes.semv = x0;
35907 MenhirLib.EngineTypes.startp = _startpos_x0_;
35908 MenhirLib.EngineTypes.endp = _endpos_x0_;
35909 MenhirLib.EngineTypes.next = _menhir_stack;
35910 };
35911 };
35912 };
35913 };
35914 } = _menhir_stack in
35915 let m : 'tv_list_TMul_ = Obj.magic m in
35916 let ty200 : (
35917 # 51 "parser_cocci_menhir.mly"
35918 (Data.clt)
35919 # 35920 "parser_cocci_menhir.ml"
35920 ) = Obj.magic ty200 in
35921 let ty100 : (
35922 # 51 "parser_cocci_menhir.mly"
35923 (Data.clt)
35924 # 35925 "parser_cocci_menhir.ml"
35925 ) = Obj.magic ty100 in
35926 let r0 : (
35927 # 53 "parser_cocci_menhir.mly"
35928 (Data.clt)
35929 # 35930 "parser_cocci_menhir.ml"
35930 ) = Obj.magic r0 in
35931 let x0 : 'tv_const_vol = Obj.magic x0 in
35932 let _startpos = _startpos_x0_ in
35933 let _endpos = _endpos_m_ in
35934 let _v : 'tv_typedef_ctype = let ty =
35935 let ty20 = ty200 in
35936 let ty10 = ty100 in
35937 let r = r0 in
35938 let ty =
35939 let ty2 = ty20 in
35940 let ty1 = ty10 in
35941
35942 # 527 "parser_cocci_menhir.mly"
35943 ( Ast0.wrap
35944 (Ast0.BaseType
35945 (Ast.LongLongType,
35946 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
35947 # 35948 "parser_cocci_menhir.ml"
35948
35949 in
35950
35951 # 563 "parser_cocci_menhir.mly"
35952 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
35953 # 35954 "parser_cocci_menhir.ml"
35954
35955 in
35956 let cv =
35957 let x = x0 in
35958
35959 # 41 "standard.mly"
35960 ( Some x )
35961 # 35962 "parser_cocci_menhir.ml"
35962
35963 in
35964
35965 # 582 "parser_cocci_menhir.mly"
35966 ( P.pointerify (P.make_cv cv ty) m )
35967 # 35968 "parser_cocci_menhir.ml"
35968 in
35969 _menhir_env.MenhirLib.EngineTypes.stack <- {
35970 MenhirLib.EngineTypes.state = _menhir_s;
35971 MenhirLib.EngineTypes.semv = Obj.repr _v;
35972 MenhirLib.EngineTypes.startp = _startpos;
35973 MenhirLib.EngineTypes.endp = _endpos;
35974 MenhirLib.EngineTypes.next = _menhir_stack;
35975 });
35976 (fun _menhir_env ->
35977 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35978 let {
35979 MenhirLib.EngineTypes.semv = m;
35980 MenhirLib.EngineTypes.startp = _startpos_m_;
35981 MenhirLib.EngineTypes.endp = _endpos_m_;
35982 MenhirLib.EngineTypes.next = {
35983 MenhirLib.EngineTypes.semv = ty00;
35984 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35985 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35986 MenhirLib.EngineTypes.next = {
35987 MenhirLib.EngineTypes.state = _menhir_s;
35988 MenhirLib.EngineTypes.semv = x0;
35989 MenhirLib.EngineTypes.startp = _startpos_x0_;
35990 MenhirLib.EngineTypes.endp = _endpos_x0_;
35991 MenhirLib.EngineTypes.next = _menhir_stack;
35992 };
35993 };
35994 } = _menhir_stack in
35995 let m : 'tv_list_TMul_ = Obj.magic m in
35996 let ty00 : (
35997 # 51 "parser_cocci_menhir.mly"
35998 (Data.clt)
35999 # 36000 "parser_cocci_menhir.ml"
36000 ) = Obj.magic ty00 in
36001 let x0 : 'tv_const_vol = Obj.magic x0 in
36002 let _startpos = _startpos_x0_ in
36003 let _endpos = _endpos_m_ in
36004 let _v : 'tv_typedef_ctype = let ty =
36005 let ty0 = ty00 in
36006 let ty =
36007 let ty = ty0 in
36008
36009 # 509 "parser_cocci_menhir.mly"
36010 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
36011 # 36012 "parser_cocci_menhir.ml"
36012
36013 in
36014
36015 # 564 "parser_cocci_menhir.mly"
36016 ( ty )
36017 # 36018 "parser_cocci_menhir.ml"
36018
36019 in
36020 let cv =
36021 let x = x0 in
36022
36023 # 41 "standard.mly"
36024 ( Some x )
36025 # 36026 "parser_cocci_menhir.ml"
36026
36027 in
36028
36029 # 582 "parser_cocci_menhir.mly"
36030 ( P.pointerify (P.make_cv cv ty) m )
36031 # 36032 "parser_cocci_menhir.ml"
36032 in
36033 _menhir_env.MenhirLib.EngineTypes.stack <- {
36034 MenhirLib.EngineTypes.state = _menhir_s;
36035 MenhirLib.EngineTypes.semv = Obj.repr _v;
36036 MenhirLib.EngineTypes.startp = _startpos;
36037 MenhirLib.EngineTypes.endp = _endpos;
36038 MenhirLib.EngineTypes.next = _menhir_stack;
36039 });
36040 (fun _menhir_env ->
36041 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36042 let {
36043 MenhirLib.EngineTypes.semv = m;
36044 MenhirLib.EngineTypes.startp = _startpos_m_;
36045 MenhirLib.EngineTypes.endp = _endpos_m_;
36046 MenhirLib.EngineTypes.next = {
36047 MenhirLib.EngineTypes.semv = ty00;
36048 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36049 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36050 MenhirLib.EngineTypes.next = {
36051 MenhirLib.EngineTypes.state = _menhir_s;
36052 MenhirLib.EngineTypes.semv = x0;
36053 MenhirLib.EngineTypes.startp = _startpos_x0_;
36054 MenhirLib.EngineTypes.endp = _endpos_x0_;
36055 MenhirLib.EngineTypes.next = _menhir_stack;
36056 };
36057 };
36058 } = _menhir_stack in
36059 let m : 'tv_list_TMul_ = Obj.magic m in
36060 let ty00 : (
36061 # 51 "parser_cocci_menhir.mly"
36062 (Data.clt)
36063 # 36064 "parser_cocci_menhir.ml"
36064 ) = Obj.magic ty00 in
36065 let x0 : 'tv_const_vol = Obj.magic x0 in
36066 let _startpos = _startpos_x0_ in
36067 let _endpos = _endpos_m_ in
36068 let _v : 'tv_typedef_ctype = let ty =
36069 let ty0 = ty00 in
36070 let ty =
36071 let ty = ty0 in
36072
36073 # 511 "parser_cocci_menhir.mly"
36074 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
36075 # 36076 "parser_cocci_menhir.ml"
36076
36077 in
36078
36079 # 564 "parser_cocci_menhir.mly"
36080 ( ty )
36081 # 36082 "parser_cocci_menhir.ml"
36082
36083 in
36084 let cv =
36085 let x = x0 in
36086
36087 # 41 "standard.mly"
36088 ( Some x )
36089 # 36090 "parser_cocci_menhir.ml"
36090
36091 in
36092
36093 # 582 "parser_cocci_menhir.mly"
36094 ( P.pointerify (P.make_cv cv ty) m )
36095 # 36096 "parser_cocci_menhir.ml"
36096 in
36097 _menhir_env.MenhirLib.EngineTypes.stack <- {
36098 MenhirLib.EngineTypes.state = _menhir_s;
36099 MenhirLib.EngineTypes.semv = Obj.repr _v;
36100 MenhirLib.EngineTypes.startp = _startpos;
36101 MenhirLib.EngineTypes.endp = _endpos;
36102 MenhirLib.EngineTypes.next = _menhir_stack;
36103 });
36104 (fun _menhir_env ->
36105 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36106 let {
36107 MenhirLib.EngineTypes.semv = m;
36108 MenhirLib.EngineTypes.startp = _startpos_m_;
36109 MenhirLib.EngineTypes.endp = _endpos_m_;
36110 MenhirLib.EngineTypes.next = {
36111 MenhirLib.EngineTypes.semv = ty00;
36112 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36113 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36114 MenhirLib.EngineTypes.next = {
36115 MenhirLib.EngineTypes.state = _menhir_s;
36116 MenhirLib.EngineTypes.semv = x0;
36117 MenhirLib.EngineTypes.startp = _startpos_x0_;
36118 MenhirLib.EngineTypes.endp = _endpos_x0_;
36119 MenhirLib.EngineTypes.next = _menhir_stack;
36120 };
36121 };
36122 } = _menhir_stack in
36123 let m : 'tv_list_TMul_ = Obj.magic m in
36124 let ty00 : (
36125 # 51 "parser_cocci_menhir.mly"
36126 (Data.clt)
36127 # 36128 "parser_cocci_menhir.ml"
36128 ) = Obj.magic ty00 in
36129 let x0 : 'tv_const_vol = Obj.magic x0 in
36130 let _startpos = _startpos_x0_ in
36131 let _endpos = _endpos_m_ in
36132 let _v : 'tv_typedef_ctype = let ty =
36133 let ty0 = ty00 in
36134 let ty =
36135 let ty = ty0 in
36136
36137 # 513 "parser_cocci_menhir.mly"
36138 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
36139 # 36140 "parser_cocci_menhir.ml"
36140
36141 in
36142
36143 # 564 "parser_cocci_menhir.mly"
36144 ( ty )
36145 # 36146 "parser_cocci_menhir.ml"
36146
36147 in
36148 let cv =
36149 let x = x0 in
36150
36151 # 41 "standard.mly"
36152 ( Some x )
36153 # 36154 "parser_cocci_menhir.ml"
36154
36155 in
36156
36157 # 582 "parser_cocci_menhir.mly"
36158 ( P.pointerify (P.make_cv cv ty) m )
36159 # 36160 "parser_cocci_menhir.ml"
36160 in
36161 _menhir_env.MenhirLib.EngineTypes.stack <- {
36162 MenhirLib.EngineTypes.state = _menhir_s;
36163 MenhirLib.EngineTypes.semv = Obj.repr _v;
36164 MenhirLib.EngineTypes.startp = _startpos;
36165 MenhirLib.EngineTypes.endp = _endpos;
36166 MenhirLib.EngineTypes.next = _menhir_stack;
36167 });
36168 (fun _menhir_env ->
36169 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36170 let {
36171 MenhirLib.EngineTypes.semv = m;
36172 MenhirLib.EngineTypes.startp = _startpos_m_;
36173 MenhirLib.EngineTypes.endp = _endpos_m_;
36174 MenhirLib.EngineTypes.next = {
36175 MenhirLib.EngineTypes.semv = p00;
36176 MenhirLib.EngineTypes.startp = _startpos_p00_;
36177 MenhirLib.EngineTypes.endp = _endpos_p00_;
36178 MenhirLib.EngineTypes.next = {
36179 MenhirLib.EngineTypes.state = _menhir_s;
36180 MenhirLib.EngineTypes.semv = x0;
36181 MenhirLib.EngineTypes.startp = _startpos_x0_;
36182 MenhirLib.EngineTypes.endp = _endpos_x0_;
36183 MenhirLib.EngineTypes.next = _menhir_stack;
36184 };
36185 };
36186 } = _menhir_stack in
36187 let m : 'tv_list_TMul_ = Obj.magic m in
36188 let p00 : (
36189 # 67 "parser_cocci_menhir.mly"
36190 (Parse_aux.info)
36191 # 36192 "parser_cocci_menhir.ml"
36192 ) = Obj.magic p00 in
36193 let x0 : 'tv_const_vol = Obj.magic x0 in
36194 let _startpos = _startpos_x0_ in
36195 let _endpos = _endpos_m_ in
36196 let _v : 'tv_typedef_ctype = let ty =
36197 let p0 = p00 in
36198 let ty =
36199 let p = p0 in
36200
36201 # 515 "parser_cocci_menhir.mly"
36202 ( let (nm,pure,clt) = p in
36203 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
36204 # 36205 "parser_cocci_menhir.ml"
36205
36206 in
36207
36208 # 564 "parser_cocci_menhir.mly"
36209 ( ty )
36210 # 36211 "parser_cocci_menhir.ml"
36211
36212 in
36213 let cv =
36214 let x = x0 in
36215
36216 # 41 "standard.mly"
36217 ( Some x )
36218 # 36219 "parser_cocci_menhir.ml"
36219
36220 in
36221
36222 # 582 "parser_cocci_menhir.mly"
36223 ( P.pointerify (P.make_cv cv ty) m )
36224 # 36225 "parser_cocci_menhir.ml"
36225 in
36226 _menhir_env.MenhirLib.EngineTypes.stack <- {
36227 MenhirLib.EngineTypes.state = _menhir_s;
36228 MenhirLib.EngineTypes.semv = Obj.repr _v;
36229 MenhirLib.EngineTypes.startp = _startpos;
36230 MenhirLib.EngineTypes.endp = _endpos;
36231 MenhirLib.EngineTypes.next = _menhir_stack;
36232 });
36233 (fun _menhir_env ->
36234 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36235 let {
36236 MenhirLib.EngineTypes.semv = m;
36237 MenhirLib.EngineTypes.startp = _startpos_m_;
36238 MenhirLib.EngineTypes.endp = _endpos_m_;
36239 MenhirLib.EngineTypes.next = {
36240 MenhirLib.EngineTypes.semv = p00;
36241 MenhirLib.EngineTypes.startp = _startpos_p00_;
36242 MenhirLib.EngineTypes.endp = _endpos_p00_;
36243 MenhirLib.EngineTypes.next = {
36244 MenhirLib.EngineTypes.startp = _startpos__3_;
36245 MenhirLib.EngineTypes.endp = _endpos__3_;
36246 MenhirLib.EngineTypes.next = {
36247 MenhirLib.EngineTypes.semv = r00;
36248 MenhirLib.EngineTypes.startp = _startpos_r00_;
36249 MenhirLib.EngineTypes.endp = _endpos_r00_;
36250 MenhirLib.EngineTypes.next = {
36251 MenhirLib.EngineTypes.state = _menhir_s;
36252 MenhirLib.EngineTypes.semv = x0;
36253 MenhirLib.EngineTypes.startp = _startpos_x0_;
36254 MenhirLib.EngineTypes.endp = _endpos_x0_;
36255 MenhirLib.EngineTypes.next = _menhir_stack;
36256 };
36257 };
36258 };
36259 };
36260 } = _menhir_stack in
36261 let m : 'tv_list_TMul_ = Obj.magic m in
36262 let p00 : (
36263 # 61 "parser_cocci_menhir.mly"
36264 (string * Data.clt)
36265 # 36266 "parser_cocci_menhir.ml"
36266 ) = Obj.magic p00 in
36267 let r00 : (
36268 # 49 "parser_cocci_menhir.mly"
36269 (string)
36270 # 36271 "parser_cocci_menhir.ml"
36271 ) = Obj.magic r00 in
36272 let x0 : 'tv_const_vol = Obj.magic x0 in
36273 let _startpos = _startpos_x0_ in
36274 let _endpos = _endpos_m_ in
36275 let _v : 'tv_typedef_ctype = let ty =
36276 let p0 = p00 in
36277 let r0 = r00 in
36278 let ty =
36279 let p = p0 in
36280 let r = r0 in
36281
36282 # 518 "parser_cocci_menhir.mly"
36283 ( let nm = (r,P.id2name p) in
36284 (* this is only possible when we are in a metavar decl. Otherwise,
36285 it will be represented already as a MetaType *)
36286 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
36287 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
36288 Ast0.Impure (*will be ignored*))) )
36289 # 36290 "parser_cocci_menhir.ml"
36290
36291 in
36292
36293 # 564 "parser_cocci_menhir.mly"
36294 ( ty )
36295 # 36296 "parser_cocci_menhir.ml"
36296
36297 in
36298 let cv =
36299 let x = x0 in
36300
36301 # 41 "standard.mly"
36302 ( Some x )
36303 # 36304 "parser_cocci_menhir.ml"
36304
36305 in
36306
36307 # 582 "parser_cocci_menhir.mly"
36308 ( P.pointerify (P.make_cv cv ty) m )
36309 # 36310 "parser_cocci_menhir.ml"
36310 in
36311 _menhir_env.MenhirLib.EngineTypes.stack <- {
36312 MenhirLib.EngineTypes.state = _menhir_s;
36313 MenhirLib.EngineTypes.semv = Obj.repr _v;
36314 MenhirLib.EngineTypes.startp = _startpos;
36315 MenhirLib.EngineTypes.endp = _endpos;
36316 MenhirLib.EngineTypes.next = _menhir_stack;
36317 });
36318 (fun _menhir_env ->
36319 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36320 let {
36321 MenhirLib.EngineTypes.semv = m;
36322 MenhirLib.EngineTypes.startp = _startpos_m_;
36323 MenhirLib.EngineTypes.endp = _endpos_m_;
36324 MenhirLib.EngineTypes.next = {
36325 MenhirLib.EngineTypes.semv = ty00;
36326 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36327 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36328 MenhirLib.EngineTypes.next = {
36329 MenhirLib.EngineTypes.state = _menhir_s;
36330 MenhirLib.EngineTypes.semv = x0;
36331 MenhirLib.EngineTypes.startp = _startpos_x0_;
36332 MenhirLib.EngineTypes.endp = _endpos_x0_;
36333 MenhirLib.EngineTypes.next = _menhir_stack;
36334 };
36335 };
36336 } = _menhir_stack in
36337 let m : 'tv_list_TMul_ = Obj.magic m in
36338 let ty00 : (
36339 # 51 "parser_cocci_menhir.mly"
36340 (Data.clt)
36341 # 36342 "parser_cocci_menhir.ml"
36342 ) = Obj.magic ty00 in
36343 let x0 : 'tv_const_vol = Obj.magic x0 in
36344 let _startpos = _startpos_x0_ in
36345 let _endpos = _endpos_m_ in
36346 let _v : 'tv_typedef_ctype = let ty =
36347 let ty0 = ty00 in
36348 let ty =
36349 let ty = ty0 in
36350
36351 # 525 "parser_cocci_menhir.mly"
36352 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
36353 # 36354 "parser_cocci_menhir.ml"
36354
36355 in
36356
36357 # 564 "parser_cocci_menhir.mly"
36358 ( ty )
36359 # 36360 "parser_cocci_menhir.ml"
36360
36361 in
36362 let cv =
36363 let x = x0 in
36364
36365 # 41 "standard.mly"
36366 ( Some x )
36367 # 36368 "parser_cocci_menhir.ml"
36368
36369 in
36370
36371 # 582 "parser_cocci_menhir.mly"
36372 ( P.pointerify (P.make_cv cv ty) m )
36373 # 36374 "parser_cocci_menhir.ml"
36374 in
36375 _menhir_env.MenhirLib.EngineTypes.stack <- {
36376 MenhirLib.EngineTypes.state = _menhir_s;
36377 MenhirLib.EngineTypes.semv = Obj.repr _v;
36378 MenhirLib.EngineTypes.startp = _startpos;
36379 MenhirLib.EngineTypes.endp = _endpos;
36380 MenhirLib.EngineTypes.next = _menhir_stack;
36381 });
36382 (fun _menhir_env ->
36383 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36384 let {
36385 MenhirLib.EngineTypes.semv = m;
36386 MenhirLib.EngineTypes.startp = _startpos_m_;
36387 MenhirLib.EngineTypes.endp = _endpos_m_;
36388 MenhirLib.EngineTypes.next = {
36389 MenhirLib.EngineTypes.semv = ty200;
36390 MenhirLib.EngineTypes.startp = _startpos_ty200_;
36391 MenhirLib.EngineTypes.endp = _endpos_ty200_;
36392 MenhirLib.EngineTypes.next = {
36393 MenhirLib.EngineTypes.semv = ty100;
36394 MenhirLib.EngineTypes.startp = _startpos_ty100_;
36395 MenhirLib.EngineTypes.endp = _endpos_ty100_;
36396 MenhirLib.EngineTypes.next = {
36397 MenhirLib.EngineTypes.state = _menhir_s;
36398 MenhirLib.EngineTypes.semv = x0;
36399 MenhirLib.EngineTypes.startp = _startpos_x0_;
36400 MenhirLib.EngineTypes.endp = _endpos_x0_;
36401 MenhirLib.EngineTypes.next = _menhir_stack;
36402 };
36403 };
36404 };
36405 } = _menhir_stack in
36406 let m : 'tv_list_TMul_ = Obj.magic m in
36407 let ty200 : (
36408 # 51 "parser_cocci_menhir.mly"
36409 (Data.clt)
36410 # 36411 "parser_cocci_menhir.ml"
36411 ) = Obj.magic ty200 in
36412 let ty100 : (
36413 # 51 "parser_cocci_menhir.mly"
36414 (Data.clt)
36415 # 36416 "parser_cocci_menhir.ml"
36416 ) = Obj.magic ty100 in
36417 let x0 : 'tv_const_vol = Obj.magic x0 in
36418 let _startpos = _startpos_x0_ in
36419 let _endpos = _endpos_m_ in
36420 let _v : 'tv_typedef_ctype = let ty =
36421 let ty20 = ty200 in
36422 let ty10 = ty100 in
36423 let ty =
36424 let ty2 = ty20 in
36425 let ty1 = ty10 in
36426
36427 # 527 "parser_cocci_menhir.mly"
36428 ( Ast0.wrap
36429 (Ast0.BaseType
36430 (Ast.LongLongType,
36431 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
36432 # 36433 "parser_cocci_menhir.ml"
36433
36434 in
36435
36436 # 564 "parser_cocci_menhir.mly"
36437 ( ty )
36438 # 36439 "parser_cocci_menhir.ml"
36439
36440 in
36441 let cv =
36442 let x = x0 in
36443
36444 # 41 "standard.mly"
36445 ( Some x )
36446 # 36447 "parser_cocci_menhir.ml"
36447
36448 in
36449
36450 # 582 "parser_cocci_menhir.mly"
36451 ( P.pointerify (P.make_cv cv ty) m )
36452 # 36453 "parser_cocci_menhir.ml"
36453 in
36454 _menhir_env.MenhirLib.EngineTypes.stack <- {
36455 MenhirLib.EngineTypes.state = _menhir_s;
36456 MenhirLib.EngineTypes.semv = Obj.repr _v;
36457 MenhirLib.EngineTypes.startp = _startpos;
36458 MenhirLib.EngineTypes.endp = _endpos;
36459 MenhirLib.EngineTypes.next = _menhir_stack;
36460 });
36461 (fun _menhir_env ->
36462 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36463 let {
36464 MenhirLib.EngineTypes.semv = m;
36465 MenhirLib.EngineTypes.startp = _startpos_m_;
36466 MenhirLib.EngineTypes.endp = _endpos_m_;
36467 MenhirLib.EngineTypes.next = {
36468 MenhirLib.EngineTypes.semv = ty00;
36469 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36470 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36471 MenhirLib.EngineTypes.next = {
36472 MenhirLib.EngineTypes.state = _menhir_s;
36473 MenhirLib.EngineTypes.semv = x0;
36474 MenhirLib.EngineTypes.startp = _startpos_x0_;
36475 MenhirLib.EngineTypes.endp = _endpos_x0_;
36476 MenhirLib.EngineTypes.next = _menhir_stack;
36477 };
36478 };
36479 } = _menhir_stack in
36480 let m : 'tv_list_TMul_ = Obj.magic m in
36481 let ty00 : (
36482 # 52 "parser_cocci_menhir.mly"
36483 (Data.clt)
36484 # 36485 "parser_cocci_menhir.ml"
36485 ) = Obj.magic ty00 in
36486 let x0 : 'tv_const_vol = Obj.magic x0 in
36487 let _startpos = _startpos_x0_ in
36488 let _endpos = _endpos_m_ in
36489 let _v : 'tv_typedef_ctype = let ty =
36490 let ty0 = ty00 in
36491 let ty =
36492 let ty = ty0 in
36493
36494 # 535 "parser_cocci_menhir.mly"
36495 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
36496 # 36497 "parser_cocci_menhir.ml"
36497
36498 in
36499
36500 # 565 "parser_cocci_menhir.mly"
36501 ( ty )
36502 # 36503 "parser_cocci_menhir.ml"
36503
36504 in
36505 let cv =
36506 let x = x0 in
36507
36508 # 41 "standard.mly"
36509 ( Some x )
36510 # 36511 "parser_cocci_menhir.ml"
36511
36512 in
36513
36514 # 582 "parser_cocci_menhir.mly"
36515 ( P.pointerify (P.make_cv cv ty) m )
36516 # 36517 "parser_cocci_menhir.ml"
36517 in
36518 _menhir_env.MenhirLib.EngineTypes.stack <- {
36519 MenhirLib.EngineTypes.state = _menhir_s;
36520 MenhirLib.EngineTypes.semv = Obj.repr _v;
36521 MenhirLib.EngineTypes.startp = _startpos;
36522 MenhirLib.EngineTypes.endp = _endpos;
36523 MenhirLib.EngineTypes.next = _menhir_stack;
36524 });
36525 (fun _menhir_env ->
36526 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36527 let {
36528 MenhirLib.EngineTypes.semv = m;
36529 MenhirLib.EngineTypes.startp = _startpos_m_;
36530 MenhirLib.EngineTypes.endp = _endpos_m_;
36531 MenhirLib.EngineTypes.next = {
36532 MenhirLib.EngineTypes.semv = ty00;
36533 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36534 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36535 MenhirLib.EngineTypes.next = {
36536 MenhirLib.EngineTypes.state = _menhir_s;
36537 MenhirLib.EngineTypes.semv = x0;
36538 MenhirLib.EngineTypes.startp = _startpos_x0_;
36539 MenhirLib.EngineTypes.endp = _endpos_x0_;
36540 MenhirLib.EngineTypes.next = _menhir_stack;
36541 };
36542 };
36543 } = _menhir_stack in
36544 let m : 'tv_list_TMul_ = Obj.magic m in
36545 let ty00 : (
36546 # 51 "parser_cocci_menhir.mly"
36547 (Data.clt)
36548 # 36549 "parser_cocci_menhir.ml"
36549 ) = Obj.magic ty00 in
36550 let x0 : 'tv_const_vol = Obj.magic x0 in
36551 let _startpos = _startpos_x0_ in
36552 let _endpos = _endpos_m_ in
36553 let _v : 'tv_typedef_ctype = let ty =
36554 let ty0 = ty00 in
36555 let ty =
36556 let ty = ty0 in
36557
36558 # 537 "parser_cocci_menhir.mly"
36559 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
36560 # 36561 "parser_cocci_menhir.ml"
36561
36562 in
36563
36564 # 565 "parser_cocci_menhir.mly"
36565 ( ty )
36566 # 36567 "parser_cocci_menhir.ml"
36567
36568 in
36569 let cv =
36570 let x = x0 in
36571
36572 # 41 "standard.mly"
36573 ( Some x )
36574 # 36575 "parser_cocci_menhir.ml"
36575
36576 in
36577
36578 # 582 "parser_cocci_menhir.mly"
36579 ( P.pointerify (P.make_cv cv ty) m )
36580 # 36581 "parser_cocci_menhir.ml"
36581 in
36582 _menhir_env.MenhirLib.EngineTypes.stack <- {
36583 MenhirLib.EngineTypes.state = _menhir_s;
36584 MenhirLib.EngineTypes.semv = Obj.repr _v;
36585 MenhirLib.EngineTypes.startp = _startpos;
36586 MenhirLib.EngineTypes.endp = _endpos;
36587 MenhirLib.EngineTypes.next = _menhir_stack;
36588 });
36589 (fun _menhir_env ->
36590 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36591 let {
36592 MenhirLib.EngineTypes.semv = m;
36593 MenhirLib.EngineTypes.startp = _startpos_m_;
36594 MenhirLib.EngineTypes.endp = _endpos_m_;
36595 MenhirLib.EngineTypes.next = {
36596 MenhirLib.EngineTypes.semv = ty00;
36597 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36598 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36599 MenhirLib.EngineTypes.next = {
36600 MenhirLib.EngineTypes.state = _menhir_s;
36601 MenhirLib.EngineTypes.semv = x0;
36602 MenhirLib.EngineTypes.startp = _startpos_x0_;
36603 MenhirLib.EngineTypes.endp = _endpos_x0_;
36604 MenhirLib.EngineTypes.next = _menhir_stack;
36605 };
36606 };
36607 } = _menhir_stack in
36608 let m : 'tv_list_TMul_ = Obj.magic m in
36609 let ty00 : (
36610 # 51 "parser_cocci_menhir.mly"
36611 (Data.clt)
36612 # 36613 "parser_cocci_menhir.ml"
36613 ) = Obj.magic ty00 in
36614 let x0 : 'tv_const_vol = Obj.magic x0 in
36615 let _startpos = _startpos_x0_ in
36616 let _endpos = _endpos_m_ in
36617 let _v : 'tv_typedef_ctype = let ty =
36618 let ty0 = ty00 in
36619 let ty =
36620 let ty = ty0 in
36621
36622 # 539 "parser_cocci_menhir.mly"
36623 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
36624 # 36625 "parser_cocci_menhir.ml"
36625
36626 in
36627
36628 # 565 "parser_cocci_menhir.mly"
36629 ( ty )
36630 # 36631 "parser_cocci_menhir.ml"
36631
36632 in
36633 let cv =
36634 let x = x0 in
36635
36636 # 41 "standard.mly"
36637 ( Some x )
36638 # 36639 "parser_cocci_menhir.ml"
36639
36640 in
36641
36642 # 582 "parser_cocci_menhir.mly"
36643 ( P.pointerify (P.make_cv cv ty) m )
36644 # 36645 "parser_cocci_menhir.ml"
36645 in
36646 _menhir_env.MenhirLib.EngineTypes.stack <- {
36647 MenhirLib.EngineTypes.state = _menhir_s;
36648 MenhirLib.EngineTypes.semv = Obj.repr _v;
36649 MenhirLib.EngineTypes.startp = _startpos;
36650 MenhirLib.EngineTypes.endp = _endpos;
36651 MenhirLib.EngineTypes.next = _menhir_stack;
36652 });
36653 (fun _menhir_env ->
36654 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36655 let {
36656 MenhirLib.EngineTypes.semv = m;
36657 MenhirLib.EngineTypes.startp = _startpos_m_;
36658 MenhirLib.EngineTypes.endp = _endpos_m_;
36659 MenhirLib.EngineTypes.next = {
36660 MenhirLib.EngineTypes.semv = i00;
36661 MenhirLib.EngineTypes.startp = _startpos_i00_;
36662 MenhirLib.EngineTypes.endp = _endpos_i00_;
36663 MenhirLib.EngineTypes.next = {
36664 MenhirLib.EngineTypes.semv = s00;
36665 MenhirLib.EngineTypes.startp = _startpos_s00_;
36666 MenhirLib.EngineTypes.endp = _endpos_s00_;
36667 MenhirLib.EngineTypes.next = {
36668 MenhirLib.EngineTypes.state = _menhir_s;
36669 MenhirLib.EngineTypes.semv = x0;
36670 MenhirLib.EngineTypes.startp = _startpos_x0_;
36671 MenhirLib.EngineTypes.endp = _endpos_x0_;
36672 MenhirLib.EngineTypes.next = _menhir_stack;
36673 };
36674 };
36675 };
36676 } = _menhir_stack in
36677 let m : 'tv_list_TMul_ = Obj.magic m in
36678 let i00 : 'tv_ident = Obj.magic i00 in
36679 let s00 : (
36680 # 52 "parser_cocci_menhir.mly"
36681 (Data.clt)
36682 # 36683 "parser_cocci_menhir.ml"
36683 ) = Obj.magic s00 in
36684 let x0 : 'tv_const_vol = Obj.magic x0 in
36685 let _startpos = _startpos_x0_ in
36686 let _endpos = _endpos_m_ in
36687 let _v : 'tv_typedef_ctype = let ty =
36688 let i0 = i00 in
36689 let s0 = s00 in
36690 let ty =
36691 let i = i0 in
36692 let s = s0 in
36693
36694 # 541 "parser_cocci_menhir.mly"
36695 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
36696 # 36697 "parser_cocci_menhir.ml"
36697
36698 in
36699
36700 # 565 "parser_cocci_menhir.mly"
36701 ( ty )
36702 # 36703 "parser_cocci_menhir.ml"
36703
36704 in
36705 let cv =
36706 let x = x0 in
36707
36708 # 41 "standard.mly"
36709 ( Some x )
36710 # 36711 "parser_cocci_menhir.ml"
36711
36712 in
36713
36714 # 582 "parser_cocci_menhir.mly"
36715 ( P.pointerify (P.make_cv cv ty) m )
36716 # 36717 "parser_cocci_menhir.ml"
36717 in
36718 _menhir_env.MenhirLib.EngineTypes.stack <- {
36719 MenhirLib.EngineTypes.state = _menhir_s;
36720 MenhirLib.EngineTypes.semv = Obj.repr _v;
36721 MenhirLib.EngineTypes.startp = _startpos;
36722 MenhirLib.EngineTypes.endp = _endpos;
36723 MenhirLib.EngineTypes.next = _menhir_stack;
36724 });
36725 (fun _menhir_env ->
36726 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36727 let {
36728 MenhirLib.EngineTypes.semv = m;
36729 MenhirLib.EngineTypes.startp = _startpos_m_;
36730 MenhirLib.EngineTypes.endp = _endpos_m_;
36731 MenhirLib.EngineTypes.next = {
36732 MenhirLib.EngineTypes.semv = i00;
36733 MenhirLib.EngineTypes.startp = _startpos_i00_;
36734 MenhirLib.EngineTypes.endp = _endpos_i00_;
36735 MenhirLib.EngineTypes.next = {
36736 MenhirLib.EngineTypes.semv = s00;
36737 MenhirLib.EngineTypes.startp = _startpos_s00_;
36738 MenhirLib.EngineTypes.endp = _endpos_s00_;
36739 MenhirLib.EngineTypes.next = {
36740 MenhirLib.EngineTypes.state = _menhir_s;
36741 MenhirLib.EngineTypes.semv = x0;
36742 MenhirLib.EngineTypes.startp = _startpos_x0_;
36743 MenhirLib.EngineTypes.endp = _endpos_x0_;
36744 MenhirLib.EngineTypes.next = _menhir_stack;
36745 };
36746 };
36747 };
36748 } = _menhir_stack in
36749 let m : 'tv_list_TMul_ = Obj.magic m in
36750 let i00 : 'tv_ident = Obj.magic i00 in
36751 let s00 : 'tv_struct_or_union = Obj.magic s00 in
36752 let x0 : 'tv_const_vol = Obj.magic x0 in
36753 let _startpos = _startpos_x0_ in
36754 let _endpos = _endpos_m_ in
36755 let _v : 'tv_typedef_ctype = let ty =
36756 let i0 = i00 in
36757 let s0 = s00 in
36758 let ty =
36759 let i = i0 in
36760 let s = s0 in
36761
36762 # 543 "parser_cocci_menhir.mly"
36763 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
36764 # 36765 "parser_cocci_menhir.ml"
36765
36766 in
36767
36768 # 565 "parser_cocci_menhir.mly"
36769 ( ty )
36770 # 36771 "parser_cocci_menhir.ml"
36771
36772 in
36773 let cv =
36774 let x = x0 in
36775
36776 # 41 "standard.mly"
36777 ( Some x )
36778 # 36779 "parser_cocci_menhir.ml"
36779
36780 in
36781
36782 # 582 "parser_cocci_menhir.mly"
36783 ( P.pointerify (P.make_cv cv ty) m )
36784 # 36785 "parser_cocci_menhir.ml"
36785 in
36786 _menhir_env.MenhirLib.EngineTypes.stack <- {
36787 MenhirLib.EngineTypes.state = _menhir_s;
36788 MenhirLib.EngineTypes.semv = Obj.repr _v;
36789 MenhirLib.EngineTypes.startp = _startpos;
36790 MenhirLib.EngineTypes.endp = _endpos;
36791 MenhirLib.EngineTypes.next = _menhir_stack;
36792 });
36793 (fun _menhir_env ->
36794 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36795 let {
36796 MenhirLib.EngineTypes.semv = m;
36797 MenhirLib.EngineTypes.startp = _startpos_m_;
36798 MenhirLib.EngineTypes.endp = _endpos_m_;
36799 MenhirLib.EngineTypes.next = {
36800 MenhirLib.EngineTypes.semv = r00;
36801 MenhirLib.EngineTypes.startp = _startpos_r00_;
36802 MenhirLib.EngineTypes.endp = _endpos_r00_;
36803 MenhirLib.EngineTypes.next = {
36804 MenhirLib.EngineTypes.semv = d00;
36805 MenhirLib.EngineTypes.startp = _startpos_d00_;
36806 MenhirLib.EngineTypes.endp = _endpos_d00_;
36807 MenhirLib.EngineTypes.next = {
36808 MenhirLib.EngineTypes.semv = l00;
36809 MenhirLib.EngineTypes.startp = _startpos_l00_;
36810 MenhirLib.EngineTypes.endp = _endpos_l00_;
36811 MenhirLib.EngineTypes.next = {
36812 MenhirLib.EngineTypes.semv = s00;
36813 MenhirLib.EngineTypes.startp = _startpos_s00_;
36814 MenhirLib.EngineTypes.endp = _endpos_s00_;
36815 MenhirLib.EngineTypes.next = {
36816 MenhirLib.EngineTypes.state = _menhir_s;
36817 MenhirLib.EngineTypes.semv = x0;
36818 MenhirLib.EngineTypes.startp = _startpos_x0_;
36819 MenhirLib.EngineTypes.endp = _endpos_x0_;
36820 MenhirLib.EngineTypes.next = _menhir_stack;
36821 };
36822 };
36823 };
36824 };
36825 };
36826 } = _menhir_stack in
36827 let m : 'tv_list_TMul_ = Obj.magic m in
36828 let r00 : (
36829 # 104 "parser_cocci_menhir.mly"
36830 (Data.clt)
36831 # 36832 "parser_cocci_menhir.ml"
36832 ) = Obj.magic r00 in
36833 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
36834 let l00 : (
36835 # 104 "parser_cocci_menhir.mly"
36836 (Data.clt)
36837 # 36838 "parser_cocci_menhir.ml"
36838 ) = Obj.magic l00 in
36839 let s00 : 'tv_struct_or_union = Obj.magic s00 in
36840 let x0 : 'tv_const_vol = Obj.magic x0 in
36841 let _startpos = _startpos_x0_ in
36842 let _endpos = _endpos_m_ in
36843 let _v : 'tv_typedef_ctype = let ty =
36844 let r0 = r00 in
36845 let d0 = d00 in
36846 let l0 = l00 in
36847 let s0 = s00 in
36848 let ty =
36849 let r = r0 in
36850 let d = d0 in
36851 let l = l0 in
36852 let s = s0 in
36853 let i =
36854
36855 # 39 "standard.mly"
36856 ( None )
36857 # 36858 "parser_cocci_menhir.ml"
36858
36859 in
36860
36861 # 546 "parser_cocci_menhir.mly"
36862 ( (if i = None && !Data.in_iso
36863 then failwith "structures must be named in the iso file");
36864 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
36865 P.clt2mcode "{" l,
36866 d, P.clt2mcode "}" r)) )
36867 # 36868 "parser_cocci_menhir.ml"
36868
36869 in
36870
36871 # 565 "parser_cocci_menhir.mly"
36872 ( ty )
36873 # 36874 "parser_cocci_menhir.ml"
36874
36875 in
36876 let cv =
36877 let x = x0 in
36878
36879 # 41 "standard.mly"
36880 ( Some x )
36881 # 36882 "parser_cocci_menhir.ml"
36882
36883 in
36884
36885 # 582 "parser_cocci_menhir.mly"
36886 ( P.pointerify (P.make_cv cv ty) m )
36887 # 36888 "parser_cocci_menhir.ml"
36888 in
36889 _menhir_env.MenhirLib.EngineTypes.stack <- {
36890 MenhirLib.EngineTypes.state = _menhir_s;
36891 MenhirLib.EngineTypes.semv = Obj.repr _v;
36892 MenhirLib.EngineTypes.startp = _startpos;
36893 MenhirLib.EngineTypes.endp = _endpos;
36894 MenhirLib.EngineTypes.next = _menhir_stack;
36895 });
36896 (fun _menhir_env ->
36897 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36898 let {
36899 MenhirLib.EngineTypes.semv = m;
36900 MenhirLib.EngineTypes.startp = _startpos_m_;
36901 MenhirLib.EngineTypes.endp = _endpos_m_;
36902 MenhirLib.EngineTypes.next = {
36903 MenhirLib.EngineTypes.semv = r00;
36904 MenhirLib.EngineTypes.startp = _startpos_r00_;
36905 MenhirLib.EngineTypes.endp = _endpos_r00_;
36906 MenhirLib.EngineTypes.next = {
36907 MenhirLib.EngineTypes.semv = d00;
36908 MenhirLib.EngineTypes.startp = _startpos_d00_;
36909 MenhirLib.EngineTypes.endp = _endpos_d00_;
36910 MenhirLib.EngineTypes.next = {
36911 MenhirLib.EngineTypes.semv = l00;
36912 MenhirLib.EngineTypes.startp = _startpos_l00_;
36913 MenhirLib.EngineTypes.endp = _endpos_l00_;
36914 MenhirLib.EngineTypes.next = {
36915 MenhirLib.EngineTypes.semv = x000;
36916 MenhirLib.EngineTypes.startp = _startpos_x000_;
36917 MenhirLib.EngineTypes.endp = _endpos_x000_;
36918 MenhirLib.EngineTypes.next = {
36919 MenhirLib.EngineTypes.semv = s00;
36920 MenhirLib.EngineTypes.startp = _startpos_s00_;
36921 MenhirLib.EngineTypes.endp = _endpos_s00_;
36922 MenhirLib.EngineTypes.next = {
36923 MenhirLib.EngineTypes.state = _menhir_s;
36924 MenhirLib.EngineTypes.semv = x0;
36925 MenhirLib.EngineTypes.startp = _startpos_x0_;
36926 MenhirLib.EngineTypes.endp = _endpos_x0_;
36927 MenhirLib.EngineTypes.next = _menhir_stack;
36928 };
36929 };
36930 };
36931 };
36932 };
36933 };
36934 } = _menhir_stack in
36935 let m : 'tv_list_TMul_ = Obj.magic m in
36936 let r00 : (
36937 # 104 "parser_cocci_menhir.mly"
36938 (Data.clt)
36939 # 36940 "parser_cocci_menhir.ml"
36940 ) = Obj.magic r00 in
36941 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
36942 let l00 : (
36943 # 104 "parser_cocci_menhir.mly"
36944 (Data.clt)
36945 # 36946 "parser_cocci_menhir.ml"
36946 ) = Obj.magic l00 in
36947 let x000 : 'tv_ident = Obj.magic x000 in
36948 let s00 : 'tv_struct_or_union = Obj.magic s00 in
36949 let x0 : 'tv_const_vol = Obj.magic x0 in
36950 let _startpos = _startpos_x0_ in
36951 let _endpos = _endpos_m_ in
36952 let _v : 'tv_typedef_ctype = let ty =
36953 let r0 = r00 in
36954 let d0 = d00 in
36955 let l0 = l00 in
36956 let x00 = x000 in
36957 let s0 = s00 in
36958 let ty =
36959 let r = r0 in
36960 let d = d0 in
36961 let l = l0 in
36962 let x0 = x00 in
36963 let s = s0 in
36964 let i =
36965 let x = x0 in
36966
36967 # 41 "standard.mly"
36968 ( Some x )
36969 # 36970 "parser_cocci_menhir.ml"
36970
36971 in
36972
36973 # 546 "parser_cocci_menhir.mly"
36974 ( (if i = None && !Data.in_iso
36975 then failwith "structures must be named in the iso file");
36976 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
36977 P.clt2mcode "{" l,
36978 d, P.clt2mcode "}" r)) )
36979 # 36980 "parser_cocci_menhir.ml"
36980
36981 in
36982
36983 # 565 "parser_cocci_menhir.mly"
36984 ( ty )
36985 # 36986 "parser_cocci_menhir.ml"
36986
36987 in
36988 let cv =
36989 let x = x0 in
36990
36991 # 41 "standard.mly"
36992 ( Some x )
36993 # 36994 "parser_cocci_menhir.ml"
36994
36995 in
36996
36997 # 582 "parser_cocci_menhir.mly"
36998 ( P.pointerify (P.make_cv cv ty) m )
36999 # 37000 "parser_cocci_menhir.ml"
37000 in
37001 _menhir_env.MenhirLib.EngineTypes.stack <- {
37002 MenhirLib.EngineTypes.state = _menhir_s;
37003 MenhirLib.EngineTypes.semv = Obj.repr _v;
37004 MenhirLib.EngineTypes.startp = _startpos;
37005 MenhirLib.EngineTypes.endp = _endpos;
37006 MenhirLib.EngineTypes.next = _menhir_stack;
37007 });
37008 (fun _menhir_env ->
37009 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37010 let {
37011 MenhirLib.EngineTypes.semv = m;
37012 MenhirLib.EngineTypes.startp = _startpos_m_;
37013 MenhirLib.EngineTypes.endp = _endpos_m_;
37014 MenhirLib.EngineTypes.next = {
37015 MenhirLib.EngineTypes.semv = r00;
37016 MenhirLib.EngineTypes.startp = _startpos_r00_;
37017 MenhirLib.EngineTypes.endp = _endpos_r00_;
37018 MenhirLib.EngineTypes.next = {
37019 MenhirLib.EngineTypes.semv = d00;
37020 MenhirLib.EngineTypes.startp = _startpos_d00_;
37021 MenhirLib.EngineTypes.endp = _endpos_d00_;
37022 MenhirLib.EngineTypes.next = {
37023 MenhirLib.EngineTypes.semv = l00;
37024 MenhirLib.EngineTypes.startp = _startpos_l00_;
37025 MenhirLib.EngineTypes.endp = _endpos_l00_;
37026 MenhirLib.EngineTypes.next = {
37027 MenhirLib.EngineTypes.semv = s00;
37028 MenhirLib.EngineTypes.startp = _startpos_s00_;
37029 MenhirLib.EngineTypes.endp = _endpos_s00_;
37030 MenhirLib.EngineTypes.next = {
37031 MenhirLib.EngineTypes.state = _menhir_s;
37032 MenhirLib.EngineTypes.semv = x0;
37033 MenhirLib.EngineTypes.startp = _startpos_x0_;
37034 MenhirLib.EngineTypes.endp = _endpos_x0_;
37035 MenhirLib.EngineTypes.next = _menhir_stack;
37036 };
37037 };
37038 };
37039 };
37040 };
37041 } = _menhir_stack in
37042 let m : 'tv_list_TMul_ = Obj.magic m in
37043 let r00 : (
37044 # 104 "parser_cocci_menhir.mly"
37045 (Data.clt)
37046 # 37047 "parser_cocci_menhir.ml"
37047 ) = Obj.magic r00 in
37048 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
37049 let l00 : (
37050 # 104 "parser_cocci_menhir.mly"
37051 (Data.clt)
37052 # 37053 "parser_cocci_menhir.ml"
37053 ) = Obj.magic l00 in
37054 let s00 : (
37055 # 67 "parser_cocci_menhir.mly"
37056 (Parse_aux.info)
37057 # 37058 "parser_cocci_menhir.ml"
37058 ) = Obj.magic s00 in
37059 let x0 : 'tv_const_vol = Obj.magic x0 in
37060 let _startpos = _startpos_x0_ in
37061 let _endpos = _endpos_m_ in
37062 let _v : 'tv_typedef_ctype = let ty =
37063 let r0 = r00 in
37064 let d0 = d00 in
37065 let l0 = l00 in
37066 let s0 = s00 in
37067 let ty =
37068 let r = r0 in
37069 let d = d0 in
37070 let l = l0 in
37071 let s = s0 in
37072
37073 # 552 "parser_cocci_menhir.mly"
37074 ( let (nm,pure,clt) = s in
37075 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
37076 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
37077 # 37078 "parser_cocci_menhir.ml"
37078
37079 in
37080
37081 # 565 "parser_cocci_menhir.mly"
37082 ( ty )
37083 # 37084 "parser_cocci_menhir.ml"
37084
37085 in
37086 let cv =
37087 let x = x0 in
37088
37089 # 41 "standard.mly"
37090 ( Some x )
37091 # 37092 "parser_cocci_menhir.ml"
37092
37093 in
37094
37095 # 582 "parser_cocci_menhir.mly"
37096 ( P.pointerify (P.make_cv cv ty) m )
37097 # 37098 "parser_cocci_menhir.ml"
37098 in
37099 _menhir_env.MenhirLib.EngineTypes.stack <- {
37100 MenhirLib.EngineTypes.state = _menhir_s;
37101 MenhirLib.EngineTypes.semv = Obj.repr _v;
37102 MenhirLib.EngineTypes.startp = _startpos;
37103 MenhirLib.EngineTypes.endp = _endpos;
37104 MenhirLib.EngineTypes.next = _menhir_stack;
37105 });
37106 (fun _menhir_env ->
37107 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37108 let {
37109 MenhirLib.EngineTypes.semv = m;
37110 MenhirLib.EngineTypes.startp = _startpos_m_;
37111 MenhirLib.EngineTypes.endp = _endpos_m_;
37112 MenhirLib.EngineTypes.next = {
37113 MenhirLib.EngineTypes.semv = p00;
37114 MenhirLib.EngineTypes.startp = _startpos_p00_;
37115 MenhirLib.EngineTypes.endp = _endpos_p00_;
37116 MenhirLib.EngineTypes.next = {
37117 MenhirLib.EngineTypes.state = _menhir_s;
37118 MenhirLib.EngineTypes.semv = x0;
37119 MenhirLib.EngineTypes.startp = _startpos_x0_;
37120 MenhirLib.EngineTypes.endp = _endpos_x0_;
37121 MenhirLib.EngineTypes.next = _menhir_stack;
37122 };
37123 };
37124 } = _menhir_stack in
37125 let m : 'tv_list_TMul_ = Obj.magic m in
37126 let p00 : (
37127 # 61 "parser_cocci_menhir.mly"
37128 (string * Data.clt)
37129 # 37130 "parser_cocci_menhir.ml"
37130 ) = Obj.magic p00 in
37131 let x0 : 'tv_const_vol = Obj.magic x0 in
37132 let _startpos = _startpos_x0_ in
37133 let _endpos = _endpos_m_ in
37134 let _v : 'tv_typedef_ctype = let ty =
37135 let p0 = p00 in
37136 let ty =
37137 let p = p0 in
37138
37139 # 556 "parser_cocci_menhir.mly"
37140 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
37141 # 37142 "parser_cocci_menhir.ml"
37142
37143 in
37144
37145 # 565 "parser_cocci_menhir.mly"
37146 ( ty )
37147 # 37148 "parser_cocci_menhir.ml"
37148
37149 in
37150 let cv =
37151 let x = x0 in
37152
37153 # 41 "standard.mly"
37154 ( Some x )
37155 # 37156 "parser_cocci_menhir.ml"
37156
37157 in
37158
37159 # 582 "parser_cocci_menhir.mly"
37160 ( P.pointerify (P.make_cv cv ty) m )
37161 # 37162 "parser_cocci_menhir.ml"
37162 in
37163 _menhir_env.MenhirLib.EngineTypes.stack <- {
37164 MenhirLib.EngineTypes.state = _menhir_s;
37165 MenhirLib.EngineTypes.semv = Obj.repr _v;
37166 MenhirLib.EngineTypes.startp = _startpos;
37167 MenhirLib.EngineTypes.endp = _endpos;
37168 MenhirLib.EngineTypes.next = _menhir_stack;
37169 });
37170 (fun _menhir_env ->
37171 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37172 let {
37173 MenhirLib.EngineTypes.semv = rp;
37174 MenhirLib.EngineTypes.startp = _startpos_rp_;
37175 MenhirLib.EngineTypes.endp = _endpos_rp_;
37176 MenhirLib.EngineTypes.next = {
37177 MenhirLib.EngineTypes.semv = t;
37178 MenhirLib.EngineTypes.startp = _startpos_t_;
37179 MenhirLib.EngineTypes.endp = _endpos_t_;
37180 MenhirLib.EngineTypes.next = {
37181 MenhirLib.EngineTypes.state = _menhir_s;
37182 MenhirLib.EngineTypes.semv = lp;
37183 MenhirLib.EngineTypes.startp = _startpos_lp_;
37184 MenhirLib.EngineTypes.endp = _endpos_lp_;
37185 MenhirLib.EngineTypes.next = _menhir_stack;
37186 };
37187 };
37188 } = _menhir_stack in
37189 let rp : (
37190 # 80 "parser_cocci_menhir.mly"
37191 (Data.clt)
37192 # 37193 "parser_cocci_menhir.ml"
37193 ) = Obj.magic rp in
37194 let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
37195 let lp : (
37196 # 79 "parser_cocci_menhir.mly"
37197 (Data.clt)
37198 # 37199 "parser_cocci_menhir.ml"
37199 ) = Obj.magic lp in
37200 let _startpos = _startpos_lp_ in
37201 let _endpos = _endpos_rp_ in
37202 let _v : 'tv_typedef_ctype =
37203 # 584 "parser_cocci_menhir.mly"
37204 ( let (mids,code) = t in
37205 Ast0.wrap
37206 (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
37207 # 37208 "parser_cocci_menhir.ml"
37208 in
37209 _menhir_env.MenhirLib.EngineTypes.stack <- {
37210 MenhirLib.EngineTypes.state = _menhir_s;
37211 MenhirLib.EngineTypes.semv = Obj.repr _v;
37212 MenhirLib.EngineTypes.startp = _startpos;
37213 MenhirLib.EngineTypes.endp = _endpos;
37214 MenhirLib.EngineTypes.next = _menhir_stack;
37215 });
37216 (fun _menhir_env ->
37217 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37218 let {
37219 MenhirLib.EngineTypes.state = _menhir_s;
37220 MenhirLib.EngineTypes.semv = _1;
37221 MenhirLib.EngineTypes.startp = _startpos__1_;
37222 MenhirLib.EngineTypes.endp = _endpos__1_;
37223 MenhirLib.EngineTypes.next = _menhir_stack;
37224 } = _menhir_stack in
37225 let _1 : 'tv_pure_ident = Obj.magic _1 in
37226 let _startpos = _startpos__1_ in
37227 let _endpos = _endpos__1_ in
37228 let _v : 'tv_typedef_ident =
37229 # 1694 "parser_cocci_menhir.mly"
37230 ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) )
37231 # 37232 "parser_cocci_menhir.ml"
37232 in
37233 _menhir_env.MenhirLib.EngineTypes.stack <- {
37234 MenhirLib.EngineTypes.state = _menhir_s;
37235 MenhirLib.EngineTypes.semv = Obj.repr _v;
37236 MenhirLib.EngineTypes.startp = _startpos;
37237 MenhirLib.EngineTypes.endp = _endpos;
37238 MenhirLib.EngineTypes.next = _menhir_stack;
37239 });
37240 (fun _menhir_env ->
37241 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37242 let {
37243 MenhirLib.EngineTypes.state = _menhir_s;
37244 MenhirLib.EngineTypes.semv = _1;
37245 MenhirLib.EngineTypes.startp = _startpos__1_;
37246 MenhirLib.EngineTypes.endp = _endpos__1_;
37247 MenhirLib.EngineTypes.next = _menhir_stack;
37248 } = _menhir_stack in
37249 let _1 : (
37250 # 67 "parser_cocci_menhir.mly"
37251 (Parse_aux.info)
37252 # 37253 "parser_cocci_menhir.ml"
37253 ) = Obj.magic _1 in
37254 let _startpos = _startpos__1_ in
37255 let _endpos = _endpos__1_ in
37256 let _v : 'tv_typedef_ident =
37257 # 1696 "parser_cocci_menhir.mly"
37258 ( let (nm,pure,clt) = _1 in
37259 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
37260 # 37261 "parser_cocci_menhir.ml"
37261 in
37262 _menhir_env.MenhirLib.EngineTypes.stack <- {
37263 MenhirLib.EngineTypes.state = _menhir_s;
37264 MenhirLib.EngineTypes.semv = Obj.repr _v;
37265 MenhirLib.EngineTypes.startp = _startpos;
37266 MenhirLib.EngineTypes.endp = _endpos;
37267 MenhirLib.EngineTypes.next = _menhir_stack;
37268 });
37269 (fun _menhir_env ->
37270 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37271 let {
37272 MenhirLib.EngineTypes.state = _menhir_s;
37273 MenhirLib.EngineTypes.semv = _1;
37274 MenhirLib.EngineTypes.startp = _startpos__1_;
37275 MenhirLib.EngineTypes.endp = _endpos__1_;
37276 MenhirLib.EngineTypes.next = _menhir_stack;
37277 } = _menhir_stack in
37278 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
37279 let _startpos = _startpos__1_ in
37280 let _endpos = _endpos__1_ in
37281 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
37282 # 1332 "parser_cocci_menhir.mly"
37283 ( _1 )
37284 # 37285 "parser_cocci_menhir.ml"
37285 in
37286 _menhir_env.MenhirLib.EngineTypes.stack <- {
37287 MenhirLib.EngineTypes.state = _menhir_s;
37288 MenhirLib.EngineTypes.semv = Obj.repr _v;
37289 MenhirLib.EngineTypes.startp = _startpos;
37290 MenhirLib.EngineTypes.endp = _endpos;
37291 MenhirLib.EngineTypes.next = _menhir_stack;
37292 });
37293 (fun _menhir_env ->
37294 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37295 let {
37296 MenhirLib.EngineTypes.semv = _2;
37297 MenhirLib.EngineTypes.startp = _startpos__2_;
37298 MenhirLib.EngineTypes.endp = _endpos__2_;
37299 MenhirLib.EngineTypes.next = {
37300 MenhirLib.EngineTypes.state = _menhir_s;
37301 MenhirLib.EngineTypes.semv = _1;
37302 MenhirLib.EngineTypes.startp = _startpos__1_;
37303 MenhirLib.EngineTypes.endp = _endpos__1_;
37304 MenhirLib.EngineTypes.next = _menhir_stack;
37305 };
37306 } = _menhir_stack in
37307 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
37308 let _1 : (
37309 # 88 "parser_cocci_menhir.mly"
37310 (Data.clt)
37311 # 37312 "parser_cocci_menhir.ml"
37312 ) = Obj.magic _1 in
37313 let _startpos = _startpos__1_ in
37314 let _endpos = _endpos__2_ in
37315 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
37316 # 1334 "parser_cocci_menhir.mly"
37317 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
37318 # 37319 "parser_cocci_menhir.ml"
37319 in
37320 _menhir_env.MenhirLib.EngineTypes.stack <- {
37321 MenhirLib.EngineTypes.state = _menhir_s;
37322 MenhirLib.EngineTypes.semv = Obj.repr _v;
37323 MenhirLib.EngineTypes.startp = _startpos;
37324 MenhirLib.EngineTypes.endp = _endpos;
37325 MenhirLib.EngineTypes.next = _menhir_stack;
37326 });
37327 (fun _menhir_env ->
37328 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37329 let {
37330 MenhirLib.EngineTypes.semv = _2;
37331 MenhirLib.EngineTypes.startp = _startpos__2_;
37332 MenhirLib.EngineTypes.endp = _endpos__2_;
37333 MenhirLib.EngineTypes.next = {
37334 MenhirLib.EngineTypes.state = _menhir_s;
37335 MenhirLib.EngineTypes.semv = _1;
37336 MenhirLib.EngineTypes.startp = _startpos__1_;
37337 MenhirLib.EngineTypes.endp = _endpos__1_;
37338 MenhirLib.EngineTypes.next = _menhir_stack;
37339 };
37340 } = _menhir_stack in
37341 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
37342 let _1 : (
37343 # 88 "parser_cocci_menhir.mly"
37344 (Data.clt)
37345 # 37346 "parser_cocci_menhir.ml"
37346 ) = Obj.magic _1 in
37347 let _startpos = _startpos__1_ in
37348 let _endpos = _endpos__2_ in
37349 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
37350 # 1336 "parser_cocci_menhir.mly"
37351 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
37352 # 37353 "parser_cocci_menhir.ml"
37353 in
37354 _menhir_env.MenhirLib.EngineTypes.stack <- {
37355 MenhirLib.EngineTypes.state = _menhir_s;
37356 MenhirLib.EngineTypes.semv = Obj.repr _v;
37357 MenhirLib.EngineTypes.startp = _startpos;
37358 MenhirLib.EngineTypes.endp = _endpos;
37359 MenhirLib.EngineTypes.next = _menhir_stack;
37360 });
37361 (fun _menhir_env ->
37362 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37363 let {
37364 MenhirLib.EngineTypes.semv = _2;
37365 MenhirLib.EngineTypes.startp = _startpos__2_;
37366 MenhirLib.EngineTypes.endp = _endpos__2_;
37367 MenhirLib.EngineTypes.next = {
37368 MenhirLib.EngineTypes.state = _menhir_s;
37369 MenhirLib.EngineTypes.semv = _1;
37370 MenhirLib.EngineTypes.startp = _startpos__1_;
37371 MenhirLib.EngineTypes.endp = _endpos__1_;
37372 MenhirLib.EngineTypes.next = _menhir_stack;
37373 };
37374 } = _menhir_stack in
37375 let _2 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _2 in
37376 let _1 : 'tv_unary_op = Obj.magic _1 in
37377 let _startpos = _startpos__1_ in
37378 let _endpos = _endpos__2_ in
37379 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
37380 # 1338 "parser_cocci_menhir.mly"
37381 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
37382 # 37383 "parser_cocci_menhir.ml"
37383 in
37384 _menhir_env.MenhirLib.EngineTypes.stack <- {
37385 MenhirLib.EngineTypes.state = _menhir_s;
37386 MenhirLib.EngineTypes.semv = Obj.repr _v;
37387 MenhirLib.EngineTypes.startp = _startpos;
37388 MenhirLib.EngineTypes.endp = _endpos;
37389 MenhirLib.EngineTypes.next = _menhir_stack;
37390 });
37391 (fun _menhir_env ->
37392 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37393 let {
37394 MenhirLib.EngineTypes.semv = _2;
37395 MenhirLib.EngineTypes.startp = _startpos__2_;
37396 MenhirLib.EngineTypes.endp = _endpos__2_;
37397 MenhirLib.EngineTypes.next = {
37398 MenhirLib.EngineTypes.state = _menhir_s;
37399 MenhirLib.EngineTypes.semv = _1;
37400 MenhirLib.EngineTypes.startp = _startpos__1_;
37401 MenhirLib.EngineTypes.endp = _endpos__1_;
37402 MenhirLib.EngineTypes.next = _menhir_stack;
37403 };
37404 } = _menhir_stack in
37405 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
37406 let _1 : (
37407 # 79 "parser_cocci_menhir.mly"
37408 (Data.clt)
37409 # 37410 "parser_cocci_menhir.ml"
37410 ) = Obj.magic _1 in
37411 let _startpos = _startpos__1_ in
37412 let _endpos = _endpos__2_ in
37413 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
37414 # 1340 "parser_cocci_menhir.mly"
37415 ( let mcode = P.clt2mcode Ast.Not _1 in
37416 Ast0.wrap(Ast0.Unary(_2, mcode)) )
37417 # 37418 "parser_cocci_menhir.ml"
37418 in
37419 _menhir_env.MenhirLib.EngineTypes.stack <- {
37420 MenhirLib.EngineTypes.state = _menhir_s;
37421 MenhirLib.EngineTypes.semv = Obj.repr _v;
37422 MenhirLib.EngineTypes.startp = _startpos;
37423 MenhirLib.EngineTypes.endp = _endpos;
37424 MenhirLib.EngineTypes.next = _menhir_stack;
37425 });
37426 (fun _menhir_env ->
37427 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37428 let {
37429 MenhirLib.EngineTypes.semv = _2;
37430 MenhirLib.EngineTypes.startp = _startpos__2_;
37431 MenhirLib.EngineTypes.endp = _endpos__2_;
37432 MenhirLib.EngineTypes.next = {
37433 MenhirLib.EngineTypes.state = _menhir_s;
37434 MenhirLib.EngineTypes.semv = _1;
37435 MenhirLib.EngineTypes.startp = _startpos__1_;
37436 MenhirLib.EngineTypes.endp = _endpos__1_;
37437 MenhirLib.EngineTypes.next = _menhir_stack;
37438 };
37439 } = _menhir_stack in
37440 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
37441 let _1 : (
37442 # 60 "parser_cocci_menhir.mly"
37443 (Data.clt)
37444 # 37445 "parser_cocci_menhir.ml"
37445 ) = Obj.magic _1 in
37446 let _startpos = _startpos__1_ in
37447 let _endpos = _endpos__2_ in
37448 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
37449 # 1343 "parser_cocci_menhir.mly"
37450 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
37451 # 37452 "parser_cocci_menhir.ml"
37452 in
37453 _menhir_env.MenhirLib.EngineTypes.stack <- {
37454 MenhirLib.EngineTypes.state = _menhir_s;
37455 MenhirLib.EngineTypes.semv = Obj.repr _v;
37456 MenhirLib.EngineTypes.startp = _startpos;
37457 MenhirLib.EngineTypes.endp = _endpos;
37458 MenhirLib.EngineTypes.next = _menhir_stack;
37459 });
37460 (fun _menhir_env ->
37461 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37462 let {
37463 MenhirLib.EngineTypes.semv = rp;
37464 MenhirLib.EngineTypes.startp = _startpos_rp_;
37465 MenhirLib.EngineTypes.endp = _endpos_rp_;
37466 MenhirLib.EngineTypes.next = {
37467 MenhirLib.EngineTypes.semv = t;
37468 MenhirLib.EngineTypes.startp = _startpos_t_;
37469 MenhirLib.EngineTypes.endp = _endpos_t_;
37470 MenhirLib.EngineTypes.next = {
37471 MenhirLib.EngineTypes.semv = lp;
37472 MenhirLib.EngineTypes.startp = _startpos_lp_;
37473 MenhirLib.EngineTypes.endp = _endpos_lp_;
37474 MenhirLib.EngineTypes.next = {
37475 MenhirLib.EngineTypes.state = _menhir_s;
37476 MenhirLib.EngineTypes.semv = s;
37477 MenhirLib.EngineTypes.startp = _startpos_s_;
37478 MenhirLib.EngineTypes.endp = _endpos_s_;
37479 MenhirLib.EngineTypes.next = _menhir_stack;
37480 };
37481 };
37482 };
37483 } = _menhir_stack in
37484 let rp : (
37485 # 80 "parser_cocci_menhir.mly"
37486 (Data.clt)
37487 # 37488 "parser_cocci_menhir.ml"
37488 ) = Obj.magic rp in
37489 let t : 'tv_ctype = Obj.magic t in
37490 let lp : (
37491 # 79 "parser_cocci_menhir.mly"
37492 (Data.clt)
37493 # 37494 "parser_cocci_menhir.ml"
37494 ) = Obj.magic lp in
37495 let s : (
37496 # 60 "parser_cocci_menhir.mly"
37497 (Data.clt)
37498 # 37499 "parser_cocci_menhir.ml"
37499 ) = Obj.magic s in
37500 let _startpos = _startpos_s_ in
37501 let _endpos = _endpos_rp_ in
37502 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
37503 # 1345 "parser_cocci_menhir.mly"
37504 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
37505 P.clt2mcode "(" lp,t,
37506 P.clt2mcode ")" rp)) )
37507 # 37508 "parser_cocci_menhir.ml"
37508 in
37509 _menhir_env.MenhirLib.EngineTypes.stack <- {
37510 MenhirLib.EngineTypes.state = _menhir_s;
37511 MenhirLib.EngineTypes.semv = Obj.repr _v;
37512 MenhirLib.EngineTypes.startp = _startpos;
37513 MenhirLib.EngineTypes.endp = _endpos;
37514 MenhirLib.EngineTypes.next = _menhir_stack;
37515 });
37516 (fun _menhir_env ->
37517 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37518 let {
37519 MenhirLib.EngineTypes.state = _menhir_s;
37520 MenhirLib.EngineTypes.semv = _1;
37521 MenhirLib.EngineTypes.startp = _startpos__1_;
37522 MenhirLib.EngineTypes.endp = _endpos__1_;
37523 MenhirLib.EngineTypes.next = _menhir_stack;
37524 } = _menhir_stack in
37525 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
37526 let _startpos = _startpos__1_ in
37527 let _endpos = _endpos__1_ in
37528 let _v : 'tv_unary_expr_eexpr_invalid_ =
37529 # 1332 "parser_cocci_menhir.mly"
37530 ( _1 )
37531 # 37532 "parser_cocci_menhir.ml"
37532 in
37533 _menhir_env.MenhirLib.EngineTypes.stack <- {
37534 MenhirLib.EngineTypes.state = _menhir_s;
37535 MenhirLib.EngineTypes.semv = Obj.repr _v;
37536 MenhirLib.EngineTypes.startp = _startpos;
37537 MenhirLib.EngineTypes.endp = _endpos;
37538 MenhirLib.EngineTypes.next = _menhir_stack;
37539 });
37540 (fun _menhir_env ->
37541 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37542 let {
37543 MenhirLib.EngineTypes.semv = _2;
37544 MenhirLib.EngineTypes.startp = _startpos__2_;
37545 MenhirLib.EngineTypes.endp = _endpos__2_;
37546 MenhirLib.EngineTypes.next = {
37547 MenhirLib.EngineTypes.state = _menhir_s;
37548 MenhirLib.EngineTypes.semv = _1;
37549 MenhirLib.EngineTypes.startp = _startpos__1_;
37550 MenhirLib.EngineTypes.endp = _endpos__1_;
37551 MenhirLib.EngineTypes.next = _menhir_stack;
37552 };
37553 } = _menhir_stack in
37554 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
37555 let _1 : (
37556 # 88 "parser_cocci_menhir.mly"
37557 (Data.clt)
37558 # 37559 "parser_cocci_menhir.ml"
37559 ) = Obj.magic _1 in
37560 let _startpos = _startpos__1_ in
37561 let _endpos = _endpos__2_ in
37562 let _v : 'tv_unary_expr_eexpr_invalid_ =
37563 # 1334 "parser_cocci_menhir.mly"
37564 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
37565 # 37566 "parser_cocci_menhir.ml"
37566 in
37567 _menhir_env.MenhirLib.EngineTypes.stack <- {
37568 MenhirLib.EngineTypes.state = _menhir_s;
37569 MenhirLib.EngineTypes.semv = Obj.repr _v;
37570 MenhirLib.EngineTypes.startp = _startpos;
37571 MenhirLib.EngineTypes.endp = _endpos;
37572 MenhirLib.EngineTypes.next = _menhir_stack;
37573 });
37574 (fun _menhir_env ->
37575 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37576 let {
37577 MenhirLib.EngineTypes.semv = _2;
37578 MenhirLib.EngineTypes.startp = _startpos__2_;
37579 MenhirLib.EngineTypes.endp = _endpos__2_;
37580 MenhirLib.EngineTypes.next = {
37581 MenhirLib.EngineTypes.state = _menhir_s;
37582 MenhirLib.EngineTypes.semv = _1;
37583 MenhirLib.EngineTypes.startp = _startpos__1_;
37584 MenhirLib.EngineTypes.endp = _endpos__1_;
37585 MenhirLib.EngineTypes.next = _menhir_stack;
37586 };
37587 } = _menhir_stack in
37588 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
37589 let _1 : (
37590 # 88 "parser_cocci_menhir.mly"
37591 (Data.clt)
37592 # 37593 "parser_cocci_menhir.ml"
37593 ) = Obj.magic _1 in
37594 let _startpos = _startpos__1_ in
37595 let _endpos = _endpos__2_ in
37596 let _v : 'tv_unary_expr_eexpr_invalid_ =
37597 # 1336 "parser_cocci_menhir.mly"
37598 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
37599 # 37600 "parser_cocci_menhir.ml"
37600 in
37601 _menhir_env.MenhirLib.EngineTypes.stack <- {
37602 MenhirLib.EngineTypes.state = _menhir_s;
37603 MenhirLib.EngineTypes.semv = Obj.repr _v;
37604 MenhirLib.EngineTypes.startp = _startpos;
37605 MenhirLib.EngineTypes.endp = _endpos;
37606 MenhirLib.EngineTypes.next = _menhir_stack;
37607 });
37608 (fun _menhir_env ->
37609 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37610 let {
37611 MenhirLib.EngineTypes.semv = _2;
37612 MenhirLib.EngineTypes.startp = _startpos__2_;
37613 MenhirLib.EngineTypes.endp = _endpos__2_;
37614 MenhirLib.EngineTypes.next = {
37615 MenhirLib.EngineTypes.state = _menhir_s;
37616 MenhirLib.EngineTypes.semv = _1;
37617 MenhirLib.EngineTypes.startp = _startpos__1_;
37618 MenhirLib.EngineTypes.endp = _endpos__1_;
37619 MenhirLib.EngineTypes.next = _menhir_stack;
37620 };
37621 } = _menhir_stack in
37622 let _2 : 'tv_cast_expr_eexpr_invalid_ = Obj.magic _2 in
37623 let _1 : 'tv_unary_op = Obj.magic _1 in
37624 let _startpos = _startpos__1_ in
37625 let _endpos = _endpos__2_ in
37626 let _v : 'tv_unary_expr_eexpr_invalid_ =
37627 # 1338 "parser_cocci_menhir.mly"
37628 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
37629 # 37630 "parser_cocci_menhir.ml"
37630 in
37631 _menhir_env.MenhirLib.EngineTypes.stack <- {
37632 MenhirLib.EngineTypes.state = _menhir_s;
37633 MenhirLib.EngineTypes.semv = Obj.repr _v;
37634 MenhirLib.EngineTypes.startp = _startpos;
37635 MenhirLib.EngineTypes.endp = _endpos;
37636 MenhirLib.EngineTypes.next = _menhir_stack;
37637 });
37638 (fun _menhir_env ->
37639 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37640 let {
37641 MenhirLib.EngineTypes.semv = _2;
37642 MenhirLib.EngineTypes.startp = _startpos__2_;
37643 MenhirLib.EngineTypes.endp = _endpos__2_;
37644 MenhirLib.EngineTypes.next = {
37645 MenhirLib.EngineTypes.state = _menhir_s;
37646 MenhirLib.EngineTypes.semv = _1;
37647 MenhirLib.EngineTypes.startp = _startpos__1_;
37648 MenhirLib.EngineTypes.endp = _endpos__1_;
37649 MenhirLib.EngineTypes.next = _menhir_stack;
37650 };
37651 } = _menhir_stack in
37652 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
37653 let _1 : (
37654 # 79 "parser_cocci_menhir.mly"
37655 (Data.clt)
37656 # 37657 "parser_cocci_menhir.ml"
37657 ) = Obj.magic _1 in
37658 let _startpos = _startpos__1_ in
37659 let _endpos = _endpos__2_ in
37660 let _v : 'tv_unary_expr_eexpr_invalid_ =
37661 # 1340 "parser_cocci_menhir.mly"
37662 ( let mcode = P.clt2mcode Ast.Not _1 in
37663 Ast0.wrap(Ast0.Unary(_2, mcode)) )
37664 # 37665 "parser_cocci_menhir.ml"
37665 in
37666 _menhir_env.MenhirLib.EngineTypes.stack <- {
37667 MenhirLib.EngineTypes.state = _menhir_s;
37668 MenhirLib.EngineTypes.semv = Obj.repr _v;
37669 MenhirLib.EngineTypes.startp = _startpos;
37670 MenhirLib.EngineTypes.endp = _endpos;
37671 MenhirLib.EngineTypes.next = _menhir_stack;
37672 });
37673 (fun _menhir_env ->
37674 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37675 let {
37676 MenhirLib.EngineTypes.semv = _2;
37677 MenhirLib.EngineTypes.startp = _startpos__2_;
37678 MenhirLib.EngineTypes.endp = _endpos__2_;
37679 MenhirLib.EngineTypes.next = {
37680 MenhirLib.EngineTypes.state = _menhir_s;
37681 MenhirLib.EngineTypes.semv = _1;
37682 MenhirLib.EngineTypes.startp = _startpos__1_;
37683 MenhirLib.EngineTypes.endp = _endpos__1_;
37684 MenhirLib.EngineTypes.next = _menhir_stack;
37685 };
37686 } = _menhir_stack in
37687 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
37688 let _1 : (
37689 # 60 "parser_cocci_menhir.mly"
37690 (Data.clt)
37691 # 37692 "parser_cocci_menhir.ml"
37692 ) = Obj.magic _1 in
37693 let _startpos = _startpos__1_ in
37694 let _endpos = _endpos__2_ in
37695 let _v : 'tv_unary_expr_eexpr_invalid_ =
37696 # 1343 "parser_cocci_menhir.mly"
37697 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
37698 # 37699 "parser_cocci_menhir.ml"
37699 in
37700 _menhir_env.MenhirLib.EngineTypes.stack <- {
37701 MenhirLib.EngineTypes.state = _menhir_s;
37702 MenhirLib.EngineTypes.semv = Obj.repr _v;
37703 MenhirLib.EngineTypes.startp = _startpos;
37704 MenhirLib.EngineTypes.endp = _endpos;
37705 MenhirLib.EngineTypes.next = _menhir_stack;
37706 });
37707 (fun _menhir_env ->
37708 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37709 let {
37710 MenhirLib.EngineTypes.semv = rp;
37711 MenhirLib.EngineTypes.startp = _startpos_rp_;
37712 MenhirLib.EngineTypes.endp = _endpos_rp_;
37713 MenhirLib.EngineTypes.next = {
37714 MenhirLib.EngineTypes.semv = t;
37715 MenhirLib.EngineTypes.startp = _startpos_t_;
37716 MenhirLib.EngineTypes.endp = _endpos_t_;
37717 MenhirLib.EngineTypes.next = {
37718 MenhirLib.EngineTypes.semv = lp;
37719 MenhirLib.EngineTypes.startp = _startpos_lp_;
37720 MenhirLib.EngineTypes.endp = _endpos_lp_;
37721 MenhirLib.EngineTypes.next = {
37722 MenhirLib.EngineTypes.state = _menhir_s;
37723 MenhirLib.EngineTypes.semv = s;
37724 MenhirLib.EngineTypes.startp = _startpos_s_;
37725 MenhirLib.EngineTypes.endp = _endpos_s_;
37726 MenhirLib.EngineTypes.next = _menhir_stack;
37727 };
37728 };
37729 };
37730 } = _menhir_stack in
37731 let rp : (
37732 # 80 "parser_cocci_menhir.mly"
37733 (Data.clt)
37734 # 37735 "parser_cocci_menhir.ml"
37735 ) = Obj.magic rp in
37736 let t : 'tv_ctype = Obj.magic t in
37737 let lp : (
37738 # 79 "parser_cocci_menhir.mly"
37739 (Data.clt)
37740 # 37741 "parser_cocci_menhir.ml"
37741 ) = Obj.magic lp in
37742 let s : (
37743 # 60 "parser_cocci_menhir.mly"
37744 (Data.clt)
37745 # 37746 "parser_cocci_menhir.ml"
37746 ) = Obj.magic s in
37747 let _startpos = _startpos_s_ in
37748 let _endpos = _endpos_rp_ in
37749 let _v : 'tv_unary_expr_eexpr_invalid_ =
37750 # 1345 "parser_cocci_menhir.mly"
37751 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
37752 P.clt2mcode "(" lp,t,
37753 P.clt2mcode ")" rp)) )
37754 # 37755 "parser_cocci_menhir.ml"
37755 in
37756 _menhir_env.MenhirLib.EngineTypes.stack <- {
37757 MenhirLib.EngineTypes.state = _menhir_s;
37758 MenhirLib.EngineTypes.semv = Obj.repr _v;
37759 MenhirLib.EngineTypes.startp = _startpos;
37760 MenhirLib.EngineTypes.endp = _endpos;
37761 MenhirLib.EngineTypes.next = _menhir_stack;
37762 });
37763 (fun _menhir_env ->
37764 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37765 let {
37766 MenhirLib.EngineTypes.state = _menhir_s;
37767 MenhirLib.EngineTypes.semv = _1;
37768 MenhirLib.EngineTypes.startp = _startpos__1_;
37769 MenhirLib.EngineTypes.endp = _endpos__1_;
37770 MenhirLib.EngineTypes.next = _menhir_stack;
37771 } = _menhir_stack in
37772 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
37773 let _startpos = _startpos__1_ in
37774 let _endpos = _endpos__1_ in
37775 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37776 # 1332 "parser_cocci_menhir.mly"
37777 ( _1 )
37778 # 37779 "parser_cocci_menhir.ml"
37779 in
37780 _menhir_env.MenhirLib.EngineTypes.stack <- {
37781 MenhirLib.EngineTypes.state = _menhir_s;
37782 MenhirLib.EngineTypes.semv = Obj.repr _v;
37783 MenhirLib.EngineTypes.startp = _startpos;
37784 MenhirLib.EngineTypes.endp = _endpos;
37785 MenhirLib.EngineTypes.next = _menhir_stack;
37786 });
37787 (fun _menhir_env ->
37788 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37789 let {
37790 MenhirLib.EngineTypes.semv = _2;
37791 MenhirLib.EngineTypes.startp = _startpos__2_;
37792 MenhirLib.EngineTypes.endp = _endpos__2_;
37793 MenhirLib.EngineTypes.next = {
37794 MenhirLib.EngineTypes.state = _menhir_s;
37795 MenhirLib.EngineTypes.semv = _1;
37796 MenhirLib.EngineTypes.startp = _startpos__1_;
37797 MenhirLib.EngineTypes.endp = _endpos__1_;
37798 MenhirLib.EngineTypes.next = _menhir_stack;
37799 };
37800 } = _menhir_stack in
37801 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37802 let _1 : (
37803 # 88 "parser_cocci_menhir.mly"
37804 (Data.clt)
37805 # 37806 "parser_cocci_menhir.ml"
37806 ) = Obj.magic _1 in
37807 let _startpos = _startpos__1_ in
37808 let _endpos = _endpos__2_ in
37809 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37810 # 1334 "parser_cocci_menhir.mly"
37811 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
37812 # 37813 "parser_cocci_menhir.ml"
37813 in
37814 _menhir_env.MenhirLib.EngineTypes.stack <- {
37815 MenhirLib.EngineTypes.state = _menhir_s;
37816 MenhirLib.EngineTypes.semv = Obj.repr _v;
37817 MenhirLib.EngineTypes.startp = _startpos;
37818 MenhirLib.EngineTypes.endp = _endpos;
37819 MenhirLib.EngineTypes.next = _menhir_stack;
37820 });
37821 (fun _menhir_env ->
37822 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37823 let {
37824 MenhirLib.EngineTypes.semv = _2;
37825 MenhirLib.EngineTypes.startp = _startpos__2_;
37826 MenhirLib.EngineTypes.endp = _endpos__2_;
37827 MenhirLib.EngineTypes.next = {
37828 MenhirLib.EngineTypes.state = _menhir_s;
37829 MenhirLib.EngineTypes.semv = _1;
37830 MenhirLib.EngineTypes.startp = _startpos__1_;
37831 MenhirLib.EngineTypes.endp = _endpos__1_;
37832 MenhirLib.EngineTypes.next = _menhir_stack;
37833 };
37834 } = _menhir_stack in
37835 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37836 let _1 : (
37837 # 88 "parser_cocci_menhir.mly"
37838 (Data.clt)
37839 # 37840 "parser_cocci_menhir.ml"
37840 ) = Obj.magic _1 in
37841 let _startpos = _startpos__1_ in
37842 let _endpos = _endpos__2_ in
37843 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37844 # 1336 "parser_cocci_menhir.mly"
37845 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
37846 # 37847 "parser_cocci_menhir.ml"
37847 in
37848 _menhir_env.MenhirLib.EngineTypes.stack <- {
37849 MenhirLib.EngineTypes.state = _menhir_s;
37850 MenhirLib.EngineTypes.semv = Obj.repr _v;
37851 MenhirLib.EngineTypes.startp = _startpos;
37852 MenhirLib.EngineTypes.endp = _endpos;
37853 MenhirLib.EngineTypes.next = _menhir_stack;
37854 });
37855 (fun _menhir_env ->
37856 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37857 let {
37858 MenhirLib.EngineTypes.semv = _2;
37859 MenhirLib.EngineTypes.startp = _startpos__2_;
37860 MenhirLib.EngineTypes.endp = _endpos__2_;
37861 MenhirLib.EngineTypes.next = {
37862 MenhirLib.EngineTypes.state = _menhir_s;
37863 MenhirLib.EngineTypes.semv = _1;
37864 MenhirLib.EngineTypes.startp = _startpos__1_;
37865 MenhirLib.EngineTypes.endp = _endpos__1_;
37866 MenhirLib.EngineTypes.next = _menhir_stack;
37867 };
37868 } = _menhir_stack in
37869 let _2 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37870 let _1 : 'tv_unary_op = Obj.magic _1 in
37871 let _startpos = _startpos__1_ in
37872 let _endpos = _endpos__2_ in
37873 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37874 # 1338 "parser_cocci_menhir.mly"
37875 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
37876 # 37877 "parser_cocci_menhir.ml"
37877 in
37878 _menhir_env.MenhirLib.EngineTypes.stack <- {
37879 MenhirLib.EngineTypes.state = _menhir_s;
37880 MenhirLib.EngineTypes.semv = Obj.repr _v;
37881 MenhirLib.EngineTypes.startp = _startpos;
37882 MenhirLib.EngineTypes.endp = _endpos;
37883 MenhirLib.EngineTypes.next = _menhir_stack;
37884 });
37885 (fun _menhir_env ->
37886 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37887 let {
37888 MenhirLib.EngineTypes.semv = _2;
37889 MenhirLib.EngineTypes.startp = _startpos__2_;
37890 MenhirLib.EngineTypes.endp = _endpos__2_;
37891 MenhirLib.EngineTypes.next = {
37892 MenhirLib.EngineTypes.state = _menhir_s;
37893 MenhirLib.EngineTypes.semv = _1;
37894 MenhirLib.EngineTypes.startp = _startpos__1_;
37895 MenhirLib.EngineTypes.endp = _endpos__1_;
37896 MenhirLib.EngineTypes.next = _menhir_stack;
37897 };
37898 } = _menhir_stack in
37899 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37900 let _1 : (
37901 # 79 "parser_cocci_menhir.mly"
37902 (Data.clt)
37903 # 37904 "parser_cocci_menhir.ml"
37904 ) = Obj.magic _1 in
37905 let _startpos = _startpos__1_ in
37906 let _endpos = _endpos__2_ in
37907 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37908 # 1340 "parser_cocci_menhir.mly"
37909 ( let mcode = P.clt2mcode Ast.Not _1 in
37910 Ast0.wrap(Ast0.Unary(_2, mcode)) )
37911 # 37912 "parser_cocci_menhir.ml"
37912 in
37913 _menhir_env.MenhirLib.EngineTypes.stack <- {
37914 MenhirLib.EngineTypes.state = _menhir_s;
37915 MenhirLib.EngineTypes.semv = Obj.repr _v;
37916 MenhirLib.EngineTypes.startp = _startpos;
37917 MenhirLib.EngineTypes.endp = _endpos;
37918 MenhirLib.EngineTypes.next = _menhir_stack;
37919 });
37920 (fun _menhir_env ->
37921 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37922 let {
37923 MenhirLib.EngineTypes.semv = _2;
37924 MenhirLib.EngineTypes.startp = _startpos__2_;
37925 MenhirLib.EngineTypes.endp = _endpos__2_;
37926 MenhirLib.EngineTypes.next = {
37927 MenhirLib.EngineTypes.state = _menhir_s;
37928 MenhirLib.EngineTypes.semv = _1;
37929 MenhirLib.EngineTypes.startp = _startpos__1_;
37930 MenhirLib.EngineTypes.endp = _endpos__1_;
37931 MenhirLib.EngineTypes.next = _menhir_stack;
37932 };
37933 } = _menhir_stack in
37934 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
37935 let _1 : (
37936 # 60 "parser_cocci_menhir.mly"
37937 (Data.clt)
37938 # 37939 "parser_cocci_menhir.ml"
37939 ) = Obj.magic _1 in
37940 let _startpos = _startpos__1_ in
37941 let _endpos = _endpos__2_ in
37942 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37943 # 1343 "parser_cocci_menhir.mly"
37944 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
37945 # 37946 "parser_cocci_menhir.ml"
37946 in
37947 _menhir_env.MenhirLib.EngineTypes.stack <- {
37948 MenhirLib.EngineTypes.state = _menhir_s;
37949 MenhirLib.EngineTypes.semv = Obj.repr _v;
37950 MenhirLib.EngineTypes.startp = _startpos;
37951 MenhirLib.EngineTypes.endp = _endpos;
37952 MenhirLib.EngineTypes.next = _menhir_stack;
37953 });
37954 (fun _menhir_env ->
37955 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37956 let {
37957 MenhirLib.EngineTypes.semv = rp;
37958 MenhirLib.EngineTypes.startp = _startpos_rp_;
37959 MenhirLib.EngineTypes.endp = _endpos_rp_;
37960 MenhirLib.EngineTypes.next = {
37961 MenhirLib.EngineTypes.semv = t;
37962 MenhirLib.EngineTypes.startp = _startpos_t_;
37963 MenhirLib.EngineTypes.endp = _endpos_t_;
37964 MenhirLib.EngineTypes.next = {
37965 MenhirLib.EngineTypes.semv = lp;
37966 MenhirLib.EngineTypes.startp = _startpos_lp_;
37967 MenhirLib.EngineTypes.endp = _endpos_lp_;
37968 MenhirLib.EngineTypes.next = {
37969 MenhirLib.EngineTypes.state = _menhir_s;
37970 MenhirLib.EngineTypes.semv = s;
37971 MenhirLib.EngineTypes.startp = _startpos_s_;
37972 MenhirLib.EngineTypes.endp = _endpos_s_;
37973 MenhirLib.EngineTypes.next = _menhir_stack;
37974 };
37975 };
37976 };
37977 } = _menhir_stack in
37978 let rp : (
37979 # 80 "parser_cocci_menhir.mly"
37980 (Data.clt)
37981 # 37982 "parser_cocci_menhir.ml"
37982 ) = Obj.magic rp in
37983 let t : 'tv_ctype = Obj.magic t in
37984 let lp : (
37985 # 79 "parser_cocci_menhir.mly"
37986 (Data.clt)
37987 # 37988 "parser_cocci_menhir.ml"
37988 ) = Obj.magic lp in
37989 let s : (
37990 # 60 "parser_cocci_menhir.mly"
37991 (Data.clt)
37992 # 37993 "parser_cocci_menhir.ml"
37993 ) = Obj.magic s in
37994 let _startpos = _startpos_s_ in
37995 let _endpos = _endpos_rp_ in
37996 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
37997 # 1345 "parser_cocci_menhir.mly"
37998 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
37999 P.clt2mcode "(" lp,t,
38000 P.clt2mcode ")" rp)) )
38001 # 38002 "parser_cocci_menhir.ml"
38002 in
38003 _menhir_env.MenhirLib.EngineTypes.stack <- {
38004 MenhirLib.EngineTypes.state = _menhir_s;
38005 MenhirLib.EngineTypes.semv = Obj.repr _v;
38006 MenhirLib.EngineTypes.startp = _startpos;
38007 MenhirLib.EngineTypes.endp = _endpos;
38008 MenhirLib.EngineTypes.next = _menhir_stack;
38009 });
38010 (fun _menhir_env ->
38011 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38012 let {
38013 MenhirLib.EngineTypes.state = _menhir_s;
38014 MenhirLib.EngineTypes.semv = _1;
38015 MenhirLib.EngineTypes.startp = _startpos__1_;
38016 MenhirLib.EngineTypes.endp = _endpos__1_;
38017 MenhirLib.EngineTypes.next = _menhir_stack;
38018 } = _menhir_stack in
38019 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
38020 let _startpos = _startpos__1_ in
38021 let _endpos = _endpos__1_ in
38022 let _v : 'tv_unary_expr_expr_invalid_ =
38023 # 1332 "parser_cocci_menhir.mly"
38024 ( _1 )
38025 # 38026 "parser_cocci_menhir.ml"
38026 in
38027 _menhir_env.MenhirLib.EngineTypes.stack <- {
38028 MenhirLib.EngineTypes.state = _menhir_s;
38029 MenhirLib.EngineTypes.semv = Obj.repr _v;
38030 MenhirLib.EngineTypes.startp = _startpos;
38031 MenhirLib.EngineTypes.endp = _endpos;
38032 MenhirLib.EngineTypes.next = _menhir_stack;
38033 });
38034 (fun _menhir_env ->
38035 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38036 let {
38037 MenhirLib.EngineTypes.semv = _2;
38038 MenhirLib.EngineTypes.startp = _startpos__2_;
38039 MenhirLib.EngineTypes.endp = _endpos__2_;
38040 MenhirLib.EngineTypes.next = {
38041 MenhirLib.EngineTypes.state = _menhir_s;
38042 MenhirLib.EngineTypes.semv = _1;
38043 MenhirLib.EngineTypes.startp = _startpos__1_;
38044 MenhirLib.EngineTypes.endp = _endpos__1_;
38045 MenhirLib.EngineTypes.next = _menhir_stack;
38046 };
38047 } = _menhir_stack in
38048 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
38049 let _1 : (
38050 # 88 "parser_cocci_menhir.mly"
38051 (Data.clt)
38052 # 38053 "parser_cocci_menhir.ml"
38053 ) = Obj.magic _1 in
38054 let _startpos = _startpos__1_ in
38055 let _endpos = _endpos__2_ in
38056 let _v : 'tv_unary_expr_expr_invalid_ =
38057 # 1334 "parser_cocci_menhir.mly"
38058 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
38059 # 38060 "parser_cocci_menhir.ml"
38060 in
38061 _menhir_env.MenhirLib.EngineTypes.stack <- {
38062 MenhirLib.EngineTypes.state = _menhir_s;
38063 MenhirLib.EngineTypes.semv = Obj.repr _v;
38064 MenhirLib.EngineTypes.startp = _startpos;
38065 MenhirLib.EngineTypes.endp = _endpos;
38066 MenhirLib.EngineTypes.next = _menhir_stack;
38067 });
38068 (fun _menhir_env ->
38069 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38070 let {
38071 MenhirLib.EngineTypes.semv = _2;
38072 MenhirLib.EngineTypes.startp = _startpos__2_;
38073 MenhirLib.EngineTypes.endp = _endpos__2_;
38074 MenhirLib.EngineTypes.next = {
38075 MenhirLib.EngineTypes.state = _menhir_s;
38076 MenhirLib.EngineTypes.semv = _1;
38077 MenhirLib.EngineTypes.startp = _startpos__1_;
38078 MenhirLib.EngineTypes.endp = _endpos__1_;
38079 MenhirLib.EngineTypes.next = _menhir_stack;
38080 };
38081 } = _menhir_stack in
38082 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
38083 let _1 : (
38084 # 88 "parser_cocci_menhir.mly"
38085 (Data.clt)
38086 # 38087 "parser_cocci_menhir.ml"
38087 ) = Obj.magic _1 in
38088 let _startpos = _startpos__1_ in
38089 let _endpos = _endpos__2_ in
38090 let _v : 'tv_unary_expr_expr_invalid_ =
38091 # 1336 "parser_cocci_menhir.mly"
38092 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
38093 # 38094 "parser_cocci_menhir.ml"
38094 in
38095 _menhir_env.MenhirLib.EngineTypes.stack <- {
38096 MenhirLib.EngineTypes.state = _menhir_s;
38097 MenhirLib.EngineTypes.semv = Obj.repr _v;
38098 MenhirLib.EngineTypes.startp = _startpos;
38099 MenhirLib.EngineTypes.endp = _endpos;
38100 MenhirLib.EngineTypes.next = _menhir_stack;
38101 });
38102 (fun _menhir_env ->
38103 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38104 let {
38105 MenhirLib.EngineTypes.semv = _2;
38106 MenhirLib.EngineTypes.startp = _startpos__2_;
38107 MenhirLib.EngineTypes.endp = _endpos__2_;
38108 MenhirLib.EngineTypes.next = {
38109 MenhirLib.EngineTypes.state = _menhir_s;
38110 MenhirLib.EngineTypes.semv = _1;
38111 MenhirLib.EngineTypes.startp = _startpos__1_;
38112 MenhirLib.EngineTypes.endp = _endpos__1_;
38113 MenhirLib.EngineTypes.next = _menhir_stack;
38114 };
38115 } = _menhir_stack in
38116 let _2 : 'tv_cast_expr_expr_invalid_ = Obj.magic _2 in
38117 let _1 : 'tv_unary_op = Obj.magic _1 in
38118 let _startpos = _startpos__1_ in
38119 let _endpos = _endpos__2_ in
38120 let _v : 'tv_unary_expr_expr_invalid_ =
38121 # 1338 "parser_cocci_menhir.mly"
38122 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
38123 # 38124 "parser_cocci_menhir.ml"
38124 in
38125 _menhir_env.MenhirLib.EngineTypes.stack <- {
38126 MenhirLib.EngineTypes.state = _menhir_s;
38127 MenhirLib.EngineTypes.semv = Obj.repr _v;
38128 MenhirLib.EngineTypes.startp = _startpos;
38129 MenhirLib.EngineTypes.endp = _endpos;
38130 MenhirLib.EngineTypes.next = _menhir_stack;
38131 });
38132 (fun _menhir_env ->
38133 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38134 let {
38135 MenhirLib.EngineTypes.semv = _2;
38136 MenhirLib.EngineTypes.startp = _startpos__2_;
38137 MenhirLib.EngineTypes.endp = _endpos__2_;
38138 MenhirLib.EngineTypes.next = {
38139 MenhirLib.EngineTypes.state = _menhir_s;
38140 MenhirLib.EngineTypes.semv = _1;
38141 MenhirLib.EngineTypes.startp = _startpos__1_;
38142 MenhirLib.EngineTypes.endp = _endpos__1_;
38143 MenhirLib.EngineTypes.next = _menhir_stack;
38144 };
38145 } = _menhir_stack in
38146 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
38147 let _1 : (
38148 # 79 "parser_cocci_menhir.mly"
38149 (Data.clt)
38150 # 38151 "parser_cocci_menhir.ml"
38151 ) = Obj.magic _1 in
38152 let _startpos = _startpos__1_ in
38153 let _endpos = _endpos__2_ in
38154 let _v : 'tv_unary_expr_expr_invalid_ =
38155 # 1340 "parser_cocci_menhir.mly"
38156 ( let mcode = P.clt2mcode Ast.Not _1 in
38157 Ast0.wrap(Ast0.Unary(_2, mcode)) )
38158 # 38159 "parser_cocci_menhir.ml"
38159 in
38160 _menhir_env.MenhirLib.EngineTypes.stack <- {
38161 MenhirLib.EngineTypes.state = _menhir_s;
38162 MenhirLib.EngineTypes.semv = Obj.repr _v;
38163 MenhirLib.EngineTypes.startp = _startpos;
38164 MenhirLib.EngineTypes.endp = _endpos;
38165 MenhirLib.EngineTypes.next = _menhir_stack;
38166 });
38167 (fun _menhir_env ->
38168 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38169 let {
38170 MenhirLib.EngineTypes.semv = _2;
38171 MenhirLib.EngineTypes.startp = _startpos__2_;
38172 MenhirLib.EngineTypes.endp = _endpos__2_;
38173 MenhirLib.EngineTypes.next = {
38174 MenhirLib.EngineTypes.state = _menhir_s;
38175 MenhirLib.EngineTypes.semv = _1;
38176 MenhirLib.EngineTypes.startp = _startpos__1_;
38177 MenhirLib.EngineTypes.endp = _endpos__1_;
38178 MenhirLib.EngineTypes.next = _menhir_stack;
38179 };
38180 } = _menhir_stack in
38181 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
38182 let _1 : (
38183 # 60 "parser_cocci_menhir.mly"
38184 (Data.clt)
38185 # 38186 "parser_cocci_menhir.ml"
38186 ) = Obj.magic _1 in
38187 let _startpos = _startpos__1_ in
38188 let _endpos = _endpos__2_ in
38189 let _v : 'tv_unary_expr_expr_invalid_ =
38190 # 1343 "parser_cocci_menhir.mly"
38191 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
38192 # 38193 "parser_cocci_menhir.ml"
38193 in
38194 _menhir_env.MenhirLib.EngineTypes.stack <- {
38195 MenhirLib.EngineTypes.state = _menhir_s;
38196 MenhirLib.EngineTypes.semv = Obj.repr _v;
38197 MenhirLib.EngineTypes.startp = _startpos;
38198 MenhirLib.EngineTypes.endp = _endpos;
38199 MenhirLib.EngineTypes.next = _menhir_stack;
38200 });
38201 (fun _menhir_env ->
38202 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38203 let {
38204 MenhirLib.EngineTypes.semv = rp;
38205 MenhirLib.EngineTypes.startp = _startpos_rp_;
38206 MenhirLib.EngineTypes.endp = _endpos_rp_;
38207 MenhirLib.EngineTypes.next = {
38208 MenhirLib.EngineTypes.semv = t;
38209 MenhirLib.EngineTypes.startp = _startpos_t_;
38210 MenhirLib.EngineTypes.endp = _endpos_t_;
38211 MenhirLib.EngineTypes.next = {
38212 MenhirLib.EngineTypes.semv = lp;
38213 MenhirLib.EngineTypes.startp = _startpos_lp_;
38214 MenhirLib.EngineTypes.endp = _endpos_lp_;
38215 MenhirLib.EngineTypes.next = {
38216 MenhirLib.EngineTypes.state = _menhir_s;
38217 MenhirLib.EngineTypes.semv = s;
38218 MenhirLib.EngineTypes.startp = _startpos_s_;
38219 MenhirLib.EngineTypes.endp = _endpos_s_;
38220 MenhirLib.EngineTypes.next = _menhir_stack;
38221 };
38222 };
38223 };
38224 } = _menhir_stack in
38225 let rp : (
38226 # 80 "parser_cocci_menhir.mly"
38227 (Data.clt)
38228 # 38229 "parser_cocci_menhir.ml"
38229 ) = Obj.magic rp in
38230 let t : 'tv_ctype = Obj.magic t in
38231 let lp : (
38232 # 79 "parser_cocci_menhir.mly"
38233 (Data.clt)
38234 # 38235 "parser_cocci_menhir.ml"
38235 ) = Obj.magic lp in
38236 let s : (
38237 # 60 "parser_cocci_menhir.mly"
38238 (Data.clt)
38239 # 38240 "parser_cocci_menhir.ml"
38240 ) = Obj.magic s in
38241 let _startpos = _startpos_s_ in
38242 let _endpos = _endpos_rp_ in
38243 let _v : 'tv_unary_expr_expr_invalid_ =
38244 # 1345 "parser_cocci_menhir.mly"
38245 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
38246 P.clt2mcode "(" lp,t,
38247 P.clt2mcode ")" rp)) )
38248 # 38249 "parser_cocci_menhir.ml"
38249 in
38250 _menhir_env.MenhirLib.EngineTypes.stack <- {
38251 MenhirLib.EngineTypes.state = _menhir_s;
38252 MenhirLib.EngineTypes.semv = Obj.repr _v;
38253 MenhirLib.EngineTypes.startp = _startpos;
38254 MenhirLib.EngineTypes.endp = _endpos;
38255 MenhirLib.EngineTypes.next = _menhir_stack;
38256 });
38257 (fun _menhir_env ->
38258 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38259 let {
38260 MenhirLib.EngineTypes.state = _menhir_s;
38261 MenhirLib.EngineTypes.semv = _1;
38262 MenhirLib.EngineTypes.startp = _startpos__1_;
38263 MenhirLib.EngineTypes.endp = _endpos__1_;
38264 MenhirLib.EngineTypes.next = _menhir_stack;
38265 } = _menhir_stack in
38266 let _1 : (
38267 # 96 "parser_cocci_menhir.mly"
38268 (Data.clt)
38269 # 38270 "parser_cocci_menhir.ml"
38270 ) = Obj.magic _1 in
38271 let _startpos = _startpos__1_ in
38272 let _endpos = _endpos__1_ in
38273 let _v : 'tv_unary_op =
38274 # 1349 "parser_cocci_menhir.mly"
38275 ( P.clt2mcode Ast.GetRef _1 )
38276 # 38277 "parser_cocci_menhir.ml"
38277 in
38278 _menhir_env.MenhirLib.EngineTypes.stack <- {
38279 MenhirLib.EngineTypes.state = _menhir_s;
38280 MenhirLib.EngineTypes.semv = Obj.repr _v;
38281 MenhirLib.EngineTypes.startp = _startpos;
38282 MenhirLib.EngineTypes.endp = _endpos;
38283 MenhirLib.EngineTypes.next = _menhir_stack;
38284 });
38285 (fun _menhir_env ->
38286 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38287 let {
38288 MenhirLib.EngineTypes.state = _menhir_s;
38289 MenhirLib.EngineTypes.semv = _1;
38290 MenhirLib.EngineTypes.startp = _startpos__1_;
38291 MenhirLib.EngineTypes.endp = _endpos__1_;
38292 MenhirLib.EngineTypes.next = _menhir_stack;
38293 } = _menhir_stack in
38294 let _1 : (
38295 # 102 "parser_cocci_menhir.mly"
38296 (Data.clt)
38297 # 38298 "parser_cocci_menhir.ml"
38298 ) = Obj.magic _1 in
38299 let _startpos = _startpos__1_ in
38300 let _endpos = _endpos__1_ in
38301 let _v : 'tv_unary_op =
38302 # 1350 "parser_cocci_menhir.mly"
38303 ( P.clt2mcode Ast.DeRef _1 )
38304 # 38305 "parser_cocci_menhir.ml"
38305 in
38306 _menhir_env.MenhirLib.EngineTypes.stack <- {
38307 MenhirLib.EngineTypes.state = _menhir_s;
38308 MenhirLib.EngineTypes.semv = Obj.repr _v;
38309 MenhirLib.EngineTypes.startp = _startpos;
38310 MenhirLib.EngineTypes.endp = _endpos;
38311 MenhirLib.EngineTypes.next = _menhir_stack;
38312 });
38313 (fun _menhir_env ->
38314 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38315 let {
38316 MenhirLib.EngineTypes.state = _menhir_s;
38317 MenhirLib.EngineTypes.semv = _1;
38318 MenhirLib.EngineTypes.startp = _startpos__1_;
38319 MenhirLib.EngineTypes.endp = _endpos__1_;
38320 MenhirLib.EngineTypes.next = _menhir_stack;
38321 } = _menhir_stack in
38322 let _1 : (
38323 # 101 "parser_cocci_menhir.mly"
38324 (Data.clt)
38325 # 38326 "parser_cocci_menhir.ml"
38326 ) = Obj.magic _1 in
38327 let _startpos = _startpos__1_ in
38328 let _endpos = _endpos__1_ in
38329 let _v : 'tv_unary_op =
38330 # 1351 "parser_cocci_menhir.mly"
38331 ( P.clt2mcode Ast.UnPlus _1 )
38332 # 38333 "parser_cocci_menhir.ml"
38333 in
38334 _menhir_env.MenhirLib.EngineTypes.stack <- {
38335 MenhirLib.EngineTypes.state = _menhir_s;
38336 MenhirLib.EngineTypes.semv = Obj.repr _v;
38337 MenhirLib.EngineTypes.startp = _startpos;
38338 MenhirLib.EngineTypes.endp = _endpos;
38339 MenhirLib.EngineTypes.next = _menhir_stack;
38340 });
38341 (fun _menhir_env ->
38342 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38343 let {
38344 MenhirLib.EngineTypes.state = _menhir_s;
38345 MenhirLib.EngineTypes.semv = _1;
38346 MenhirLib.EngineTypes.startp = _startpos__1_;
38347 MenhirLib.EngineTypes.endp = _endpos__1_;
38348 MenhirLib.EngineTypes.next = _menhir_stack;
38349 } = _menhir_stack in
38350 let _1 : (
38351 # 101 "parser_cocci_menhir.mly"
38352 (Data.clt)
38353 # 38354 "parser_cocci_menhir.ml"
38354 ) = Obj.magic _1 in
38355 let _startpos = _startpos__1_ in
38356 let _endpos = _endpos__1_ in
38357 let _v : 'tv_unary_op =
38358 # 1352 "parser_cocci_menhir.mly"
38359 ( P.clt2mcode Ast.UnMinus _1 )
38360 # 38361 "parser_cocci_menhir.ml"
38361 in
38362 _menhir_env.MenhirLib.EngineTypes.stack <- {
38363 MenhirLib.EngineTypes.state = _menhir_s;
38364 MenhirLib.EngineTypes.semv = Obj.repr _v;
38365 MenhirLib.EngineTypes.startp = _startpos;
38366 MenhirLib.EngineTypes.endp = _endpos;
38367 MenhirLib.EngineTypes.next = _menhir_stack;
38368 });
38369 (fun _menhir_env ->
38370 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38371 let {
38372 MenhirLib.EngineTypes.state = _menhir_s;
38373 MenhirLib.EngineTypes.semv = _1;
38374 MenhirLib.EngineTypes.startp = _startpos__1_;
38375 MenhirLib.EngineTypes.endp = _endpos__1_;
38376 MenhirLib.EngineTypes.next = _menhir_stack;
38377 } = _menhir_stack in
38378 let _1 : (
38379 # 102 "parser_cocci_menhir.mly"
38380 (Data.clt)
38381 # 38382 "parser_cocci_menhir.ml"
38382 ) = Obj.magic _1 in
38383 let _startpos = _startpos__1_ in
38384 let _endpos = _endpos__1_ in
38385 let _v : 'tv_unary_op =
38386 # 1353 "parser_cocci_menhir.mly"
38387 ( P.clt2mcode Ast.Tilde _1 )
38388 # 38389 "parser_cocci_menhir.ml"
38389 in
38390 _menhir_env.MenhirLib.EngineTypes.stack <- {
38391 MenhirLib.EngineTypes.state = _menhir_s;
38392 MenhirLib.EngineTypes.semv = Obj.repr _v;
38393 MenhirLib.EngineTypes.startp = _startpos;
38394 MenhirLib.EngineTypes.endp = _endpos;
38395 MenhirLib.EngineTypes.next = _menhir_stack;
38396 });
38397 (fun _menhir_env ->
38398 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38399 let {
38400 MenhirLib.EngineTypes.semv = _2;
38401 MenhirLib.EngineTypes.startp = _startpos__2_;
38402 MenhirLib.EngineTypes.endp = _endpos__2_;
38403 MenhirLib.EngineTypes.next = {
38404 MenhirLib.EngineTypes.state = _menhir_s;
38405 MenhirLib.EngineTypes.semv = _1;
38406 MenhirLib.EngineTypes.startp = _startpos__1_;
38407 MenhirLib.EngineTypes.endp = _endpos__1_;
38408 MenhirLib.EngineTypes.next = _menhir_stack;
38409 };
38410 } = _menhir_stack in
38411 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
38412 let _1 : 'tv_expr = Obj.magic _1 in
38413 let _startpos = _startpos__1_ in
38414 let _endpos = _endpos__2_ in
38415 let _v : 'tv_when_start =
38416 # 1914 "parser_cocci_menhir.mly"
38417 ( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) )
38418 # 38419 "parser_cocci_menhir.ml"
38419 in
38420 _menhir_env.MenhirLib.EngineTypes.stack <- {
38421 MenhirLib.EngineTypes.state = _menhir_s;
38422 MenhirLib.EngineTypes.semv = Obj.repr _v;
38423 MenhirLib.EngineTypes.startp = _startpos;
38424 MenhirLib.EngineTypes.endp = _endpos;
38425 MenhirLib.EngineTypes.next = _menhir_stack;
38426 });
38427 (fun _menhir_env ->
38428 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38429 let {
38430 MenhirLib.EngineTypes.semv = _2;
38431 MenhirLib.EngineTypes.startp = _startpos__2_;
38432 MenhirLib.EngineTypes.endp = _endpos__2_;
38433 MenhirLib.EngineTypes.next = {
38434 MenhirLib.EngineTypes.state = _menhir_s;
38435 MenhirLib.EngineTypes.semv = _1;
38436 MenhirLib.EngineTypes.startp = _startpos__1_;
38437 MenhirLib.EngineTypes.endp = _endpos__1_;
38438 MenhirLib.EngineTypes.next = _menhir_stack;
38439 };
38440 } = _menhir_stack in
38441 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
38442 let _1 : 'tv_decl_statement = Obj.magic _1 in
38443 let _startpos = _startpos__1_ in
38444 let _endpos = _endpos__2_ in
38445 let _v : 'tv_when_start =
38446 # 1916 "parser_cocci_menhir.mly"
38447 ( Ast0.wrap(Ast0.DOTS(_1@_2)) )
38448 # 38449 "parser_cocci_menhir.ml"
38449 in
38450 _menhir_env.MenhirLib.EngineTypes.stack <- {
38451 MenhirLib.EngineTypes.state = _menhir_s;
38452 MenhirLib.EngineTypes.semv = Obj.repr _v;
38453 MenhirLib.EngineTypes.startp = _startpos;
38454 MenhirLib.EngineTypes.endp = _endpos;
38455 MenhirLib.EngineTypes.next = _menhir_stack;
38456 });
38457 (fun _menhir_env ->
38458 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38459 let {
38460 MenhirLib.EngineTypes.state = _menhir_s;
38461 MenhirLib.EngineTypes.semv = w;
38462 MenhirLib.EngineTypes.startp = _startpos_w_;
38463 MenhirLib.EngineTypes.endp = _endpos_w_;
38464 MenhirLib.EngineTypes.next = _menhir_stack;
38465 } = _menhir_stack in
38466 let w : 'tv_whens_when_start_rule_elem_statement_any_strict_ = Obj.magic w in
38467 let _startpos = _startpos_w_ in
38468 let _endpos = _endpos_w_ in
38469 let _v : 'tv_whenppdecs =
38470 # 931 "parser_cocci_menhir.mly"
38471 ( w )
38472 # 38473 "parser_cocci_menhir.ml"
38473 in
38474 _menhir_env.MenhirLib.EngineTypes.stack <- {
38475 MenhirLib.EngineTypes.state = _menhir_s;
38476 MenhirLib.EngineTypes.semv = Obj.repr _v;
38477 MenhirLib.EngineTypes.startp = _startpos;
38478 MenhirLib.EngineTypes.endp = _endpos;
38479 MenhirLib.EngineTypes.next = _menhir_stack;
38480 });
38481 (fun _menhir_env ->
38482 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38483 let {
38484 MenhirLib.EngineTypes.startp = _startpos__4_;
38485 MenhirLib.EngineTypes.endp = _endpos__4_;
38486 MenhirLib.EngineTypes.next = {
38487 MenhirLib.EngineTypes.semv = w;
38488 MenhirLib.EngineTypes.startp = _startpos_w_;
38489 MenhirLib.EngineTypes.endp = _endpos_w_;
38490 MenhirLib.EngineTypes.next = {
38491 MenhirLib.EngineTypes.startp = _startpos__2_;
38492 MenhirLib.EngineTypes.endp = _endpos__2_;
38493 MenhirLib.EngineTypes.next = {
38494 MenhirLib.EngineTypes.state = _menhir_s;
38495 MenhirLib.EngineTypes.startp = _startpos__1_;
38496 MenhirLib.EngineTypes.endp = _endpos__1_;
38497 MenhirLib.EngineTypes.next = _menhir_stack;
38498 };
38499 };
38500 };
38501 } = _menhir_stack in
38502 let w : 'tv_when_start = Obj.magic w in
38503 let _startpos = _startpos__1_ in
38504 let _endpos = _endpos__4_ in
38505 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
38506 # 1982 "parser_cocci_menhir.mly"
38507 ( [Ast0.WhenNot w] )
38508 # 38509 "parser_cocci_menhir.ml"
38509 in
38510 _menhir_env.MenhirLib.EngineTypes.stack <- {
38511 MenhirLib.EngineTypes.state = _menhir_s;
38512 MenhirLib.EngineTypes.semv = Obj.repr _v;
38513 MenhirLib.EngineTypes.startp = _startpos;
38514 MenhirLib.EngineTypes.endp = _endpos;
38515 MenhirLib.EngineTypes.next = _menhir_stack;
38516 });
38517 (fun _menhir_env ->
38518 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38519 let {
38520 MenhirLib.EngineTypes.startp = _startpos__4_;
38521 MenhirLib.EngineTypes.endp = _endpos__4_;
38522 MenhirLib.EngineTypes.next = {
38523 MenhirLib.EngineTypes.semv = w;
38524 MenhirLib.EngineTypes.startp = _startpos_w_;
38525 MenhirLib.EngineTypes.endp = _endpos_w_;
38526 MenhirLib.EngineTypes.next = {
38527 MenhirLib.EngineTypes.startp = _startpos__2_;
38528 MenhirLib.EngineTypes.endp = _endpos__2_;
38529 MenhirLib.EngineTypes.next = {
38530 MenhirLib.EngineTypes.state = _menhir_s;
38531 MenhirLib.EngineTypes.startp = _startpos__1_;
38532 MenhirLib.EngineTypes.endp = _endpos__1_;
38533 MenhirLib.EngineTypes.next = _menhir_stack;
38534 };
38535 };
38536 };
38537 } = _menhir_stack in
38538 let w : 'tv_rule_elem_statement = Obj.magic w in
38539 let _startpos = _startpos__1_ in
38540 let _endpos = _endpos__4_ in
38541 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
38542 # 1983 "parser_cocci_menhir.mly"
38543 ( [Ast0.WhenAlways w] )
38544 # 38545 "parser_cocci_menhir.ml"
38545 in
38546 _menhir_env.MenhirLib.EngineTypes.stack <- {
38547 MenhirLib.EngineTypes.state = _menhir_s;
38548 MenhirLib.EngineTypes.semv = Obj.repr _v;
38549 MenhirLib.EngineTypes.startp = _startpos;
38550 MenhirLib.EngineTypes.endp = _endpos;
38551 MenhirLib.EngineTypes.next = _menhir_stack;
38552 });
38553 (fun _menhir_env ->
38554 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38555 let {
38556 MenhirLib.EngineTypes.startp = _startpos__3_;
38557 MenhirLib.EngineTypes.endp = _endpos__3_;
38558 MenhirLib.EngineTypes.next = {
38559 MenhirLib.EngineTypes.semv = _2;
38560 MenhirLib.EngineTypes.startp = _startpos__2_;
38561 MenhirLib.EngineTypes.endp = _endpos__2_;
38562 MenhirLib.EngineTypes.next = {
38563 MenhirLib.EngineTypes.state = _menhir_s;
38564 MenhirLib.EngineTypes.startp = _startpos__1_;
38565 MenhirLib.EngineTypes.endp = _endpos__1_;
38566 MenhirLib.EngineTypes.next = _menhir_stack;
38567 };
38568 };
38569 } = _menhir_stack in
38570 let _2 : 'tv_comma_list_any_strict_ = Obj.magic _2 in
38571 let _startpos = _startpos__1_ in
38572 let _endpos = _endpos__3_ in
38573 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
38574 # 1985 "parser_cocci_menhir.mly"
38575 ( List.map (function x -> Ast0.WhenModifier(x)) _2 )
38576 # 38577 "parser_cocci_menhir.ml"
38577 in
38578 _menhir_env.MenhirLib.EngineTypes.stack <- {
38579 MenhirLib.EngineTypes.state = _menhir_s;
38580 MenhirLib.EngineTypes.semv = Obj.repr _v;
38581 MenhirLib.EngineTypes.startp = _startpos;
38582 MenhirLib.EngineTypes.endp = _endpos;
38583 MenhirLib.EngineTypes.next = _menhir_stack;
38584 });
38585 (fun _menhir_env ->
38586 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38587 let {
38588 MenhirLib.EngineTypes.startp = _startpos__4_;
38589 MenhirLib.EngineTypes.endp = _endpos__4_;
38590 MenhirLib.EngineTypes.next = {
38591 MenhirLib.EngineTypes.semv = e;
38592 MenhirLib.EngineTypes.startp = _startpos_e_;
38593 MenhirLib.EngineTypes.endp = _endpos_e_;
38594 MenhirLib.EngineTypes.next = {
38595 MenhirLib.EngineTypes.startp = _startpos__2_;
38596 MenhirLib.EngineTypes.endp = _endpos__2_;
38597 MenhirLib.EngineTypes.next = {
38598 MenhirLib.EngineTypes.state = _menhir_s;
38599 MenhirLib.EngineTypes.startp = _startpos__1_;
38600 MenhirLib.EngineTypes.endp = _endpos__1_;
38601 MenhirLib.EngineTypes.next = _menhir_stack;
38602 };
38603 };
38604 };
38605 } = _menhir_stack in
38606 let e : 'tv_eexpr = Obj.magic e in
38607 let _startpos = _startpos__1_ in
38608 let _endpos = _endpos__4_ in
38609 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
38610 # 1986 "parser_cocci_menhir.mly"
38611 ( [Ast0.WhenNotTrue e] )
38612 # 38613 "parser_cocci_menhir.ml"
38613 in
38614 _menhir_env.MenhirLib.EngineTypes.stack <- {
38615 MenhirLib.EngineTypes.state = _menhir_s;
38616 MenhirLib.EngineTypes.semv = Obj.repr _v;
38617 MenhirLib.EngineTypes.startp = _startpos;
38618 MenhirLib.EngineTypes.endp = _endpos;
38619 MenhirLib.EngineTypes.next = _menhir_stack;
38620 });
38621 (fun _menhir_env ->
38622 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38623 let {
38624 MenhirLib.EngineTypes.startp = _startpos__4_;
38625 MenhirLib.EngineTypes.endp = _endpos__4_;
38626 MenhirLib.EngineTypes.next = {
38627 MenhirLib.EngineTypes.semv = e;
38628 MenhirLib.EngineTypes.startp = _startpos_e_;
38629 MenhirLib.EngineTypes.endp = _endpos_e_;
38630 MenhirLib.EngineTypes.next = {
38631 MenhirLib.EngineTypes.startp = _startpos__2_;
38632 MenhirLib.EngineTypes.endp = _endpos__2_;
38633 MenhirLib.EngineTypes.next = {
38634 MenhirLib.EngineTypes.state = _menhir_s;
38635 MenhirLib.EngineTypes.startp = _startpos__1_;
38636 MenhirLib.EngineTypes.endp = _endpos__1_;
38637 MenhirLib.EngineTypes.next = _menhir_stack;
38638 };
38639 };
38640 };
38641 } = _menhir_stack in
38642 let e : 'tv_eexpr = Obj.magic e in
38643 let _startpos = _startpos__1_ in
38644 let _endpos = _endpos__4_ in
38645 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
38646 # 1987 "parser_cocci_menhir.mly"
38647 ( [Ast0.WhenNotFalse e] )
38648 # 38649 "parser_cocci_menhir.ml"
38649 in
38650 _menhir_env.MenhirLib.EngineTypes.stack <- {
38651 MenhirLib.EngineTypes.state = _menhir_s;
38652 MenhirLib.EngineTypes.semv = Obj.repr _v;
38653 MenhirLib.EngineTypes.startp = _startpos;
38654 MenhirLib.EngineTypes.endp = _endpos;
38655 MenhirLib.EngineTypes.next = _menhir_stack;
38656 });
38657 |]
38658
38659 let recovery =
38660 false
38661
38662 let trace =
38663 None
38664
38665 end)
38666
38667 let rec script_meta_main =
38668 fun lexer lexbuf ->
38669 (Obj.magic (MenhirInterpreter.entry 1826 lexer lexbuf) : (
38670 # 162 "parser_cocci_menhir.mly"
38671 (string * Ast_cocci.meta_name)
38672 # 38673 "parser_cocci_menhir.ml"
38673 ))
38674
38675 and rule_name =
38676 fun lexer lexbuf ->
38677 (Obj.magic (MenhirInterpreter.entry 1754 lexer lexbuf) : (
38678 # 156 "parser_cocci_menhir.mly"
38679 (Ast_cocci.rulename)
38680 # 38681 "parser_cocci_menhir.ml"
38681 ))
38682
38683 and reinit =
38684 fun lexer lexbuf ->
38685 (Obj.magic (MenhirInterpreter.entry 1752 lexer lexbuf) : (
38686 # 134 "parser_cocci_menhir.mly"
38687 (unit)
38688 # 38689 "parser_cocci_menhir.ml"
38689 ))
38690
38691 and plus_main =
38692 fun lexer lexbuf ->
38693 (Obj.magic (MenhirInterpreter.entry 1716 lexer lexbuf) : (
38694 # 143 "parser_cocci_menhir.mly"
38695 (Ast0_cocci.rule)
38696 # 38697 "parser_cocci_menhir.ml"
38697 ))
38698
38699 and plus_exp_main =
38700 fun lexer lexbuf ->
38701 (Obj.magic (MenhirInterpreter.entry 1708 lexer lexbuf) : (
38702 # 146 "parser_cocci_menhir.mly"
38703 (Ast0_cocci.rule)
38704 # 38705 "parser_cocci_menhir.ml"
38705 ))
38706
38707 and never_used =
38708 fun lexer lexbuf ->
38709 (Obj.magic (MenhirInterpreter.entry 1702 lexer lexbuf) : (
38710 # 171 "parser_cocci_menhir.mly"
38711 (unit)
38712 # 38713 "parser_cocci_menhir.ml"
38713 ))
38714
38715 and minus_main =
38716 fun lexer lexbuf ->
38717 (Obj.magic (MenhirInterpreter.entry 1622 lexer lexbuf) : (
38718 # 137 "parser_cocci_menhir.mly"
38719 (Ast0_cocci.rule)
38720 # 38721 "parser_cocci_menhir.ml"
38721 ))
38722
38723 and minus_exp_main =
38724 fun lexer lexbuf ->
38725 (Obj.magic (MenhirInterpreter.entry 1610 lexer lexbuf) : (
38726 # 140 "parser_cocci_menhir.mly"
38727 (Ast0_cocci.rule)
38728 # 38729 "parser_cocci_menhir.ml"
38729 ))
38730
38731 and meta_main =
38732 fun lexer lexbuf ->
38733 (Obj.magic (MenhirInterpreter.entry 1607 lexer lexbuf) : (
38734 # 160 "parser_cocci_menhir.mly"
38735 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
38736 # 38737 "parser_cocci_menhir.ml"
38737 ))
38738
38739 and iso_rule_name =
38740 fun lexer lexbuf ->
38741 (Obj.magic (MenhirInterpreter.entry 1603 lexer lexbuf) : (
38742 # 152 "parser_cocci_menhir.mly"
38743 (Ast_cocci.rulename)
38744 # 38745 "parser_cocci_menhir.ml"
38745 ))
38746
38747 and iso_meta_main =
38748 fun lexer lexbuf ->
38749 (Obj.magic (MenhirInterpreter.entry 1349 lexer lexbuf) : (
38750 # 168 "parser_cocci_menhir.mly"
38751 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
38752 # 38753 "parser_cocci_menhir.ml"
38753 ))
38754
38755 and iso_main =
38756 fun lexer lexbuf ->
38757 (Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : (
38758 # 165 "parser_cocci_menhir.mly"
38759 (Ast0_cocci.anything list list)
38760 # 38761 "parser_cocci_menhir.ml"
38761 ))
38762
38763 and include_main =
38764 fun lexer lexbuf ->
38765 (Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : (
38766 # 149 "parser_cocci_menhir.mly"
38767 (Data.incl_iso list)
38768 # 38769 "parser_cocci_menhir.ml"
38769 ))
38770
38771
38772