64bbeb2689b18778bf3fc0b9d238bbc1bb0e1aa1
[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 | TUnderscore
145 | TTypedef
146 | TTypeId of (
147 # 61 "parser_cocci_menhir.mly"
148 (string * Data.clt)
149 # 150 "parser_cocci_menhir.ml"
150 )
151 | TType
152 | TTildeExclEq of (
153 # 97 "parser_cocci_menhir.mly"
154 (Data.clt)
155 # 156 "parser_cocci_menhir.ml"
156 )
157 | TTildeEq of (
158 # 97 "parser_cocci_menhir.mly"
159 (Data.clt)
160 # 161 "parser_cocci_menhir.ml"
161 )
162 | TTilde of (
163 # 102 "parser_cocci_menhir.mly"
164 (Data.clt)
165 # 166 "parser_cocci_menhir.ml"
166 )
167 | TSwitch of (
168 # 59 "parser_cocci_menhir.mly"
169 (Data.clt)
170 # 171 "parser_cocci_menhir.ml"
171 )
172 | TSub of (
173 # 97 "parser_cocci_menhir.mly"
174 (Data.clt)
175 # 176 "parser_cocci_menhir.ml"
176 )
177 | TString of (
178 # 90 "parser_cocci_menhir.mly"
179 (string * Data.clt)
180 # 181 "parser_cocci_menhir.ml"
181 )
182 | TStrict of (
183 # 77 "parser_cocci_menhir.mly"
184 (Data.clt)
185 # 186 "parser_cocci_menhir.ml"
186 )
187 | TStatement
188 | TSizeof of (
189 # 60 "parser_cocci_menhir.mly"
190 (Data.clt)
191 # 192 "parser_cocci_menhir.ml"
192 )
193 | TShROp of (
194 # 99 "parser_cocci_menhir.mly"
195 (Ast_cocci.arithOp * Data.clt)
196 # 197 "parser_cocci_menhir.ml"
197 )
198 | TShLOp of (
199 # 99 "parser_cocci_menhir.mly"
200 (Ast_cocci.arithOp * Data.clt)
201 # 202 "parser_cocci_menhir.ml"
202 )
203 | TScriptData of (
204 # 74 "parser_cocci_menhir.mly"
205 (string)
206 # 207 "parser_cocci_menhir.ml"
207 )
208 | TScript
209 | TRuleName of (
210 # 49 "parser_cocci_menhir.mly"
211 (string)
212 # 213 "parser_cocci_menhir.ml"
213 )
214 | TRightIso
215 | TReturn of (
216 # 59 "parser_cocci_menhir.mly"
217 (Data.clt)
218 # 219 "parser_cocci_menhir.ml"
219 )
220 | TPure
221 | TPtrOp of (
222 # 107 "parser_cocci_menhir.mly"
223 (Data.clt)
224 # 225 "parser_cocci_menhir.ml"
225 )
226 | TPtVirg of (
227 # 110 "parser_cocci_menhir.mly"
228 (Data.clt)
229 # 230 "parser_cocci_menhir.ml"
230 )
231 | TPragma of (
232 # 62 "parser_cocci_menhir.mly"
233 (Ast_cocci.added_string * Data.clt)
234 # 235 "parser_cocci_menhir.ml"
235 )
236 | TPosition
237 | TPosAny
238 | TPlusFile of (
239 # 86 "parser_cocci_menhir.mly"
240 (string * Data.clt)
241 # 242 "parser_cocci_menhir.ml"
242 )
243 | TPlus0
244 | TPlus of (
245 # 101 "parser_cocci_menhir.mly"
246 (Data.clt)
247 # 248 "parser_cocci_menhir.ml"
248 )
249 | TPathIsoFile of (
250 # 82 "parser_cocci_menhir.mly"
251 (string)
252 # 253 "parser_cocci_menhir.ml"
253 )
254 | TParameter
255 | TPOEllipsis of (
256 # 76 "parser_cocci_menhir.mly"
257 (Data.clt)
258 # 259 "parser_cocci_menhir.ml"
259 )
260 | TPCEllipsis of (
261 # 76 "parser_cocci_menhir.mly"
262 (Data.clt)
263 # 264 "parser_cocci_menhir.ml"
264 )
265 | TPArob
266 | TOrLog of (
267 # 92 "parser_cocci_menhir.mly"
268 (Data.clt)
269 # 270 "parser_cocci_menhir.ml"
270 )
271 | TOr of (
272 # 94 "parser_cocci_menhir.mly"
273 (Data.clt)
274 # 275 "parser_cocci_menhir.ml"
275 )
276 | TOn
277 | TOPar0 of (
278 # 79 "parser_cocci_menhir.mly"
279 (Data.clt)
280 # 281 "parser_cocci_menhir.ml"
281 )
282 | TOPar of (
283 # 79 "parser_cocci_menhir.mly"
284 (Data.clt)
285 # 286 "parser_cocci_menhir.ml"
286 )
287 | TOInit of (
288 # 104 "parser_cocci_menhir.mly"
289 (Data.clt)
290 # 291 "parser_cocci_menhir.ml"
291 )
292 | TOEllipsis of (
293 # 76 "parser_cocci_menhir.mly"
294 (Data.clt)
295 # 296 "parser_cocci_menhir.ml"
296 )
297 | TOCro of (
298 # 105 "parser_cocci_menhir.mly"
299 (Data.clt)
300 # 301 "parser_cocci_menhir.ml"
301 )
302 | TOBrace of (
303 # 104 "parser_cocci_menhir.mly"
304 (Data.clt)
305 # 306 "parser_cocci_menhir.ml"
306 )
307 | TNothing
308 | TNotEq of (
309 # 97 "parser_cocci_menhir.mly"
310 (Data.clt)
311 # 312 "parser_cocci_menhir.ml"
312 )
313 | TNever
314 | TName
315 | TMul of (
316 # 102 "parser_cocci_menhir.mly"
317 (Data.clt)
318 # 319 "parser_cocci_menhir.ml"
319 )
320 | TMinusFile of (
321 # 86 "parser_cocci_menhir.mly"
322 (string * Data.clt)
323 # 324 "parser_cocci_menhir.ml"
324 )
325 | TMinus of (
326 # 101 "parser_cocci_menhir.mly"
327 (Data.clt)
328 # 329 "parser_cocci_menhir.ml"
329 )
330 | TMid0 of (
331 # 80 "parser_cocci_menhir.mly"
332 (Data.clt)
333 # 334 "parser_cocci_menhir.ml"
334 )
335 | TMetaType of (
336 # 67 "parser_cocci_menhir.mly"
337 (Parse_aux.info)
338 # 339 "parser_cocci_menhir.ml"
339 )
340 | TMetaStmList of (
341 # 67 "parser_cocci_menhir.mly"
342 (Parse_aux.info)
343 # 344 "parser_cocci_menhir.ml"
344 )
345 | TMetaStm of (
346 # 67 "parser_cocci_menhir.mly"
347 (Parse_aux.info)
348 # 349 "parser_cocci_menhir.ml"
349 )
350 | TMetaPos of (
351 # 71 "parser_cocci_menhir.mly"
352 (Parse_aux.pos_info)
353 # 354 "parser_cocci_menhir.ml"
354 )
355 | TMetaParamList of (
356 # 69 "parser_cocci_menhir.mly"
357 (Parse_aux.list_info)
358 # 359 "parser_cocci_menhir.ml"
359 )
360 | TMetaParam of (
361 # 67 "parser_cocci_menhir.mly"
362 (Parse_aux.info)
363 # 364 "parser_cocci_menhir.ml"
364 )
365 | TMetaLocalIdExp of (
366 # 70 "parser_cocci_menhir.mly"
367 (Parse_aux.typed_expinfo)
368 # 369 "parser_cocci_menhir.ml"
369 )
370 | TMetaLocalFunc of (
371 # 64 "parser_cocci_menhir.mly"
372 (Parse_aux.idinfo)
373 # 374 "parser_cocci_menhir.ml"
374 )
375 | TMetaIterator of (
376 # 65 "parser_cocci_menhir.mly"
377 (Parse_aux.idinfo)
378 # 379 "parser_cocci_menhir.ml"
379 )
380 | TMetaInit of (
381 # 68 "parser_cocci_menhir.mly"
382 (Parse_aux.info)
383 # 384 "parser_cocci_menhir.ml"
384 )
385 | TMetaIdExp of (
386 # 70 "parser_cocci_menhir.mly"
387 (Parse_aux.typed_expinfo)
388 # 389 "parser_cocci_menhir.ml"
389 )
390 | TMetaId of (
391 # 64 "parser_cocci_menhir.mly"
392 (Parse_aux.idinfo)
393 # 394 "parser_cocci_menhir.ml"
394 )
395 | TMetaFunc of (
396 # 64 "parser_cocci_menhir.mly"
397 (Parse_aux.idinfo)
398 # 399 "parser_cocci_menhir.ml"
399 )
400 | TMetaField of (
401 # 68 "parser_cocci_menhir.mly"
402 (Parse_aux.info)
403 # 404 "parser_cocci_menhir.ml"
404 )
405 | TMetaExpList of (
406 # 69 "parser_cocci_menhir.mly"
407 (Parse_aux.list_info)
408 # 409 "parser_cocci_menhir.ml"
409 )
410 | TMetaExp of (
411 # 70 "parser_cocci_menhir.mly"
412 (Parse_aux.typed_expinfo)
413 # 414 "parser_cocci_menhir.ml"
414 )
415 | TMetaErr of (
416 # 66 "parser_cocci_menhir.mly"
417 (Parse_aux.expinfo)
418 # 419 "parser_cocci_menhir.ml"
419 )
420 | TMetaDeclarer of (
421 # 65 "parser_cocci_menhir.mly"
422 (Parse_aux.idinfo)
423 # 424 "parser_cocci_menhir.ml"
424 )
425 | TMetaDecl of (
426 # 68 "parser_cocci_menhir.mly"
427 (Parse_aux.info)
428 # 429 "parser_cocci_menhir.ml"
429 )
430 | TMetaConst of (
431 # 70 "parser_cocci_menhir.mly"
432 (Parse_aux.typed_expinfo)
433 # 434 "parser_cocci_menhir.ml"
434 )
435 | TMPtVirg
436 | TLogOp of (
437 # 98 "parser_cocci_menhir.mly"
438 (Ast_cocci.logicalOp * Data.clt)
439 # 440 "parser_cocci_menhir.ml"
440 )
441 | TLocal
442 | TLineEnd of (
443 # 77 "parser_cocci_menhir.mly"
444 (Data.clt)
445 # 446 "parser_cocci_menhir.ml"
446 )
447 | TIteratorId of (
448 # 61 "parser_cocci_menhir.mly"
449 (string * Data.clt)
450 # 451 "parser_cocci_menhir.ml"
451 )
452 | TIterator
453 | TIsoType
454 | TIsoTopLevel
455 | TIsoToTestExpression
456 | TIsoTestExpression
457 | TIsoStatement
458 | TIsoExpression
459 | TIsoDeclaration
460 | TIsoArgExpression
461 | TIso
462 | TInvalid
463 | TInt of (
464 # 90 "parser_cocci_menhir.mly"
465 (string * Data.clt)
466 # 467 "parser_cocci_menhir.ml"
467 )
468 | TInitialize
469 | TInitialiser
470 | TIncludeNL of (
471 # 83 "parser_cocci_menhir.mly"
472 (string * Data.clt)
473 # 474 "parser_cocci_menhir.ml"
474 )
475 | TIncludeL of (
476 # 83 "parser_cocci_menhir.mly"
477 (string * Data.clt)
478 # 479 "parser_cocci_menhir.ml"
479 )
480 | TInc of (
481 # 88 "parser_cocci_menhir.mly"
482 (Data.clt)
483 # 484 "parser_cocci_menhir.ml"
484 )
485 | TIf of (
486 # 59 "parser_cocci_menhir.mly"
487 (Data.clt)
488 # 489 "parser_cocci_menhir.ml"
489 )
490 | TIdentifier
491 | TIdent of (
492 # 61 "parser_cocci_menhir.mly"
493 (string * Data.clt)
494 # 495 "parser_cocci_menhir.ml"
495 )
496 | TIdExpression
497 | TGoto of (
498 # 60 "parser_cocci_menhir.mly"
499 (Data.clt)
500 # 501 "parser_cocci_menhir.ml"
501 )
502 | TGenerated
503 | TFunction
504 | TFunDecl of (
505 # 60 "parser_cocci_menhir.mly"
506 (Data.clt)
507 # 508 "parser_cocci_menhir.ml"
508 )
509 | TFresh
510 | TForall
511 | TFor of (
512 # 59 "parser_cocci_menhir.mly"
513 (Data.clt)
514 # 515 "parser_cocci_menhir.ml"
515 )
516 | TFloat of (
517 # 90 "parser_cocci_menhir.mly"
518 (string * Data.clt)
519 # 520 "parser_cocci_menhir.ml"
520 )
521 | TFinalize
522 | TField
523 | TExtends
524 | TExpression
525 | TExists
526 | TEver
527 | TError
528 | TEqEq of (
529 # 97 "parser_cocci_menhir.mly"
530 (Data.clt)
531 # 532 "parser_cocci_menhir.ml"
532 )
533 | TEq of (
534 # 110 "parser_cocci_menhir.mly"
535 (Data.clt)
536 # 537 "parser_cocci_menhir.ml"
537 )
538 | TElse of (
539 # 59 "parser_cocci_menhir.mly"
540 (Data.clt)
541 # 542 "parser_cocci_menhir.ml"
542 )
543 | TEllipsis of (
544 # 76 "parser_cocci_menhir.mly"
545 (Data.clt)
546 # 547 "parser_cocci_menhir.ml"
547 )
548 | TDotDot of (
549 # 79 "parser_cocci_menhir.mly"
550 (Data.clt)
551 # 552 "parser_cocci_menhir.ml"
552 )
553 | TDot of (
554 # 110 "parser_cocci_menhir.mly"
555 (Data.clt)
556 # 557 "parser_cocci_menhir.ml"
557 )
558 | TDo of (
559 # 59 "parser_cocci_menhir.mly"
560 (Data.clt)
561 # 562 "parser_cocci_menhir.ml"
562 )
563 | TDmOp of (
564 # 100 "parser_cocci_menhir.mly"
565 (Ast_cocci.arithOp * Data.clt)
566 # 567 "parser_cocci_menhir.ml"
567 )
568 | TDisable
569 | TDepends
570 | TDefineParam of (
571 # 85 "parser_cocci_menhir.mly"
572 (Data.clt * token * int * int)
573 # 574 "parser_cocci_menhir.ml"
574 )
575 | TDefine of (
576 # 84 "parser_cocci_menhir.mly"
577 (Data.clt * token)
578 # 579 "parser_cocci_menhir.ml"
579 )
580 | TDefault of (
581 # 59 "parser_cocci_menhir.mly"
582 (Data.clt)
583 # 584 "parser_cocci_menhir.ml"
584 )
585 | TDeclarerId of (
586 # 61 "parser_cocci_menhir.mly"
587 (string * Data.clt)
588 # 589 "parser_cocci_menhir.ml"
589 )
590 | TDeclarer
591 | TDeclaration
592 | TDec of (
593 # 88 "parser_cocci_menhir.mly"
594 (Data.clt)
595 # 596 "parser_cocci_menhir.ml"
596 )
597 | TCppConcatOp
598 | TContinue of (
599 # 60 "parser_cocci_menhir.mly"
600 (Data.clt)
601 # 602 "parser_cocci_menhir.ml"
602 )
603 | TContext
604 | TConstant
605 | TComma of (
606 # 110 "parser_cocci_menhir.mly"
607 (Data.clt)
608 # 609 "parser_cocci_menhir.ml"
609 )
610 | TChar of (
611 # 90 "parser_cocci_menhir.mly"
612 (string * Data.clt)
613 # 614 "parser_cocci_menhir.ml"
614 )
615 | TCase of (
616 # 59 "parser_cocci_menhir.mly"
617 (Data.clt)
618 # 619 "parser_cocci_menhir.ml"
619 )
620 | TCPar0 of (
621 # 80 "parser_cocci_menhir.mly"
622 (Data.clt)
623 # 624 "parser_cocci_menhir.ml"
624 )
625 | TCPar of (
626 # 80 "parser_cocci_menhir.mly"
627 (Data.clt)
628 # 629 "parser_cocci_menhir.ml"
629 )
630 | TCEllipsis of (
631 # 76 "parser_cocci_menhir.mly"
632 (Data.clt)
633 # 634 "parser_cocci_menhir.ml"
634 )
635 | TCCro of (
636 # 105 "parser_cocci_menhir.mly"
637 (Data.clt)
638 # 639 "parser_cocci_menhir.ml"
639 )
640 | TCBrace of (
641 # 104 "parser_cocci_menhir.mly"
642 (Data.clt)
643 # 644 "parser_cocci_menhir.ml"
644 )
645 | TBreak of (
646 # 60 "parser_cocci_menhir.mly"
647 (Data.clt)
648 # 649 "parser_cocci_menhir.ml"
649 )
650 | TBang0
651 | TBang of (
652 # 79 "parser_cocci_menhir.mly"
653 (Data.clt)
654 # 655 "parser_cocci_menhir.ml"
655 )
656 | TAssign of (
657 # 111 "parser_cocci_menhir.mly"
658 (Ast_cocci.assignOp * Data.clt)
659 # 660 "parser_cocci_menhir.ml"
660 )
661 | TArobArob
662 | TArob
663 | TAny of (
664 # 77 "parser_cocci_menhir.mly"
665 (Data.clt)
666 # 667 "parser_cocci_menhir.ml"
667 )
668 | TAndLog of (
669 # 93 "parser_cocci_menhir.mly"
670 (Data.clt)
671 # 672 "parser_cocci_menhir.ml"
672 )
673 | TAnd of (
674 # 96 "parser_cocci_menhir.mly"
675 (Data.clt)
676 # 677 "parser_cocci_menhir.ml"
677 )
678 | EOF
679
680 and _menhir_jeton = token
681
682
683 # 25 "parser_cocci_menhir.mly"
684
685
686 (* Not clear how to allow function declarations to specify a return type
687 and how to allow both to be specified as static, because they are in
688 different rules. The rules seem to have to be combined, which would allow
689 functions to be declared as local variables *)
690
691 (* Not clear how to let a function have a parameter of type void. At the
692 moment, void is allowed to be the type of a variable, which is wrong, and a
693 parameter needs both a type and an identifier *)
694 module Ast0 = Ast0_cocci
695 module Ast = Ast_cocci
696 module P = Parse_aux
697
698 # 699 "parser_cocci_menhir.ml"
699 let _eRR =
700 Error
701
702 module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
703
704 exception Error = Error
705
706 type token = _menhir_jeton
707
708 let token2terminal : token -> int =
709 fun _tok ->
710 match _tok with
711 | EOF ->
712 183
713 | TAnd _ ->
714 182
715 | TAndLog _ ->
716 181
717 | TAny _ ->
718 180
719 | TArob ->
720 179
721 | TArobArob ->
722 178
723 | TAssign _ ->
724 177
725 | TBang _ ->
726 176
727 | TBang0 ->
728 175
729 | TBreak _ ->
730 174
731 | TCBrace _ ->
732 173
733 | TCCro _ ->
734 172
735 | TCEllipsis _ ->
736 171
737 | TCPar _ ->
738 170
739 | TCPar0 _ ->
740 169
741 | TCase _ ->
742 168
743 | TChar _ ->
744 167
745 | TComma _ ->
746 166
747 | TConstant ->
748 165
749 | TContext ->
750 164
751 | TContinue _ ->
752 163
753 | TCppConcatOp ->
754 162
755 | TDec _ ->
756 161
757 | TDeclaration ->
758 160
759 | TDeclarer ->
760 159
761 | TDeclarerId _ ->
762 158
763 | TDefault _ ->
764 157
765 | TDefine _ ->
766 156
767 | TDefineParam _ ->
768 155
769 | TDepends ->
770 154
771 | TDisable ->
772 153
773 | TDmOp _ ->
774 152
775 | TDo _ ->
776 151
777 | TDot _ ->
778 150
779 | TDotDot _ ->
780 149
781 | TEllipsis _ ->
782 148
783 | TElse _ ->
784 147
785 | TEq _ ->
786 146
787 | TEqEq _ ->
788 145
789 | TError ->
790 144
791 | TEver ->
792 143
793 | TExists ->
794 142
795 | TExpression ->
796 141
797 | TExtends ->
798 140
799 | TField ->
800 139
801 | TFinalize ->
802 138
803 | TFloat _ ->
804 137
805 | TFor _ ->
806 136
807 | TForall ->
808 135
809 | TFresh ->
810 134
811 | TFunDecl _ ->
812 133
813 | TFunction ->
814 132
815 | TGenerated ->
816 131
817 | TGoto _ ->
818 130
819 | TIdExpression ->
820 129
821 | TIdent _ ->
822 128
823 | TIdentifier ->
824 127
825 | TIf _ ->
826 126
827 | TInc _ ->
828 125
829 | TIncludeL _ ->
830 124
831 | TIncludeNL _ ->
832 123
833 | TInitialiser ->
834 122
835 | TInitialize ->
836 121
837 | TInt _ ->
838 120
839 | TInvalid ->
840 119
841 | TIso ->
842 118
843 | TIsoArgExpression ->
844 117
845 | TIsoDeclaration ->
846 116
847 | TIsoExpression ->
848 115
849 | TIsoStatement ->
850 114
851 | TIsoTestExpression ->
852 113
853 | TIsoToTestExpression ->
854 112
855 | TIsoTopLevel ->
856 111
857 | TIsoType ->
858 110
859 | TIterator ->
860 109
861 | TIteratorId _ ->
862 108
863 | TLineEnd _ ->
864 107
865 | TLocal ->
866 106
867 | TLogOp _ ->
868 105
869 | TMPtVirg ->
870 104
871 | TMetaConst _ ->
872 103
873 | TMetaDecl _ ->
874 102
875 | TMetaDeclarer _ ->
876 101
877 | TMetaErr _ ->
878 100
879 | TMetaExp _ ->
880 99
881 | TMetaExpList _ ->
882 98
883 | TMetaField _ ->
884 97
885 | TMetaFunc _ ->
886 96
887 | TMetaId _ ->
888 95
889 | TMetaIdExp _ ->
890 94
891 | TMetaInit _ ->
892 93
893 | TMetaIterator _ ->
894 92
895 | TMetaLocalFunc _ ->
896 91
897 | TMetaLocalIdExp _ ->
898 90
899 | TMetaParam _ ->
900 89
901 | TMetaParamList _ ->
902 88
903 | TMetaPos _ ->
904 87
905 | TMetaStm _ ->
906 86
907 | TMetaStmList _ ->
908 85
909 | TMetaType _ ->
910 84
911 | TMid0 _ ->
912 83
913 | TMinus _ ->
914 82
915 | TMinusFile _ ->
916 81
917 | TMul _ ->
918 80
919 | TName ->
920 79
921 | TNever ->
922 78
923 | TNotEq _ ->
924 77
925 | TNothing ->
926 76
927 | TOBrace _ ->
928 75
929 | TOCro _ ->
930 74
931 | TOEllipsis _ ->
932 73
933 | TOInit _ ->
934 72
935 | TOPar _ ->
936 71
937 | TOPar0 _ ->
938 70
939 | TOn ->
940 69
941 | TOr _ ->
942 68
943 | TOrLog _ ->
944 67
945 | TPArob ->
946 66
947 | TPCEllipsis _ ->
948 65
949 | TPOEllipsis _ ->
950 64
951 | TParameter ->
952 63
953 | TPathIsoFile _ ->
954 62
955 | TPlus _ ->
956 61
957 | TPlus0 ->
958 60
959 | TPlusFile _ ->
960 59
961 | TPosAny ->
962 58
963 | TPosition ->
964 57
965 | TPragma _ ->
966 56
967 | TPtVirg _ ->
968 55
969 | TPtrOp _ ->
970 54
971 | TPure ->
972 53
973 | TReturn _ ->
974 52
975 | TRightIso ->
976 51
977 | TRuleName _ ->
978 50
979 | TScript ->
980 49
981 | TScriptData _ ->
982 48
983 | TShLOp _ ->
984 47
985 | TShROp _ ->
986 46
987 | TSizeof _ ->
988 45
989 | TStatement ->
990 44
991 | TStrict _ ->
992 43
993 | TString _ ->
994 42
995 | TSub _ ->
996 41
997 | TSwitch _ ->
998 40
999 | TTilde _ ->
1000 39
1001 | TTildeEq _ ->
1002 38
1003 | TTildeExclEq _ ->
1004 37
1005 | TType ->
1006 36
1007 | TTypeId _ ->
1008 35
1009 | TTypedef ->
1010 34
1011 | TUnderscore ->
1012 33
1013 | TUsing ->
1014 32
1015 | TVirtual ->
1016 31
1017 | TWhen _ ->
1018 30
1019 | TWhenFalse _ ->
1020 29
1021 | TWhenTrue _ ->
1022 28
1023 | TWhile _ ->
1024 27
1025 | TWhy _ ->
1026 26
1027 | TWhy0 ->
1028 25
1029 | TWords ->
1030 24
1031 | TXor _ ->
1032 23
1033 | Tattr _ ->
1034 22
1035 | Tauto _ ->
1036 21
1037 | Tchar _ ->
1038 20
1039 | Tconst _ ->
1040 19
1041 | Tdouble _ ->
1042 18
1043 | Tenum _ ->
1044 17
1045 | Textern _ ->
1046 16
1047 | Tfloat _ ->
1048 15
1049 | Tinline _ ->
1050 14
1051 | Tint _ ->
1052 13
1053 | Tlist ->
1054 12
1055 | Tlong _ ->
1056 11
1057 | Tregister _ ->
1058 10
1059 | Tshort _ ->
1060 9
1061 | Tsigned _ ->
1062 8
1063 | Tstatic _ ->
1064 7
1065 | Tstruct _ ->
1066 6
1067 | Ttypedef _ ->
1068 5
1069 | Tunion _ ->
1070 4
1071 | Tunsigned _ ->
1072 3
1073 | Tvoid _ ->
1074 2
1075 | Tvolatile _ ->
1076 1
1077
1078 let error_terminal =
1079 0
1080
1081 let token2value : token -> Obj.t =
1082 fun _tok ->
1083 match _tok with
1084 | EOF ->
1085 Obj.repr ()
1086 | TAnd _v ->
1087 Obj.repr _v
1088 | TAndLog _v ->
1089 Obj.repr _v
1090 | TAny _v ->
1091 Obj.repr _v
1092 | TArob ->
1093 Obj.repr ()
1094 | TArobArob ->
1095 Obj.repr ()
1096 | TAssign _v ->
1097 Obj.repr _v
1098 | TBang _v ->
1099 Obj.repr _v
1100 | TBang0 ->
1101 Obj.repr ()
1102 | TBreak _v ->
1103 Obj.repr _v
1104 | TCBrace _v ->
1105 Obj.repr _v
1106 | TCCro _v ->
1107 Obj.repr _v
1108 | TCEllipsis _v ->
1109 Obj.repr _v
1110 | TCPar _v ->
1111 Obj.repr _v
1112 | TCPar0 _v ->
1113 Obj.repr _v
1114 | TCase _v ->
1115 Obj.repr _v
1116 | TChar _v ->
1117 Obj.repr _v
1118 | TComma _v ->
1119 Obj.repr _v
1120 | TConstant ->
1121 Obj.repr ()
1122 | TContext ->
1123 Obj.repr ()
1124 | TContinue _v ->
1125 Obj.repr _v
1126 | TCppConcatOp ->
1127 Obj.repr ()
1128 | TDec _v ->
1129 Obj.repr _v
1130 | TDeclaration ->
1131 Obj.repr ()
1132 | TDeclarer ->
1133 Obj.repr ()
1134 | TDeclarerId _v ->
1135 Obj.repr _v
1136 | TDefault _v ->
1137 Obj.repr _v
1138 | TDefine _v ->
1139 Obj.repr _v
1140 | TDefineParam _v ->
1141 Obj.repr _v
1142 | TDepends ->
1143 Obj.repr ()
1144 | TDisable ->
1145 Obj.repr ()
1146 | TDmOp _v ->
1147 Obj.repr _v
1148 | TDo _v ->
1149 Obj.repr _v
1150 | TDot _v ->
1151 Obj.repr _v
1152 | TDotDot _v ->
1153 Obj.repr _v
1154 | TEllipsis _v ->
1155 Obj.repr _v
1156 | TElse _v ->
1157 Obj.repr _v
1158 | TEq _v ->
1159 Obj.repr _v
1160 | TEqEq _v ->
1161 Obj.repr _v
1162 | TError ->
1163 Obj.repr ()
1164 | TEver ->
1165 Obj.repr ()
1166 | TExists ->
1167 Obj.repr ()
1168 | TExpression ->
1169 Obj.repr ()
1170 | TExtends ->
1171 Obj.repr ()
1172 | TField ->
1173 Obj.repr ()
1174 | TFinalize ->
1175 Obj.repr ()
1176 | TFloat _v ->
1177 Obj.repr _v
1178 | TFor _v ->
1179 Obj.repr _v
1180 | TForall ->
1181 Obj.repr ()
1182 | TFresh ->
1183 Obj.repr ()
1184 | TFunDecl _v ->
1185 Obj.repr _v
1186 | TFunction ->
1187 Obj.repr ()
1188 | TGenerated ->
1189 Obj.repr ()
1190 | TGoto _v ->
1191 Obj.repr _v
1192 | TIdExpression ->
1193 Obj.repr ()
1194 | TIdent _v ->
1195 Obj.repr _v
1196 | TIdentifier ->
1197 Obj.repr ()
1198 | TIf _v ->
1199 Obj.repr _v
1200 | TInc _v ->
1201 Obj.repr _v
1202 | TIncludeL _v ->
1203 Obj.repr _v
1204 | TIncludeNL _v ->
1205 Obj.repr _v
1206 | TInitialiser ->
1207 Obj.repr ()
1208 | TInitialize ->
1209 Obj.repr ()
1210 | TInt _v ->
1211 Obj.repr _v
1212 | TInvalid ->
1213 Obj.repr ()
1214 | TIso ->
1215 Obj.repr ()
1216 | TIsoArgExpression ->
1217 Obj.repr ()
1218 | TIsoDeclaration ->
1219 Obj.repr ()
1220 | TIsoExpression ->
1221 Obj.repr ()
1222 | TIsoStatement ->
1223 Obj.repr ()
1224 | TIsoTestExpression ->
1225 Obj.repr ()
1226 | TIsoToTestExpression ->
1227 Obj.repr ()
1228 | TIsoTopLevel ->
1229 Obj.repr ()
1230 | TIsoType ->
1231 Obj.repr ()
1232 | TIterator ->
1233 Obj.repr ()
1234 | TIteratorId _v ->
1235 Obj.repr _v
1236 | TLineEnd _v ->
1237 Obj.repr _v
1238 | TLocal ->
1239 Obj.repr ()
1240 | TLogOp _v ->
1241 Obj.repr _v
1242 | TMPtVirg ->
1243 Obj.repr ()
1244 | TMetaConst _v ->
1245 Obj.repr _v
1246 | TMetaDecl _v ->
1247 Obj.repr _v
1248 | TMetaDeclarer _v ->
1249 Obj.repr _v
1250 | TMetaErr _v ->
1251 Obj.repr _v
1252 | TMetaExp _v ->
1253 Obj.repr _v
1254 | TMetaExpList _v ->
1255 Obj.repr _v
1256 | TMetaField _v ->
1257 Obj.repr _v
1258 | TMetaFunc _v ->
1259 Obj.repr _v
1260 | TMetaId _v ->
1261 Obj.repr _v
1262 | TMetaIdExp _v ->
1263 Obj.repr _v
1264 | TMetaInit _v ->
1265 Obj.repr _v
1266 | TMetaIterator _v ->
1267 Obj.repr _v
1268 | TMetaLocalFunc _v ->
1269 Obj.repr _v
1270 | TMetaLocalIdExp _v ->
1271 Obj.repr _v
1272 | TMetaParam _v ->
1273 Obj.repr _v
1274 | TMetaParamList _v ->
1275 Obj.repr _v
1276 | TMetaPos _v ->
1277 Obj.repr _v
1278 | TMetaStm _v ->
1279 Obj.repr _v
1280 | TMetaStmList _v ->
1281 Obj.repr _v
1282 | TMetaType _v ->
1283 Obj.repr _v
1284 | TMid0 _v ->
1285 Obj.repr _v
1286 | TMinus _v ->
1287 Obj.repr _v
1288 | TMinusFile _v ->
1289 Obj.repr _v
1290 | TMul _v ->
1291 Obj.repr _v
1292 | TName ->
1293 Obj.repr ()
1294 | TNever ->
1295 Obj.repr ()
1296 | TNotEq _v ->
1297 Obj.repr _v
1298 | TNothing ->
1299 Obj.repr ()
1300 | TOBrace _v ->
1301 Obj.repr _v
1302 | TOCro _v ->
1303 Obj.repr _v
1304 | TOEllipsis _v ->
1305 Obj.repr _v
1306 | TOInit _v ->
1307 Obj.repr _v
1308 | TOPar _v ->
1309 Obj.repr _v
1310 | TOPar0 _v ->
1311 Obj.repr _v
1312 | TOn ->
1313 Obj.repr ()
1314 | TOr _v ->
1315 Obj.repr _v
1316 | TOrLog _v ->
1317 Obj.repr _v
1318 | TPArob ->
1319 Obj.repr ()
1320 | TPCEllipsis _v ->
1321 Obj.repr _v
1322 | TPOEllipsis _v ->
1323 Obj.repr _v
1324 | TParameter ->
1325 Obj.repr ()
1326 | TPathIsoFile _v ->
1327 Obj.repr _v
1328 | TPlus _v ->
1329 Obj.repr _v
1330 | TPlus0 ->
1331 Obj.repr ()
1332 | TPlusFile _v ->
1333 Obj.repr _v
1334 | TPosAny ->
1335 Obj.repr ()
1336 | TPosition ->
1337 Obj.repr ()
1338 | TPragma _v ->
1339 Obj.repr _v
1340 | TPtVirg _v ->
1341 Obj.repr _v
1342 | TPtrOp _v ->
1343 Obj.repr _v
1344 | TPure ->
1345 Obj.repr ()
1346 | TReturn _v ->
1347 Obj.repr _v
1348 | TRightIso ->
1349 Obj.repr ()
1350 | TRuleName _v ->
1351 Obj.repr _v
1352 | TScript ->
1353 Obj.repr ()
1354 | TScriptData _v ->
1355 Obj.repr _v
1356 | TShLOp _v ->
1357 Obj.repr _v
1358 | TShROp _v ->
1359 Obj.repr _v
1360 | TSizeof _v ->
1361 Obj.repr _v
1362 | TStatement ->
1363 Obj.repr ()
1364 | TStrict _v ->
1365 Obj.repr _v
1366 | TString _v ->
1367 Obj.repr _v
1368 | TSub _v ->
1369 Obj.repr _v
1370 | TSwitch _v ->
1371 Obj.repr _v
1372 | TTilde _v ->
1373 Obj.repr _v
1374 | TTildeEq _v ->
1375 Obj.repr _v
1376 | TTildeExclEq _v ->
1377 Obj.repr _v
1378 | TType ->
1379 Obj.repr ()
1380 | TTypeId _v ->
1381 Obj.repr _v
1382 | TTypedef ->
1383 Obj.repr ()
1384 | TUnderscore ->
1385 Obj.repr ()
1386 | TUsing ->
1387 Obj.repr ()
1388 | TVirtual ->
1389 Obj.repr ()
1390 | TWhen _v ->
1391 Obj.repr _v
1392 | TWhenFalse _v ->
1393 Obj.repr _v
1394 | TWhenTrue _v ->
1395 Obj.repr _v
1396 | TWhile _v ->
1397 Obj.repr _v
1398 | TWhy _v ->
1399 Obj.repr _v
1400 | TWhy0 ->
1401 Obj.repr ()
1402 | TWords ->
1403 Obj.repr ()
1404 | TXor _v ->
1405 Obj.repr _v
1406 | Tattr _v ->
1407 Obj.repr _v
1408 | Tauto _v ->
1409 Obj.repr _v
1410 | Tchar _v ->
1411 Obj.repr _v
1412 | Tconst _v ->
1413 Obj.repr _v
1414 | Tdouble _v ->
1415 Obj.repr _v
1416 | Tenum _v ->
1417 Obj.repr _v
1418 | Textern _v ->
1419 Obj.repr _v
1420 | Tfloat _v ->
1421 Obj.repr _v
1422 | Tinline _v ->
1423 Obj.repr _v
1424 | Tint _v ->
1425 Obj.repr _v
1426 | Tlist ->
1427 Obj.repr ()
1428 | Tlong _v ->
1429 Obj.repr _v
1430 | Tregister _v ->
1431 Obj.repr _v
1432 | Tshort _v ->
1433 Obj.repr _v
1434 | Tsigned _v ->
1435 Obj.repr _v
1436 | Tstatic _v ->
1437 Obj.repr _v
1438 | Tstruct _v ->
1439 Obj.repr _v
1440 | Ttypedef _v ->
1441 Obj.repr _v
1442 | Tunion _v ->
1443 Obj.repr _v
1444 | Tunsigned _v ->
1445 Obj.repr _v
1446 | Tvoid _v ->
1447 Obj.repr _v
1448 | Tvolatile _v ->
1449 Obj.repr _v
1450
1451 let default_reduction =
1452 (16, "\000\000\000\000\002\224\000u\000\000\000\000\003/\001h\000\000\001f\001g\001e\000\000\001j\001i\000\001\000\000\001\156\000\000\000\000\000\133\000\000\000\000\001\146\000\182\000\000\000\000\000\169\000\000\000\000\000\174\000\173\000\000\000\170\000\000\000\168\000\000\000\000\000\000\000\172\000\000\000\171\003h\003g\000\000\000\000\000\162\000\000\000\000\000\167\000\166\000\000\000\163\000\000\000\161\000\000\000\000\000\000\000\165\000\000\000\164\000\000\000\176\000\000\000\000\000\181\000\180\000\000\000\177\000\000\000\184\000\000\000\000\000\000\001b\000\000\000\000\000\000\001a\000\000\000\000\0015\0014\0013\0012\0011\0010\000\000\001\029\002&\000\000\000\000\002%\000\000\000\000\000\000\000\145\000\000\000\000\000\144\002)\001.\000\000\000\000\000\186\000\000\000\000\000\000\000\000\000\187\000\185\000\000\000\183\000\132\000\000\000\175\000\000\000\192\000\000\000\000\000\000\000\179\000\000\000\000\000\000\003\\\003b\000\000\000\000\000\000\000\000\000\000\003]\003^\000\000\000\000\000\189\000\000\003`\000\000\000\000\000\000\003\230\002\170\000\000\003\228\000\000\002\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\227\003\229\002\176\001]\002\175\001[\001\\\002\174\002\173\002\172\002\168\000\000\000\000\002\169\001\023\000\000\002\171\000\000\003\226\000\000\000g\001Z\002\139\000\000\000\000\002\142\000\000\000\000\000\000\000\000\000\000\000\000\001\024\002\167\002\179\000_\000\021\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\000\000\000\023\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\002f\000V\001\"\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\000X\000\000\000W\000\000\002\204\000\000\000\227\000\000\000\000\001\253\000\000\001\170\001\234\000\000\000\000\001\252\000\000\000\000\000\214\000\000\000\000\000\201\000\000\000\000\000\206\000\205\000\000\000\202\000\000\000\200\000\000\000\000\000\000\000\204\000\000\000\203\000\000\000\000\000\194\000\000\000\000\000\199\000\198\000\000\000\195\000\000\000\193\000\000\000\000\000\000\000\197\000\000\000\196\000\000\000\208\000\000\000\000\000\213\000\212\000\000\000\209\000\000\000\216\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\000\000\000\000\219\000\217\000\000\000\215\000\000\000\207\000\000\000\224\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\223\000\000\000\000\000\159\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002L\000\232\000\000\000\000\000\000\000\000\000\000\002:\002K\002\002\000\000\000\000\000\000\000\000\000\000\001-\000\236\000\000\002\003\000\000\000\000\000\000\000\000\000\231\000\229\000\157\000\000\000\000\000\156\002>\002;\000\000\000\000\003d\000\000\003c\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\000\000\000\000\000\000\222\000\220\000\000\000\000\003f\003a\000\210\000\000\001\168\001\233\000\000\002\202\002\201\000\015\002\200\002\199\002\198\002\194\000\000\000\000\000\000\002\203\002\195\000\000\002\197\000\000\000\000\000k\002\153\000\000\000\000\002\156\000\000\000\000\000\000\000\000\000\000\000\000\000[\000\000\000Z\000\137\002\205\002\193\000\014\000\016\000Y\0003\001\021\000c\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\000\000\0005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\023\002\027\000\000\000\000\000\136\001%\001#\000\000\002\159\000\000\000\000\002\154\002\157\000\000\002\155\002\158\003\215\003\216\003\214\003\213\002\024\000\000\002\145\000\000\000\000\002\140\002\143\000\000\002\141\002\144\003\201\003\202\003\200\000\000\002\177\003\199\000\000\000\000\000l\001:\000\000\002\012\000\000\000\000\000\000\000\000\000\000\001\027\002\018\000\000\000\000\001\180\000\000\002\178\000\000\000\000\000h\000\000\000\000\003\218\003\217\000\000\002\r\000\000\000\000\003\204\003\203\000\000\000U\000\228\000\000\001\148\000\000\003e\000\000\000\000\000\000\000\000\000\190\000\188\000\000\001!\000\000\000\000\000\191\000\178\000\000\000\000\001|\000\000\001{\000\000\001\138\000\000\001\158\000\000\000\000\000\000\003\152\000\000\000\000\003\139\000\000\000\000\003\144\003\143\000\000\003\140\000\000\003\138\000\000\000\000\000\000\003\142\000\000\003\141\000\000\000\000\003\132\000\000\000\000\003\137\003\136\000\000\003\133\000\000\003\131\000\000\000\000\000\000\003\135\000\000\003\134\000\000\003\146\000\000\000\000\003\151\003\150\000\000\003\147\000\000\003\154\000\000\000\000\000\000\000\000\003\156\000\000\000\000\000\000\000\000\003\157\003\155\000\000\003\153\000\000\003\145\000\000\003\162\000\000\000\000\000\000\003\149\000\000\000\000\003\195\000\000\000\000\000\000\000\000\003\161\003\148\000\000\003\197\000\000\000\000\003?\003\196\000}\000\000\001\t\000\000\000\000\000\000\000\000\003\159\000\000\000\000\000\000\000\000\003\160\003\158\000\000\000\000\003\184\000\000\000\000\003\171\000\000\000\000\003\176\003\175\000\000\003\172\000\000\003\170\000\000\000\000\000\000\003\174\000\000\003\173\000\000\000\000\003\164\000\000\000\000\003\169\003\168\000\000\003\165\000\000\003\163\000\000\000\000\000\000\003\167\000\000\003\166\000\000\003\178\000\000\000\000\003\183\003\182\000\000\003\179\000\000\003\186\000\000\000\000\000\000\000\000\003\188\000\000\000\000\000\000\000\000\003\189\003\187\000\000\003\185\000\000\003\177\000\000\003\194\000\000\000\000\000\000\003\181\000\000\000\000\000\000\000\000\003\193\003\180\000\000\000\000\000\000\000\000\003\191\000\000\000\000\000\000\000\000\003\192\003\190\003X\003Z\003[\003Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\234\000\246\000\233\000\000\000\000\000r\000\000\000\000\000\000\002\183\000\000\000\000\000\000\002\191\000\000\000\000\002\190\000\000\003\211\002\189\002\188\002\187\002\186\002\185\001x\002\181\000\000\000\000\002\182\000\000\002\184\000\000\000\000\000\000\000\000\000\000\000i\002\146\000\000\000\000\002\149\000\000\000\000\002\152\000\000\000\000\002\147\002\150\000\000\002\148\002\151\002\192\002\180\000j\003\208\003\209\003\207\003\206\003\210\000\000\000\000\000\000\000\000\001\020\001\019\000\000\000\000\000\000\000\000\000\000\000\000\001r\000\000\001\031\001p\000\000\001\018\000\000\002-\000\000\000\000\001u\000\000\000\000\001v\000\000\001\154\000$\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\000\000\000&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\149\000\000\000\000\000\148\0020\001)\000\000\001t\001w\000\000\001q\000\000\001\002\000\000\003)\000\000\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\000\000\001\b\000\000\000\000\000\000\000\000\000\000\000\000\001`\000\000\000\000\000\000\000\251\000\000\000\248\000\000\000\000\000\000\000\000\000\000\001\003\000\000\000\255\000\000\000\000\000\000\000\000\001\000\000\000\000\252\000\000\000\000\000\000\002\209\000\000\000\000\000\000\000\000\002\216\000\000\000\000\002\215\002\214\002\213\002\212\002\211\002\207\000\000\000\000\002\208\000\000\002\210\000\000\000\000\000m\002\160\000\000\000\000\002\163\000\000\000\000\002\166\000\000\000\000\002\161\002\164\000\000\002\162\002\165\002\218\002\206\003\222\003\223\003\221\003\220\000n\000\000\000\000\000^\000\000\000]\000\000\002\217\000\000\001\235\000\\\000B\0019\000d\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\000D\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\225\003\224\000\000\003O\000\000\003N\000\000\000\000\000\000\000\000\003\237\000\000\000\000\000\000\003\238\000\000\000\018\000\000\000\000\000\000\003\233\000\000\001\182\000\000\000\000\000\000\000\237\003E\001\144\001\143\001l\001k\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003S\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\141\001\025\000\000\000\000\002\030\000\000\000\000\000\140\002\"\002\031\001'\001\n\000\000\001\012\001\011\000\000\003Q\000\000\003P\003B\000\000\000\000\000\000\000\000\000\000\003K\000\000\000\000\000\000\000\000\003L\003D\000\000\003R\000\000\003F\000\000\000\241\001m\000\000\003U\000\000\001o\000\000\000\000\003n\000\000\003u\000\243\000\000\000\249\000\000\003o\000\242\000\000\003p\000\000\003w\000\000\000\000\000\000\000\000\001\006\000\000\000\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\004\000\000\000\000\001\007\000\000\000\000\000\000\000\000\001_\000\000\000\000\000\000\000\250\000\000\000\247\000\000\000\000\000\000\000\000\000\000\001\001\000\000\000\253\000\239\000\238\000\000\003x\003y\000\000\003z\000\000\003{\000\000\001n\003I\000\000\000\000\002\001\000\000\001\178\001\239\000\000\003C\000\000\000\000\000\000\003H\000\000\000\000\000\000\001S\000\000\001M\000\000\001N\000\000\001X\001L\001W\000\000\003T\001Y\000\000\000\244\000\000\000\000\000\000\000\000\001U\001P\001\254\000\000\001Q\000\000\001R\000\000\001\172\001\236\000\000\000\000\000\000\002\b\000\000\002\006\000\000\000\000\002\n\002\004\000\000\002\011\002\005\000\000\003V\002\014\000\000\000\240\000\000\000\000\001\255\000\000\001\174\001\237\000\000\003\234\000\000\003\231\000\000\003\232\000\019\000\020\000\000\000\000\003\r\000\000\003\012\000\000\002N\000\000\003\015\000\000\003\014\000\000\000\000\000\000\002V\000\000\000\000\002Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002]\000\000\000\000\002`\000\000\002P\000\000\000\000\002S\000\000\000\000\000\000\002W\000\000\000\000\002[\000\000\000\000\002\000\000\000\000\000\002T\000\000\000\000\002X\003\n\002Q\000\000\003\011\000\000\000\000\000\000\000\000\002^\000\000\002M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\\\000\000\000\000\002_\000\000\002O\000\000\000\000\002R\000\000\000\000\000\000\002U\000\000\000\000\002Y\000\000\001\176\001\238\000\000\003\016\000\000\000\000\000\000\003\235\000\017\000p\000\000\003\236\000\000\000\000\003%\000\000\000\000\003W\000e\000\000\000\000\000\000\000f\000\000\003M\000\000\001\150\000\000\001\152\003J\000\000\000\000\001\130\000\000\001\129\000\000\001\139\000\000\001\164\000\000\000\000\000\000\001\128\000\000\001\127\000\000\001\136\000\000\001\162\000\000\000\000\000\000\001\135\000\000\000\000\000\000\001\132\000\000\001\131\000\000\001\137\000\000\001\166\000\000\000\000\000\000\001\133\000\000\000\000\000\000\001~\000\000\001}\000\000\001\140\000\000\001\160\000\000\000\000\000\000\001\134\000\002\000\000\000R\000S\000\000\000\000\002\234\002\238\002\242\002\230\002\227\000\000\000\000\002\239\002\246\002\231\002\245\002\229\002\244\002\233\002\225\002\232\002\241\002\228\002\235\002\226\002\237\002\243\002\240\002\236\001\200\001\199\000{\000\000\000\000\003;\000\000\000\000\003\031\000\000\000\000\003!\003 \003\000\000\000\000\000\003A\002\248\002\247\002\249\000\000\001\214\000Q\001\141\000\003\000\000\000\000\002\221\000\000\002d\000\000\000|\000\000\000\000\003=\000\000\000\000\000\000\000t\000\000\000\000\003-\000\000\002H\002G\001\194\003\001\000\000\001\230\000\000\002\222\000\000\000\000\000v\000\000\000\000\0031\000\000\001\211\000\000\000\000\001\205\000\000\000\000\000\000\001\210\000\000\001\207\000\000\000\000\000\000\001\184\001\183\000\000\000\000\000\000\001\231\000\000\001\203\000\000\001\202\000\000\000q\000\000\000\000\003'\000\000\000\000\001\198\000\000\000\000\000y\000\000\000\000\0037\000\000\000\000\003\b\000\000\003\007\000\000\000\000\000\000\002F\002E\003\005\002l\002\252\003\006\000\000\001\217\000\000\000\000\000\000\001\213\000\000\001\219\000\000\000\000\001\206\000\000\000\000\000\000\002\254\000z\000\000\000\000\0039\000\000\002\253\000\000\001\215\000\000\000\000\001\216\000\000\000\000\001\209\000\000\000\000\001>\000\000\001=\000\000\000\000\000\000\000\000\000\000\001\232\000\000\001\204\000\000\001<\000\000\002\020\000w\000\000\000\000\0033\000\000\000\000\000\000\000\000\003j\003i\000\000\000\000\001d\000s\001c\000\000\000\000\003+\000\000\002@\002?\002B\002\250\002h\002A\001;\000\000\000x\000\000\000\000\0035\000\000\000\000\000\000\000\000\002D\002C\003\004\003\002\002j\002\251\003\003\000\000\001\224\000\000\001\228\000\000\000\000\001\220\000\000\000\000\000\000\001\212\000\000\001\218\000\000\000\000\001\208\000\000\000\000\000\000\000\000\001\197\000\000\000\000\001\227\000\000\001\226\000\000\000\000\000\000\000\000\001\223\000\000\000\000\001\222\000\000\001\221\000\000\000\000\000\000\000\000\001\225\000\000\001\229\000\000\000\000\001\142\000\004\000\000\001\201\000\005\000\000\000\000\001A\000\006\000\000\001\243\001\244\001\242\000\000\001\241\003k\001\190\000\000\000\007\000\000\001\246\001\247\001\245\000\000\000\000\000\000\000\000\001C\000\000\000\000\000\000\000\000\001H\001J\001I\001D\001F\001E\000\000\000\000\000\000\000\000\000\000\003q\003~\000\000\003r\000\000\003s\000\000\000\000\003l\000\000\000\000\000\000\000\000\003}\000\000\000\000\003|\001\251\001\250\000\000\000\000\001\192\001\240\001\248\000\000\000\000\000\000\000\000\000\000\002J\000\000\000\000\000\000\000\000\000\000\0023\002I\000\000\000\000\000\000\000\153\000\000\000\000\000\152\0027\0024\001+\000\235\000\000\000\000\000\000\000\000\001^\000\000\003\129\000\000\003\130\000\000\000\000\002\017\002\015\000\000\002\016\000\b\000\000\000\t\000\000\002{\002|\002z\000\000\002y\000\000\000\n\000\000\002~\002\127\002}\000\000\002\129\000\000\000\000\000\000\002s\000\000\000\000\002u\000\000\002o\000\000\002q\000\000\002v\000\000\002w\000\000\002p\002n\002\130\001\196\002x\000\000\002\132\000\000\002\131\000\000\002\133\000\000\003\t\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\002\137\000\000\002\136\000\000\002\135\001\r\000\000\000\000\000\000\000\000\001\014\002\138\000\000\000\000\000\000\003\021\000\000\003\020\000\000\000\000\000\000\000\000\003\022\000\000\000\000\001@\000\000\000\000\000\000\000\000\000\000\003#\000o\000\000\000\000\001\022\000\000\0017\0016\000\000\001z\000\000\003\019\001\188\001\186\000\000\000\000\000\000\000\000\003\023\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\018\000\000\000\000\000\000\000\000\000\000\000\000\003\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\030\000\000\000\000\003\029\000\000\003\026\000\000\000\000\000\000\000\000\000\000\003\027\000\000\000\000\000\000\003\028\000\r\000\000\003\024\000\000\003\025")
1453
1454 let error =
1455 (184, "\000\000\000\001\128\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\001\006\000\000\002\0040\000\000\000\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\252\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001*\134\128(\b5A\001!\152\017\1284\002!\222\004\128\001\014d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001v\142\000\000\0001\000\001\000\024\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001v\142\000\000\0001\000\001\000\024\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\001\000\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\001\000\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000 \000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\003\017\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\b\000\001\000\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\b\000\001\000\000\000\000\128\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\b\000\001\000\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\b\000\001\000\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\b\000\001\000\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\016\000 \000\002\b\b\000@\000\000\000\128\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000\000\000\000\128\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000 \000\000\000\000\000\000\000\000 \000\002 \000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\b\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\019\004\217d\176\000\000P\002\004\000\000n\128Bxw\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131H\1683\185\000\000\132\128@\b\000A \130z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\024\004\176\000\000P\002\000\000\000l\128\000hw\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000l\128\002xw\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\012\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000\016\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\b\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\b\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\001\000\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\b\000\001\000\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\000\000\000\004\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\001\000\000\000\000\128\000\000\000\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\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\b\000\000 \000z\213x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\000\000\000 \000z\213x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\002 \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\001\000\000\000\000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000 \000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000\000\000\000\128\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\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\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\017$ \004\131H\1683\185\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\002\004Y$\160\000\000@\000\004\000\000j\128B0F\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131H\1683\185\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000\017$ \004\131H\1683\185\000\000\132\128@\000\000A \130z\213x\000\017$ \004\131H\1683\185\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000h\128\0020F\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\012\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000\017$ \004\131H\1683\185\000\000\132\128@\b\000A \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\002 \000z\213x\000\017$ \004\131H\1683\185\000\000\132\128@\b\000A \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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\b\000\000\016\000\000\000\000\002\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\b\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\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\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000 \000\000\000\000\000\000\000\000 \000\002 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\b\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\b\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\001\000\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\b\000\001\000\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000\000\000\000\128\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000\016\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\b\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\b\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\001\000\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\b\000\001\000\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000\000\000\000\128\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000\016\000 \000\002\000\b\000\006\000\000\000\128\000\000\006\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\003\002\004\025$\160\000\000@\000\004\000\000B\128B\004\006\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131H\1683\185\000\000\132\128@\b\000A \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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\b\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\000\130\000\000\001 \000\003\019\004\217d\176\000\000P\002\004\000\000n\128BTw\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\003\004\025$\176\000\000@\000\004\000\000f\128BDF\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\001$\000\004\0030\1603\153\000\001\132\128@\"\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\004\000\000\000\000\000\000\000\000\001$\000\004\0030\1603\153\000\001\132\128@\"\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\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@\"\000A\004\130\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\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\002\004\000\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\017\128\000\000\000\128\000\000\000\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\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\001\000\001 \000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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:\213h\000\016\000 \000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\b\001\158\160\192\t\030Q\134\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\019\004\217d\176\000\000P\002\004\000\000j\128@Pw\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131H\1683\185\000\000\132\128@\b\000A \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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000h\128\000Pw\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\012\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\001\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\004\000\000\000\000\000\000\001\002 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\016\174;\159\b\001\158\160\192\001\026Q\002\130\127\245\252\016\017\164(\004\131P\190;\159\b\001\158\160\192\t\026QB\130\127\245\252\030\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\030\017\164(\004\003\024\190;\159\024\001\158\164\192\001\030Q\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\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\127\245\252\016\017\164(\004\131P\190;\159\b\001\158\160\192\t\026QB\130\127\245\252\016\017\164(\004\131P\174;\159\b\001\158\160\192\t\026Q\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\001\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\001\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A \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\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\b\000\001\000\000\000\000\128\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\b\000\001\000\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\b\000\001\000\000\000\000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\b\000\001\000\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\b\000\001\000\000\000\000\128\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\b\000\001\000\000\000\000\128\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131H\1683\185\000\000\132\128@\b\000A \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\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\127\245\252\016\017\164(\004\131P\174;\159\024\001\158\160\192\t\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\030\017\164(\004\003\024\190;\159\024\001\158\164\192\001\030Q\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\016\000\000\000\000\000\000\000\000\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\017\164(\004\003\024\174;\159\024\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\128@\000\000\000\016\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\174;\159\024\001\158\160\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\019\004\217d\176\001\000P\002\004\128\000n\128@Pw\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\016\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\024\001\158\160\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\174;\159\024\001\158\160\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131H\1683\185\000\000\132\128@\b\000A \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\000\000\000\000\000\000\000\000\001\000\001\000\000\017\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\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\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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:\213h\000\016\000 \000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\127\245\252\016\017\164(\004\131P\174;\159\024\001\158\160\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\024\001\158\160\192\t\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\001\000\000\017\128\016\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\127\247\254\016\017\1648\004\195P\190;\159\024\003\158\164\192\025\030Q\214\179\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\190;\159\b\001\158\160\192\001\030Q\198\130\000\000\000\000\000\000\000\000\128@\000\000\000\000\000\000\000\000\b\000\000\000\000\127\245\252\016\017\164(\004\003\024\190;\159\b\001\158\160\192\001\030Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\190;\159\b\001\158\160\192\t\030Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\190;\159\b\001\158\160\192\t\030Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000@\000\127\245\252\016\017\164(\004\003\024\190;\159\b\001\158\160\192\001\026QB\130\000\000\000\000\000\000\000\000\128@\016\000\000\000\000\000\000\000\b\000\000@\000\127\245\252\016\017\164(\004\003\024\190;\159\b\001\158\160\192\001\026QB\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\001\000\128@\016\000\000\000\000\000\000\000\b\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\190;\159\b\001\158\160\192\t\026QB\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\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\017\128\000\000\000\128\000\000\000\000@\000\000\000\000\000\000\000\016\000\192@\000\000\000\000\002\000\000\000\b\000\000\016\001\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\192@\000\000\000\000\002\000\000\000\b\000\000\016\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\1648\004\195P\174;\159\b\003\158\160\192\t\026Q\018\131\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\1648\004\195P\174;\159\b\003\158\160\192\t\026Q\018\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\127\245\252\016\017\164(\004\131P\190;\159\b\001\158\160\192\t\026QB\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\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\024\001\158\160\192\t\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\245\252\000\017$(\004\003\000\1683\159\000\001\132\128@\000\002Q\002\130\000\000\000\000\001$\001\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\245\252\000\017$(\004\003\000\1683\159\000\001\132\128@\000\002Q\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\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\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\017\128\000\000\000\128\000\000\000\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\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000 \000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\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\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000{\245\252\000\017$(\004\003\000\1683\159\000\001\132\128@\000\002Q\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\001 \000\003\003\004\025$\176\001\000@\000\004\128\000b\128@@F\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131H\1683\185\000\000\132\128@\b\000A \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\000\000\000\000\000\000\000\000\001\000\001\000\000\017\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\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\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000 \000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\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\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\001\000\001\000\016\017\128\000\000\000\128\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\002\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\001\002\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\b\001\158\160\192\t\030Q\134\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000\016\000 \000\002\000\b\000\006\000\000\000\128\000\000\006\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000\016\000 \000\002\000\b\000\006\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\127\245\252\000\016\000 \000\002\000\b\000\006\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000\016\000 \000\002\000\b\000\006\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@8\b$I\002\016\b\000\000$\000!J\020\128\001\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\b\000\128(\b\004A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000 \000\002\000\000\000\000\000\000\000 \000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\"\000\000\000\000\000\000\000 \000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\213x\0008\b$A\002\016\b\000\000$\000!H\020\128\001\140\000\000z\213x\0008\b \001\002\016\b\000\000$\000!H\020\128\001\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$a\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\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\0008\b$\001\002\016\b\000\000$\000!H\020\128\001\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\0008\b \001\002\016\b\000\000$\000!H\020\128\001\132\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\004\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000\001\000\000\000\164\000!\218\004\128\001\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000!\000\000\000\164\000!\218\004\128\001\014\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000\161\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\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\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\128\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000\000\000\000\004\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\017\000\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128.\b$A\000\005\000\000\000\164\000!\218\004\128\001\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\129(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\002\000\000\000\b\000\129(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000\000\000\000\004\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\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\b@\128(\b$A\000\001\128\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000\001\128\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\128\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(H$A\000%\000\000\000\164\000!\218\004\128\001\014\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000\161\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\128(\b$A\000\001\128\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\128\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\004\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\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\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006@\000\000\000\004\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128.\b$A\000\005\000\000\000\164\000!\218\004\128\001\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\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\1288\b$A\002\017\b\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\b\000\128(\b\004A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128.H$A\000\005\128\000\000\164\000!\218\004\128\001\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\221x\1288\b$A\002\017\136\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\128(\b$A\000!\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@8\b$I\002\016\b\000\000$\000!J\020\128\001\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\2243\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\017\164(\004\131\208\238;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131\208\174;\159\b\001\158\164\192\t\026Q\002\179{\247\254\000\016\000 \000\002\000\b\000\000\000\000\000\004\000\000\000\000\000\000{\247\254\000\016\000 \000\002\000\b\000\000\000\000\000\004\000\000\000\000\000\000{\247\254\000\016\000 \000\002\000\b\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\"\134\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\127\245\252\030\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\179\000\000\000\000\000\000\000\000\128@\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\b\001\158\160\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\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\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\030\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\247\254\000\016\000 \000\002\000\b\000\000\000\000\000\132\000\000\000\000\000\000\001\"\134\000\000\000\000\000\001\000\000\017\128\000\000\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\128\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\b\000\000 \000z\213x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\000\000\000 \000z\213x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\002 \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\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\b\001\158\160\192\t\026Q\006\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\b\001\158\160\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\001\000\001\000\000\017\128\000\000\000\132\000\000\000\000\0001\000\000\000\000\000\000\128\128 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\2243\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131\208\238;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131\208\174;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\003\024\174;\159\b\001\158\164\192\001\026Q\002\179\000\000\000\000\000\000\000\000\128@\000\000\000\000\000\000\000\000\b\000\000\0001\127\247\254\016\017\164(\004\003\024\174;\159\b\001\158\164\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131P\174;\159\b\001\158\164\192\t\026Q\002\179\127\247\254\016\017\164(\004\003\024\174;\159\b\001\158\164\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131P\174;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131P\174;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131P\174;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\001\000\001\000\000\017\128\000\000\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131P\174;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131P\174;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\001\000\001\000\000\017\128\000\000\000\132\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000@\000\000\000\000\000\000\000\000@\145.\000`\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000 \000\000\016\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\001\002\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\001\002\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000 \004\000\000\000\000\000\000 \000\001\002\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\128\000\000\000\016\000\000\000\000\000\000\000\001\006\000@\000 \020\000\000\000\000\000\000 \000\001\002\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\016\000\000\000\000\000\000\000\001\006\000@\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\001\014\000`\000\000\016\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\001\006\000`\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\002\000\016\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\001\014\000`\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\001\006\000`\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\001\006\000`\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\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\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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")
1456
1457 let action =
1458 ((16, "\000\240\000\193\000\000\000\000\n\228\000\193\000\000\000\000\001\248\000\000\000\000\000\000\000\235\000\000\000\000\000\000\000\240\000\000\000u \136\000\000\019x\019x\000\000\000\0000n\019x\000\000D\016\019x\000\000\000\000\019x\000\000\019x\000\000\000\151\000%\019x\000\000\019x\000\000\000\000\000\00018\019x\000\000Db\019x\000\000\000\000\019x\000\000\019x\000\000\000O\000\234\019x\000\000\019x\000\000\019x\000\000D\150\019x\000\000\000\000\019x\000\000\019x\000\000\001J\001J\001J\000\000\000\164\001b\000\015\000\000\000|\000\015\000\000\000\000\000\000\000\000\000\000\000\000\001\212\000\000\000\000\000d\003v\000\000\000\146\004\206\001J\000\000\000\244\005p\000\000\000\000\000\000\001\178\019x\000\000?|\001J\001\190\019x\000\000\000\000\019x\000\000\000\000\019x\000\000\019x\000\000\0022\002\158\019x\000\000 \136D\016O\168\000\000\000\000Oz\00323\004\004&O\168\000\000\000\000\002~\019x\000\000O\168\000\000\000\015\000x>.\000\000\000\000A\168\000\000E~\000\000E\2142\2262\226\024&\024&E~\024&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000Bb2\226\000\000\000\000Bb\000\000Bb\000\0002\226\000\000\000\000\000\000\0280\000\015\000\000\020\230\024&1\1502\226\"V2\226\000\000\000\000\000\000\000\000\000\000\000\000#\1622\226$\1822\226%\0242\226&,2\226\000\0002\226\000\0002\226&\1422\226'\1622\226(\0042\226)\0242\226)z2\226*\1422\226\002\2102\226\000\000\000\000\000\000\000\000\000\0002\226*\2402\226,\0042\226,f2\226\000\000\000\0002\226\000\000\002\234\000\000\003\128\000\000\000\0212\226\000\000\000\021\000\000\000\000\002l \136\000\000\018\182\019x\000\000\001\002\019x\000\000F\146\019x\000\000\000\000\019x\000\000\019x\000\000\003\202\004\024\019x\000\000\019x\000\000\001\244\019x\000\000F\158\019x\000\000\000\000\019x\000\000\019x\000\000\004L\004\250\019x\000\000\019x\000\000\019x\000\000F\174\019x\000\000\000\000\019x\000\000\019x\000\000\004\206\001J\004\188\019x\000\000Db\001J\005\n\019x\000\000\000\000\019x\000\000\019x\000\000\019x\000\000\005n\005\216\019x\000\000D\150O\168\005\128\019x\000\000T\016Pz\000\000\002\186\006V\000\015\005\166\006\208P\198P\198\000\000\000\000\000\1995\bP\198\001<Q\134\000\000\000\000\000\000\001`\006\196\000\015\006\244P\198\000\000\000\000\006\138\000\000\006\210\007\164P\198\006\240\000\000\000\000\000\000\002\012Q\180\000\000\000\000\000\000\007\028\b<\000\000\bT\000\000\018\182\004\242O\168\007j\019x\000\000F\146O\168\007r\019x\000\000\000\000\000\015\bd\000\000\000\000\000\000\002l\000\000\000\000\020\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000G\1882\226\007\134\000\000\000\000G\188\000\000G\188E~\000\000\000\000>\196\000\015\000\000\020\230\002\228\023V\020\230S\2402\226\000\0002\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000U\004E~UfE~U\194E~V\030E~\000\000E~\000\000E~VzE~V\214E~W2E~W\142E~W\234E~XF2\226\007\180E~\000\000E~X\162E~X\254E~YZ\003x\021\182\000\000\000\000\003\220\022\134\000\000\000\000\000\000\007\154\000\0002\226\007\154\000\000\000\000\000\015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\176\000\0002\226\007\176\000\000\000\000\000\015\000\000\000\000\000\000\000\000\000\000\007\188\000\000\000\000\007\194E~\000\000\000\000\007\194\000\000\000\000B\224\b\1282\226\bF\000\000\000\000E~\000\000\000\000\007\216\000\000\007\2382\226\000\000\024&\007\248\000\000\000\000\b\210\000\000\024&\b\002\000\000\000\000\b\n\000\000\000\000\000x\000\000\b\246\000\000F\158O\168\b\014\019x\000\000\000\000\b\150\000\000\b\022\019x\000\000\000\000\000\019 \136\000\000 \136\000\000\b\n\000\000\000\019\000\000\017&#L\019N\000\000\003\154\019N\000\000\019N\019N\000\000\000\000\019N\000\000\019N\000\000\bP\b\132\019N\000\000\019N\000\000\006\186\019N\000\000\019t\019N\000\000\000\000\019N\000\000\019N\000\000\bZ\b\144\019N\000\000\019N\000\000\019N\000\000\019x\019N\000\000\000\000\019N\000\000\019N\000\000\005h\001J\b:\019N\000\000\019b\001J\bB\019N\000\000\000\000\019N\000\000\019N\000\000\019N\000\000\bt\b\172\019N\000\000 \136\b\\\000\000\019xO\168\bV\019N\000\000\000\000\000\246\000\000\000\206\000\246\000\000\000\000\000\000\tD\000\000\006\000O\168\b^\019N\000\000?bO\168\bb\019N\000\000\000\000\024\250\019N\000\000\006\240\019N\000\000?b\019N\000\000\000\000\019N\000\000\019N\000\000\b\146\b\196\019N\000\000\019N\000\000\b(\019N\000\000?l\019N\000\000\000\000\019N\000\000\019N\000\000\b\160\b\210\019N\000\000\019N\000\000\019N\000\000?\228\019N\000\000\000\000\019N\000\000\019N\000\000\006\210\001J\b|\019N\000\000?\128\001J\b\128\019N\000\000\000\000\019N\000\000\019N\000\000\019N\000\000\b\176\b\222\019N\000\000?\218O\168\b\136\019N\000\000\000\000\007\022O\168\b\138\019N\000\000@\028O\168\b\140\019N\000\000\000\000\000\000\000\000\000\000\000\000\t\\2\226\b\152\025\246\tb2\226\b\160\td3\004\000\000\000\000\000\000 \136\000\015\000\000\000v2\226-J\000\000H\1782\226\b\202\000\000\024&\b\216\000\000\b\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I<2\226\000\000I<\000\000I<I\148\024&\b\220I\148\000\000\000\000TP\000\015\000\000\020\230\b\222\000\0002\226\b\220\000\000\000\000\000\015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\226\001\0062\226\b\224\000\000\000\000-J-J\029\\\002\154\t\1602\226\000\000\tf\000\000\000\000\000\015\000\000\029\190\000\000\t\026-J\000\000\t\024-J\000\000\000<\000\000\000\0000FI\148G\028I\148O\212I\148Y\182I\148\000\000I\148\000\000I\148Y\190I\148Z\018I\148Z\026I\148ZnI\148[,I\148[\128I\148[\136I\148[\220I\148[\228\001\210-\212\000\000\002\150.\232-J\000\000\003..^\000\000\000\000\000\000\b\234\000\000\000\000\b\242\000\000\t\228\000\000\000\015\000\000\000v\t\232\000\000\000a\t\184\000\015\t\b\t\208P\198\t\012\002\\\000\0002\226\t\244\000\000\006.\007\218\t\216P\198\t\022\t\254\000\000\001J2\226\n\000\000\000\n\002\000\000\018\182\000\015\002\0242\226\n\004\000\000\n\006\000\000\000\015\004H2\226\n\b\000\000\n\n\000\000\002\166\tR\007$\000\000J\030Jv\024&\t*\000\000\t.Jv\000\000\000\000\000\000\000\000\000\000\000\000K\0002\226\000\000K\000\000\000K\000Jv\000\000\000\000\031\224\000\015\000\000\020\230\t0\000\0002\226\t.\000\000\000\000\000\015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000/\1602\226\000\0002\226\000\000\t6\000\000\000\021\000\000\000\000\000\000\000\000\000\0003\148Jv3\244Jv5\bJv5hJv\000\000Jv\000\000Jv6|Jv6\220Jv7\240Jv8PJv9dJv9\1962\226\tfJv\000\000Jv:\216Jv;8Jv<L\024&\tD\000\000\000\0002\226\000\000\n,\000\000\001l\n\0022\226\t\200\000\000\n\b2\226\t\208\000\000\002\156\000\000\007$\007$\001l\000\000\001l\000\000\017&\007$\007$\000\000\000\000\000\000\000\000\000\000\000\000\n 2\226\t\\\025\246\026\206\000\015\nD\000\000\n,>.\nT>.\nV2\226\t|\025\246\025\246\007\174\006\190\004\172\bn\006\190\000\000\000\000\004\216\br\000\000\004\222\b\168\000\000\000\000\000\000\000\000\000\000\t~\000\000\000\000\nf\000\000\nl\000\000\000\000\n\166\nP2\226\t\140\nt\000\000\nV\020\230\t\146\025\246\000\000\000\000\t\190\000\000\000\021\000\000\005\182\000\000\000\000\001l\000\000\n\020\000\000\012\220\003\028\000\000\012\220\000\000\000\000\030r\000\000\003\028\000\000\000\000\n\000\000\000\012\220\000\000\n^\020\230\t\158\n\134\000\000\001\194\000\000\n^\000\015\t\174\nxP\198\t\180\0064\000\0002\226\n\156\000\000\n~P\198\t\186\n\166\000\000\004\2042\226\n\168\000\000\n\170\000\000\018\182\000\015\005\1782\226\n\172\000\000\n\174\000\000\000\000\000\000\n\000\000\000\000\000\000\026\000\000\007$\000\000\001\194\000\000\000\000\005\150\026\206\000\000\005\150\000\000\000\000\t\204\000\000\000\021\000\003\025\246\000\000\004H\000Q\004H\000\000\000\026\000\000\007$\000\000\007$\000\000\000\000\000\000\t\198\000\000\000\000\t\212\000\000\006\030\005\182\002\208\004H\000\000\000\000\000\000\007\188\000\000\007$\000\000\006\030\000\000\000\000\005\148\000Q\017&\000\000\002\030\000\000\b\146\017&\000\000\000\000\b\146\000\000\000\000\t\212\000\000\000\000\t\218\000\000\006N\007$\000\000\006N\000\000\000\000\nZ\000\000\000\026\000\000\007$\000\000\000\000\000\000\018\136@\184\000\000\n\196\000\000\018\136\000\000\n\198\000\000\n\204\000\000 \136\000\015\006\178\000\0002\226\n\208\000\000\003\006\n\160\000\015\t\240\n\186P\198\t\246\007\b\000\0002\226\n\222\000\000\007\028\000\0002\226\n\226\000\000\018\182\000\015\007X\000\0002\226\n\228\000\000\006\182\018\136\000\000\030r\007\170\000\0002\226\n\230\000\000\000\000\000\000\004\024\000\000\n\200\020\230\n\004\n\236\000\000\004t\000\000\n\190\000\015\n\014\n\218P\198\n\022\b\n\000\0002\226\011\024\000\000\bP\000\0002\226\011.\000\000\018\182\000\015\bR\000\0002\226\0110\000\000\006\182\000\000\000\000\nN\000\000\004\024\005\234\n\204\000\000\000\000\000\000\n\208\000\000\000{\002\156\000\000\017&\011&\000\000\000\0002\226\n\128\007$\000\000\nR\000\000\002\166\000\0003\004\000\000\000\000\000\\\017&\000\000\017&\000\000\n@\000\000\000\\\000\0002\226\004\1982\226\000\0002\226\000\000\nB\000\000\004\198\000\0002\226\004\198\nD\000\000\025\246\006$\025\246\000\000\025\246\000\000\nH\000\000\006$\000\0002\226\004\198\nJ\000\0003\004\006z3\004\000\0003\004\000\000\nL\000\000\006z\000\0002\226\004\198\nR\000\000\000\000\0280\000\000\000\000\n\198<\204\000\000\000\000\000\000\000\000\000\000\n\154\004H\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\130<\204\000\000\005\026\003\198\000\000\n\158\000\193\000\000\000\000\000\000\003N\003\198\000\000\000\000\000\000\000\000\n\252\000\000\000\000\000\000\000\000\031\224!N\000\000K\180\000\000<\204\000\000\003H<\204\000\000\000b\000\132\000\132\000\000\004\"\000\132\000\000\nt\000\000\000\000\000\000\000\000\011\000\000\000!\204\000\000#L<\204\000\000\006\182<\204\000\000\011\004\000\000<\204\011\b\000\000L\202=\146\011\n\000\000\011\014\000\000M\026C\148<\204\000\000\000\000\n\136<\204\011\018\000\000\011\020\000\000\011\022\000\000 \136\000\000\006b \136\000\000\n\144\019N\000\000\003*<\204\000\000\005h<\204\000\000\004^\011\152\000\000\011\154\000\000<\204<\204\n\150\000\000\000\000\000\000\000\000\000\000\000\000\011$\000\000M\224<\204\011&\000\000\011(\000\000<\204\0112\000\000<\204\n\220\000\193\000\000\000\000\006\228<\204\000\000\004^\000\000\011:\000\000<\204\011<\000\000<\204\011@\000\000A\128\019N\000\000\019N\000\000=\146<\204\n\188<\204\011L\000\000\011N\000\000\019N\000\000L\004\000\000\000\000\007z<\204\000\000\b\170\004\024\000\132\n\198\000\000\000\000\001\212\001\212\000\000\000\000\000\000\006\170\001\212\000\000\n\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000<\204\000\000\007\136<\204\000\000\000\003\000a\000\193\n\216\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011p\000\000\011r\000\000<\204\011t\000\000N0<\204\011|\000\000\011~\000\000<\204\011\128\000\000\025T\011&Q\228\019b\000\000<\204\011\132\000\000\011\134\000\000\011V\025T<\204\011\138\000\000<\204\011\144\000\000\011\146\000\000<\204\011\020<\204\011\160\000\000\011\164\000\000\000\193\011\016\000\000\000\000\0280\000\000\000\000\002\142\012\004\000\000\000\000\001)\000\000\000\000\000\0002\226\000\000\000\000\000\000\002\218\000\000\000\216\000\000\000\000\000\000\004HH\206H\206H\206\000\000\000\246\000\246\000\246\000\246\000\000\000\000\000\000\000\000\000\000\000\000\001l\017&\011\250\014J\001R\000\000\000\000\002\166\000\000\n\000\000\000-J\011(\000\000\001l\017&\011.\015\184\000\000\001l\014J\000\000\000\000\000\000H\206\000\246\000\000\000\000\000\000\011|\001\212\011\250RjRj\000\000\005\1926|Rj\006\172S0\000\000\000\000\004&\011\234\000\015\000\000\007:S^\000\000\000\000\000\000\000\000\000\000\0118\011\248\007$\0116\000\000\002\166\000\000\n\000\000\000\025\026\004\154\000\000\000\000\011\228\000\000\000\000\002\142\000\000\004\128\000\000\000\000\000\0002\226\000\000\002\218\000\000\004\174\000\000\000\000\000\000\005\182\000\000\011n\002\192\011n\000\000\007$\011n\000\000\0048\000\000\007$\000\000\007$\000\000\007$\000\000\t\138\000\000\000\000\000\000\000\000\000\000\007$\000\000\0048\000\000\007$\000\000K\134\000\000\000\000\006\142\011j\000\193\006\210\012\012\004@\000\000\004@\0124\000\000\0126\000\000\012:\000\000\000\000\007\016\004@\007\206\004@\000\000\000\000\002\b\003\240\011:\000\000\011<\000\000\011~\000\193\003\240\011F\000\000\000\192\012J\000\000\004\218\006R\012^\005l\012^\000\000\000\000\006\240\000\193\000\000\000\227\000\000\000\000\003\166\000\000\011P\000\000\000\000\000\000\011\142\000\193\003\240\011T\000\000\000\000\000\192\004\218\006R\006\240\000\227\003\166\011X\000\000\004\218\006R\006\240\000\227\003\166\011Z\000\000\004\\\006\014\011v\000\193\011p\b$\b\140\011\154\000\193\000\000\011\156\000\193\000\000\011\252\000\000\011\132\006\154\011\130\b$\012\b\000\000\011\160\b$\012(\000\000\000\000\b$\000\000\0128\000\000"), (16, "\r\025\r\025\r\025\r\025\r\025\r\025\r\025\r\025\r\025\r\025\r\025\b\025\r\025\r\025\r\025\r\025\r\025\r\025\r\025\r\025\r\025\r\025\029\186\r\254\016*\b\025\r\025\025\198\004\221\029\190\026\199\026\203\000\n\016^\r\025\026\207\024V\024^\r\025\r\025\025V\r\025\b\150\002z\r\025\017v\012\141\014*\002\134\r\025\r\025\r\025\000N\b\182\021\182\021\222\021\238\022\022\022&\022N\r\025\0007\000;\r\025\r\025\006\201\004\221\005:\017v\r\025\r\025\b\237\r\025\003\194\r\025\000\150\025\194\016*\b\025\r\025\000\n\r\025\r\025\r\025\r\025\r\025\016^\001F\001*\r\025\r\025\r\025\001J\r\025\r\025\r\025\001N\021\150\r\025\r\025\r\025\r\025\r\025\t\161\012\178\021N\r\025\r\025\017\134\b\158\000\154\000\226\0012\001R\012\157\006I\022\138\r\025\r\025\r\025\r\205\000\n\r\025\r\025\r\025\r\025\023f\r\025\004\249\r\025\011\146\b\025\r\025\011\150\0026\r\025\r\025\027\018\003\242\011\154\003\250\023j\004\n\b\025\011\158\027\022\018\190\r\025\007\230\004\018\r\025\000\006\000\"\007\001\r\025\r\025\r\025\r\025\012\245\006\161\r\025\017\134\r\025\005b\021\158\t\161\r\025\r\025\r\025\004\185\r\025\006\201\r\025\r\025\006q\r\025\006a\r\025\r\025\004\026\012\242\r\025\r\025\006\209\006\209\006\209\006\209\006\209\006\209\006\209\006\209\006\209\006\209\006\209\r\254\006\209\006\209\006\209\006\209\006\209\006\209\006\209\006\209\006\209\006\209\011\226\006I\t\242\001B\006\209\016.\016>\016N\004*\002z\007\001\001n\006\209\014*\002\134\012\157\006\209\006\209\b\137\006\209\r\230\006I\006\209\004\185\006\137\006I\004\249\006\209\016*\006\209\004\185\029\134\004\249\004\249\001z\001\"\001&\016^\006\209\000.\000\230\b\153\005Z\004m\004\249\004\249\000\n\006\209\006\209\0016\004m\005\025\006\209\006\209\0046\001*\004>\006\209\004N\006\209\006\209\006\209\006\209\006\209\t\250\004V\001*\006\209\006\209\006\209\004\249\006\209\006\209\006\209\012\186\017\234\006\209\006\209\006\209\006\209\006\209\026\239\026\243\001\138\006\209\006\209\026\247\004A\000\n\000&\0025\017\238\012\229\006i\006i\004^\006\209\006\209\012\198\000\n\006\209\006\209\006\209\006\209\025n\006\209\014J\006\209\001.\000*\006\209\002z\017\134\006\209\006\209\014*\002\134\b\025\012\157\005F\002z\017v\029B\b\221\002\130\002\134\r\230\018\142\006\209\004n\016*\b\025\006\209\006\209\006\209\006\209\001b\003\149\006\209\016^\006\209\003\149\r\205\r\205\006\209\006\209\006\209\r\205\000\n\025r\006\209\006\209\014\026\006\209\022\230\006\209\006\209\000\n\012\218\006\209\006\209\006\241\006\241\006\241\006\241\006\241\006\241\006\241\006\241\006\241\006\241\006\241\016R\006\241\006\241\006\241\006\241\006\241\006\241\006\241\006\241\006\241\006\241\006\241\b\025\001\158\006\241\006\241\003\218\017v\004A\001\178\006\241\006\241\r\158\006\241\004A\004A\016*\006\241\006\241\b\165\006\241\026\182\006\241\006\241\016V\016^\004A\014j\006\241\016*\006\241\006\241\017\134\005\022\006\241\006\241\006\241\016*\016^\006\241\006\241\005\154\006\241\006\241\001\222\002e\016^\r\230\006\241\006\241\006\241\006\241\004A\006\241\029J\b\025\005M\001*\006\241\026\182\006\241\014\030\006\241\006\241\006\241\006\241\017v\b\025\006\241\006\241\006\241\020\014\006\241\006\241\006\241\016*\001\226\006\241\006\241\006\241\006\241\006\241\019\186\b\202\016^\b\210\006\241\b\226\006\241\019\190\000\n\002z\006\153\019\194\b\234\014*\002\134\006\241\006\241\002\006\017\134\006\241\006\241\006\241\006\241\002\030\006\241\006\241\006\241\014\158\r\170\006\241\004u\017\134\006\241\006\241\006\241\b\181\r\205\004u\021f\017\134\006\241\003j\b\242\006Q\006\241\021:\000\n\006\241\r\205\r\205\001&\006\241\006\241\r\205\006\241\012\237\022\246\006\241\012\253\006\241\005M\t\197\t\197\006\241\022\250\t\133\t\197\006n\024>\001*\006\241\ba\006\241\003\178\006\241\006\241\t\002\017\134\006\241\006\241\000R\000V\000f\000\170\b\186\000\174\011\146\000\178\000\246\011\150\000\254\022v\001\014\026\254\001\022\011\154\001\030\001\190\001\198\001\202\011\158\027\002\000\n\022z\r\186\022\138\011\162\r\205\r\205\023\006\020\154\002E\r\205\022~\001\210\022\130\023\018\023Z\002:\011\178\012\253\014\166\001.\022\134\014\170\029\026\017v\024V\024^\001\218\025Z\016\026\022\146\027\226\012\157\016*\022\150\002\014\003\194\029\198\002F\0076\022\154\0276\016^\bQ\029\030\b\141\003\186\016r\014\178\027b\027n\029\"\016v\018\202\020\182\001*\022\158\002n\0302\002r\005)\001\238\017~\016~\004\030\024f\0287\014\198\002z\016\130\020\186\014\202\012\210\002\134\028;\005\225\014\206\014\210\011\198\011\202\014\214\004\"\004=\022\162\028>\016\134\022\166\029\018\000\n\007F\002z\021\190\t\169\002\021\014*\002\134\012&\014\218\012\157\022\170\016\138\016\142\014\222\016\146\022\174\000\n\022\178\016\166\022\182\022\186\005\005\022\190\004=\016\178\014\230\000\n\029*\017\134\022\194\004\162\001~\022\198\006\161\014\134\023v\027\130\003\149\000\n\016\210\004b\003\149\012\173\016\214\017\"\005)\011\206\022\202\005\198\014\234\001*\017&\022\206\022\210\r\230\014\238\005)\005)\t\197\t\197\0292\005)\017.\t\197\014\242\t\169\006\249\006\249\001*\021\198\002\182\006\249\000R\000V\000f\000\170\b\186\000\174\011\146\000\178\000\246\011\150\000\254\000\n\001\014\026\254\001\022\011\154\001\030\001\190\001\198\001\202\011\158\027\002\028W\028[\004=\011\249\011\162\028_\0182\000\n\004=\004=\016\226\004f\001\210\tz\b}\017\234\002:\011\178\001&\014\166\004=\029\018\014\170\028w\028{\004\170\r\230\001\218\028\127\016\026\012\157\017\238\016\246\001*\b\157\017\002\bm\001*\002F\002%\006\129\016*\012\213\003\218\018\154\022\242\004=\016r\014\178\027b\016^\002z\016v\019\018\0306\014*\002\134\002n\020\182\002r\0059\001\238\017~\016~\004\190\011\249\000\n\014\198\002z\016\130\000\n\014\202\012\210\002\134\020\186\012\133\014\206\014\210\011\198\011\202\014\214\012\133\012\133\021\246\017\130\016\134\003\218\029\150\000\n\n\022\001.\004\230\005\133\012\133\002z\018\n\012&\014\218\014*\002\134\016\138\016\142\014\222\016\146\024J\000\n\029\158\016\166\005i\001*\005\005\005\133\019\014\016\178\014\230\0029\t\014\004\249\t\022\012\133\t&\018R\004\234\004\254\030r\017\134\022.\t.\016\210\006\153\006\193\000\n\016\214\017\"\029\006\011\206\019\142\005\026\014\234\005\"\017&\r\230\000\n\nN\014\238\nV\0059\nf\027\198\000\n\021\254\017.\b\209\014\242\nn\007\t\007\t\t6\019\250\002\182\007\t\000R\000V\000f\000\170\b\186\000\174\011\146\000\178\000\246\011\150\000\254\006\153\001\014\026\254\001\022\011\154\001\030\001\190\001\198\001\202\011\158\027\002\005\133\nv\016\218\018\014\011\162\020n\005&\006\225\tF\005^\0226\n\254\001\210\006\225\006\225\006\169\002:\011\178\020*\014\166\005\133\001*\014\170\029n\005f\006\225\012\189\001\218\020>\016\026\000\n\001*\006\145\029\130\029B\n\134\000\n\004\249\002F\006\177\029\218\016*\029\134\004\249\004\249\011j\024&\016Z\014\178\012\221\016^\006\225\016v\012\149\000\n\004\249\004\249\002n\020Z\002r\005U\001\238\016z\016~\000\n\001*\019\254\014\198\002z\016\130\005v\014\202\012\210\002\134\016\222\006y\014\206\014\210\011\198\011\202\014\214\004\249\025\130\027\210\r\213\016\134\006\233\b\193\023\178\012\165\029\018\006\185\006\233\006\233\0049\012\189\012&\014\218\000\n\020~\016\138\016\142\014\222\016\146\029\174\000\n\005~\016\166\017v\020.\005\005\024\206\005\130\016\178\014\230\004=\n\146\016*\n\154\020B\n\170\005\138\016\218\005\129\012\197\017\134\016^\n\178\016\210\0049\006\233\012\205\016\214\017\"\005U\011\206\005M\029R\014\234\005e\017&\001*\005\129\005\174\014\238\005U\005U\020\214\029J\020^\005U\017.\030F\014\242\027\242\t\205\t\205\n\186\002U\002\182\t\205\000R\000V\000f\000\170\b\186\000\174\011\146\000\178\000\246\011\150\000\254\005\178\001\014\000\n\001\022\011\154\001\030\001\190\001\198\001\202\011\158\020\234\021\006\005\186\005\206\025J\011\162\030J\005\226\020\130\n\202\005\246\025\182\016\222\001\210\006:\0049\007\018\002:\011\178\017\134\014\166\0049\0049\014\170\007Z\030V\007f\030\155\001\218\b!\016\026\025V\005\129\0049\004\149\007\146\016\230\007\158\016\218\002F\005M\007\194\016*\b!\007\206\007\222\007\238\007\246\016Z\014\178\0049\016^\005\129\016v\b\014\001*\020\218\001*\002n\0049\002r\029J\001\238\016z\016~\016\218\b\022\025j\014\198\002z\016\130\b&\014\202\012\210\002\134\b2\b>\014\206\014\210\011\198\011\202\014\214\bJ\b^\001*\bn\016\134\b~\000\n\b\134\000\n\020\238\021\n\b\171\t\153\b\246\b!\012&\014\218\b\250\t:\016\138\016\142\014\222\016\146\t>\000\n\t\130\016\166\011\146\016\222\t\150\011\150\t\190\016\178\014\230\027\018\000\n\011\154\t\194\t\210\t\226\n\014\011\158\027\022\n\030\017\134\n2\nz\016\210\b\129\n~\bq\016\214\017\"\n\190\011\206\016\222\n\194\014\234\011\006\017&\011\026\011B\011F\014\238\011Z\011r\011\134\b!\011\166\011\174\017.\011\182\014\242\011\190\t\153\017\234\011\194\002)\002\182\b!\000R\000V\000f\000\170\b\186\000\174\011\146\000\178\000\246\011\150\000\254\017\238\001\014\011\250\001\022\011\154\001\030\001\190\001\198\001\202\011\158\012\006\012\014\012R\012r\012~\011\162\012\194\012\222\012\234\r\006\002z\r\018\r\206\001\210\014*\002\134\r\218\002:\011\178\r\226\014\166\r\246\014\002\014\170\014\n\014\014\014\022\014&\001\218\0146\016\026\014>\014B\014R\014Z\014r\014z\014\142\014\150\002F\014\162\014\186\016*\014\194\015\022\015\"\015j\000\n\016Z\014\178\015\234\016^\005\025\016v\016\018\016&\0162\016:\002n\016B\002r\016J\001\238\016z\016~\016\150\016\158\016\174\014\198\002z\016\130\016\182\014\202\012\210\002\134\016\190\016\198\014\206\014\210\011\198\011\202\014\214\016\206\017\030\017*\r\213\016\134\0172\017>\017B\017J\017N\017V\017^\017n\017\146\017\214\012&\014\218\017\222\017\226\016\138\016\142\014\222\016\146\017\242\000\n\017\250\016\166\017\254\018\006\018\022\018\030\018&\016\178\014\230\018*\018:\018B\018Z\018b\018\178\018\250\012\181\012\181\019\006\017\134\019z\019\134\016\210\019\166\019\210\019\226\016\214\017\"\019\234\011\206\020\006\020\018\014\234\020\026\017&\020\030\020&\0206\014\238\020J\020f\020\138\020\162\020\170\020\174\017.\020\190\014\242\020\198\r\213\r\213\020\202\020\210\002\182\r\213\000R\000V\000f\000\170\b\186\000\174\011\146\000\178\000\246\011\150\000\254\020\226\001\014\026\254\001\022\011\154\001\030\001\190\001\198\001\202\011\158\027\002\020\246\021\018\021&\0216\011\162\021F\021^\021n\021z\021\171\021\211\021\235\001\210\022\011\022#\022C\002:\011\178\022[\014\166\022r\022\142\014\170\022\254\023+\023\130\023\151\001\218\023\191\016\026\023\203\023\219\012\181\023\227\023\254\024\007\024\015\024\023\002F\0242\024Z\024b\024r\012\181\024\143\024\159\024\167\016r\014\178\012\181\012\181\024\179\016v\028\142\024\190\024\227\024\239\002n\024\251\002r\025\030\001\238\017~\016~\025'\025/\025b\014\198\002z\016\130\025\142\014\202\012\210\002\134\000\022\025\206\014\206\014\210\011\198\011\202\014\214\012\181\025\239\025\247\026\003\016\134\012\181\012\181\026\019\026\027\026'\0262\026G\026O\026V\026c\012&\014\218\026o\026w\016\138\016\142\014\222\016\146\026\130\000\n\026\139\016\166\026\147\026\159\005\005\026\186\027B\016\178\014\230\027j\027z\027\174\027\182\027\230\028\014\028\018\028\026\028C\029\n\029\022\029&\029.\016\210\0296\029c\029k\016\214\017\"\029r\011\206\029\127\029\138\014\234\029\154\017&\029\207\029\222\029\235\014\238\030\015\030+\030:\030B\030N\030Z\017.\030g\014\242\030n\t\177\t\177\030v\030\127\002\182\t\177\000R\000V\000f\000\170\b\186\000\174\011\146\000\178\000\246\011\150\000\254\030\134\001\014\030\143\001\022\011\154\001\030\001\190\001\198\001\202\011\158\030\163\000\000\000\000\000\000\000\000\011\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\210\000\000\000\000\000\000\002:\011\178\000\000\014\166\000\000\000\000\014\170\000\000\000\000\000\000\000\000\001\218\000\000\016\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016r\014\178\000\000\000\000\000\000\016v\017\154\000\000\000\000\000\000\002n\000\000\002r\000\000\001\238\017~\016~\000\000\000\000\000\000\014\198\002z\016\130\000\000\014\202\012\210\002\134\000\000\000\000\014\206\014\210\011\198\011\202\014\214\000\000\000\000\000\000\r\177\016\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012&\014\218\000\000\000\000\016\138\016\142\014\222\016\146\000\000\000\n\000\000\016\166\000\000\000\000\000\000\000\000\000\000\016\178\014\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\210\000\000\000\000\000\000\016\214\017\"\000\000\011\206\000\000\000\000\014\234\000\000\017&\000\000\000\000\000\000\014\238\000\000\000\000\000\000\000\000\000\000\000\000\017.\000\000\014\242\000\000\r\177\r\177\000\000\000\000\002\182\r\177\000R\000V\000f\000\170\b\186\000\174\011\146\000\178\000\246\011\150\000\254\000\000\001\014\000\000\001\022\011\154\001\030\001\190\001\198\001\202\011\158\000\000\000\000\000\000\000\000\000\000\011\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\210\000\000\000\000\000\000\002:\011\178\000\000\014\166\000\000\000\000\014\170\000\000\000\000\000\000\000\000\001\218\000\000\016\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016r\014\178\000\000\000\000\000\000\016v\027F\000\000\000\000\000\000\002n\000\000\002r\000\000\001\238\017~\016~\000\000\000\000\000\000\014\198\002z\016\130\000\000\014\202\012\210\002\134\000\000\000\000\014\206\014\210\011\198\011\202\014\214\000\000\000\000\000\000\000\000\016\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012&\014\218\000\000\000\000\016\138\016\142\014\222\016\146\000\000\000\n\000\000\016\166\000\000\000\000\000\000\000\000\000\000\016\178\014\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\210\000\000\000\000\000\000\016\214\017\"\000\000\011\206\000\000\000\000\014\234\000\000\017&\000\000\000\000\000\000\014\238\000\000\000\000\000\000\000\000\000\000\000\000\017.\000\000\014\242\000\000\r\253\r\253\000\000\000\000\002\182\r\253\000R\000V\000f\000\170\b\186\000\174\011\146\000\178\000\246\011\150\000\254\000\000\001\014\000\000\001\022\011\154\001\030\001\190\001\198\001\202\011\158\000\000\000\000\000\000\000\000\000\000\011\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\210\000\000\000\000\000\000\002:\011\178\000\000\014\166\000\000\000\000\014\170\000\000\000\000\000\000\000\000\001\218\000\000\016\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016r\014\178\000\000\000\000\000\000\016v\027F\000\000\000\000\000\000\002n\000\000\002r\000\000\001\238\017~\016~\000\000\000\000\000\000\014\198\002z\016\130\000\000\014\202\012\210\002\134\000\000\000\000\014\206\014\210\011\198\011\202\014\214\000\000\000\000\000\000\000\000\016\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012&\014\218\000\000\000\000\016\138\016\142\014\222\016\146\000\000\000\n\000\000\016\166\000\000\000\000\000\000\000\000\000\000\016\178\014\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\210\000\000\000\000\000\000\016\214\017\"\000\000\011\206\000\000\000\000\014\234\000\000\017&\000\000\000\000\000\000\014\238\000\000\000\000\000\000\000\000\000\000\000\000\017.\000\000\014\242\000\000\r\249\r\249\000\000\000\000\002\182\r\249\000R\000V\000f\000\170\b\186\000\174\011\146\000\178\000\246\011\150\000\254\000\000\001\014\000\000\001\022\011\154\001\030\001\190\001\198\001\202\011\158\000\000\000\000\000\000\000\000\000\000\011\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\210\000\000\000\000\000\000\002:\011\178\000\000\014\166\000\000\000\000\014\170\000\000\000\000\000\000\000\000\001\218\000\000\016\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016r\014\178\000\000\000\000\000\000\016v\019F\000\000\000\000\000\000\002n\000\000\002r\000\000\001\238\017~\016~\000\000\000\000\000\000\014\198\002z\016\130\000\000\014\202\012\210\002\134\000\000\000\000\014\206\014\210\011\198\011\202\014\214\000\000\000\000\000\000\000\000\016\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012&\014\218\000\000\000\000\016\138\016\142\014\222\016\146\000\000\000\n\000\000\016\166\000\000\000\000\000\000\000\000\000\000\016\178\014\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\210\000\000\000\000\000\000\016\214\017\"\000\000\011\206\000\000\000\000\014\234\000\000\017&\000\000\000\000\000\000\014\238\000\000\000\000\000\000\000\000\000\000\000\000\017.\000\000\014\242\000\000\000R\000V\000f\000\170\002\182\000\174\011\146\000\178\000\246\011\150\000\254\000\000\001\014\000\000\001\022\011\154\001\030\001\190\001\198\001\202\011\158\000\000\000\000\000\000\003\230\003\238\000\170\000\000\000\174\000\000\0042\004v\000\000\004~\001\210\004\142\000\000\004\150\002:\004\158\004\202\014\166\004\210\000\000\014\170\000\000\000\000\000\000\000\000\001\218\000\000\019\198\000\000\000\000\000\000\000\000\000\000\004\218\000\000\000\000\002F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\019\214\014\178\000\000\004\226\000\000\000\000\000\000\000\000\000\000\000\000\002n\000\000\002r\000\000\001\238\000\000\000\000\000\000\000\000\000\000\014\198\002z\000\000\000\000\014\202\002\130\002\134\000\000\000\000\014\206\014\210\011\198\019\218\014\214\000\000\000\000\000\000\004\242\000\000\000\000\b\214\006A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012&\014\218\006A\000\000\006A\000\000\014\222\000\000\006A\000\n\t\026\006A\tZ\006A\006A\006A\006A\006A\014\230\000\000\000\000\000\000\006A\006A\006A\006A\006A\011}\011}\000\000\006A\011}\000\n\006A\006A\006A\000\000\006A\000\000\011\206\006A\000\000\014\234\006A\019\222\006A\000\000\006A\014\238\006A\000\000\006A\006A\006A\006A\019\230\006A\014\242\006A\006A\000Z\000\000\006A\002\182\006A\t\142\000\000\011}\000\000\006A\000Z\000\000\006A\006A\006A\006A\t\218\000\000\006A\000Z\006A\000Z\000\000\006A\006A\006A\006A\000\000\000\000\006A\000\000\000\000\006A\000\000\011}\000\000\006A\006A\000\000\006A\000\000\000\000\006A\000\000\000\000\006A\000\000\006A\006A\006A\006A\006A\006A\000\000\006A\000\000\000\000\006A\006A\006A\000\000\006A\006A\006A\006A\000\000\006A\006A\006A\006A\006A\006A\006A\006A\006A\006A\000\000\000\000\000\000\006A\006A\000\000\006A\006A\006A\006A\000\000\000\000\000\000\006A\000\000\000\000\000\000\000\000\006A\006A\011}\000\000\006A\000\000\006A\000\000\000\000\006A\006A\006A\006A\006A\000\000\000\000\006A\006A\000\000\000\000\006A\000\000\000\000\000\000\000\000\006A\006A\000\000\000\000\000\000\006A\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\001\190\001\198\001\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\210\000\000\000\000\000\000\002:\000\000\000\000\002N\000\000\000\000\002R\000\000\000\000\000\000\000\000\001\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002F\000\000\000\000\002J\000\000\000\000\000\000\000\000\000\000\002\218\002j\000\000\002f\000\000\000\000\006\014\000\000\000\000\000\000\002n\000\000\002r\000\000\001\238\000\000\000\000\000\000\000\000\000\000\006\018\002z\000\000\000\000\006\022\002\130\002\134\000\000\006\026\006\030\006\"\000\000\000\000\006&\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\000\000\001\022\006*\001\030\001\190\001\198\001\202\006.\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006>\000\000\001\210\000\000\000\000\000\000\002:\000\000\000\000\002N\000\000\006j\002R\000\000\000\000\000\000\000\000\001\218\000\000\000\000\000\000\000\000\000\000\000\000\006B\000\000\000\000\000\000\002F\000\000\006F\002J\000\000\004\141\000\000\000\000\000\000\002\218\002j\006J\002f\000\000\000\000\006\014\000\000\002\182\000\000\002n\000\000\002r\000\000\001\238\000\000\000\000\000\000\000\000\000\000\006\018\002z\000\000\000\000\006\022\002\130\002\134\000\000\006\026\006\030\006\"\000\000\000\000\006&\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\000\000\001\022\006*\001\030\001\190\001\198\001\202\006.\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006>\000\000\001\210\000\000\000\000\000\000\002:\000\000\000\000\002N\000\000\006j\002R\000\000\000\000\000\000\000\000\001\218\000\000\000\000\000\000\000\000\000\000\000\000\006B\000\000\000\000\000\000\002F\000\000\006F\002J\000\000\bU\000\000\000\000\000\000\002\218\002j\006J\002f\000\000\000\000\006\014\000\000\002\182\000\000\002n\000\000\002r\000\000\001\238\000\000\000\000\000\000\000\000\000\000\006\018\002z\000\000\000\000\006\022\002\130\002\134\000\000\006\026\006\030\006\"\000\000\000\000\006&\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\000\000\001\022\006*\001\030\001\190\001\198\001\202\006.\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006>\000\000\001\210\000\000\000\000\000\000\002:\000\000\000\000\002N\000\000\006j\002R\000\000\000\000\000\000\000\000\001\218\000\000\000\000\000\000\000\000\000\000\000\000\006B\000\000\000\000\000\000\002F\000\000\006F\002J\000\000\002\025\000\000\000\000\000\000\002\218\002j\006J\002f\000\000\000\000\006r\000\000\002\182\000\000\002n\000\000\002r\000\000\001\238\000\000\000\000\000\000\000\000\000\000\006\018\002z\000\000\000\000\006\022\002\130\002\134\000\000\006\026\006\030\006\"\000\000\000\000\006&\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\000\000\001\022\006*\001\030\001\190\001\198\001\202\006.\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006>\000\000\001\210\000\000\000\000\000\000\002:\000\000\000\000\002>\000\000\000\000\002B\000\000\000\000\000\000\000\000\001\218\000\000\000\000\000\000\000\000\000\000\000\000\006B\000\000\000\000\000\000\002F\000\000\006F\002J\000\000\be\000\000\000\000\000\000\002b\002^\006J\002f\000\000\000\000\000\000\000\000\002\182\000\000\002n\000\000\002r\000\000\001\238\000\000\000\000\000\000\000\000\000\000\002v\002z\000\000\000\000\002~\002\130\002\134\000\000\000\000\002\138\002\142\000\000\000\000\002\146\000\000\000\000\000\000\000\000\nB\nJ\000\170\000\000\000\174\000\000\n\142\n\210\000\000\n\218\000\000\n\234\002\150\n\242\000\000\n\250\011&\002\154\011.\000\000\000\n\011\146\000\000\000\000\011\150\000\000\000\000\000\000\027\018\002\162\011\154\000\000\000\000\0116\000\000\011\158\027\022\000\000\000\000\000\000\002\166\000\000\000\000\000\000\000R\b\190\b\198\000\170\011>\000\174\000\000\t\n\tN\002\170\tV\022v\tf\000\000\tn\002\174\tv\t\162\001\198\t\170\000\000\000\000\000\000\022z\002\178\017\234\000\000\000\000\000\000\000\000\002\182\000\000\000\000\022~\t\178\022\130\000\000\000\000\011N\000\000\000\000\017\238\000\000\022\134\000\000\000\000\000\000\000\000\000\000\026.\000\000\000\000\022\146\000\000\000\000\000\000\022\150\000\000\000\000\000\000\000\000\002z\022\154\000\000\000\000\014*\002\134\000\000\000\000\t\202\000\000\000\000\000\000\000\000\024\026\000\000\000\000\000\000\022\158\025:\000\000\000\000\000\000\t\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\005\025\000\000\022\162\000\000\011\162\022\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\011\178\022\170\014\166\000\000\000\000\014\170\022\174\000\n\022\178\000\000\022\182\022\186\016\026\022\190\000\000\000\000\000\000\000\000\000\000\000\000\022\194\002F\000\000\022\198\000\000\000\000\000\000\000\000\007\225\007\225\016\162\014\178\000\000\007\225\000\000\016v\000\000\000\000\022\202\000\000\002n\000\000\002r\022\206\022\210\000\000\016~\000\000\000\000\000\000\014\198\002z\016\130\000\000\014\202\012\210\002\134\000\000\000\000\014\206\014\210\000\000\000\000\014\214\000\000\000\000\000\000\000\000\016\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012&\014\218\000\000\000\000\016\138\016\142\014\222\016\146\000\000\000\n\000\000\016\166\000\000\000\000\000\000\000\000\011\162\016\178\014\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\011\178\000\000\014\166\016\210\000\000\014\170\000\000\016\214\017\"\000\000\000\000\000\000\016\026\014\234\000\000\017&\000\000\000\000\000\000\014\238\000\000\002F\000\000\000\000\000\000\000\000\017.\000\000\014\242\000\000\014\174\014\178\000\000\000\000\002\182\016v\000\000\000\000\000\000\000\000\002n\000\000\002r\000\000\000\000\000\000\016~\000\000\000\000\000\000\014\198\002z\016\130\000\000\014\202\012\210\002\134\000\000\000\000\014\206\014\210\000\000\000\000\014\214\000\000\000\000\000\000\000\000\016\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012&\014\218\000\000\000\000\016\138\016\142\014\222\016\146\000\000\000\n\000\000\016\166\000\000\000\000\000\000\000\000\000\000\016\178\014\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\210\000\000\000\000\000\000\016\214\017\"\000\000\000\000\000\000\000\000\014\234\000\000\017&\000\000\000\000\000\000\014\238\000\000\000\000\000\000\000\000\000\000\000\000\017.\000\000\014\242\000\000\001M\001M\001M\001M\002\182\001M\000\000\001M\001M\000\000\001M\000\000\001M\000\000\001M\000\000\001M\001M\001M\001M\000\000\000\000\015\021\000\000\022f\015\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\001M\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\000\000\015\021\015\021\000\000\000\000\001M\015\021\000\000\001M\002\206\015\021\000\000\001M\000\000\000\000\022j\015\021\000\000\001M\015\021\015\021\000\000\015\021\015\021\000\000\001M\002\214\000\000\015\021\007\150\001M\000\000\015\021\000\000\000\000\015\021\000\000\015\021\015\021\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\021\001M\015\021\000\000\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\021\000\000\000\000\000\000\001M\000\000\000\000\007\162\000\000\001M\000\000\001M\000\000\000\000\001M\000\000\022n\000\000\000\000\000\000\000\000\001M\000\000\001M\000\000\000\000\001M\015\021\015\021\000\000\015\021\015\021\007\166\000\000\015\021\000\000\000\000\000\000\000\000\000\000\000\000\001M\001M\007\174\000\000\000\000\001M\001M\015\021\000\000\000\000\015\021\015\021\015\021\015\021\005i\000\000\023.\005i\015\021\015\021\015\021\000\000\015\021\015\021\015\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005i\005i\000\000\000\000\000\000\005i\000\000\000\000\005i\005i\000\000\000\000\000\000\000\000\000\000\005i\000\000\000\000\005i\005i\000\000\005i\005i\000\000\000\000\005i\005e\005i\005i\005e\000\000\005i\000\000\000\000\005i\000\000\005i\005i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005e\005e\000\000\000\000\000\000\000\000\000\000\000\000\005e\005e\005i\000\000\005i\000\000\000\000\005e\000\000\000\000\000\000\000\000\000\000\005e\005e\005i\000\000\005e\000\000\000\000\005e\000\000\005i\005e\000\000\000\000\005e\000\000\005e\005e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005i\005i\000\000\005i\005\133\005i\000\000\005i\000\000\005e\000\000\000\000\000\000\000\000\000\000\000\000\005i\005e\000\000\000\000\005e\005i\000\000\000\000\005i\000\000\005i\000\000\005i\005e\000\000\000\000\005i\005i\005i\000\000\005i\005i\005i\000\000\005e\005e\000\000\000\000\000\000\005e\000\000\000\000\005e\005e\005e\000\000\000\000\005\129\005e\005e\005e\000\000\005e\005e\000\000\005e\005e\000\000\000\000\005e\000\000\005e\005e\000\000\005e\005e\000\000\005e\005e\000\000\005e\005e\000\000\000\000\000\000\005e\000\000\000\000\000\000\005e\005e\000\000\000\000\001*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005e\000\000\005e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005e\000\000\000\000\000\000\000\000\000\000\000\000\005e\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005e\005e\000\000\005e\005\129\005e\000\000\005e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005e\000\000\005e\000\000\000\000\000\000\000\000\000\000\005e\005e\005e\000\000\005e\005e\005e\011y\011y\011y\011y\000\000\011y\000\000\011y\011y\000\000\011y\000\000\011y\000\000\011y\000\000\011y\011y\011y\011y\000\000\000\000\015i\000\000\000\000\015i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011y\011y\011y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011y\000\000\015i\015i\000\000\000\000\011y\015i\000\000\023>\015\006\015i\000\000\023F\000\000\000\000\000\000\015i\000\000\011y\015i\015i\000\000\015i\015i\000\000\011y\015\014\000\000\015i\015\026\011y\000\000\015i\000\000\000\000\015i\000\000\015i\015i\011y\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\001\190\001\198\001\202\015i\011y\015i\000\000\011y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015i\001\210\000\000\000\000\011y\000\000\000\000\015&\000\000\011y\000\000\011y\000\000\000\000\011y\000\000\001\218\000\000\000\000\000\000\000\000\011y\000\000\011y\000\000\000\000\011y\015i\015i\000\000\015i\000\000\015*\000\000\015i\000\000\001\234\000\000\000\000\000\000\000\000\011y\011y\0152\000\000\000\000\023\154\011y\000\000\000\000\001\238\015i\000\000\015i\000\000\000\000\000\000\000\000\000\000\015i\015i\015i\000\000\015i\015i\015i\011i\011i\011i\011i\000\000\011i\000\000\011i\011i\000\000\011i\000\000\011i\000\000\011i\000\000\011i\011i\011i\011i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\011i\011i\011i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011i\000\000\000\000\000\000\000\000\000\000\011i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011i\011m\011m\011m\011m\000\000\011m\011i\011m\011m\000\000\011m\011i\011m\000\000\011m\000\000\011m\011m\011m\011m\011i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011m\011m\011m\000\000\000\000\000\000\000\000\000\000\000\000\011i\011m\000\000\011i\000\000\000\000\000\000\011m\000\000\000\000\023\158\000\000\000\000\000\000\000\000\000\000\011i\000\000\000\000\000\000\011m\011i\000\000\011i\000\000\000\000\011i\011m\000\000\000\000\000\000\000\000\011m\011i\000\000\011i\000\000\000\000\011i\000\000\000\000\011m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\001\153\011i\011i\000\000\000\000\000\000\023B\011i\000\000\000\000\000\000\011m\000\000\000\000\011m\000\000\000\000\000\000\000\000\000\000\001\153\001\153\000\000\000\000\000\000\001\153\000\000\011m\000\000\001\153\000\000\000\000\011m\000\000\011m\001\153\000\000\011m\001\153\001\153\000\000\001\153\001\153\000\000\011m\000\000\011m\001\153\000\000\011m\000\000\001\153\000\000\000\000\001\153\000\000\001\153\001\153\000\000\000\000\000\000\000\000\000\000\000\000\011m\011m\000\000\000\000\000\000\000\000\011m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\000\000\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\000\000\000\000\000\000\000R\b\190\b\198\000\170\000\000\000\174\000\000\t\n\tN\000\000\tV\000\000\tf\000\000\tn\000\000\tv\t\162\001\198\t\170\000\000\001\153\002\234\000\000\001\153\001\153\000\000\000\000\001\153\000\000\000\000\000\000\000\000\023\166\t\178\023\194\000\000\000\000\000\000\000\000\000\000\000\000\001\153\023\206\000\000\001\153\001\153\001\153\001\153\t\186\000\000\000\000\000\000\003\154\001\153\001\153\000\000\001\153\001\153\001\153\000\000\000\000\023\230\000\000\000\000\003\n\000\000\000\000\003b\t\202\000\000\000\000\000\000\000\000\024\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\214\000\000\000\000\000\000\000\000\003\018\003:\000\000\000\000\000\000\001\245\000\000\000\000\000\000\001\245\000\000\000\000\000\000\000\000\000\000\003\026\000\000\024:\001\245\001\245\024\146\003\130\003\138\000\000\000\000\000\000\000\000\001\245\000\000\000\000\000\000\003B\000\000\024\170\003\"\000\000\0032\001\245\024\182\000\000\t\129\000\000\000\000\024\230\000\000\000\000\000\000\000\000\000\000\000\000\024\242\000\000\024\254\000\000\000\000\025\250\000\000\000\000\000\000\003J\000\000\001\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\006\026\030\001\245\000\000\000\000\000\000\026*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001\245\001\245\000\000\000\000\003*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\129\000\000\001\245\000\000\000\000\001\245\001\245\001\245\001\245\000\000\000\000\000\000\000\000\000\000\001\245\001\245\000\000\003\146\003Z\001\245\003\018\003:\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000\000\003\026\000\000\000\000\000\129\000\129\000\000\000\129\000\129\000\000\000\000\000\000\000i\000\129\000\000\000i\000\000\003B\000\000\000\000\003\"\000\000\0032\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000i\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\003J\000\000\000\129\000\000\000\000\003\026\000\000\000\000\000i\000i\000\000\000i\000i\000\129\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\003\"\000\000\0032\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000\129\000\129\000\000\000\000\003*\000\000\000i\000\000\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000i\000\000\000\129\000\129\000\129\000\129\000\000\000\000\000\000\000\000\000\000\000\129\000\129\000\000\000\129\003Z\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000\000\000\000\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\000i\000\000\000\000\000i\000i\000i\000i\000\000\000\000\000\000\000\000\000\000\000i\000i\000\000\000i\000i\000i\000]\000]\000\000\000\000\000\000\000]\000\000\000\000\000\000\000]\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000]\000]\000\000\000\000\000\000\000a\000]\000\000\000a\000\000\000]\000\000\000\000\003\"\000\000\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000a\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000]\000\000\000]\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000a\000a\000]\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\003\"\000\000\000a\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000\000\003*\000\000\000a\000\000\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000a\000\000\000]\000]\000]\000]\000\000\000\000\000\000\000\000\000\000\000]\000]\000\000\000]\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000\000\003*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000\000\000a\000\000\000\000\000a\000a\000a\000a\000\000\000\000\000\000\000\000\000\000\000a\000a\000\000\000a\000a\000a\000e\000e\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\000\000\000\000\000\000\003\026\000\000\000\000\000e\000e\000\000\000e\000e\000\000\000\000\000\000\000u\000e\000\000\000u\000\000\000e\000\000\000\000\003\"\000\000\0032\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\018\003:\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\000e\000\000\000e\000\000\000\000\003\026\000\000\000\000\000u\000u\000\000\000u\000u\000e\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\000\000\000\000\003\"\000\000\0032\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000\000\000\000\003*\000\000\003J\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000u\000\000\000e\000e\000e\000e\000\000\000\000\000\000\000\000\000\000\000e\000e\000\000\000e\000e\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000\000\000\000\000u\000u\000\000\000\000\003*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000\000\000u\000\000\000\000\000u\000u\000u\000u\000\000\000\000\000\000\000\000\000\000\000u\000u\000\000\000u\000u\000u\003\018\003:\000\000\000\000\000\000\000m\000\000\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\003\026\000\000\000\000\000m\000m\000\000\000m\000m\000\000\000\000\000\000\000q\000m\000\000\000q\000\000\000m\000\000\000\000\003\"\000\000\0032\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\018\003:\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000m\000\000\000m\000\000\000\000\003\026\000\000\000\000\000q\000q\000\000\000q\000q\000m\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000\000\000\000\003\"\000\000\0032\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000m\000\000\000\000\003*\000\000\003J\000\000\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000q\000\000\000m\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000m\000m\000\000\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000\000\000\000\003*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000y\000\000\000q\000\000\000\000\000q\000q\000q\000q\000\000\000\000\000\000\000\000\000\000\000q\000q\000\000\000q\000q\000q\003\018\003:\000\000\000\000\000\000\000y\000\000\000\000\000\000\000y\000\000\000\000\000\000\000\000\000\000\003\026\000\000\000\000\000y\000y\000\000\000y\000y\000\000\000\000\000\000\003\n\000y\000\000\000\137\000\000\003B\000\000\000\000\003\"\000\000\0032\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\018\003:\000\000\000\000\000\000\000\137\000\000\000\000\000\000\000\137\003J\000\000\000y\000\000\000\000\003\026\000\000\000\000\000\137\000\137\000\000\000\137\003\138\000y\000\000\000\000\000\000\000\137\000\000\000\000\000\000\003B\000\000\000\000\003\"\000\000\0032\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000y\000y\000\000\000\000\003*\000\000\003J\000\000\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\137\000\000\000y\000y\000y\000y\000\000\000\000\000\000\000\000\000\000\000y\000y\000\000\000y\000y\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000\137\000\137\000\000\000\000\003*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000}\000\000\000\137\000\000\000\000\000\137\000\137\000\137\000\137\000\000\000\000\000\000\000\000\000\000\000\137\000\137\000\000\003\146\003Z\000\137\003\018\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\003\026\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000\000\000\000\003\n\000}\000\000\000\133\000\000\003B\000\000\000\000\003\"\000\000\0032\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\018\003:\000\000\000\000\000\000\000\133\000\000\000\000\000\000\000\133\003J\000\000\000}\000\000\000\000\003\026\000\000\000\000\000\133\000\133\000\000\000\133\003\138\000}\000\000\000\000\000\000\000\133\000\000\000\000\000\000\003B\000\000\000\000\003\"\000\000\0032\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000}\000}\000\000\000\000\003*\000\000\003J\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000}\000\133\000\000\000}\000}\000}\000}\000\000\000\000\000\000\000\000\000\000\000}\000}\000\000\000}\003Z\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000\133\000\133\000\000\000\000\003*\002:\000\000\000\000\011\234\000\000\000\000\011\238\000\000\000\000\000\000\000\000\000\000\000\000\000\133\000\000\000\000\000\133\000\133\000\133\000\133\000\000\000\000\002F\000\000\000\000\000\133\000\133\000\000\000\133\003Z\000\133\011\242\012J\000\000\000\000\012\178\012\202\012\206\000\000\000\000\000\000\002n\000\000\002r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\018\002z\000\000\000\000\012\022\012\210\002\134\000\000\000\000\012\026\012\030\000\000\000\000\012\"\000\000\000\000\000\000\000\000\002:\000\000\000\000\011\234\000\000\000\000\011\238\000\000\000\000\000\000\000\000\012&\012*\000\000\000\000\000\000\000\000\012.\000\000\000\000\000\n\000\000\002F\000\000\000\000\000\000\000\000\000\000\000\000\0126\000\000\011\242\012J\000\000\000\000\012\178\012\202\012\206\006a\000\000\012\214\002n\012\242\002r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\018\002z\012:\000\000\012\022\012\210\002\134\000\000\012>\012\026\012\030\000\000\000\000\012\"\004\157\000\000\000\000\012B\002:\000\000\000\000\011\234\000\000\002\182\011\238\000\000\000\000\000\000\000\000\012&\012*\000\000\000\000\000\000\000\000\012.\000\000\000\000\000\n\000\000\002F\000\000\000\000\000\000\000\000\000\000\000\000\0126\000\000\011\242\012J\000\000\000\000\012\178\012\202\012\206\006a\000\000\012\214\002n\012\242\002r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\018\002z\012:\000\000\012\022\012\210\002\134\000\000\012>\012\026\012\030\000\000\000\000\012\"\b\169\000\000\000\000\012B\002:\000\000\000\000\011\234\000\000\002\182\011\238\000\000\000\000\000\000\000\000\012&\012*\000\000\000\000\000\000\000\000\012.\000\000\000\000\000\n\000\000\002F\000\000\000\000\000\000\000\000\000\000\000\000\0126\000\000\011\242\012J\000\000\000\000\012\178\012\202\r\174\006a\000\000\012\214\002n\012\242\002r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\018\002z\012:\000\000\012\022\012\210\002\134\000\000\012>\012\026\012\030\000\000\000\000\012\"\002I\000\000\000\000\012B\000\000\000\000\000\000\000\000\000\000\002\182\000\000\001\177\000\000\000\000\001\177\012&\012*\000\000\000\000\000\000\000\000\012.\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0126\001\177\001\177\000\000\000\000\000\000\001\177\000\000\000\000\006a\001\177\000\000\000\000\012\242\000\000\000\000\001\177\000\000\000\000\001\177\001\177\000\000\001\177\001\177\012:\000\000\000\000\000\000\001\177\000\000\012>\000\000\001\177\000\000\000\000\001\177\b\185\001\177\001\177\012B\000\000\000\000\000\000\000\000\000\000\002\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\001\177\r*\001\177\000\000\000\000\003\133\000\000\000j\003\133\000r\000\000\000\130\003\133\001\177\003\133\000\000\000\000\000\000\000\138\003\133\003\133\000\000\000\000\000\000\r2\rZ\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r:\001\177\015V\000\000\001\177\000\000\r\130\r\138\001\177\000\146\003\133\000\000\000\000\000\000\003\133\000\000\rb\000\000\000\000\rB\000\000\rR\000\000\000\000\000\000\001\177\000\000\001\177\000\000\000\000\003\133\000\000\000\000\015^\001\177\001\177\000\000\001\177\001\177\001\177\000\000\000\000\003\133\000\162\rj\000\000\000\000\000\000\000\000\000\000\003\133\000\000\000\000\000\000\003\133\003\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\133\003\129\000\000\000\182\003\129\000\190\000\000\000\206\003\129\000\000\003\129\003\133\000\000\000\000\000\214\003\129\003\129\000\000\rr\000\000\000\000\003\133\000\000\000\000\000\000\rJ\003\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\201\000\000\000\000\000\000\000\000\000\222\003\129\005\201\000\000\000\000\003\129\000\000\000\000\000\000\000\000\r\146\rz\000\000\000\000\000\000\003\133\000\000\000\000\003\133\003\133\001\153\003\129\003\133\001\153\000\000\000\000\000\000\003\133\003\133\000\000\000\000\000\000\003\133\003\129\000\238\000\000\000\000\000\000\000\000\000\000\000\000\003\129\000\000\001\153\001\153\003\129\003\129\000\000\001\153\000\000\000\000\000\000\001\153\000\000\000\000\000\000\000\000\003\129\001\153\000\000\000\000\000\000\000\000\000\000\001\153\001\153\000\000\000\000\003\129\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\001\153\003\129\001\153\001\153\000\000\000\000\003\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\000\000\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\003\129\000\000\000\000\003\129\003\129\000\000\000\000\003\129\000\000\000\000\000\000\000\000\003\129\003\129\000\000\000\000\000\000\003\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\002\226\000\000\001\153\001\153\000\000\000\000\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\001\153\000\000\001\153\000\000\000\000\000\000\000\000\003\166\001\153\001\153\000\000\001\153\001\153\001\153\000R\000V\000f\000\170\b\186\000\174\011\146\000\178\000\246\011\150\000\254\000\000\001\014\000\000\001\022\011\154\001\030\001\190\001\198\001\202\011\158\002:\000\000\000\000\002>\000\000\000\000\002B\000\000\000\000\000\000\000\000\000\000\000\000\001\210\000\000\000\000\016\030\000\000\000\000\000\000\000\000\000\000\002F\000\000\000\000\002J\000\000\000\000\001\218\000\000\000\000\002Z\002^\000\000\002f\000\000\011\230\000\000\000\000\000\000\000\000\002n\000\000\002r\000\000\000\000\000\000\000\000\001\234\000\000\000\000\002v\002z\000\000\012\226\002~\002\130\002\134\000\000\000\000\002\138\002\142\001\238\000\000\002\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\138\000\000\001\250\015\226\000\000\000\000\011\198\011\202\002\150\000\000\000\000\000\000\000\000\002\154\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\015\146\015\186\002\162\000\000\000\000\002\005\000\000\000\000\000\000\002\005\000\n\000\000\000\000\002\166\t\145\015\154\000\000\000\000\002\005\002\005\000\000\015\242\015\250\000\000\000\000\0015\002\170\002\005\0015\000\000\000\000\015\194\002\174\000\000\015\162\t\145\015\178\002\005\000\000\006Y\011\206\002\178\000\000\000\000\000\000\000\000\000\000\002\182\015\146\015\186\006Y\000\000\000\000\0015\000\000\006Y\000\000\0015\000\000\015\202\000\000\002\005\000\000\015\154\000\000\000\000\0015\0015\000\000\0015\0015\000\000\002\005\000\000\000\000\0015\000\000\000\000\000\000\015\194\000\000\000\000\015\162\000\000\015\178\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\210\000\000\000\000\002\005\000\000\000\000\000\000\015\170\015\202\000\000\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0015\000\000\000\000\002\005\000\000\002\005\000\000\000\000\000\000\000\000\000\000\000\000\002\005\002\005\000\000\016\002\015\218\002\005\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\015\210\000\178\000\246\0015\000\254\000\000\001\014\015\170\001\022\000\000\001\030\001\190\001\198\001\202\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\000\000\000\000\0015\000\000\0015\000\000\001\210\000\000\000\000\000\000\000\000\0015\0015\000\000\0015\015\218\0015\001\029\001\029\000\000\000\000\001\218\001\029\000\000\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\015\154\000\000\000\000\001\029\001\029\000\000\001\029\001\029\000\000\001\234\001\017\000\000\001\029\001\017\000\000\005>\001\029\000\000\000\000\015\162\000\000\015\178\001\029\001\238\000\000\000\000\000\000\005.\0052\000\000\000\000\000\000\000\000\001\017\001\017\000\000\000\000\000\000\001\017\000\000\000\000\000\000\001\017\000\000\001\029\000\000\001\029\000\000\001\017\000\000\000\000\001\017\001\017\000\000\001\017\001\017\000\000\001\029\000\000\000\000\001\017\000\000\000\000\000\000\001\017\000\000\000\000\015\162\000\000\001\017\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\000\000\015\170\001\017\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\001\029\b\241\001\029\000\000\000\000\000\000\000\000\000\000\000\000\001\029\001\029\000\000\001\029\001\029\001\029\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\001\017\000\178\000\246\001\017\000\254\000\000\001\014\015\170\001\022\000\000\001\030\001\190\001\198\001\202\000\000\000\000\001\021\000\000\000\000\001\021\000\000\000\000\000\000\000\000\001\017\000\000\001\017\000\000\001\210\000\000\000\000\000\000\000\000\001\017\001\017\000\000\001\017\001\017\001\017\001\021\001\021\000\000\000\000\001\218\001\021\000\000\000\000\000\000\001\021\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\021\001\021\000\000\001\021\001\021\000\000\001\234\001\025\000\000\001\021\001\025\000\000\027\202\001\021\000\000\000\000\015\162\000\000\001\021\001\021\001\238\000\000\000\000\000\000\027\190\0052\000\000\000\000\000\000\000\000\001\025\001\025\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\001\021\000\000\001\021\000\000\015\154\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\001\021\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\015\162\000\000\015\178\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\021\000\000\000\000\000\000\015\170\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\021\b\213\001\021\000\000\000\000\000\000\000\000\000\000\000\000\001\021\001\021\000\000\001\021\001\021\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\025\000\000\000\000\000\000\015\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\000\000\001)\000\000\000\000\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\025\015\146\015\186\000\000\000\000\000\000\001)\000\000\000\000\000\000\001)\000\000\000\000\000\000\000\000\000\000\015\154\000\000\000\000\001)\001)\000\000\001)\001)\000\000\000\000\001!\000\000\001)\001!\000\000\000\000\001)\000\000\000\000\015\162\000\000\015\178\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\146\015\186\000\000\000\000\000\000\001!\000\000\000\000\000\000\001!\000\000\015\202\000\000\001)\000\000\015\154\000\000\000\000\001!\001!\000\000\001!\001!\000\000\001)\000\000\000\000\001!\000\000\000\000\000\000\001!\000\000\000\000\015\162\000\000\015\178\001!\000\000\000\000\000\000\000\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\015\170\001!\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\000\000\001)\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\001)\001)\000\000\001)\001)\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\000\000\001!\000\000\000\000\000\000\015\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\000\000\001%\000\000\000\000\000\000\000\000\001!\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\001!\001!\000\000\001!\001!\001!\015\146\015\186\000\000\000\000\000\000\001%\000\000\000\000\000\000\001%\000\000\000\000\000\000\000\000\000\000\015\154\000\000\000\000\001%\001%\000\000\001%\001%\000\000\000\000\001-\000\000\001%\001-\000\000\000\000\001%\000\000\000\000\015\162\000\000\015\178\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\146\015\186\000\000\000\000\000\000\001-\000\000\000\000\000\000\001-\000\000\015\202\000\000\001%\000\000\015\154\000\000\000\000\001-\001-\000\000\001-\001-\000\000\001%\000\000\000\000\001-\000\000\000\000\000\000\015\194\000\000\000\000\015\162\000\000\015\178\001-\000\000\000\000\000\000\000\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\015\170\015\202\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001-\000\000\000\000\001%\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\001%\001%\000\000\001%\001%\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\210\000\000\000\000\001-\000\000\000\000\000\000\015\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\138\000\000\000\000\001=\000\000\000\000\000\000\000\000\001-\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\001-\001-\000\000\001-\001-\001-\015\146\015\186\000\000\000\000\000\000\001=\000\000\000\000\000\000\001=\000\000\000\000\000\000\000\000\000\000\015\154\000\000\000\000\001=\001=\000\000\001=\015\250\000\000\000\000\015\138\000\000\001=\0011\000\000\000\000\015\194\000\000\000\000\015\162\000\000\015\178\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\146\015\186\000\000\000\000\000\000\0011\000\000\000\000\000\000\0011\000\000\015\202\000\000\001=\000\000\015\154\000\000\000\000\0011\0011\000\000\0011\0011\000\000\001=\000\000\000\000\0011\000\000\000\000\000\000\015\194\000\000\000\000\015\162\000\000\015\178\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\210\000\000\000\000\001=\000\000\000\000\000\000\015\170\015\202\000\000\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0011\000\000\000\000\001=\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\001=\001=\000\000\016\002\015\218\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\210\000\000\000\000\0011\000\000\000\000\000\000\015\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\138\000\000\000\000\0019\000\000\000\000\000\000\000\000\0011\000\000\0011\000\000\000\000\000\000\000\000\000\000\000\000\0011\0011\000\000\0011\015\218\0011\015\146\015\186\000\000\000\000\000\000\0019\000\000\000\000\000\000\0019\000\000\000\000\000\000\000\000\000\000\015\154\000\000\000\000\0019\0019\000\000\0019\015\250\000\000\000\000\000\000\000\000\0019\000\000\000\000\022v\015\194\000\000\000\000\015\162\000\000\015\178\0019\000\000\000\000\000\000\000\000\022z\000\000\000\000\000\000\000\000\000\000\000\000\024\186\000\000\000\000\022~\000\000\022\130\011\209\011\209\000\000\000\000\015\202\000\000\0019\022\134\000\000\000\000\000\000\000\000\000\000\022\138\000\000\000\000\022\146\0019\000\000\000\000\022\150\000\000\000\000\000\000\000\000\000\000\022\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026~\024j\000\000\011\209\000\000\022\158\000\000\015\210\000\000\000\000\0019\000\000\000\000\000\000\015\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\209\0019\022\162\0019\000\000\022\166\000\000\022v\000\000\000\000\0019\0019\000\000\0019\015\218\0019\023\242\000\000\022\170\022z\000\000\000\000\000\000\022\174\000\n\022\178\000\000\022\182\022\186\022~\022\190\022\130\000\000\000\000\000\000\000\000\011\165\022\194\000\000\022\134\022\198\000\000\000\000\000\000\000\000\022\138\000\000\000\000\022\146\000\000\000\000\000\000\022\150\000\000\000\000\022\202\000\000\000\000\022\154\000\000\022\206\022\210\011\209\000\000\000\000\000\000\000\000\000\000\000\000\025\022\000\000\000\000\011\165\000\000\022\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\165\000\000\022\162\000\000\000\000\022\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\000\000\000\000\002>\000\000\022\170\002B\000\000\000\000\000\000\022\174\000\n\022\178\000\000\022\182\022\186\t\145\022\190\000\000\000\000\000\000\000\000\002F\000\000\022\194\002J\000\000\022\198\000\000\000\000\000\000\002Z\002^\000\000\002f\000\000\000\000\000\000\000\000\000\000\000\000\002n\022\202\002r\000\000\000\000\000\000\022\206\022\210\011\165\000\000\002v\002z\000\000\000\000\002~\002\130\002\134\000\000\015M\002\138\002\142\015M\000\000\002\146\000\000\000\000\000\000\000\000\000\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\015M\015M\000\000\000\000\002\154\000\000\000\000\000\n\006^\000\000\000\000\000\000\000\000\000\000\000\000\015M\002\162\000\000\000\000\015M\000\000\015M\015M\000\000\000\000\006f\000\000\002\166\007^\000\000\000\000\015M\000\000\000\000\015M\000\000\015M\000\000\000\000\000\000\002\170\000\000\000\000\000\000\nZ\006A\002\174\000\000\000\000\n\158\006A\t\145\000\000\006A\000\000\002\178\006A\006A\000\000\015M\006A\002\182\006A\000\000\000\000\000\000\000\000\006A\006A\006A\000\000\000\000\006A\000\000\006A\000\000\000\000\006A\000\000\007j\000\000\000\000\006A\006A\006A\000\000\006A\000\000\006A\000\000\006A\006A\006A\000\000\000\000\006A\006A\006A\006A\015M\015M\006A\015M\000\000\007n\006A\015M\006A\n*\n\222\006A\006A\006A\000Z\000\000\007v\000\000\006A\000Z\000\000\015M\001\170\006A\011\018\015M\015M\000Z\006A\000Z\006A\000\000\015M\006A\000\000\006A\015M\015M\006A\006A\006A\000\000\006A\006A\006A\006A\000\000\006A\006A\006A\000\000\006A\006A\000\000\006A\006A\006A\006A\006A\000\000\000\000\006A\006A\006A\000\000\006A\006A\006A\006A\011R\006A\006A\000\000\006A\000Z\006A\006A\006A\006A\000Z\006A\006A\000\000\006A\006A\000\000\000\000\000\000\000\000\000\000\006A\000\000\000\000\006A\000\000\000\000\000\000\000\000\006A\006A\006A\006A\011~\006A\006A\006A\006A\000Z\006A\000\000\000\000\006A\000\000\006A\006A\000\000\006A\006A\000\000\000\000\006A\006A\006A\006A\000\000\006A\006A\006A\006A\000\000\006A\006A\000\000\006A\000\000\006A\006A\000\000\006A\000\000\006A\000\000\000\000\006A\002:\000\000\000\000\002>\000\000\006A\002B\000\000\000\000\006A\006A\006A\006A\000\000\006A\006A\019\202\006A\000\000\006A\006A\000\000\002F\000\000\006A\002J\000\000\006A\000\000\000\000\000\000\002Z\002^\000\000\002f\000\000\000\000\000\000\000\000\000\000\000\000\002n\006A\002r\000\000\000\000\000\000\006A\006A\000\000\000\000\002v\002z\000\000\000\000\002~\002\130\002\134\000\000\000\000\002\138\002\142\000\000\000\000\002\146\025\002\000\000\025\n\000\000\000\000\000\000\000\000\000\000\025\018\000\000\000\000\000\000\000\000\0252\000\000\000\000\002\150\000\000\000\000\000\000\022z\002\154\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\022~\000\000\022\130\002\162\000\000\000\000\000\000\000\000\000\000\000\000\022\134\000\000\000\000\000\000\002\166\000\000\022\138\000\000\000\000\022\146\000\000\000\000\000\000\022\150\000\000\002:\000\000\002\170\002>\022\154\000\000\002B\000\000\002\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\178\000\000\000\000\022\158\025:\002F\002\182\000\000\002J\000\000\000\000\000\000\000\000\000\000\002Z\b6\000\000\002f\000\000\000\000\000\000\000\000\000\000\000\000\002n\000\000\002r\000\000\000\000\000\000\022\162\000\000\000\000\022\166\002v\002z\000\000\000\000\002~\002\130\002\134\000\000\000\000\002\138\002\142\000\000\022\170\002\146\000\000\000\000\000\000\022\174\000\n\022\178\000\000\022\182\022\186\000\000\022\190\000\000\000\000\000\000\000\000\000\000\002\150\022\194\000\000\000\000\022\198\002\154\000\000\000\000\000\n\000\000\000\000\000\000\002:\000\000\000\000\002>\000\000\002\162\002B\022\202\000\000\000\000\000\000\000\000\022\206\022\210\000\000\000\000\002\166\000\000\000\000\000\000\000\000\000\000\002F\000\000\000\000\002J\000\000\000\000\000\000\002\170\000\000\002Z\002\158\000\000\002f\002\174\000\000\000\000\000\000\000\000\000\000\002n\000\000\002r\002\178\000\000\000\000\000\000\000\000\000\000\002\182\002v\002z\000\000\007\234\002~\002\130\002\134\000\000\000\000\002\138\002\142\000\000\004e\002\146\000\000\004e\000\000\000\000\004e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\150\000\000\000\000\000\000\004e\002\154\000\000\004e\000\n\000\000\000\000\000\000\000\000\004e\004e\000\000\004e\002\162\000\000\000\000\000\000\000\000\000\000\004e\000\000\004e\000\000\000\000\002\166\000\000\000\000\000\000\000\000\004e\004e\000\000\000\000\004e\004e\004e\000\000\002\170\004e\004e\000\000\022v\004e\002\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\178\022z\000\000\000\000\000\000\000\000\002\182\004e\000\000\000\000\000\000\022~\004e\022\130\000\000\004e\000\000\000\000\000\000\000\000\000\000\022\134\000\000\000\000\004e\000\000\000\000\022\138\000\000\000\000\022\146\000\000\000\000\000\000\022\150\000\000\000\000\000\000\000\000\000\000\022\154\000\000\000\000\000\000\000\000\000\000\006A\000\000\004e\006A\000v\023\238\000\000\006A\004e\006A\022\158\000\000\000\000\000\000\006A\006A\000\000\004e\000\000\000\000\000\000\000\000\000\000\004e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\165\000\000\022\162\000\000\000\000\022\166\006A\000\000\000\000\006A\000\194\000\000\000\000\006A\000\000\006A\000\000\000\000\022\170\000\000\006A\006A\000\000\022\174\000\n\022\178\000\000\022\182\022\186\006A\022\190\000\000\006A\001\242\000\000\006A\001\002\022\194\000Z\006A\022\198\006A\000\000\000\000\000\000\000\000\006A\006A\000\000\006A\006A\000\000\000\000\006A\006A\022\202\000\000\000\000\000\000\000\000\022\206\022\210\011\165\000\000\000\000\006A\000\000\000\000\000\000\000\000\006A\000\000\000\000\000\000\004\182\000\000\006A\000\000\000\000\000Z\006A\000\000\006A\000\000\000\000\000\000\006A\000\000\000\000\000\000\006A\006A\000\000\000\000\006A\006A\006A\000\000\000\000\000\000\004\246\000\000\000\000\000\000\000\000\000Z\006A\000\000\006A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006A\006A\000\000\000\000\006A\006A\000\000\000\000\006A\000\000\000\000\006A\006A\000\000\000\000\006A\006A\000\000\000\000\000\000\006A\006A\000\000\000\000\000\000\006A\000\000\006A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006A\000\000\000\000\000\000\000\000\006A\000\000\000\000\000\000\000\000\000\000\000\000\006A\000\000\000\000\006A\006A\000\000\000\000\006A\000\000\000\000\000\000\000\000\006A\006A\000\000\002:\000\000\006A\002N\000\000\000\000\002R\000\000\000\000\000\000\000\000\006A\000\000\000\000\006A\006A\000\000\000\000\006A\000\000\000\000\000\000\002F\006A\006A\002J\000\000\000\000\006A\000\000\000\000\002V\002j\000\000\002f\000\000\000\000\000\000\000\000\000\000\000\000\002n\000\000\002r\002:\000\000\000\000\002N\000\000\000\000\002R\006\018\002z\000\000\000\000\006\022\002\130\002\134\000\000\000\000\006\030\006\"\000\000\000\000\006&\000\000\002F\000\000\000\000\002J\000\000\000\000\000\000\000\000\000\000\002V\b\030\000\000\002f\000\000\000\000\006*\000\000\000\000\000\000\002n\006.\002r\000\000\000\n\000\000\000\000\000\000\000\000\000\000\006\018\002z\000\000\006>\006\022\002\130\002\134\000\000\000\000\006\030\006\"\006A\000\000\006&\006A\003\254\000\000\006A\006A\000\000\006A\004B\000\000\000\000\006A\006A\006A\006B\006A\004\130\006*\006A\006A\006F\006A\006.\000\000\000\000\000\n\006A\006A\000\000\006J\000\000\000\000\000\000\000\000\006>\002\182\000\000\000\000\000\000\000\000\000\000\000\000\006A\000\000\000\000\000\000\006A\000\000\006A\000\000\000\000\000\000\006A\000\000\000\000\000\000\006A\000\000\006B\000\000\006A\000\000\006A\000\000\006F\000\000\005\218\000\000\006A\000\000\000\000\000Z\bf\006J\006A\000\000\006A\000Z\000\000\002\182\006A\000\000\006A\000\189\000\000\000Z\006A\006A\006A\000\000\000\000\000\000\006A\006A\000\000\000\000\006A\000\000\006A\000\000\006A\006A\000\000\000\000\006A\000\000\r2\rZ\000\000\006A\000\000\000\000\006A\000\000\000\000\006A\000\000\000\000\000\000\006A\000\000\r:\000\000\006A\006A\006A\000\000\000\189\000\189\000\000\006A\000\000\000\000\006A\000\000\000\000\000\000\rb\006A\000\000\rB\000\000\rR\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006A\000\000\000\000\006A\006A\000\000\006A\006A\rj\006A\006A\000\000\006A\006A\006A\000\000\000\000\006A\006A\006A\000\000\006A\002:\006A\000\000\002N\006A\006A\002R\000\000\000\000\006A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002F\000\000\000\000\002J\rr\000\000\000\000\000\000\000\000\002V\0062\rJ\002f\000\000\000\000\000\000\000\000\000\000\000\000\002n\000\000\002r\000\000\000\000\000\000\000\189\000\000\000\000\000\000\006\018\002z\000\000\000\189\006\022\002\130\002\134\000\000\000\000\006\030\006\"\000\189\rz\006&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006*\000\000\000\000\000\000\000\000\006.\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006>\000R\000V\000f\000\170\000\000\000\174\011\146\000\178\000\246\011\150\000\254\000\000\001\014\026\254\001\022\011\154\001\030\001\190\001\198\001\202\011\158\027\002\000\000\006B\002:\000\000\000\000\011\234\000\000\006F\011\238\000\000\000\000\000\000\001\210\000\000\000\000\000\000\006J\000\000\000\000\000\000\000\000\000\000\002\182\000\000\002F\000\000\000\000\001\218\000\000\000\000\000\000\000\000\000\000\011\242\011\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002n\000\000\002r\000\000\001\234\000\000\000\000\000\000\000\000\000\000\012\018\002z\000\000\000\000\012\022\002\130\002\134\000\000\001\238\012\026\012\030\000\000\000\000\012\"\000\000\000\000\000\000\000\000\002:\000\000\000\000\011\234\000\000\000\000\011\238\000\000\000\000\000\000\000\000\012&\012*\000\000\000\000\000\000\000\000\012.\000\000\000\000\000\n\000\000\002F\000\000\000\000\000\000\000\000\000\000\000\000\0126\000\000\011\242\0122\000\000\000\n\000\000\000\000\000\000\000\000\005\005\000\000\002n\000\000\002r\002:\000\000\000\000\011\234\000\000\000\000\011\238\012\018\002z\012:\000\000\012\022\002\130\002\134\000\000\012>\012\026\012\030\000\000\000\000\012\"\000\000\002F\000\000\012B\000\000\000\000\000\000\000\000\000\000\002\182\011\242\012J\000\000\000\000\000\000\012&\012*\000\000\000\000\000\000\002n\012.\002r\000\000\000\n\000\000\000\000\000\000\000\000\000\000\012\018\002z\000\000\0126\012\022\002\130\002\134\000\000\000\000\012\026\012\030\000\000\000\000\012\"\000\000\000\000\000\000\000\000\002:\000\000\000\000\014\166\000\000\000\000\014\170\000\000\000\000\012:\000\000\012&\012*\000\000\000\000\012>\000\000\012.\000\000\000\000\000\n\000\000\002F\000\000\012B\000\000\000\000\000\000\000\000\0126\002\182\014\174\016\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002n\000\000\002r\002:\000\000\000\000\014\166\000\000\000\000\014\170\014\198\002z\012:\000\000\014\202\002\130\002\134\000\000\012>\014\206\014\210\000\000\000\000\014\214\000\000\002F\000\000\012B\000\000\000\000\000\000\000\000\000\000\002\182\014\174\014\178\000\000\000\000\000\000\012&\014\218\000\000\000\000\000\000\002n\014\222\002r\000\000\000\n\000\000\000\000\000\000\000\000\000\000\014\198\002z\000\000\014\230\014\202\002\130\002\134\000\000\000\000\014\206\014\210\000\000\000\000\014\214\000\000\000\000\000\000\000\000\002:\000\000\000\000\014\166\000\000\000\000\014\170\000\000\000\000\014\234\000\000\012&\014\218\000\000\000\000\014\238\000\000\014\222\000\000\000\000\000\n\000\000\002F\000\000\014\242\000\000\000\000\000\000\000\000\014\230\002\182\014\174\014\226\000\000\000\000\011\146\000\000\000\000\011\150\000\000\000\000\002n\027\018\002r\011\154\000\000\000\000\000\000\000\000\011\158\027\022\014\198\002z\014\234\000\000\014\202\002\130\002\134\000\000\014\238\014\206\014\210\000\000\t\137\014\214\000\000\000\000\000\000\014\242\000\000\000\000\000\000\000\000\000\000\002\182\t\137\000\000\000\000\000\000\000\000\012&\014\218\000\000\017\234\000\000\t\137\014\222\t\137\000\000\000\n\000\000\000\000\000\000\000\000\000\000\t\137\000\000\000\000\014\230\017\238\000\000\t\137\000\000\bI\t\137\000\000\000\000\000\000\t\137\023J\000\000\000\000\000\000\000\000\t\137\bI\000\000\000\000\000\000\002z\000\000\000\000\014\234\014*\002\134\bI\000\000\bI\014\238\000\000\t\137\000\000\000\000\000\000\000\000\bI\000\000\014\242\000\000\000\000\000\000\bI\000\000\002\182\bI\000\000\000\000\000\000\bI\000\000\000\000\000\000\000\000\000\000\bI\000\000\000\n\t\137\000\000\000\000\t\137\005\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bI\025:\000\000\t\137\000\000\000\000\000\000\000\000\t\137\t\137\t\137\000\000\t\137\t\137\000\000\t\137\000\000\000\000\000\000\000\000\000\000\000\000\t\137\000\000\000\000\t\137\000\000\bI\000\000\000\000\bI\000\000\023\210\000\000\000\000\000\000\t\253\t\253\000\000\000\000\t\137\t\253\000\000\bI\022z\t\137\t\137\000\000\bI\bI\bI\000\000\bI\bI\022~\bI\022\130\000\000\000\000\000\000\000\000\000\000\bI\000\000\022\134\bI\000\000\000\000\000\000\000\000\022\138\000\000\023\234\022\146\000\000\000\000\000\000\022\150\000\000\000\000\bI\000\000\000\000\022\154\022z\bI\bI\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022~\000\000\022\130\000\000\000\000\022\158\000\000\000\000\000\000\000\000\022\134\000\000\000\000\000\000\000\000\000\000\022\138\000\000\000\000\022\146\000\000\000\000\000\000\022\150\000\000\000\000\000\000\000\000\000\000\022\154\000\000\000\000\022\162\000\000\000\000\022\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\158\000\000\000\000\022\170\000\000\000\000\000\000\000\000\022\174\000\n\022\178\000\000\022\182\022\186\000\000\022\190\000\000\000\000\000\000\000\000\000\000\000\000\022\194\000\000\000\000\022\198\000\000\022\162\000\000\000\000\022\166\000\000\022v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\202\000\000\000\000\022\170\022z\022\206\022\210\000\000\022\174\000\n\022\178\000\000\022\182\022\186\022~\022\190\022\130\000\000\000\000\000\000\000\000\000\000\022\194\000\000\022\134\022\198\000\000\000\000\000\000\000\000\022\138\000\000\022v\022\146\000\000\000\000\000\000\022\150\000\000\000\000\022\202\000\000\000\000\022\154\022z\022\206\022\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022~\000\000\022\130\000\000\000\000\024\150\000\000\000\000\000\000\000\000\022\134\000\000\000\000\000\000\000\000\000\000\022\138\000\000\000\000\022\146\000\000\000\000\000\000\022\150\000\000\000\000\000\000\000\000\000\000\022\154\000\000\000\000\022\162\000\000\000\000\022\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\n\000\000\000\000\022\170\000\000\000\000\000\000\000\000\022\174\000\n\022\178\000\000\022\182\022\186\000\000\022\190\000\000\000\000\000\000\000\000\000\000\000\000\022\194\000\000\000\000\022\198\000\000\022\162\000\000\000\000\022\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\202\000\000\000\000\022\170\000\000\022\206\022\210\000\000\022\174\000\n\022\178\000\000\022\182\022\186\000\000\022\190\000\000\000\000\000\000\000\000\000\000\000\000\022\194\000\000\000\000\022\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\202\000\000\000\000\000\000\000\000\022\206\022\210\004}\004}\004}\004}\000\000\004}\000\000\004}\004}\000\000\004}\000\000\004}\000\000\004}\000\000\004}\004}\004}\004}\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\002\002\000\178\000\246\000\000\000\254\004}\001\014\000\000\001\022\000\000\001\030\001\190\001\198\001\202\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\001\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\165\000\000\004}\000\000\000\000\001\218\000\000\000\000\004}\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\165\000\165\001\234\000\000\000\000\000\000\004}\000\000\001\246\000\000\000\000\000\000\000\000\000\000\000\000\r:\001\238\000\000\000\000\000\000\000\000\000\165\000\165\000\000\000\000\000\000\000\000\000\000\000\000\001\250\000\000\000\165\000\000\000\000\rB\000\000\rR\004}\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\001\190\001\198\001\202\000\000\000\165\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\210\000\000\000\000\000\000\000R\000V\000f\000\170\001\254\000\174\004}\000\178\000\246\000\000\000\254\001\218\001\014\000\000\001\022\000\000\001\030\001\190\001\198\001\202\000\000\000\000\000\000\000\165\000\000\000\000\000\000\000\000\000\000\ry\rJ\001\234\000\000\000\000\001\210\000\000\000\000\001\246\000\000\000\000\000\000\000\000\000\000\000\000\000\165\001\238\000\000\000\000\000\000\001\218\000\000\000\165\000\000\000\000\000\000\000\000\000\000\000\000\001\250\000\165\000\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\000\000\000\000\000\000\005*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\238\000\000\000\000\000\000\005.\0052\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\001\254\001\022\000\000\001\030\001\190\001\198\001\202\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\001\210\001\014\000\000\001\022\002}\001\030\001\190\001\198\001\202\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\0056\000\000\000\000\000\000\000\000\000\000\001\210\022v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\022z\000\000\001\218\004\173\000\000\005*\000\000\000\000\000\000\000\000\022~\000\000\022\130\001\238\000\000\000\000\000\000\005.\0052\000\000\022\134\000\000\001\234\000\000\000\000\000\000\000\000\000\000\005*\022\146\000\000\000\000\000\000\022\150\000\000\000\000\001\238\000\000\000\000\022\154\005.\0052\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\022\158\001\014\000\000\001\022\000\000\001\030\001\190\001\198\001\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0056\001\210\000\000\000\000\000\000\022\162\000\000\000\000\022\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\000\000\000\000\000\000\022\170\b\225\0056\000\000\000\000\022\174\0266\022\178\000\000\022\182\022\186\000\000\022\190\000\000\000\000\001\234\000\000\000\000\000\000\022\194\000\000\027\186\022\198\000\000\002i\000\000\000\000\000\000\000\000\001\238\000\000\000\000\000\000\027\190\0052\000\000\000\000\022\202\000\000\000\000\000\000\000\000\022\206\022\210\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\000\000\001\022\000\000\001\030\001\190\001\198\001\202\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\001\210\001\014\000\000\001\022\000\000\001\030\001\190\001\198\001\202\000\000\000\000\000\000\000\000\000\000\027\194\001\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\004\165\000\000\001\218\000\000\000\000\027\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\238\000\000\000\000\000\000\027\190\0052\000\000\000\000\000\000\001\234\000\000\000\000\000\000\000\000\000\000\027\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\238\000\000\000\000\000\000\027\190\0052\000R\000V\000f\000\170\000\000\000\174\001\169\000\178\000\246\001\169\000\254\000\000\001\014\000\000\001\022\000\000\001\030\001\190\001\198\001\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\169\001\169\000\000\000\000\000\000\001\210\027\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\169\000\000\000\000\000\000\001\169\001\218\001\169\001\169\000\000\000\000\0151\000\000\000\000\b\197\027\194\000\000\001\169\000\000\000\000\001\169\000\000\001\169\000\000\000\000\000\000\001\234\000\000\000\000\000\000\000\000\000\000\001\246\000\000\0151\0151\000\000\002Y\000\000\000\000\001\238\000\000\012b\000\000\000\000\001\169\000\000\000\000\000\000\0151\000\000\000\000\000\000\001\250\000\000\0151\0151\000\000\000\000\012j\000\000\000\000\012v\000\000\000\000\0151\000\000\000\000\0151\000\000\0151\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\001\169\006z\000\000\001\169\000\000\000\000\000\000\001\169\0151\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\178\000\000\000\000\007\n\000\000\001\169\000\000\000\000\000\000\001\169\001\169\000\000\012\130\000\000\000\000\000\000\006\130\000\000\000\000\000\000\001\169\001\169\000\000\006\186\006\226\000\000\000\000\000\000\002u\000\000\000\000\000\000\0151\000\000\000\000\000\000\000\000\012\134\006\194\0151\000\000\000\000\001\253\000\000\007\026\007\"\000\000\000\000\012\142\000\249\000\000\000\000\000\249\0151\006\234\000\000\000\000\006\202\000\000\006\218\0151\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0151\0151\000\000\000\000\006\186\006\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\242\000\000\000\000\000\000\000\000\006\194\000\000\000\000\000\000\000\249\000\000\000\249\000\249\000\225\000\000\000\000\000\225\000\000\000\000\000\000\000\000\006\234\000\000\000\000\006\202\000\000\006\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\225\000\225\000\000\000\000\006\250\000\000\000\000\001\253\000\000\000\000\000\000\006\210\000\000\006\242\000\000\006\194\000\000\000\000\000\000\000\225\000\000\000\225\000\225\000\213\000\000\001\253\000\213\000\000\000\000\001\253\001\253\000\225\000\000\000\000\006\202\000\000\006\218\000\000\000\000\000\000\007*\007\002\000\000\000\000\000\000\000\000\000\213\000\213\000\000\000\000\000\000\000\000\000\000\006\250\000\000\000\000\000\249\000\000\000\000\000\225\006\210\000\213\000\000\000\000\000\000\000\213\000\000\000\213\000\213\000\217\000\000\000\000\000\217\000\000\000\249\000\000\000\000\000\213\000\249\000\249\006\202\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\249\007\002\000\000\000\217\000\217\000\000\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\225\000\000\000\000\000\213\006\210\000\217\000\000\000\000\000\000\000\217\000\000\000\217\000\217\000\221\000\000\000\000\000\221\000\000\000\225\000\000\000\000\000\217\000\225\000\225\006\202\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\225\000\225\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\213\000\000\000\000\000\217\006\210\006\194\000\000\000\000\000\000\000\221\000\000\000\221\000\221\000\237\000\000\000\000\000\237\000\000\000\213\000\000\000\000\000\221\000\213\000\213\006\202\000\000\006\218\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\213\000\000\006\186\006\226\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\217\000\000\000\000\000\221\006\210\006\194\000\000\000\000\000\000\000\237\000\000\000\237\000\237\000\229\000\000\000\000\000\229\000\000\000\217\000\000\000\000\000\237\000\217\000\217\006\202\000\000\006\218\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\217\000\000\006\186\006\226\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\000\000\221\000\000\000\000\006\242\006\210\006\194\000\000\000\000\000\000\000\229\000\000\000\229\000\229\000\233\000\000\000\000\000\233\000\000\000\221\000\000\000\000\000\229\000\221\000\221\006\202\000\000\006\218\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\221\000\000\006\186\006\226\000\000\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000\237\000\000\000\000\000\229\006\210\006\194\000\000\000\000\000\000\000\233\000\000\000\233\000\233\000\241\000\000\000\000\000\241\000\000\000\237\000\000\000\000\000\233\000\237\000\237\006\202\000\000\006\218\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\237\000\000\006\186\006\226\000\000\000\000\000\000\000\000\000\000\000\229\000\000\000\000\000\229\000\000\000\000\006\242\006\210\006\194\000\000\000\000\000\000\000\241\000\000\000\241\000\241\006\178\000\000\000\000\001\001\000\000\000\229\000\000\000\000\006\234\000\229\000\229\006\202\000\000\006\218\000\000\000\000\000\000\000\000\000\000\000\000\000\229\000\229\000\000\006\186\006\226\000\000\000\000\000\000\000\000\000\000\000\233\000\000\000\000\000\233\000\000\000\000\006\242\006\210\006\194\000\000\000\000\000\000\001\001\000\000\001\001\007\"\006\178\000\000\000\000\000\245\000\000\000\233\000\000\000\000\006\234\000\233\000\233\006\202\000\000\006\218\000\000\000\000\000\000\000\000\000\000\000\000\000\233\000\233\000\000\006\186\006\226\000\000\000\000\000\000\000\000\000\000\006\250\000\000\000\000\000\241\000\000\000\000\006\242\006\210\006\194\000\000\000\000\000\000\000\245\000\000\000\245\000\245\006\178\000\000\000\000\000\253\000\000\000\241\000\000\000\000\006\234\000\241\000\241\006\202\000\000\006\218\000\000\000\000\000\000\000\000\000\000\000\000\000\241\000\241\000\000\006\186\006\226\000\000\000\000\000\000\000\000\000\000\006\250\000\000\000\000\001\001\000\000\000\000\006\242\006\210\006\194\000\000\000\000\000\000\000\253\000\000\000\253\007\"\000\153\000\000\000\000\000\000\000\157\001\001\000\000\000\000\006\234\001\001\001\001\006\202\000\000\006\218\000\000\000\000\000\000\000\000\000\000\000\000\007*\007\002\000\000\000\153\000\153\000\000\000\000\000\157\000\157\000\000\006\250\000\000\000\000\000\245\000\000\000\000\006\242\006\210\000\153\000\000\000\000\000\000\000\157\000\000\000\153\000\153\000\161\000\000\000\157\000\157\000\177\000\245\000\000\000\000\000\153\000\245\000\245\rB\000\157\000\153\000\000\rB\000\000\000\157\000\000\000\000\000\245\007\002\000\000\000\161\000\161\000\000\000\000\r2\rZ\000\000\006\250\000\000\000\000\000\253\000\000\000\000\000\153\006\210\r:\000\000\000\157\000\000\r:\000\000\000\161\000\161\000\169\000\000\000\177\000\177\000\000\000\253\000\000\000\000\000\161\000\253\000\253\rB\000\177\rR\000\000\rB\000\000\rR\000\000\000\000\000\253\007\002\000\000\r2\rZ\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\157\000\000\000\161\rJ\r:\000\000\rj\rJ\000\000\000\000\000\169\000\169\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\169\000\157\000\000\rB\000\153\rR\000\000\000\000\000\157\000\000\000\000\000\000\000\153\000\153\000\000\000\000\000\157\000\157\000\000\000\000\000\000\000\000\000\161\000\000\000\000\000\000\000\177\000\000\000\169\rJ\000\000\000\000\000\000\rJ\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\000\000\161\000\000\000\000\000\000\000\177\000\000\000\000\000\161\000\000\000\000\000\000\000\177\000\000\000\000\000\000\000\161\000\161\000\000\000\000\000\177\000\177\r2\rZ\000\000\000\000\000\169\000\000\000\000\000\000\000\000\000\000\000\000\rJ\000\000\000\000\000\000\r:\000\000\000\000\000\000\000\181\000\000\000\173\000\173\r*\000\000\000\169\000\000\000\000\000\000\000\000\000\000\000\173\000\169\000\000\rB\000\000\rR\000\000\000\000\000\000\000\169\000\169\r2\rZ\000\000\000\000\r2\rZ\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r:\000\000\rj\000\000\r:\000\000\000\181\000\181\r*\000\000\000\197\r\138\r*\000\000\000\000\000\000\rb\000\000\000\000\rB\rb\rR\000\000\rB\000\000\rR\000\000\000\000\000\000\000\000\000\000\r2\rZ\000\000\000\000\r2\rZ\000\000\000\000\000\000\000\000\000\000\000\173\000\000\rj\000\000\r:\000\000\rj\rJ\r:\000\000\000\185\000\185\000\000\000\000\000\193\r\138\000\000\000\000\000\000\000\000\rb\000\173\000\000\rB\rb\rR\000\000\rB\000\173\rR\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\173\000\000\000\000\000\000\000\000\rr\000\000\000\000\000\000\rr\000\000\rj\rJ\000\000\000\000\rj\rJ\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\197\000\000\000\000\000\181\000\000\000\000\000\000\000\197\000\000\000\000\000\000\000\181\000\181\000\000\000\000\r\146\rz\000\000\000\000\000\000\000\000\rr\000\000\000\000\000\000\rr\000\000\000\000\rJ\000\000\000\000\000\000\rJ\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\193\000\000\000\000\000\185\000\000\000\000\000\000\000\193\000\000\000\000\000\000\000\185\rz\000\000\000\000\000\193\rz"))
1459
1460 let lhs =
1461 (16, "\000\012\000\011\000\n\000\t\000\b\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\001\027\001\027\001\027\001\026\001\026\001\026\001\026\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\021\001\021\001\021\001\021\001\020\001\019\001\019\001\019\001\018\001\018\001\018\001\017\001\017\001\017\001\016\001\016\001\016\001\015\001\014\001\r\001\012\001\012\001\011\001\011\001\n\001\n\001\t\001\t\001\b\001\b\001\007\001\006\001\005\001\004\001\003\001\002\001\001\001\000\000\255\000\254\000\253\000\252\000\251\000\250\000\249\000\248\000\248\000\247\000\247\000\246\000\246\000\245\000\245\000\244\000\244\000\244\000\244\000\243\000\243\000\243\000\243\000\242\000\242\000\242\000\242\000\241\000\241\000\241\000\241\000\240\000\240\000\240\000\240\000\239\000\239\000\239\000\239\000\238\000\238\000\238\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\236\000\235\000\235\000\235\000\235\000\234\000\234\000\233\000\232\000\231\000\231\000\231\000\231\000\230\000\230\000\230\000\230\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\228\000\227\000\227\000\226\000\226\000\226\000\225\000\225\000\224\000\224\000\224\000\223\000\222\000\221\000\221\000\220\000\219\000\219\000\218\000\218\000\217\000\217\000\216\000\216\000\215\000\214\000\213\000\213\000\212\000\212\000\211\000\211\000\210\000\210\000\209\000\209\000\208\000\207\000\207\000\206\000\206\000\206\000\206\000\206\000\205\000\205\000\205\000\204\000\203\000\202\000\202\000\202\000\202\000\201\000\201\000\200\000\199\000\199\000\199\000\199\000\199\000\198\000\198\000\198\000\198\000\197\000\197\000\197\000\197\000\196\000\196\000\196\000\196\000\195\000\194\000\194\000\193\000\193\000\193\000\192\000\191\000\191\000\191\000\191\000\190\000\189\000\189\000\188\000\188\000\187\000\187\000\186\000\186\000\186\000\186\000\185\000\185\000\184\000\184\000\184\000\184\000\184\000\183\000\183\000\183\000\182\000\182\000\182\000\182\000\181\000\180\000\179\000\179\000\178\000\178\000\177\000\177\000\176\000\176\000\175\000\175\000\174\000\174\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\172\000\171\000\170\000\170\000\169\000\169\000\168\000\168\000\167\000\167\000\166\000\166\000\165\000\165\000\164\000\164\000\163\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\155\000\155\000\154\000\154\000\153\000\153\000\152\000\152\000\151\000\151\000\150\000\150\000\149\000\149\000\148\000\148\000\147\000\147\000\146\000\146\000\145\000\145\000\144\000\144\000\143\000\143\000\142\000\142\000\141\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\139\000\138\000\137\000\136\000\135\000\134\000\133\000\132\000\131\000\130\000\130\000\130\000\129\000\129\000\129\000\128\000\128\000\128\000\128\000\127\000~\000}\000|\000{\000z\000y\000y\000x\000x\000x\000w\000w\000v\000v\000v\000u\000u\000t\000s\000s\000s\000r\000q\000q\000p\000p\000p\000p\000p\000p\000p\000o\000o\000o\000o\000o\000o\000o\000n\000n\000n\000n\000n\000n\000n\000m\000m\000m\000m\000m\000m\000m\000l\000l\000l\000l\000l\000l\000l\000k\000k\000k\000k\000k\000k\000k\000j\000j\000i\000i\000h\000h\000g\000g\000f\000f\000e\000e\000d\000d\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000b\000b\000a\000a\000`\000`\000_\000_\000^\000^\000]\000]\000\\\000\\\000\\\000\\\000\\\000[\000[\000Z\000Z\000Z\000Z\000Y\000X\000W\000W\000W\000V\000V\000V\000U\000U\000U\000U\000U\000U\000T\000T\000T\000T\000T\000S\000S\000S\000S\000S\000S\000S\000R\000R\000R\000R\000R\000R\000R\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000P\000P\000P\000P\000P\000P\000P\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000K\000K\000K\000K\000K\000J\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000H\000H\000H\000G\000F\000E\000D\000D\000C\000C\000B\000A\000A\000A\000@\000@\000?\000?\000>\000=\000=\000=\000=\000=\000=\000=\000<\000<\000<\000<\000<\000<\000<\000;\000;\000;\000;\000;\000:\000:\0009\0009\0009\0008\0008\0007\0007\0006\0006\0005\0005\0004\0004\0003\0003\0002\0002\0001\0001\0000\0000\000/\000/\000.\000.\000-\000-\000,\000,\000+\000+\000*\000*\000)\000)\000(\000(\000'\000'\000'\000'\000'\000'\000'\000'\000'\000'\000'\000'\000'\000'\000'\000'\000'\000&\000&\000&\000%\000%\000%\000%\000$\000$\000#\000\"\000\"\000\"\000!\000!\000!\000!\000!\000 \000 \000\031\000\031\000\030\000\029\000\028\000\028\000\028\000\028\000\027\000\027\000\027\000\026\000\026\000\025\000\025\000\025\000\024\000\024\000\024\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\021\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\016\000\016\000\016\000\016\000\016\000\015\000\015\000\014\000\r\000\r\000\r\000\r\000\r")
1462
1463 let goto =
1464 ((16, "\003\152\003Z\000\000\000\000\000\000\000\144\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\143\000\000\0019\003\150\000\000\000\225\000O\000\000\000\000\000\000\001\020\000\000\0010\001v\000\000\000\000\001\174\000\000\001\226\000\000\000\000\000\000\002<\000\000\002\168\000\000\000\000\000\000\000\000\003\020\000\000\003(\003\152\000\000\000\000\004\022\000\000\005\030\000\000\000\000\000\000\005(\000\000\005\180\000\000\006\014\000\000\006@\006\220\000\000\000\000\006\254\000\000\007B\000\000\002\000\000c\t\014\000\000\000\000\000\000\004T\000\000\000\000\003\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\tD\000\000\000\000\000\145\n\222\000\000\000\000\011\"\000\000\000\000\000\000\000\000\007D\000\000\007\168\t\020\000\000\007\186\000\000\000\000\b8\000\000\000\000\b\172\000\000\b\222\000\000\000\000\000\000\b\226\000\000\002P\b\236\000\136\000\000\000\000\000\000\000\000\006\178\002>\004j\000\000\000\000\000\000\b\254\000\000\000B\000\000\003\206\000\251\007\174\000\000\000\000\003\170\000\000\000\r\000\000\000@\015\146$r\000\156$r\0202\b\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\162\000\156\000\000\000\000\021\226\000\000\030\198\000\000\018\016\000\000\000\000\000\000\000\000\003 \000\000\000\134$\144\000\000\005*\000\000\005\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000\000\r\160\000\000\015\220\000\000\017\012\000\000\018X\000\000\020\020\000\000\023(\000\000\0258\000\000\028\210\000\000\0296\000\000!\238\000\000\t$\000\000\020\\\000\000\000\000\000\000\000\000\000\000'\170\000\0007z\000\0007\232\000\000\r\250\000\000\000\000\014\b\000\000\000\000\000\000\000\000\000\000\000\197\016\020\000\000\000\189\000\000\000\000\000B\005\004\000\000\000\176\tB\000\000\000\000\t\148\000\000\t\170\t\202\000\000\000\000\n\168\000\000\n\188\000\000\000\000\000\000\n\214\000\000\n\232\000\000\000\000\011\002\000\000\011\026\011 \000\000\000\000\0118\000\000\011Z\000\000\000\000\000\000\011\\\000\000\011d\000\000\011f\000\000\011x\011\130\000\000\000\000\011\134\000\000\011\138\000\000\0042\012x\000\000\011\142\000\000\011\168\014\n\000\000\011\182\000\000\000\000\011\194\000\000\011\200\000\000\011\202\000\000\000\000\000\000\011\210\000\000\011\212\bb\000\000\011\226\000\000\005\226\000n\000\000\006\022\000\000\007&\000\000\000\000\001\188\n.\000\000\000\000\000\000\006\"\015\158\000\000\018j\000\000\000\000\000\000\004p\000\000\004\144\000\000\006$\000\000\000\000\000\000\000\000\000\000\000\000\b\140\000\000\000\000\000\000\000\000\000\000\019X\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\176\005\190\b\168\000\000\011\246\000\000\012\012\n\198\000\000\012\016\000\000\000\000\007L\000\000\000\000\000\000\000\000\000\170\000\000\000\000't\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\202\b\154\000\000\000\000\000\000\022t\000\000\023\184\006\160\000\000\000\000\000\000\005\216\000\000\011D\000\000\r\222(N\000\000\017V\000\000\026B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021z\000\000\021\166\000\000\026&\000\000\026`\000\000\026p\000\000 l\000\000!\018\000\000!B\000\000#\162\000\000%\190\000\000'\220\000\000*\174\000\000\002H\000\000)\246\000\000+d\000\000.D\000\000\000\000)\028\000\000\000\000\000\000)4\000\000\000\000\000\000\000\000\000\0002r\000\000\000\000\000\000\005\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\178\000\000\000\000\000\000\006&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\154\000\000\000\000\000\000\000\000\001*\000\000\000\0003.\000\000\000\000\000\000\000\230\001p\000\000\000\000\000\000\000\000\027(\000\000\028 \000\000\000\000\000\000\000\000\000\000)J\000\000\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\012\018\012\n\000\000\012\020\000\000\000\000\000\000\000\000\000\000\012\026\000\000\000\000\0015\007\194\000\000\b:\000\000\000\000\000\000\002\000\000\000\012:\000\029\012\028\000\000\000\000\012\030\000\000\012N\012R\000\000\000\000\012V\000\000\012\\\000\000\000\000\000\000\012t\000\000\012~\000\000\000\000\012\132\000\000\012\136\012\138\000\000\000\000\012\160\000\000\012\164\000\000\000\000\000\000\012\192\000\000\012\202\000\000\012\206\000\000\012\216\012\220\000\000\000\000\012\250\000\000\012\252\000\000\006\186\021\212\000\000\012\254\000\000\r\004\024\154\000\000\r\b\000\000\000\000\r\016\000\000\r\030\000\000\r\"\000\000\000\000\000\000\r$\000\000\005\138\000\000\000\000\r(\012\030\000\000\r2\000\000\000\000\001\b\000\000\000\000\000\005\000\000\000\000\000\000\000\000\000\000\006\196\012\162\000\000\r4\000\000\r>\rR\000\000\rB\000\000\000\000\014r\rz\000\000\000\000\r|\000\000\r\128\r\130\000\000\000\000\r\132\000\000\r\166\000\000\000\000\000\000\r\168\000\000\r\170\000\000\000\000\r\182\000\000\r\198\r\200\000\000\000\000\r\206\000\000\r\210\000\000\000\000\000\000\r\216\000\000\r\220\000\000\r\248\000\000\r\252\014\006\000\000\000\000\014\012\000\000\014\014\000\000\0076\028\186\000\000\014\016\000\000\014\022\028\196\000\000\014\024\000\000\000\000\014\026\000\000\014\030\000\000\014 \000\000\000\000\000\000\014\"\000\000\014(\016\180\000\000\0146\000\000\000\000\007\132\016\246\000\000\0148\000\000\014B\018P\000\000\014N\000\000\000\000\000\000\000\000\000\000\000\000\000\00032\000\000\004\168\000\0003P\000\000\000\000\b,\000\000\000\000\000\000\007\202\001\170\000\000\000\000\022B\006\168\000\000\006\018*\248\000\000\000\000)\184\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 2)\184\000\000!l\000\000!\186\004\158*\002\000\000\023\002\000\000\000\000\000\000\007\190\000\000\026:\000\000\000\0003\220\000\000\000\000\000\000\007\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0003\224\000\0004&\000\000\000\000\000\000\019D+\146\000\000\000\000\000\000+\170\000\000\000\000\000\000\000\000\b\170\000\000\000\000\000\000\000\000$\202\000\000\000\000'R\000\000\001E\000\000\000\000\000\000\000l\000\000\011v\000\000\022\018\000\000\025p\000\000\028\138\000\000&\140\000\000*\226\000\000,p\000\000-|\000\0000H\000\0001v\000\0001\224\000\0005\012\000\0007\150\000\000\000\000+\228\000\000\000\000\024\132+\238\000\000\000\000,\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\\\000\000\000\000\000\000\000\000\001\000\000\000\b\166\000\000\000\000\021&\000\000\000\000\000\000,\142\000\000\000\000\000\000\000\000\000\000\027(\000\000\000\000\000\000\000\000,\204\000\000\000\000\000\000\000\000\003\028\007X\000\000-T\000\000\000\000\000\000\000\000\015\140\000\000-b\000\000\000\000\000\000\000\000\0019\000\000\007\b\000\000\t\232\002,*&\000\000\000\000\000\000\004n\000\000\000\000\000\000\000\000\000\000\000\000\014\024*&\000\000\016>\000\000\020\168\005.\000\000\000\000\000\000\b\174\000\000!\\\000\000\000\0004~\000\000\000\000\000\000\b\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\027\142\000\000\030\002\000\000\000\000\000\000\002\020\000\000\000\000\000\000\000\000\000\000\000\000\030\252\000\000#\170\000\000.\254\000\000/\202\000\0001\174\000\0002\020\000\0002\236\000\0007\\\000\0008V\000\0008p\000\0008\146\000\000-\178\000\000\nH\000\0008\152\000\0008\172\000\0008\192\000\000*H\000\000\000\000\000\0004\224\000\000\000\000\000\000\000\017\000\0005\000\000\000\000\000\000\0005\026\000\000\000\000\003\176\000\000\0252\000!\005p\000\000\b\154\000\000\012\240\002\006\007\144\000\000\000\000\000\000\000\000\000\000\000\000\000\0005\156\000\000%2\"\222\b\226\000\000\000\000\000\000.\004\000\000.b\000\000.\134\000\000%p%\216\000\194\0014\000\000\000C\005\186\000\000\000\000\000\000\005\238\000\000\000\000\006\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0005\182\000\000\000\000\000\000\000\000#<\000\000&\178\000\000\000\000\000\000\000\000\000\000\000\000\r*\000\000\000\000\n\016\000\000\000\000\000\000\025\192\004@\000\000\025\254\000\000\000\000\015\140\000\000\004n\000\000\000\000\014\158\000\000\027p\000\000\000\000#\142\000\000\000\000\000\000\0128\000\000\000\000\b\248\000\000\000\000!\198\000\000\000\000\000\000.\208\000\000\000\000\000\000%\172\000\000\000\000\000\000\000\000/(\000\000\000\000\000\000\000\000\006\228\0230\000\000/\\\000\000\000\000\000\000\000\000\000\000\000\000\015\006\000\000\000\000\004\236\000\000\015D\000\000\0128\000\000\000\000\0028\023\130\000\000\003\180\000\000\000\000\000\000\000\000\002\020\000\000&\212\000\000\027\252\003\206\028:\000\000\003\248\000\000\016\002\000\000\017\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\222\028\248\002\152\029\250\000\000\000\000\000\000\004\210\000\000\017\148\000\000\004\246\000\000\000\000\012\190\005\180\030b\000\000\005\234\000\000\018\028\030\238\000\000\000\000\019\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007*\b\024\000\000\007H\000\000\000\000\000\000\000\000\005\194\000\000\019\144\000\000\000\000\000\000\"~5\188\000\000\000\000\000\000!\210\000\000\000\000\000\000\000\000\000\000\012X\t\000\000\000\000\000/\164\000\000\000\000\000m\000\000\t\134\000\000\000\000(n\000\000\000\000\000\000/\198\000\000\000\000\000\000\000\0000\128\000\000\000\000\b\006\0124\000\000\000\0000\154\000\000\000\000\007\234\"\146\000\000\012p\000\000\000\0000\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000#\238\000\000\000\000\000\000\001X\000\000\000\000\r\n\000\000\000\000(\250\000\000\000\000\000\0000\252\000\000\000\000\000\000\000\0001\026\000\000\000\000\b*\rh\000\000\000\0001x\000\000\000\000\b\220\000\000\000\000\000\000\000\000\002\020\002\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003|\000\000\019\248\000\000\000\000\000\0006\022\000\000\t&\000\000\000\000\000\000\005p\000\000\011\178\000\000\000\000\002<\021\004\000\000\021l\000\000\000\000\000\000\002d\000\0006\152\005\0246\178\000\0006\192\000\000\000\000\000\000\0050\000\0006\236\007\134\000\000\000\000'\018\007\214'\140\000\000(\020\000\000\000\000\000\000\t\002\000\0007n\n \000\000\000\000\026\172\n*\026\216\000\000\030v\000\000\000\000\000\000\np\000\0007\136\nv\000\000\000\000\000\000\000\220\000\000\000\000\000\000\007\254\000\000\000\000\000\000\000\000\000\000\000\000\001d\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000K\000\000\000\000\006\144\000\000\000\000\015\014\000\000\000\000\000\000\000\000\007f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\014\000\000\000\000\014\234\000\000\0009\000\000\000\000\000\016\000\000\b\186\014\146\001\014\000\000\000\000\b\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\190\br\000\000\000\000\017\132\000\000\000\000\000\000\011\014\000\000\000\000\012\238\024r\000\000\000\000\000\000\000\000\025\022\025b\003n\000\000\000\000\000\000\030\150\000\000\000\000\000\000\000\000\000\000\000\000\002\028\000\000\000\000\002\002\000\000\000\000\014^\000\000\000\000\017\190\000\000\000\000\014|\000\000\002~\000\000\000\000\000\000\000\000\004\230\031\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\014 P\000\000\000\000\000\000\000\000\"\210\000\000\000\000\002\224\000\000\015(\000\000\000\000\000\000\012\176\000\000\003\164\000\000\000\000\000\000 \202\000\000\000\000\"\252\000\000\000\000\000\n\014n\000\000\014r\000\000$4\n\b\000\000&\132\000\000\000\000\000\000\000\000\014x\000\000\014\236\000\000\000\000\000\000\030J\000\000\003\170\014\180\005\228\000\000\000\000\000\000\000{\001\006\000\000\000\000\000\000\000\000\001P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\186\000\000\000\000\018.\000\000\002\156\015@\004\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\002\000\000\000\000#H'&\000\000\000\000\000\000\000\000(\182\000\000\000\000\003\128\000\000\001d\r$\000\000\b\190\000\000\000\000\000\000\000\000\000\000\000%\018\168\000\000\000\000\023x\000\000\000\000\000\000\000\000\019\210\000\000\025\156\000\000\000\000\000\000\000\000\007\136\000\000\000\000\000\000\000Y\000\000\000\000\003\246\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\184\000\000\000\000\000\000\003,\000\000\000\000\000\000\000\000\000\000\000\020\007<\r\148\r\162\000\000\004\134\005\146\006\190\t\158\000\000\000\000\000\000\000\000\000\000\000\000\n\186\022j\000\000\031~\007x\000\000\000\000\011\136\000\000\023\"\000\000\029\216\000\000\000\000\n\254\023`\000\000 T\000\000\011\142 \226\000\000\000\000\000\000\b2\004\134\000\000\000\000\000\000\000\000\b\238\000\000\017\208\002\030\000\000\000\000\003\004\006@\000\000\014j\000\000\000\000\004p\000\000\004\144\000\000\000\000\025\164\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\174\000\000\000\000\011\186\000\000\023\238\000\000\0128\014\240\000\000\000\000\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\00022\000\000\000o\000\000\000\000\000\000\000\000\000\000\001v\000\000\n\022\n\158\n\164\000\000\003\b\011,\000\000\011>\000\000\003\152\000\000\004 \000\000\005\012\000\000\0128\000\000\000\000\000\000\000\000\000\000\005\148\000\000\011Z\000\000\006\028\000\000\0128\015^\000\000\004\016\000\000\015L\n\196\000\000\t\006\000\000\t\232\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n2\000\000\nz\000\000\000\000\000\000\014 \000\000\000\000\000\000\000\000\000\000\015R\014&\000\000\000\000\014Z\000\000\000\000\014,\n\b\015\132\000\000\015\142\000\000\000\000\004\208\002*\000\000\014f\000\000\000\000\014\162\000\000\000\000\000\000\000\000\000\000\000\000\015v\014P\000\000\000\000\000\000\014\152\014l\n6\b\142\014\152\014\216\000\000\000\000\014\132\n\136\011@\014\174\014\228\000\000\000\000\011X\015\190\000\000\015\194\000\000\015\228\000\000\000\000\015\200\000\000\000\000\015\206\000\000\000\000\000\000\000\000\015\214\000\000\016\018\000\000\000\000\000\000\016\024\000\000\000\000\000\000\016\026\000\000\000\000\000\000"), (16, "\003\190\003\213\000O\003H\006\143\004\025\004\026\005\187\002|\002*\001\148\005^\001\158\006_\002\133\005\213\000\131\005\152\002\133\002~\003\140\002\245\004\178\004\154\002,\000O\003\190\003\213\000\243\006l\005\185\007\028\000\243\006\228\007\029\005\188\005\199\005\200\005\214\006\229\002\128\000O\000\131\002\020\005\217\005\199\005\200\006\230\001\148\004k\002\011\005\216\006m\006Q\006p\005\199\005\200\000\025\004l\000\245\003\192\000f\003G\000\244\003\193\000\131\000\133\000\139\000\177\000\138\003\018\001\150\002\129\003\022\005\214\001\151\006R\006U\005\199\005\200\005\217\005\199\005\200\001\148\004l\001\158\003\192\000\131\000\133\001D\003\193\000\138\007!\000\018\000\175\006\151\006\171\006\172\000\184\000\131\000\131\000\133\000\134\002!\000\138\005\201\000\177\000\140\001\246\001\150\000\131\001\164\005`\001\151\005\201\000\017\000P\006\143\006j\004\225\001q\003\218\000\007\000\238\005\201\006\154\006e\002\133\000\177\000\140\000\024\001\148\003\023\001\158\000\141\000b\003\024\003\141\006\232\000P\006l\000\177\000\140\005V\001\150\006\184\000\005\005\201\001\151\001\164\005\201\002\021\000\177\002~\004U\004<\006\233\000\178\000[\000g\001\129\000\179\001|\006m\003\206\006p\005\199\005\200\004Z\000^\000e\000O\004[\004m\002\130\003\207\004\227\004\192\002\022\001\212\004U\002\247\005\015\006^\001\164\001\165\005\220\004@\004\174\000\177\003\206\001\131\001\150\006\149\004Z\000\188\001\151\002\012\004[\004m\006\234\003\207\003\140\003\190\003\213\006_\002\129\006k\004E\006\235\004C\004_\001\129\004\155\007\b\004\186\007\"\001\249\004u\000\131\006b\004\209\005\229\001\165\006\230\007#\004k\002\144\000O\004\146\003\222\002\144\001\164\005\207\003%\005\201\006\157\004_\006\159\004p\007\n\001\168\006_\001\130\004u\003&\003\140\007\012\003\223\001B\005\205\005\182\005\183\003\224\000\131\004\146\003\222\003\225\001\165\001\169\006}\004l\003\226\003\192\001\170\004D\002\247\003\193\001\171\000\189\001E\001B\0076\001\172\003\223\003\190\003\213\005\221\001p\003\224\001\213\001\228\005\206\003\225\001B\004<\002\021\000O\003\226\000\131\001\166\000\131\001E\001\240\003\190\003\213\002\245\004\178\004\154\000\190\001p\001\255\000\131\000\131\001\167\001E\001\165\000\028\001\148\004F\001\149\006\011\000\249\001p\001\168\002\005\000\141\004=\006`\003\141\003I\000 \001Q\000\249\006\b\004G\000\222\007m\000\131\001[\000O\0077\001\169\004l\003L\003\192\002\002\001\170\002\001\003\193\002\144\001\171\004<\001T\000\175\000\192\001\172\006{\000\176\000\223\001\205\000\005\000\177\000\224\003\192\006`\000\031\004U\003\193\000\194\000\141\000O\001\168\004\135\003\146\006v\000\177\003\206\002\000\001\150\004\198\004Z\006\244\001\151\004=\004[\004m\0078\003\207\007\000\001\169\002\131\006\031\006 \000\"\001\170\006\235\005\207\003\150\001\171\006c\007:\000\243\005\224\001\172\004\193\003\218\006w\000\238\006x\003\140\000\141\000\177\002\000\003\190\003\213\004\169\000\178\005:\001\164\000$\000\179\006!\0062\004_\003\218\004p\007<\000\131\002-\000\131\004u\006\"\003\221\007>\006\230\007(\004\154\006y\004U\001q\001\\\004\146\003\222\002,\000\238\0063\004\171\006z\003\206\0066\005\199\005\200\004Z\000j\000\188\005j\004[\004m\002\248\003\207\003\223\004\195\001\129\001k\000(\003\224\001U\003\206\001V\003\225\005l\004l\004\174\003\192\003\226\005m\000\249\003\193\003\207\006\143\000O\003\153\003}\000O\002\025\003\190\003\213\0073\000\004\002\133\005l\003\220\001\165\001\131\000\175\004_\006\252\004\155\002\017\004\186\000\131\000\131\004u\006\t\006l\004\209\006\230\007(\004\154\006f\005U\000\249\000\005\004\146\003\222\006\247\006\t\006\248\000*\005\201\005\254\005\199\005\200\000\141\000\249\000\249\004\135\006m\000\189\006p\005\199\005\200\003\223\003\222\004\180\004\200\005P\003\224\006\031\006 \006\012\003\225\000\246\004l\006\186\003\192\003\226\006\187\001\198\003\193\000\249\003\223\000\177\003\190\003\213\004\180\003\224\000\178\000\190\007-\003\225\000\179\006\191\007\020\007\021\003\226\001\169\004U\0067\000\131\000O\005:\000/\006g\006\230\007(\004\154\003\206\006\"\004h\001\172\004Z\0003\006h\006i\004[\004m\007.\003\207\007|\005\201\004i\003\190\003\191\000V\000\188\006\235\000\181\005\255\005\201\006\144\004]\004o\007}\000\192\004\169\000\131\000\133\000\134\000\135\000\138\004l\000W\003\192\004i\006\184\003\018\003\193\000\196\003\022\000O\003\190\003\213\007\025\004_\006\199\004\155\007/\0070\0068\006\247\004u\006\248\000\r\0072\006\255\004\170\000O\0002\004U\000\249\002\247\004\146\003\222\004N\005d\006\176\006\177\000\140\003\206\000\177\000O\003\192\004Z\000\016\000\017\003\193\004[\004m\007.\003\207\003\223\003\140\006\181\004\198\004\160\003\224\000O\006\235\000\189\003\225\003\190\003\213\004]\000\177\003\226\006\184\004i\003\023\003?\000\004\003\192\003\024\000\131\000\141\003\193\000\175\000\131\003\190\003\191\000\186\004\188\006\230\007(\004\154\000\b\004_\006l\004\155\000\190\0070\0005\002\144\004u\000\005\002%\0072\004U\006\030\005\199\005\200\006\147\004\183\000\249\004\146\003\222\006\184\003\206\004\025\004\026\006m\004Z\006p\005\199\005\200\004[\004m\007.\003\207\004l\007\133\003\192\002\023\003\223\001-\003\193\006\235\005S\003\224\003\190\003\213\004]\003\225\005Q\000\177\0071\000\177\003\226\003\192\000\178\000\131\000P\003\193\000\179\000\175\000\131\003\206\004\206\000\186\006\199\006\230\007(\004\154\005S\004_\001d\004\155\003\207\0070\004\206\000X\004u\004\236\007n\0072\004U\000\141\004\211\005\201\003\141\003%\001_\004\146\003\222\004i\003\206\006\203\000\188\004\208\004Z\001B\003&\005\201\004[\000\131\000\133\003\207\004l\001C\003\192\004\207\003\223\003\018\003\193\004\211\003,\003\224\003\190\003\213\004]\003\225\001E\000\177\0079\005\220\003\226\000O\000\178\000O\001p\004\203\000\179\005t\000\131\003\146\004U\000\131\000\131\006\230\007(\004\154\000O\004_\0007\005w\003\206\000\140\005v\000;\004Z\003\212\000\131\000O\004[\004m\007.\003\207\007u\003\150\005v\000O\003\222\003\206\004;\006\235\000\188\004\028\002t\004\221\004]\000\177\000\189\000O\003\207\003\023\004l\003(\003\192\003\024\003\223\000O\003\193\005a\001\148\003\224\001\149\003{\003\018\003\225\004?\003\022\007=\004_\003\226\004\155\004\214\0070\006s\000\248\004u\005\195\000\190\0072\004U\001f\001Q\000\249\000O\000\131\002\031\004\146\003\222\001[\003\206\006\128\005\221\005\196\004Z\000=\006\199\006\244\004[\004m\007.\003\207\001T\001T\006\251\000\191\003\223\006\202\000O\006\235\001q\003\224\003\190\003\213\004]\003\225\000\189\004<\000\177\001v\003\226\001\150\003?\003\208\000\192\001\151\003\023\000\140\000\131\000\233\003\024\000O\001\153\002\245\004\178\004\154\000O\004_\000\194\004\155\000?\0070\000\246\004<\004u\004B\000\190\0072\004U\004=\000\249\001\221\004\147\003%\000\131\004\146\003\222\003r\003\206\006\194\005`\001\164\004Z\000\141\003&\000C\004[\004m\007.\003\207\004l\001\235\003\192\000\191\003\223\004=\003\193\006\235\006\211\003\224\003\190\003\213\004]\003\225\005\198\000O\001E\001\127\003\226\002\247\004i\001\\\000\192\000O\001p\000\175\000\131\000\193\000\141\000\184\005\196\002\245\004\178\004\154\000O\004_\000\194\004\155\006X\0070\000O\001n\004u\003A\001]\0072\001U\001U\001V\001V\001i\000\131\004<\004\146\003\222\000\131\000\249\000\249\003%\003v\003g\006\247\000O\006\248\006\167\001\165\003D\004\230\004l\003&\003\192\000\249\003\223\000B\003\193\002c\003|\003\224\003\190\003\213\002\138\003\225\004\230\000\177\004=\001q\003\226\006\201\000\178\003u\000E\000O\000\179\005\184\000\131\003j\004U\002\246\004\232\002\245\004\178\004\154\003G\001q\000\131\002\018\003\206\000\131\000O\002\245\004Z\000\131\006\194\004\231\004[\004m\005\185\003\207\005Y\004\192\001E\005\188\005\199\005\200\000G\000i\000\188\005\021\001p\000\141\004]\000\131\000\133\000\134\001?\000\138\004l\002\196\003\192\001\223\004\025\004\026\003\193\000\175\003I\005@\003\160\000\184\000\141\002\246\005z\006\205\000\131\004_\000\141\004\155\005\235\004\186\003J\000\131\004u\006\169\005F\004z\004U\005v\000\131\000\133\000\134\001s\000\138\004\146\003\222\000\140\003\206\000o\002\223\001H\004Z\005\236\005\199\005\200\004[\004m\000n\003\207\004\190\004\192\005\130\006\196\003\223\005\201\006l\005H\005\223\003\224\001}\000\249\004]\003\225\000\189\000\177\003\154\005\132\003\226\003\026\000\178\000O\000\140\000O\000\179\000O\000\175\003\190\003\213\006m\000\184\006p\005\199\005\200\001Q\004_\003#\004\155\000\221\004\186\003\158\001[\004u\000\131\000\190\004z\004U\000O\002\245\004\178\004\154\000O\003\167\004\146\003\222\001T\003\206\000\177\000\188\005\227\004Z\000q\000O\005\201\004[\004m\000O\003\207\004\229\004\192\002'\000\222\003\223\000O\003\127\004m\000O\003\224\000\249\007O\004]\003\225\003\152\007\129\000\177\004l\003\226\003\192\006\195\000\178\000\192\003\193\004\027\000\179\000\223\003\190\003\213\005F\000\224\005\221\000O\005\201\005\228\004_\000\194\004\155\000\218\004\186\006\199\000Z\004u\000\131\000f\004z\005\202\005b\002\245\004\178\004\154\000t\004u\004\146\003\222\004z\003\190\004\006\006\231\000\188\005G\001B\002)\004\146\000\189\000O\003\152\000\141\000]\003>\000\249\003\195\003\223\004\025\004\026\001\\\000v\003\224\000z\003\190\003\213\003\225\001E\002$\005\133\004l\003\226\003\192\001\142\007u\001p\003\193\000\137\003\204\000\190\000\131\001B\004+\001b\005\132\006\230\001U\004k\001V\003\190\003\191\006\237\000\131\000\141\005\239\001\243\000\249\000\141\004U\000\177\003\130\003\192\001E\000\249\000P\003\193\000\222\000P\003\206\007O\001p\000\251\004Z\005\254\005\199\005\200\004[\004m\000\189\003\207\005]\004\192\004l\000[\003\192\000\192\000[\000l\003\193\000\223\006\145\000P\004]\000\224\000^\003\190\003\213\000^\007V\000\194\0075\004~\000\221\004\025\004\026\004\254\007O\000\177\000\190\003\192\000[\000\131\000\254\003\193\007%\004_\006\230\004\155\004k\004\186\001Q\000^\004u\001\002\000\141\004z\004U\001j\000\131\000\133\000\134\001x\000\138\004\146\003\222\000\222\003\206\004\025\004\026\001\001\004Z\001T\007O\005\201\004[\004m\006\200\003\207\007\006\004\192\007k\006G\003\223\004l\000\192\003\192\004c\003\224\000\223\003\193\004]\003\225\000\224\003\190\003\213\003\206\003\226\0074\000\194\007W\000\140\007&\005\006\007\128\005\136\001\148\003\207\001\158\004U\000\131\005\144\005\235\000O\004_\006\230\004\155\004k\004\186\003\206\005v\004u\000\131\004Z\004z\007%\005\146\004[\004m\007'\003\207\003\018\004\146\003\222\003\022\005\236\005\199\005\200\006\235\007%\004\025\004\026\007P\007*\003\206\007\135\005\147\000O\005\150\000a\006\214\003\223\004l\000\175\003\192\003\207\003\224\001\242\003\193\007\165\003\225\005\146\004i\005v\000\177\003\226\004_\001\150\004p\007,\007)\001\151\006\207\004u\007\166\007\t\0072\000\131\007+\007R\004U\001\004\002\245\000d\004\146\003\222\001U\004i\001V\000\177\003\206\001\006\007;\003\023\004Z\007v\000\249\003\024\004[\004m\007'\003\207\001\212\003\223\001\n\005\201\006\221\001\164\003\224\006\235\003\252\000\177\003\225\001\012\007*\007T\000\178\003\226\007v\003\160\000\179\000\131\000\133\000\134\002\027\000\138\001\015\000P\003\223\003\190\003\213\000\131\000\133\000\134\002x\000\138\007\136\004_\001\019\004p\007,\001\018\003\226\001B\004u\000\131\000[\0072\004U\006\199\002\245\007Z\004k\001\021\000\188\004\146\003\222\000^\003\206\007v\000\131\000P\004Z\000\140\001E\002\247\004[\004m\007'\003\207\001\023\001\027\001p\000\140\003\223\001\029\001\031\006\235\006\226\003\224\000[\001\165\007*\003\225\000O\001#\003\140\004l\003\226\003\192\001\"\000^\001%\003\193\001'\003%\001,\000\131\000\133\000\134\002\135\000\138\004\253\001\213\001\214\004_\003&\004p\007,\0012\007u\005c\004u\001\166\000O\0072\0011\0065\000O\005\242\003\190\003\213\0014\004\146\003\222\0016\0018\001\167\000\189\005e\001<\001\128\002\247\004\224\004m\000\249\000\131\001\168\001A\000\140\0063\002\245\003\223\004k\0066\005\199\005\200\003\224\001u\003\190\003\213\003\225\005\235\003\140\000f\001\169\003\226\004d\000\190\001{\001\170\001z\002\030\002\029\001\171\000\131\002#\0021\0024\001\172\002\245\004f\004k\001\205\005b\005\236\005\199\005\200\004l\004u\003\192\003I\004z\004U\003\193\000\131\000\133\000\134\002\140\000\138\004\146\000O\0028\003\206\0027\003N\002:\004Z\000\141\002<\000\141\004[\004m\004\135\003\207\001B\001\129\004l\000\175\003\192\006\203\002@\000\176\003\193\005\201\001B\002B\004\213\000\131\002E\004\222\002I\002H\006\194\004\224\000\131\001E\000\140\000\141\001\148\006\194\001\226\000P\002K\001p\002M\001E\001\131\000O\001\148\004_\001\158\004p\004\215\001p\005\201\005\022\004u\004\140\002Q\004z\000[\001*\000\175\002S\000\131\002U\000\186\004\146\003\222\000\175\002Y\000^\002X\000\186\005\003\000\177\000\141\003\190\003\211\004\135\000\178\004\144\005\020\004U\000\179\005\031\003\223\002[\002]\002b\001B\003\224\002h\003\206\002g\003\225\000\177\004Z\002j\001\150\003\226\004[\004m\001\151\003\207\002l\000\177\002n\002r\001\150\002{\001E\004U\001\151\000\141\002z\002\137\004\213\000\188\001p\000\177\002\143\003\206\002\142\004\140\000\178\004Z\000\177\000O\000\179\004[\004m\000\178\003\207\000\131\000\177\000\179\003\192\002\218\001\164\004_\003\193\004p\004\215\003\190\003\213\004\159\004u\004\144\001\164\004z\002\146\002\149\004r\002\153\002\152\002\155\006\020\004\146\003\222\000\131\000\141\0051\000\188\000f\002\245\004s\004\154\005\248\004_\000\188\004p\004\161\002\157\002\161\002\163\004u\003\223\001B\004\163\006\018\002\166\003\224\006\021\005\199\005\200\003\225\004\146\003\222\002\170\002\169\003\226\000\189\002\172\006\204\002\174\003\190\003\213\002\178\001E\002\180\006\195\004l\006\244\003\192\004\157\003\223\001p\003\193\005A\006\246\003\224\000\131\001\165\002\182\003\225\002\186\002\245\004s\004\154\003\226\002\185\000\190\001\165\002\188\002\190\002\195\003\190\003\213\002\201\002\200\002\203\006\196\002\205\002\207\002\211\004\162\000\189\002\217\006\196\000\249\003\206\000P\000\131\000\189\002\216\002\222\000\249\002\245\004s\004\154\002\228\003\207\005\201\004l\001\166\003\192\002\227\005\193\005\233\003\193\000[\001/\005\212\005\226\006\014\000\175\000\190\000\192\001\167\000\184\0061\000^\006B\000\190\006D\001\208\000\249\006N\001\168\006P\006Z\000\198\006u\007\018\004l\007@\003\192\000\131\007D\007X\003\193\007^\007_\000\191\007d\007e\001\169\004U\007j\002\247\000\191\001\170\000\175\007i\007q\001\171\000\176\003\206\007s\007y\001\172\004Z\000\192\007z\001\209\004[\004m\000\232\003\207\000\192\000O\003\190\003\213\000\177\000\235\007~\000\194\007\127\000\178\007\130\000\175\004]\000\179\000\194\000\184\007\131\006\247\000\131\006\248\007\134\007\137\007\138\002\245\004\178\004\154\007\155\000\249\007\144\007\153\004U\007\149\003\190\003\210\007\152\004_\001Q\004\155\007\161\004\156\003\206\000\177\004u\001e\004Z\004z\000\178\000\188\004[\004m\000\179\003\207\007\159\004\146\003\222\007\163\007\168\001T\000\000\000\000\004l\004U\003\192\000\000\004]\000\000\003\193\000\000\000\236\000\177\000\000\003\206\003\223\000\000\000\178\004Z\000\000\003\224\000\179\004[\004m\003\225\003\207\000\000\000\188\000\000\003\226\004_\000\000\004\155\000\177\004\156\003\192\000\000\004u\004]\003\193\004z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\146\003\222\000\131\000\133\000\134\002\214\000\138\000\188\000\000\000\000\000\141\000\000\000\000\004_\000\000\004\155\000\189\004\156\000\000\003\223\004u\000\000\000\000\004z\003\224\000\000\003\190\003\213\003\225\000\000\000\175\004\146\003\222\003\226\000\176\000\131\000\133\000\134\002\220\000\138\000\240\000\000\000\131\000\000\000\140\000\000\000\190\002\245\004\178\004\154\003\223\004U\000\000\000\189\000\000\003\224\000\000\000\000\003\161\003\225\000\000\003\206\000\000\000\000\003\226\004Z\001U\000\175\001V\004[\004m\000\186\003\207\000\222\004\185\000\000\000\249\000\140\000\000\000\000\000\000\000\189\003\165\000\190\004l\004]\003\192\000\000\000\177\000\000\003\193\003\206\000\192\000\178\000\000\000\000\000\223\000\179\003\190\003\213\000\224\000\000\003\207\000\000\000\000\000\242\000\194\000\000\004_\000\000\004\155\000\190\004\186\000\000\000\131\004u\000\000\000\000\004z\002\245\004\178\004\154\000\000\005\238\000\000\000\177\004\146\003\222\000\000\000\192\000\178\000\188\000\000\000\000\000\179\000\000\000\000\000\000\000\222\000\000\000\000\000\000\000\000\000\200\000\131\003\223\005\236\005\199\005\200\006\017\003\224\000\000\000\000\000\000\003\225\000\000\004l\000\192\003\192\003\226\000\175\000\223\003\193\000\000\000\176\000\224\003\190\003\213\000\188\000\000\000\000\000\194\006\018\000\000\000\000\006\021\005\199\005\200\000\000\000\000\004U\000\000\000\131\000\000\000\000\000\000\001B\002\245\004\216\004\154\003\206\000\000\000\000\000\000\004Z\000\000\000\175\000\000\004[\004m\000\176\003\207\000\000\004\187\000\000\000\189\006o\001E\000\131\000\133\000\134\002\225\000\138\006\244\004]\001p\005\201\000\000\000\177\001B\007\001\000\131\000\000\000\178\004l\000\000\003\192\000\179\000\000\006m\003\193\006p\005\199\005\200\000\000\000\190\000\000\004_\000\000\004\155\001E\004\186\000\189\000\000\004u\005\201\000\000\004z\001p\000\000\000\140\000\000\004U\000\000\000\177\004\146\003\222\000\000\000\000\000\178\000\000\000\188\003\206\000\179\000\000\000\000\004Z\006l\004\218\000\000\004[\004m\000\190\003\207\003\223\004\205\000\000\000\000\000\000\003\224\000\000\000\192\000\000\003\225\003\190\003\213\004]\000\000\003\226\001Q\006m\000\000\006p\005\199\005\200\000\202\001S\000\188\000\000\000\191\000\131\005\201\000\000\000\000\000\000\002\245\004\216\004\154\000\000\004_\001T\004\155\000\000\004\186\003\018\000\000\004u\003\022\000\192\004z\004U\000\000\007\002\001\160\000\000\000\000\000\000\004\146\003\222\000\000\003\206\000\000\000\194\000\000\004Z\000\189\000\000\000\000\004[\004m\000\131\003\207\004l\000\000\003\192\007\003\003\223\006\247\003\193\006\248\000\000\003\224\003\190\003\213\004]\003\225\006#\000\249\000\000\000\000\003\226\004\238\005\201\000\000\000\000\000\190\000\000\000\000\000\131\000\000\000\000\000\189\003?\002\245\004s\004\154\003\023\004_\000\000\004\155\003\024\004\219\000\000\000\000\004u\000\000\004\220\004z\000\000\000\000\000\000\000\000\001B\000\000\000\000\004\146\003\222\000\000\000\000\000\000\000\000\000\190\000\000\000\000\003\190\003\213\000\000\003r\001Q\000\000\004l\001\237\003\192\001E\003\223\001h\003\193\006Q\000\175\003\224\000\131\001p\000\176\003\225\001U\002\245\001V\004k\003\226\001T\000\000\000\000\000\000\001\148\000\249\001\158\000\000\000\000\004U\000\000\006R\006U\005\199\005\200\000\000\000\000\000\000\000\192\003\206\000\000\000\000\000\000\004Z\000\000\000\175\000\000\004[\004m\000\176\003\207\000\000\000\204\004l\003A\003\192\000\000\000\000\000\000\003\193\000\000\000\000\000\000\004]\000\000\006\152\000\000\000\177\000\000\003%\003s\003g\000\178\000\000\000\000\000\000\000\179\003D\000\000\000\000\003&\000\000\000\177\003\190\003\209\001\150\004_\000\000\004\155\001\151\004\219\000\000\000\000\004u\000\000\005W\004z\004U\000\000\004\224\003u\000\000\005\201\000\177\004\146\003\222\003j\003\206\000\178\000\000\000\188\004Z\000\179\003G\000\000\004[\004m\000\000\003\207\000\000\000\000\000\000\001\246\003\223\000\000\001\164\000\000\000\000\003\224\003\190\003\213\004]\003\225\000\000\001U\000\000\001V\003\226\000\000\000\000\000\000\000\177\000\000\003\192\000\249\000\131\000\188\003\193\000\000\004U\002\245\000\000\004k\000\000\004_\003I\004\155\000\000\004\156\003\206\000\000\004u\000\131\004Z\004z\000\000\000\000\004[\004m\003J\003\207\000\000\004\146\003\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\190\003\213\004\213\000\189\000\000\000\000\004l\001\148\003\192\001\149\003\223\000\000\003\193\000\000\000\000\003\224\000\131\000\000\001\165\003\225\000\000\002\245\000\000\004k\003\226\004_\000\000\004p\004\215\001\148\001\247\001\149\004u\000\190\006\164\004z\000\000\000\000\000\000\000\189\000\000\000\000\000\000\004\146\003\222\000\000\000\000\000\000\005g\001Q\001\249\000\000\004\224\000\000\000\000\000\000\001[\000\000\004l\000\175\003\192\000\000\003\223\001\239\003\193\000\177\003\206\003\224\001\150\000\190\001T\003\225\001\151\000\000\001\168\000\000\003\226\003\207\000\000\000\192\000\000\000\000\000\000\003\018\000\000\000\000\003\022\000\177\000\000\000\000\001\150\000\000\001\169\000\206\001\151\000\000\000\220\001\170\000\000\000\000\005i\001\171\004U\000\000\004\224\000\000\001\172\000\175\001\164\000\000\000O\000\184\003\206\000\000\000\000\000\192\004Z\000\177\000\000\000\000\004[\004m\000\178\003\207\000\000\000\000\000\179\003\190\003\213\000\194\001\164\000\000\001\148\000\000\001\225\000\000\004\213\000\000\000\000\000\000\000\000\000\177\000\000\000\131\000\000\003\023\000f\000\000\002\245\003\024\004k\001\148\000\000\001\149\004U\000\000\000\000\000\000\001\\\004_\000\188\004p\004\215\000\000\003\206\000\177\004u\000\000\004Z\004z\000\178\000\000\004[\004m\000\179\003\207\000\000\004\146\003\222\000\000\000\000\003\133\001\165\000\000\001U\004l\001V\003\192\004\213\000\000\000\177\003\193\000\000\001\150\000\249\000\000\003\223\001\151\000\000\000\000\000\000\003\224\000\000\003\018\001\165\003\225\003\022\000\000\000\188\000\177\003\226\004_\001\150\004p\004\215\000\000\001\151\000\000\004u\003\190\003\213\004z\000\175\000\000\000P\000\000\000\176\006\208\006\216\004\146\003\222\004\224\000\000\001\164\000\189\000\131\000\000\000\000\000\000\000\000\002\245\004s\004\154\000[\002`\000\000\000\000\003%\003\223\000\000\003\190\003\213\001\164\003\224\000^\000\000\001\169\003\225\003&\000\000\000\000\000\177\003\226\002\247\000\190\003\023\000\131\003\190\003\213\003\024\001\174\002\245\000\000\004k\003x\000\000\000\000\004l\001\169\003\192\000\177\004U\000\189\003\193\000O\000\178\000\000\000\000\000\000\000\179\004\168\003\206\001\176\006l\001\148\004Z\001\224\000\000\000\000\004[\004m\000\000\003\207\000\000\000\000\000\000\003<\001\165\004l\000\000\003\192\000\000\000\190\000\000\003\193\004\213\006m\000\000\006p\005\199\005\200\003\190\003\213\000\188\000\000\003?\001\165\003\192\000\000\000\000\007\011\003\193\000\000\003I\000\000\000\000\000\000\000\131\004_\000\222\004p\004\215\002\245\004s\004\154\004u\000\000\003P\004z\000\000\006\222\000\000\000\177\000\000\004\224\001\150\004\146\003\222\000\192\001\151\000\000\000\000\000\223\000\000\000\000\000\000\000\224\003%\000\000\000\000\000\000\000\000\000\194\004U\000\000\003\223\000\000\000\000\003&\004l\003\224\003\192\000\000\003\206\003\225\003\193\000\000\004Z\005\201\003\226\000\000\004[\004m\000\000\003\207\001\164\003\018\000\189\000\141\003\022\001\245\000\000\000\000\000\000\004U\000\000\000\000\004]\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000\000\004Z\000\000\005\235\004U\004[\004m\000\000\003\207\000\000\000\190\000\000\000\000\004_\003\206\004\155\000\000\004\156\004Z\000\000\004u\004\213\004[\004z\000\000\003\207\005\236\005\199\005\200\004\148\000\000\004\146\003\222\000\000\000\000\000\000\003'\003?\004]\000\000\000\000\003\023\000\000\000\000\004_\003\024\004p\004\215\000O\000\000\003\223\004u\001\165\004\152\004z\003\224\000\192\000\000\004U\003\225\000\000\004_\004\146\003\222\003\226\004\233\003\190\003\213\003\206\000\175\000\208\000\000\004Z\000\176\000\000\000\000\004[\004m\006\017\003\207\003\222\003\223\000\131\006\155\000f\005\235\003\224\002\245\000\000\004\154\003\225\000\000\004]\000\000\000\000\003\226\005\201\003\018\003\223\000\000\003\022\006\018\000\000\003\224\006\021\005\199\005\200\003\225\005\236\005\199\005\200\000\000\003\226\000\000\000\000\004_\000\000\004\155\000\000\004\156\000\000\000\000\004u\005\235\004l\004z\003\192\000\177\003A\000\000\003\193\000\000\000\178\004\146\003\222\000\000\000\179\003\190\003\213\000\131\000\000\000\000\000\000\003%\000\000\003n\005\236\005\199\005\200\004\158\006l\003D\003\223\000\131\003&\000\177\000\000\003\224\002\245\003\023\004k\003\225\000P\003\024\000\000\000\000\003\226\000\000\003\190\003\213\000\188\000\000\000\000\006m\005\201\006p\005\199\005\200\005\201\000\000\004j\000[\002e\000\000\000\131\000\000\000\000\003G\001\148\002\245\001\149\004k\000^\000\000\000\000\004l\000\000\003\192\001\148\000\000\001\158\003\193\000\175\000\000\003q\000\000\000\186\000\000\006\244\000\000\005\246\000\000\000\000\000\000\000\131\006\254\005\201\001\148\000\000\001\149\004U\000\000\000\000\000\000\000\000\001\148\004l\001\149\003\192\003I\003\206\000\000\003\193\000\000\004Z\000\000\000\000\000\000\004[\004m\000\000\003\207\000\000\003J\000\189\005\201\000\177\000\000\000\000\001\150\000\000\000\000\000\000\001\151\004\235\000\000\000\177\000\000\000\000\001\150\000\177\003%\000\000\001\151\000\000\000\178\000\000\000\000\000\000\000\179\000\000\000\131\003&\000\000\000\190\000\177\002\245\004_\001\150\004\155\000\000\004\237\001\151\000\177\004u\006)\001\150\004z\000\000\001\164\001\151\004U\006\005\000\131\001\212\004\146\003\222\000\000\002\245\001\164\000\000\003\206\000\000\000\188\000\000\004Z\000\000\000\000\000\000\004[\004m\000\000\003\207\003\160\003\223\000\000\000\000\000\175\001\164\003\224\000\192\000\176\004U\003\225\000\000\004n\001\164\000\000\003\226\000\000\006\003\000\000\003\206\000\131\000\210\003\160\004Z\000\000\000\000\000\000\004[\004m\006\247\003\207\006\248\000\000\000\000\003I\004_\000\000\004p\004q\000\249\003\190\003\213\004u\004n\006\162\004z\000\000\000\000\003R\000\000\001\165\000\000\004t\004\146\003\222\000\175\000\131\000\000\000\000\000\186\001\165\002\245\000\177\004k\000\189\000\000\004_\000\178\004p\004q\000\000\000\179\003\223\004u\000\000\000\000\004z\003\224\000\000\001\165\000\000\003\225\001\213\003\028\004\146\003\222\003\226\001\165\001Q\000\000\000\000\000\000\001\166\000\000\000\190\001[\000\000\000\000\004l\000\000\003\192\000\000\000\000\003\223\003\193\000\188\001\167\000\000\003\224\001T\003\190\003\213\003\225\000\177\000\249\004m\001\168\003\226\000\178\000\000\000\000\000\191\000\179\000\000\001\169\000\000\000\131\000\000\000\175\000\000\000\000\002\245\000\184\004k\001\169\000\000\000\000\004m\001\178\001\170\000\192\003\190\003\213\001\171\000\131\001\162\000\000\000\000\001\172\000\000\000\000\000\000\001\205\001\169\000\194\005\139\000\188\000\131\000\000\000\000\004u\001\169\002\245\004z\004k\000\000\000\000\001\180\004l\000\000\003\192\004\146\000\000\000\000\003\193\001\182\000\000\005\141\000\000\000\189\000\000\003\018\004u\000\000\003\022\004z\000\177\000\000\000\000\000\000\000\000\000\178\000\000\004\146\004U\000\179\000\000\001\\\000\000\004l\000\000\003\192\000\000\000\000\003\206\003\193\000\000\000\000\004Z\000\190\000\000\000\000\004[\004m\000\000\003\207\000\000\000\175\000\000\000\000\003\143\000\176\000\000\001U\000\000\001V\000\000\000\000\004n\000\188\000\189\000\000\000\000\000\249\000\000\000\000\003\190\003\213\000\000\000\177\000\000\000\000\000\000\003\023\000\000\000\000\000\000\003\024\000\000\000\000\000\000\004_\000\131\004p\004q\002\007\000\000\002\245\004u\004k\000\190\004z\000\000\000O\004U\000\000\000\000\000\175\000O\004\146\003\222\000\176\000\000\000\000\003\206\000\177\000\000\000\000\004Z\000\000\000\178\000\000\004[\004m\000\179\003\207\000\000\000\191\003\223\000\000\000\000\004\189\000\000\003\224\004l\004U\003\192\003\225\004\182\000f\003\193\000\000\003\226\000\189\000f\003\206\000\192\000\000\000\000\004Z\000\000\003\215\000\000\004[\004m\000\000\003\207\000\000\000\188\000\000\000\194\004_\004\181\004p\004\184\000\177\000\000\001\142\004u\004\182\000\178\004z\000\000\000\190\000\179\000\000\000\000\000\000\000\000\004\146\003\222\000\000\000\000\000\000\000\000\003%\000\000\000\000\003\018\002\t\000\000\003\022\004_\000\000\004p\004\184\003&\000\249\003\223\004u\000\222\000\000\004z\003\224\000\000\003\190\003\213\003\225\000\188\000\175\004\146\003\222\003\226\000\186\000\000\000\000\000\000\000P\000\000\000\192\000\000\000\131\000P\000\223\000\000\000\000\002\245\000\224\004k\003\223\004U\000\000\000\189\000\194\003\224\000\000\000[\002\193\003\225\000\000\003\206\000[\002\198\003\226\004Z\000\000\003?\000^\004[\004m\003\023\003\207\000^\000\000\003\024\000\000\004\201\003\190\003\213\000\000\000\000\000\000\000\190\004l\004\202\003\192\000\000\000\177\000\000\003\193\000\000\003I\000\178\000\131\000\000\000\000\000\179\006T\002\245\000\000\004k\003r\000\189\000\131\000\000\003T\000\000\004_\002\245\004p\004\204\000\000\000\000\000\000\004u\000\000\000\000\004z\000\000\000\000\006R\006U\005\199\005\200\000\000\004\146\003\222\000\175\000\192\000\000\000\188\001\238\000\190\000\000\000\000\004l\005\235\003\192\000\000\000\000\000\000\003\193\000\212\000\000\003\223\003\160\000\000\003\190\003\213\003\224\000\000\000\000\000\000\003\225\003\190\003\191\000\000\003A\003\226\005\236\005\199\005\200\000\000\000\131\000\000\000\000\000\000\000\000\002\245\000\000\004k\000\000\003%\006\218\003g\000\000\000\000\000\000\000\192\004U\003D\004\212\000\000\003&\000\000\000\177\000\000\000\000\000\000\003\206\000\178\005\201\000\214\004Z\000\179\000\000\000\000\004[\004m\005\235\003\207\000\000\000\000\003u\000\189\004l\004\199\003\192\000\000\003j\000\000\003\193\000\177\004\182\003\192\000\000\003G\000\000\003\193\003\190\003\213\000\000\005\236\005\199\005\200\000\000\000\000\000\000\000\188\005\201\006\212\004U\000\000\000\000\000\190\000\131\004_\000\000\004p\004\184\002\245\003\206\004k\004u\000\000\004Z\004z\000\000\000\000\004[\004m\004\217\003\207\000\000\004\146\003\222\000\000\000\000\003I\000\000\004m\000\191\000\000\000\000\000\000\004\213\000\000\000\000\000\000\000\000\000\000\000\000\003J\003\223\000\000\000\000\000\000\004l\003\224\003\192\000\192\000\000\003\225\003\193\000\000\003\217\000\000\003\226\004_\000\000\004p\004\215\005\201\000\000\000\194\004u\000\000\000\000\004z\000\000\005\143\004U\000\189\000\000\000\000\004u\004\146\003\222\004z\003\018\000\000\003\206\003+\000\000\000\000\004Z\004\146\000\000\003\206\004[\004m\000\000\003\207\000\000\000\000\003\223\003\190\003\213\000\000\003\207\003\224\000\000\000\190\000\000\003\225\004\213\000\000\006\224\001\148\003\226\001\149\000\000\000\131\006\001\000\000\000\000\000\000\002\245\000\000\004k\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\235\004_\000\000\004p\004\215\000\000\000\000\000\000\004u\000\000\000\177\004z\000\000\000\000\003\023\000\000\004U\000\000\003\024\004\146\003\222\000\000\000\000\005\236\005\199\005\200\003\206\004l\000\000\003\192\004Z\000\000\000\000\003\193\004[\004m\000\000\003\207\003\223\000\177\003\190\003\213\001\150\003\224\000\000\003\223\001\151\003\225\000\000\006\028\006\213\006\227\003\226\000\000\000\000\000\000\000\131\000\000\006\017\003\228\000\000\002\245\000\000\004k\001\148\000\000\001\149\000\000\000\000\000\000\000\000\000\000\000\000\004_\000\000\004p\006\215\000\000\000\000\000\000\004u\006\018\001\164\004z\006\021\005\199\005\200\000\000\001\148\000\000\001\149\004\146\003\222\005\201\000\000\000\000\000\000\000\000\004l\000\000\003\192\001\148\000\000\001\158\003\193\000\000\000\000\000\000\000\000\003\018\003\223\000\000\003*\000\000\000\000\003\224\003%\000\131\000\000\003\225\000\000\000\000\000\177\004U\003\226\001\150\000\000\003&\000\000\001\151\000\000\000\000\000\000\003\206\000\000\000\000\000\000\004Z\000\000\000\000\000\000\004[\004m\000\000\003\207\000\000\000\177\000\000\003\018\001\150\000\000\003)\000\000\001\151\005\201\000\000\001\165\006\213\000\000\000\177\003\190\003\213\001\150\000\000\000\000\001\164\001\151\000\177\000\000\000\000\000\131\003\023\000\000\000\000\000\175\003\024\000\131\000\000\000\176\000\000\004_\004\252\004p\006\215\000\000\000\000\000\000\004u\000\000\001\164\004z\000\000\000\000\000\000\004U\000\000\000\000\001\212\004\146\003\222\000\000\000\000\001\164\000\000\003\206\005\027\000\177\006'\004Z\000\000\003\023\000\000\004[\004m\003\024\003\207\000\000\003\223\005\030\000\000\003\192\000\000\003\224\000\000\003\193\000\000\003\225\000\000\006\213\000\000\001\169\003\226\000\177\000\000\000\000\000\000\000\000\000\178\001Q\001\165\000\000\000\179\000\000\005$\001\184\001[\003\190\003\213\000\000\000\000\000\000\004_\000\000\004p\006\215\000\000\003\190\003\213\004u\001T\000\000\004z\000\131\001\165\000\000\006;\000\000\004\252\000\000\004\146\003\222\000\000\000\131\003%\000\000\000\188\001\165\004\252\005I\000\000\000\000\003\218\000\000\000\238\003&\000\000\000\000\000\000\003\223\000\000\000\000\005M\000\000\003\224\003\190\003\213\000\000\003\225\001\213\003\197\000\000\005\029\003\226\000\000\005\030\000\000\003\192\000\000\001\166\000\000\003\193\000\000\003%\001\169\005\030\000\000\003\192\004\166\000\000\000\000\003\193\005\235\001\167\003&\003\206\000\000\000\000\001\186\000\000\005$\000\249\000\000\001\168\005%\000\000\003\207\000\000\001\169\000\000\005$\000\000\001\148\005\235\001\158\005\236\005\199\005\200\001\\\005K\000\189\001\169\001\188\003?\000\000\003\192\001\170\000\000\000\131\003\193\001\171\000\000\000\000\000\000\000\000\001\172\005\236\005\199\005\200\001\205\000\000\004\129\000\000\000\000\001U\000\000\001V\000\000\006\017\005(\000\190\000\000\005L\001\148\000\249\001\158\000\000\000\000\000\000\000\000\005?\003\222\000\000\001\148\000\000\001\149\000\000\003\190\003\191\000\131\000\177\006\018\000\000\001\150\006\021\005\199\005\200\001\151\000\000\003\223\000\000\003\206\004\172\000\000\003\224\005\201\003\218\000\000\003\225\000\000\005%\003\206\003\207\003\226\000\000\000\000\000\192\000\000\000\000\000\000\005%\001\148\003\207\001\158\000\000\005&\005\201\000\000\001\212\000\000\000\216\000\177\000\000\001\164\001\150\005&\000\000\000\131\001\151\004U\000\000\000\177\000\000\000\000\001\150\000\177\000\000\003\192\001\151\003\206\000\000\003\193\000\000\004Z\000\000\005(\000\000\004[\005-\000\000\003\207\000\000\000\000\000\000\005\201\005(\005?\003\222\005-\001\212\000\000\000\000\000\000\004\174\001\164\000\000\005?\003\222\000\000\000\177\000\000\000\000\001\150\000\000\001\164\003\223\001\151\000\175\000\000\005\235\003\224\000\184\000\000\000\000\003\225\003\223\004_\000\000\000\000\003\226\003\224\000\000\000\175\000\131\003\225\000\000\000\184\001\165\000\000\003\226\000\000\000\000\005\236\005\199\005\200\003\222\000\000\001\212\000\131\006,\000\000\000\000\001\164\000\000\000\000\000\000\000\000\000\000\000\000\001\213\004W\003\018\000\000\003\223\003\022\000\000\000\000\000\000\003\224\001\166\006>\000\000\003\225\000\000\000\000\000\177\000\000\003\226\001\165\000\000\000\178\003\206\000\000\001\167\000\179\000\000\000\000\000\000\001\165\000\000\000\177\000\249\003\207\001\168\000\000\000\178\000\000\000\000\000\000\000\179\001\213\004w\000\000\000\000\000\000\006\134\000\000\000\000\000\000\000\000\001\166\001\169\005\201\003\190\003\213\000\000\001\170\000\000\000\188\003?\001\171\000\000\000\000\003\023\001\167\001\172\001\165\003\024\000\000\001\205\000\000\000\000\000\249\000\188\001\168\000\000\004N\004\175\000\000\002\003\000\238\000\000\000\000\000\000\003\190\003\213\000\000\000\000\001\213\005*\000\000\000\000\001\169\000\000\000\236\000\238\000\000\001\170\001\166\000\000\000\000\001\171\001\169\000\000\000\000\003\223\001\172\004N\004\165\000\000\001\205\003?\001\167\003\192\000\000\000\000\001\190\003\193\000\000\003\230\000\249\000\000\001\168\001\148\000\000\001\149\000\000\000\000\000\000\000\000\000\131\000\000\000\189\000\000\000\000\000\000\003\190\003\213\000\000\000\000\001\169\000\000\003?\000\000\003\192\001\170\000\000\000\189\003\193\001\171\003A\000\000\000\000\000\000\001\172\000\000\000\240\000\000\001\205\004N\004O\000\000\000\190\000\000\000\000\003%\006K\003C\000\000\000\000\000\000\000\240\000\000\003D\000\000\000\000\003&\000\190\000\246\000\000\000\000\000\177\000\000\000\000\001\150\000\000\000\249\000\000\001\151\000\222\000\000\000\000\000\000\000\246\003?\000\000\003\192\000\000\001Q\000\000\003\193\000\249\000\000\000\000\000\222\001[\000\000\004U\000\192\003G\000\000\000\000\000\223\000\000\000\000\000\000\000\224\003\206\000\000\001T\000\000\004Z\000\194\000\192\001\164\004[\003\018\000\223\003\207\003\022\000\000\000\224\000\000\000\000\000\000\000\000\000\000\000\194\004U\000\000\000\000\004]\000\000\000\000\000\000\003\190\003\213\000\000\003\206\000\000\000\000\003I\004Z\000\000\000\000\005\235\004[\000\000\000\000\003\207\000\000\000\000\003\190\003\213\004_\003J\000\000\000\000\004N\004Y\000\000\000\000\004]\000\000\000\000\000\000\000\000\000\000\005\236\005\199\005\200\000\000\000\000\003\222\000\177\004N\004\177\000\000\003\023\000\000\004U\000\000\003\024\003\190\003\213\004_\000\000\000\000\001\165\000\000\003\206\003\223\000\000\003?\004Z\003\192\003\224\001\\\004[\003\193\003\225\003\207\000\000\000\000\003\222\003\226\004N\005}\000\000\000\000\003?\000\000\003\192\000\000\004]\003\018\003\193\000\000\003\022\000\000\004\137\000\000\003\223\001U\000\000\001V\005\235\003\224\000\000\000\000\000\000\003\225\001\148\000\249\001\158\000\000\003\226\004_\005\201\000\000\000\000\003?\000\000\003\192\003\190\003\213\000\000\003\193\000\131\005\236\005\199\005\200\000\000\000\000\000\000\000\000\003\222\000\000\000\000\000\175\000\000\000\000\001\169\000\176\000\000\000\000\000\000\004N\005\127\000\000\000\000\000\000\000\000\003?\003\223\000\000\001\192\003\023\000\000\003\224\003%\003\024\000\000\003\225\001\148\000\000\001\149\000\000\003\226\004U\000\177\003&\000\000\001\150\000\000\000\000\000\000\001\151\000\000\003\206\000\000\000\000\003?\004Z\003\192\000\000\004U\004[\003\193\000\000\003\207\000\000\003\190\003\213\000\000\000\000\003\206\000\177\000\000\005\201\004Z\000\000\000\178\004]\004[\000\000\000\179\003\207\001\227\000\000\000\000\000\000\000\000\001\164\000\000\004N\005\129\004U\000\000\000\000\004]\001\148\000\177\001\158\000\000\001\150\004_\003\206\000\000\001\151\000\000\004Z\006I\000\000\000\000\004[\000\000\000\131\003\207\000\000\000\188\000\000\000\000\004_\003A\003\222\003I\000\000\000\000\000\000\003?\004]\003\192\000\131\000\000\000\000\003\193\000\000\000\000\003%\003V\003F\003\222\003\223\000\000\001\164\000\000\003D\003\224\000\000\003&\000\000\003\225\000\000\004_\000\000\000\000\003\226\004U\000\177\003\223\000\000\001\150\000\000\000\000\003\224\001\151\001\165\003\206\003\225\000\000\000\000\004Z\003\222\003\226\000\000\004[\000\000\000\000\003\207\000\000\000\000\000\000\003G\000\000\000\000\005\235\000\000\000\000\000\000\000\000\003\223\004]\006\132\000\189\000\000\003\224\001\163\000\000\001\166\003\225\001Q\001\164\000\131\001\148\003\226\001\158\000\000\001[\005\236\005\199\005\200\000\000\001\167\000\000\004_\001\148\000\000\001\158\001\165\000\131\000\249\001T\001\168\000\190\003I\004U\000\175\000\000\000\000\000\000\000\184\000\131\000\000\003\222\000\000\003\206\000\000\000\000\003J\004Z\001\169\000\000\000\131\004[\000\000\001\170\003\207\000\000\000\000\001\171\000\000\003\223\000\000\000\000\001\172\000\000\003\224\000\000\001\205\004]\003\225\000\177\000\000\000\000\001\150\003\226\000\000\000\000\001\151\000\192\001Q\000\000\000\000\000\177\000\000\001\165\001\150\001[\005\201\000\000\001\151\000\175\004_\000\226\000\177\000\184\000\000\000\000\000\000\000\178\000\000\001T\001\169\000\179\000\000\000\000\000\000\000\131\000\000\001\207\000\000\003\222\000\000\000\000\001\164\000\000\001\194\001\166\000\000\001\\\000\000\001\211\001\148\000\000\001\149\000\000\001\164\000\000\000\175\003\223\000\000\001\167\000\184\000\000\003\224\000\000\000\000\000\188\003\225\000\249\000\000\001\168\005\t\003\226\000\131\001U\000\175\001V\000\000\000\177\000\184\000\000\000\000\000\000\000\178\000\249\000\000\000\000\000\179\001\169\000\000\000\000\000\131\000\175\001\170\000\000\000\000\000\184\001\171\000\000\000\000\000\000\000\000\001\172\000\000\000\000\000\000\001\205\000\000\000\131\000\177\000\000\000\000\001\150\000\000\000\000\000\177\001\151\001\165\001\\\000\000\000\178\000\188\000\000\000\000\000\179\000\000\000\000\000\000\000\000\001\165\000\000\006\137\000\000\000\177\000\000\000\000\000\000\000\000\000\178\000\000\000\189\0054\000\179\000\175\001U\000\000\001V\000\184\000\000\001\166\000\177\000\000\001\164\000\000\000\249\000\178\000\000\000\000\000\188\000\179\000\000\001\166\000\000\001\167\001\240\000\000\000\000\000\000\000\000\003\018\000\190\000\249\003\022\001\168\000\000\001\167\000\188\000\000\000\000\000\000\000\175\000\000\000\000\000\249\000\184\001\168\002\015\000\000\000\000\000\000\000\000\001\169\000\000\000\188\000\249\000\189\001\170\000\222\000\000\000\000\001\171\000\177\000\000\001\169\000\000\001\172\000\178\000\000\001\170\001\205\000\179\000\000\001\171\000\000\000\000\000\000\000\192\001\172\000\000\003\001\000\223\001\205\000\000\001\196\000\224\000\190\001\165\000\177\000\000\000\000\000\194\003\023\000\189\000\000\001\148\003\024\001\149\000\000\000\177\000\000\000\000\003\003\000\000\000\178\000\188\000\000\000\000\000\179\000\000\000\249\000\189\000\000\000\222\000\000\000\000\000\000\003\001\003\018\000\000\000\000\003\022\000\000\000\190\000\000\000\000\000\000\000\000\000\189\000\000\000\175\000\000\000\192\000\000\000\184\003\174\000\223\000\000\000\000\003\020\000\224\000\190\000\188\000\000\000\000\000\000\000\194\000\249\000\000\000\000\000\222\000\000\003\174\000\177\000\000\000\000\001\150\003\176\000\190\003\018\001\151\001\169\003\022\002\254\003\018\000\249\000\000\003\022\000\222\000\192\000\000\000\000\000\000\000\223\004\004\001\200\003?\000\224\000\000\000\189\003\023\000\000\000\249\000\194\003\024\000\222\000\000\000\192\000\177\000\000\000\000\000\223\000\000\000\178\003%\000\224\001\164\000\179\000\000\000\000\000\000\000\194\000\000\000\221\000\192\003&\000\000\000\000\000\223\000\190\000\000\003@\000\224\000\000\000\000\000\000\000\189\003?\000\194\000\000\000\000\003\023\003?\000\000\000\000\003\024\003\023\000\000\000\000\003\018\003\024\000\188\003\022\000\000\000\000\000\000\000\222\000\000\000\000\000\000\000\240\000\000\000\000\000\000\000\175\000\000\000\190\000\000\000\184\000\000\000\000\000\000\003i\000\000\000\000\000\192\000\000\003m\003\018\000\223\000\000\003\022\000\000\000\224\000\000\000\000\000\000\003A\000\000\000\194\001\165\000\000\000\000\000\222\000\000\000\175\000\000\000\000\000\000\000\184\003I\000\000\003%\000\000\003g\000\000\000\000\000\177\000\000\000\000\003D\003\023\000\192\003&\003X\003\024\000\223\003:\000\000\000\000\000\224\000\000\000\177\000\000\000\000\000\189\000\194\000\178\003A\000\000\000\000\000\179\000\000\003A\000\000\000\000\003?\000\000\000\000\003j\003\023\000\000\000\000\003%\003\024\003g\003G\000\000\003%\003<\003g\003D\000\000\000\177\003&\000\190\003D\000\000\000\178\003&\000\000\000\000\000\179\000\175\001\169\000\188\000\000\000\184\000\000\000\000\000\175\003p\000\000\000\000\000\184\000\000\000\000\000\000\001\202\000\000\003j\000\000\000\222\003\018\000\000\003j\003\022\003G\003I\000\000\000\000\000\000\003G\000\000\000\000\000\000\000\188\000\000\000\000\000\000\000\000\000\192\003J\000\000\000\000\000\223\000\000\000\000\000\000\000\224\000\175\000\000\000\000\003%\000\184\000\194\000\000\000\000\000\000\000\000\000\000\000\177\000\000\000\000\003&\000\000\000\178\003A\000\177\003I\000\179\003\137\000\000\000\178\003I\000\000\000\000\000\179\000\000\000\189\000\000\000\177\003%\003J\003g\003\023\000\000\000\000\003J\003\024\003D\000\175\000\000\003&\000\000\000\184\000\000\000\000\000\000\000\000\000\000\000\000\003\148\003<\000\188\000\000\000\000\000\000\000\177\000\190\000\189\000\188\000\000\000\178\000\000\000\000\000\000\000\179\000\000\003j\000\000\000\000\000\000\001\148\000\000\001\149\003G\000\000\000\000\000\000\003\250\000\000\000\000\000\000\003<\000\000\000\222\000\000\000\175\003I\000\190\000\000\000\184\000\000\000\000\000\000\000\000\000\000\000\000\000\177\000\000\000\188\000\000\003Z\000\178\000\192\000\175\000\000\000\179\000\223\000\184\000\000\000\000\000\224\000\000\000\000\000\000\000\222\003I\000\194\003\156\004/\000\000\000\000\000\000\000\000\000\000\003\163\000\189\000\000\000\000\000\177\003J\000\000\001\150\000\189\000\192\003%\001\151\000\000\000\223\000\000\000\188\000\175\000\224\000\000\000\177\000\184\003&\000\000\000\194\000\178\003<\000\000\000\000\000\179\000\000\000\000\000\190\003<\000\000\000\000\000\000\000\000\000\177\000\190\003\190\003\191\0041\000\178\000\000\000\000\000\000\000\179\001\164\000\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\222\0043\000\175\000\000\000\188\000\000\000\184\000\222\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\177\000\000\000\000\000\192\000\190\000\178\000\188\000\223\000\000\000\179\000\192\000\224\000\175\000\000\000\223\000\189\000\184\000\194\000\224\000\000\000\000\000\000\003I\000\177\000\194\003\192\000\000\000\000\000\000\003\193\000\000\000\222\000\000\000\000\000\000\000\000\003\\\000\000\000\000\000\221\000\000\000\000\000\000\000\188\000\177\000\190\000\000\001\165\000\175\000\178\000\192\000\000\000\184\000\179\000\223\000\000\000\000\000\000\000\224\000\000\000\000\000\000\000\189\000\000\000\194\000\175\000\000\003\190\003\191\000\184\000\177\000\000\000\222\000\000\000\000\000\178\000\000\000\000\000\000\000\179\000\189\000\000\000\000\000\000\000\000\000\000\000\221\000\188\000\000\000\000\000\000\000\192\000\190\000\000\000\000\000\223\000\000\000\000\000\000\000\224\000\000\000\000\000\000\000\000\000\221\000\194\000\177\000\000\000\000\004\133\000\190\000\178\000\000\000\188\000\000\000\179\000\000\000\189\000\000\000\222\000\000\001\169\000\000\000\177\000\000\000\177\000\000\003\192\000\178\003\206\003\018\003\193\000\179\003\022\000\000\001\204\000\000\000\222\000\192\000\000\003\207\003<\000\223\000\000\000\000\000\000\000\224\000\190\000\000\000\188\000\000\000\000\000\194\004\142\000\000\000\000\000\192\000\000\000\175\000\000\000\223\000\189\000\184\000\000\000\224\000\000\000\188\000\000\000\000\000\000\000\194\000\175\000\000\000\000\000\222\000\184\000\000\000\000\000\000\004\150\000\000\000\000\000\000\000\000\000\000\003<\000\000\000\189\000\177\000\000\000\000\000\190\003\023\000\192\000\000\000\000\003\024\000\223\000\000\000\175\000\000\000\224\000\000\000\184\000\000\000\000\000\000\000\194\000\000\000\000\000\000\003<\000\000\003\223\000\000\005\001\000\177\000\190\000\222\000\000\000\175\000\178\000\000\000\189\000\184\000\179\000\000\003\232\000\000\000\177\000\000\003\206\005\r\000\000\000\178\000\175\000\000\000\192\000\179\000\184\000\189\000\223\003\207\000\000\000\222\000\224\000\000\003<\000\000\000\000\000\000\000\194\000\000\000\190\000\000\000\000\000\000\000\177\000\000\000\188\000\000\000\000\000\178\000\192\003<\000\000\000\179\000\223\000\000\000\000\000\190\000\224\000\188\000\000\000\000\000\000\000\000\000\194\000\177\000\000\000\222\003\018\000\175\000\178\003\022\000\000\000\184\000\179\000\000\000\000\000\000\000\000\000\000\000\177\003%\000\000\000\000\000\222\000\178\000\192\000\188\000\000\000\179\000\223\000\000\003&\000\000\000\224\000\000\003\190\003\191\000\000\000\000\000\194\000\175\003\223\000\192\000\000\000\184\000\000\000\223\000\188\000\000\000\000\000\224\005\018\000\000\000\000\006\182\003\234\000\194\000\000\000\000\000\189\003\018\000\000\000\188\003\022\005\025\000\177\000\177\000\000\000\000\003\023\000\000\000\178\000\189\003\024\000\000\000\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003<\000\000\000\000\003\190\003\191\000\000\000\190\000\000\000\000\005\"\000\177\000\000\003\192\003<\000\000\000\177\003\193\000\189\000\175\000\190\000\178\000\000\000\184\003I\000\179\000\000\000\188\000\000\000\000\000\000\0058\000\000\007\026\000\222\000\000\000\177\000\000\003^\000\189\003\023\000\000\003<\000\000\003\024\000\000\005=\000\222\000\190\000\000\000\000\000\175\000\000\000\192\000\189\000\184\000\000\000\223\000\000\000\188\000\000\000\224\000\177\003<\003\192\000\000\000\192\000\194\003\193\000\190\000\223\000\000\000\000\000\000\000\224\000\222\000\000\000\177\003<\000\000\000\194\000\000\000\178\000\175\000\190\000\000\000\179\000\184\000\000\003%\000\000\000\000\000\000\005D\000\192\000\000\000\222\000\000\000\223\000\000\003&\000\189\000\224\000\000\000\000\000\000\000\000\000\000\000\194\000\177\000\000\000\222\003\190\003\191\000\178\000\192\000\000\003\206\000\179\000\223\000\188\000\000\000\000\000\224\000\000\003<\000\000\000\000\003\207\000\194\000\192\000\190\000\000\000\189\000\223\000\000\000\000\000\000\000\224\000\000\000\000\000\177\003%\000\000\000\194\000\175\000\178\000\175\000\000\000\184\000\179\000\184\000\188\003&\000\000\000\000\000\000\006\183\000\222\000\000\000\000\000\000\000\175\000\190\000\000\000\000\000\184\000\000\003\206\000\000\000\177\000\000\003\192\000\000\000\000\003I\003\193\000\192\000\000\003\207\000\000\000\223\000\000\000\000\000\188\000\224\000\000\000\000\000\000\003`\000\222\000\194\000\000\000\000\000\189\000\000\000\000\000\000\000\000\000\000\000\000\003\223\000\000\000\177\000\000\000\177\000\000\000\000\000\178\000\192\000\178\000\000\000\179\000\223\000\179\003\236\000\000\000\224\006\183\000\000\000\177\000\000\000\000\000\194\000\190\000\178\000\189\000\000\003I\000\179\000\000\000\000\000\175\000\000\000\175\000\000\000\184\000\000\000\184\000\000\000\000\000\000\003b\000\000\000\000\000\000\000\188\000\000\000\188\000\000\001\217\000\222\003\223\000\000\000\000\000\000\000\190\000\000\000\189\000\000\000\000\000\000\000\000\000\188\000\000\000\000\003\238\000\000\000\000\000\175\000\192\000\000\000\000\000\184\000\223\000\000\003\206\000\000\000\224\000\000\000\000\000\000\001\231\000\222\000\194\000\000\000\000\003\207\000\190\000\000\000\177\000\000\000\177\000\000\000\000\000\178\000\000\000\178\000\000\000\179\000\000\000\179\000\192\000\000\000\000\000\000\000\223\000\000\000\000\000\000\000\224\000\000\000\000\000\175\000\000\000\222\000\194\000\184\000\000\000\000\000\189\000\000\000\189\000\000\000\000\000\000\000\000\000\177\000\000\000\000\000\000\000\000\000\178\000\188\000\192\000\188\000\179\000\189\000\223\000\000\000\000\000\000\000\224\000\000\001\253\000\000\002\235\000\000\000\194\000\000\000\190\000\000\000\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\223\002\239\000\175\000\000\000\000\000\000\000\184\000\190\000\000\000\000\000\188\000\177\000\000\000\000\003\240\000\000\000\178\000\222\000\175\000\222\000\179\000\000\000\184\000\000\003\018\000\000\000\000\003\022\000\000\000\000\000\000\000\175\000\000\000\000\000\222\000\184\000\192\000\000\000\192\000\000\000\223\000\000\000\223\000\000\000\224\000\000\000\224\000\189\000\000\000\189\000\194\000\000\000\194\000\192\000\188\000\000\000\000\000\223\000\000\000\000\000\177\000\224\000\000\000\000\000\000\000\178\000\000\000\194\000\000\000\179\000\000\003\031\000\000\003.\000\000\000\000\000\177\000\190\000\000\000\190\000\000\000\178\000\177\000\000\000\189\000\179\003\023\000\000\000\000\000\177\003\024\000\000\000\000\000\000\000\178\000\000\000\175\000\000\000\179\000\000\000\184\000\000\000\000\000\188\000\222\000\000\000\222\000\000\0030\000\175\000\000\000\000\000\175\000\184\000\190\000\000\000\184\000\000\000\000\000\188\000\000\000\000\000\000\000\192\000\000\000\192\000\000\000\223\000\189\000\223\000\000\000\224\000\188\000\224\000\000\000\000\000\000\000\194\000\000\000\194\000\000\000\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\200\000\000\000\177\000\000\000\000\000\175\000\190\000\178\000\192\000\184\000\000\000\179\000\223\000\000\000\000\000\177\000\224\000\000\000\177\000\000\000\178\000\000\000\194\000\178\000\179\000\189\000\000\000\179\000\000\000\000\000\000\000\000\000\000\000\222\000\000\000\000\003%\000\000\000\000\000\000\000\000\000\189\000\000\000\000\000\000\000\188\000\000\003&\000\000\004\t\000\000\000\000\000\192\000\000\000\189\000\190\000\223\000\000\000\188\000\000\000\224\000\188\000\000\000\177\000\000\004\014\000\194\000\000\000\178\000\000\000\175\000\190\000\179\000\000\000\184\000\000\000\000\000\000\004\018\000\000\000\000\000\000\000\222\000\175\000\190\000\000\000\000\000\184\000\000\000\000\000\175\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\222\000\000\000\000\000\192\000\000\000\000\000\000\000\223\000\188\000\000\000\000\000\224\000\000\000\222\000\175\000\000\000\000\000\194\000\184\000\192\000\000\000\189\000\000\000\223\003I\000\000\000\000\000\224\000\000\000\000\000\177\000\000\000\192\000\194\000\189\000\178\000\223\000\189\003d\000\179\000\224\000\000\000\000\000\177\000\000\004'\000\194\000\000\000\178\000\000\000\177\000\190\000\179\000\000\000\000\000\178\000\000\000\000\004R\000\179\000\000\004\244\000\000\000\000\000\190\000\000\000\000\000\190\000\000\000\000\003\190\003\191\000\177\000\188\000\000\000\000\000\000\000\178\000\222\000\175\000\000\000\179\000\189\000\184\000\000\000\175\000\188\000\000\000\000\000\176\000\000\000\222\000\175\000\188\000\222\000\000\000\184\000\192\000\000\003\018\000\000\000\223\003\022\000\000\000\000\000\224\005[\000\000\000\000\000\000\000\192\000\194\000\190\000\192\000\223\000\188\000\000\000\223\000\224\000\000\000\000\000\224\000\000\000\000\000\194\000\000\000\000\000\194\000\177\000\000\003\192\000\000\000\000\000\000\003\193\000\000\000\000\000\177\000\000\000\222\000\175\000\000\000\178\000\177\000\176\000\000\000\179\000\189\000\178\000\000\000\177\000\000\000\179\000\000\000\000\000\178\000\000\000\177\000\192\000\179\000\189\003\023\000\223\000\000\000\000\003\024\000\224\000\189\000\000\000\000\000\000\005o\000\194\000\000\000\000\000\000\000\000\000\190\000\000\000\000\000\188\000\000\000\000\000\000\005q\000\000\000\188\000\000\000\000\000\189\000\190\005s\000\000\000\188\000\000\003\190\003\191\000\190\000\177\000\000\000\000\000\000\000\000\000\178\000\222\000\000\000\000\000\179\003\190\003\191\000\000\000\000\000\000\005y\000\000\000\000\000\000\000\222\000\000\000\190\000\000\000\000\000\000\000\192\000\222\003\190\003\191\000\223\003\190\003\191\000\000\000\224\000\000\000\000\003\206\000\000\000\192\000\194\003\190\003\191\000\223\000\188\000\000\000\192\000\224\003\207\000\222\000\223\003\190\003\191\000\194\000\224\000\000\000\177\000\189\003\192\000\000\000\194\000\000\003\193\000\189\000\000\000\000\003%\000\000\000\192\000\177\000\189\003\192\000\223\000\000\000\000\003\193\000\224\003&\000\000\000\000\000\000\005\135\000\194\000\000\000\000\000\000\000\177\000\190\003\192\000\177\000\000\003\192\003\193\000\190\005\149\003\193\000\000\000\000\000\000\000\177\000\190\003\192\000\000\000\000\000\000\003\193\000\000\000\000\000\000\000\177\000\000\003\192\000\000\000\000\000\222\003\193\000\000\000\000\000\189\000\000\000\000\003\223\000\000\000\000\000\000\000\000\000\000\000\222\000\000\000\000\000\000\000\000\000\000\000\192\000\000\003\242\000\000\000\223\000\000\000\192\000\000\000\224\000\000\000\000\000\000\000\000\000\192\000\194\000\190\000\000\000\223\000\000\003I\000\228\000\224\000\000\000\000\000\000\000\000\000\000\000\194\000\000\003\206\000\000\000\000\000\000\003f\000\000\000\000\000\000\000\000\000\000\000\000\003\207\000\000\003\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\207\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\192\003\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\207\000\000\003\206\003\207\000\000\000\230\000\000\000\000\000\000\000\000\000\000\000\000\003\206\003\207\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\207\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\223\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\223\003\244\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\246\000\000\000\000\003\223\000\000\000\000\003\223\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\223\003\248\000\000\000\000\003\254\000\000\000\000\000\000\000\000\000\000\003\223\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\002"))
1465
1466 let semantic_action =
1467 [|
1468 (fun _menhir_env ->
1469 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1470 let {
1471 MenhirLib.EngineTypes.state = _menhir_s;
1472 MenhirLib.EngineTypes.semv = _1;
1473 MenhirLib.EngineTypes.startp = _startpos__1_;
1474 MenhirLib.EngineTypes.endp = _endpos__1_;
1475 MenhirLib.EngineTypes.next = _menhir_stack;
1476 } = _menhir_stack in
1477 raise (MenhirLib.TableInterpreter.Accept _1));
1478 (fun _menhir_env ->
1479 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1480 let {
1481 MenhirLib.EngineTypes.state = _menhir_s;
1482 MenhirLib.EngineTypes.semv = _1;
1483 MenhirLib.EngineTypes.startp = _startpos__1_;
1484 MenhirLib.EngineTypes.endp = _endpos__1_;
1485 MenhirLib.EngineTypes.next = _menhir_stack;
1486 } = _menhir_stack in
1487 raise (MenhirLib.TableInterpreter.Accept _1));
1488 (fun _menhir_env ->
1489 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1490 let {
1491 MenhirLib.EngineTypes.state = _menhir_s;
1492 MenhirLib.EngineTypes.semv = _1;
1493 MenhirLib.EngineTypes.startp = _startpos__1_;
1494 MenhirLib.EngineTypes.endp = _endpos__1_;
1495 MenhirLib.EngineTypes.next = _menhir_stack;
1496 } = _menhir_stack in
1497 raise (MenhirLib.TableInterpreter.Accept _1));
1498 (fun _menhir_env ->
1499 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1500 let {
1501 MenhirLib.EngineTypes.state = _menhir_s;
1502 MenhirLib.EngineTypes.semv = _1;
1503 MenhirLib.EngineTypes.startp = _startpos__1_;
1504 MenhirLib.EngineTypes.endp = _endpos__1_;
1505 MenhirLib.EngineTypes.next = _menhir_stack;
1506 } = _menhir_stack in
1507 raise (MenhirLib.TableInterpreter.Accept _1));
1508 (fun _menhir_env ->
1509 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1510 let {
1511 MenhirLib.EngineTypes.state = _menhir_s;
1512 MenhirLib.EngineTypes.semv = _1;
1513 MenhirLib.EngineTypes.startp = _startpos__1_;
1514 MenhirLib.EngineTypes.endp = _endpos__1_;
1515 MenhirLib.EngineTypes.next = _menhir_stack;
1516 } = _menhir_stack in
1517 raise (MenhirLib.TableInterpreter.Accept _1));
1518 (fun _menhir_env ->
1519 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1520 let {
1521 MenhirLib.EngineTypes.state = _menhir_s;
1522 MenhirLib.EngineTypes.semv = _1;
1523 MenhirLib.EngineTypes.startp = _startpos__1_;
1524 MenhirLib.EngineTypes.endp = _endpos__1_;
1525 MenhirLib.EngineTypes.next = _menhir_stack;
1526 } = _menhir_stack in
1527 raise (MenhirLib.TableInterpreter.Accept _1));
1528 (fun _menhir_env ->
1529 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1530 let {
1531 MenhirLib.EngineTypes.state = _menhir_s;
1532 MenhirLib.EngineTypes.semv = _1;
1533 MenhirLib.EngineTypes.startp = _startpos__1_;
1534 MenhirLib.EngineTypes.endp = _endpos__1_;
1535 MenhirLib.EngineTypes.next = _menhir_stack;
1536 } = _menhir_stack in
1537 raise (MenhirLib.TableInterpreter.Accept _1));
1538 (fun _menhir_env ->
1539 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1540 let {
1541 MenhirLib.EngineTypes.state = _menhir_s;
1542 MenhirLib.EngineTypes.semv = _1;
1543 MenhirLib.EngineTypes.startp = _startpos__1_;
1544 MenhirLib.EngineTypes.endp = _endpos__1_;
1545 MenhirLib.EngineTypes.next = _menhir_stack;
1546 } = _menhir_stack in
1547 raise (MenhirLib.TableInterpreter.Accept _1));
1548 (fun _menhir_env ->
1549 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1550 let {
1551 MenhirLib.EngineTypes.state = _menhir_s;
1552 MenhirLib.EngineTypes.semv = _1;
1553 MenhirLib.EngineTypes.startp = _startpos__1_;
1554 MenhirLib.EngineTypes.endp = _endpos__1_;
1555 MenhirLib.EngineTypes.next = _menhir_stack;
1556 } = _menhir_stack in
1557 raise (MenhirLib.TableInterpreter.Accept _1));
1558 (fun _menhir_env ->
1559 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1560 let {
1561 MenhirLib.EngineTypes.state = _menhir_s;
1562 MenhirLib.EngineTypes.semv = _1;
1563 MenhirLib.EngineTypes.startp = _startpos__1_;
1564 MenhirLib.EngineTypes.endp = _endpos__1_;
1565 MenhirLib.EngineTypes.next = _menhir_stack;
1566 } = _menhir_stack in
1567 raise (MenhirLib.TableInterpreter.Accept _1));
1568 (fun _menhir_env ->
1569 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1570 let {
1571 MenhirLib.EngineTypes.state = _menhir_s;
1572 MenhirLib.EngineTypes.semv = _1;
1573 MenhirLib.EngineTypes.startp = _startpos__1_;
1574 MenhirLib.EngineTypes.endp = _endpos__1_;
1575 MenhirLib.EngineTypes.next = _menhir_stack;
1576 } = _menhir_stack in
1577 raise (MenhirLib.TableInterpreter.Accept _1));
1578 (fun _menhir_env ->
1579 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1580 let {
1581 MenhirLib.EngineTypes.state = _menhir_s;
1582 MenhirLib.EngineTypes.semv = _1;
1583 MenhirLib.EngineTypes.startp = _startpos__1_;
1584 MenhirLib.EngineTypes.endp = _endpos__1_;
1585 MenhirLib.EngineTypes.next = _menhir_stack;
1586 } = _menhir_stack in
1587 raise (MenhirLib.TableInterpreter.Accept _1));
1588 (fun _menhir_env ->
1589 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1590 let {
1591 MenhirLib.EngineTypes.state = _menhir_s;
1592 MenhirLib.EngineTypes.semv = _1;
1593 MenhirLib.EngineTypes.startp = _startpos__1_;
1594 MenhirLib.EngineTypes.endp = _endpos__1_;
1595 MenhirLib.EngineTypes.next = _menhir_stack;
1596 } = _menhir_stack in
1597 raise (MenhirLib.TableInterpreter.Accept _1));
1598 (fun _menhir_env ->
1599 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1600 let {
1601 MenhirLib.EngineTypes.state = _menhir_s;
1602 MenhirLib.EngineTypes.semv = _1;
1603 MenhirLib.EngineTypes.startp = _startpos__1_;
1604 MenhirLib.EngineTypes.endp = _endpos__1_;
1605 MenhirLib.EngineTypes.next = _menhir_stack;
1606 } = _menhir_stack in
1607 let _1 : 'tv_dexpr = Obj.magic _1 in
1608 let _startpos = _startpos__1_ in
1609 let _endpos = _endpos__1_ in
1610 let _v : 'tv_aexpr =
1611 # 1984 "parser_cocci_menhir.mly"
1612 ( Ast0.set_arg_exp _1 )
1613 # 1614 "parser_cocci_menhir.ml"
1614 in
1615 _menhir_env.MenhirLib.EngineTypes.stack <- {
1616 MenhirLib.EngineTypes.state = _menhir_s;
1617 MenhirLib.EngineTypes.semv = Obj.repr _v;
1618 MenhirLib.EngineTypes.startp = _startpos;
1619 MenhirLib.EngineTypes.endp = _endpos;
1620 MenhirLib.EngineTypes.next = _menhir_stack;
1621 });
1622 (fun _menhir_env ->
1623 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1624 let {
1625 MenhirLib.EngineTypes.state = _menhir_s;
1626 MenhirLib.EngineTypes.semv = _1;
1627 MenhirLib.EngineTypes.startp = _startpos__1_;
1628 MenhirLib.EngineTypes.endp = _endpos__1_;
1629 MenhirLib.EngineTypes.next = _menhir_stack;
1630 } = _menhir_stack in
1631 let _1 : (
1632 # 69 "parser_cocci_menhir.mly"
1633 (Parse_aux.list_info)
1634 # 1635 "parser_cocci_menhir.ml"
1635 ) = Obj.magic _1 in
1636 let _startpos = _startpos__1_ in
1637 let _endpos = _endpos__1_ in
1638 let _v : 'tv_aexpr =
1639 # 1986 "parser_cocci_menhir.mly"
1640 ( let (nm,lenname,pure,clt) = _1 in
1641 let nm = P.clt2mcode nm clt in
1642 let lenname =
1643 match lenname with
1644 Ast.AnyLen -> Ast0.AnyListLen
1645 | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
1646 | Ast.CstLen n -> Ast0.CstListLen n in
1647 Ast0.wrap(Ast0.MetaExprList(nm,lenname,pure)) )
1648 # 1649 "parser_cocci_menhir.ml"
1649 in
1650 _menhir_env.MenhirLib.EngineTypes.stack <- {
1651 MenhirLib.EngineTypes.state = _menhir_s;
1652 MenhirLib.EngineTypes.semv = Obj.repr _v;
1653 MenhirLib.EngineTypes.startp = _startpos;
1654 MenhirLib.EngineTypes.endp = _endpos;
1655 MenhirLib.EngineTypes.next = _menhir_stack;
1656 });
1657 (fun _menhir_env ->
1658 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1659 let {
1660 MenhirLib.EngineTypes.state = _menhir_s;
1661 MenhirLib.EngineTypes.semv = _1;
1662 MenhirLib.EngineTypes.startp = _startpos__1_;
1663 MenhirLib.EngineTypes.endp = _endpos__1_;
1664 MenhirLib.EngineTypes.next = _menhir_stack;
1665 } = _menhir_stack in
1666 let _1 : 'tv_ctype = Obj.magic _1 in
1667 let _startpos = _startpos__1_ in
1668 let _endpos = _endpos__1_ in
1669 let _v : 'tv_aexpr =
1670 # 1995 "parser_cocci_menhir.mly"
1671 ( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) )
1672 # 1673 "parser_cocci_menhir.ml"
1673 in
1674 _menhir_env.MenhirLib.EngineTypes.stack <- {
1675 MenhirLib.EngineTypes.state = _menhir_s;
1676 MenhirLib.EngineTypes.semv = Obj.repr _v;
1677 MenhirLib.EngineTypes.startp = _startpos;
1678 MenhirLib.EngineTypes.endp = _endpos;
1679 MenhirLib.EngineTypes.next = _menhir_stack;
1680 });
1681 (fun _menhir_env ->
1682 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1683 let {
1684 MenhirLib.EngineTypes.state = _menhir_s;
1685 MenhirLib.EngineTypes.startp = _startpos__1_;
1686 MenhirLib.EngineTypes.endp = _endpos__1_;
1687 MenhirLib.EngineTypes.next = _menhir_stack;
1688 } = _menhir_stack in
1689 let _startpos = _startpos__1_ in
1690 let _endpos = _endpos__1_ in
1691 let _v : 'tv_any_strict =
1692 # 2031 "parser_cocci_menhir.mly"
1693 ( Ast.WhenAny )
1694 # 1695 "parser_cocci_menhir.ml"
1695 in
1696 _menhir_env.MenhirLib.EngineTypes.stack <- {
1697 MenhirLib.EngineTypes.state = _menhir_s;
1698 MenhirLib.EngineTypes.semv = Obj.repr _v;
1699 MenhirLib.EngineTypes.startp = _startpos;
1700 MenhirLib.EngineTypes.endp = _endpos;
1701 MenhirLib.EngineTypes.next = _menhir_stack;
1702 });
1703 (fun _menhir_env ->
1704 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1705 let {
1706 MenhirLib.EngineTypes.state = _menhir_s;
1707 MenhirLib.EngineTypes.startp = _startpos__1_;
1708 MenhirLib.EngineTypes.endp = _endpos__1_;
1709 MenhirLib.EngineTypes.next = _menhir_stack;
1710 } = _menhir_stack in
1711 let _startpos = _startpos__1_ in
1712 let _endpos = _endpos__1_ in
1713 let _v : 'tv_any_strict =
1714 # 2032 "parser_cocci_menhir.mly"
1715 ( Ast.WhenStrict )
1716 # 1717 "parser_cocci_menhir.ml"
1717 in
1718 _menhir_env.MenhirLib.EngineTypes.stack <- {
1719 MenhirLib.EngineTypes.state = _menhir_s;
1720 MenhirLib.EngineTypes.semv = Obj.repr _v;
1721 MenhirLib.EngineTypes.startp = _startpos;
1722 MenhirLib.EngineTypes.endp = _endpos;
1723 MenhirLib.EngineTypes.next = _menhir_stack;
1724 });
1725 (fun _menhir_env ->
1726 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1727 let {
1728 MenhirLib.EngineTypes.state = _menhir_s;
1729 MenhirLib.EngineTypes.startp = _startpos__1_;
1730 MenhirLib.EngineTypes.endp = _endpos__1_;
1731 MenhirLib.EngineTypes.next = _menhir_stack;
1732 } = _menhir_stack in
1733 let _startpos = _startpos__1_ in
1734 let _endpos = _endpos__1_ in
1735 let _v : 'tv_any_strict =
1736 # 2033 "parser_cocci_menhir.mly"
1737 ( Ast.WhenForall )
1738 # 1739 "parser_cocci_menhir.ml"
1739 in
1740 _menhir_env.MenhirLib.EngineTypes.stack <- {
1741 MenhirLib.EngineTypes.state = _menhir_s;
1742 MenhirLib.EngineTypes.semv = Obj.repr _v;
1743 MenhirLib.EngineTypes.startp = _startpos;
1744 MenhirLib.EngineTypes.endp = _endpos;
1745 MenhirLib.EngineTypes.next = _menhir_stack;
1746 });
1747 (fun _menhir_env ->
1748 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1749 let {
1750 MenhirLib.EngineTypes.state = _menhir_s;
1751 MenhirLib.EngineTypes.startp = _startpos__1_;
1752 MenhirLib.EngineTypes.endp = _endpos__1_;
1753 MenhirLib.EngineTypes.next = _menhir_stack;
1754 } = _menhir_stack in
1755 let _startpos = _startpos__1_ in
1756 let _endpos = _endpos__1_ in
1757 let _v : 'tv_any_strict =
1758 # 2034 "parser_cocci_menhir.mly"
1759 ( Ast.WhenExists )
1760 # 1761 "parser_cocci_menhir.ml"
1761 in
1762 _menhir_env.MenhirLib.EngineTypes.stack <- {
1763 MenhirLib.EngineTypes.state = _menhir_s;
1764 MenhirLib.EngineTypes.semv = Obj.repr _v;
1765 MenhirLib.EngineTypes.startp = _startpos;
1766 MenhirLib.EngineTypes.endp = _endpos;
1767 MenhirLib.EngineTypes.next = _menhir_stack;
1768 });
1769 (fun _menhir_env ->
1770 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1771 let {
1772 MenhirLib.EngineTypes.state = _menhir_s;
1773 MenhirLib.EngineTypes.semv = _1;
1774 MenhirLib.EngineTypes.startp = _startpos__1_;
1775 MenhirLib.EngineTypes.endp = _endpos__1_;
1776 MenhirLib.EngineTypes.next = _menhir_stack;
1777 } = _menhir_stack in
1778 let _1 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1779 let _startpos = _startpos__1_ in
1780 let _endpos = _endpos__1_ in
1781 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1782 # 1325 "parser_cocci_menhir.mly"
1783 ( _1 )
1784 # 1785 "parser_cocci_menhir.ml"
1785 in
1786 _menhir_env.MenhirLib.EngineTypes.stack <- {
1787 MenhirLib.EngineTypes.state = _menhir_s;
1788 MenhirLib.EngineTypes.semv = Obj.repr _v;
1789 MenhirLib.EngineTypes.startp = _startpos;
1790 MenhirLib.EngineTypes.endp = _endpos;
1791 MenhirLib.EngineTypes.next = _menhir_stack;
1792 });
1793 (fun _menhir_env ->
1794 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1795 let {
1796 MenhirLib.EngineTypes.semv = _3;
1797 MenhirLib.EngineTypes.startp = _startpos__3_;
1798 MenhirLib.EngineTypes.endp = _endpos__3_;
1799 MenhirLib.EngineTypes.next = {
1800 MenhirLib.EngineTypes.semv = _2;
1801 MenhirLib.EngineTypes.startp = _startpos__2_;
1802 MenhirLib.EngineTypes.endp = _endpos__2_;
1803 MenhirLib.EngineTypes.next = {
1804 MenhirLib.EngineTypes.state = _menhir_s;
1805 MenhirLib.EngineTypes.semv = _1;
1806 MenhirLib.EngineTypes.startp = _startpos__1_;
1807 MenhirLib.EngineTypes.endp = _endpos__1_;
1808 MenhirLib.EngineTypes.next = _menhir_stack;
1809 };
1810 };
1811 } = _menhir_stack in
1812 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1813 let _2 : (
1814 # 102 "parser_cocci_menhir.mly"
1815 (Data.clt)
1816 # 1817 "parser_cocci_menhir.ml"
1817 ) = Obj.magic _2 in
1818 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1819 let _startpos = _startpos__1_ in
1820 let _endpos = _endpos__3_ in
1821 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1822 # 1327 "parser_cocci_menhir.mly"
1823 ( P.arith_op Ast.Mul _1 _2 _3 )
1824 # 1825 "parser_cocci_menhir.ml"
1825 in
1826 _menhir_env.MenhirLib.EngineTypes.stack <- {
1827 MenhirLib.EngineTypes.state = _menhir_s;
1828 MenhirLib.EngineTypes.semv = Obj.repr _v;
1829 MenhirLib.EngineTypes.startp = _startpos;
1830 MenhirLib.EngineTypes.endp = _endpos;
1831 MenhirLib.EngineTypes.next = _menhir_stack;
1832 });
1833 (fun _menhir_env ->
1834 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1835 let {
1836 MenhirLib.EngineTypes.semv = _3;
1837 MenhirLib.EngineTypes.startp = _startpos__3_;
1838 MenhirLib.EngineTypes.endp = _endpos__3_;
1839 MenhirLib.EngineTypes.next = {
1840 MenhirLib.EngineTypes.semv = _2;
1841 MenhirLib.EngineTypes.startp = _startpos__2_;
1842 MenhirLib.EngineTypes.endp = _endpos__2_;
1843 MenhirLib.EngineTypes.next = {
1844 MenhirLib.EngineTypes.state = _menhir_s;
1845 MenhirLib.EngineTypes.semv = _1;
1846 MenhirLib.EngineTypes.startp = _startpos__1_;
1847 MenhirLib.EngineTypes.endp = _endpos__1_;
1848 MenhirLib.EngineTypes.next = _menhir_stack;
1849 };
1850 };
1851 } = _menhir_stack in
1852 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1853 let _2 : (
1854 # 100 "parser_cocci_menhir.mly"
1855 (Ast_cocci.arithOp * Data.clt)
1856 # 1857 "parser_cocci_menhir.ml"
1857 ) = Obj.magic _2 in
1858 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1859 let _startpos = _startpos__1_ in
1860 let _endpos = _endpos__3_ in
1861 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1862 # 1329 "parser_cocci_menhir.mly"
1863 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
1864 # 1865 "parser_cocci_menhir.ml"
1865 in
1866 _menhir_env.MenhirLib.EngineTypes.stack <- {
1867 MenhirLib.EngineTypes.state = _menhir_s;
1868 MenhirLib.EngineTypes.semv = Obj.repr _v;
1869 MenhirLib.EngineTypes.startp = _startpos;
1870 MenhirLib.EngineTypes.endp = _endpos;
1871 MenhirLib.EngineTypes.next = _menhir_stack;
1872 });
1873 (fun _menhir_env ->
1874 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1875 let {
1876 MenhirLib.EngineTypes.semv = _3;
1877 MenhirLib.EngineTypes.startp = _startpos__3_;
1878 MenhirLib.EngineTypes.endp = _endpos__3_;
1879 MenhirLib.EngineTypes.next = {
1880 MenhirLib.EngineTypes.semv = _2;
1881 MenhirLib.EngineTypes.startp = _startpos__2_;
1882 MenhirLib.EngineTypes.endp = _endpos__2_;
1883 MenhirLib.EngineTypes.next = {
1884 MenhirLib.EngineTypes.state = _menhir_s;
1885 MenhirLib.EngineTypes.semv = _1;
1886 MenhirLib.EngineTypes.startp = _startpos__1_;
1887 MenhirLib.EngineTypes.endp = _endpos__1_;
1888 MenhirLib.EngineTypes.next = _menhir_stack;
1889 };
1890 };
1891 } = _menhir_stack in
1892 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1893 let _2 : (
1894 # 101 "parser_cocci_menhir.mly"
1895 (Data.clt)
1896 # 1897 "parser_cocci_menhir.ml"
1897 ) = Obj.magic _2 in
1898 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1899 let _startpos = _startpos__1_ in
1900 let _endpos = _endpos__3_ in
1901 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1902 # 1331 "parser_cocci_menhir.mly"
1903 ( P.arith_op Ast.Plus _1 _2 _3 )
1904 # 1905 "parser_cocci_menhir.ml"
1905 in
1906 _menhir_env.MenhirLib.EngineTypes.stack <- {
1907 MenhirLib.EngineTypes.state = _menhir_s;
1908 MenhirLib.EngineTypes.semv = Obj.repr _v;
1909 MenhirLib.EngineTypes.startp = _startpos;
1910 MenhirLib.EngineTypes.endp = _endpos;
1911 MenhirLib.EngineTypes.next = _menhir_stack;
1912 });
1913 (fun _menhir_env ->
1914 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1915 let {
1916 MenhirLib.EngineTypes.semv = _3;
1917 MenhirLib.EngineTypes.startp = _startpos__3_;
1918 MenhirLib.EngineTypes.endp = _endpos__3_;
1919 MenhirLib.EngineTypes.next = {
1920 MenhirLib.EngineTypes.semv = _2;
1921 MenhirLib.EngineTypes.startp = _startpos__2_;
1922 MenhirLib.EngineTypes.endp = _endpos__2_;
1923 MenhirLib.EngineTypes.next = {
1924 MenhirLib.EngineTypes.state = _menhir_s;
1925 MenhirLib.EngineTypes.semv = _1;
1926 MenhirLib.EngineTypes.startp = _startpos__1_;
1927 MenhirLib.EngineTypes.endp = _endpos__1_;
1928 MenhirLib.EngineTypes.next = _menhir_stack;
1929 };
1930 };
1931 } = _menhir_stack in
1932 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1933 let _2 : (
1934 # 101 "parser_cocci_menhir.mly"
1935 (Data.clt)
1936 # 1937 "parser_cocci_menhir.ml"
1937 ) = Obj.magic _2 in
1938 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1939 let _startpos = _startpos__1_ in
1940 let _endpos = _endpos__3_ in
1941 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1942 # 1333 "parser_cocci_menhir.mly"
1943 ( P.arith_op Ast.Minus _1 _2 _3 )
1944 # 1945 "parser_cocci_menhir.ml"
1945 in
1946 _menhir_env.MenhirLib.EngineTypes.stack <- {
1947 MenhirLib.EngineTypes.state = _menhir_s;
1948 MenhirLib.EngineTypes.semv = Obj.repr _v;
1949 MenhirLib.EngineTypes.startp = _startpos;
1950 MenhirLib.EngineTypes.endp = _endpos;
1951 MenhirLib.EngineTypes.next = _menhir_stack;
1952 });
1953 (fun _menhir_env ->
1954 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1955 let {
1956 MenhirLib.EngineTypes.semv = _3;
1957 MenhirLib.EngineTypes.startp = _startpos__3_;
1958 MenhirLib.EngineTypes.endp = _endpos__3_;
1959 MenhirLib.EngineTypes.next = {
1960 MenhirLib.EngineTypes.semv = _2;
1961 MenhirLib.EngineTypes.startp = _startpos__2_;
1962 MenhirLib.EngineTypes.endp = _endpos__2_;
1963 MenhirLib.EngineTypes.next = {
1964 MenhirLib.EngineTypes.state = _menhir_s;
1965 MenhirLib.EngineTypes.semv = _1;
1966 MenhirLib.EngineTypes.startp = _startpos__1_;
1967 MenhirLib.EngineTypes.endp = _endpos__1_;
1968 MenhirLib.EngineTypes.next = _menhir_stack;
1969 };
1970 };
1971 } = _menhir_stack in
1972 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
1973 let _2 : (
1974 # 99 "parser_cocci_menhir.mly"
1975 (Ast_cocci.arithOp * Data.clt)
1976 # 1977 "parser_cocci_menhir.ml"
1977 ) = Obj.magic _2 in
1978 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1979 let _startpos = _startpos__1_ in
1980 let _endpos = _endpos__3_ in
1981 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1982 # 1335 "parser_cocci_menhir.mly"
1983 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
1984 # 1985 "parser_cocci_menhir.ml"
1985 in
1986 _menhir_env.MenhirLib.EngineTypes.stack <- {
1987 MenhirLib.EngineTypes.state = _menhir_s;
1988 MenhirLib.EngineTypes.semv = Obj.repr _v;
1989 MenhirLib.EngineTypes.startp = _startpos;
1990 MenhirLib.EngineTypes.endp = _endpos;
1991 MenhirLib.EngineTypes.next = _menhir_stack;
1992 });
1993 (fun _menhir_env ->
1994 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1995 let {
1996 MenhirLib.EngineTypes.semv = _3;
1997 MenhirLib.EngineTypes.startp = _startpos__3_;
1998 MenhirLib.EngineTypes.endp = _endpos__3_;
1999 MenhirLib.EngineTypes.next = {
2000 MenhirLib.EngineTypes.semv = _2;
2001 MenhirLib.EngineTypes.startp = _startpos__2_;
2002 MenhirLib.EngineTypes.endp = _endpos__2_;
2003 MenhirLib.EngineTypes.next = {
2004 MenhirLib.EngineTypes.state = _menhir_s;
2005 MenhirLib.EngineTypes.semv = _1;
2006 MenhirLib.EngineTypes.startp = _startpos__1_;
2007 MenhirLib.EngineTypes.endp = _endpos__1_;
2008 MenhirLib.EngineTypes.next = _menhir_stack;
2009 };
2010 };
2011 } = _menhir_stack in
2012 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2013 let _2 : (
2014 # 99 "parser_cocci_menhir.mly"
2015 (Ast_cocci.arithOp * Data.clt)
2016 # 2017 "parser_cocci_menhir.ml"
2017 ) = Obj.magic _2 in
2018 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2019 let _startpos = _startpos__1_ in
2020 let _endpos = _endpos__3_ in
2021 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2022 # 1337 "parser_cocci_menhir.mly"
2023 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2024 # 2025 "parser_cocci_menhir.ml"
2025 in
2026 _menhir_env.MenhirLib.EngineTypes.stack <- {
2027 MenhirLib.EngineTypes.state = _menhir_s;
2028 MenhirLib.EngineTypes.semv = Obj.repr _v;
2029 MenhirLib.EngineTypes.startp = _startpos;
2030 MenhirLib.EngineTypes.endp = _endpos;
2031 MenhirLib.EngineTypes.next = _menhir_stack;
2032 });
2033 (fun _menhir_env ->
2034 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2035 let {
2036 MenhirLib.EngineTypes.semv = _3;
2037 MenhirLib.EngineTypes.startp = _startpos__3_;
2038 MenhirLib.EngineTypes.endp = _endpos__3_;
2039 MenhirLib.EngineTypes.next = {
2040 MenhirLib.EngineTypes.semv = _2;
2041 MenhirLib.EngineTypes.startp = _startpos__2_;
2042 MenhirLib.EngineTypes.endp = _endpos__2_;
2043 MenhirLib.EngineTypes.next = {
2044 MenhirLib.EngineTypes.state = _menhir_s;
2045 MenhirLib.EngineTypes.semv = _1;
2046 MenhirLib.EngineTypes.startp = _startpos__1_;
2047 MenhirLib.EngineTypes.endp = _endpos__1_;
2048 MenhirLib.EngineTypes.next = _menhir_stack;
2049 };
2050 };
2051 } = _menhir_stack in
2052 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2053 let _2 : (
2054 # 98 "parser_cocci_menhir.mly"
2055 (Ast_cocci.logicalOp * Data.clt)
2056 # 2057 "parser_cocci_menhir.ml"
2057 ) = Obj.magic _2 in
2058 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2059 let _startpos = _startpos__1_ in
2060 let _endpos = _endpos__3_ in
2061 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2062 # 1339 "parser_cocci_menhir.mly"
2063 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
2064 # 2065 "parser_cocci_menhir.ml"
2065 in
2066 _menhir_env.MenhirLib.EngineTypes.stack <- {
2067 MenhirLib.EngineTypes.state = _menhir_s;
2068 MenhirLib.EngineTypes.semv = Obj.repr _v;
2069 MenhirLib.EngineTypes.startp = _startpos;
2070 MenhirLib.EngineTypes.endp = _endpos;
2071 MenhirLib.EngineTypes.next = _menhir_stack;
2072 });
2073 (fun _menhir_env ->
2074 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2075 let {
2076 MenhirLib.EngineTypes.semv = _3;
2077 MenhirLib.EngineTypes.startp = _startpos__3_;
2078 MenhirLib.EngineTypes.endp = _endpos__3_;
2079 MenhirLib.EngineTypes.next = {
2080 MenhirLib.EngineTypes.semv = _2;
2081 MenhirLib.EngineTypes.startp = _startpos__2_;
2082 MenhirLib.EngineTypes.endp = _endpos__2_;
2083 MenhirLib.EngineTypes.next = {
2084 MenhirLib.EngineTypes.state = _menhir_s;
2085 MenhirLib.EngineTypes.semv = _1;
2086 MenhirLib.EngineTypes.startp = _startpos__1_;
2087 MenhirLib.EngineTypes.endp = _endpos__1_;
2088 MenhirLib.EngineTypes.next = _menhir_stack;
2089 };
2090 };
2091 } = _menhir_stack in
2092 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2093 let _2 : (
2094 # 97 "parser_cocci_menhir.mly"
2095 (Data.clt)
2096 # 2097 "parser_cocci_menhir.ml"
2097 ) = Obj.magic _2 in
2098 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2099 let _startpos = _startpos__1_ in
2100 let _endpos = _endpos__3_ in
2101 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2102 # 1341 "parser_cocci_menhir.mly"
2103 ( P.logic_op Ast.Eq _1 _2 _3 )
2104 # 2105 "parser_cocci_menhir.ml"
2105 in
2106 _menhir_env.MenhirLib.EngineTypes.stack <- {
2107 MenhirLib.EngineTypes.state = _menhir_s;
2108 MenhirLib.EngineTypes.semv = Obj.repr _v;
2109 MenhirLib.EngineTypes.startp = _startpos;
2110 MenhirLib.EngineTypes.endp = _endpos;
2111 MenhirLib.EngineTypes.next = _menhir_stack;
2112 });
2113 (fun _menhir_env ->
2114 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2115 let {
2116 MenhirLib.EngineTypes.semv = _3;
2117 MenhirLib.EngineTypes.startp = _startpos__3_;
2118 MenhirLib.EngineTypes.endp = _endpos__3_;
2119 MenhirLib.EngineTypes.next = {
2120 MenhirLib.EngineTypes.semv = _2;
2121 MenhirLib.EngineTypes.startp = _startpos__2_;
2122 MenhirLib.EngineTypes.endp = _endpos__2_;
2123 MenhirLib.EngineTypes.next = {
2124 MenhirLib.EngineTypes.state = _menhir_s;
2125 MenhirLib.EngineTypes.semv = _1;
2126 MenhirLib.EngineTypes.startp = _startpos__1_;
2127 MenhirLib.EngineTypes.endp = _endpos__1_;
2128 MenhirLib.EngineTypes.next = _menhir_stack;
2129 };
2130 };
2131 } = _menhir_stack in
2132 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2133 let _2 : (
2134 # 97 "parser_cocci_menhir.mly"
2135 (Data.clt)
2136 # 2137 "parser_cocci_menhir.ml"
2137 ) = Obj.magic _2 in
2138 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2139 let _startpos = _startpos__1_ in
2140 let _endpos = _endpos__3_ in
2141 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2142 # 1343 "parser_cocci_menhir.mly"
2143 ( P.logic_op Ast.NotEq _1 _2 _3 )
2144 # 2145 "parser_cocci_menhir.ml"
2145 in
2146 _menhir_env.MenhirLib.EngineTypes.stack <- {
2147 MenhirLib.EngineTypes.state = _menhir_s;
2148 MenhirLib.EngineTypes.semv = Obj.repr _v;
2149 MenhirLib.EngineTypes.startp = _startpos;
2150 MenhirLib.EngineTypes.endp = _endpos;
2151 MenhirLib.EngineTypes.next = _menhir_stack;
2152 });
2153 (fun _menhir_env ->
2154 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2155 let {
2156 MenhirLib.EngineTypes.semv = _3;
2157 MenhirLib.EngineTypes.startp = _startpos__3_;
2158 MenhirLib.EngineTypes.endp = _endpos__3_;
2159 MenhirLib.EngineTypes.next = {
2160 MenhirLib.EngineTypes.semv = _2;
2161 MenhirLib.EngineTypes.startp = _startpos__2_;
2162 MenhirLib.EngineTypes.endp = _endpos__2_;
2163 MenhirLib.EngineTypes.next = {
2164 MenhirLib.EngineTypes.state = _menhir_s;
2165 MenhirLib.EngineTypes.semv = _1;
2166 MenhirLib.EngineTypes.startp = _startpos__1_;
2167 MenhirLib.EngineTypes.endp = _endpos__1_;
2168 MenhirLib.EngineTypes.next = _menhir_stack;
2169 };
2170 };
2171 } = _menhir_stack in
2172 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2173 let _2 : (
2174 # 96 "parser_cocci_menhir.mly"
2175 (Data.clt)
2176 # 2177 "parser_cocci_menhir.ml"
2177 ) = Obj.magic _2 in
2178 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2179 let _startpos = _startpos__1_ in
2180 let _endpos = _endpos__3_ in
2181 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2182 # 1345 "parser_cocci_menhir.mly"
2183 ( P.arith_op Ast.And _1 _2 _3 )
2184 # 2185 "parser_cocci_menhir.ml"
2185 in
2186 _menhir_env.MenhirLib.EngineTypes.stack <- {
2187 MenhirLib.EngineTypes.state = _menhir_s;
2188 MenhirLib.EngineTypes.semv = Obj.repr _v;
2189 MenhirLib.EngineTypes.startp = _startpos;
2190 MenhirLib.EngineTypes.endp = _endpos;
2191 MenhirLib.EngineTypes.next = _menhir_stack;
2192 });
2193 (fun _menhir_env ->
2194 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2195 let {
2196 MenhirLib.EngineTypes.semv = _3;
2197 MenhirLib.EngineTypes.startp = _startpos__3_;
2198 MenhirLib.EngineTypes.endp = _endpos__3_;
2199 MenhirLib.EngineTypes.next = {
2200 MenhirLib.EngineTypes.semv = _2;
2201 MenhirLib.EngineTypes.startp = _startpos__2_;
2202 MenhirLib.EngineTypes.endp = _endpos__2_;
2203 MenhirLib.EngineTypes.next = {
2204 MenhirLib.EngineTypes.state = _menhir_s;
2205 MenhirLib.EngineTypes.semv = _1;
2206 MenhirLib.EngineTypes.startp = _startpos__1_;
2207 MenhirLib.EngineTypes.endp = _endpos__1_;
2208 MenhirLib.EngineTypes.next = _menhir_stack;
2209 };
2210 };
2211 } = _menhir_stack in
2212 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2213 let _2 : (
2214 # 94 "parser_cocci_menhir.mly"
2215 (Data.clt)
2216 # 2217 "parser_cocci_menhir.ml"
2217 ) = Obj.magic _2 in
2218 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2219 let _startpos = _startpos__1_ in
2220 let _endpos = _endpos__3_ in
2221 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2222 # 1347 "parser_cocci_menhir.mly"
2223 ( P.arith_op Ast.Or _1 _2 _3 )
2224 # 2225 "parser_cocci_menhir.ml"
2225 in
2226 _menhir_env.MenhirLib.EngineTypes.stack <- {
2227 MenhirLib.EngineTypes.state = _menhir_s;
2228 MenhirLib.EngineTypes.semv = Obj.repr _v;
2229 MenhirLib.EngineTypes.startp = _startpos;
2230 MenhirLib.EngineTypes.endp = _endpos;
2231 MenhirLib.EngineTypes.next = _menhir_stack;
2232 });
2233 (fun _menhir_env ->
2234 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2235 let {
2236 MenhirLib.EngineTypes.semv = _3;
2237 MenhirLib.EngineTypes.startp = _startpos__3_;
2238 MenhirLib.EngineTypes.endp = _endpos__3_;
2239 MenhirLib.EngineTypes.next = {
2240 MenhirLib.EngineTypes.semv = _2;
2241 MenhirLib.EngineTypes.startp = _startpos__2_;
2242 MenhirLib.EngineTypes.endp = _endpos__2_;
2243 MenhirLib.EngineTypes.next = {
2244 MenhirLib.EngineTypes.state = _menhir_s;
2245 MenhirLib.EngineTypes.semv = _1;
2246 MenhirLib.EngineTypes.startp = _startpos__1_;
2247 MenhirLib.EngineTypes.endp = _endpos__1_;
2248 MenhirLib.EngineTypes.next = _menhir_stack;
2249 };
2250 };
2251 } = _menhir_stack in
2252 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2253 let _2 : (
2254 # 95 "parser_cocci_menhir.mly"
2255 (Data.clt)
2256 # 2257 "parser_cocci_menhir.ml"
2257 ) = Obj.magic _2 in
2258 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2259 let _startpos = _startpos__1_ in
2260 let _endpos = _endpos__3_ in
2261 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2262 # 1349 "parser_cocci_menhir.mly"
2263 ( P.arith_op Ast.Xor _1 _2 _3 )
2264 # 2265 "parser_cocci_menhir.ml"
2265 in
2266 _menhir_env.MenhirLib.EngineTypes.stack <- {
2267 MenhirLib.EngineTypes.state = _menhir_s;
2268 MenhirLib.EngineTypes.semv = Obj.repr _v;
2269 MenhirLib.EngineTypes.startp = _startpos;
2270 MenhirLib.EngineTypes.endp = _endpos;
2271 MenhirLib.EngineTypes.next = _menhir_stack;
2272 });
2273 (fun _menhir_env ->
2274 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2275 let {
2276 MenhirLib.EngineTypes.semv = _3;
2277 MenhirLib.EngineTypes.startp = _startpos__3_;
2278 MenhirLib.EngineTypes.endp = _endpos__3_;
2279 MenhirLib.EngineTypes.next = {
2280 MenhirLib.EngineTypes.semv = _2;
2281 MenhirLib.EngineTypes.startp = _startpos__2_;
2282 MenhirLib.EngineTypes.endp = _endpos__2_;
2283 MenhirLib.EngineTypes.next = {
2284 MenhirLib.EngineTypes.state = _menhir_s;
2285 MenhirLib.EngineTypes.semv = _1;
2286 MenhirLib.EngineTypes.startp = _startpos__1_;
2287 MenhirLib.EngineTypes.endp = _endpos__1_;
2288 MenhirLib.EngineTypes.next = _menhir_stack;
2289 };
2290 };
2291 } = _menhir_stack in
2292 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2293 let _2 : (
2294 # 93 "parser_cocci_menhir.mly"
2295 (Data.clt)
2296 # 2297 "parser_cocci_menhir.ml"
2297 ) = Obj.magic _2 in
2298 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2299 let _startpos = _startpos__1_ in
2300 let _endpos = _endpos__3_ in
2301 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2302 # 1351 "parser_cocci_menhir.mly"
2303 ( P.logic_op Ast.AndLog _1 _2 _3 )
2304 # 2305 "parser_cocci_menhir.ml"
2305 in
2306 _menhir_env.MenhirLib.EngineTypes.stack <- {
2307 MenhirLib.EngineTypes.state = _menhir_s;
2308 MenhirLib.EngineTypes.semv = Obj.repr _v;
2309 MenhirLib.EngineTypes.startp = _startpos;
2310 MenhirLib.EngineTypes.endp = _endpos;
2311 MenhirLib.EngineTypes.next = _menhir_stack;
2312 });
2313 (fun _menhir_env ->
2314 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2315 let {
2316 MenhirLib.EngineTypes.semv = _3;
2317 MenhirLib.EngineTypes.startp = _startpos__3_;
2318 MenhirLib.EngineTypes.endp = _endpos__3_;
2319 MenhirLib.EngineTypes.next = {
2320 MenhirLib.EngineTypes.semv = _2;
2321 MenhirLib.EngineTypes.startp = _startpos__2_;
2322 MenhirLib.EngineTypes.endp = _endpos__2_;
2323 MenhirLib.EngineTypes.next = {
2324 MenhirLib.EngineTypes.state = _menhir_s;
2325 MenhirLib.EngineTypes.semv = _1;
2326 MenhirLib.EngineTypes.startp = _startpos__1_;
2327 MenhirLib.EngineTypes.endp = _endpos__1_;
2328 MenhirLib.EngineTypes.next = _menhir_stack;
2329 };
2330 };
2331 } = _menhir_stack in
2332 let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
2333 let _2 : (
2334 # 92 "parser_cocci_menhir.mly"
2335 (Data.clt)
2336 # 2337 "parser_cocci_menhir.ml"
2337 ) = Obj.magic _2 in
2338 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2339 let _startpos = _startpos__1_ in
2340 let _endpos = _endpos__3_ in
2341 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2342 # 1353 "parser_cocci_menhir.mly"
2343 ( P.logic_op Ast.OrLog _1 _2 _3 )
2344 # 2345 "parser_cocci_menhir.ml"
2345 in
2346 _menhir_env.MenhirLib.EngineTypes.stack <- {
2347 MenhirLib.EngineTypes.state = _menhir_s;
2348 MenhirLib.EngineTypes.semv = Obj.repr _v;
2349 MenhirLib.EngineTypes.startp = _startpos;
2350 MenhirLib.EngineTypes.endp = _endpos;
2351 MenhirLib.EngineTypes.next = _menhir_stack;
2352 });
2353 (fun _menhir_env ->
2354 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2355 let {
2356 MenhirLib.EngineTypes.state = _menhir_s;
2357 MenhirLib.EngineTypes.semv = _1;
2358 MenhirLib.EngineTypes.startp = _startpos__1_;
2359 MenhirLib.EngineTypes.endp = _endpos__1_;
2360 MenhirLib.EngineTypes.next = _menhir_stack;
2361 } = _menhir_stack in
2362 let _1 : 'tv_cast_expr_eexpr_invalid_ = Obj.magic _1 in
2363 let _startpos = _startpos__1_ in
2364 let _endpos = _endpos__1_ in
2365 let _v : 'tv_arith_expr_eexpr_invalid_ =
2366 # 1325 "parser_cocci_menhir.mly"
2367 ( _1 )
2368 # 2369 "parser_cocci_menhir.ml"
2369 in
2370 _menhir_env.MenhirLib.EngineTypes.stack <- {
2371 MenhirLib.EngineTypes.state = _menhir_s;
2372 MenhirLib.EngineTypes.semv = Obj.repr _v;
2373 MenhirLib.EngineTypes.startp = _startpos;
2374 MenhirLib.EngineTypes.endp = _endpos;
2375 MenhirLib.EngineTypes.next = _menhir_stack;
2376 });
2377 (fun _menhir_env ->
2378 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2379 let {
2380 MenhirLib.EngineTypes.semv = _3;
2381 MenhirLib.EngineTypes.startp = _startpos__3_;
2382 MenhirLib.EngineTypes.endp = _endpos__3_;
2383 MenhirLib.EngineTypes.next = {
2384 MenhirLib.EngineTypes.semv = _2;
2385 MenhirLib.EngineTypes.startp = _startpos__2_;
2386 MenhirLib.EngineTypes.endp = _endpos__2_;
2387 MenhirLib.EngineTypes.next = {
2388 MenhirLib.EngineTypes.state = _menhir_s;
2389 MenhirLib.EngineTypes.semv = _1;
2390 MenhirLib.EngineTypes.startp = _startpos__1_;
2391 MenhirLib.EngineTypes.endp = _endpos__1_;
2392 MenhirLib.EngineTypes.next = _menhir_stack;
2393 };
2394 };
2395 } = _menhir_stack in
2396 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2397 let _2 : (
2398 # 102 "parser_cocci_menhir.mly"
2399 (Data.clt)
2400 # 2401 "parser_cocci_menhir.ml"
2401 ) = Obj.magic _2 in
2402 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2403 let _startpos = _startpos__1_ in
2404 let _endpos = _endpos__3_ in
2405 let _v : 'tv_arith_expr_eexpr_invalid_ =
2406 # 1327 "parser_cocci_menhir.mly"
2407 ( P.arith_op Ast.Mul _1 _2 _3 )
2408 # 2409 "parser_cocci_menhir.ml"
2409 in
2410 _menhir_env.MenhirLib.EngineTypes.stack <- {
2411 MenhirLib.EngineTypes.state = _menhir_s;
2412 MenhirLib.EngineTypes.semv = Obj.repr _v;
2413 MenhirLib.EngineTypes.startp = _startpos;
2414 MenhirLib.EngineTypes.endp = _endpos;
2415 MenhirLib.EngineTypes.next = _menhir_stack;
2416 });
2417 (fun _menhir_env ->
2418 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2419 let {
2420 MenhirLib.EngineTypes.semv = _3;
2421 MenhirLib.EngineTypes.startp = _startpos__3_;
2422 MenhirLib.EngineTypes.endp = _endpos__3_;
2423 MenhirLib.EngineTypes.next = {
2424 MenhirLib.EngineTypes.semv = _2;
2425 MenhirLib.EngineTypes.startp = _startpos__2_;
2426 MenhirLib.EngineTypes.endp = _endpos__2_;
2427 MenhirLib.EngineTypes.next = {
2428 MenhirLib.EngineTypes.state = _menhir_s;
2429 MenhirLib.EngineTypes.semv = _1;
2430 MenhirLib.EngineTypes.startp = _startpos__1_;
2431 MenhirLib.EngineTypes.endp = _endpos__1_;
2432 MenhirLib.EngineTypes.next = _menhir_stack;
2433 };
2434 };
2435 } = _menhir_stack in
2436 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2437 let _2 : (
2438 # 100 "parser_cocci_menhir.mly"
2439 (Ast_cocci.arithOp * Data.clt)
2440 # 2441 "parser_cocci_menhir.ml"
2441 ) = Obj.magic _2 in
2442 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2443 let _startpos = _startpos__1_ in
2444 let _endpos = _endpos__3_ in
2445 let _v : 'tv_arith_expr_eexpr_invalid_ =
2446 # 1329 "parser_cocci_menhir.mly"
2447 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2448 # 2449 "parser_cocci_menhir.ml"
2449 in
2450 _menhir_env.MenhirLib.EngineTypes.stack <- {
2451 MenhirLib.EngineTypes.state = _menhir_s;
2452 MenhirLib.EngineTypes.semv = Obj.repr _v;
2453 MenhirLib.EngineTypes.startp = _startpos;
2454 MenhirLib.EngineTypes.endp = _endpos;
2455 MenhirLib.EngineTypes.next = _menhir_stack;
2456 });
2457 (fun _menhir_env ->
2458 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2459 let {
2460 MenhirLib.EngineTypes.semv = _3;
2461 MenhirLib.EngineTypes.startp = _startpos__3_;
2462 MenhirLib.EngineTypes.endp = _endpos__3_;
2463 MenhirLib.EngineTypes.next = {
2464 MenhirLib.EngineTypes.semv = _2;
2465 MenhirLib.EngineTypes.startp = _startpos__2_;
2466 MenhirLib.EngineTypes.endp = _endpos__2_;
2467 MenhirLib.EngineTypes.next = {
2468 MenhirLib.EngineTypes.state = _menhir_s;
2469 MenhirLib.EngineTypes.semv = _1;
2470 MenhirLib.EngineTypes.startp = _startpos__1_;
2471 MenhirLib.EngineTypes.endp = _endpos__1_;
2472 MenhirLib.EngineTypes.next = _menhir_stack;
2473 };
2474 };
2475 } = _menhir_stack in
2476 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2477 let _2 : (
2478 # 101 "parser_cocci_menhir.mly"
2479 (Data.clt)
2480 # 2481 "parser_cocci_menhir.ml"
2481 ) = Obj.magic _2 in
2482 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2483 let _startpos = _startpos__1_ in
2484 let _endpos = _endpos__3_ in
2485 let _v : 'tv_arith_expr_eexpr_invalid_ =
2486 # 1331 "parser_cocci_menhir.mly"
2487 ( P.arith_op Ast.Plus _1 _2 _3 )
2488 # 2489 "parser_cocci_menhir.ml"
2489 in
2490 _menhir_env.MenhirLib.EngineTypes.stack <- {
2491 MenhirLib.EngineTypes.state = _menhir_s;
2492 MenhirLib.EngineTypes.semv = Obj.repr _v;
2493 MenhirLib.EngineTypes.startp = _startpos;
2494 MenhirLib.EngineTypes.endp = _endpos;
2495 MenhirLib.EngineTypes.next = _menhir_stack;
2496 });
2497 (fun _menhir_env ->
2498 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2499 let {
2500 MenhirLib.EngineTypes.semv = _3;
2501 MenhirLib.EngineTypes.startp = _startpos__3_;
2502 MenhirLib.EngineTypes.endp = _endpos__3_;
2503 MenhirLib.EngineTypes.next = {
2504 MenhirLib.EngineTypes.semv = _2;
2505 MenhirLib.EngineTypes.startp = _startpos__2_;
2506 MenhirLib.EngineTypes.endp = _endpos__2_;
2507 MenhirLib.EngineTypes.next = {
2508 MenhirLib.EngineTypes.state = _menhir_s;
2509 MenhirLib.EngineTypes.semv = _1;
2510 MenhirLib.EngineTypes.startp = _startpos__1_;
2511 MenhirLib.EngineTypes.endp = _endpos__1_;
2512 MenhirLib.EngineTypes.next = _menhir_stack;
2513 };
2514 };
2515 } = _menhir_stack in
2516 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2517 let _2 : (
2518 # 101 "parser_cocci_menhir.mly"
2519 (Data.clt)
2520 # 2521 "parser_cocci_menhir.ml"
2521 ) = Obj.magic _2 in
2522 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2523 let _startpos = _startpos__1_ in
2524 let _endpos = _endpos__3_ in
2525 let _v : 'tv_arith_expr_eexpr_invalid_ =
2526 # 1333 "parser_cocci_menhir.mly"
2527 ( P.arith_op Ast.Minus _1 _2 _3 )
2528 # 2529 "parser_cocci_menhir.ml"
2529 in
2530 _menhir_env.MenhirLib.EngineTypes.stack <- {
2531 MenhirLib.EngineTypes.state = _menhir_s;
2532 MenhirLib.EngineTypes.semv = Obj.repr _v;
2533 MenhirLib.EngineTypes.startp = _startpos;
2534 MenhirLib.EngineTypes.endp = _endpos;
2535 MenhirLib.EngineTypes.next = _menhir_stack;
2536 });
2537 (fun _menhir_env ->
2538 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2539 let {
2540 MenhirLib.EngineTypes.semv = _3;
2541 MenhirLib.EngineTypes.startp = _startpos__3_;
2542 MenhirLib.EngineTypes.endp = _endpos__3_;
2543 MenhirLib.EngineTypes.next = {
2544 MenhirLib.EngineTypes.semv = _2;
2545 MenhirLib.EngineTypes.startp = _startpos__2_;
2546 MenhirLib.EngineTypes.endp = _endpos__2_;
2547 MenhirLib.EngineTypes.next = {
2548 MenhirLib.EngineTypes.state = _menhir_s;
2549 MenhirLib.EngineTypes.semv = _1;
2550 MenhirLib.EngineTypes.startp = _startpos__1_;
2551 MenhirLib.EngineTypes.endp = _endpos__1_;
2552 MenhirLib.EngineTypes.next = _menhir_stack;
2553 };
2554 };
2555 } = _menhir_stack in
2556 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2557 let _2 : (
2558 # 99 "parser_cocci_menhir.mly"
2559 (Ast_cocci.arithOp * Data.clt)
2560 # 2561 "parser_cocci_menhir.ml"
2561 ) = Obj.magic _2 in
2562 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2563 let _startpos = _startpos__1_ in
2564 let _endpos = _endpos__3_ in
2565 let _v : 'tv_arith_expr_eexpr_invalid_ =
2566 # 1335 "parser_cocci_menhir.mly"
2567 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2568 # 2569 "parser_cocci_menhir.ml"
2569 in
2570 _menhir_env.MenhirLib.EngineTypes.stack <- {
2571 MenhirLib.EngineTypes.state = _menhir_s;
2572 MenhirLib.EngineTypes.semv = Obj.repr _v;
2573 MenhirLib.EngineTypes.startp = _startpos;
2574 MenhirLib.EngineTypes.endp = _endpos;
2575 MenhirLib.EngineTypes.next = _menhir_stack;
2576 });
2577 (fun _menhir_env ->
2578 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2579 let {
2580 MenhirLib.EngineTypes.semv = _3;
2581 MenhirLib.EngineTypes.startp = _startpos__3_;
2582 MenhirLib.EngineTypes.endp = _endpos__3_;
2583 MenhirLib.EngineTypes.next = {
2584 MenhirLib.EngineTypes.semv = _2;
2585 MenhirLib.EngineTypes.startp = _startpos__2_;
2586 MenhirLib.EngineTypes.endp = _endpos__2_;
2587 MenhirLib.EngineTypes.next = {
2588 MenhirLib.EngineTypes.state = _menhir_s;
2589 MenhirLib.EngineTypes.semv = _1;
2590 MenhirLib.EngineTypes.startp = _startpos__1_;
2591 MenhirLib.EngineTypes.endp = _endpos__1_;
2592 MenhirLib.EngineTypes.next = _menhir_stack;
2593 };
2594 };
2595 } = _menhir_stack in
2596 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2597 let _2 : (
2598 # 99 "parser_cocci_menhir.mly"
2599 (Ast_cocci.arithOp * Data.clt)
2600 # 2601 "parser_cocci_menhir.ml"
2601 ) = Obj.magic _2 in
2602 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2603 let _startpos = _startpos__1_ in
2604 let _endpos = _endpos__3_ in
2605 let _v : 'tv_arith_expr_eexpr_invalid_ =
2606 # 1337 "parser_cocci_menhir.mly"
2607 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2608 # 2609 "parser_cocci_menhir.ml"
2609 in
2610 _menhir_env.MenhirLib.EngineTypes.stack <- {
2611 MenhirLib.EngineTypes.state = _menhir_s;
2612 MenhirLib.EngineTypes.semv = Obj.repr _v;
2613 MenhirLib.EngineTypes.startp = _startpos;
2614 MenhirLib.EngineTypes.endp = _endpos;
2615 MenhirLib.EngineTypes.next = _menhir_stack;
2616 });
2617 (fun _menhir_env ->
2618 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2619 let {
2620 MenhirLib.EngineTypes.semv = _3;
2621 MenhirLib.EngineTypes.startp = _startpos__3_;
2622 MenhirLib.EngineTypes.endp = _endpos__3_;
2623 MenhirLib.EngineTypes.next = {
2624 MenhirLib.EngineTypes.semv = _2;
2625 MenhirLib.EngineTypes.startp = _startpos__2_;
2626 MenhirLib.EngineTypes.endp = _endpos__2_;
2627 MenhirLib.EngineTypes.next = {
2628 MenhirLib.EngineTypes.state = _menhir_s;
2629 MenhirLib.EngineTypes.semv = _1;
2630 MenhirLib.EngineTypes.startp = _startpos__1_;
2631 MenhirLib.EngineTypes.endp = _endpos__1_;
2632 MenhirLib.EngineTypes.next = _menhir_stack;
2633 };
2634 };
2635 } = _menhir_stack in
2636 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2637 let _2 : (
2638 # 98 "parser_cocci_menhir.mly"
2639 (Ast_cocci.logicalOp * Data.clt)
2640 # 2641 "parser_cocci_menhir.ml"
2641 ) = Obj.magic _2 in
2642 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2643 let _startpos = _startpos__1_ in
2644 let _endpos = _endpos__3_ in
2645 let _v : 'tv_arith_expr_eexpr_invalid_ =
2646 # 1339 "parser_cocci_menhir.mly"
2647 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
2648 # 2649 "parser_cocci_menhir.ml"
2649 in
2650 _menhir_env.MenhirLib.EngineTypes.stack <- {
2651 MenhirLib.EngineTypes.state = _menhir_s;
2652 MenhirLib.EngineTypes.semv = Obj.repr _v;
2653 MenhirLib.EngineTypes.startp = _startpos;
2654 MenhirLib.EngineTypes.endp = _endpos;
2655 MenhirLib.EngineTypes.next = _menhir_stack;
2656 });
2657 (fun _menhir_env ->
2658 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2659 let {
2660 MenhirLib.EngineTypes.semv = _3;
2661 MenhirLib.EngineTypes.startp = _startpos__3_;
2662 MenhirLib.EngineTypes.endp = _endpos__3_;
2663 MenhirLib.EngineTypes.next = {
2664 MenhirLib.EngineTypes.semv = _2;
2665 MenhirLib.EngineTypes.startp = _startpos__2_;
2666 MenhirLib.EngineTypes.endp = _endpos__2_;
2667 MenhirLib.EngineTypes.next = {
2668 MenhirLib.EngineTypes.state = _menhir_s;
2669 MenhirLib.EngineTypes.semv = _1;
2670 MenhirLib.EngineTypes.startp = _startpos__1_;
2671 MenhirLib.EngineTypes.endp = _endpos__1_;
2672 MenhirLib.EngineTypes.next = _menhir_stack;
2673 };
2674 };
2675 } = _menhir_stack in
2676 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2677 let _2 : (
2678 # 97 "parser_cocci_menhir.mly"
2679 (Data.clt)
2680 # 2681 "parser_cocci_menhir.ml"
2681 ) = Obj.magic _2 in
2682 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2683 let _startpos = _startpos__1_ in
2684 let _endpos = _endpos__3_ in
2685 let _v : 'tv_arith_expr_eexpr_invalid_ =
2686 # 1341 "parser_cocci_menhir.mly"
2687 ( P.logic_op Ast.Eq _1 _2 _3 )
2688 # 2689 "parser_cocci_menhir.ml"
2689 in
2690 _menhir_env.MenhirLib.EngineTypes.stack <- {
2691 MenhirLib.EngineTypes.state = _menhir_s;
2692 MenhirLib.EngineTypes.semv = Obj.repr _v;
2693 MenhirLib.EngineTypes.startp = _startpos;
2694 MenhirLib.EngineTypes.endp = _endpos;
2695 MenhirLib.EngineTypes.next = _menhir_stack;
2696 });
2697 (fun _menhir_env ->
2698 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2699 let {
2700 MenhirLib.EngineTypes.semv = _3;
2701 MenhirLib.EngineTypes.startp = _startpos__3_;
2702 MenhirLib.EngineTypes.endp = _endpos__3_;
2703 MenhirLib.EngineTypes.next = {
2704 MenhirLib.EngineTypes.semv = _2;
2705 MenhirLib.EngineTypes.startp = _startpos__2_;
2706 MenhirLib.EngineTypes.endp = _endpos__2_;
2707 MenhirLib.EngineTypes.next = {
2708 MenhirLib.EngineTypes.state = _menhir_s;
2709 MenhirLib.EngineTypes.semv = _1;
2710 MenhirLib.EngineTypes.startp = _startpos__1_;
2711 MenhirLib.EngineTypes.endp = _endpos__1_;
2712 MenhirLib.EngineTypes.next = _menhir_stack;
2713 };
2714 };
2715 } = _menhir_stack in
2716 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2717 let _2 : (
2718 # 97 "parser_cocci_menhir.mly"
2719 (Data.clt)
2720 # 2721 "parser_cocci_menhir.ml"
2721 ) = Obj.magic _2 in
2722 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2723 let _startpos = _startpos__1_ in
2724 let _endpos = _endpos__3_ in
2725 let _v : 'tv_arith_expr_eexpr_invalid_ =
2726 # 1343 "parser_cocci_menhir.mly"
2727 ( P.logic_op Ast.NotEq _1 _2 _3 )
2728 # 2729 "parser_cocci_menhir.ml"
2729 in
2730 _menhir_env.MenhirLib.EngineTypes.stack <- {
2731 MenhirLib.EngineTypes.state = _menhir_s;
2732 MenhirLib.EngineTypes.semv = Obj.repr _v;
2733 MenhirLib.EngineTypes.startp = _startpos;
2734 MenhirLib.EngineTypes.endp = _endpos;
2735 MenhirLib.EngineTypes.next = _menhir_stack;
2736 });
2737 (fun _menhir_env ->
2738 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2739 let {
2740 MenhirLib.EngineTypes.semv = _3;
2741 MenhirLib.EngineTypes.startp = _startpos__3_;
2742 MenhirLib.EngineTypes.endp = _endpos__3_;
2743 MenhirLib.EngineTypes.next = {
2744 MenhirLib.EngineTypes.semv = _2;
2745 MenhirLib.EngineTypes.startp = _startpos__2_;
2746 MenhirLib.EngineTypes.endp = _endpos__2_;
2747 MenhirLib.EngineTypes.next = {
2748 MenhirLib.EngineTypes.state = _menhir_s;
2749 MenhirLib.EngineTypes.semv = _1;
2750 MenhirLib.EngineTypes.startp = _startpos__1_;
2751 MenhirLib.EngineTypes.endp = _endpos__1_;
2752 MenhirLib.EngineTypes.next = _menhir_stack;
2753 };
2754 };
2755 } = _menhir_stack in
2756 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2757 let _2 : (
2758 # 96 "parser_cocci_menhir.mly"
2759 (Data.clt)
2760 # 2761 "parser_cocci_menhir.ml"
2761 ) = Obj.magic _2 in
2762 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2763 let _startpos = _startpos__1_ in
2764 let _endpos = _endpos__3_ in
2765 let _v : 'tv_arith_expr_eexpr_invalid_ =
2766 # 1345 "parser_cocci_menhir.mly"
2767 ( P.arith_op Ast.And _1 _2 _3 )
2768 # 2769 "parser_cocci_menhir.ml"
2769 in
2770 _menhir_env.MenhirLib.EngineTypes.stack <- {
2771 MenhirLib.EngineTypes.state = _menhir_s;
2772 MenhirLib.EngineTypes.semv = Obj.repr _v;
2773 MenhirLib.EngineTypes.startp = _startpos;
2774 MenhirLib.EngineTypes.endp = _endpos;
2775 MenhirLib.EngineTypes.next = _menhir_stack;
2776 });
2777 (fun _menhir_env ->
2778 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2779 let {
2780 MenhirLib.EngineTypes.semv = _3;
2781 MenhirLib.EngineTypes.startp = _startpos__3_;
2782 MenhirLib.EngineTypes.endp = _endpos__3_;
2783 MenhirLib.EngineTypes.next = {
2784 MenhirLib.EngineTypes.semv = _2;
2785 MenhirLib.EngineTypes.startp = _startpos__2_;
2786 MenhirLib.EngineTypes.endp = _endpos__2_;
2787 MenhirLib.EngineTypes.next = {
2788 MenhirLib.EngineTypes.state = _menhir_s;
2789 MenhirLib.EngineTypes.semv = _1;
2790 MenhirLib.EngineTypes.startp = _startpos__1_;
2791 MenhirLib.EngineTypes.endp = _endpos__1_;
2792 MenhirLib.EngineTypes.next = _menhir_stack;
2793 };
2794 };
2795 } = _menhir_stack in
2796 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2797 let _2 : (
2798 # 94 "parser_cocci_menhir.mly"
2799 (Data.clt)
2800 # 2801 "parser_cocci_menhir.ml"
2801 ) = Obj.magic _2 in
2802 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2803 let _startpos = _startpos__1_ in
2804 let _endpos = _endpos__3_ in
2805 let _v : 'tv_arith_expr_eexpr_invalid_ =
2806 # 1347 "parser_cocci_menhir.mly"
2807 ( P.arith_op Ast.Or _1 _2 _3 )
2808 # 2809 "parser_cocci_menhir.ml"
2809 in
2810 _menhir_env.MenhirLib.EngineTypes.stack <- {
2811 MenhirLib.EngineTypes.state = _menhir_s;
2812 MenhirLib.EngineTypes.semv = Obj.repr _v;
2813 MenhirLib.EngineTypes.startp = _startpos;
2814 MenhirLib.EngineTypes.endp = _endpos;
2815 MenhirLib.EngineTypes.next = _menhir_stack;
2816 });
2817 (fun _menhir_env ->
2818 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2819 let {
2820 MenhirLib.EngineTypes.semv = _3;
2821 MenhirLib.EngineTypes.startp = _startpos__3_;
2822 MenhirLib.EngineTypes.endp = _endpos__3_;
2823 MenhirLib.EngineTypes.next = {
2824 MenhirLib.EngineTypes.semv = _2;
2825 MenhirLib.EngineTypes.startp = _startpos__2_;
2826 MenhirLib.EngineTypes.endp = _endpos__2_;
2827 MenhirLib.EngineTypes.next = {
2828 MenhirLib.EngineTypes.state = _menhir_s;
2829 MenhirLib.EngineTypes.semv = _1;
2830 MenhirLib.EngineTypes.startp = _startpos__1_;
2831 MenhirLib.EngineTypes.endp = _endpos__1_;
2832 MenhirLib.EngineTypes.next = _menhir_stack;
2833 };
2834 };
2835 } = _menhir_stack in
2836 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2837 let _2 : (
2838 # 95 "parser_cocci_menhir.mly"
2839 (Data.clt)
2840 # 2841 "parser_cocci_menhir.ml"
2841 ) = Obj.magic _2 in
2842 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2843 let _startpos = _startpos__1_ in
2844 let _endpos = _endpos__3_ in
2845 let _v : 'tv_arith_expr_eexpr_invalid_ =
2846 # 1349 "parser_cocci_menhir.mly"
2847 ( P.arith_op Ast.Xor _1 _2 _3 )
2848 # 2849 "parser_cocci_menhir.ml"
2849 in
2850 _menhir_env.MenhirLib.EngineTypes.stack <- {
2851 MenhirLib.EngineTypes.state = _menhir_s;
2852 MenhirLib.EngineTypes.semv = Obj.repr _v;
2853 MenhirLib.EngineTypes.startp = _startpos;
2854 MenhirLib.EngineTypes.endp = _endpos;
2855 MenhirLib.EngineTypes.next = _menhir_stack;
2856 });
2857 (fun _menhir_env ->
2858 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2859 let {
2860 MenhirLib.EngineTypes.semv = _3;
2861 MenhirLib.EngineTypes.startp = _startpos__3_;
2862 MenhirLib.EngineTypes.endp = _endpos__3_;
2863 MenhirLib.EngineTypes.next = {
2864 MenhirLib.EngineTypes.semv = _2;
2865 MenhirLib.EngineTypes.startp = _startpos__2_;
2866 MenhirLib.EngineTypes.endp = _endpos__2_;
2867 MenhirLib.EngineTypes.next = {
2868 MenhirLib.EngineTypes.state = _menhir_s;
2869 MenhirLib.EngineTypes.semv = _1;
2870 MenhirLib.EngineTypes.startp = _startpos__1_;
2871 MenhirLib.EngineTypes.endp = _endpos__1_;
2872 MenhirLib.EngineTypes.next = _menhir_stack;
2873 };
2874 };
2875 } = _menhir_stack in
2876 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2877 let _2 : (
2878 # 93 "parser_cocci_menhir.mly"
2879 (Data.clt)
2880 # 2881 "parser_cocci_menhir.ml"
2881 ) = Obj.magic _2 in
2882 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2883 let _startpos = _startpos__1_ in
2884 let _endpos = _endpos__3_ in
2885 let _v : 'tv_arith_expr_eexpr_invalid_ =
2886 # 1351 "parser_cocci_menhir.mly"
2887 ( P.logic_op Ast.AndLog _1 _2 _3 )
2888 # 2889 "parser_cocci_menhir.ml"
2889 in
2890 _menhir_env.MenhirLib.EngineTypes.stack <- {
2891 MenhirLib.EngineTypes.state = _menhir_s;
2892 MenhirLib.EngineTypes.semv = Obj.repr _v;
2893 MenhirLib.EngineTypes.startp = _startpos;
2894 MenhirLib.EngineTypes.endp = _endpos;
2895 MenhirLib.EngineTypes.next = _menhir_stack;
2896 });
2897 (fun _menhir_env ->
2898 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2899 let {
2900 MenhirLib.EngineTypes.semv = _3;
2901 MenhirLib.EngineTypes.startp = _startpos__3_;
2902 MenhirLib.EngineTypes.endp = _endpos__3_;
2903 MenhirLib.EngineTypes.next = {
2904 MenhirLib.EngineTypes.semv = _2;
2905 MenhirLib.EngineTypes.startp = _startpos__2_;
2906 MenhirLib.EngineTypes.endp = _endpos__2_;
2907 MenhirLib.EngineTypes.next = {
2908 MenhirLib.EngineTypes.state = _menhir_s;
2909 MenhirLib.EngineTypes.semv = _1;
2910 MenhirLib.EngineTypes.startp = _startpos__1_;
2911 MenhirLib.EngineTypes.endp = _endpos__1_;
2912 MenhirLib.EngineTypes.next = _menhir_stack;
2913 };
2914 };
2915 } = _menhir_stack in
2916 let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
2917 let _2 : (
2918 # 92 "parser_cocci_menhir.mly"
2919 (Data.clt)
2920 # 2921 "parser_cocci_menhir.ml"
2921 ) = Obj.magic _2 in
2922 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2923 let _startpos = _startpos__1_ in
2924 let _endpos = _endpos__3_ in
2925 let _v : 'tv_arith_expr_eexpr_invalid_ =
2926 # 1353 "parser_cocci_menhir.mly"
2927 ( P.logic_op Ast.OrLog _1 _2 _3 )
2928 # 2929 "parser_cocci_menhir.ml"
2929 in
2930 _menhir_env.MenhirLib.EngineTypes.stack <- {
2931 MenhirLib.EngineTypes.state = _menhir_s;
2932 MenhirLib.EngineTypes.semv = Obj.repr _v;
2933 MenhirLib.EngineTypes.startp = _startpos;
2934 MenhirLib.EngineTypes.endp = _endpos;
2935 MenhirLib.EngineTypes.next = _menhir_stack;
2936 });
2937 (fun _menhir_env ->
2938 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2939 let {
2940 MenhirLib.EngineTypes.state = _menhir_s;
2941 MenhirLib.EngineTypes.semv = _1;
2942 MenhirLib.EngineTypes.startp = _startpos__1_;
2943 MenhirLib.EngineTypes.endp = _endpos__1_;
2944 MenhirLib.EngineTypes.next = _menhir_stack;
2945 } = _menhir_stack in
2946 let _1 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2947 let _startpos = _startpos__1_ in
2948 let _endpos = _endpos__1_ in
2949 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2950 # 1325 "parser_cocci_menhir.mly"
2951 ( _1 )
2952 # 2953 "parser_cocci_menhir.ml"
2953 in
2954 _menhir_env.MenhirLib.EngineTypes.stack <- {
2955 MenhirLib.EngineTypes.state = _menhir_s;
2956 MenhirLib.EngineTypes.semv = Obj.repr _v;
2957 MenhirLib.EngineTypes.startp = _startpos;
2958 MenhirLib.EngineTypes.endp = _endpos;
2959 MenhirLib.EngineTypes.next = _menhir_stack;
2960 });
2961 (fun _menhir_env ->
2962 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2963 let {
2964 MenhirLib.EngineTypes.semv = _3;
2965 MenhirLib.EngineTypes.startp = _startpos__3_;
2966 MenhirLib.EngineTypes.endp = _endpos__3_;
2967 MenhirLib.EngineTypes.next = {
2968 MenhirLib.EngineTypes.semv = _2;
2969 MenhirLib.EngineTypes.startp = _startpos__2_;
2970 MenhirLib.EngineTypes.endp = _endpos__2_;
2971 MenhirLib.EngineTypes.next = {
2972 MenhirLib.EngineTypes.state = _menhir_s;
2973 MenhirLib.EngineTypes.semv = _1;
2974 MenhirLib.EngineTypes.startp = _startpos__1_;
2975 MenhirLib.EngineTypes.endp = _endpos__1_;
2976 MenhirLib.EngineTypes.next = _menhir_stack;
2977 };
2978 };
2979 } = _menhir_stack in
2980 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
2981 let _2 : (
2982 # 102 "parser_cocci_menhir.mly"
2983 (Data.clt)
2984 # 2985 "parser_cocci_menhir.ml"
2985 ) = Obj.magic _2 in
2986 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2987 let _startpos = _startpos__1_ in
2988 let _endpos = _endpos__3_ in
2989 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2990 # 1327 "parser_cocci_menhir.mly"
2991 ( P.arith_op Ast.Mul _1 _2 _3 )
2992 # 2993 "parser_cocci_menhir.ml"
2993 in
2994 _menhir_env.MenhirLib.EngineTypes.stack <- {
2995 MenhirLib.EngineTypes.state = _menhir_s;
2996 MenhirLib.EngineTypes.semv = Obj.repr _v;
2997 MenhirLib.EngineTypes.startp = _startpos;
2998 MenhirLib.EngineTypes.endp = _endpos;
2999 MenhirLib.EngineTypes.next = _menhir_stack;
3000 });
3001 (fun _menhir_env ->
3002 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3003 let {
3004 MenhirLib.EngineTypes.semv = _3;
3005 MenhirLib.EngineTypes.startp = _startpos__3_;
3006 MenhirLib.EngineTypes.endp = _endpos__3_;
3007 MenhirLib.EngineTypes.next = {
3008 MenhirLib.EngineTypes.semv = _2;
3009 MenhirLib.EngineTypes.startp = _startpos__2_;
3010 MenhirLib.EngineTypes.endp = _endpos__2_;
3011 MenhirLib.EngineTypes.next = {
3012 MenhirLib.EngineTypes.state = _menhir_s;
3013 MenhirLib.EngineTypes.semv = _1;
3014 MenhirLib.EngineTypes.startp = _startpos__1_;
3015 MenhirLib.EngineTypes.endp = _endpos__1_;
3016 MenhirLib.EngineTypes.next = _menhir_stack;
3017 };
3018 };
3019 } = _menhir_stack in
3020 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3021 let _2 : (
3022 # 100 "parser_cocci_menhir.mly"
3023 (Ast_cocci.arithOp * Data.clt)
3024 # 3025 "parser_cocci_menhir.ml"
3025 ) = Obj.magic _2 in
3026 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3027 let _startpos = _startpos__1_ in
3028 let _endpos = _endpos__3_ in
3029 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3030 # 1329 "parser_cocci_menhir.mly"
3031 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3032 # 3033 "parser_cocci_menhir.ml"
3033 in
3034 _menhir_env.MenhirLib.EngineTypes.stack <- {
3035 MenhirLib.EngineTypes.state = _menhir_s;
3036 MenhirLib.EngineTypes.semv = Obj.repr _v;
3037 MenhirLib.EngineTypes.startp = _startpos;
3038 MenhirLib.EngineTypes.endp = _endpos;
3039 MenhirLib.EngineTypes.next = _menhir_stack;
3040 });
3041 (fun _menhir_env ->
3042 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3043 let {
3044 MenhirLib.EngineTypes.semv = _3;
3045 MenhirLib.EngineTypes.startp = _startpos__3_;
3046 MenhirLib.EngineTypes.endp = _endpos__3_;
3047 MenhirLib.EngineTypes.next = {
3048 MenhirLib.EngineTypes.semv = _2;
3049 MenhirLib.EngineTypes.startp = _startpos__2_;
3050 MenhirLib.EngineTypes.endp = _endpos__2_;
3051 MenhirLib.EngineTypes.next = {
3052 MenhirLib.EngineTypes.state = _menhir_s;
3053 MenhirLib.EngineTypes.semv = _1;
3054 MenhirLib.EngineTypes.startp = _startpos__1_;
3055 MenhirLib.EngineTypes.endp = _endpos__1_;
3056 MenhirLib.EngineTypes.next = _menhir_stack;
3057 };
3058 };
3059 } = _menhir_stack in
3060 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3061 let _2 : (
3062 # 101 "parser_cocci_menhir.mly"
3063 (Data.clt)
3064 # 3065 "parser_cocci_menhir.ml"
3065 ) = Obj.magic _2 in
3066 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3067 let _startpos = _startpos__1_ in
3068 let _endpos = _endpos__3_ in
3069 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3070 # 1331 "parser_cocci_menhir.mly"
3071 ( P.arith_op Ast.Plus _1 _2 _3 )
3072 # 3073 "parser_cocci_menhir.ml"
3073 in
3074 _menhir_env.MenhirLib.EngineTypes.stack <- {
3075 MenhirLib.EngineTypes.state = _menhir_s;
3076 MenhirLib.EngineTypes.semv = Obj.repr _v;
3077 MenhirLib.EngineTypes.startp = _startpos;
3078 MenhirLib.EngineTypes.endp = _endpos;
3079 MenhirLib.EngineTypes.next = _menhir_stack;
3080 });
3081 (fun _menhir_env ->
3082 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3083 let {
3084 MenhirLib.EngineTypes.semv = _3;
3085 MenhirLib.EngineTypes.startp = _startpos__3_;
3086 MenhirLib.EngineTypes.endp = _endpos__3_;
3087 MenhirLib.EngineTypes.next = {
3088 MenhirLib.EngineTypes.semv = _2;
3089 MenhirLib.EngineTypes.startp = _startpos__2_;
3090 MenhirLib.EngineTypes.endp = _endpos__2_;
3091 MenhirLib.EngineTypes.next = {
3092 MenhirLib.EngineTypes.state = _menhir_s;
3093 MenhirLib.EngineTypes.semv = _1;
3094 MenhirLib.EngineTypes.startp = _startpos__1_;
3095 MenhirLib.EngineTypes.endp = _endpos__1_;
3096 MenhirLib.EngineTypes.next = _menhir_stack;
3097 };
3098 };
3099 } = _menhir_stack in
3100 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3101 let _2 : (
3102 # 101 "parser_cocci_menhir.mly"
3103 (Data.clt)
3104 # 3105 "parser_cocci_menhir.ml"
3105 ) = Obj.magic _2 in
3106 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3107 let _startpos = _startpos__1_ in
3108 let _endpos = _endpos__3_ in
3109 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3110 # 1333 "parser_cocci_menhir.mly"
3111 ( P.arith_op Ast.Minus _1 _2 _3 )
3112 # 3113 "parser_cocci_menhir.ml"
3113 in
3114 _menhir_env.MenhirLib.EngineTypes.stack <- {
3115 MenhirLib.EngineTypes.state = _menhir_s;
3116 MenhirLib.EngineTypes.semv = Obj.repr _v;
3117 MenhirLib.EngineTypes.startp = _startpos;
3118 MenhirLib.EngineTypes.endp = _endpos;
3119 MenhirLib.EngineTypes.next = _menhir_stack;
3120 });
3121 (fun _menhir_env ->
3122 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3123 let {
3124 MenhirLib.EngineTypes.semv = _3;
3125 MenhirLib.EngineTypes.startp = _startpos__3_;
3126 MenhirLib.EngineTypes.endp = _endpos__3_;
3127 MenhirLib.EngineTypes.next = {
3128 MenhirLib.EngineTypes.semv = _2;
3129 MenhirLib.EngineTypes.startp = _startpos__2_;
3130 MenhirLib.EngineTypes.endp = _endpos__2_;
3131 MenhirLib.EngineTypes.next = {
3132 MenhirLib.EngineTypes.state = _menhir_s;
3133 MenhirLib.EngineTypes.semv = _1;
3134 MenhirLib.EngineTypes.startp = _startpos__1_;
3135 MenhirLib.EngineTypes.endp = _endpos__1_;
3136 MenhirLib.EngineTypes.next = _menhir_stack;
3137 };
3138 };
3139 } = _menhir_stack in
3140 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3141 let _2 : (
3142 # 99 "parser_cocci_menhir.mly"
3143 (Ast_cocci.arithOp * Data.clt)
3144 # 3145 "parser_cocci_menhir.ml"
3145 ) = Obj.magic _2 in
3146 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3147 let _startpos = _startpos__1_ in
3148 let _endpos = _endpos__3_ in
3149 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3150 # 1335 "parser_cocci_menhir.mly"
3151 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3152 # 3153 "parser_cocci_menhir.ml"
3153 in
3154 _menhir_env.MenhirLib.EngineTypes.stack <- {
3155 MenhirLib.EngineTypes.state = _menhir_s;
3156 MenhirLib.EngineTypes.semv = Obj.repr _v;
3157 MenhirLib.EngineTypes.startp = _startpos;
3158 MenhirLib.EngineTypes.endp = _endpos;
3159 MenhirLib.EngineTypes.next = _menhir_stack;
3160 });
3161 (fun _menhir_env ->
3162 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3163 let {
3164 MenhirLib.EngineTypes.semv = _3;
3165 MenhirLib.EngineTypes.startp = _startpos__3_;
3166 MenhirLib.EngineTypes.endp = _endpos__3_;
3167 MenhirLib.EngineTypes.next = {
3168 MenhirLib.EngineTypes.semv = _2;
3169 MenhirLib.EngineTypes.startp = _startpos__2_;
3170 MenhirLib.EngineTypes.endp = _endpos__2_;
3171 MenhirLib.EngineTypes.next = {
3172 MenhirLib.EngineTypes.state = _menhir_s;
3173 MenhirLib.EngineTypes.semv = _1;
3174 MenhirLib.EngineTypes.startp = _startpos__1_;
3175 MenhirLib.EngineTypes.endp = _endpos__1_;
3176 MenhirLib.EngineTypes.next = _menhir_stack;
3177 };
3178 };
3179 } = _menhir_stack in
3180 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3181 let _2 : (
3182 # 99 "parser_cocci_menhir.mly"
3183 (Ast_cocci.arithOp * Data.clt)
3184 # 3185 "parser_cocci_menhir.ml"
3185 ) = Obj.magic _2 in
3186 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3187 let _startpos = _startpos__1_ in
3188 let _endpos = _endpos__3_ in
3189 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3190 # 1337 "parser_cocci_menhir.mly"
3191 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3192 # 3193 "parser_cocci_menhir.ml"
3193 in
3194 _menhir_env.MenhirLib.EngineTypes.stack <- {
3195 MenhirLib.EngineTypes.state = _menhir_s;
3196 MenhirLib.EngineTypes.semv = Obj.repr _v;
3197 MenhirLib.EngineTypes.startp = _startpos;
3198 MenhirLib.EngineTypes.endp = _endpos;
3199 MenhirLib.EngineTypes.next = _menhir_stack;
3200 });
3201 (fun _menhir_env ->
3202 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3203 let {
3204 MenhirLib.EngineTypes.semv = _3;
3205 MenhirLib.EngineTypes.startp = _startpos__3_;
3206 MenhirLib.EngineTypes.endp = _endpos__3_;
3207 MenhirLib.EngineTypes.next = {
3208 MenhirLib.EngineTypes.semv = _2;
3209 MenhirLib.EngineTypes.startp = _startpos__2_;
3210 MenhirLib.EngineTypes.endp = _endpos__2_;
3211 MenhirLib.EngineTypes.next = {
3212 MenhirLib.EngineTypes.state = _menhir_s;
3213 MenhirLib.EngineTypes.semv = _1;
3214 MenhirLib.EngineTypes.startp = _startpos__1_;
3215 MenhirLib.EngineTypes.endp = _endpos__1_;
3216 MenhirLib.EngineTypes.next = _menhir_stack;
3217 };
3218 };
3219 } = _menhir_stack in
3220 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3221 let _2 : (
3222 # 98 "parser_cocci_menhir.mly"
3223 (Ast_cocci.logicalOp * Data.clt)
3224 # 3225 "parser_cocci_menhir.ml"
3225 ) = Obj.magic _2 in
3226 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3227 let _startpos = _startpos__1_ in
3228 let _endpos = _endpos__3_ in
3229 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3230 # 1339 "parser_cocci_menhir.mly"
3231 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
3232 # 3233 "parser_cocci_menhir.ml"
3233 in
3234 _menhir_env.MenhirLib.EngineTypes.stack <- {
3235 MenhirLib.EngineTypes.state = _menhir_s;
3236 MenhirLib.EngineTypes.semv = Obj.repr _v;
3237 MenhirLib.EngineTypes.startp = _startpos;
3238 MenhirLib.EngineTypes.endp = _endpos;
3239 MenhirLib.EngineTypes.next = _menhir_stack;
3240 });
3241 (fun _menhir_env ->
3242 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3243 let {
3244 MenhirLib.EngineTypes.semv = _3;
3245 MenhirLib.EngineTypes.startp = _startpos__3_;
3246 MenhirLib.EngineTypes.endp = _endpos__3_;
3247 MenhirLib.EngineTypes.next = {
3248 MenhirLib.EngineTypes.semv = _2;
3249 MenhirLib.EngineTypes.startp = _startpos__2_;
3250 MenhirLib.EngineTypes.endp = _endpos__2_;
3251 MenhirLib.EngineTypes.next = {
3252 MenhirLib.EngineTypes.state = _menhir_s;
3253 MenhirLib.EngineTypes.semv = _1;
3254 MenhirLib.EngineTypes.startp = _startpos__1_;
3255 MenhirLib.EngineTypes.endp = _endpos__1_;
3256 MenhirLib.EngineTypes.next = _menhir_stack;
3257 };
3258 };
3259 } = _menhir_stack in
3260 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3261 let _2 : (
3262 # 97 "parser_cocci_menhir.mly"
3263 (Data.clt)
3264 # 3265 "parser_cocci_menhir.ml"
3265 ) = Obj.magic _2 in
3266 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3267 let _startpos = _startpos__1_ in
3268 let _endpos = _endpos__3_ in
3269 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3270 # 1341 "parser_cocci_menhir.mly"
3271 ( P.logic_op Ast.Eq _1 _2 _3 )
3272 # 3273 "parser_cocci_menhir.ml"
3273 in
3274 _menhir_env.MenhirLib.EngineTypes.stack <- {
3275 MenhirLib.EngineTypes.state = _menhir_s;
3276 MenhirLib.EngineTypes.semv = Obj.repr _v;
3277 MenhirLib.EngineTypes.startp = _startpos;
3278 MenhirLib.EngineTypes.endp = _endpos;
3279 MenhirLib.EngineTypes.next = _menhir_stack;
3280 });
3281 (fun _menhir_env ->
3282 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3283 let {
3284 MenhirLib.EngineTypes.semv = _3;
3285 MenhirLib.EngineTypes.startp = _startpos__3_;
3286 MenhirLib.EngineTypes.endp = _endpos__3_;
3287 MenhirLib.EngineTypes.next = {
3288 MenhirLib.EngineTypes.semv = _2;
3289 MenhirLib.EngineTypes.startp = _startpos__2_;
3290 MenhirLib.EngineTypes.endp = _endpos__2_;
3291 MenhirLib.EngineTypes.next = {
3292 MenhirLib.EngineTypes.state = _menhir_s;
3293 MenhirLib.EngineTypes.semv = _1;
3294 MenhirLib.EngineTypes.startp = _startpos__1_;
3295 MenhirLib.EngineTypes.endp = _endpos__1_;
3296 MenhirLib.EngineTypes.next = _menhir_stack;
3297 };
3298 };
3299 } = _menhir_stack in
3300 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3301 let _2 : (
3302 # 97 "parser_cocci_menhir.mly"
3303 (Data.clt)
3304 # 3305 "parser_cocci_menhir.ml"
3305 ) = Obj.magic _2 in
3306 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3307 let _startpos = _startpos__1_ in
3308 let _endpos = _endpos__3_ in
3309 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3310 # 1343 "parser_cocci_menhir.mly"
3311 ( P.logic_op Ast.NotEq _1 _2 _3 )
3312 # 3313 "parser_cocci_menhir.ml"
3313 in
3314 _menhir_env.MenhirLib.EngineTypes.stack <- {
3315 MenhirLib.EngineTypes.state = _menhir_s;
3316 MenhirLib.EngineTypes.semv = Obj.repr _v;
3317 MenhirLib.EngineTypes.startp = _startpos;
3318 MenhirLib.EngineTypes.endp = _endpos;
3319 MenhirLib.EngineTypes.next = _menhir_stack;
3320 });
3321 (fun _menhir_env ->
3322 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3323 let {
3324 MenhirLib.EngineTypes.semv = _3;
3325 MenhirLib.EngineTypes.startp = _startpos__3_;
3326 MenhirLib.EngineTypes.endp = _endpos__3_;
3327 MenhirLib.EngineTypes.next = {
3328 MenhirLib.EngineTypes.semv = _2;
3329 MenhirLib.EngineTypes.startp = _startpos__2_;
3330 MenhirLib.EngineTypes.endp = _endpos__2_;
3331 MenhirLib.EngineTypes.next = {
3332 MenhirLib.EngineTypes.state = _menhir_s;
3333 MenhirLib.EngineTypes.semv = _1;
3334 MenhirLib.EngineTypes.startp = _startpos__1_;
3335 MenhirLib.EngineTypes.endp = _endpos__1_;
3336 MenhirLib.EngineTypes.next = _menhir_stack;
3337 };
3338 };
3339 } = _menhir_stack in
3340 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3341 let _2 : (
3342 # 96 "parser_cocci_menhir.mly"
3343 (Data.clt)
3344 # 3345 "parser_cocci_menhir.ml"
3345 ) = Obj.magic _2 in
3346 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3347 let _startpos = _startpos__1_ in
3348 let _endpos = _endpos__3_ in
3349 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3350 # 1345 "parser_cocci_menhir.mly"
3351 ( P.arith_op Ast.And _1 _2 _3 )
3352 # 3353 "parser_cocci_menhir.ml"
3353 in
3354 _menhir_env.MenhirLib.EngineTypes.stack <- {
3355 MenhirLib.EngineTypes.state = _menhir_s;
3356 MenhirLib.EngineTypes.semv = Obj.repr _v;
3357 MenhirLib.EngineTypes.startp = _startpos;
3358 MenhirLib.EngineTypes.endp = _endpos;
3359 MenhirLib.EngineTypes.next = _menhir_stack;
3360 });
3361 (fun _menhir_env ->
3362 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3363 let {
3364 MenhirLib.EngineTypes.semv = _3;
3365 MenhirLib.EngineTypes.startp = _startpos__3_;
3366 MenhirLib.EngineTypes.endp = _endpos__3_;
3367 MenhirLib.EngineTypes.next = {
3368 MenhirLib.EngineTypes.semv = _2;
3369 MenhirLib.EngineTypes.startp = _startpos__2_;
3370 MenhirLib.EngineTypes.endp = _endpos__2_;
3371 MenhirLib.EngineTypes.next = {
3372 MenhirLib.EngineTypes.state = _menhir_s;
3373 MenhirLib.EngineTypes.semv = _1;
3374 MenhirLib.EngineTypes.startp = _startpos__1_;
3375 MenhirLib.EngineTypes.endp = _endpos__1_;
3376 MenhirLib.EngineTypes.next = _menhir_stack;
3377 };
3378 };
3379 } = _menhir_stack in
3380 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3381 let _2 : (
3382 # 94 "parser_cocci_menhir.mly"
3383 (Data.clt)
3384 # 3385 "parser_cocci_menhir.ml"
3385 ) = Obj.magic _2 in
3386 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3387 let _startpos = _startpos__1_ in
3388 let _endpos = _endpos__3_ in
3389 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3390 # 1347 "parser_cocci_menhir.mly"
3391 ( P.arith_op Ast.Or _1 _2 _3 )
3392 # 3393 "parser_cocci_menhir.ml"
3393 in
3394 _menhir_env.MenhirLib.EngineTypes.stack <- {
3395 MenhirLib.EngineTypes.state = _menhir_s;
3396 MenhirLib.EngineTypes.semv = Obj.repr _v;
3397 MenhirLib.EngineTypes.startp = _startpos;
3398 MenhirLib.EngineTypes.endp = _endpos;
3399 MenhirLib.EngineTypes.next = _menhir_stack;
3400 });
3401 (fun _menhir_env ->
3402 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3403 let {
3404 MenhirLib.EngineTypes.semv = _3;
3405 MenhirLib.EngineTypes.startp = _startpos__3_;
3406 MenhirLib.EngineTypes.endp = _endpos__3_;
3407 MenhirLib.EngineTypes.next = {
3408 MenhirLib.EngineTypes.semv = _2;
3409 MenhirLib.EngineTypes.startp = _startpos__2_;
3410 MenhirLib.EngineTypes.endp = _endpos__2_;
3411 MenhirLib.EngineTypes.next = {
3412 MenhirLib.EngineTypes.state = _menhir_s;
3413 MenhirLib.EngineTypes.semv = _1;
3414 MenhirLib.EngineTypes.startp = _startpos__1_;
3415 MenhirLib.EngineTypes.endp = _endpos__1_;
3416 MenhirLib.EngineTypes.next = _menhir_stack;
3417 };
3418 };
3419 } = _menhir_stack in
3420 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3421 let _2 : (
3422 # 95 "parser_cocci_menhir.mly"
3423 (Data.clt)
3424 # 3425 "parser_cocci_menhir.ml"
3425 ) = Obj.magic _2 in
3426 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3427 let _startpos = _startpos__1_ in
3428 let _endpos = _endpos__3_ in
3429 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3430 # 1349 "parser_cocci_menhir.mly"
3431 ( P.arith_op Ast.Xor _1 _2 _3 )
3432 # 3433 "parser_cocci_menhir.ml"
3433 in
3434 _menhir_env.MenhirLib.EngineTypes.stack <- {
3435 MenhirLib.EngineTypes.state = _menhir_s;
3436 MenhirLib.EngineTypes.semv = Obj.repr _v;
3437 MenhirLib.EngineTypes.startp = _startpos;
3438 MenhirLib.EngineTypes.endp = _endpos;
3439 MenhirLib.EngineTypes.next = _menhir_stack;
3440 });
3441 (fun _menhir_env ->
3442 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3443 let {
3444 MenhirLib.EngineTypes.semv = _3;
3445 MenhirLib.EngineTypes.startp = _startpos__3_;
3446 MenhirLib.EngineTypes.endp = _endpos__3_;
3447 MenhirLib.EngineTypes.next = {
3448 MenhirLib.EngineTypes.semv = _2;
3449 MenhirLib.EngineTypes.startp = _startpos__2_;
3450 MenhirLib.EngineTypes.endp = _endpos__2_;
3451 MenhirLib.EngineTypes.next = {
3452 MenhirLib.EngineTypes.state = _menhir_s;
3453 MenhirLib.EngineTypes.semv = _1;
3454 MenhirLib.EngineTypes.startp = _startpos__1_;
3455 MenhirLib.EngineTypes.endp = _endpos__1_;
3456 MenhirLib.EngineTypes.next = _menhir_stack;
3457 };
3458 };
3459 } = _menhir_stack in
3460 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3461 let _2 : (
3462 # 93 "parser_cocci_menhir.mly"
3463 (Data.clt)
3464 # 3465 "parser_cocci_menhir.ml"
3465 ) = Obj.magic _2 in
3466 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3467 let _startpos = _startpos__1_ in
3468 let _endpos = _endpos__3_ in
3469 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3470 # 1351 "parser_cocci_menhir.mly"
3471 ( P.logic_op Ast.AndLog _1 _2 _3 )
3472 # 3473 "parser_cocci_menhir.ml"
3473 in
3474 _menhir_env.MenhirLib.EngineTypes.stack <- {
3475 MenhirLib.EngineTypes.state = _menhir_s;
3476 MenhirLib.EngineTypes.semv = Obj.repr _v;
3477 MenhirLib.EngineTypes.startp = _startpos;
3478 MenhirLib.EngineTypes.endp = _endpos;
3479 MenhirLib.EngineTypes.next = _menhir_stack;
3480 });
3481 (fun _menhir_env ->
3482 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3483 let {
3484 MenhirLib.EngineTypes.semv = _3;
3485 MenhirLib.EngineTypes.startp = _startpos__3_;
3486 MenhirLib.EngineTypes.endp = _endpos__3_;
3487 MenhirLib.EngineTypes.next = {
3488 MenhirLib.EngineTypes.semv = _2;
3489 MenhirLib.EngineTypes.startp = _startpos__2_;
3490 MenhirLib.EngineTypes.endp = _endpos__2_;
3491 MenhirLib.EngineTypes.next = {
3492 MenhirLib.EngineTypes.state = _menhir_s;
3493 MenhirLib.EngineTypes.semv = _1;
3494 MenhirLib.EngineTypes.startp = _startpos__1_;
3495 MenhirLib.EngineTypes.endp = _endpos__1_;
3496 MenhirLib.EngineTypes.next = _menhir_stack;
3497 };
3498 };
3499 } = _menhir_stack in
3500 let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
3501 let _2 : (
3502 # 92 "parser_cocci_menhir.mly"
3503 (Data.clt)
3504 # 3505 "parser_cocci_menhir.ml"
3505 ) = Obj.magic _2 in
3506 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3507 let _startpos = _startpos__1_ in
3508 let _endpos = _endpos__3_ in
3509 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3510 # 1353 "parser_cocci_menhir.mly"
3511 ( P.logic_op Ast.OrLog _1 _2 _3 )
3512 # 3513 "parser_cocci_menhir.ml"
3513 in
3514 _menhir_env.MenhirLib.EngineTypes.stack <- {
3515 MenhirLib.EngineTypes.state = _menhir_s;
3516 MenhirLib.EngineTypes.semv = Obj.repr _v;
3517 MenhirLib.EngineTypes.startp = _startpos;
3518 MenhirLib.EngineTypes.endp = _endpos;
3519 MenhirLib.EngineTypes.next = _menhir_stack;
3520 });
3521 (fun _menhir_env ->
3522 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3523 let {
3524 MenhirLib.EngineTypes.state = _menhir_s;
3525 MenhirLib.EngineTypes.semv = _1;
3526 MenhirLib.EngineTypes.startp = _startpos__1_;
3527 MenhirLib.EngineTypes.endp = _endpos__1_;
3528 MenhirLib.EngineTypes.next = _menhir_stack;
3529 } = _menhir_stack in
3530 let _1 : 'tv_cast_expr_expr_invalid_ = Obj.magic _1 in
3531 let _startpos = _startpos__1_ in
3532 let _endpos = _endpos__1_ in
3533 let _v : 'tv_arith_expr_expr_invalid_ =
3534 # 1325 "parser_cocci_menhir.mly"
3535 ( _1 )
3536 # 3537 "parser_cocci_menhir.ml"
3537 in
3538 _menhir_env.MenhirLib.EngineTypes.stack <- {
3539 MenhirLib.EngineTypes.state = _menhir_s;
3540 MenhirLib.EngineTypes.semv = Obj.repr _v;
3541 MenhirLib.EngineTypes.startp = _startpos;
3542 MenhirLib.EngineTypes.endp = _endpos;
3543 MenhirLib.EngineTypes.next = _menhir_stack;
3544 });
3545 (fun _menhir_env ->
3546 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3547 let {
3548 MenhirLib.EngineTypes.semv = _3;
3549 MenhirLib.EngineTypes.startp = _startpos__3_;
3550 MenhirLib.EngineTypes.endp = _endpos__3_;
3551 MenhirLib.EngineTypes.next = {
3552 MenhirLib.EngineTypes.semv = _2;
3553 MenhirLib.EngineTypes.startp = _startpos__2_;
3554 MenhirLib.EngineTypes.endp = _endpos__2_;
3555 MenhirLib.EngineTypes.next = {
3556 MenhirLib.EngineTypes.state = _menhir_s;
3557 MenhirLib.EngineTypes.semv = _1;
3558 MenhirLib.EngineTypes.startp = _startpos__1_;
3559 MenhirLib.EngineTypes.endp = _endpos__1_;
3560 MenhirLib.EngineTypes.next = _menhir_stack;
3561 };
3562 };
3563 } = _menhir_stack in
3564 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3565 let _2 : (
3566 # 102 "parser_cocci_menhir.mly"
3567 (Data.clt)
3568 # 3569 "parser_cocci_menhir.ml"
3569 ) = Obj.magic _2 in
3570 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3571 let _startpos = _startpos__1_ in
3572 let _endpos = _endpos__3_ in
3573 let _v : 'tv_arith_expr_expr_invalid_ =
3574 # 1327 "parser_cocci_menhir.mly"
3575 ( P.arith_op Ast.Mul _1 _2 _3 )
3576 # 3577 "parser_cocci_menhir.ml"
3577 in
3578 _menhir_env.MenhirLib.EngineTypes.stack <- {
3579 MenhirLib.EngineTypes.state = _menhir_s;
3580 MenhirLib.EngineTypes.semv = Obj.repr _v;
3581 MenhirLib.EngineTypes.startp = _startpos;
3582 MenhirLib.EngineTypes.endp = _endpos;
3583 MenhirLib.EngineTypes.next = _menhir_stack;
3584 });
3585 (fun _menhir_env ->
3586 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3587 let {
3588 MenhirLib.EngineTypes.semv = _3;
3589 MenhirLib.EngineTypes.startp = _startpos__3_;
3590 MenhirLib.EngineTypes.endp = _endpos__3_;
3591 MenhirLib.EngineTypes.next = {
3592 MenhirLib.EngineTypes.semv = _2;
3593 MenhirLib.EngineTypes.startp = _startpos__2_;
3594 MenhirLib.EngineTypes.endp = _endpos__2_;
3595 MenhirLib.EngineTypes.next = {
3596 MenhirLib.EngineTypes.state = _menhir_s;
3597 MenhirLib.EngineTypes.semv = _1;
3598 MenhirLib.EngineTypes.startp = _startpos__1_;
3599 MenhirLib.EngineTypes.endp = _endpos__1_;
3600 MenhirLib.EngineTypes.next = _menhir_stack;
3601 };
3602 };
3603 } = _menhir_stack in
3604 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3605 let _2 : (
3606 # 100 "parser_cocci_menhir.mly"
3607 (Ast_cocci.arithOp * Data.clt)
3608 # 3609 "parser_cocci_menhir.ml"
3609 ) = Obj.magic _2 in
3610 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3611 let _startpos = _startpos__1_ in
3612 let _endpos = _endpos__3_ in
3613 let _v : 'tv_arith_expr_expr_invalid_ =
3614 # 1329 "parser_cocci_menhir.mly"
3615 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3616 # 3617 "parser_cocci_menhir.ml"
3617 in
3618 _menhir_env.MenhirLib.EngineTypes.stack <- {
3619 MenhirLib.EngineTypes.state = _menhir_s;
3620 MenhirLib.EngineTypes.semv = Obj.repr _v;
3621 MenhirLib.EngineTypes.startp = _startpos;
3622 MenhirLib.EngineTypes.endp = _endpos;
3623 MenhirLib.EngineTypes.next = _menhir_stack;
3624 });
3625 (fun _menhir_env ->
3626 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3627 let {
3628 MenhirLib.EngineTypes.semv = _3;
3629 MenhirLib.EngineTypes.startp = _startpos__3_;
3630 MenhirLib.EngineTypes.endp = _endpos__3_;
3631 MenhirLib.EngineTypes.next = {
3632 MenhirLib.EngineTypes.semv = _2;
3633 MenhirLib.EngineTypes.startp = _startpos__2_;
3634 MenhirLib.EngineTypes.endp = _endpos__2_;
3635 MenhirLib.EngineTypes.next = {
3636 MenhirLib.EngineTypes.state = _menhir_s;
3637 MenhirLib.EngineTypes.semv = _1;
3638 MenhirLib.EngineTypes.startp = _startpos__1_;
3639 MenhirLib.EngineTypes.endp = _endpos__1_;
3640 MenhirLib.EngineTypes.next = _menhir_stack;
3641 };
3642 };
3643 } = _menhir_stack in
3644 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3645 let _2 : (
3646 # 101 "parser_cocci_menhir.mly"
3647 (Data.clt)
3648 # 3649 "parser_cocci_menhir.ml"
3649 ) = Obj.magic _2 in
3650 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3651 let _startpos = _startpos__1_ in
3652 let _endpos = _endpos__3_ in
3653 let _v : 'tv_arith_expr_expr_invalid_ =
3654 # 1331 "parser_cocci_menhir.mly"
3655 ( P.arith_op Ast.Plus _1 _2 _3 )
3656 # 3657 "parser_cocci_menhir.ml"
3657 in
3658 _menhir_env.MenhirLib.EngineTypes.stack <- {
3659 MenhirLib.EngineTypes.state = _menhir_s;
3660 MenhirLib.EngineTypes.semv = Obj.repr _v;
3661 MenhirLib.EngineTypes.startp = _startpos;
3662 MenhirLib.EngineTypes.endp = _endpos;
3663 MenhirLib.EngineTypes.next = _menhir_stack;
3664 });
3665 (fun _menhir_env ->
3666 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3667 let {
3668 MenhirLib.EngineTypes.semv = _3;
3669 MenhirLib.EngineTypes.startp = _startpos__3_;
3670 MenhirLib.EngineTypes.endp = _endpos__3_;
3671 MenhirLib.EngineTypes.next = {
3672 MenhirLib.EngineTypes.semv = _2;
3673 MenhirLib.EngineTypes.startp = _startpos__2_;
3674 MenhirLib.EngineTypes.endp = _endpos__2_;
3675 MenhirLib.EngineTypes.next = {
3676 MenhirLib.EngineTypes.state = _menhir_s;
3677 MenhirLib.EngineTypes.semv = _1;
3678 MenhirLib.EngineTypes.startp = _startpos__1_;
3679 MenhirLib.EngineTypes.endp = _endpos__1_;
3680 MenhirLib.EngineTypes.next = _menhir_stack;
3681 };
3682 };
3683 } = _menhir_stack in
3684 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3685 let _2 : (
3686 # 101 "parser_cocci_menhir.mly"
3687 (Data.clt)
3688 # 3689 "parser_cocci_menhir.ml"
3689 ) = Obj.magic _2 in
3690 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3691 let _startpos = _startpos__1_ in
3692 let _endpos = _endpos__3_ in
3693 let _v : 'tv_arith_expr_expr_invalid_ =
3694 # 1333 "parser_cocci_menhir.mly"
3695 ( P.arith_op Ast.Minus _1 _2 _3 )
3696 # 3697 "parser_cocci_menhir.ml"
3697 in
3698 _menhir_env.MenhirLib.EngineTypes.stack <- {
3699 MenhirLib.EngineTypes.state = _menhir_s;
3700 MenhirLib.EngineTypes.semv = Obj.repr _v;
3701 MenhirLib.EngineTypes.startp = _startpos;
3702 MenhirLib.EngineTypes.endp = _endpos;
3703 MenhirLib.EngineTypes.next = _menhir_stack;
3704 });
3705 (fun _menhir_env ->
3706 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3707 let {
3708 MenhirLib.EngineTypes.semv = _3;
3709 MenhirLib.EngineTypes.startp = _startpos__3_;
3710 MenhirLib.EngineTypes.endp = _endpos__3_;
3711 MenhirLib.EngineTypes.next = {
3712 MenhirLib.EngineTypes.semv = _2;
3713 MenhirLib.EngineTypes.startp = _startpos__2_;
3714 MenhirLib.EngineTypes.endp = _endpos__2_;
3715 MenhirLib.EngineTypes.next = {
3716 MenhirLib.EngineTypes.state = _menhir_s;
3717 MenhirLib.EngineTypes.semv = _1;
3718 MenhirLib.EngineTypes.startp = _startpos__1_;
3719 MenhirLib.EngineTypes.endp = _endpos__1_;
3720 MenhirLib.EngineTypes.next = _menhir_stack;
3721 };
3722 };
3723 } = _menhir_stack in
3724 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3725 let _2 : (
3726 # 99 "parser_cocci_menhir.mly"
3727 (Ast_cocci.arithOp * Data.clt)
3728 # 3729 "parser_cocci_menhir.ml"
3729 ) = Obj.magic _2 in
3730 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3731 let _startpos = _startpos__1_ in
3732 let _endpos = _endpos__3_ in
3733 let _v : 'tv_arith_expr_expr_invalid_ =
3734 # 1335 "parser_cocci_menhir.mly"
3735 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3736 # 3737 "parser_cocci_menhir.ml"
3737 in
3738 _menhir_env.MenhirLib.EngineTypes.stack <- {
3739 MenhirLib.EngineTypes.state = _menhir_s;
3740 MenhirLib.EngineTypes.semv = Obj.repr _v;
3741 MenhirLib.EngineTypes.startp = _startpos;
3742 MenhirLib.EngineTypes.endp = _endpos;
3743 MenhirLib.EngineTypes.next = _menhir_stack;
3744 });
3745 (fun _menhir_env ->
3746 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3747 let {
3748 MenhirLib.EngineTypes.semv = _3;
3749 MenhirLib.EngineTypes.startp = _startpos__3_;
3750 MenhirLib.EngineTypes.endp = _endpos__3_;
3751 MenhirLib.EngineTypes.next = {
3752 MenhirLib.EngineTypes.semv = _2;
3753 MenhirLib.EngineTypes.startp = _startpos__2_;
3754 MenhirLib.EngineTypes.endp = _endpos__2_;
3755 MenhirLib.EngineTypes.next = {
3756 MenhirLib.EngineTypes.state = _menhir_s;
3757 MenhirLib.EngineTypes.semv = _1;
3758 MenhirLib.EngineTypes.startp = _startpos__1_;
3759 MenhirLib.EngineTypes.endp = _endpos__1_;
3760 MenhirLib.EngineTypes.next = _menhir_stack;
3761 };
3762 };
3763 } = _menhir_stack in
3764 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3765 let _2 : (
3766 # 99 "parser_cocci_menhir.mly"
3767 (Ast_cocci.arithOp * Data.clt)
3768 # 3769 "parser_cocci_menhir.ml"
3769 ) = Obj.magic _2 in
3770 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3771 let _startpos = _startpos__1_ in
3772 let _endpos = _endpos__3_ in
3773 let _v : 'tv_arith_expr_expr_invalid_ =
3774 # 1337 "parser_cocci_menhir.mly"
3775 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3776 # 3777 "parser_cocci_menhir.ml"
3777 in
3778 _menhir_env.MenhirLib.EngineTypes.stack <- {
3779 MenhirLib.EngineTypes.state = _menhir_s;
3780 MenhirLib.EngineTypes.semv = Obj.repr _v;
3781 MenhirLib.EngineTypes.startp = _startpos;
3782 MenhirLib.EngineTypes.endp = _endpos;
3783 MenhirLib.EngineTypes.next = _menhir_stack;
3784 });
3785 (fun _menhir_env ->
3786 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3787 let {
3788 MenhirLib.EngineTypes.semv = _3;
3789 MenhirLib.EngineTypes.startp = _startpos__3_;
3790 MenhirLib.EngineTypes.endp = _endpos__3_;
3791 MenhirLib.EngineTypes.next = {
3792 MenhirLib.EngineTypes.semv = _2;
3793 MenhirLib.EngineTypes.startp = _startpos__2_;
3794 MenhirLib.EngineTypes.endp = _endpos__2_;
3795 MenhirLib.EngineTypes.next = {
3796 MenhirLib.EngineTypes.state = _menhir_s;
3797 MenhirLib.EngineTypes.semv = _1;
3798 MenhirLib.EngineTypes.startp = _startpos__1_;
3799 MenhirLib.EngineTypes.endp = _endpos__1_;
3800 MenhirLib.EngineTypes.next = _menhir_stack;
3801 };
3802 };
3803 } = _menhir_stack in
3804 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3805 let _2 : (
3806 # 98 "parser_cocci_menhir.mly"
3807 (Ast_cocci.logicalOp * Data.clt)
3808 # 3809 "parser_cocci_menhir.ml"
3809 ) = Obj.magic _2 in
3810 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3811 let _startpos = _startpos__1_ in
3812 let _endpos = _endpos__3_ in
3813 let _v : 'tv_arith_expr_expr_invalid_ =
3814 # 1339 "parser_cocci_menhir.mly"
3815 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
3816 # 3817 "parser_cocci_menhir.ml"
3817 in
3818 _menhir_env.MenhirLib.EngineTypes.stack <- {
3819 MenhirLib.EngineTypes.state = _menhir_s;
3820 MenhirLib.EngineTypes.semv = Obj.repr _v;
3821 MenhirLib.EngineTypes.startp = _startpos;
3822 MenhirLib.EngineTypes.endp = _endpos;
3823 MenhirLib.EngineTypes.next = _menhir_stack;
3824 });
3825 (fun _menhir_env ->
3826 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3827 let {
3828 MenhirLib.EngineTypes.semv = _3;
3829 MenhirLib.EngineTypes.startp = _startpos__3_;
3830 MenhirLib.EngineTypes.endp = _endpos__3_;
3831 MenhirLib.EngineTypes.next = {
3832 MenhirLib.EngineTypes.semv = _2;
3833 MenhirLib.EngineTypes.startp = _startpos__2_;
3834 MenhirLib.EngineTypes.endp = _endpos__2_;
3835 MenhirLib.EngineTypes.next = {
3836 MenhirLib.EngineTypes.state = _menhir_s;
3837 MenhirLib.EngineTypes.semv = _1;
3838 MenhirLib.EngineTypes.startp = _startpos__1_;
3839 MenhirLib.EngineTypes.endp = _endpos__1_;
3840 MenhirLib.EngineTypes.next = _menhir_stack;
3841 };
3842 };
3843 } = _menhir_stack in
3844 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3845 let _2 : (
3846 # 97 "parser_cocci_menhir.mly"
3847 (Data.clt)
3848 # 3849 "parser_cocci_menhir.ml"
3849 ) = Obj.magic _2 in
3850 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3851 let _startpos = _startpos__1_ in
3852 let _endpos = _endpos__3_ in
3853 let _v : 'tv_arith_expr_expr_invalid_ =
3854 # 1341 "parser_cocci_menhir.mly"
3855 ( P.logic_op Ast.Eq _1 _2 _3 )
3856 # 3857 "parser_cocci_menhir.ml"
3857 in
3858 _menhir_env.MenhirLib.EngineTypes.stack <- {
3859 MenhirLib.EngineTypes.state = _menhir_s;
3860 MenhirLib.EngineTypes.semv = Obj.repr _v;
3861 MenhirLib.EngineTypes.startp = _startpos;
3862 MenhirLib.EngineTypes.endp = _endpos;
3863 MenhirLib.EngineTypes.next = _menhir_stack;
3864 });
3865 (fun _menhir_env ->
3866 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3867 let {
3868 MenhirLib.EngineTypes.semv = _3;
3869 MenhirLib.EngineTypes.startp = _startpos__3_;
3870 MenhirLib.EngineTypes.endp = _endpos__3_;
3871 MenhirLib.EngineTypes.next = {
3872 MenhirLib.EngineTypes.semv = _2;
3873 MenhirLib.EngineTypes.startp = _startpos__2_;
3874 MenhirLib.EngineTypes.endp = _endpos__2_;
3875 MenhirLib.EngineTypes.next = {
3876 MenhirLib.EngineTypes.state = _menhir_s;
3877 MenhirLib.EngineTypes.semv = _1;
3878 MenhirLib.EngineTypes.startp = _startpos__1_;
3879 MenhirLib.EngineTypes.endp = _endpos__1_;
3880 MenhirLib.EngineTypes.next = _menhir_stack;
3881 };
3882 };
3883 } = _menhir_stack in
3884 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3885 let _2 : (
3886 # 97 "parser_cocci_menhir.mly"
3887 (Data.clt)
3888 # 3889 "parser_cocci_menhir.ml"
3889 ) = Obj.magic _2 in
3890 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3891 let _startpos = _startpos__1_ in
3892 let _endpos = _endpos__3_ in
3893 let _v : 'tv_arith_expr_expr_invalid_ =
3894 # 1343 "parser_cocci_menhir.mly"
3895 ( P.logic_op Ast.NotEq _1 _2 _3 )
3896 # 3897 "parser_cocci_menhir.ml"
3897 in
3898 _menhir_env.MenhirLib.EngineTypes.stack <- {
3899 MenhirLib.EngineTypes.state = _menhir_s;
3900 MenhirLib.EngineTypes.semv = Obj.repr _v;
3901 MenhirLib.EngineTypes.startp = _startpos;
3902 MenhirLib.EngineTypes.endp = _endpos;
3903 MenhirLib.EngineTypes.next = _menhir_stack;
3904 });
3905 (fun _menhir_env ->
3906 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3907 let {
3908 MenhirLib.EngineTypes.semv = _3;
3909 MenhirLib.EngineTypes.startp = _startpos__3_;
3910 MenhirLib.EngineTypes.endp = _endpos__3_;
3911 MenhirLib.EngineTypes.next = {
3912 MenhirLib.EngineTypes.semv = _2;
3913 MenhirLib.EngineTypes.startp = _startpos__2_;
3914 MenhirLib.EngineTypes.endp = _endpos__2_;
3915 MenhirLib.EngineTypes.next = {
3916 MenhirLib.EngineTypes.state = _menhir_s;
3917 MenhirLib.EngineTypes.semv = _1;
3918 MenhirLib.EngineTypes.startp = _startpos__1_;
3919 MenhirLib.EngineTypes.endp = _endpos__1_;
3920 MenhirLib.EngineTypes.next = _menhir_stack;
3921 };
3922 };
3923 } = _menhir_stack in
3924 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3925 let _2 : (
3926 # 96 "parser_cocci_menhir.mly"
3927 (Data.clt)
3928 # 3929 "parser_cocci_menhir.ml"
3929 ) = Obj.magic _2 in
3930 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3931 let _startpos = _startpos__1_ in
3932 let _endpos = _endpos__3_ in
3933 let _v : 'tv_arith_expr_expr_invalid_ =
3934 # 1345 "parser_cocci_menhir.mly"
3935 ( P.arith_op Ast.And _1 _2 _3 )
3936 # 3937 "parser_cocci_menhir.ml"
3937 in
3938 _menhir_env.MenhirLib.EngineTypes.stack <- {
3939 MenhirLib.EngineTypes.state = _menhir_s;
3940 MenhirLib.EngineTypes.semv = Obj.repr _v;
3941 MenhirLib.EngineTypes.startp = _startpos;
3942 MenhirLib.EngineTypes.endp = _endpos;
3943 MenhirLib.EngineTypes.next = _menhir_stack;
3944 });
3945 (fun _menhir_env ->
3946 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3947 let {
3948 MenhirLib.EngineTypes.semv = _3;
3949 MenhirLib.EngineTypes.startp = _startpos__3_;
3950 MenhirLib.EngineTypes.endp = _endpos__3_;
3951 MenhirLib.EngineTypes.next = {
3952 MenhirLib.EngineTypes.semv = _2;
3953 MenhirLib.EngineTypes.startp = _startpos__2_;
3954 MenhirLib.EngineTypes.endp = _endpos__2_;
3955 MenhirLib.EngineTypes.next = {
3956 MenhirLib.EngineTypes.state = _menhir_s;
3957 MenhirLib.EngineTypes.semv = _1;
3958 MenhirLib.EngineTypes.startp = _startpos__1_;
3959 MenhirLib.EngineTypes.endp = _endpos__1_;
3960 MenhirLib.EngineTypes.next = _menhir_stack;
3961 };
3962 };
3963 } = _menhir_stack in
3964 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
3965 let _2 : (
3966 # 94 "parser_cocci_menhir.mly"
3967 (Data.clt)
3968 # 3969 "parser_cocci_menhir.ml"
3969 ) = Obj.magic _2 in
3970 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3971 let _startpos = _startpos__1_ in
3972 let _endpos = _endpos__3_ in
3973 let _v : 'tv_arith_expr_expr_invalid_ =
3974 # 1347 "parser_cocci_menhir.mly"
3975 ( P.arith_op Ast.Or _1 _2 _3 )
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 = _3;
3989 MenhirLib.EngineTypes.startp = _startpos__3_;
3990 MenhirLib.EngineTypes.endp = _endpos__3_;
3991 MenhirLib.EngineTypes.next = {
3992 MenhirLib.EngineTypes.semv = _2;
3993 MenhirLib.EngineTypes.startp = _startpos__2_;
3994 MenhirLib.EngineTypes.endp = _endpos__2_;
3995 MenhirLib.EngineTypes.next = {
3996 MenhirLib.EngineTypes.state = _menhir_s;
3997 MenhirLib.EngineTypes.semv = _1;
3998 MenhirLib.EngineTypes.startp = _startpos__1_;
3999 MenhirLib.EngineTypes.endp = _endpos__1_;
4000 MenhirLib.EngineTypes.next = _menhir_stack;
4001 };
4002 };
4003 } = _menhir_stack in
4004 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
4005 let _2 : (
4006 # 95 "parser_cocci_menhir.mly"
4007 (Data.clt)
4008 # 4009 "parser_cocci_menhir.ml"
4009 ) = Obj.magic _2 in
4010 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
4011 let _startpos = _startpos__1_ in
4012 let _endpos = _endpos__3_ in
4013 let _v : 'tv_arith_expr_expr_invalid_ =
4014 # 1349 "parser_cocci_menhir.mly"
4015 ( P.arith_op Ast.Xor _1 _2 _3 )
4016 # 4017 "parser_cocci_menhir.ml"
4017 in
4018 _menhir_env.MenhirLib.EngineTypes.stack <- {
4019 MenhirLib.EngineTypes.state = _menhir_s;
4020 MenhirLib.EngineTypes.semv = Obj.repr _v;
4021 MenhirLib.EngineTypes.startp = _startpos;
4022 MenhirLib.EngineTypes.endp = _endpos;
4023 MenhirLib.EngineTypes.next = _menhir_stack;
4024 });
4025 (fun _menhir_env ->
4026 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4027 let {
4028 MenhirLib.EngineTypes.semv = _3;
4029 MenhirLib.EngineTypes.startp = _startpos__3_;
4030 MenhirLib.EngineTypes.endp = _endpos__3_;
4031 MenhirLib.EngineTypes.next = {
4032 MenhirLib.EngineTypes.semv = _2;
4033 MenhirLib.EngineTypes.startp = _startpos__2_;
4034 MenhirLib.EngineTypes.endp = _endpos__2_;
4035 MenhirLib.EngineTypes.next = {
4036 MenhirLib.EngineTypes.state = _menhir_s;
4037 MenhirLib.EngineTypes.semv = _1;
4038 MenhirLib.EngineTypes.startp = _startpos__1_;
4039 MenhirLib.EngineTypes.endp = _endpos__1_;
4040 MenhirLib.EngineTypes.next = _menhir_stack;
4041 };
4042 };
4043 } = _menhir_stack in
4044 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
4045 let _2 : (
4046 # 93 "parser_cocci_menhir.mly"
4047 (Data.clt)
4048 # 4049 "parser_cocci_menhir.ml"
4049 ) = Obj.magic _2 in
4050 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
4051 let _startpos = _startpos__1_ in
4052 let _endpos = _endpos__3_ in
4053 let _v : 'tv_arith_expr_expr_invalid_ =
4054 # 1351 "parser_cocci_menhir.mly"
4055 ( P.logic_op Ast.AndLog _1 _2 _3 )
4056 # 4057 "parser_cocci_menhir.ml"
4057 in
4058 _menhir_env.MenhirLib.EngineTypes.stack <- {
4059 MenhirLib.EngineTypes.state = _menhir_s;
4060 MenhirLib.EngineTypes.semv = Obj.repr _v;
4061 MenhirLib.EngineTypes.startp = _startpos;
4062 MenhirLib.EngineTypes.endp = _endpos;
4063 MenhirLib.EngineTypes.next = _menhir_stack;
4064 });
4065 (fun _menhir_env ->
4066 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4067 let {
4068 MenhirLib.EngineTypes.semv = _3;
4069 MenhirLib.EngineTypes.startp = _startpos__3_;
4070 MenhirLib.EngineTypes.endp = _endpos__3_;
4071 MenhirLib.EngineTypes.next = {
4072 MenhirLib.EngineTypes.semv = _2;
4073 MenhirLib.EngineTypes.startp = _startpos__2_;
4074 MenhirLib.EngineTypes.endp = _endpos__2_;
4075 MenhirLib.EngineTypes.next = {
4076 MenhirLib.EngineTypes.state = _menhir_s;
4077 MenhirLib.EngineTypes.semv = _1;
4078 MenhirLib.EngineTypes.startp = _startpos__1_;
4079 MenhirLib.EngineTypes.endp = _endpos__1_;
4080 MenhirLib.EngineTypes.next = _menhir_stack;
4081 };
4082 };
4083 } = _menhir_stack in
4084 let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
4085 let _2 : (
4086 # 92 "parser_cocci_menhir.mly"
4087 (Data.clt)
4088 # 4089 "parser_cocci_menhir.ml"
4089 ) = Obj.magic _2 in
4090 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
4091 let _startpos = _startpos__1_ in
4092 let _endpos = _endpos__3_ in
4093 let _v : 'tv_arith_expr_expr_invalid_ =
4094 # 1353 "parser_cocci_menhir.mly"
4095 ( P.logic_op Ast.OrLog _1 _2 _3 )
4096 # 4097 "parser_cocci_menhir.ml"
4097 in
4098 _menhir_env.MenhirLib.EngineTypes.stack <- {
4099 MenhirLib.EngineTypes.state = _menhir_s;
4100 MenhirLib.EngineTypes.semv = Obj.repr _v;
4101 MenhirLib.EngineTypes.startp = _startpos;
4102 MenhirLib.EngineTypes.endp = _endpos;
4103 MenhirLib.EngineTypes.next = _menhir_stack;
4104 });
4105 (fun _menhir_env ->
4106 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4107 let {
4108 MenhirLib.EngineTypes.state = _menhir_s;
4109 MenhirLib.EngineTypes.startp = _startpos__1_;
4110 MenhirLib.EngineTypes.endp = _endpos__1_;
4111 MenhirLib.EngineTypes.next = _menhir_stack;
4112 } = _menhir_stack in
4113 let _startpos = _startpos__1_ in
4114 let _endpos = _endpos__1_ in
4115 let _v : 'tv_arity =
4116 # 524 "parser_cocci_menhir.mly"
4117 ( Ast.UNIQUE )
4118 # 4119 "parser_cocci_menhir.ml"
4119 in
4120 _menhir_env.MenhirLib.EngineTypes.stack <- {
4121 MenhirLib.EngineTypes.state = _menhir_s;
4122 MenhirLib.EngineTypes.semv = Obj.repr _v;
4123 MenhirLib.EngineTypes.startp = _startpos;
4124 MenhirLib.EngineTypes.endp = _endpos;
4125 MenhirLib.EngineTypes.next = _menhir_stack;
4126 });
4127 (fun _menhir_env ->
4128 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4129 let {
4130 MenhirLib.EngineTypes.state = _menhir_s;
4131 MenhirLib.EngineTypes.startp = _startpos__1_;
4132 MenhirLib.EngineTypes.endp = _endpos__1_;
4133 MenhirLib.EngineTypes.next = _menhir_stack;
4134 } = _menhir_stack in
4135 let _startpos = _startpos__1_ in
4136 let _endpos = _endpos__1_ in
4137 let _v : 'tv_arity =
4138 # 525 "parser_cocci_menhir.mly"
4139 ( Ast.OPT )
4140 # 4141 "parser_cocci_menhir.ml"
4141 in
4142 _menhir_env.MenhirLib.EngineTypes.stack <- {
4143 MenhirLib.EngineTypes.state = _menhir_s;
4144 MenhirLib.EngineTypes.semv = Obj.repr _v;
4145 MenhirLib.EngineTypes.startp = _startpos;
4146 MenhirLib.EngineTypes.endp = _endpos;
4147 MenhirLib.EngineTypes.next = _menhir_stack;
4148 });
4149 (fun _menhir_env ->
4150 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4151 let {
4152 MenhirLib.EngineTypes.state = _menhir_s;
4153 MenhirLib.EngineTypes.startp = _startpos__1_;
4154 MenhirLib.EngineTypes.endp = _endpos__1_;
4155 MenhirLib.EngineTypes.next = _menhir_stack;
4156 } = _menhir_stack in
4157 let _startpos = _startpos__1_ in
4158 let _endpos = _endpos__1_ in
4159 let _v : 'tv_arity =
4160 # 526 "parser_cocci_menhir.mly"
4161 ( Ast.MULTI )
4162 # 4163 "parser_cocci_menhir.ml"
4163 in
4164 _menhir_env.MenhirLib.EngineTypes.stack <- {
4165 MenhirLib.EngineTypes.state = _menhir_s;
4166 MenhirLib.EngineTypes.semv = Obj.repr _v;
4167 MenhirLib.EngineTypes.startp = _startpos;
4168 MenhirLib.EngineTypes.endp = _endpos;
4169 MenhirLib.EngineTypes.next = _menhir_stack;
4170 });
4171 (fun _menhir_env ->
4172 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4173 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
4174 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
4175 let _endpos = _startpos in
4176 let _v : 'tv_arity =
4177 # 527 "parser_cocci_menhir.mly"
4178 ( Ast.NONE )
4179 # 4180 "parser_cocci_menhir.ml"
4180 in
4181 _menhir_env.MenhirLib.EngineTypes.stack <- {
4182 MenhirLib.EngineTypes.state = _menhir_s;
4183 MenhirLib.EngineTypes.semv = Obj.repr _v;
4184 MenhirLib.EngineTypes.startp = _startpos;
4185 MenhirLib.EngineTypes.endp = _endpos;
4186 MenhirLib.EngineTypes.next = _menhir_stack;
4187 });
4188 (fun _menhir_env ->
4189 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4190 let {
4191 MenhirLib.EngineTypes.semv = r;
4192 MenhirLib.EngineTypes.startp = _startpos_r_;
4193 MenhirLib.EngineTypes.endp = _endpos_r_;
4194 MenhirLib.EngineTypes.next = {
4195 MenhirLib.EngineTypes.semv = i;
4196 MenhirLib.EngineTypes.startp = _startpos_i_;
4197 MenhirLib.EngineTypes.endp = _endpos_i_;
4198 MenhirLib.EngineTypes.next = {
4199 MenhirLib.EngineTypes.state = _menhir_s;
4200 MenhirLib.EngineTypes.semv = l;
4201 MenhirLib.EngineTypes.startp = _startpos_l_;
4202 MenhirLib.EngineTypes.endp = _endpos_l_;
4203 MenhirLib.EngineTypes.next = _menhir_stack;
4204 };
4205 };
4206 } = _menhir_stack in
4207 let r : (
4208 # 105 "parser_cocci_menhir.mly"
4209 (Data.clt)
4210 # 4211 "parser_cocci_menhir.ml"
4211 ) = Obj.magic r in
4212 let i : 'tv_option_eexpr_ = Obj.magic i in
4213 let l : (
4214 # 105 "parser_cocci_menhir.mly"
4215 (Data.clt)
4216 # 4217 "parser_cocci_menhir.ml"
4217 ) = Obj.magic l in
4218 let _startpos = _startpos_l_ in
4219 let _endpos = _endpos_r_ in
4220 let _v : 'tv_array_dec =
4221 # 1152 "parser_cocci_menhir.mly"
4222 ( (l,i,r) )
4223 # 4224 "parser_cocci_menhir.ml"
4224 in
4225 _menhir_env.MenhirLib.EngineTypes.stack <- {
4226 MenhirLib.EngineTypes.state = _menhir_s;
4227 MenhirLib.EngineTypes.semv = Obj.repr _v;
4228 MenhirLib.EngineTypes.startp = _startpos;
4229 MenhirLib.EngineTypes.endp = _endpos;
4230 MenhirLib.EngineTypes.next = _menhir_stack;
4231 });
4232 (fun _menhir_env ->
4233 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4234 let {
4235 MenhirLib.EngineTypes.state = _menhir_s;
4236 MenhirLib.EngineTypes.semv = _1;
4237 MenhirLib.EngineTypes.startp = _startpos__1_;
4238 MenhirLib.EngineTypes.endp = _endpos__1_;
4239 MenhirLib.EngineTypes.next = _menhir_stack;
4240 } = _menhir_stack in
4241 let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4242 let _startpos = _startpos__1_ in
4243 let _endpos = _endpos__1_ in
4244 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4245 # 1297 "parser_cocci_menhir.mly"
4246 ( _1 )
4247 # 4248 "parser_cocci_menhir.ml"
4248 in
4249 _menhir_env.MenhirLib.EngineTypes.stack <- {
4250 MenhirLib.EngineTypes.state = _menhir_s;
4251 MenhirLib.EngineTypes.semv = Obj.repr _v;
4252 MenhirLib.EngineTypes.startp = _startpos;
4253 MenhirLib.EngineTypes.endp = _endpos;
4254 MenhirLib.EngineTypes.next = _menhir_stack;
4255 });
4256 (fun _menhir_env ->
4257 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4258 let {
4259 MenhirLib.EngineTypes.semv = _3;
4260 MenhirLib.EngineTypes.startp = _startpos__3_;
4261 MenhirLib.EngineTypes.endp = _endpos__3_;
4262 MenhirLib.EngineTypes.next = {
4263 MenhirLib.EngineTypes.semv = _2;
4264 MenhirLib.EngineTypes.startp = _startpos__2_;
4265 MenhirLib.EngineTypes.endp = _endpos__2_;
4266 MenhirLib.EngineTypes.next = {
4267 MenhirLib.EngineTypes.state = _menhir_s;
4268 MenhirLib.EngineTypes.semv = _1;
4269 MenhirLib.EngineTypes.startp = _startpos__1_;
4270 MenhirLib.EngineTypes.endp = _endpos__1_;
4271 MenhirLib.EngineTypes.next = _menhir_stack;
4272 };
4273 };
4274 } = _menhir_stack in
4275 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4276 let _2 : (
4277 # 111 "parser_cocci_menhir.mly"
4278 (Ast_cocci.assignOp * Data.clt)
4279 # 4280 "parser_cocci_menhir.ml"
4280 ) = Obj.magic _2 in
4281 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4282 let _startpos = _startpos__1_ in
4283 let _endpos = _endpos__3_ in
4284 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4285 # 1299 "parser_cocci_menhir.mly"
4286 ( let (op,clt) = _2 in
4287 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4288 Ast0.set_arg_exp _3,false)) )
4289 # 4290 "parser_cocci_menhir.ml"
4290 in
4291 _menhir_env.MenhirLib.EngineTypes.stack <- {
4292 MenhirLib.EngineTypes.state = _menhir_s;
4293 MenhirLib.EngineTypes.semv = Obj.repr _v;
4294 MenhirLib.EngineTypes.startp = _startpos;
4295 MenhirLib.EngineTypes.endp = _endpos;
4296 MenhirLib.EngineTypes.next = _menhir_stack;
4297 });
4298 (fun _menhir_env ->
4299 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4300 let {
4301 MenhirLib.EngineTypes.semv = _3;
4302 MenhirLib.EngineTypes.startp = _startpos__3_;
4303 MenhirLib.EngineTypes.endp = _endpos__3_;
4304 MenhirLib.EngineTypes.next = {
4305 MenhirLib.EngineTypes.semv = _2;
4306 MenhirLib.EngineTypes.startp = _startpos__2_;
4307 MenhirLib.EngineTypes.endp = _endpos__2_;
4308 MenhirLib.EngineTypes.next = {
4309 MenhirLib.EngineTypes.state = _menhir_s;
4310 MenhirLib.EngineTypes.semv = _1;
4311 MenhirLib.EngineTypes.startp = _startpos__1_;
4312 MenhirLib.EngineTypes.endp = _endpos__1_;
4313 MenhirLib.EngineTypes.next = _menhir_stack;
4314 };
4315 };
4316 } = _menhir_stack in
4317 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4318 let _2 : (
4319 # 110 "parser_cocci_menhir.mly"
4320 (Data.clt)
4321 # 4322 "parser_cocci_menhir.ml"
4322 ) = Obj.magic _2 in
4323 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4324 let _startpos = _startpos__1_ in
4325 let _endpos = _endpos__3_ in
4326 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4327 # 1303 "parser_cocci_menhir.mly"
4328 ( Ast0.wrap
4329 (Ast0.Assignment
4330 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4331 # 4332 "parser_cocci_menhir.ml"
4332 in
4333 _menhir_env.MenhirLib.EngineTypes.stack <- {
4334 MenhirLib.EngineTypes.state = _menhir_s;
4335 MenhirLib.EngineTypes.semv = Obj.repr _v;
4336 MenhirLib.EngineTypes.startp = _startpos;
4337 MenhirLib.EngineTypes.endp = _endpos;
4338 MenhirLib.EngineTypes.next = _menhir_stack;
4339 });
4340 (fun _menhir_env ->
4341 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4342 let {
4343 MenhirLib.EngineTypes.state = _menhir_s;
4344 MenhirLib.EngineTypes.semv = _1;
4345 MenhirLib.EngineTypes.startp = _startpos__1_;
4346 MenhirLib.EngineTypes.endp = _endpos__1_;
4347 MenhirLib.EngineTypes.next = _menhir_stack;
4348 } = _menhir_stack in
4349 let _1 : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4350 let _startpos = _startpos__1_ in
4351 let _endpos = _endpos__1_ in
4352 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
4353 # 1297 "parser_cocci_menhir.mly"
4354 ( _1 )
4355 # 4356 "parser_cocci_menhir.ml"
4356 in
4357 _menhir_env.MenhirLib.EngineTypes.stack <- {
4358 MenhirLib.EngineTypes.state = _menhir_s;
4359 MenhirLib.EngineTypes.semv = Obj.repr _v;
4360 MenhirLib.EngineTypes.startp = _startpos;
4361 MenhirLib.EngineTypes.endp = _endpos;
4362 MenhirLib.EngineTypes.next = _menhir_stack;
4363 });
4364 (fun _menhir_env ->
4365 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4366 let {
4367 MenhirLib.EngineTypes.semv = _3;
4368 MenhirLib.EngineTypes.startp = _startpos__3_;
4369 MenhirLib.EngineTypes.endp = _endpos__3_;
4370 MenhirLib.EngineTypes.next = {
4371 MenhirLib.EngineTypes.semv = _2;
4372 MenhirLib.EngineTypes.startp = _startpos__2_;
4373 MenhirLib.EngineTypes.endp = _endpos__2_;
4374 MenhirLib.EngineTypes.next = {
4375 MenhirLib.EngineTypes.state = _menhir_s;
4376 MenhirLib.EngineTypes.semv = _1;
4377 MenhirLib.EngineTypes.startp = _startpos__1_;
4378 MenhirLib.EngineTypes.endp = _endpos__1_;
4379 MenhirLib.EngineTypes.next = _menhir_stack;
4380 };
4381 };
4382 } = _menhir_stack in
4383 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4384 let _2 : (
4385 # 111 "parser_cocci_menhir.mly"
4386 (Ast_cocci.assignOp * Data.clt)
4387 # 4388 "parser_cocci_menhir.ml"
4388 ) = Obj.magic _2 in
4389 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4390 let _startpos = _startpos__1_ in
4391 let _endpos = _endpos__3_ in
4392 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
4393 # 1299 "parser_cocci_menhir.mly"
4394 ( let (op,clt) = _2 in
4395 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4396 Ast0.set_arg_exp _3,false)) )
4397 # 4398 "parser_cocci_menhir.ml"
4398 in
4399 _menhir_env.MenhirLib.EngineTypes.stack <- {
4400 MenhirLib.EngineTypes.state = _menhir_s;
4401 MenhirLib.EngineTypes.semv = Obj.repr _v;
4402 MenhirLib.EngineTypes.startp = _startpos;
4403 MenhirLib.EngineTypes.endp = _endpos;
4404 MenhirLib.EngineTypes.next = _menhir_stack;
4405 });
4406 (fun _menhir_env ->
4407 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4408 let {
4409 MenhirLib.EngineTypes.semv = _3;
4410 MenhirLib.EngineTypes.startp = _startpos__3_;
4411 MenhirLib.EngineTypes.endp = _endpos__3_;
4412 MenhirLib.EngineTypes.next = {
4413 MenhirLib.EngineTypes.semv = _2;
4414 MenhirLib.EngineTypes.startp = _startpos__2_;
4415 MenhirLib.EngineTypes.endp = _endpos__2_;
4416 MenhirLib.EngineTypes.next = {
4417 MenhirLib.EngineTypes.state = _menhir_s;
4418 MenhirLib.EngineTypes.semv = _1;
4419 MenhirLib.EngineTypes.startp = _startpos__1_;
4420 MenhirLib.EngineTypes.endp = _endpos__1_;
4421 MenhirLib.EngineTypes.next = _menhir_stack;
4422 };
4423 };
4424 } = _menhir_stack in
4425 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4426 let _2 : (
4427 # 110 "parser_cocci_menhir.mly"
4428 (Data.clt)
4429 # 4430 "parser_cocci_menhir.ml"
4430 ) = Obj.magic _2 in
4431 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4432 let _startpos = _startpos__1_ in
4433 let _endpos = _endpos__3_ in
4434 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
4435 # 1303 "parser_cocci_menhir.mly"
4436 ( Ast0.wrap
4437 (Ast0.Assignment
4438 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4439 # 4440 "parser_cocci_menhir.ml"
4440 in
4441 _menhir_env.MenhirLib.EngineTypes.stack <- {
4442 MenhirLib.EngineTypes.state = _menhir_s;
4443 MenhirLib.EngineTypes.semv = Obj.repr _v;
4444 MenhirLib.EngineTypes.startp = _startpos;
4445 MenhirLib.EngineTypes.endp = _endpos;
4446 MenhirLib.EngineTypes.next = _menhir_stack;
4447 });
4448 (fun _menhir_env ->
4449 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4450 let {
4451 MenhirLib.EngineTypes.state = _menhir_s;
4452 MenhirLib.EngineTypes.semv = _1;
4453 MenhirLib.EngineTypes.startp = _startpos__1_;
4454 MenhirLib.EngineTypes.endp = _endpos__1_;
4455 MenhirLib.EngineTypes.next = _menhir_stack;
4456 } = _menhir_stack in
4457 let _1 : 'tv_cond_expr_expr_invalid_ = Obj.magic _1 in
4458 let _startpos = _startpos__1_ in
4459 let _endpos = _endpos__1_ in
4460 let _v : 'tv_assign_expr_expr_invalid_ =
4461 # 1297 "parser_cocci_menhir.mly"
4462 ( _1 )
4463 # 4464 "parser_cocci_menhir.ml"
4464 in
4465 _menhir_env.MenhirLib.EngineTypes.stack <- {
4466 MenhirLib.EngineTypes.state = _menhir_s;
4467 MenhirLib.EngineTypes.semv = Obj.repr _v;
4468 MenhirLib.EngineTypes.startp = _startpos;
4469 MenhirLib.EngineTypes.endp = _endpos;
4470 MenhirLib.EngineTypes.next = _menhir_stack;
4471 });
4472 (fun _menhir_env ->
4473 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4474 let {
4475 MenhirLib.EngineTypes.semv = _3;
4476 MenhirLib.EngineTypes.startp = _startpos__3_;
4477 MenhirLib.EngineTypes.endp = _endpos__3_;
4478 MenhirLib.EngineTypes.next = {
4479 MenhirLib.EngineTypes.semv = _2;
4480 MenhirLib.EngineTypes.startp = _startpos__2_;
4481 MenhirLib.EngineTypes.endp = _endpos__2_;
4482 MenhirLib.EngineTypes.next = {
4483 MenhirLib.EngineTypes.state = _menhir_s;
4484 MenhirLib.EngineTypes.semv = _1;
4485 MenhirLib.EngineTypes.startp = _startpos__1_;
4486 MenhirLib.EngineTypes.endp = _endpos__1_;
4487 MenhirLib.EngineTypes.next = _menhir_stack;
4488 };
4489 };
4490 } = _menhir_stack in
4491 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4492 let _2 : (
4493 # 111 "parser_cocci_menhir.mly"
4494 (Ast_cocci.assignOp * Data.clt)
4495 # 4496 "parser_cocci_menhir.ml"
4496 ) = Obj.magic _2 in
4497 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
4498 let _startpos = _startpos__1_ in
4499 let _endpos = _endpos__3_ in
4500 let _v : 'tv_assign_expr_expr_invalid_ =
4501 # 1299 "parser_cocci_menhir.mly"
4502 ( let (op,clt) = _2 in
4503 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4504 Ast0.set_arg_exp _3,false)) )
4505 # 4506 "parser_cocci_menhir.ml"
4506 in
4507 _menhir_env.MenhirLib.EngineTypes.stack <- {
4508 MenhirLib.EngineTypes.state = _menhir_s;
4509 MenhirLib.EngineTypes.semv = Obj.repr _v;
4510 MenhirLib.EngineTypes.startp = _startpos;
4511 MenhirLib.EngineTypes.endp = _endpos;
4512 MenhirLib.EngineTypes.next = _menhir_stack;
4513 });
4514 (fun _menhir_env ->
4515 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4516 let {
4517 MenhirLib.EngineTypes.semv = _3;
4518 MenhirLib.EngineTypes.startp = _startpos__3_;
4519 MenhirLib.EngineTypes.endp = _endpos__3_;
4520 MenhirLib.EngineTypes.next = {
4521 MenhirLib.EngineTypes.semv = _2;
4522 MenhirLib.EngineTypes.startp = _startpos__2_;
4523 MenhirLib.EngineTypes.endp = _endpos__2_;
4524 MenhirLib.EngineTypes.next = {
4525 MenhirLib.EngineTypes.state = _menhir_s;
4526 MenhirLib.EngineTypes.semv = _1;
4527 MenhirLib.EngineTypes.startp = _startpos__1_;
4528 MenhirLib.EngineTypes.endp = _endpos__1_;
4529 MenhirLib.EngineTypes.next = _menhir_stack;
4530 };
4531 };
4532 } = _menhir_stack in
4533 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4534 let _2 : (
4535 # 110 "parser_cocci_menhir.mly"
4536 (Data.clt)
4537 # 4538 "parser_cocci_menhir.ml"
4538 ) = Obj.magic _2 in
4539 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
4540 let _startpos = _startpos__1_ in
4541 let _endpos = _endpos__3_ in
4542 let _v : 'tv_assign_expr_expr_invalid_ =
4543 # 1303 "parser_cocci_menhir.mly"
4544 ( Ast0.wrap
4545 (Ast0.Assignment
4546 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4547 # 4548 "parser_cocci_menhir.ml"
4548 in
4549 _menhir_env.MenhirLib.EngineTypes.stack <- {
4550 MenhirLib.EngineTypes.state = _menhir_s;
4551 MenhirLib.EngineTypes.semv = Obj.repr _v;
4552 MenhirLib.EngineTypes.startp = _startpos;
4553 MenhirLib.EngineTypes.endp = _endpos;
4554 MenhirLib.EngineTypes.next = _menhir_stack;
4555 });
4556 (fun _menhir_env ->
4557 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4558 let {
4559 MenhirLib.EngineTypes.state = _menhir_s;
4560 MenhirLib.EngineTypes.semv = _1;
4561 MenhirLib.EngineTypes.startp = _startpos__1_;
4562 MenhirLib.EngineTypes.endp = _endpos__1_;
4563 MenhirLib.EngineTypes.next = _menhir_stack;
4564 } = _menhir_stack in
4565 let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4566 let _startpos = _startpos__1_ in
4567 let _endpos = _endpos__1_ in
4568 let _v : 'tv_assign_expr_bis =
4569 # 1308 "parser_cocci_menhir.mly"
4570 ( _1 )
4571 # 4572 "parser_cocci_menhir.ml"
4572 in
4573 _menhir_env.MenhirLib.EngineTypes.stack <- {
4574 MenhirLib.EngineTypes.state = _menhir_s;
4575 MenhirLib.EngineTypes.semv = Obj.repr _v;
4576 MenhirLib.EngineTypes.startp = _startpos;
4577 MenhirLib.EngineTypes.endp = _endpos;
4578 MenhirLib.EngineTypes.next = _menhir_stack;
4579 });
4580 (fun _menhir_env ->
4581 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4582 let {
4583 MenhirLib.EngineTypes.semv = _3;
4584 MenhirLib.EngineTypes.startp = _startpos__3_;
4585 MenhirLib.EngineTypes.endp = _endpos__3_;
4586 MenhirLib.EngineTypes.next = {
4587 MenhirLib.EngineTypes.semv = _2;
4588 MenhirLib.EngineTypes.startp = _startpos__2_;
4589 MenhirLib.EngineTypes.endp = _endpos__2_;
4590 MenhirLib.EngineTypes.next = {
4591 MenhirLib.EngineTypes.state = _menhir_s;
4592 MenhirLib.EngineTypes.semv = _1;
4593 MenhirLib.EngineTypes.startp = _startpos__1_;
4594 MenhirLib.EngineTypes.endp = _endpos__1_;
4595 MenhirLib.EngineTypes.next = _menhir_stack;
4596 };
4597 };
4598 } = _menhir_stack in
4599 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4600 let _2 : (
4601 # 111 "parser_cocci_menhir.mly"
4602 (Ast_cocci.assignOp * Data.clt)
4603 # 4604 "parser_cocci_menhir.ml"
4604 ) = Obj.magic _2 in
4605 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4606 let _startpos = _startpos__1_ in
4607 let _endpos = _endpos__3_ in
4608 let _v : 'tv_assign_expr_bis =
4609 # 1310 "parser_cocci_menhir.mly"
4610 ( let (op,clt) = _2 in
4611 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4612 Ast0.set_arg_exp _3,false)) )
4613 # 4614 "parser_cocci_menhir.ml"
4614 in
4615 _menhir_env.MenhirLib.EngineTypes.stack <- {
4616 MenhirLib.EngineTypes.state = _menhir_s;
4617 MenhirLib.EngineTypes.semv = Obj.repr _v;
4618 MenhirLib.EngineTypes.startp = _startpos;
4619 MenhirLib.EngineTypes.endp = _endpos;
4620 MenhirLib.EngineTypes.next = _menhir_stack;
4621 });
4622 (fun _menhir_env ->
4623 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4624 let {
4625 MenhirLib.EngineTypes.semv = _3;
4626 MenhirLib.EngineTypes.startp = _startpos__3_;
4627 MenhirLib.EngineTypes.endp = _endpos__3_;
4628 MenhirLib.EngineTypes.next = {
4629 MenhirLib.EngineTypes.semv = _2;
4630 MenhirLib.EngineTypes.startp = _startpos__2_;
4631 MenhirLib.EngineTypes.endp = _endpos__2_;
4632 MenhirLib.EngineTypes.next = {
4633 MenhirLib.EngineTypes.state = _menhir_s;
4634 MenhirLib.EngineTypes.semv = _1;
4635 MenhirLib.EngineTypes.startp = _startpos__1_;
4636 MenhirLib.EngineTypes.endp = _endpos__1_;
4637 MenhirLib.EngineTypes.next = _menhir_stack;
4638 };
4639 };
4640 } = _menhir_stack in
4641 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4642 let _2 : (
4643 # 110 "parser_cocci_menhir.mly"
4644 (Data.clt)
4645 # 4646 "parser_cocci_menhir.ml"
4646 ) = Obj.magic _2 in
4647 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4648 let _startpos = _startpos__1_ in
4649 let _endpos = _endpos__3_ in
4650 let _v : 'tv_assign_expr_bis =
4651 # 1314 "parser_cocci_menhir.mly"
4652 ( Ast0.wrap
4653 (Ast0.Assignment
4654 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4655 # 4656 "parser_cocci_menhir.ml"
4656 in
4657 _menhir_env.MenhirLib.EngineTypes.stack <- {
4658 MenhirLib.EngineTypes.state = _menhir_s;
4659 MenhirLib.EngineTypes.semv = Obj.repr _v;
4660 MenhirLib.EngineTypes.startp = _startpos;
4661 MenhirLib.EngineTypes.endp = _endpos;
4662 MenhirLib.EngineTypes.next = _menhir_stack;
4663 });
4664 (fun _menhir_env ->
4665 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4666 let {
4667 MenhirLib.EngineTypes.state = _menhir_s;
4668 MenhirLib.EngineTypes.semv = _1;
4669 MenhirLib.EngineTypes.startp = _startpos__1_;
4670 MenhirLib.EngineTypes.endp = _endpos__1_;
4671 MenhirLib.EngineTypes.next = _menhir_stack;
4672 } = _menhir_stack in
4673 let _1 : 'tv_assign_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4674 let _startpos = _startpos__1_ in
4675 let _endpos = _endpos__1_ in
4676 let _v : 'tv_basic_expr_eexpr_dot_expressions_ =
4677 # 1294 "parser_cocci_menhir.mly"
4678 ( _1 )
4679 # 4680 "parser_cocci_menhir.ml"
4680 in
4681 _menhir_env.MenhirLib.EngineTypes.stack <- {
4682 MenhirLib.EngineTypes.state = _menhir_s;
4683 MenhirLib.EngineTypes.semv = Obj.repr _v;
4684 MenhirLib.EngineTypes.startp = _startpos;
4685 MenhirLib.EngineTypes.endp = _endpos;
4686 MenhirLib.EngineTypes.next = _menhir_stack;
4687 });
4688 (fun _menhir_env ->
4689 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4690 let {
4691 MenhirLib.EngineTypes.state = _menhir_s;
4692 MenhirLib.EngineTypes.semv = _1;
4693 MenhirLib.EngineTypes.startp = _startpos__1_;
4694 MenhirLib.EngineTypes.endp = _endpos__1_;
4695 MenhirLib.EngineTypes.next = _menhir_stack;
4696 } = _menhir_stack in
4697 let _1 : 'tv_assign_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4698 let _startpos = _startpos__1_ in
4699 let _endpos = _endpos__1_ in
4700 let _v : 'tv_basic_expr_eexpr_nest_expressions_ =
4701 # 1294 "parser_cocci_menhir.mly"
4702 ( _1 )
4703 # 4704 "parser_cocci_menhir.ml"
4704 in
4705 _menhir_env.MenhirLib.EngineTypes.stack <- {
4706 MenhirLib.EngineTypes.state = _menhir_s;
4707 MenhirLib.EngineTypes.semv = Obj.repr _v;
4708 MenhirLib.EngineTypes.startp = _startpos;
4709 MenhirLib.EngineTypes.endp = _endpos;
4710 MenhirLib.EngineTypes.next = _menhir_stack;
4711 });
4712 (fun _menhir_env ->
4713 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4714 let {
4715 MenhirLib.EngineTypes.state = _menhir_s;
4716 MenhirLib.EngineTypes.semv = _1;
4717 MenhirLib.EngineTypes.startp = _startpos__1_;
4718 MenhirLib.EngineTypes.endp = _endpos__1_;
4719 MenhirLib.EngineTypes.next = _menhir_stack;
4720 } = _menhir_stack in
4721 let _1 : 'tv_assign_expr_expr_invalid_ = Obj.magic _1 in
4722 let _startpos = _startpos__1_ in
4723 let _endpos = _endpos__1_ in
4724 let _v : 'tv_basic_expr_expr_invalid_ =
4725 # 1294 "parser_cocci_menhir.mly"
4726 ( _1 )
4727 # 4728 "parser_cocci_menhir.ml"
4728 in
4729 _menhir_env.MenhirLib.EngineTypes.stack <- {
4730 MenhirLib.EngineTypes.state = _menhir_s;
4731 MenhirLib.EngineTypes.semv = Obj.repr _v;
4732 MenhirLib.EngineTypes.startp = _startpos;
4733 MenhirLib.EngineTypes.endp = _endpos;
4734 MenhirLib.EngineTypes.next = _menhir_stack;
4735 });
4736 (fun _menhir_env ->
4737 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4738 let {
4739 MenhirLib.EngineTypes.semv = _3;
4740 MenhirLib.EngineTypes.startp = _startpos__3_;
4741 MenhirLib.EngineTypes.endp = _endpos__3_;
4742 MenhirLib.EngineTypes.next = {
4743 MenhirLib.EngineTypes.semv = _2;
4744 MenhirLib.EngineTypes.startp = _startpos__2_;
4745 MenhirLib.EngineTypes.endp = _endpos__2_;
4746 MenhirLib.EngineTypes.next = {
4747 MenhirLib.EngineTypes.state = _menhir_s;
4748 MenhirLib.EngineTypes.semv = _1;
4749 MenhirLib.EngineTypes.startp = _startpos__1_;
4750 MenhirLib.EngineTypes.endp = _endpos__1_;
4751 MenhirLib.EngineTypes.next = _menhir_stack;
4752 };
4753 };
4754 } = _menhir_stack in
4755 let _3 : 'tv_fun_start = Obj.magic _3 in
4756 let _2 : (
4757 # 79 "parser_cocci_menhir.mly"
4758 (Data.clt)
4759 # 4760 "parser_cocci_menhir.ml"
4760 ) = Obj.magic _2 in
4761 let _1 : (
4762 # 59 "parser_cocci_menhir.mly"
4763 (Data.clt)
4764 # 4765 "parser_cocci_menhir.ml"
4765 ) = Obj.magic _1 in
4766 let _startpos = _startpos__1_ in
4767 let _endpos = _endpos__3_ in
4768 let _v : 'tv_case_line =
4769 # 1014 "parser_cocci_menhir.mly"
4770 ( Ast0.wrap
4771 (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) )
4772 # 4773 "parser_cocci_menhir.ml"
4773 in
4774 _menhir_env.MenhirLib.EngineTypes.stack <- {
4775 MenhirLib.EngineTypes.state = _menhir_s;
4776 MenhirLib.EngineTypes.semv = Obj.repr _v;
4777 MenhirLib.EngineTypes.startp = _startpos;
4778 MenhirLib.EngineTypes.endp = _endpos;
4779 MenhirLib.EngineTypes.next = _menhir_stack;
4780 });
4781 (fun _menhir_env ->
4782 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4783 let {
4784 MenhirLib.EngineTypes.semv = _4;
4785 MenhirLib.EngineTypes.startp = _startpos__4_;
4786 MenhirLib.EngineTypes.endp = _endpos__4_;
4787 MenhirLib.EngineTypes.next = {
4788 MenhirLib.EngineTypes.semv = _3;
4789 MenhirLib.EngineTypes.startp = _startpos__3_;
4790 MenhirLib.EngineTypes.endp = _endpos__3_;
4791 MenhirLib.EngineTypes.next = {
4792 MenhirLib.EngineTypes.semv = _2;
4793 MenhirLib.EngineTypes.startp = _startpos__2_;
4794 MenhirLib.EngineTypes.endp = _endpos__2_;
4795 MenhirLib.EngineTypes.next = {
4796 MenhirLib.EngineTypes.state = _menhir_s;
4797 MenhirLib.EngineTypes.semv = _1;
4798 MenhirLib.EngineTypes.startp = _startpos__1_;
4799 MenhirLib.EngineTypes.endp = _endpos__1_;
4800 MenhirLib.EngineTypes.next = _menhir_stack;
4801 };
4802 };
4803 };
4804 } = _menhir_stack in
4805 let _4 : 'tv_fun_start = Obj.magic _4 in
4806 let _3 : (
4807 # 79 "parser_cocci_menhir.mly"
4808 (Data.clt)
4809 # 4810 "parser_cocci_menhir.ml"
4810 ) = Obj.magic _3 in
4811 let _2 : 'tv_eexpr = Obj.magic _2 in
4812 let _1 : (
4813 # 59 "parser_cocci_menhir.mly"
4814 (Data.clt)
4815 # 4816 "parser_cocci_menhir.ml"
4816 ) = Obj.magic _1 in
4817 let _startpos = _startpos__1_ in
4818 let _endpos = _endpos__4_ in
4819 let _v : 'tv_case_line =
4820 # 1017 "parser_cocci_menhir.mly"
4821 ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) )
4822 # 4823 "parser_cocci_menhir.ml"
4823 in
4824 _menhir_env.MenhirLib.EngineTypes.stack <- {
4825 MenhirLib.EngineTypes.state = _menhir_s;
4826 MenhirLib.EngineTypes.semv = Obj.repr _v;
4827 MenhirLib.EngineTypes.startp = _startpos;
4828 MenhirLib.EngineTypes.endp = _endpos;
4829 MenhirLib.EngineTypes.next = _menhir_stack;
4830 });
4831 (fun _menhir_env ->
4832 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4833 let {
4834 MenhirLib.EngineTypes.state = _menhir_s;
4835 MenhirLib.EngineTypes.semv = _1;
4836 MenhirLib.EngineTypes.startp = _startpos__1_;
4837 MenhirLib.EngineTypes.endp = _endpos__1_;
4838 MenhirLib.EngineTypes.next = _menhir_stack;
4839 } = _menhir_stack in
4840 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4841 let _startpos = _startpos__1_ in
4842 let _endpos = _endpos__1_ in
4843 let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
4844 # 1356 "parser_cocci_menhir.mly"
4845 ( _1 )
4846 # 4847 "parser_cocci_menhir.ml"
4847 in
4848 _menhir_env.MenhirLib.EngineTypes.stack <- {
4849 MenhirLib.EngineTypes.state = _menhir_s;
4850 MenhirLib.EngineTypes.semv = Obj.repr _v;
4851 MenhirLib.EngineTypes.startp = _startpos;
4852 MenhirLib.EngineTypes.endp = _endpos;
4853 MenhirLib.EngineTypes.next = _menhir_stack;
4854 });
4855 (fun _menhir_env ->
4856 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4857 let {
4858 MenhirLib.EngineTypes.semv = e;
4859 MenhirLib.EngineTypes.startp = _startpos_e_;
4860 MenhirLib.EngineTypes.endp = _endpos_e_;
4861 MenhirLib.EngineTypes.next = {
4862 MenhirLib.EngineTypes.semv = rp;
4863 MenhirLib.EngineTypes.startp = _startpos_rp_;
4864 MenhirLib.EngineTypes.endp = _endpos_rp_;
4865 MenhirLib.EngineTypes.next = {
4866 MenhirLib.EngineTypes.semv = t;
4867 MenhirLib.EngineTypes.startp = _startpos_t_;
4868 MenhirLib.EngineTypes.endp = _endpos_t_;
4869 MenhirLib.EngineTypes.next = {
4870 MenhirLib.EngineTypes.state = _menhir_s;
4871 MenhirLib.EngineTypes.semv = lp;
4872 MenhirLib.EngineTypes.startp = _startpos_lp_;
4873 MenhirLib.EngineTypes.endp = _endpos_lp_;
4874 MenhirLib.EngineTypes.next = _menhir_stack;
4875 };
4876 };
4877 };
4878 } = _menhir_stack in
4879 let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in
4880 let rp : (
4881 # 80 "parser_cocci_menhir.mly"
4882 (Data.clt)
4883 # 4884 "parser_cocci_menhir.ml"
4884 ) = Obj.magic rp in
4885 let t : 'tv_ctype = Obj.magic t in
4886 let lp : (
4887 # 79 "parser_cocci_menhir.mly"
4888 (Data.clt)
4889 # 4890 "parser_cocci_menhir.ml"
4890 ) = Obj.magic lp in
4891 let _startpos = _startpos_lp_ in
4892 let _endpos = _endpos_e_ in
4893 let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
4894 # 1358 "parser_cocci_menhir.mly"
4895 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
4896 P.clt2mcode ")" rp, e)) )
4897 # 4898 "parser_cocci_menhir.ml"
4898 in
4899 _menhir_env.MenhirLib.EngineTypes.stack <- {
4900 MenhirLib.EngineTypes.state = _menhir_s;
4901 MenhirLib.EngineTypes.semv = Obj.repr _v;
4902 MenhirLib.EngineTypes.startp = _startpos;
4903 MenhirLib.EngineTypes.endp = _endpos;
4904 MenhirLib.EngineTypes.next = _menhir_stack;
4905 });
4906 (fun _menhir_env ->
4907 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4908 let {
4909 MenhirLib.EngineTypes.state = _menhir_s;
4910 MenhirLib.EngineTypes.semv = _1;
4911 MenhirLib.EngineTypes.startp = _startpos__1_;
4912 MenhirLib.EngineTypes.endp = _endpos__1_;
4913 MenhirLib.EngineTypes.next = _menhir_stack;
4914 } = _menhir_stack in
4915 let _1 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _1 in
4916 let _startpos = _startpos__1_ in
4917 let _endpos = _endpos__1_ in
4918 let _v : 'tv_cast_expr_eexpr_invalid_ =
4919 # 1356 "parser_cocci_menhir.mly"
4920 ( _1 )
4921 # 4922 "parser_cocci_menhir.ml"
4922 in
4923 _menhir_env.MenhirLib.EngineTypes.stack <- {
4924 MenhirLib.EngineTypes.state = _menhir_s;
4925 MenhirLib.EngineTypes.semv = Obj.repr _v;
4926 MenhirLib.EngineTypes.startp = _startpos;
4927 MenhirLib.EngineTypes.endp = _endpos;
4928 MenhirLib.EngineTypes.next = _menhir_stack;
4929 });
4930 (fun _menhir_env ->
4931 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4932 let {
4933 MenhirLib.EngineTypes.semv = e;
4934 MenhirLib.EngineTypes.startp = _startpos_e_;
4935 MenhirLib.EngineTypes.endp = _endpos_e_;
4936 MenhirLib.EngineTypes.next = {
4937 MenhirLib.EngineTypes.semv = rp;
4938 MenhirLib.EngineTypes.startp = _startpos_rp_;
4939 MenhirLib.EngineTypes.endp = _endpos_rp_;
4940 MenhirLib.EngineTypes.next = {
4941 MenhirLib.EngineTypes.semv = t;
4942 MenhirLib.EngineTypes.startp = _startpos_t_;
4943 MenhirLib.EngineTypes.endp = _endpos_t_;
4944 MenhirLib.EngineTypes.next = {
4945 MenhirLib.EngineTypes.state = _menhir_s;
4946 MenhirLib.EngineTypes.semv = lp;
4947 MenhirLib.EngineTypes.startp = _startpos_lp_;
4948 MenhirLib.EngineTypes.endp = _endpos_lp_;
4949 MenhirLib.EngineTypes.next = _menhir_stack;
4950 };
4951 };
4952 };
4953 } = _menhir_stack in
4954 let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in
4955 let rp : (
4956 # 80 "parser_cocci_menhir.mly"
4957 (Data.clt)
4958 # 4959 "parser_cocci_menhir.ml"
4959 ) = Obj.magic rp in
4960 let t : 'tv_ctype = Obj.magic t in
4961 let lp : (
4962 # 79 "parser_cocci_menhir.mly"
4963 (Data.clt)
4964 # 4965 "parser_cocci_menhir.ml"
4965 ) = Obj.magic lp in
4966 let _startpos = _startpos_lp_ in
4967 let _endpos = _endpos_e_ in
4968 let _v : 'tv_cast_expr_eexpr_invalid_ =
4969 # 1358 "parser_cocci_menhir.mly"
4970 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
4971 P.clt2mcode ")" rp, e)) )
4972 # 4973 "parser_cocci_menhir.ml"
4973 in
4974 _menhir_env.MenhirLib.EngineTypes.stack <- {
4975 MenhirLib.EngineTypes.state = _menhir_s;
4976 MenhirLib.EngineTypes.semv = Obj.repr _v;
4977 MenhirLib.EngineTypes.startp = _startpos;
4978 MenhirLib.EngineTypes.endp = _endpos;
4979 MenhirLib.EngineTypes.next = _menhir_stack;
4980 });
4981 (fun _menhir_env ->
4982 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4983 let {
4984 MenhirLib.EngineTypes.state = _menhir_s;
4985 MenhirLib.EngineTypes.semv = _1;
4986 MenhirLib.EngineTypes.startp = _startpos__1_;
4987 MenhirLib.EngineTypes.endp = _endpos__1_;
4988 MenhirLib.EngineTypes.next = _menhir_stack;
4989 } = _menhir_stack in
4990 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4991 let _startpos = _startpos__1_ in
4992 let _endpos = _endpos__1_ in
4993 let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
4994 # 1356 "parser_cocci_menhir.mly"
4995 ( _1 )
4996 # 4997 "parser_cocci_menhir.ml"
4997 in
4998 _menhir_env.MenhirLib.EngineTypes.stack <- {
4999 MenhirLib.EngineTypes.state = _menhir_s;
5000 MenhirLib.EngineTypes.semv = Obj.repr _v;
5001 MenhirLib.EngineTypes.startp = _startpos;
5002 MenhirLib.EngineTypes.endp = _endpos;
5003 MenhirLib.EngineTypes.next = _menhir_stack;
5004 });
5005 (fun _menhir_env ->
5006 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5007 let {
5008 MenhirLib.EngineTypes.semv = e;
5009 MenhirLib.EngineTypes.startp = _startpos_e_;
5010 MenhirLib.EngineTypes.endp = _endpos_e_;
5011 MenhirLib.EngineTypes.next = {
5012 MenhirLib.EngineTypes.semv = rp;
5013 MenhirLib.EngineTypes.startp = _startpos_rp_;
5014 MenhirLib.EngineTypes.endp = _endpos_rp_;
5015 MenhirLib.EngineTypes.next = {
5016 MenhirLib.EngineTypes.semv = t;
5017 MenhirLib.EngineTypes.startp = _startpos_t_;
5018 MenhirLib.EngineTypes.endp = _endpos_t_;
5019 MenhirLib.EngineTypes.next = {
5020 MenhirLib.EngineTypes.state = _menhir_s;
5021 MenhirLib.EngineTypes.semv = lp;
5022 MenhirLib.EngineTypes.startp = _startpos_lp_;
5023 MenhirLib.EngineTypes.endp = _endpos_lp_;
5024 MenhirLib.EngineTypes.next = _menhir_stack;
5025 };
5026 };
5027 };
5028 } = _menhir_stack in
5029 let e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in
5030 let rp : (
5031 # 80 "parser_cocci_menhir.mly"
5032 (Data.clt)
5033 # 5034 "parser_cocci_menhir.ml"
5034 ) = Obj.magic rp in
5035 let t : 'tv_ctype = Obj.magic t in
5036 let lp : (
5037 # 79 "parser_cocci_menhir.mly"
5038 (Data.clt)
5039 # 5040 "parser_cocci_menhir.ml"
5040 ) = Obj.magic lp in
5041 let _startpos = _startpos_lp_ in
5042 let _endpos = _endpos_e_ in
5043 let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
5044 # 1358 "parser_cocci_menhir.mly"
5045 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
5046 P.clt2mcode ")" rp, e)) )
5047 # 5048 "parser_cocci_menhir.ml"
5048 in
5049 _menhir_env.MenhirLib.EngineTypes.stack <- {
5050 MenhirLib.EngineTypes.state = _menhir_s;
5051 MenhirLib.EngineTypes.semv = Obj.repr _v;
5052 MenhirLib.EngineTypes.startp = _startpos;
5053 MenhirLib.EngineTypes.endp = _endpos;
5054 MenhirLib.EngineTypes.next = _menhir_stack;
5055 });
5056 (fun _menhir_env ->
5057 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5058 let {
5059 MenhirLib.EngineTypes.state = _menhir_s;
5060 MenhirLib.EngineTypes.semv = _1;
5061 MenhirLib.EngineTypes.startp = _startpos__1_;
5062 MenhirLib.EngineTypes.endp = _endpos__1_;
5063 MenhirLib.EngineTypes.next = _menhir_stack;
5064 } = _menhir_stack in
5065 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
5066 let _startpos = _startpos__1_ in
5067 let _endpos = _endpos__1_ in
5068 let _v : 'tv_cast_expr_expr_invalid_ =
5069 # 1356 "parser_cocci_menhir.mly"
5070 ( _1 )
5071 # 5072 "parser_cocci_menhir.ml"
5072 in
5073 _menhir_env.MenhirLib.EngineTypes.stack <- {
5074 MenhirLib.EngineTypes.state = _menhir_s;
5075 MenhirLib.EngineTypes.semv = Obj.repr _v;
5076 MenhirLib.EngineTypes.startp = _startpos;
5077 MenhirLib.EngineTypes.endp = _endpos;
5078 MenhirLib.EngineTypes.next = _menhir_stack;
5079 });
5080 (fun _menhir_env ->
5081 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5082 let {
5083 MenhirLib.EngineTypes.semv = e;
5084 MenhirLib.EngineTypes.startp = _startpos_e_;
5085 MenhirLib.EngineTypes.endp = _endpos_e_;
5086 MenhirLib.EngineTypes.next = {
5087 MenhirLib.EngineTypes.semv = rp;
5088 MenhirLib.EngineTypes.startp = _startpos_rp_;
5089 MenhirLib.EngineTypes.endp = _endpos_rp_;
5090 MenhirLib.EngineTypes.next = {
5091 MenhirLib.EngineTypes.semv = t;
5092 MenhirLib.EngineTypes.startp = _startpos_t_;
5093 MenhirLib.EngineTypes.endp = _endpos_t_;
5094 MenhirLib.EngineTypes.next = {
5095 MenhirLib.EngineTypes.state = _menhir_s;
5096 MenhirLib.EngineTypes.semv = lp;
5097 MenhirLib.EngineTypes.startp = _startpos_lp_;
5098 MenhirLib.EngineTypes.endp = _endpos_lp_;
5099 MenhirLib.EngineTypes.next = _menhir_stack;
5100 };
5101 };
5102 };
5103 } = _menhir_stack in
5104 let e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in
5105 let rp : (
5106 # 80 "parser_cocci_menhir.mly"
5107 (Data.clt)
5108 # 5109 "parser_cocci_menhir.ml"
5109 ) = Obj.magic rp in
5110 let t : 'tv_ctype = Obj.magic t in
5111 let lp : (
5112 # 79 "parser_cocci_menhir.mly"
5113 (Data.clt)
5114 # 5115 "parser_cocci_menhir.ml"
5115 ) = Obj.magic lp in
5116 let _startpos = _startpos_lp_ in
5117 let _endpos = _endpos_e_ in
5118 let _v : 'tv_cast_expr_expr_invalid_ =
5119 # 1358 "parser_cocci_menhir.mly"
5120 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
5121 P.clt2mcode ")" rp, e)) )
5122 # 5123 "parser_cocci_menhir.ml"
5123 in
5124 _menhir_env.MenhirLib.EngineTypes.stack <- {
5125 MenhirLib.EngineTypes.state = _menhir_s;
5126 MenhirLib.EngineTypes.semv = Obj.repr _v;
5127 MenhirLib.EngineTypes.startp = _startpos;
5128 MenhirLib.EngineTypes.endp = _endpos;
5129 MenhirLib.EngineTypes.next = _menhir_stack;
5130 });
5131 (fun _menhir_env ->
5132 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5133 let {
5134 MenhirLib.EngineTypes.semv = _2;
5135 MenhirLib.EngineTypes.startp = _startpos__2_;
5136 MenhirLib.EngineTypes.endp = _endpos__2_;
5137 MenhirLib.EngineTypes.next = {
5138 MenhirLib.EngineTypes.state = _menhir_s;
5139 MenhirLib.EngineTypes.startp = _startpos__1_;
5140 MenhirLib.EngineTypes.endp = _endpos__1_;
5141 MenhirLib.EngineTypes.next = _menhir_stack;
5142 };
5143 } = _menhir_stack in
5144 let _2 : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic _2 in
5145 let _startpos = _startpos__1_ in
5146 let _endpos = _endpos__2_ in
5147 let _v : 'tv_choose_iso =
5148 # 242 "parser_cocci_menhir.mly"
5149 ( List.map P.id2name _2 )
5150 # 5151 "parser_cocci_menhir.ml"
5151 in
5152 _menhir_env.MenhirLib.EngineTypes.stack <- {
5153 MenhirLib.EngineTypes.state = _menhir_s;
5154 MenhirLib.EngineTypes.semv = Obj.repr _v;
5155 MenhirLib.EngineTypes.startp = _startpos;
5156 MenhirLib.EngineTypes.endp = _endpos;
5157 MenhirLib.EngineTypes.next = _menhir_stack;
5158 });
5159 (fun _menhir_env ->
5160 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5161 let {
5162 MenhirLib.EngineTypes.state = _menhir_s;
5163 MenhirLib.EngineTypes.semv = _1;
5164 MenhirLib.EngineTypes.startp = _startpos__1_;
5165 MenhirLib.EngineTypes.endp = _endpos__1_;
5166 MenhirLib.EngineTypes.next = _menhir_stack;
5167 } = _menhir_stack in
5168 let _1 : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic _1 in
5169 let _startpos = _startpos__1_ in
5170 let _endpos = _endpos__1_ in
5171 let _v : 'tv_comma_list_any_strict_ =
5172 # 2009 "parser_cocci_menhir.mly"
5173 ( _1 )
5174 # 5175 "parser_cocci_menhir.ml"
5175 in
5176 _menhir_env.MenhirLib.EngineTypes.stack <- {
5177 MenhirLib.EngineTypes.state = _menhir_s;
5178 MenhirLib.EngineTypes.semv = Obj.repr _v;
5179 MenhirLib.EngineTypes.startp = _startpos;
5180 MenhirLib.EngineTypes.endp = _endpos;
5181 MenhirLib.EngineTypes.next = _menhir_stack;
5182 });
5183 (fun _menhir_env ->
5184 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5185 let {
5186 MenhirLib.EngineTypes.state = _menhir_s;
5187 MenhirLib.EngineTypes.semv = _1;
5188 MenhirLib.EngineTypes.startp = _startpos__1_;
5189 MenhirLib.EngineTypes.endp = _endpos__1_;
5190 MenhirLib.EngineTypes.next = _menhir_stack;
5191 } = _menhir_stack in
5192 let _1 : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic _1 in
5193 let _startpos = _startpos__1_ in
5194 let _endpos = _endpos__1_ in
5195 let _v : 'tv_comma_list_ctype_ =
5196 # 2009 "parser_cocci_menhir.mly"
5197 ( _1 )
5198 # 5199 "parser_cocci_menhir.ml"
5199 in
5200 _menhir_env.MenhirLib.EngineTypes.stack <- {
5201 MenhirLib.EngineTypes.state = _menhir_s;
5202 MenhirLib.EngineTypes.semv = Obj.repr _v;
5203 MenhirLib.EngineTypes.startp = _startpos;
5204 MenhirLib.EngineTypes.endp = _endpos;
5205 MenhirLib.EngineTypes.next = _menhir_stack;
5206 });
5207 (fun _menhir_env ->
5208 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5209 let {
5210 MenhirLib.EngineTypes.state = _menhir_s;
5211 MenhirLib.EngineTypes.semv = _1;
5212 MenhirLib.EngineTypes.startp = _startpos__1_;
5213 MenhirLib.EngineTypes.endp = _endpos__1_;
5214 MenhirLib.EngineTypes.next = _menhir_stack;
5215 } = _menhir_stack in
5216 let _1 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic _1 in
5217 let _startpos = _startpos__1_ in
5218 let _endpos = _endpos__1_ in
5219 let _v : 'tv_comma_list_d_ident_ =
5220 # 2009 "parser_cocci_menhir.mly"
5221 ( _1 )
5222 # 5223 "parser_cocci_menhir.ml"
5223 in
5224 _menhir_env.MenhirLib.EngineTypes.stack <- {
5225 MenhirLib.EngineTypes.state = _menhir_s;
5226 MenhirLib.EngineTypes.semv = Obj.repr _v;
5227 MenhirLib.EngineTypes.startp = _startpos;
5228 MenhirLib.EngineTypes.endp = _endpos;
5229 MenhirLib.EngineTypes.next = _menhir_stack;
5230 });
5231 (fun _menhir_env ->
5232 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5233 let {
5234 MenhirLib.EngineTypes.state = _menhir_s;
5235 MenhirLib.EngineTypes.semv = _1;
5236 MenhirLib.EngineTypes.startp = _startpos__1_;
5237 MenhirLib.EngineTypes.endp = _endpos__1_;
5238 MenhirLib.EngineTypes.next = _menhir_stack;
5239 } = _menhir_stack in
5240 let _1 : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic _1 in
5241 let _startpos = _startpos__1_ in
5242 let _endpos = _endpos__1_ in
5243 let _v : 'tv_comma_list_ident_or_const_ =
5244 # 2009 "parser_cocci_menhir.mly"
5245 ( _1 )
5246 # 5247 "parser_cocci_menhir.ml"
5247 in
5248 _menhir_env.MenhirLib.EngineTypes.stack <- {
5249 MenhirLib.EngineTypes.state = _menhir_s;
5250 MenhirLib.EngineTypes.semv = Obj.repr _v;
5251 MenhirLib.EngineTypes.startp = _startpos;
5252 MenhirLib.EngineTypes.endp = _endpos;
5253 MenhirLib.EngineTypes.next = _menhir_stack;
5254 });
5255 (fun _menhir_env ->
5256 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5257 let {
5258 MenhirLib.EngineTypes.state = _menhir_s;
5259 MenhirLib.EngineTypes.semv = _1;
5260 MenhirLib.EngineTypes.startp = _startpos__1_;
5261 MenhirLib.EngineTypes.endp = _endpos__1_;
5262 MenhirLib.EngineTypes.next = _menhir_stack;
5263 } = _menhir_stack in
5264 let _1 : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic _1 in
5265 let _startpos = _startpos__1_ in
5266 let _endpos = _endpos__1_ in
5267 let _v : 'tv_comma_list_meta_ident_ =
5268 # 2009 "parser_cocci_menhir.mly"
5269 ( _1 )
5270 # 5271 "parser_cocci_menhir.ml"
5271 in
5272 _menhir_env.MenhirLib.EngineTypes.stack <- {
5273 MenhirLib.EngineTypes.state = _menhir_s;
5274 MenhirLib.EngineTypes.semv = Obj.repr _v;
5275 MenhirLib.EngineTypes.startp = _startpos;
5276 MenhirLib.EngineTypes.endp = _endpos;
5277 MenhirLib.EngineTypes.next = _menhir_stack;
5278 });
5279 (fun _menhir_env ->
5280 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5281 let {
5282 MenhirLib.EngineTypes.state = _menhir_s;
5283 MenhirLib.EngineTypes.semv = _1;
5284 MenhirLib.EngineTypes.startp = _startpos__1_;
5285 MenhirLib.EngineTypes.endp = _endpos__1_;
5286 MenhirLib.EngineTypes.next = _menhir_stack;
5287 } = _menhir_stack in
5288 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _1 in
5289 let _startpos = _startpos__1_ in
5290 let _endpos = _endpos__1_ in
5291 let _v : 'tv_comma_list_pure_ident_ =
5292 # 2009 "parser_cocci_menhir.mly"
5293 ( _1 )
5294 # 5295 "parser_cocci_menhir.ml"
5295 in
5296 _menhir_env.MenhirLib.EngineTypes.stack <- {
5297 MenhirLib.EngineTypes.state = _menhir_s;
5298 MenhirLib.EngineTypes.semv = Obj.repr _v;
5299 MenhirLib.EngineTypes.startp = _startpos;
5300 MenhirLib.EngineTypes.endp = _endpos;
5301 MenhirLib.EngineTypes.next = _menhir_stack;
5302 });
5303 (fun _menhir_env ->
5304 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5305 let {
5306 MenhirLib.EngineTypes.state = _menhir_s;
5307 MenhirLib.EngineTypes.semv = _1;
5308 MenhirLib.EngineTypes.startp = _startpos__1_;
5309 MenhirLib.EngineTypes.endp = _endpos__1_;
5310 MenhirLib.EngineTypes.next = _menhir_stack;
5311 } = _menhir_stack in
5312 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic _1 in
5313 let _startpos = _startpos__1_ in
5314 let _endpos = _endpos__1_ in
5315 let _v : 'tv_comma_list_pure_ident_or_meta_ident_ =
5316 # 2009 "parser_cocci_menhir.mly"
5317 ( _1 )
5318 # 5319 "parser_cocci_menhir.ml"
5319 in
5320 _menhir_env.MenhirLib.EngineTypes.stack <- {
5321 MenhirLib.EngineTypes.state = _menhir_s;
5322 MenhirLib.EngineTypes.semv = Obj.repr _v;
5323 MenhirLib.EngineTypes.startp = _startpos;
5324 MenhirLib.EngineTypes.endp = _endpos;
5325 MenhirLib.EngineTypes.next = _menhir_stack;
5326 });
5327 (fun _menhir_env ->
5328 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5329 let {
5330 MenhirLib.EngineTypes.state = _menhir_s;
5331 MenhirLib.EngineTypes.semv = _1;
5332 MenhirLib.EngineTypes.startp = _startpos__1_;
5333 MenhirLib.EngineTypes.endp = _endpos__1_;
5334 MenhirLib.EngineTypes.next = _menhir_stack;
5335 } = _menhir_stack in
5336 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic _1 in
5337 let _startpos = _startpos__1_ in
5338 let _endpos = _endpos__1_ in
5339 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
5340 # 2009 "parser_cocci_menhir.mly"
5341 ( _1 )
5342 # 5343 "parser_cocci_menhir.ml"
5343 in
5344 _menhir_env.MenhirLib.EngineTypes.stack <- {
5345 MenhirLib.EngineTypes.state = _menhir_s;
5346 MenhirLib.EngineTypes.semv = Obj.repr _v;
5347 MenhirLib.EngineTypes.startp = _startpos;
5348 MenhirLib.EngineTypes.endp = _endpos;
5349 MenhirLib.EngineTypes.next = _menhir_stack;
5350 });
5351 (fun _menhir_env ->
5352 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5353 let {
5354 MenhirLib.EngineTypes.state = _menhir_s;
5355 MenhirLib.EngineTypes.semv = _1;
5356 MenhirLib.EngineTypes.startp = _startpos__1_;
5357 MenhirLib.EngineTypes.endp = _endpos__1_;
5358 MenhirLib.EngineTypes.next = _menhir_stack;
5359 } = _menhir_stack in
5360 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic _1 in
5361 let _startpos = _startpos__1_ in
5362 let _endpos = _endpos__1_ in
5363 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
5364 # 2009 "parser_cocci_menhir.mly"
5365 ( _1 )
5366 # 5367 "parser_cocci_menhir.ml"
5367 in
5368 _menhir_env.MenhirLib.EngineTypes.stack <- {
5369 MenhirLib.EngineTypes.state = _menhir_s;
5370 MenhirLib.EngineTypes.semv = Obj.repr _v;
5371 MenhirLib.EngineTypes.startp = _startpos;
5372 MenhirLib.EngineTypes.endp = _endpos;
5373 MenhirLib.EngineTypes.next = _menhir_stack;
5374 });
5375 (fun _menhir_env ->
5376 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5377 let {
5378 MenhirLib.EngineTypes.state = _menhir_s;
5379 MenhirLib.EngineTypes.semv = _1;
5380 MenhirLib.EngineTypes.startp = _startpos__1_;
5381 MenhirLib.EngineTypes.endp = _endpos__1_;
5382 MenhirLib.EngineTypes.next = _menhir_stack;
5383 } = _menhir_stack in
5384 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic _1 in
5385 let _startpos = _startpos__1_ in
5386 let _endpos = _endpos__1_ in
5387 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
5388 # 2009 "parser_cocci_menhir.mly"
5389 ( _1 )
5390 # 5391 "parser_cocci_menhir.ml"
5391 in
5392 _menhir_env.MenhirLib.EngineTypes.stack <- {
5393 MenhirLib.EngineTypes.state = _menhir_s;
5394 MenhirLib.EngineTypes.semv = Obj.repr _v;
5395 MenhirLib.EngineTypes.startp = _startpos;
5396 MenhirLib.EngineTypes.endp = _endpos;
5397 MenhirLib.EngineTypes.next = _menhir_stack;
5398 });
5399 (fun _menhir_env ->
5400 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5401 let {
5402 MenhirLib.EngineTypes.state = _menhir_s;
5403 MenhirLib.EngineTypes.semv = _1;
5404 MenhirLib.EngineTypes.startp = _startpos__1_;
5405 MenhirLib.EngineTypes.endp = _endpos__1_;
5406 MenhirLib.EngineTypes.next = _menhir_stack;
5407 } = _menhir_stack in
5408 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic _1 in
5409 let _startpos = _startpos__1_ in
5410 let _endpos = _endpos__1_ in
5411 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
5412 # 2009 "parser_cocci_menhir.mly"
5413 ( _1 )
5414 # 5415 "parser_cocci_menhir.ml"
5415 in
5416 _menhir_env.MenhirLib.EngineTypes.stack <- {
5417 MenhirLib.EngineTypes.state = _menhir_s;
5418 MenhirLib.EngineTypes.semv = Obj.repr _v;
5419 MenhirLib.EngineTypes.startp = _startpos;
5420 MenhirLib.EngineTypes.endp = _endpos;
5421 MenhirLib.EngineTypes.next = _menhir_stack;
5422 });
5423 (fun _menhir_env ->
5424 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5425 let {
5426 MenhirLib.EngineTypes.state = _menhir_s;
5427 MenhirLib.EngineTypes.semv = _1;
5428 MenhirLib.EngineTypes.startp = _startpos__1_;
5429 MenhirLib.EngineTypes.endp = _endpos__1_;
5430 MenhirLib.EngineTypes.next = _menhir_stack;
5431 } = _menhir_stack in
5432 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic _1 in
5433 let _startpos = _startpos__1_ in
5434 let _endpos = _endpos__1_ in
5435 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ =
5436 # 2009 "parser_cocci_menhir.mly"
5437 ( _1 )
5438 # 5439 "parser_cocci_menhir.ml"
5439 in
5440 _menhir_env.MenhirLib.EngineTypes.stack <- {
5441 MenhirLib.EngineTypes.state = _menhir_s;
5442 MenhirLib.EngineTypes.semv = Obj.repr _v;
5443 MenhirLib.EngineTypes.startp = _startpos;
5444 MenhirLib.EngineTypes.endp = _endpos;
5445 MenhirLib.EngineTypes.next = _menhir_stack;
5446 });
5447 (fun _menhir_env ->
5448 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5449 let {
5450 MenhirLib.EngineTypes.state = _menhir_s;
5451 MenhirLib.EngineTypes.semv = _1;
5452 MenhirLib.EngineTypes.startp = _startpos__1_;
5453 MenhirLib.EngineTypes.endp = _endpos__1_;
5454 MenhirLib.EngineTypes.next = _menhir_stack;
5455 } = _menhir_stack in
5456 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic _1 in
5457 let _startpos = _startpos__1_ in
5458 let _endpos = _endpos__1_ in
5459 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
5460 # 2009 "parser_cocci_menhir.mly"
5461 ( _1 )
5462 # 5463 "parser_cocci_menhir.ml"
5463 in
5464 _menhir_env.MenhirLib.EngineTypes.stack <- {
5465 MenhirLib.EngineTypes.state = _menhir_s;
5466 MenhirLib.EngineTypes.semv = Obj.repr _v;
5467 MenhirLib.EngineTypes.startp = _startpos;
5468 MenhirLib.EngineTypes.endp = _endpos;
5469 MenhirLib.EngineTypes.next = _menhir_stack;
5470 });
5471 (fun _menhir_env ->
5472 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5473 let {
5474 MenhirLib.EngineTypes.state = _menhir_s;
5475 MenhirLib.EngineTypes.semv = _1;
5476 MenhirLib.EngineTypes.startp = _startpos__1_;
5477 MenhirLib.EngineTypes.endp = _endpos__1_;
5478 MenhirLib.EngineTypes.next = _menhir_stack;
5479 } = _menhir_stack in
5480 let _1 : 'tv_separated_nonempty_list_TComma_typedef_ident_ = Obj.magic _1 in
5481 let _startpos = _startpos__1_ in
5482 let _endpos = _endpos__1_ in
5483 let _v : 'tv_comma_list_typedef_ident_ =
5484 # 2009 "parser_cocci_menhir.mly"
5485 ( _1 )
5486 # 5487 "parser_cocci_menhir.ml"
5487 in
5488 _menhir_env.MenhirLib.EngineTypes.stack <- {
5489 MenhirLib.EngineTypes.state = _menhir_s;
5490 MenhirLib.EngineTypes.semv = Obj.repr _v;
5491 MenhirLib.EngineTypes.startp = _startpos;
5492 MenhirLib.EngineTypes.endp = _endpos;
5493 MenhirLib.EngineTypes.next = _menhir_stack;
5494 });
5495 (fun _menhir_env ->
5496 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5497 let {
5498 MenhirLib.EngineTypes.state = _menhir_s;
5499 MenhirLib.EngineTypes.semv = _1;
5500 MenhirLib.EngineTypes.startp = _startpos__1_;
5501 MenhirLib.EngineTypes.endp = _endpos__1_;
5502 MenhirLib.EngineTypes.next = _menhir_stack;
5503 } = _menhir_stack in
5504 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
5505 let _startpos = _startpos__1_ in
5506 let _endpos = _endpos__1_ in
5507 let _v : 'tv_cond_expr_eexpr_dot_expressions_ =
5508 # 1319 "parser_cocci_menhir.mly"
5509 ( _1 )
5510 # 5511 "parser_cocci_menhir.ml"
5511 in
5512 _menhir_env.MenhirLib.EngineTypes.stack <- {
5513 MenhirLib.EngineTypes.state = _menhir_s;
5514 MenhirLib.EngineTypes.semv = Obj.repr _v;
5515 MenhirLib.EngineTypes.startp = _startpos;
5516 MenhirLib.EngineTypes.endp = _endpos;
5517 MenhirLib.EngineTypes.next = _menhir_stack;
5518 });
5519 (fun _menhir_env ->
5520 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5521 let {
5522 MenhirLib.EngineTypes.semv = r;
5523 MenhirLib.EngineTypes.startp = _startpos_r_;
5524 MenhirLib.EngineTypes.endp = _endpos_r_;
5525 MenhirLib.EngineTypes.next = {
5526 MenhirLib.EngineTypes.semv = dd;
5527 MenhirLib.EngineTypes.startp = _startpos_dd_;
5528 MenhirLib.EngineTypes.endp = _endpos_dd_;
5529 MenhirLib.EngineTypes.next = {
5530 MenhirLib.EngineTypes.semv = t;
5531 MenhirLib.EngineTypes.startp = _startpos_t_;
5532 MenhirLib.EngineTypes.endp = _endpos_t_;
5533 MenhirLib.EngineTypes.next = {
5534 MenhirLib.EngineTypes.semv = w;
5535 MenhirLib.EngineTypes.startp = _startpos_w_;
5536 MenhirLib.EngineTypes.endp = _endpos_w_;
5537 MenhirLib.EngineTypes.next = {
5538 MenhirLib.EngineTypes.state = _menhir_s;
5539 MenhirLib.EngineTypes.semv = l;
5540 MenhirLib.EngineTypes.startp = _startpos_l_;
5541 MenhirLib.EngineTypes.endp = _endpos_l_;
5542 MenhirLib.EngineTypes.next = _menhir_stack;
5543 };
5544 };
5545 };
5546 };
5547 } = _menhir_stack in
5548 let r : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic r in
5549 let dd : (
5550 # 79 "parser_cocci_menhir.mly"
5551 (Data.clt)
5552 # 5553 "parser_cocci_menhir.ml"
5553 ) = Obj.magic dd in
5554 let t : 'tv_option_eexpr_ = Obj.magic t in
5555 let w : (
5556 # 79 "parser_cocci_menhir.mly"
5557 (Data.clt)
5558 # 5559 "parser_cocci_menhir.ml"
5559 ) = Obj.magic w in
5560 let l : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic l in
5561 let _startpos = _startpos_l_ in
5562 let _endpos = _endpos_r_ in
5563 let _v : 'tv_cond_expr_eexpr_dot_expressions_ =
5564 # 1321 "parser_cocci_menhir.mly"
5565 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
5566 P.clt2mcode ":" dd, r)) )
5567 # 5568 "parser_cocci_menhir.ml"
5568 in
5569 _menhir_env.MenhirLib.EngineTypes.stack <- {
5570 MenhirLib.EngineTypes.state = _menhir_s;
5571 MenhirLib.EngineTypes.semv = Obj.repr _v;
5572 MenhirLib.EngineTypes.startp = _startpos;
5573 MenhirLib.EngineTypes.endp = _endpos;
5574 MenhirLib.EngineTypes.next = _menhir_stack;
5575 });
5576 (fun _menhir_env ->
5577 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5578 let {
5579 MenhirLib.EngineTypes.state = _menhir_s;
5580 MenhirLib.EngineTypes.semv = _1;
5581 MenhirLib.EngineTypes.startp = _startpos__1_;
5582 MenhirLib.EngineTypes.endp = _endpos__1_;
5583 MenhirLib.EngineTypes.next = _menhir_stack;
5584 } = _menhir_stack in
5585 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
5586 let _startpos = _startpos__1_ in
5587 let _endpos = _endpos__1_ in
5588 let _v : 'tv_cond_expr_eexpr_nest_expressions_ =
5589 # 1319 "parser_cocci_menhir.mly"
5590 ( _1 )
5591 # 5592 "parser_cocci_menhir.ml"
5592 in
5593 _menhir_env.MenhirLib.EngineTypes.stack <- {
5594 MenhirLib.EngineTypes.state = _menhir_s;
5595 MenhirLib.EngineTypes.semv = Obj.repr _v;
5596 MenhirLib.EngineTypes.startp = _startpos;
5597 MenhirLib.EngineTypes.endp = _endpos;
5598 MenhirLib.EngineTypes.next = _menhir_stack;
5599 });
5600 (fun _menhir_env ->
5601 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5602 let {
5603 MenhirLib.EngineTypes.semv = r;
5604 MenhirLib.EngineTypes.startp = _startpos_r_;
5605 MenhirLib.EngineTypes.endp = _endpos_r_;
5606 MenhirLib.EngineTypes.next = {
5607 MenhirLib.EngineTypes.semv = dd;
5608 MenhirLib.EngineTypes.startp = _startpos_dd_;
5609 MenhirLib.EngineTypes.endp = _endpos_dd_;
5610 MenhirLib.EngineTypes.next = {
5611 MenhirLib.EngineTypes.semv = t;
5612 MenhirLib.EngineTypes.startp = _startpos_t_;
5613 MenhirLib.EngineTypes.endp = _endpos_t_;
5614 MenhirLib.EngineTypes.next = {
5615 MenhirLib.EngineTypes.semv = w;
5616 MenhirLib.EngineTypes.startp = _startpos_w_;
5617 MenhirLib.EngineTypes.endp = _endpos_w_;
5618 MenhirLib.EngineTypes.next = {
5619 MenhirLib.EngineTypes.state = _menhir_s;
5620 MenhirLib.EngineTypes.semv = l;
5621 MenhirLib.EngineTypes.startp = _startpos_l_;
5622 MenhirLib.EngineTypes.endp = _endpos_l_;
5623 MenhirLib.EngineTypes.next = _menhir_stack;
5624 };
5625 };
5626 };
5627 };
5628 } = _menhir_stack in
5629 let r : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic r in
5630 let dd : (
5631 # 79 "parser_cocci_menhir.mly"
5632 (Data.clt)
5633 # 5634 "parser_cocci_menhir.ml"
5634 ) = Obj.magic dd in
5635 let t : 'tv_option_eexpr_ = Obj.magic t in
5636 let w : (
5637 # 79 "parser_cocci_menhir.mly"
5638 (Data.clt)
5639 # 5640 "parser_cocci_menhir.ml"
5640 ) = Obj.magic w in
5641 let l : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic l in
5642 let _startpos = _startpos_l_ in
5643 let _endpos = _endpos_r_ in
5644 let _v : 'tv_cond_expr_eexpr_nest_expressions_ =
5645 # 1321 "parser_cocci_menhir.mly"
5646 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
5647 P.clt2mcode ":" dd, r)) )
5648 # 5649 "parser_cocci_menhir.ml"
5649 in
5650 _menhir_env.MenhirLib.EngineTypes.stack <- {
5651 MenhirLib.EngineTypes.state = _menhir_s;
5652 MenhirLib.EngineTypes.semv = Obj.repr _v;
5653 MenhirLib.EngineTypes.startp = _startpos;
5654 MenhirLib.EngineTypes.endp = _endpos;
5655 MenhirLib.EngineTypes.next = _menhir_stack;
5656 });
5657 (fun _menhir_env ->
5658 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5659 let {
5660 MenhirLib.EngineTypes.state = _menhir_s;
5661 MenhirLib.EngineTypes.semv = _1;
5662 MenhirLib.EngineTypes.startp = _startpos__1_;
5663 MenhirLib.EngineTypes.endp = _endpos__1_;
5664 MenhirLib.EngineTypes.next = _menhir_stack;
5665 } = _menhir_stack in
5666 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
5667 let _startpos = _startpos__1_ in
5668 let _endpos = _endpos__1_ in
5669 let _v : 'tv_cond_expr_expr_invalid_ =
5670 # 1319 "parser_cocci_menhir.mly"
5671 ( _1 )
5672 # 5673 "parser_cocci_menhir.ml"
5673 in
5674 _menhir_env.MenhirLib.EngineTypes.stack <- {
5675 MenhirLib.EngineTypes.state = _menhir_s;
5676 MenhirLib.EngineTypes.semv = Obj.repr _v;
5677 MenhirLib.EngineTypes.startp = _startpos;
5678 MenhirLib.EngineTypes.endp = _endpos;
5679 MenhirLib.EngineTypes.next = _menhir_stack;
5680 });
5681 (fun _menhir_env ->
5682 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5683 let {
5684 MenhirLib.EngineTypes.semv = r;
5685 MenhirLib.EngineTypes.startp = _startpos_r_;
5686 MenhirLib.EngineTypes.endp = _endpos_r_;
5687 MenhirLib.EngineTypes.next = {
5688 MenhirLib.EngineTypes.semv = dd;
5689 MenhirLib.EngineTypes.startp = _startpos_dd_;
5690 MenhirLib.EngineTypes.endp = _endpos_dd_;
5691 MenhirLib.EngineTypes.next = {
5692 MenhirLib.EngineTypes.semv = t;
5693 MenhirLib.EngineTypes.startp = _startpos_t_;
5694 MenhirLib.EngineTypes.endp = _endpos_t_;
5695 MenhirLib.EngineTypes.next = {
5696 MenhirLib.EngineTypes.semv = w;
5697 MenhirLib.EngineTypes.startp = _startpos_w_;
5698 MenhirLib.EngineTypes.endp = _endpos_w_;
5699 MenhirLib.EngineTypes.next = {
5700 MenhirLib.EngineTypes.state = _menhir_s;
5701 MenhirLib.EngineTypes.semv = l;
5702 MenhirLib.EngineTypes.startp = _startpos_l_;
5703 MenhirLib.EngineTypes.endp = _endpos_l_;
5704 MenhirLib.EngineTypes.next = _menhir_stack;
5705 };
5706 };
5707 };
5708 };
5709 } = _menhir_stack in
5710 let r : 'tv_cond_expr_expr_invalid_ = Obj.magic r in
5711 let dd : (
5712 # 79 "parser_cocci_menhir.mly"
5713 (Data.clt)
5714 # 5715 "parser_cocci_menhir.ml"
5715 ) = Obj.magic dd in
5716 let t : 'tv_option_eexpr_ = Obj.magic t in
5717 let w : (
5718 # 79 "parser_cocci_menhir.mly"
5719 (Data.clt)
5720 # 5721 "parser_cocci_menhir.ml"
5721 ) = Obj.magic w in
5722 let l : 'tv_arith_expr_expr_invalid_ = Obj.magic l in
5723 let _startpos = _startpos_l_ in
5724 let _endpos = _endpos_r_ in
5725 let _v : 'tv_cond_expr_expr_invalid_ =
5726 # 1321 "parser_cocci_menhir.mly"
5727 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
5728 P.clt2mcode ":" dd, r)) )
5729 # 5730 "parser_cocci_menhir.ml"
5730 in
5731 _menhir_env.MenhirLib.EngineTypes.stack <- {
5732 MenhirLib.EngineTypes.state = _menhir_s;
5733 MenhirLib.EngineTypes.semv = Obj.repr _v;
5734 MenhirLib.EngineTypes.startp = _startpos;
5735 MenhirLib.EngineTypes.endp = _endpos;
5736 MenhirLib.EngineTypes.next = _menhir_stack;
5737 });
5738 (fun _menhir_env ->
5739 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5740 let {
5741 MenhirLib.EngineTypes.state = _menhir_s;
5742 MenhirLib.EngineTypes.semv = _1;
5743 MenhirLib.EngineTypes.startp = _startpos__1_;
5744 MenhirLib.EngineTypes.endp = _endpos__1_;
5745 MenhirLib.EngineTypes.next = _menhir_stack;
5746 } = _menhir_stack in
5747 let _1 : (
5748 # 56 "parser_cocci_menhir.mly"
5749 (Data.clt)
5750 # 5751 "parser_cocci_menhir.ml"
5751 ) = Obj.magic _1 in
5752 let _startpos = _startpos__1_ in
5753 let _endpos = _endpos__1_ in
5754 let _v : 'tv_const_vol =
5755 # 923 "parser_cocci_menhir.mly"
5756 ( P.clt2mcode Ast.Const _1 )
5757 # 5758 "parser_cocci_menhir.ml"
5758 in
5759 _menhir_env.MenhirLib.EngineTypes.stack <- {
5760 MenhirLib.EngineTypes.state = _menhir_s;
5761 MenhirLib.EngineTypes.semv = Obj.repr _v;
5762 MenhirLib.EngineTypes.startp = _startpos;
5763 MenhirLib.EngineTypes.endp = _endpos;
5764 MenhirLib.EngineTypes.next = _menhir_stack;
5765 });
5766 (fun _menhir_env ->
5767 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5768 let {
5769 MenhirLib.EngineTypes.state = _menhir_s;
5770 MenhirLib.EngineTypes.semv = _1;
5771 MenhirLib.EngineTypes.startp = _startpos__1_;
5772 MenhirLib.EngineTypes.endp = _endpos__1_;
5773 MenhirLib.EngineTypes.next = _menhir_stack;
5774 } = _menhir_stack in
5775 let _1 : (
5776 # 56 "parser_cocci_menhir.mly"
5777 (Data.clt)
5778 # 5779 "parser_cocci_menhir.ml"
5779 ) = Obj.magic _1 in
5780 let _startpos = _startpos__1_ in
5781 let _endpos = _endpos__1_ in
5782 let _v : 'tv_const_vol =
5783 # 924 "parser_cocci_menhir.mly"
5784 ( P.clt2mcode Ast.Volatile _1 )
5785 # 5786 "parser_cocci_menhir.ml"
5786 in
5787 _menhir_env.MenhirLib.EngineTypes.stack <- {
5788 MenhirLib.EngineTypes.state = _menhir_s;
5789 MenhirLib.EngineTypes.semv = Obj.repr _v;
5790 MenhirLib.EngineTypes.startp = _startpos;
5791 MenhirLib.EngineTypes.endp = _endpos;
5792 MenhirLib.EngineTypes.next = _menhir_stack;
5793 });
5794 (fun _menhir_env ->
5795 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5796 let {
5797 MenhirLib.EngineTypes.state = _menhir_s;
5798 MenhirLib.EngineTypes.semv = _1;
5799 MenhirLib.EngineTypes.startp = _startpos__1_;
5800 MenhirLib.EngineTypes.endp = _endpos__1_;
5801 MenhirLib.EngineTypes.next = _menhir_stack;
5802 } = _menhir_stack in
5803 let _1 : 'tv_aexpr = Obj.magic _1 in
5804 let _startpos = _startpos__1_ in
5805 let _endpos = _endpos__1_ in
5806 let _v : 'tv_continue_list_aexpr_TEllipsis_ =
5807 # 1785 "parser_cocci_menhir.mly"
5808 ( fun build_dots build_comma -> [_1] )
5809 # 5810 "parser_cocci_menhir.ml"
5810 in
5811 _menhir_env.MenhirLib.EngineTypes.stack <- {
5812 MenhirLib.EngineTypes.state = _menhir_s;
5813 MenhirLib.EngineTypes.semv = Obj.repr _v;
5814 MenhirLib.EngineTypes.startp = _startpos;
5815 MenhirLib.EngineTypes.endp = _endpos;
5816 MenhirLib.EngineTypes.next = _menhir_stack;
5817 });
5818 (fun _menhir_env ->
5819 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5820 let {
5821 MenhirLib.EngineTypes.semv = _2;
5822 MenhirLib.EngineTypes.startp = _startpos__2_;
5823 MenhirLib.EngineTypes.endp = _endpos__2_;
5824 MenhirLib.EngineTypes.next = {
5825 MenhirLib.EngineTypes.state = _menhir_s;
5826 MenhirLib.EngineTypes.semv = _1;
5827 MenhirLib.EngineTypes.startp = _startpos__1_;
5828 MenhirLib.EngineTypes.endp = _endpos__1_;
5829 MenhirLib.EngineTypes.next = _menhir_stack;
5830 };
5831 } = _menhir_stack in
5832 let _2 : (
5833 # 110 "parser_cocci_menhir.mly"
5834 (Data.clt)
5835 # 5836 "parser_cocci_menhir.ml"
5836 ) = Obj.magic _2 in
5837 let _1 : 'tv_aexpr = Obj.magic _1 in
5838 let _startpos = _startpos__1_ in
5839 let _endpos = _endpos__2_ in
5840 let _v : 'tv_continue_list_aexpr_TEllipsis_ =
5841 # 1787 "parser_cocci_menhir.mly"
5842 ( fun build_dots build_comma ->
5843 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
5844 # 5845 "parser_cocci_menhir.ml"
5845 in
5846 _menhir_env.MenhirLib.EngineTypes.stack <- {
5847 MenhirLib.EngineTypes.state = _menhir_s;
5848 MenhirLib.EngineTypes.semv = Obj.repr _v;
5849 MenhirLib.EngineTypes.startp = _startpos;
5850 MenhirLib.EngineTypes.endp = _endpos;
5851 MenhirLib.EngineTypes.next = _menhir_stack;
5852 });
5853 (fun _menhir_env ->
5854 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5855 let {
5856 MenhirLib.EngineTypes.semv = _3;
5857 MenhirLib.EngineTypes.startp = _startpos__3_;
5858 MenhirLib.EngineTypes.endp = _endpos__3_;
5859 MenhirLib.EngineTypes.next = {
5860 MenhirLib.EngineTypes.semv = _2;
5861 MenhirLib.EngineTypes.startp = _startpos__2_;
5862 MenhirLib.EngineTypes.endp = _endpos__2_;
5863 MenhirLib.EngineTypes.next = {
5864 MenhirLib.EngineTypes.state = _menhir_s;
5865 MenhirLib.EngineTypes.semv = _1;
5866 MenhirLib.EngineTypes.startp = _startpos__1_;
5867 MenhirLib.EngineTypes.endp = _endpos__1_;
5868 MenhirLib.EngineTypes.next = _menhir_stack;
5869 };
5870 };
5871 } = _menhir_stack in
5872 let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in
5873 let _2 : (
5874 # 110 "parser_cocci_menhir.mly"
5875 (Data.clt)
5876 # 5877 "parser_cocci_menhir.ml"
5877 ) = Obj.magic _2 in
5878 let _1 : 'tv_aexpr = Obj.magic _1 in
5879 let _startpos = _startpos__1_ in
5880 let _endpos = _endpos__3_ in
5881 let _v : 'tv_continue_list_aexpr_TEllipsis_ =
5882 # 1790 "parser_cocci_menhir.mly"
5883 ( fun build_dots build_comma ->
5884 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
5885 (_3 build_dots build_comma) )
5886 # 5887 "parser_cocci_menhir.ml"
5887 in
5888 _menhir_env.MenhirLib.EngineTypes.stack <- {
5889 MenhirLib.EngineTypes.state = _menhir_s;
5890 MenhirLib.EngineTypes.semv = Obj.repr _v;
5891 MenhirLib.EngineTypes.startp = _startpos;
5892 MenhirLib.EngineTypes.endp = _endpos;
5893 MenhirLib.EngineTypes.next = _menhir_stack;
5894 });
5895 (fun _menhir_env ->
5896 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5897 let {
5898 MenhirLib.EngineTypes.semv = _2;
5899 MenhirLib.EngineTypes.startp = _startpos__2_;
5900 MenhirLib.EngineTypes.endp = _endpos__2_;
5901 MenhirLib.EngineTypes.next = {
5902 MenhirLib.EngineTypes.state = _menhir_s;
5903 MenhirLib.EngineTypes.startp = _startpos__1_;
5904 MenhirLib.EngineTypes.endp = _endpos__1_;
5905 MenhirLib.EngineTypes.next = _menhir_stack;
5906 };
5907 } = _menhir_stack in
5908 let _2 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _2 in
5909 let _startpos = _startpos__1_ in
5910 let _endpos = _endpos__2_ in
5911 let _v : 'tv_continue_list_aexpr_TEllipsis_ =
5912 # 1793 "parser_cocci_menhir.mly"
5913 ( _2 )
5914 # 5915 "parser_cocci_menhir.ml"
5915 in
5916 _menhir_env.MenhirLib.EngineTypes.stack <- {
5917 MenhirLib.EngineTypes.state = _menhir_s;
5918 MenhirLib.EngineTypes.semv = Obj.repr _v;
5919 MenhirLib.EngineTypes.startp = _startpos;
5920 MenhirLib.EngineTypes.endp = _endpos;
5921 MenhirLib.EngineTypes.next = _menhir_stack;
5922 });
5923 (fun _menhir_env ->
5924 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5925 let {
5926 MenhirLib.EngineTypes.state = _menhir_s;
5927 MenhirLib.EngineTypes.semv = _1;
5928 MenhirLib.EngineTypes.startp = _startpos__1_;
5929 MenhirLib.EngineTypes.endp = _endpos__1_;
5930 MenhirLib.EngineTypes.next = _menhir_stack;
5931 } = _menhir_stack in
5932 let _1 : 'tv_dparam = Obj.magic _1 in
5933 let _startpos = _startpos__1_ in
5934 let _endpos = _endpos__1_ in
5935 let _v : 'tv_continue_list_dparam_TEllipsis_ =
5936 # 1785 "parser_cocci_menhir.mly"
5937 ( fun build_dots build_comma -> [_1] )
5938 # 5939 "parser_cocci_menhir.ml"
5939 in
5940 _menhir_env.MenhirLib.EngineTypes.stack <- {
5941 MenhirLib.EngineTypes.state = _menhir_s;
5942 MenhirLib.EngineTypes.semv = Obj.repr _v;
5943 MenhirLib.EngineTypes.startp = _startpos;
5944 MenhirLib.EngineTypes.endp = _endpos;
5945 MenhirLib.EngineTypes.next = _menhir_stack;
5946 });
5947 (fun _menhir_env ->
5948 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5949 let {
5950 MenhirLib.EngineTypes.semv = _2;
5951 MenhirLib.EngineTypes.startp = _startpos__2_;
5952 MenhirLib.EngineTypes.endp = _endpos__2_;
5953 MenhirLib.EngineTypes.next = {
5954 MenhirLib.EngineTypes.state = _menhir_s;
5955 MenhirLib.EngineTypes.semv = _1;
5956 MenhirLib.EngineTypes.startp = _startpos__1_;
5957 MenhirLib.EngineTypes.endp = _endpos__1_;
5958 MenhirLib.EngineTypes.next = _menhir_stack;
5959 };
5960 } = _menhir_stack in
5961 let _2 : (
5962 # 110 "parser_cocci_menhir.mly"
5963 (Data.clt)
5964 # 5965 "parser_cocci_menhir.ml"
5965 ) = Obj.magic _2 in
5966 let _1 : 'tv_dparam = Obj.magic _1 in
5967 let _startpos = _startpos__1_ in
5968 let _endpos = _endpos__2_ in
5969 let _v : 'tv_continue_list_dparam_TEllipsis_ =
5970 # 1787 "parser_cocci_menhir.mly"
5971 ( fun build_dots build_comma ->
5972 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
5973 # 5974 "parser_cocci_menhir.ml"
5974 in
5975 _menhir_env.MenhirLib.EngineTypes.stack <- {
5976 MenhirLib.EngineTypes.state = _menhir_s;
5977 MenhirLib.EngineTypes.semv = Obj.repr _v;
5978 MenhirLib.EngineTypes.startp = _startpos;
5979 MenhirLib.EngineTypes.endp = _endpos;
5980 MenhirLib.EngineTypes.next = _menhir_stack;
5981 });
5982 (fun _menhir_env ->
5983 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5984 let {
5985 MenhirLib.EngineTypes.semv = _3;
5986 MenhirLib.EngineTypes.startp = _startpos__3_;
5987 MenhirLib.EngineTypes.endp = _endpos__3_;
5988 MenhirLib.EngineTypes.next = {
5989 MenhirLib.EngineTypes.semv = _2;
5990 MenhirLib.EngineTypes.startp = _startpos__2_;
5991 MenhirLib.EngineTypes.endp = _endpos__2_;
5992 MenhirLib.EngineTypes.next = {
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 };
5999 };
6000 } = _menhir_stack in
6001 let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in
6002 let _2 : (
6003 # 110 "parser_cocci_menhir.mly"
6004 (Data.clt)
6005 # 6006 "parser_cocci_menhir.ml"
6006 ) = Obj.magic _2 in
6007 let _1 : 'tv_dparam = Obj.magic _1 in
6008 let _startpos = _startpos__1_ in
6009 let _endpos = _endpos__3_ in
6010 let _v : 'tv_continue_list_dparam_TEllipsis_ =
6011 # 1790 "parser_cocci_menhir.mly"
6012 ( fun build_dots build_comma ->
6013 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
6014 (_3 build_dots build_comma) )
6015 # 6016 "parser_cocci_menhir.ml"
6016 in
6017 _menhir_env.MenhirLib.EngineTypes.stack <- {
6018 MenhirLib.EngineTypes.state = _menhir_s;
6019 MenhirLib.EngineTypes.semv = Obj.repr _v;
6020 MenhirLib.EngineTypes.startp = _startpos;
6021 MenhirLib.EngineTypes.endp = _endpos;
6022 MenhirLib.EngineTypes.next = _menhir_stack;
6023 });
6024 (fun _menhir_env ->
6025 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6026 let {
6027 MenhirLib.EngineTypes.semv = _2;
6028 MenhirLib.EngineTypes.startp = _startpos__2_;
6029 MenhirLib.EngineTypes.endp = _endpos__2_;
6030 MenhirLib.EngineTypes.next = {
6031 MenhirLib.EngineTypes.state = _menhir_s;
6032 MenhirLib.EngineTypes.startp = _startpos__1_;
6033 MenhirLib.EngineTypes.endp = _endpos__1_;
6034 MenhirLib.EngineTypes.next = _menhir_stack;
6035 };
6036 } = _menhir_stack in
6037 let _2 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _2 in
6038 let _startpos = _startpos__1_ in
6039 let _endpos = _endpos__2_ in
6040 let _v : 'tv_continue_list_dparam_TEllipsis_ =
6041 # 1793 "parser_cocci_menhir.mly"
6042 ( _2 )
6043 # 6044 "parser_cocci_menhir.ml"
6044 in
6045 _menhir_env.MenhirLib.EngineTypes.stack <- {
6046 MenhirLib.EngineTypes.state = _menhir_s;
6047 MenhirLib.EngineTypes.semv = Obj.repr _v;
6048 MenhirLib.EngineTypes.startp = _startpos;
6049 MenhirLib.EngineTypes.endp = _endpos;
6050 MenhirLib.EngineTypes.next = _menhir_stack;
6051 });
6052 (fun _menhir_env ->
6053 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6054 let {
6055 MenhirLib.EngineTypes.state = _menhir_s;
6056 MenhirLib.EngineTypes.semv = _1;
6057 MenhirLib.EngineTypes.startp = _startpos__1_;
6058 MenhirLib.EngineTypes.endp = _endpos__1_;
6059 MenhirLib.EngineTypes.next = _menhir_stack;
6060 } = _menhir_stack in
6061 let _1 : 'tv_enum_decl_one = Obj.magic _1 in
6062 let _startpos = _startpos__1_ in
6063 let _endpos = _endpos__1_ in
6064 let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
6065 # 1785 "parser_cocci_menhir.mly"
6066 ( fun build_dots build_comma -> [_1] )
6067 # 6068 "parser_cocci_menhir.ml"
6068 in
6069 _menhir_env.MenhirLib.EngineTypes.stack <- {
6070 MenhirLib.EngineTypes.state = _menhir_s;
6071 MenhirLib.EngineTypes.semv = Obj.repr _v;
6072 MenhirLib.EngineTypes.startp = _startpos;
6073 MenhirLib.EngineTypes.endp = _endpos;
6074 MenhirLib.EngineTypes.next = _menhir_stack;
6075 });
6076 (fun _menhir_env ->
6077 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6078 let {
6079 MenhirLib.EngineTypes.semv = _2;
6080 MenhirLib.EngineTypes.startp = _startpos__2_;
6081 MenhirLib.EngineTypes.endp = _endpos__2_;
6082 MenhirLib.EngineTypes.next = {
6083 MenhirLib.EngineTypes.state = _menhir_s;
6084 MenhirLib.EngineTypes.semv = _1;
6085 MenhirLib.EngineTypes.startp = _startpos__1_;
6086 MenhirLib.EngineTypes.endp = _endpos__1_;
6087 MenhirLib.EngineTypes.next = _menhir_stack;
6088 };
6089 } = _menhir_stack in
6090 let _2 : (
6091 # 110 "parser_cocci_menhir.mly"
6092 (Data.clt)
6093 # 6094 "parser_cocci_menhir.ml"
6094 ) = Obj.magic _2 in
6095 let _1 : 'tv_enum_decl_one = Obj.magic _1 in
6096 let _startpos = _startpos__1_ in
6097 let _endpos = _endpos__2_ in
6098 let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
6099 # 1787 "parser_cocci_menhir.mly"
6100 ( fun build_dots build_comma ->
6101 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
6102 # 6103 "parser_cocci_menhir.ml"
6103 in
6104 _menhir_env.MenhirLib.EngineTypes.stack <- {
6105 MenhirLib.EngineTypes.state = _menhir_s;
6106 MenhirLib.EngineTypes.semv = Obj.repr _v;
6107 MenhirLib.EngineTypes.startp = _startpos;
6108 MenhirLib.EngineTypes.endp = _endpos;
6109 MenhirLib.EngineTypes.next = _menhir_stack;
6110 });
6111 (fun _menhir_env ->
6112 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6113 let {
6114 MenhirLib.EngineTypes.semv = _3;
6115 MenhirLib.EngineTypes.startp = _startpos__3_;
6116 MenhirLib.EngineTypes.endp = _endpos__3_;
6117 MenhirLib.EngineTypes.next = {
6118 MenhirLib.EngineTypes.semv = _2;
6119 MenhirLib.EngineTypes.startp = _startpos__2_;
6120 MenhirLib.EngineTypes.endp = _endpos__2_;
6121 MenhirLib.EngineTypes.next = {
6122 MenhirLib.EngineTypes.state = _menhir_s;
6123 MenhirLib.EngineTypes.semv = _1;
6124 MenhirLib.EngineTypes.startp = _startpos__1_;
6125 MenhirLib.EngineTypes.endp = _endpos__1_;
6126 MenhirLib.EngineTypes.next = _menhir_stack;
6127 };
6128 };
6129 } = _menhir_stack in
6130 let _3 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _3 in
6131 let _2 : (
6132 # 110 "parser_cocci_menhir.mly"
6133 (Data.clt)
6134 # 6135 "parser_cocci_menhir.ml"
6135 ) = Obj.magic _2 in
6136 let _1 : 'tv_enum_decl_one = Obj.magic _1 in
6137 let _startpos = _startpos__1_ in
6138 let _endpos = _endpos__3_ in
6139 let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
6140 # 1790 "parser_cocci_menhir.mly"
6141 ( fun build_dots build_comma ->
6142 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
6143 (_3 build_dots build_comma) )
6144 # 6145 "parser_cocci_menhir.ml"
6145 in
6146 _menhir_env.MenhirLib.EngineTypes.stack <- {
6147 MenhirLib.EngineTypes.state = _menhir_s;
6148 MenhirLib.EngineTypes.semv = Obj.repr _v;
6149 MenhirLib.EngineTypes.startp = _startpos;
6150 MenhirLib.EngineTypes.endp = _endpos;
6151 MenhirLib.EngineTypes.next = _menhir_stack;
6152 });
6153 (fun _menhir_env ->
6154 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6155 let {
6156 MenhirLib.EngineTypes.semv = _2;
6157 MenhirLib.EngineTypes.startp = _startpos__2_;
6158 MenhirLib.EngineTypes.endp = _endpos__2_;
6159 MenhirLib.EngineTypes.next = {
6160 MenhirLib.EngineTypes.state = _menhir_s;
6161 MenhirLib.EngineTypes.startp = _startpos__1_;
6162 MenhirLib.EngineTypes.endp = _endpos__1_;
6163 MenhirLib.EngineTypes.next = _menhir_stack;
6164 };
6165 } = _menhir_stack in
6166 let _2 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _2 in
6167 let _startpos = _startpos__1_ in
6168 let _endpos = _endpos__2_ in
6169 let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
6170 # 1793 "parser_cocci_menhir.mly"
6171 ( _2 )
6172 # 6173 "parser_cocci_menhir.ml"
6173 in
6174 _menhir_env.MenhirLib.EngineTypes.stack <- {
6175 MenhirLib.EngineTypes.state = _menhir_s;
6176 MenhirLib.EngineTypes.semv = Obj.repr _v;
6177 MenhirLib.EngineTypes.startp = _startpos;
6178 MenhirLib.EngineTypes.endp = _endpos;
6179 MenhirLib.EngineTypes.next = _menhir_stack;
6180 });
6181 (fun _menhir_env ->
6182 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6183 let {
6184 MenhirLib.EngineTypes.state = _menhir_s;
6185 MenhirLib.EngineTypes.semv = _1;
6186 MenhirLib.EngineTypes.startp = _startpos__1_;
6187 MenhirLib.EngineTypes.endp = _endpos__1_;
6188 MenhirLib.EngineTypes.next = _menhir_stack;
6189 } = _menhir_stack in
6190 let _1 : 'tv_initialize2 = Obj.magic _1 in
6191 let _startpos = _startpos__1_ in
6192 let _endpos = _endpos__1_ in
6193 let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ =
6194 # 1785 "parser_cocci_menhir.mly"
6195 ( fun build_dots build_comma -> [_1] )
6196 # 6197 "parser_cocci_menhir.ml"
6197 in
6198 _menhir_env.MenhirLib.EngineTypes.stack <- {
6199 MenhirLib.EngineTypes.state = _menhir_s;
6200 MenhirLib.EngineTypes.semv = Obj.repr _v;
6201 MenhirLib.EngineTypes.startp = _startpos;
6202 MenhirLib.EngineTypes.endp = _endpos;
6203 MenhirLib.EngineTypes.next = _menhir_stack;
6204 });
6205 (fun _menhir_env ->
6206 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6207 let {
6208 MenhirLib.EngineTypes.semv = _2;
6209 MenhirLib.EngineTypes.startp = _startpos__2_;
6210 MenhirLib.EngineTypes.endp = _endpos__2_;
6211 MenhirLib.EngineTypes.next = {
6212 MenhirLib.EngineTypes.state = _menhir_s;
6213 MenhirLib.EngineTypes.semv = _1;
6214 MenhirLib.EngineTypes.startp = _startpos__1_;
6215 MenhirLib.EngineTypes.endp = _endpos__1_;
6216 MenhirLib.EngineTypes.next = _menhir_stack;
6217 };
6218 } = _menhir_stack in
6219 let _2 : (
6220 # 110 "parser_cocci_menhir.mly"
6221 (Data.clt)
6222 # 6223 "parser_cocci_menhir.ml"
6223 ) = Obj.magic _2 in
6224 let _1 : 'tv_initialize2 = Obj.magic _1 in
6225 let _startpos = _startpos__1_ in
6226 let _endpos = _endpos__2_ in
6227 let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ =
6228 # 1787 "parser_cocci_menhir.mly"
6229 ( fun build_dots build_comma ->
6230 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
6231 # 6232 "parser_cocci_menhir.ml"
6232 in
6233 _menhir_env.MenhirLib.EngineTypes.stack <- {
6234 MenhirLib.EngineTypes.state = _menhir_s;
6235 MenhirLib.EngineTypes.semv = Obj.repr _v;
6236 MenhirLib.EngineTypes.startp = _startpos;
6237 MenhirLib.EngineTypes.endp = _endpos;
6238 MenhirLib.EngineTypes.next = _menhir_stack;
6239 });
6240 (fun _menhir_env ->
6241 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6242 let {
6243 MenhirLib.EngineTypes.semv = _3;
6244 MenhirLib.EngineTypes.startp = _startpos__3_;
6245 MenhirLib.EngineTypes.endp = _endpos__3_;
6246 MenhirLib.EngineTypes.next = {
6247 MenhirLib.EngineTypes.semv = _2;
6248 MenhirLib.EngineTypes.startp = _startpos__2_;
6249 MenhirLib.EngineTypes.endp = _endpos__2_;
6250 MenhirLib.EngineTypes.next = {
6251 MenhirLib.EngineTypes.state = _menhir_s;
6252 MenhirLib.EngineTypes.semv = _1;
6253 MenhirLib.EngineTypes.startp = _startpos__1_;
6254 MenhirLib.EngineTypes.endp = _endpos__1_;
6255 MenhirLib.EngineTypes.next = _menhir_stack;
6256 };
6257 };
6258 } = _menhir_stack in
6259 let _3 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _3 in
6260 let _2 : (
6261 # 110 "parser_cocci_menhir.mly"
6262 (Data.clt)
6263 # 6264 "parser_cocci_menhir.ml"
6264 ) = Obj.magic _2 in
6265 let _1 : 'tv_initialize2 = Obj.magic _1 in
6266 let _startpos = _startpos__1_ in
6267 let _endpos = _endpos__3_ in
6268 let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ =
6269 # 1790 "parser_cocci_menhir.mly"
6270 ( fun build_dots build_comma ->
6271 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
6272 (_3 build_dots build_comma) )
6273 # 6274 "parser_cocci_menhir.ml"
6274 in
6275 _menhir_env.MenhirLib.EngineTypes.stack <- {
6276 MenhirLib.EngineTypes.state = _menhir_s;
6277 MenhirLib.EngineTypes.semv = Obj.repr _v;
6278 MenhirLib.EngineTypes.startp = _startpos;
6279 MenhirLib.EngineTypes.endp = _endpos;
6280 MenhirLib.EngineTypes.next = _menhir_stack;
6281 });
6282 (fun _menhir_env ->
6283 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6284 let {
6285 MenhirLib.EngineTypes.semv = _2;
6286 MenhirLib.EngineTypes.startp = _startpos__2_;
6287 MenhirLib.EngineTypes.endp = _endpos__2_;
6288 MenhirLib.EngineTypes.next = {
6289 MenhirLib.EngineTypes.state = _menhir_s;
6290 MenhirLib.EngineTypes.startp = _startpos__1_;
6291 MenhirLib.EngineTypes.endp = _endpos__1_;
6292 MenhirLib.EngineTypes.next = _menhir_stack;
6293 };
6294 } = _menhir_stack in
6295 let _2 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _2 in
6296 let _startpos = _startpos__1_ in
6297 let _endpos = _endpos__2_ in
6298 let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ =
6299 # 1793 "parser_cocci_menhir.mly"
6300 ( _2 )
6301 # 6302 "parser_cocci_menhir.ml"
6302 in
6303 _menhir_env.MenhirLib.EngineTypes.stack <- {
6304 MenhirLib.EngineTypes.state = _menhir_s;
6305 MenhirLib.EngineTypes.semv = Obj.repr _v;
6306 MenhirLib.EngineTypes.startp = _startpos;
6307 MenhirLib.EngineTypes.endp = _endpos;
6308 MenhirLib.EngineTypes.next = _menhir_stack;
6309 });
6310 (fun _menhir_env ->
6311 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6312 let {
6313 MenhirLib.EngineTypes.state = _menhir_s;
6314 MenhirLib.EngineTypes.semv = _1;
6315 MenhirLib.EngineTypes.startp = _startpos__1_;
6316 MenhirLib.EngineTypes.endp = _endpos__1_;
6317 MenhirLib.EngineTypes.next = _menhir_stack;
6318 } = _menhir_stack in
6319 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
6320 let _startpos = _startpos__1_ in
6321 let _endpos = _endpos__1_ in
6322 let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
6323 # 1785 "parser_cocci_menhir.mly"
6324 ( fun build_dots build_comma -> [_1] )
6325 # 6326 "parser_cocci_menhir.ml"
6326 in
6327 _menhir_env.MenhirLib.EngineTypes.stack <- {
6328 MenhirLib.EngineTypes.state = _menhir_s;
6329 MenhirLib.EngineTypes.semv = Obj.repr _v;
6330 MenhirLib.EngineTypes.startp = _startpos;
6331 MenhirLib.EngineTypes.endp = _endpos;
6332 MenhirLib.EngineTypes.next = _menhir_stack;
6333 });
6334 (fun _menhir_env ->
6335 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6336 let {
6337 MenhirLib.EngineTypes.semv = _2;
6338 MenhirLib.EngineTypes.startp = _startpos__2_;
6339 MenhirLib.EngineTypes.endp = _endpos__2_;
6340 MenhirLib.EngineTypes.next = {
6341 MenhirLib.EngineTypes.state = _menhir_s;
6342 MenhirLib.EngineTypes.semv = _1;
6343 MenhirLib.EngineTypes.startp = _startpos__1_;
6344 MenhirLib.EngineTypes.endp = _endpos__1_;
6345 MenhirLib.EngineTypes.next = _menhir_stack;
6346 };
6347 } = _menhir_stack in
6348 let _2 : (
6349 # 110 "parser_cocci_menhir.mly"
6350 (Data.clt)
6351 # 6352 "parser_cocci_menhir.ml"
6352 ) = Obj.magic _2 in
6353 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
6354 let _startpos = _startpos__1_ in
6355 let _endpos = _endpos__2_ in
6356 let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
6357 # 1787 "parser_cocci_menhir.mly"
6358 ( fun build_dots build_comma ->
6359 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
6360 # 6361 "parser_cocci_menhir.ml"
6361 in
6362 _menhir_env.MenhirLib.EngineTypes.stack <- {
6363 MenhirLib.EngineTypes.state = _menhir_s;
6364 MenhirLib.EngineTypes.semv = Obj.repr _v;
6365 MenhirLib.EngineTypes.startp = _startpos;
6366 MenhirLib.EngineTypes.endp = _endpos;
6367 MenhirLib.EngineTypes.next = _menhir_stack;
6368 });
6369 (fun _menhir_env ->
6370 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6371 let {
6372 MenhirLib.EngineTypes.semv = _3;
6373 MenhirLib.EngineTypes.startp = _startpos__3_;
6374 MenhirLib.EngineTypes.endp = _endpos__3_;
6375 MenhirLib.EngineTypes.next = {
6376 MenhirLib.EngineTypes.semv = _2;
6377 MenhirLib.EngineTypes.startp = _startpos__2_;
6378 MenhirLib.EngineTypes.endp = _endpos__2_;
6379 MenhirLib.EngineTypes.next = {
6380 MenhirLib.EngineTypes.state = _menhir_s;
6381 MenhirLib.EngineTypes.semv = _1;
6382 MenhirLib.EngineTypes.startp = _startpos__1_;
6383 MenhirLib.EngineTypes.endp = _endpos__1_;
6384 MenhirLib.EngineTypes.next = _menhir_stack;
6385 };
6386 };
6387 } = _menhir_stack in
6388 let _3 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in
6389 let _2 : (
6390 # 110 "parser_cocci_menhir.mly"
6391 (Data.clt)
6392 # 6393 "parser_cocci_menhir.ml"
6393 ) = Obj.magic _2 in
6394 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
6395 let _startpos = _startpos__1_ in
6396 let _endpos = _endpos__3_ in
6397 let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
6398 # 1790 "parser_cocci_menhir.mly"
6399 ( fun build_dots build_comma ->
6400 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
6401 (_3 build_dots build_comma) )
6402 # 6403 "parser_cocci_menhir.ml"
6403 in
6404 _menhir_env.MenhirLib.EngineTypes.stack <- {
6405 MenhirLib.EngineTypes.state = _menhir_s;
6406 MenhirLib.EngineTypes.semv = Obj.repr _v;
6407 MenhirLib.EngineTypes.startp = _startpos;
6408 MenhirLib.EngineTypes.endp = _endpos;
6409 MenhirLib.EngineTypes.next = _menhir_stack;
6410 });
6411 (fun _menhir_env ->
6412 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6413 let {
6414 MenhirLib.EngineTypes.semv = _2;
6415 MenhirLib.EngineTypes.startp = _startpos__2_;
6416 MenhirLib.EngineTypes.endp = _endpos__2_;
6417 MenhirLib.EngineTypes.next = {
6418 MenhirLib.EngineTypes.state = _menhir_s;
6419 MenhirLib.EngineTypes.startp = _startpos__1_;
6420 MenhirLib.EngineTypes.endp = _endpos__1_;
6421 MenhirLib.EngineTypes.next = _menhir_stack;
6422 };
6423 } = _menhir_stack in
6424 let _2 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _2 in
6425 let _startpos = _startpos__1_ in
6426 let _endpos = _endpos__2_ in
6427 let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
6428 # 1793 "parser_cocci_menhir.mly"
6429 ( _2 )
6430 # 6431 "parser_cocci_menhir.ml"
6431 in
6432 _menhir_env.MenhirLib.EngineTypes.stack <- {
6433 MenhirLib.EngineTypes.state = _menhir_s;
6434 MenhirLib.EngineTypes.semv = Obj.repr _v;
6435 MenhirLib.EngineTypes.startp = _startpos;
6436 MenhirLib.EngineTypes.endp = _endpos;
6437 MenhirLib.EngineTypes.next = _menhir_stack;
6438 });
6439 (fun _menhir_env ->
6440 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6441 let {
6442 MenhirLib.EngineTypes.state = _menhir_s;
6443 MenhirLib.EngineTypes.semv = _1;
6444 MenhirLib.EngineTypes.startp = _startpos__1_;
6445 MenhirLib.EngineTypes.endp = _endpos__1_;
6446 MenhirLib.EngineTypes.next = _menhir_stack;
6447 } = _menhir_stack in
6448 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
6449 let _startpos = _startpos__1_ in
6450 let _endpos = _endpos__1_ in
6451 let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ =
6452 # 1785 "parser_cocci_menhir.mly"
6453 ( fun build_dots build_comma -> [_1] )
6454 # 6455 "parser_cocci_menhir.ml"
6455 in
6456 _menhir_env.MenhirLib.EngineTypes.stack <- {
6457 MenhirLib.EngineTypes.state = _menhir_s;
6458 MenhirLib.EngineTypes.semv = Obj.repr _v;
6459 MenhirLib.EngineTypes.startp = _startpos;
6460 MenhirLib.EngineTypes.endp = _endpos;
6461 MenhirLib.EngineTypes.next = _menhir_stack;
6462 });
6463 (fun _menhir_env ->
6464 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6465 let {
6466 MenhirLib.EngineTypes.semv = _2;
6467 MenhirLib.EngineTypes.startp = _startpos__2_;
6468 MenhirLib.EngineTypes.endp = _endpos__2_;
6469 MenhirLib.EngineTypes.next = {
6470 MenhirLib.EngineTypes.state = _menhir_s;
6471 MenhirLib.EngineTypes.semv = _1;
6472 MenhirLib.EngineTypes.startp = _startpos__1_;
6473 MenhirLib.EngineTypes.endp = _endpos__1_;
6474 MenhirLib.EngineTypes.next = _menhir_stack;
6475 };
6476 } = _menhir_stack in
6477 let _2 : (
6478 # 110 "parser_cocci_menhir.mly"
6479 (Data.clt)
6480 # 6481 "parser_cocci_menhir.ml"
6481 ) = Obj.magic _2 in
6482 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
6483 let _startpos = _startpos__1_ in
6484 let _endpos = _endpos__2_ in
6485 let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ =
6486 # 1787 "parser_cocci_menhir.mly"
6487 ( fun build_dots build_comma ->
6488 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
6489 # 6490 "parser_cocci_menhir.ml"
6490 in
6491 _menhir_env.MenhirLib.EngineTypes.stack <- {
6492 MenhirLib.EngineTypes.state = _menhir_s;
6493 MenhirLib.EngineTypes.semv = Obj.repr _v;
6494 MenhirLib.EngineTypes.startp = _startpos;
6495 MenhirLib.EngineTypes.endp = _endpos;
6496 MenhirLib.EngineTypes.next = _menhir_stack;
6497 });
6498 (fun _menhir_env ->
6499 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6500 let {
6501 MenhirLib.EngineTypes.semv = _3;
6502 MenhirLib.EngineTypes.startp = _startpos__3_;
6503 MenhirLib.EngineTypes.endp = _endpos__3_;
6504 MenhirLib.EngineTypes.next = {
6505 MenhirLib.EngineTypes.semv = _2;
6506 MenhirLib.EngineTypes.startp = _startpos__2_;
6507 MenhirLib.EngineTypes.endp = _endpos__2_;
6508 MenhirLib.EngineTypes.next = {
6509 MenhirLib.EngineTypes.state = _menhir_s;
6510 MenhirLib.EngineTypes.semv = _1;
6511 MenhirLib.EngineTypes.startp = _startpos__1_;
6512 MenhirLib.EngineTypes.endp = _endpos__1_;
6513 MenhirLib.EngineTypes.next = _menhir_stack;
6514 };
6515 };
6516 } = _menhir_stack in
6517 let _3 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _3 in
6518 let _2 : (
6519 # 110 "parser_cocci_menhir.mly"
6520 (Data.clt)
6521 # 6522 "parser_cocci_menhir.ml"
6522 ) = Obj.magic _2 in
6523 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
6524 let _startpos = _startpos__1_ in
6525 let _endpos = _endpos__3_ in
6526 let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ =
6527 # 1790 "parser_cocci_menhir.mly"
6528 ( fun build_dots build_comma ->
6529 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
6530 (_3 build_dots build_comma) )
6531 # 6532 "parser_cocci_menhir.ml"
6532 in
6533 _menhir_env.MenhirLib.EngineTypes.stack <- {
6534 MenhirLib.EngineTypes.state = _menhir_s;
6535 MenhirLib.EngineTypes.semv = Obj.repr _v;
6536 MenhirLib.EngineTypes.startp = _startpos;
6537 MenhirLib.EngineTypes.endp = _endpos;
6538 MenhirLib.EngineTypes.next = _menhir_stack;
6539 });
6540 (fun _menhir_env ->
6541 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6542 let {
6543 MenhirLib.EngineTypes.semv = _2;
6544 MenhirLib.EngineTypes.startp = _startpos__2_;
6545 MenhirLib.EngineTypes.endp = _endpos__2_;
6546 MenhirLib.EngineTypes.next = {
6547 MenhirLib.EngineTypes.state = _menhir_s;
6548 MenhirLib.EngineTypes.startp = _startpos__1_;
6549 MenhirLib.EngineTypes.endp = _endpos__1_;
6550 MenhirLib.EngineTypes.next = _menhir_stack;
6551 };
6552 } = _menhir_stack in
6553 let _2 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _2 in
6554 let _startpos = _startpos__1_ in
6555 let _endpos = _endpos__2_ in
6556 let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ =
6557 # 1793 "parser_cocci_menhir.mly"
6558 ( _2 )
6559 # 6560 "parser_cocci_menhir.ml"
6560 in
6561 _menhir_env.MenhirLib.EngineTypes.stack <- {
6562 MenhirLib.EngineTypes.state = _menhir_s;
6563 MenhirLib.EngineTypes.semv = Obj.repr _v;
6564 MenhirLib.EngineTypes.startp = _startpos;
6565 MenhirLib.EngineTypes.endp = _endpos;
6566 MenhirLib.EngineTypes.next = _menhir_stack;
6567 });
6568 (fun _menhir_env ->
6569 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6570 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
6571 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
6572 let _endpos = _startpos in
6573 let _v : 'tv_continue_struct_decl_list =
6574 # 657 "parser_cocci_menhir.mly"
6575 ( [] )
6576 # 6577 "parser_cocci_menhir.ml"
6577 in
6578 _menhir_env.MenhirLib.EngineTypes.stack <- {
6579 MenhirLib.EngineTypes.state = _menhir_s;
6580 MenhirLib.EngineTypes.semv = Obj.repr _v;
6581 MenhirLib.EngineTypes.startp = _startpos;
6582 MenhirLib.EngineTypes.endp = _endpos;
6583 MenhirLib.EngineTypes.next = _menhir_stack;
6584 });
6585 (fun _menhir_env ->
6586 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6587 let {
6588 MenhirLib.EngineTypes.semv = _2;
6589 MenhirLib.EngineTypes.startp = _startpos__2_;
6590 MenhirLib.EngineTypes.endp = _endpos__2_;
6591 MenhirLib.EngineTypes.next = {
6592 MenhirLib.EngineTypes.state = _menhir_s;
6593 MenhirLib.EngineTypes.semv = _1;
6594 MenhirLib.EngineTypes.startp = _startpos__1_;
6595 MenhirLib.EngineTypes.endp = _endpos__1_;
6596 MenhirLib.EngineTypes.next = _menhir_stack;
6597 };
6598 } = _menhir_stack in
6599 let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
6600 let _1 : 'tv_struct_decl = Obj.magic _1 in
6601 let _startpos = _startpos__1_ in
6602 let _endpos = _endpos__2_ in
6603 let _v : 'tv_continue_struct_decl_list =
6604 # 658 "parser_cocci_menhir.mly"
6605 ( _1@_2 )
6606 # 6607 "parser_cocci_menhir.ml"
6607 in
6608 _menhir_env.MenhirLib.EngineTypes.stack <- {
6609 MenhirLib.EngineTypes.state = _menhir_s;
6610 MenhirLib.EngineTypes.semv = Obj.repr _v;
6611 MenhirLib.EngineTypes.startp = _startpos;
6612 MenhirLib.EngineTypes.endp = _endpos;
6613 MenhirLib.EngineTypes.next = _menhir_stack;
6614 });
6615 (fun _menhir_env ->
6616 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6617 let {
6618 MenhirLib.EngineTypes.state = _menhir_s;
6619 MenhirLib.EngineTypes.semv = _1;
6620 MenhirLib.EngineTypes.startp = _startpos__1_;
6621 MenhirLib.EngineTypes.endp = _endpos__1_;
6622 MenhirLib.EngineTypes.next = _menhir_stack;
6623 } = _menhir_stack in
6624 let _1 : 'tv_struct_decl = Obj.magic _1 in
6625 let _startpos = _startpos__1_ in
6626 let _endpos = _endpos__1_ in
6627 let _v : 'tv_continue_struct_decl_list =
6628 # 659 "parser_cocci_menhir.mly"
6629 ( _1 )
6630 # 6631 "parser_cocci_menhir.ml"
6631 in
6632 _menhir_env.MenhirLib.EngineTypes.stack <- {
6633 MenhirLib.EngineTypes.state = _menhir_s;
6634 MenhirLib.EngineTypes.semv = Obj.repr _v;
6635 MenhirLib.EngineTypes.startp = _startpos;
6636 MenhirLib.EngineTypes.endp = _endpos;
6637 MenhirLib.EngineTypes.next = _menhir_stack;
6638 });
6639 (fun _menhir_env ->
6640 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6641 let {
6642 MenhirLib.EngineTypes.semv = m;
6643 MenhirLib.EngineTypes.startp = _startpos_m_;
6644 MenhirLib.EngineTypes.endp = _endpos_m_;
6645 MenhirLib.EngineTypes.next = {
6646 MenhirLib.EngineTypes.semv = ty00;
6647 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6648 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6649 MenhirLib.EngineTypes.next = {
6650 MenhirLib.EngineTypes.state = _menhir_s;
6651 MenhirLib.EngineTypes.semv = r0;
6652 MenhirLib.EngineTypes.startp = _startpos_r0_;
6653 MenhirLib.EngineTypes.endp = _endpos_r0_;
6654 MenhirLib.EngineTypes.next = _menhir_stack;
6655 };
6656 };
6657 } = _menhir_stack in
6658 let m : 'tv_list_TMul_ = Obj.magic m in
6659 let ty00 : (
6660 # 51 "parser_cocci_menhir.mly"
6661 (Data.clt)
6662 # 6663 "parser_cocci_menhir.ml"
6663 ) = Obj.magic ty00 in
6664 let r0 : (
6665 # 53 "parser_cocci_menhir.mly"
6666 (Data.clt)
6667 # 6668 "parser_cocci_menhir.ml"
6668 ) = Obj.magic r0 in
6669 let _startpos = _startpos_r0_ in
6670 let _endpos = _endpos_m_ in
6671 let _v : 'tv_ctype = let ty =
6672 let ty0 = ty00 in
6673 let r = r0 in
6674 let ty =
6675 let ty = ty0 in
6676
6677 # 534 "parser_cocci_menhir.mly"
6678 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
6679 # 6680 "parser_cocci_menhir.ml"
6680
6681 in
6682
6683 # 591 "parser_cocci_menhir.mly"
6684 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6685 # 6686 "parser_cocci_menhir.ml"
6686
6687 in
6688 let cv =
6689
6690 # 39 "standard.mly"
6691 ( None )
6692 # 6693 "parser_cocci_menhir.ml"
6693
6694 in
6695
6696 # 599 "parser_cocci_menhir.mly"
6697 ( P.pointerify (P.make_cv cv ty) m )
6698 # 6699 "parser_cocci_menhir.ml"
6699 in
6700 _menhir_env.MenhirLib.EngineTypes.stack <- {
6701 MenhirLib.EngineTypes.state = _menhir_s;
6702 MenhirLib.EngineTypes.semv = Obj.repr _v;
6703 MenhirLib.EngineTypes.startp = _startpos;
6704 MenhirLib.EngineTypes.endp = _endpos;
6705 MenhirLib.EngineTypes.next = _menhir_stack;
6706 });
6707 (fun _menhir_env ->
6708 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6709 let {
6710 MenhirLib.EngineTypes.semv = m;
6711 MenhirLib.EngineTypes.startp = _startpos_m_;
6712 MenhirLib.EngineTypes.endp = _endpos_m_;
6713 MenhirLib.EngineTypes.next = {
6714 MenhirLib.EngineTypes.semv = ty00;
6715 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6716 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6717 MenhirLib.EngineTypes.next = {
6718 MenhirLib.EngineTypes.state = _menhir_s;
6719 MenhirLib.EngineTypes.semv = r0;
6720 MenhirLib.EngineTypes.startp = _startpos_r0_;
6721 MenhirLib.EngineTypes.endp = _endpos_r0_;
6722 MenhirLib.EngineTypes.next = _menhir_stack;
6723 };
6724 };
6725 } = _menhir_stack in
6726 let m : 'tv_list_TMul_ = Obj.magic m in
6727 let ty00 : (
6728 # 51 "parser_cocci_menhir.mly"
6729 (Data.clt)
6730 # 6731 "parser_cocci_menhir.ml"
6731 ) = Obj.magic ty00 in
6732 let r0 : (
6733 # 53 "parser_cocci_menhir.mly"
6734 (Data.clt)
6735 # 6736 "parser_cocci_menhir.ml"
6736 ) = Obj.magic r0 in
6737 let _startpos = _startpos_r0_ in
6738 let _endpos = _endpos_m_ in
6739 let _v : 'tv_ctype = let ty =
6740 let ty0 = ty00 in
6741 let r = r0 in
6742 let ty =
6743 let ty = ty0 in
6744
6745 # 536 "parser_cocci_menhir.mly"
6746 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
6747 # 6748 "parser_cocci_menhir.ml"
6748
6749 in
6750
6751 # 591 "parser_cocci_menhir.mly"
6752 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6753 # 6754 "parser_cocci_menhir.ml"
6754
6755 in
6756 let cv =
6757
6758 # 39 "standard.mly"
6759 ( None )
6760 # 6761 "parser_cocci_menhir.ml"
6761
6762 in
6763
6764 # 599 "parser_cocci_menhir.mly"
6765 ( P.pointerify (P.make_cv cv ty) m )
6766 # 6767 "parser_cocci_menhir.ml"
6767 in
6768 _menhir_env.MenhirLib.EngineTypes.stack <- {
6769 MenhirLib.EngineTypes.state = _menhir_s;
6770 MenhirLib.EngineTypes.semv = Obj.repr _v;
6771 MenhirLib.EngineTypes.startp = _startpos;
6772 MenhirLib.EngineTypes.endp = _endpos;
6773 MenhirLib.EngineTypes.next = _menhir_stack;
6774 });
6775 (fun _menhir_env ->
6776 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6777 let {
6778 MenhirLib.EngineTypes.semv = m;
6779 MenhirLib.EngineTypes.startp = _startpos_m_;
6780 MenhirLib.EngineTypes.endp = _endpos_m_;
6781 MenhirLib.EngineTypes.next = {
6782 MenhirLib.EngineTypes.semv = ty00;
6783 MenhirLib.EngineTypes.startp = _startpos_ty00_;
6784 MenhirLib.EngineTypes.endp = _endpos_ty00_;
6785 MenhirLib.EngineTypes.next = {
6786 MenhirLib.EngineTypes.state = _menhir_s;
6787 MenhirLib.EngineTypes.semv = r0;
6788 MenhirLib.EngineTypes.startp = _startpos_r0_;
6789 MenhirLib.EngineTypes.endp = _endpos_r0_;
6790 MenhirLib.EngineTypes.next = _menhir_stack;
6791 };
6792 };
6793 } = _menhir_stack in
6794 let m : 'tv_list_TMul_ = Obj.magic m in
6795 let ty00 : (
6796 # 51 "parser_cocci_menhir.mly"
6797 (Data.clt)
6798 # 6799 "parser_cocci_menhir.ml"
6799 ) = Obj.magic ty00 in
6800 let r0 : (
6801 # 53 "parser_cocci_menhir.mly"
6802 (Data.clt)
6803 # 6804 "parser_cocci_menhir.ml"
6804 ) = Obj.magic r0 in
6805 let _startpos = _startpos_r0_ in
6806 let _endpos = _endpos_m_ in
6807 let _v : 'tv_ctype = let ty =
6808 let ty0 = ty00 in
6809 let r = r0 in
6810 let ty =
6811 let ty = ty0 in
6812
6813 # 538 "parser_cocci_menhir.mly"
6814 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
6815 # 6816 "parser_cocci_menhir.ml"
6816
6817 in
6818
6819 # 591 "parser_cocci_menhir.mly"
6820 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6821 # 6822 "parser_cocci_menhir.ml"
6822
6823 in
6824 let cv =
6825
6826 # 39 "standard.mly"
6827 ( None )
6828 # 6829 "parser_cocci_menhir.ml"
6829
6830 in
6831
6832 # 599 "parser_cocci_menhir.mly"
6833 ( P.pointerify (P.make_cv cv ty) m )
6834 # 6835 "parser_cocci_menhir.ml"
6835 in
6836 _menhir_env.MenhirLib.EngineTypes.stack <- {
6837 MenhirLib.EngineTypes.state = _menhir_s;
6838 MenhirLib.EngineTypes.semv = Obj.repr _v;
6839 MenhirLib.EngineTypes.startp = _startpos;
6840 MenhirLib.EngineTypes.endp = _endpos;
6841 MenhirLib.EngineTypes.next = _menhir_stack;
6842 });
6843 (fun _menhir_env ->
6844 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6845 let {
6846 MenhirLib.EngineTypes.semv = m;
6847 MenhirLib.EngineTypes.startp = _startpos_m_;
6848 MenhirLib.EngineTypes.endp = _endpos_m_;
6849 MenhirLib.EngineTypes.next = {
6850 MenhirLib.EngineTypes.semv = p00;
6851 MenhirLib.EngineTypes.startp = _startpos_p00_;
6852 MenhirLib.EngineTypes.endp = _endpos_p00_;
6853 MenhirLib.EngineTypes.next = {
6854 MenhirLib.EngineTypes.state = _menhir_s;
6855 MenhirLib.EngineTypes.semv = r0;
6856 MenhirLib.EngineTypes.startp = _startpos_r0_;
6857 MenhirLib.EngineTypes.endp = _endpos_r0_;
6858 MenhirLib.EngineTypes.next = _menhir_stack;
6859 };
6860 };
6861 } = _menhir_stack in
6862 let m : 'tv_list_TMul_ = Obj.magic m in
6863 let p00 : (
6864 # 67 "parser_cocci_menhir.mly"
6865 (Parse_aux.info)
6866 # 6867 "parser_cocci_menhir.ml"
6867 ) = Obj.magic p00 in
6868 let r0 : (
6869 # 53 "parser_cocci_menhir.mly"
6870 (Data.clt)
6871 # 6872 "parser_cocci_menhir.ml"
6872 ) = Obj.magic r0 in
6873 let _startpos = _startpos_r0_ in
6874 let _endpos = _endpos_m_ in
6875 let _v : 'tv_ctype = let ty =
6876 let p0 = p00 in
6877 let r = r0 in
6878 let ty =
6879 let p = p0 in
6880
6881 # 540 "parser_cocci_menhir.mly"
6882 ( let (nm,pure,clt) = p in
6883 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
6884 # 6885 "parser_cocci_menhir.ml"
6885
6886 in
6887
6888 # 591 "parser_cocci_menhir.mly"
6889 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6890 # 6891 "parser_cocci_menhir.ml"
6891
6892 in
6893 let cv =
6894
6895 # 39 "standard.mly"
6896 ( None )
6897 # 6898 "parser_cocci_menhir.ml"
6898
6899 in
6900
6901 # 599 "parser_cocci_menhir.mly"
6902 ( P.pointerify (P.make_cv cv ty) m )
6903 # 6904 "parser_cocci_menhir.ml"
6904 in
6905 _menhir_env.MenhirLib.EngineTypes.stack <- {
6906 MenhirLib.EngineTypes.state = _menhir_s;
6907 MenhirLib.EngineTypes.semv = Obj.repr _v;
6908 MenhirLib.EngineTypes.startp = _startpos;
6909 MenhirLib.EngineTypes.endp = _endpos;
6910 MenhirLib.EngineTypes.next = _menhir_stack;
6911 });
6912 (fun _menhir_env ->
6913 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6914 let {
6915 MenhirLib.EngineTypes.semv = m;
6916 MenhirLib.EngineTypes.startp = _startpos_m_;
6917 MenhirLib.EngineTypes.endp = _endpos_m_;
6918 MenhirLib.EngineTypes.next = {
6919 MenhirLib.EngineTypes.semv = p00;
6920 MenhirLib.EngineTypes.startp = _startpos_p00_;
6921 MenhirLib.EngineTypes.endp = _endpos_p00_;
6922 MenhirLib.EngineTypes.next = {
6923 MenhirLib.EngineTypes.startp = _startpos__3_;
6924 MenhirLib.EngineTypes.endp = _endpos__3_;
6925 MenhirLib.EngineTypes.next = {
6926 MenhirLib.EngineTypes.semv = r00;
6927 MenhirLib.EngineTypes.startp = _startpos_r00_;
6928 MenhirLib.EngineTypes.endp = _endpos_r00_;
6929 MenhirLib.EngineTypes.next = {
6930 MenhirLib.EngineTypes.state = _menhir_s;
6931 MenhirLib.EngineTypes.semv = r1;
6932 MenhirLib.EngineTypes.startp = _startpos_r1_;
6933 MenhirLib.EngineTypes.endp = _endpos_r1_;
6934 MenhirLib.EngineTypes.next = _menhir_stack;
6935 };
6936 };
6937 };
6938 };
6939 } = _menhir_stack in
6940 let m : 'tv_list_TMul_ = Obj.magic m in
6941 let p00 : (
6942 # 61 "parser_cocci_menhir.mly"
6943 (string * Data.clt)
6944 # 6945 "parser_cocci_menhir.ml"
6945 ) = Obj.magic p00 in
6946 let r00 : (
6947 # 49 "parser_cocci_menhir.mly"
6948 (string)
6949 # 6950 "parser_cocci_menhir.ml"
6950 ) = Obj.magic r00 in
6951 let r1 : (
6952 # 53 "parser_cocci_menhir.mly"
6953 (Data.clt)
6954 # 6955 "parser_cocci_menhir.ml"
6955 ) = Obj.magic r1 in
6956 let _startpos = _startpos_r1_ in
6957 let _endpos = _endpos_m_ in
6958 let _v : 'tv_ctype = let ty =
6959 let p0 = p00 in
6960 let r0 = r00 in
6961 let r = r1 in
6962 let ty =
6963 let p = p0 in
6964 let r = r0 in
6965
6966 # 543 "parser_cocci_menhir.mly"
6967 ( let nm = (r,P.id2name p) in
6968 (* this is only possible when we are in a metavar decl. Otherwise,
6969 it will be represented already as a MetaType *)
6970 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
6971 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
6972 Ast0.Impure (*will be ignored*))) )
6973 # 6974 "parser_cocci_menhir.ml"
6974
6975 in
6976
6977 # 591 "parser_cocci_menhir.mly"
6978 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
6979 # 6980 "parser_cocci_menhir.ml"
6980
6981 in
6982 let cv =
6983
6984 # 39 "standard.mly"
6985 ( None )
6986 # 6987 "parser_cocci_menhir.ml"
6987
6988 in
6989
6990 # 599 "parser_cocci_menhir.mly"
6991 ( P.pointerify (P.make_cv cv ty) m )
6992 # 6993 "parser_cocci_menhir.ml"
6993 in
6994 _menhir_env.MenhirLib.EngineTypes.stack <- {
6995 MenhirLib.EngineTypes.state = _menhir_s;
6996 MenhirLib.EngineTypes.semv = Obj.repr _v;
6997 MenhirLib.EngineTypes.startp = _startpos;
6998 MenhirLib.EngineTypes.endp = _endpos;
6999 MenhirLib.EngineTypes.next = _menhir_stack;
7000 });
7001 (fun _menhir_env ->
7002 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7003 let {
7004 MenhirLib.EngineTypes.semv = m;
7005 MenhirLib.EngineTypes.startp = _startpos_m_;
7006 MenhirLib.EngineTypes.endp = _endpos_m_;
7007 MenhirLib.EngineTypes.next = {
7008 MenhirLib.EngineTypes.semv = ty00;
7009 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7010 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7011 MenhirLib.EngineTypes.next = {
7012 MenhirLib.EngineTypes.state = _menhir_s;
7013 MenhirLib.EngineTypes.semv = r0;
7014 MenhirLib.EngineTypes.startp = _startpos_r0_;
7015 MenhirLib.EngineTypes.endp = _endpos_r0_;
7016 MenhirLib.EngineTypes.next = _menhir_stack;
7017 };
7018 };
7019 } = _menhir_stack in
7020 let m : 'tv_list_TMul_ = Obj.magic m in
7021 let ty00 : (
7022 # 51 "parser_cocci_menhir.mly"
7023 (Data.clt)
7024 # 7025 "parser_cocci_menhir.ml"
7025 ) = Obj.magic ty00 in
7026 let r0 : (
7027 # 53 "parser_cocci_menhir.mly"
7028 (Data.clt)
7029 # 7030 "parser_cocci_menhir.ml"
7030 ) = Obj.magic r0 in
7031 let _startpos = _startpos_r0_ in
7032 let _endpos = _endpos_m_ in
7033 let _v : 'tv_ctype = let ty =
7034 let ty0 = ty00 in
7035 let r = r0 in
7036 let ty =
7037 let ty = ty0 in
7038
7039 # 550 "parser_cocci_menhir.mly"
7040 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
7041 # 7042 "parser_cocci_menhir.ml"
7042
7043 in
7044
7045 # 591 "parser_cocci_menhir.mly"
7046 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
7047 # 7048 "parser_cocci_menhir.ml"
7048
7049 in
7050 let cv =
7051
7052 # 39 "standard.mly"
7053 ( None )
7054 # 7055 "parser_cocci_menhir.ml"
7055
7056 in
7057
7058 # 599 "parser_cocci_menhir.mly"
7059 ( P.pointerify (P.make_cv cv ty) m )
7060 # 7061 "parser_cocci_menhir.ml"
7061 in
7062 _menhir_env.MenhirLib.EngineTypes.stack <- {
7063 MenhirLib.EngineTypes.state = _menhir_s;
7064 MenhirLib.EngineTypes.semv = Obj.repr _v;
7065 MenhirLib.EngineTypes.startp = _startpos;
7066 MenhirLib.EngineTypes.endp = _endpos;
7067 MenhirLib.EngineTypes.next = _menhir_stack;
7068 });
7069 (fun _menhir_env ->
7070 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7071 let {
7072 MenhirLib.EngineTypes.semv = m;
7073 MenhirLib.EngineTypes.startp = _startpos_m_;
7074 MenhirLib.EngineTypes.endp = _endpos_m_;
7075 MenhirLib.EngineTypes.next = {
7076 MenhirLib.EngineTypes.semv = ty200;
7077 MenhirLib.EngineTypes.startp = _startpos_ty200_;
7078 MenhirLib.EngineTypes.endp = _endpos_ty200_;
7079 MenhirLib.EngineTypes.next = {
7080 MenhirLib.EngineTypes.semv = ty100;
7081 MenhirLib.EngineTypes.startp = _startpos_ty100_;
7082 MenhirLib.EngineTypes.endp = _endpos_ty100_;
7083 MenhirLib.EngineTypes.next = {
7084 MenhirLib.EngineTypes.state = _menhir_s;
7085 MenhirLib.EngineTypes.semv = r0;
7086 MenhirLib.EngineTypes.startp = _startpos_r0_;
7087 MenhirLib.EngineTypes.endp = _endpos_r0_;
7088 MenhirLib.EngineTypes.next = _menhir_stack;
7089 };
7090 };
7091 };
7092 } = _menhir_stack in
7093 let m : 'tv_list_TMul_ = Obj.magic m in
7094 let ty200 : (
7095 # 51 "parser_cocci_menhir.mly"
7096 (Data.clt)
7097 # 7098 "parser_cocci_menhir.ml"
7098 ) = Obj.magic ty200 in
7099 let ty100 : (
7100 # 51 "parser_cocci_menhir.mly"
7101 (Data.clt)
7102 # 7103 "parser_cocci_menhir.ml"
7103 ) = Obj.magic ty100 in
7104 let r0 : (
7105 # 53 "parser_cocci_menhir.mly"
7106 (Data.clt)
7107 # 7108 "parser_cocci_menhir.ml"
7108 ) = Obj.magic r0 in
7109 let _startpos = _startpos_r0_ in
7110 let _endpos = _endpos_m_ in
7111 let _v : 'tv_ctype = let ty =
7112 let ty20 = ty200 in
7113 let ty10 = ty100 in
7114 let r = r0 in
7115 let ty =
7116 let ty2 = ty20 in
7117 let ty1 = ty10 in
7118
7119 # 552 "parser_cocci_menhir.mly"
7120 ( Ast0.wrap
7121 (Ast0.BaseType
7122 (Ast.LongLongType,
7123 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
7124 # 7125 "parser_cocci_menhir.ml"
7125
7126 in
7127
7128 # 591 "parser_cocci_menhir.mly"
7129 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
7130 # 7131 "parser_cocci_menhir.ml"
7131
7132 in
7133 let cv =
7134
7135 # 39 "standard.mly"
7136 ( None )
7137 # 7138 "parser_cocci_menhir.ml"
7138
7139 in
7140
7141 # 599 "parser_cocci_menhir.mly"
7142 ( P.pointerify (P.make_cv cv ty) m )
7143 # 7144 "parser_cocci_menhir.ml"
7144 in
7145 _menhir_env.MenhirLib.EngineTypes.stack <- {
7146 MenhirLib.EngineTypes.state = _menhir_s;
7147 MenhirLib.EngineTypes.semv = Obj.repr _v;
7148 MenhirLib.EngineTypes.startp = _startpos;
7149 MenhirLib.EngineTypes.endp = _endpos;
7150 MenhirLib.EngineTypes.next = _menhir_stack;
7151 });
7152 (fun _menhir_env ->
7153 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7154 let {
7155 MenhirLib.EngineTypes.semv = m;
7156 MenhirLib.EngineTypes.startp = _startpos_m_;
7157 MenhirLib.EngineTypes.endp = _endpos_m_;
7158 MenhirLib.EngineTypes.next = {
7159 MenhirLib.EngineTypes.semv = ty00;
7160 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7161 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7162 MenhirLib.EngineTypes.next = {
7163 MenhirLib.EngineTypes.state = _menhir_s;
7164 MenhirLib.EngineTypes.semv = r0;
7165 MenhirLib.EngineTypes.startp = _startpos_r0_;
7166 MenhirLib.EngineTypes.endp = _endpos_r0_;
7167 MenhirLib.EngineTypes.next = _menhir_stack;
7168 };
7169 };
7170 } = _menhir_stack in
7171 let m : 'tv_list_TMul_ = Obj.magic m in
7172 let ty00 : (
7173 # 51 "parser_cocci_menhir.mly"
7174 (Data.clt)
7175 # 7176 "parser_cocci_menhir.ml"
7176 ) = Obj.magic ty00 in
7177 let r0 : (
7178 # 53 "parser_cocci_menhir.mly"
7179 (Data.clt)
7180 # 7181 "parser_cocci_menhir.ml"
7181 ) = Obj.magic r0 in
7182 let _startpos = _startpos_r0_ in
7183 let _endpos = _endpos_m_ in
7184 let _v : 'tv_ctype = let ty =
7185 let ty0 = ty00 in
7186 let r = r0 in
7187 let ty =
7188 let ty = ty0 in
7189
7190 # 534 "parser_cocci_menhir.mly"
7191 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
7192 # 7193 "parser_cocci_menhir.ml"
7193
7194 in
7195
7196 # 593 "parser_cocci_menhir.mly"
7197 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
7198 # 7199 "parser_cocci_menhir.ml"
7199
7200 in
7201 let cv =
7202
7203 # 39 "standard.mly"
7204 ( None )
7205 # 7206 "parser_cocci_menhir.ml"
7206
7207 in
7208
7209 # 599 "parser_cocci_menhir.mly"
7210 ( P.pointerify (P.make_cv cv ty) m )
7211 # 7212 "parser_cocci_menhir.ml"
7212 in
7213 _menhir_env.MenhirLib.EngineTypes.stack <- {
7214 MenhirLib.EngineTypes.state = _menhir_s;
7215 MenhirLib.EngineTypes.semv = Obj.repr _v;
7216 MenhirLib.EngineTypes.startp = _startpos;
7217 MenhirLib.EngineTypes.endp = _endpos;
7218 MenhirLib.EngineTypes.next = _menhir_stack;
7219 });
7220 (fun _menhir_env ->
7221 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7222 let {
7223 MenhirLib.EngineTypes.semv = m;
7224 MenhirLib.EngineTypes.startp = _startpos_m_;
7225 MenhirLib.EngineTypes.endp = _endpos_m_;
7226 MenhirLib.EngineTypes.next = {
7227 MenhirLib.EngineTypes.semv = ty00;
7228 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7229 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7230 MenhirLib.EngineTypes.next = {
7231 MenhirLib.EngineTypes.state = _menhir_s;
7232 MenhirLib.EngineTypes.semv = r0;
7233 MenhirLib.EngineTypes.startp = _startpos_r0_;
7234 MenhirLib.EngineTypes.endp = _endpos_r0_;
7235 MenhirLib.EngineTypes.next = _menhir_stack;
7236 };
7237 };
7238 } = _menhir_stack in
7239 let m : 'tv_list_TMul_ = Obj.magic m in
7240 let ty00 : (
7241 # 51 "parser_cocci_menhir.mly"
7242 (Data.clt)
7243 # 7244 "parser_cocci_menhir.ml"
7244 ) = Obj.magic ty00 in
7245 let r0 : (
7246 # 53 "parser_cocci_menhir.mly"
7247 (Data.clt)
7248 # 7249 "parser_cocci_menhir.ml"
7249 ) = Obj.magic r0 in
7250 let _startpos = _startpos_r0_ in
7251 let _endpos = _endpos_m_ in
7252 let _v : 'tv_ctype = let ty =
7253 let ty0 = ty00 in
7254 let r = r0 in
7255 let ty =
7256 let ty = ty0 in
7257
7258 # 536 "parser_cocci_menhir.mly"
7259 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
7260 # 7261 "parser_cocci_menhir.ml"
7261
7262 in
7263
7264 # 593 "parser_cocci_menhir.mly"
7265 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
7266 # 7267 "parser_cocci_menhir.ml"
7267
7268 in
7269 let cv =
7270
7271 # 39 "standard.mly"
7272 ( None )
7273 # 7274 "parser_cocci_menhir.ml"
7274
7275 in
7276
7277 # 599 "parser_cocci_menhir.mly"
7278 ( P.pointerify (P.make_cv cv ty) m )
7279 # 7280 "parser_cocci_menhir.ml"
7280 in
7281 _menhir_env.MenhirLib.EngineTypes.stack <- {
7282 MenhirLib.EngineTypes.state = _menhir_s;
7283 MenhirLib.EngineTypes.semv = Obj.repr _v;
7284 MenhirLib.EngineTypes.startp = _startpos;
7285 MenhirLib.EngineTypes.endp = _endpos;
7286 MenhirLib.EngineTypes.next = _menhir_stack;
7287 });
7288 (fun _menhir_env ->
7289 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7290 let {
7291 MenhirLib.EngineTypes.semv = m;
7292 MenhirLib.EngineTypes.startp = _startpos_m_;
7293 MenhirLib.EngineTypes.endp = _endpos_m_;
7294 MenhirLib.EngineTypes.next = {
7295 MenhirLib.EngineTypes.semv = ty00;
7296 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7297 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7298 MenhirLib.EngineTypes.next = {
7299 MenhirLib.EngineTypes.state = _menhir_s;
7300 MenhirLib.EngineTypes.semv = r0;
7301 MenhirLib.EngineTypes.startp = _startpos_r0_;
7302 MenhirLib.EngineTypes.endp = _endpos_r0_;
7303 MenhirLib.EngineTypes.next = _menhir_stack;
7304 };
7305 };
7306 } = _menhir_stack in
7307 let m : 'tv_list_TMul_ = Obj.magic m in
7308 let ty00 : (
7309 # 51 "parser_cocci_menhir.mly"
7310 (Data.clt)
7311 # 7312 "parser_cocci_menhir.ml"
7312 ) = Obj.magic ty00 in
7313 let r0 : (
7314 # 53 "parser_cocci_menhir.mly"
7315 (Data.clt)
7316 # 7317 "parser_cocci_menhir.ml"
7317 ) = Obj.magic r0 in
7318 let _startpos = _startpos_r0_ in
7319 let _endpos = _endpos_m_ in
7320 let _v : 'tv_ctype = let ty =
7321 let ty0 = ty00 in
7322 let r = r0 in
7323 let ty =
7324 let ty = ty0 in
7325
7326 # 538 "parser_cocci_menhir.mly"
7327 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
7328 # 7329 "parser_cocci_menhir.ml"
7329
7330 in
7331
7332 # 593 "parser_cocci_menhir.mly"
7333 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
7334 # 7335 "parser_cocci_menhir.ml"
7335
7336 in
7337 let cv =
7338
7339 # 39 "standard.mly"
7340 ( None )
7341 # 7342 "parser_cocci_menhir.ml"
7342
7343 in
7344
7345 # 599 "parser_cocci_menhir.mly"
7346 ( P.pointerify (P.make_cv cv ty) m )
7347 # 7348 "parser_cocci_menhir.ml"
7348 in
7349 _menhir_env.MenhirLib.EngineTypes.stack <- {
7350 MenhirLib.EngineTypes.state = _menhir_s;
7351 MenhirLib.EngineTypes.semv = Obj.repr _v;
7352 MenhirLib.EngineTypes.startp = _startpos;
7353 MenhirLib.EngineTypes.endp = _endpos;
7354 MenhirLib.EngineTypes.next = _menhir_stack;
7355 });
7356 (fun _menhir_env ->
7357 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7358 let {
7359 MenhirLib.EngineTypes.semv = m;
7360 MenhirLib.EngineTypes.startp = _startpos_m_;
7361 MenhirLib.EngineTypes.endp = _endpos_m_;
7362 MenhirLib.EngineTypes.next = {
7363 MenhirLib.EngineTypes.semv = p00;
7364 MenhirLib.EngineTypes.startp = _startpos_p00_;
7365 MenhirLib.EngineTypes.endp = _endpos_p00_;
7366 MenhirLib.EngineTypes.next = {
7367 MenhirLib.EngineTypes.state = _menhir_s;
7368 MenhirLib.EngineTypes.semv = r0;
7369 MenhirLib.EngineTypes.startp = _startpos_r0_;
7370 MenhirLib.EngineTypes.endp = _endpos_r0_;
7371 MenhirLib.EngineTypes.next = _menhir_stack;
7372 };
7373 };
7374 } = _menhir_stack in
7375 let m : 'tv_list_TMul_ = Obj.magic m in
7376 let p00 : (
7377 # 67 "parser_cocci_menhir.mly"
7378 (Parse_aux.info)
7379 # 7380 "parser_cocci_menhir.ml"
7380 ) = Obj.magic p00 in
7381 let r0 : (
7382 # 53 "parser_cocci_menhir.mly"
7383 (Data.clt)
7384 # 7385 "parser_cocci_menhir.ml"
7385 ) = Obj.magic r0 in
7386 let _startpos = _startpos_r0_ in
7387 let _endpos = _endpos_m_ in
7388 let _v : 'tv_ctype = let ty =
7389 let p0 = p00 in
7390 let r = r0 in
7391 let ty =
7392 let p = p0 in
7393
7394 # 540 "parser_cocci_menhir.mly"
7395 ( let (nm,pure,clt) = p in
7396 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
7397 # 7398 "parser_cocci_menhir.ml"
7398
7399 in
7400
7401 # 593 "parser_cocci_menhir.mly"
7402 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
7403 # 7404 "parser_cocci_menhir.ml"
7404
7405 in
7406 let cv =
7407
7408 # 39 "standard.mly"
7409 ( None )
7410 # 7411 "parser_cocci_menhir.ml"
7411
7412 in
7413
7414 # 599 "parser_cocci_menhir.mly"
7415 ( P.pointerify (P.make_cv cv ty) m )
7416 # 7417 "parser_cocci_menhir.ml"
7417 in
7418 _menhir_env.MenhirLib.EngineTypes.stack <- {
7419 MenhirLib.EngineTypes.state = _menhir_s;
7420 MenhirLib.EngineTypes.semv = Obj.repr _v;
7421 MenhirLib.EngineTypes.startp = _startpos;
7422 MenhirLib.EngineTypes.endp = _endpos;
7423 MenhirLib.EngineTypes.next = _menhir_stack;
7424 });
7425 (fun _menhir_env ->
7426 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7427 let {
7428 MenhirLib.EngineTypes.semv = m;
7429 MenhirLib.EngineTypes.startp = _startpos_m_;
7430 MenhirLib.EngineTypes.endp = _endpos_m_;
7431 MenhirLib.EngineTypes.next = {
7432 MenhirLib.EngineTypes.semv = p00;
7433 MenhirLib.EngineTypes.startp = _startpos_p00_;
7434 MenhirLib.EngineTypes.endp = _endpos_p00_;
7435 MenhirLib.EngineTypes.next = {
7436 MenhirLib.EngineTypes.startp = _startpos__3_;
7437 MenhirLib.EngineTypes.endp = _endpos__3_;
7438 MenhirLib.EngineTypes.next = {
7439 MenhirLib.EngineTypes.semv = r00;
7440 MenhirLib.EngineTypes.startp = _startpos_r00_;
7441 MenhirLib.EngineTypes.endp = _endpos_r00_;
7442 MenhirLib.EngineTypes.next = {
7443 MenhirLib.EngineTypes.state = _menhir_s;
7444 MenhirLib.EngineTypes.semv = r1;
7445 MenhirLib.EngineTypes.startp = _startpos_r1_;
7446 MenhirLib.EngineTypes.endp = _endpos_r1_;
7447 MenhirLib.EngineTypes.next = _menhir_stack;
7448 };
7449 };
7450 };
7451 };
7452 } = _menhir_stack in
7453 let m : 'tv_list_TMul_ = Obj.magic m in
7454 let p00 : (
7455 # 61 "parser_cocci_menhir.mly"
7456 (string * Data.clt)
7457 # 7458 "parser_cocci_menhir.ml"
7458 ) = Obj.magic p00 in
7459 let r00 : (
7460 # 49 "parser_cocci_menhir.mly"
7461 (string)
7462 # 7463 "parser_cocci_menhir.ml"
7463 ) = Obj.magic r00 in
7464 let r1 : (
7465 # 53 "parser_cocci_menhir.mly"
7466 (Data.clt)
7467 # 7468 "parser_cocci_menhir.ml"
7468 ) = Obj.magic r1 in
7469 let _startpos = _startpos_r1_ in
7470 let _endpos = _endpos_m_ in
7471 let _v : 'tv_ctype = let ty =
7472 let p0 = p00 in
7473 let r0 = r00 in
7474 let r = r1 in
7475 let ty =
7476 let p = p0 in
7477 let r = r0 in
7478
7479 # 543 "parser_cocci_menhir.mly"
7480 ( let nm = (r,P.id2name p) in
7481 (* this is only possible when we are in a metavar decl. Otherwise,
7482 it will be represented already as a MetaType *)
7483 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
7484 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
7485 Ast0.Impure (*will be ignored*))) )
7486 # 7487 "parser_cocci_menhir.ml"
7487
7488 in
7489
7490 # 593 "parser_cocci_menhir.mly"
7491 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
7492 # 7493 "parser_cocci_menhir.ml"
7493
7494 in
7495 let cv =
7496
7497 # 39 "standard.mly"
7498 ( None )
7499 # 7500 "parser_cocci_menhir.ml"
7500
7501 in
7502
7503 # 599 "parser_cocci_menhir.mly"
7504 ( P.pointerify (P.make_cv cv ty) m )
7505 # 7506 "parser_cocci_menhir.ml"
7506 in
7507 _menhir_env.MenhirLib.EngineTypes.stack <- {
7508 MenhirLib.EngineTypes.state = _menhir_s;
7509 MenhirLib.EngineTypes.semv = Obj.repr _v;
7510 MenhirLib.EngineTypes.startp = _startpos;
7511 MenhirLib.EngineTypes.endp = _endpos;
7512 MenhirLib.EngineTypes.next = _menhir_stack;
7513 });
7514 (fun _menhir_env ->
7515 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7516 let {
7517 MenhirLib.EngineTypes.semv = m;
7518 MenhirLib.EngineTypes.startp = _startpos_m_;
7519 MenhirLib.EngineTypes.endp = _endpos_m_;
7520 MenhirLib.EngineTypes.next = {
7521 MenhirLib.EngineTypes.semv = ty00;
7522 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7523 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7524 MenhirLib.EngineTypes.next = {
7525 MenhirLib.EngineTypes.state = _menhir_s;
7526 MenhirLib.EngineTypes.semv = r0;
7527 MenhirLib.EngineTypes.startp = _startpos_r0_;
7528 MenhirLib.EngineTypes.endp = _endpos_r0_;
7529 MenhirLib.EngineTypes.next = _menhir_stack;
7530 };
7531 };
7532 } = _menhir_stack in
7533 let m : 'tv_list_TMul_ = Obj.magic m in
7534 let ty00 : (
7535 # 51 "parser_cocci_menhir.mly"
7536 (Data.clt)
7537 # 7538 "parser_cocci_menhir.ml"
7538 ) = Obj.magic ty00 in
7539 let r0 : (
7540 # 53 "parser_cocci_menhir.mly"
7541 (Data.clt)
7542 # 7543 "parser_cocci_menhir.ml"
7543 ) = Obj.magic r0 in
7544 let _startpos = _startpos_r0_ in
7545 let _endpos = _endpos_m_ in
7546 let _v : 'tv_ctype = let ty =
7547 let ty0 = ty00 in
7548 let r = r0 in
7549 let ty =
7550 let ty = ty0 in
7551
7552 # 550 "parser_cocci_menhir.mly"
7553 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
7554 # 7555 "parser_cocci_menhir.ml"
7555
7556 in
7557
7558 # 593 "parser_cocci_menhir.mly"
7559 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
7560 # 7561 "parser_cocci_menhir.ml"
7561
7562 in
7563 let cv =
7564
7565 # 39 "standard.mly"
7566 ( None )
7567 # 7568 "parser_cocci_menhir.ml"
7568
7569 in
7570
7571 # 599 "parser_cocci_menhir.mly"
7572 ( P.pointerify (P.make_cv cv ty) m )
7573 # 7574 "parser_cocci_menhir.ml"
7574 in
7575 _menhir_env.MenhirLib.EngineTypes.stack <- {
7576 MenhirLib.EngineTypes.state = _menhir_s;
7577 MenhirLib.EngineTypes.semv = Obj.repr _v;
7578 MenhirLib.EngineTypes.startp = _startpos;
7579 MenhirLib.EngineTypes.endp = _endpos;
7580 MenhirLib.EngineTypes.next = _menhir_stack;
7581 });
7582 (fun _menhir_env ->
7583 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7584 let {
7585 MenhirLib.EngineTypes.semv = m;
7586 MenhirLib.EngineTypes.startp = _startpos_m_;
7587 MenhirLib.EngineTypes.endp = _endpos_m_;
7588 MenhirLib.EngineTypes.next = {
7589 MenhirLib.EngineTypes.semv = ty200;
7590 MenhirLib.EngineTypes.startp = _startpos_ty200_;
7591 MenhirLib.EngineTypes.endp = _endpos_ty200_;
7592 MenhirLib.EngineTypes.next = {
7593 MenhirLib.EngineTypes.semv = ty100;
7594 MenhirLib.EngineTypes.startp = _startpos_ty100_;
7595 MenhirLib.EngineTypes.endp = _endpos_ty100_;
7596 MenhirLib.EngineTypes.next = {
7597 MenhirLib.EngineTypes.state = _menhir_s;
7598 MenhirLib.EngineTypes.semv = r0;
7599 MenhirLib.EngineTypes.startp = _startpos_r0_;
7600 MenhirLib.EngineTypes.endp = _endpos_r0_;
7601 MenhirLib.EngineTypes.next = _menhir_stack;
7602 };
7603 };
7604 };
7605 } = _menhir_stack in
7606 let m : 'tv_list_TMul_ = Obj.magic m in
7607 let ty200 : (
7608 # 51 "parser_cocci_menhir.mly"
7609 (Data.clt)
7610 # 7611 "parser_cocci_menhir.ml"
7611 ) = Obj.magic ty200 in
7612 let ty100 : (
7613 # 51 "parser_cocci_menhir.mly"
7614 (Data.clt)
7615 # 7616 "parser_cocci_menhir.ml"
7616 ) = Obj.magic ty100 in
7617 let r0 : (
7618 # 53 "parser_cocci_menhir.mly"
7619 (Data.clt)
7620 # 7621 "parser_cocci_menhir.ml"
7621 ) = Obj.magic r0 in
7622 let _startpos = _startpos_r0_ in
7623 let _endpos = _endpos_m_ in
7624 let _v : 'tv_ctype = let ty =
7625 let ty20 = ty200 in
7626 let ty10 = ty100 in
7627 let r = r0 in
7628 let ty =
7629 let ty2 = ty20 in
7630 let ty1 = ty10 in
7631
7632 # 552 "parser_cocci_menhir.mly"
7633 ( Ast0.wrap
7634 (Ast0.BaseType
7635 (Ast.LongLongType,
7636 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
7637 # 7638 "parser_cocci_menhir.ml"
7638
7639 in
7640
7641 # 593 "parser_cocci_menhir.mly"
7642 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
7643 # 7644 "parser_cocci_menhir.ml"
7644
7645 in
7646 let cv =
7647
7648 # 39 "standard.mly"
7649 ( None )
7650 # 7651 "parser_cocci_menhir.ml"
7651
7652 in
7653
7654 # 599 "parser_cocci_menhir.mly"
7655 ( P.pointerify (P.make_cv cv ty) m )
7656 # 7657 "parser_cocci_menhir.ml"
7657 in
7658 _menhir_env.MenhirLib.EngineTypes.stack <- {
7659 MenhirLib.EngineTypes.state = _menhir_s;
7660 MenhirLib.EngineTypes.semv = Obj.repr _v;
7661 MenhirLib.EngineTypes.startp = _startpos;
7662 MenhirLib.EngineTypes.endp = _endpos;
7663 MenhirLib.EngineTypes.next = _menhir_stack;
7664 });
7665 (fun _menhir_env ->
7666 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7667 let {
7668 MenhirLib.EngineTypes.semv = m;
7669 MenhirLib.EngineTypes.startp = _startpos_m_;
7670 MenhirLib.EngineTypes.endp = _endpos_m_;
7671 MenhirLib.EngineTypes.next = {
7672 MenhirLib.EngineTypes.state = _menhir_s;
7673 MenhirLib.EngineTypes.semv = ty00;
7674 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7675 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7676 MenhirLib.EngineTypes.next = _menhir_stack;
7677 };
7678 } = _menhir_stack in
7679 let m : 'tv_list_TMul_ = Obj.magic m in
7680 let ty00 : (
7681 # 51 "parser_cocci_menhir.mly"
7682 (Data.clt)
7683 # 7684 "parser_cocci_menhir.ml"
7684 ) = Obj.magic ty00 in
7685 let _startpos = _startpos_ty00_ in
7686 let _endpos = _endpos_m_ in
7687 let _v : 'tv_ctype = let ty =
7688 let ty0 = ty00 in
7689 let ty =
7690 let ty = ty0 in
7691
7692 # 534 "parser_cocci_menhir.mly"
7693 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
7694 # 7695 "parser_cocci_menhir.ml"
7695
7696 in
7697
7698 # 594 "parser_cocci_menhir.mly"
7699 ( ty )
7700 # 7701 "parser_cocci_menhir.ml"
7701
7702 in
7703 let cv =
7704
7705 # 39 "standard.mly"
7706 ( None )
7707 # 7708 "parser_cocci_menhir.ml"
7708
7709 in
7710
7711 # 599 "parser_cocci_menhir.mly"
7712 ( P.pointerify (P.make_cv cv ty) m )
7713 # 7714 "parser_cocci_menhir.ml"
7714 in
7715 _menhir_env.MenhirLib.EngineTypes.stack <- {
7716 MenhirLib.EngineTypes.state = _menhir_s;
7717 MenhirLib.EngineTypes.semv = Obj.repr _v;
7718 MenhirLib.EngineTypes.startp = _startpos;
7719 MenhirLib.EngineTypes.endp = _endpos;
7720 MenhirLib.EngineTypes.next = _menhir_stack;
7721 });
7722 (fun _menhir_env ->
7723 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7724 let {
7725 MenhirLib.EngineTypes.semv = m;
7726 MenhirLib.EngineTypes.startp = _startpos_m_;
7727 MenhirLib.EngineTypes.endp = _endpos_m_;
7728 MenhirLib.EngineTypes.next = {
7729 MenhirLib.EngineTypes.state = _menhir_s;
7730 MenhirLib.EngineTypes.semv = ty00;
7731 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7732 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7733 MenhirLib.EngineTypes.next = _menhir_stack;
7734 };
7735 } = _menhir_stack in
7736 let m : 'tv_list_TMul_ = Obj.magic m in
7737 let ty00 : (
7738 # 51 "parser_cocci_menhir.mly"
7739 (Data.clt)
7740 # 7741 "parser_cocci_menhir.ml"
7741 ) = Obj.magic ty00 in
7742 let _startpos = _startpos_ty00_ in
7743 let _endpos = _endpos_m_ in
7744 let _v : 'tv_ctype = let ty =
7745 let ty0 = ty00 in
7746 let ty =
7747 let ty = ty0 in
7748
7749 # 536 "parser_cocci_menhir.mly"
7750 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
7751 # 7752 "parser_cocci_menhir.ml"
7752
7753 in
7754
7755 # 594 "parser_cocci_menhir.mly"
7756 ( ty )
7757 # 7758 "parser_cocci_menhir.ml"
7758
7759 in
7760 let cv =
7761
7762 # 39 "standard.mly"
7763 ( None )
7764 # 7765 "parser_cocci_menhir.ml"
7765
7766 in
7767
7768 # 599 "parser_cocci_menhir.mly"
7769 ( P.pointerify (P.make_cv cv ty) m )
7770 # 7771 "parser_cocci_menhir.ml"
7771 in
7772 _menhir_env.MenhirLib.EngineTypes.stack <- {
7773 MenhirLib.EngineTypes.state = _menhir_s;
7774 MenhirLib.EngineTypes.semv = Obj.repr _v;
7775 MenhirLib.EngineTypes.startp = _startpos;
7776 MenhirLib.EngineTypes.endp = _endpos;
7777 MenhirLib.EngineTypes.next = _menhir_stack;
7778 });
7779 (fun _menhir_env ->
7780 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7781 let {
7782 MenhirLib.EngineTypes.semv = m;
7783 MenhirLib.EngineTypes.startp = _startpos_m_;
7784 MenhirLib.EngineTypes.endp = _endpos_m_;
7785 MenhirLib.EngineTypes.next = {
7786 MenhirLib.EngineTypes.state = _menhir_s;
7787 MenhirLib.EngineTypes.semv = ty00;
7788 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7789 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7790 MenhirLib.EngineTypes.next = _menhir_stack;
7791 };
7792 } = _menhir_stack in
7793 let m : 'tv_list_TMul_ = Obj.magic m in
7794 let ty00 : (
7795 # 51 "parser_cocci_menhir.mly"
7796 (Data.clt)
7797 # 7798 "parser_cocci_menhir.ml"
7798 ) = Obj.magic ty00 in
7799 let _startpos = _startpos_ty00_ in
7800 let _endpos = _endpos_m_ in
7801 let _v : 'tv_ctype = let ty =
7802 let ty0 = ty00 in
7803 let ty =
7804 let ty = ty0 in
7805
7806 # 538 "parser_cocci_menhir.mly"
7807 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
7808 # 7809 "parser_cocci_menhir.ml"
7809
7810 in
7811
7812 # 594 "parser_cocci_menhir.mly"
7813 ( ty )
7814 # 7815 "parser_cocci_menhir.ml"
7815
7816 in
7817 let cv =
7818
7819 # 39 "standard.mly"
7820 ( None )
7821 # 7822 "parser_cocci_menhir.ml"
7822
7823 in
7824
7825 # 599 "parser_cocci_menhir.mly"
7826 ( P.pointerify (P.make_cv cv ty) m )
7827 # 7828 "parser_cocci_menhir.ml"
7828 in
7829 _menhir_env.MenhirLib.EngineTypes.stack <- {
7830 MenhirLib.EngineTypes.state = _menhir_s;
7831 MenhirLib.EngineTypes.semv = Obj.repr _v;
7832 MenhirLib.EngineTypes.startp = _startpos;
7833 MenhirLib.EngineTypes.endp = _endpos;
7834 MenhirLib.EngineTypes.next = _menhir_stack;
7835 });
7836 (fun _menhir_env ->
7837 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7838 let {
7839 MenhirLib.EngineTypes.semv = m;
7840 MenhirLib.EngineTypes.startp = _startpos_m_;
7841 MenhirLib.EngineTypes.endp = _endpos_m_;
7842 MenhirLib.EngineTypes.next = {
7843 MenhirLib.EngineTypes.state = _menhir_s;
7844 MenhirLib.EngineTypes.semv = p00;
7845 MenhirLib.EngineTypes.startp = _startpos_p00_;
7846 MenhirLib.EngineTypes.endp = _endpos_p00_;
7847 MenhirLib.EngineTypes.next = _menhir_stack;
7848 };
7849 } = _menhir_stack in
7850 let m : 'tv_list_TMul_ = Obj.magic m in
7851 let p00 : (
7852 # 67 "parser_cocci_menhir.mly"
7853 (Parse_aux.info)
7854 # 7855 "parser_cocci_menhir.ml"
7855 ) = Obj.magic p00 in
7856 let _startpos = _startpos_p00_ in
7857 let _endpos = _endpos_m_ in
7858 let _v : 'tv_ctype = let ty =
7859 let p0 = p00 in
7860 let ty =
7861 let p = p0 in
7862
7863 # 540 "parser_cocci_menhir.mly"
7864 ( let (nm,pure,clt) = p in
7865 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
7866 # 7867 "parser_cocci_menhir.ml"
7867
7868 in
7869
7870 # 594 "parser_cocci_menhir.mly"
7871 ( ty )
7872 # 7873 "parser_cocci_menhir.ml"
7873
7874 in
7875 let cv =
7876
7877 # 39 "standard.mly"
7878 ( None )
7879 # 7880 "parser_cocci_menhir.ml"
7880
7881 in
7882
7883 # 599 "parser_cocci_menhir.mly"
7884 ( P.pointerify (P.make_cv cv ty) m )
7885 # 7886 "parser_cocci_menhir.ml"
7886 in
7887 _menhir_env.MenhirLib.EngineTypes.stack <- {
7888 MenhirLib.EngineTypes.state = _menhir_s;
7889 MenhirLib.EngineTypes.semv = Obj.repr _v;
7890 MenhirLib.EngineTypes.startp = _startpos;
7891 MenhirLib.EngineTypes.endp = _endpos;
7892 MenhirLib.EngineTypes.next = _menhir_stack;
7893 });
7894 (fun _menhir_env ->
7895 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7896 let {
7897 MenhirLib.EngineTypes.semv = m;
7898 MenhirLib.EngineTypes.startp = _startpos_m_;
7899 MenhirLib.EngineTypes.endp = _endpos_m_;
7900 MenhirLib.EngineTypes.next = {
7901 MenhirLib.EngineTypes.semv = p00;
7902 MenhirLib.EngineTypes.startp = _startpos_p00_;
7903 MenhirLib.EngineTypes.endp = _endpos_p00_;
7904 MenhirLib.EngineTypes.next = {
7905 MenhirLib.EngineTypes.startp = _startpos__2_;
7906 MenhirLib.EngineTypes.endp = _endpos__2_;
7907 MenhirLib.EngineTypes.next = {
7908 MenhirLib.EngineTypes.state = _menhir_s;
7909 MenhirLib.EngineTypes.semv = r00;
7910 MenhirLib.EngineTypes.startp = _startpos_r00_;
7911 MenhirLib.EngineTypes.endp = _endpos_r00_;
7912 MenhirLib.EngineTypes.next = _menhir_stack;
7913 };
7914 };
7915 };
7916 } = _menhir_stack in
7917 let m : 'tv_list_TMul_ = Obj.magic m in
7918 let p00 : (
7919 # 61 "parser_cocci_menhir.mly"
7920 (string * Data.clt)
7921 # 7922 "parser_cocci_menhir.ml"
7922 ) = Obj.magic p00 in
7923 let r00 : (
7924 # 49 "parser_cocci_menhir.mly"
7925 (string)
7926 # 7927 "parser_cocci_menhir.ml"
7927 ) = Obj.magic r00 in
7928 let _startpos = _startpos_r00_ in
7929 let _endpos = _endpos_m_ in
7930 let _v : 'tv_ctype = let ty =
7931 let p0 = p00 in
7932 let r0 = r00 in
7933 let ty =
7934 let p = p0 in
7935 let r = r0 in
7936
7937 # 543 "parser_cocci_menhir.mly"
7938 ( let nm = (r,P.id2name p) in
7939 (* this is only possible when we are in a metavar decl. Otherwise,
7940 it will be represented already as a MetaType *)
7941 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
7942 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
7943 Ast0.Impure (*will be ignored*))) )
7944 # 7945 "parser_cocci_menhir.ml"
7945
7946 in
7947
7948 # 594 "parser_cocci_menhir.mly"
7949 ( ty )
7950 # 7951 "parser_cocci_menhir.ml"
7951
7952 in
7953 let cv =
7954
7955 # 39 "standard.mly"
7956 ( None )
7957 # 7958 "parser_cocci_menhir.ml"
7958
7959 in
7960
7961 # 599 "parser_cocci_menhir.mly"
7962 ( P.pointerify (P.make_cv cv ty) m )
7963 # 7964 "parser_cocci_menhir.ml"
7964 in
7965 _menhir_env.MenhirLib.EngineTypes.stack <- {
7966 MenhirLib.EngineTypes.state = _menhir_s;
7967 MenhirLib.EngineTypes.semv = Obj.repr _v;
7968 MenhirLib.EngineTypes.startp = _startpos;
7969 MenhirLib.EngineTypes.endp = _endpos;
7970 MenhirLib.EngineTypes.next = _menhir_stack;
7971 });
7972 (fun _menhir_env ->
7973 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7974 let {
7975 MenhirLib.EngineTypes.semv = m;
7976 MenhirLib.EngineTypes.startp = _startpos_m_;
7977 MenhirLib.EngineTypes.endp = _endpos_m_;
7978 MenhirLib.EngineTypes.next = {
7979 MenhirLib.EngineTypes.state = _menhir_s;
7980 MenhirLib.EngineTypes.semv = ty00;
7981 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7982 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7983 MenhirLib.EngineTypes.next = _menhir_stack;
7984 };
7985 } = _menhir_stack in
7986 let m : 'tv_list_TMul_ = Obj.magic m in
7987 let ty00 : (
7988 # 51 "parser_cocci_menhir.mly"
7989 (Data.clt)
7990 # 7991 "parser_cocci_menhir.ml"
7991 ) = Obj.magic ty00 in
7992 let _startpos = _startpos_ty00_ in
7993 let _endpos = _endpos_m_ in
7994 let _v : 'tv_ctype = let ty =
7995 let ty0 = ty00 in
7996 let ty =
7997 let ty = ty0 in
7998
7999 # 550 "parser_cocci_menhir.mly"
8000 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
8001 # 8002 "parser_cocci_menhir.ml"
8002
8003 in
8004
8005 # 594 "parser_cocci_menhir.mly"
8006 ( ty )
8007 # 8008 "parser_cocci_menhir.ml"
8008
8009 in
8010 let cv =
8011
8012 # 39 "standard.mly"
8013 ( None )
8014 # 8015 "parser_cocci_menhir.ml"
8015
8016 in
8017
8018 # 599 "parser_cocci_menhir.mly"
8019 ( P.pointerify (P.make_cv cv ty) m )
8020 # 8021 "parser_cocci_menhir.ml"
8021 in
8022 _menhir_env.MenhirLib.EngineTypes.stack <- {
8023 MenhirLib.EngineTypes.state = _menhir_s;
8024 MenhirLib.EngineTypes.semv = Obj.repr _v;
8025 MenhirLib.EngineTypes.startp = _startpos;
8026 MenhirLib.EngineTypes.endp = _endpos;
8027 MenhirLib.EngineTypes.next = _menhir_stack;
8028 });
8029 (fun _menhir_env ->
8030 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8031 let {
8032 MenhirLib.EngineTypes.semv = m;
8033 MenhirLib.EngineTypes.startp = _startpos_m_;
8034 MenhirLib.EngineTypes.endp = _endpos_m_;
8035 MenhirLib.EngineTypes.next = {
8036 MenhirLib.EngineTypes.semv = ty200;
8037 MenhirLib.EngineTypes.startp = _startpos_ty200_;
8038 MenhirLib.EngineTypes.endp = _endpos_ty200_;
8039 MenhirLib.EngineTypes.next = {
8040 MenhirLib.EngineTypes.state = _menhir_s;
8041 MenhirLib.EngineTypes.semv = ty100;
8042 MenhirLib.EngineTypes.startp = _startpos_ty100_;
8043 MenhirLib.EngineTypes.endp = _endpos_ty100_;
8044 MenhirLib.EngineTypes.next = _menhir_stack;
8045 };
8046 };
8047 } = _menhir_stack in
8048 let m : 'tv_list_TMul_ = Obj.magic m in
8049 let ty200 : (
8050 # 51 "parser_cocci_menhir.mly"
8051 (Data.clt)
8052 # 8053 "parser_cocci_menhir.ml"
8053 ) = Obj.magic ty200 in
8054 let ty100 : (
8055 # 51 "parser_cocci_menhir.mly"
8056 (Data.clt)
8057 # 8058 "parser_cocci_menhir.ml"
8058 ) = Obj.magic ty100 in
8059 let _startpos = _startpos_ty100_ in
8060 let _endpos = _endpos_m_ in
8061 let _v : 'tv_ctype = let ty =
8062 let ty20 = ty200 in
8063 let ty10 = ty100 in
8064 let ty =
8065 let ty2 = ty20 in
8066 let ty1 = ty10 in
8067
8068 # 552 "parser_cocci_menhir.mly"
8069 ( Ast0.wrap
8070 (Ast0.BaseType
8071 (Ast.LongLongType,
8072 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
8073 # 8074 "parser_cocci_menhir.ml"
8074
8075 in
8076
8077 # 594 "parser_cocci_menhir.mly"
8078 ( ty )
8079 # 8080 "parser_cocci_menhir.ml"
8080
8081 in
8082 let cv =
8083
8084 # 39 "standard.mly"
8085 ( None )
8086 # 8087 "parser_cocci_menhir.ml"
8087
8088 in
8089
8090 # 599 "parser_cocci_menhir.mly"
8091 ( P.pointerify (P.make_cv cv ty) m )
8092 # 8093 "parser_cocci_menhir.ml"
8093 in
8094 _menhir_env.MenhirLib.EngineTypes.stack <- {
8095 MenhirLib.EngineTypes.state = _menhir_s;
8096 MenhirLib.EngineTypes.semv = Obj.repr _v;
8097 MenhirLib.EngineTypes.startp = _startpos;
8098 MenhirLib.EngineTypes.endp = _endpos;
8099 MenhirLib.EngineTypes.next = _menhir_stack;
8100 });
8101 (fun _menhir_env ->
8102 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8103 let {
8104 MenhirLib.EngineTypes.semv = m;
8105 MenhirLib.EngineTypes.startp = _startpos_m_;
8106 MenhirLib.EngineTypes.endp = _endpos_m_;
8107 MenhirLib.EngineTypes.next = {
8108 MenhirLib.EngineTypes.state = _menhir_s;
8109 MenhirLib.EngineTypes.semv = ty00;
8110 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8111 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8112 MenhirLib.EngineTypes.next = _menhir_stack;
8113 };
8114 } = _menhir_stack in
8115 let m : 'tv_list_TMul_ = Obj.magic m in
8116 let ty00 : (
8117 # 52 "parser_cocci_menhir.mly"
8118 (Data.clt)
8119 # 8120 "parser_cocci_menhir.ml"
8120 ) = Obj.magic ty00 in
8121 let _startpos = _startpos_ty00_ in
8122 let _endpos = _endpos_m_ in
8123 let _v : 'tv_ctype = let ty =
8124 let ty0 = ty00 in
8125 let ty =
8126 let ty = ty0 in
8127
8128 # 560 "parser_cocci_menhir.mly"
8129 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
8130 # 8131 "parser_cocci_menhir.ml"
8131
8132 in
8133
8134 # 595 "parser_cocci_menhir.mly"
8135 ( ty )
8136 # 8137 "parser_cocci_menhir.ml"
8137
8138 in
8139 let cv =
8140
8141 # 39 "standard.mly"
8142 ( None )
8143 # 8144 "parser_cocci_menhir.ml"
8144
8145 in
8146
8147 # 599 "parser_cocci_menhir.mly"
8148 ( P.pointerify (P.make_cv cv ty) m )
8149 # 8150 "parser_cocci_menhir.ml"
8150 in
8151 _menhir_env.MenhirLib.EngineTypes.stack <- {
8152 MenhirLib.EngineTypes.state = _menhir_s;
8153 MenhirLib.EngineTypes.semv = Obj.repr _v;
8154 MenhirLib.EngineTypes.startp = _startpos;
8155 MenhirLib.EngineTypes.endp = _endpos;
8156 MenhirLib.EngineTypes.next = _menhir_stack;
8157 });
8158 (fun _menhir_env ->
8159 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8160 let {
8161 MenhirLib.EngineTypes.semv = m;
8162 MenhirLib.EngineTypes.startp = _startpos_m_;
8163 MenhirLib.EngineTypes.endp = _endpos_m_;
8164 MenhirLib.EngineTypes.next = {
8165 MenhirLib.EngineTypes.state = _menhir_s;
8166 MenhirLib.EngineTypes.semv = ty00;
8167 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8168 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8169 MenhirLib.EngineTypes.next = _menhir_stack;
8170 };
8171 } = _menhir_stack in
8172 let m : 'tv_list_TMul_ = Obj.magic m in
8173 let ty00 : (
8174 # 51 "parser_cocci_menhir.mly"
8175 (Data.clt)
8176 # 8177 "parser_cocci_menhir.ml"
8177 ) = Obj.magic ty00 in
8178 let _startpos = _startpos_ty00_ in
8179 let _endpos = _endpos_m_ in
8180 let _v : 'tv_ctype = let ty =
8181 let ty0 = ty00 in
8182 let ty =
8183 let ty = ty0 in
8184
8185 # 562 "parser_cocci_menhir.mly"
8186 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
8187 # 8188 "parser_cocci_menhir.ml"
8188
8189 in
8190
8191 # 595 "parser_cocci_menhir.mly"
8192 ( ty )
8193 # 8194 "parser_cocci_menhir.ml"
8194
8195 in
8196 let cv =
8197
8198 # 39 "standard.mly"
8199 ( None )
8200 # 8201 "parser_cocci_menhir.ml"
8201
8202 in
8203
8204 # 599 "parser_cocci_menhir.mly"
8205 ( P.pointerify (P.make_cv cv ty) m )
8206 # 8207 "parser_cocci_menhir.ml"
8207 in
8208 _menhir_env.MenhirLib.EngineTypes.stack <- {
8209 MenhirLib.EngineTypes.state = _menhir_s;
8210 MenhirLib.EngineTypes.semv = Obj.repr _v;
8211 MenhirLib.EngineTypes.startp = _startpos;
8212 MenhirLib.EngineTypes.endp = _endpos;
8213 MenhirLib.EngineTypes.next = _menhir_stack;
8214 });
8215 (fun _menhir_env ->
8216 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8217 let {
8218 MenhirLib.EngineTypes.semv = m;
8219 MenhirLib.EngineTypes.startp = _startpos_m_;
8220 MenhirLib.EngineTypes.endp = _endpos_m_;
8221 MenhirLib.EngineTypes.next = {
8222 MenhirLib.EngineTypes.state = _menhir_s;
8223 MenhirLib.EngineTypes.semv = ty00;
8224 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8225 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8226 MenhirLib.EngineTypes.next = _menhir_stack;
8227 };
8228 } = _menhir_stack in
8229 let m : 'tv_list_TMul_ = Obj.magic m in
8230 let ty00 : (
8231 # 51 "parser_cocci_menhir.mly"
8232 (Data.clt)
8233 # 8234 "parser_cocci_menhir.ml"
8234 ) = Obj.magic ty00 in
8235 let _startpos = _startpos_ty00_ in
8236 let _endpos = _endpos_m_ in
8237 let _v : 'tv_ctype = let ty =
8238 let ty0 = ty00 in
8239 let ty =
8240 let ty = ty0 in
8241
8242 # 564 "parser_cocci_menhir.mly"
8243 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
8244 # 8245 "parser_cocci_menhir.ml"
8245
8246 in
8247
8248 # 595 "parser_cocci_menhir.mly"
8249 ( ty )
8250 # 8251 "parser_cocci_menhir.ml"
8251
8252 in
8253 let cv =
8254
8255 # 39 "standard.mly"
8256 ( None )
8257 # 8258 "parser_cocci_menhir.ml"
8258
8259 in
8260
8261 # 599 "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 = i00;
8280 MenhirLib.EngineTypes.startp = _startpos_i00_;
8281 MenhirLib.EngineTypes.endp = _endpos_i00_;
8282 MenhirLib.EngineTypes.next = {
8283 MenhirLib.EngineTypes.state = _menhir_s;
8284 MenhirLib.EngineTypes.semv = s00;
8285 MenhirLib.EngineTypes.startp = _startpos_s00_;
8286 MenhirLib.EngineTypes.endp = _endpos_s00_;
8287 MenhirLib.EngineTypes.next = _menhir_stack;
8288 };
8289 };
8290 } = _menhir_stack in
8291 let m : 'tv_list_TMul_ = Obj.magic m in
8292 let i00 : 'tv_ident = Obj.magic i00 in
8293 let s00 : (
8294 # 52 "parser_cocci_menhir.mly"
8295 (Data.clt)
8296 # 8297 "parser_cocci_menhir.ml"
8297 ) = Obj.magic s00 in
8298 let _startpos = _startpos_s00_ in
8299 let _endpos = _endpos_m_ in
8300 let _v : 'tv_ctype = let ty =
8301 let i0 = i00 in
8302 let s0 = s00 in
8303 let ty =
8304 let i = i0 in
8305 let s = s0 in
8306
8307 # 566 "parser_cocci_menhir.mly"
8308 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
8309 # 8310 "parser_cocci_menhir.ml"
8310
8311 in
8312
8313 # 595 "parser_cocci_menhir.mly"
8314 ( ty )
8315 # 8316 "parser_cocci_menhir.ml"
8316
8317 in
8318 let cv =
8319
8320 # 39 "standard.mly"
8321 ( None )
8322 # 8323 "parser_cocci_menhir.ml"
8323
8324 in
8325
8326 # 599 "parser_cocci_menhir.mly"
8327 ( P.pointerify (P.make_cv cv ty) m )
8328 # 8329 "parser_cocci_menhir.ml"
8329 in
8330 _menhir_env.MenhirLib.EngineTypes.stack <- {
8331 MenhirLib.EngineTypes.state = _menhir_s;
8332 MenhirLib.EngineTypes.semv = Obj.repr _v;
8333 MenhirLib.EngineTypes.startp = _startpos;
8334 MenhirLib.EngineTypes.endp = _endpos;
8335 MenhirLib.EngineTypes.next = _menhir_stack;
8336 });
8337 (fun _menhir_env ->
8338 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8339 let {
8340 MenhirLib.EngineTypes.semv = m;
8341 MenhirLib.EngineTypes.startp = _startpos_m_;
8342 MenhirLib.EngineTypes.endp = _endpos_m_;
8343 MenhirLib.EngineTypes.next = {
8344 MenhirLib.EngineTypes.semv = r00;
8345 MenhirLib.EngineTypes.startp = _startpos_r00_;
8346 MenhirLib.EngineTypes.endp = _endpos_r00_;
8347 MenhirLib.EngineTypes.next = {
8348 MenhirLib.EngineTypes.semv = ids00;
8349 MenhirLib.EngineTypes.startp = _startpos_ids00_;
8350 MenhirLib.EngineTypes.endp = _endpos_ids00_;
8351 MenhirLib.EngineTypes.next = {
8352 MenhirLib.EngineTypes.semv = l00;
8353 MenhirLib.EngineTypes.startp = _startpos_l00_;
8354 MenhirLib.EngineTypes.endp = _endpos_l00_;
8355 MenhirLib.EngineTypes.next = {
8356 MenhirLib.EngineTypes.state = _menhir_s;
8357 MenhirLib.EngineTypes.semv = s00;
8358 MenhirLib.EngineTypes.startp = _startpos_s00_;
8359 MenhirLib.EngineTypes.endp = _endpos_s00_;
8360 MenhirLib.EngineTypes.next = _menhir_stack;
8361 };
8362 };
8363 };
8364 };
8365 } = _menhir_stack in
8366 let m : 'tv_list_TMul_ = Obj.magic m in
8367 let r00 : (
8368 # 104 "parser_cocci_menhir.mly"
8369 (Data.clt)
8370 # 8371 "parser_cocci_menhir.ml"
8371 ) = Obj.magic r00 in
8372 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
8373 let l00 : (
8374 # 104 "parser_cocci_menhir.mly"
8375 (Data.clt)
8376 # 8377 "parser_cocci_menhir.ml"
8377 ) = Obj.magic l00 in
8378 let s00 : (
8379 # 52 "parser_cocci_menhir.mly"
8380 (Data.clt)
8381 # 8382 "parser_cocci_menhir.ml"
8382 ) = Obj.magic s00 in
8383 let _startpos = _startpos_s00_ in
8384 let _endpos = _endpos_m_ in
8385 let _v : 'tv_ctype = let ty =
8386 let r0 = r00 in
8387 let ids0 = ids00 in
8388 let l0 = l00 in
8389 let s0 = s00 in
8390 let ty =
8391 let r = r0 in
8392 let ids = ids0 in
8393 let l = l0 in
8394 let s = s0 in
8395 let i =
8396
8397 # 39 "standard.mly"
8398 ( None )
8399 # 8400 "parser_cocci_menhir.ml"
8400
8401 in
8402
8403 # 568 "parser_cocci_menhir.mly"
8404 ( (if i = None && !Data.in_iso
8405 then failwith "enums must be named in the iso file");
8406 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
8407 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
8408 # 8409 "parser_cocci_menhir.ml"
8409
8410 in
8411
8412 # 595 "parser_cocci_menhir.mly"
8413 ( ty )
8414 # 8415 "parser_cocci_menhir.ml"
8415
8416 in
8417 let cv =
8418
8419 # 39 "standard.mly"
8420 ( None )
8421 # 8422 "parser_cocci_menhir.ml"
8422
8423 in
8424
8425 # 599 "parser_cocci_menhir.mly"
8426 ( P.pointerify (P.make_cv cv ty) m )
8427 # 8428 "parser_cocci_menhir.ml"
8428 in
8429 _menhir_env.MenhirLib.EngineTypes.stack <- {
8430 MenhirLib.EngineTypes.state = _menhir_s;
8431 MenhirLib.EngineTypes.semv = Obj.repr _v;
8432 MenhirLib.EngineTypes.startp = _startpos;
8433 MenhirLib.EngineTypes.endp = _endpos;
8434 MenhirLib.EngineTypes.next = _menhir_stack;
8435 });
8436 (fun _menhir_env ->
8437 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8438 let {
8439 MenhirLib.EngineTypes.semv = m;
8440 MenhirLib.EngineTypes.startp = _startpos_m_;
8441 MenhirLib.EngineTypes.endp = _endpos_m_;
8442 MenhirLib.EngineTypes.next = {
8443 MenhirLib.EngineTypes.semv = r00;
8444 MenhirLib.EngineTypes.startp = _startpos_r00_;
8445 MenhirLib.EngineTypes.endp = _endpos_r00_;
8446 MenhirLib.EngineTypes.next = {
8447 MenhirLib.EngineTypes.semv = ids00;
8448 MenhirLib.EngineTypes.startp = _startpos_ids00_;
8449 MenhirLib.EngineTypes.endp = _endpos_ids00_;
8450 MenhirLib.EngineTypes.next = {
8451 MenhirLib.EngineTypes.semv = l00;
8452 MenhirLib.EngineTypes.startp = _startpos_l00_;
8453 MenhirLib.EngineTypes.endp = _endpos_l00_;
8454 MenhirLib.EngineTypes.next = {
8455 MenhirLib.EngineTypes.semv = x000;
8456 MenhirLib.EngineTypes.startp = _startpos_x000_;
8457 MenhirLib.EngineTypes.endp = _endpos_x000_;
8458 MenhirLib.EngineTypes.next = {
8459 MenhirLib.EngineTypes.state = _menhir_s;
8460 MenhirLib.EngineTypes.semv = s00;
8461 MenhirLib.EngineTypes.startp = _startpos_s00_;
8462 MenhirLib.EngineTypes.endp = _endpos_s00_;
8463 MenhirLib.EngineTypes.next = _menhir_stack;
8464 };
8465 };
8466 };
8467 };
8468 };
8469 } = _menhir_stack in
8470 let m : 'tv_list_TMul_ = Obj.magic m in
8471 let r00 : (
8472 # 104 "parser_cocci_menhir.mly"
8473 (Data.clt)
8474 # 8475 "parser_cocci_menhir.ml"
8475 ) = Obj.magic r00 in
8476 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
8477 let l00 : (
8478 # 104 "parser_cocci_menhir.mly"
8479 (Data.clt)
8480 # 8481 "parser_cocci_menhir.ml"
8481 ) = Obj.magic l00 in
8482 let x000 : 'tv_ident = Obj.magic x000 in
8483 let s00 : (
8484 # 52 "parser_cocci_menhir.mly"
8485 (Data.clt)
8486 # 8487 "parser_cocci_menhir.ml"
8487 ) = Obj.magic s00 in
8488 let _startpos = _startpos_s00_ in
8489 let _endpos = _endpos_m_ in
8490 let _v : 'tv_ctype = let ty =
8491 let r0 = r00 in
8492 let ids0 = ids00 in
8493 let l0 = l00 in
8494 let x00 = x000 in
8495 let s0 = s00 in
8496 let ty =
8497 let r = r0 in
8498 let ids = ids0 in
8499 let l = l0 in
8500 let x0 = x00 in
8501 let s = s0 in
8502 let i =
8503 let x = x0 in
8504
8505 # 41 "standard.mly"
8506 ( Some x )
8507 # 8508 "parser_cocci_menhir.ml"
8508
8509 in
8510
8511 # 568 "parser_cocci_menhir.mly"
8512 ( (if i = None && !Data.in_iso
8513 then failwith "enums must be named in the iso file");
8514 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
8515 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
8516 # 8517 "parser_cocci_menhir.ml"
8517
8518 in
8519
8520 # 595 "parser_cocci_menhir.mly"
8521 ( ty )
8522 # 8523 "parser_cocci_menhir.ml"
8523
8524 in
8525 let cv =
8526
8527 # 39 "standard.mly"
8528 ( None )
8529 # 8530 "parser_cocci_menhir.ml"
8530
8531 in
8532
8533 # 599 "parser_cocci_menhir.mly"
8534 ( P.pointerify (P.make_cv cv ty) m )
8535 # 8536 "parser_cocci_menhir.ml"
8536 in
8537 _menhir_env.MenhirLib.EngineTypes.stack <- {
8538 MenhirLib.EngineTypes.state = _menhir_s;
8539 MenhirLib.EngineTypes.semv = Obj.repr _v;
8540 MenhirLib.EngineTypes.startp = _startpos;
8541 MenhirLib.EngineTypes.endp = _endpos;
8542 MenhirLib.EngineTypes.next = _menhir_stack;
8543 });
8544 (fun _menhir_env ->
8545 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8546 let {
8547 MenhirLib.EngineTypes.semv = m;
8548 MenhirLib.EngineTypes.startp = _startpos_m_;
8549 MenhirLib.EngineTypes.endp = _endpos_m_;
8550 MenhirLib.EngineTypes.next = {
8551 MenhirLib.EngineTypes.semv = i00;
8552 MenhirLib.EngineTypes.startp = _startpos_i00_;
8553 MenhirLib.EngineTypes.endp = _endpos_i00_;
8554 MenhirLib.EngineTypes.next = {
8555 MenhirLib.EngineTypes.state = _menhir_s;
8556 MenhirLib.EngineTypes.semv = s00;
8557 MenhirLib.EngineTypes.startp = _startpos_s00_;
8558 MenhirLib.EngineTypes.endp = _endpos_s00_;
8559 MenhirLib.EngineTypes.next = _menhir_stack;
8560 };
8561 };
8562 } = _menhir_stack in
8563 let m : 'tv_list_TMul_ = Obj.magic m in
8564 let i00 : 'tv_ident = Obj.magic i00 in
8565 let s00 : 'tv_struct_or_union = Obj.magic s00 in
8566 let _startpos = _startpos_s00_ in
8567 let _endpos = _endpos_m_ in
8568 let _v : 'tv_ctype = let ty =
8569 let i0 = i00 in
8570 let s0 = s00 in
8571 let ty =
8572 let i = i0 in
8573 let s = s0 in
8574
8575 # 573 "parser_cocci_menhir.mly"
8576 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
8577 # 8578 "parser_cocci_menhir.ml"
8578
8579 in
8580
8581 # 595 "parser_cocci_menhir.mly"
8582 ( ty )
8583 # 8584 "parser_cocci_menhir.ml"
8584
8585 in
8586 let cv =
8587
8588 # 39 "standard.mly"
8589 ( None )
8590 # 8591 "parser_cocci_menhir.ml"
8591
8592 in
8593
8594 # 599 "parser_cocci_menhir.mly"
8595 ( P.pointerify (P.make_cv cv ty) m )
8596 # 8597 "parser_cocci_menhir.ml"
8597 in
8598 _menhir_env.MenhirLib.EngineTypes.stack <- {
8599 MenhirLib.EngineTypes.state = _menhir_s;
8600 MenhirLib.EngineTypes.semv = Obj.repr _v;
8601 MenhirLib.EngineTypes.startp = _startpos;
8602 MenhirLib.EngineTypes.endp = _endpos;
8603 MenhirLib.EngineTypes.next = _menhir_stack;
8604 });
8605 (fun _menhir_env ->
8606 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8607 let {
8608 MenhirLib.EngineTypes.semv = m;
8609 MenhirLib.EngineTypes.startp = _startpos_m_;
8610 MenhirLib.EngineTypes.endp = _endpos_m_;
8611 MenhirLib.EngineTypes.next = {
8612 MenhirLib.EngineTypes.semv = r00;
8613 MenhirLib.EngineTypes.startp = _startpos_r00_;
8614 MenhirLib.EngineTypes.endp = _endpos_r00_;
8615 MenhirLib.EngineTypes.next = {
8616 MenhirLib.EngineTypes.semv = d00;
8617 MenhirLib.EngineTypes.startp = _startpos_d00_;
8618 MenhirLib.EngineTypes.endp = _endpos_d00_;
8619 MenhirLib.EngineTypes.next = {
8620 MenhirLib.EngineTypes.semv = l00;
8621 MenhirLib.EngineTypes.startp = _startpos_l00_;
8622 MenhirLib.EngineTypes.endp = _endpos_l00_;
8623 MenhirLib.EngineTypes.next = {
8624 MenhirLib.EngineTypes.state = _menhir_s;
8625 MenhirLib.EngineTypes.semv = s00;
8626 MenhirLib.EngineTypes.startp = _startpos_s00_;
8627 MenhirLib.EngineTypes.endp = _endpos_s00_;
8628 MenhirLib.EngineTypes.next = _menhir_stack;
8629 };
8630 };
8631 };
8632 };
8633 } = _menhir_stack in
8634 let m : 'tv_list_TMul_ = Obj.magic m in
8635 let r00 : (
8636 # 104 "parser_cocci_menhir.mly"
8637 (Data.clt)
8638 # 8639 "parser_cocci_menhir.ml"
8639 ) = Obj.magic r00 in
8640 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
8641 let l00 : (
8642 # 104 "parser_cocci_menhir.mly"
8643 (Data.clt)
8644 # 8645 "parser_cocci_menhir.ml"
8645 ) = Obj.magic l00 in
8646 let s00 : 'tv_struct_or_union = Obj.magic s00 in
8647 let _startpos = _startpos_s00_ in
8648 let _endpos = _endpos_m_ in
8649 let _v : 'tv_ctype = let ty =
8650 let r0 = r00 in
8651 let d0 = d00 in
8652 let l0 = l00 in
8653 let s0 = s00 in
8654 let ty =
8655 let r = r0 in
8656 let d = d0 in
8657 let l = l0 in
8658 let s = s0 in
8659 let i =
8660
8661 # 39 "standard.mly"
8662 ( None )
8663 # 8664 "parser_cocci_menhir.ml"
8664
8665 in
8666
8667 # 576 "parser_cocci_menhir.mly"
8668 ( (if i = None && !Data.in_iso
8669 then failwith "structures must be named in the iso file");
8670 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
8671 P.clt2mcode "{" l,
8672 d, P.clt2mcode "}" r)) )
8673 # 8674 "parser_cocci_menhir.ml"
8674
8675 in
8676
8677 # 595 "parser_cocci_menhir.mly"
8678 ( ty )
8679 # 8680 "parser_cocci_menhir.ml"
8680
8681 in
8682 let cv =
8683
8684 # 39 "standard.mly"
8685 ( None )
8686 # 8687 "parser_cocci_menhir.ml"
8687
8688 in
8689
8690 # 599 "parser_cocci_menhir.mly"
8691 ( P.pointerify (P.make_cv cv ty) m )
8692 # 8693 "parser_cocci_menhir.ml"
8693 in
8694 _menhir_env.MenhirLib.EngineTypes.stack <- {
8695 MenhirLib.EngineTypes.state = _menhir_s;
8696 MenhirLib.EngineTypes.semv = Obj.repr _v;
8697 MenhirLib.EngineTypes.startp = _startpos;
8698 MenhirLib.EngineTypes.endp = _endpos;
8699 MenhirLib.EngineTypes.next = _menhir_stack;
8700 });
8701 (fun _menhir_env ->
8702 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8703 let {
8704 MenhirLib.EngineTypes.semv = m;
8705 MenhirLib.EngineTypes.startp = _startpos_m_;
8706 MenhirLib.EngineTypes.endp = _endpos_m_;
8707 MenhirLib.EngineTypes.next = {
8708 MenhirLib.EngineTypes.semv = r00;
8709 MenhirLib.EngineTypes.startp = _startpos_r00_;
8710 MenhirLib.EngineTypes.endp = _endpos_r00_;
8711 MenhirLib.EngineTypes.next = {
8712 MenhirLib.EngineTypes.semv = d00;
8713 MenhirLib.EngineTypes.startp = _startpos_d00_;
8714 MenhirLib.EngineTypes.endp = _endpos_d00_;
8715 MenhirLib.EngineTypes.next = {
8716 MenhirLib.EngineTypes.semv = l00;
8717 MenhirLib.EngineTypes.startp = _startpos_l00_;
8718 MenhirLib.EngineTypes.endp = _endpos_l00_;
8719 MenhirLib.EngineTypes.next = {
8720 MenhirLib.EngineTypes.semv = x000;
8721 MenhirLib.EngineTypes.startp = _startpos_x000_;
8722 MenhirLib.EngineTypes.endp = _endpos_x000_;
8723 MenhirLib.EngineTypes.next = {
8724 MenhirLib.EngineTypes.state = _menhir_s;
8725 MenhirLib.EngineTypes.semv = s00;
8726 MenhirLib.EngineTypes.startp = _startpos_s00_;
8727 MenhirLib.EngineTypes.endp = _endpos_s00_;
8728 MenhirLib.EngineTypes.next = _menhir_stack;
8729 };
8730 };
8731 };
8732 };
8733 };
8734 } = _menhir_stack in
8735 let m : 'tv_list_TMul_ = Obj.magic m in
8736 let r00 : (
8737 # 104 "parser_cocci_menhir.mly"
8738 (Data.clt)
8739 # 8740 "parser_cocci_menhir.ml"
8740 ) = Obj.magic r00 in
8741 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
8742 let l00 : (
8743 # 104 "parser_cocci_menhir.mly"
8744 (Data.clt)
8745 # 8746 "parser_cocci_menhir.ml"
8746 ) = Obj.magic l00 in
8747 let x000 : 'tv_ident = Obj.magic x000 in
8748 let s00 : 'tv_struct_or_union = Obj.magic s00 in
8749 let _startpos = _startpos_s00_ in
8750 let _endpos = _endpos_m_ in
8751 let _v : 'tv_ctype = let ty =
8752 let r0 = r00 in
8753 let d0 = d00 in
8754 let l0 = l00 in
8755 let x00 = x000 in
8756 let s0 = s00 in
8757 let ty =
8758 let r = r0 in
8759 let d = d0 in
8760 let l = l0 in
8761 let x0 = x00 in
8762 let s = s0 in
8763 let i =
8764 let x = x0 in
8765
8766 # 41 "standard.mly"
8767 ( Some x )
8768 # 8769 "parser_cocci_menhir.ml"
8769
8770 in
8771
8772 # 576 "parser_cocci_menhir.mly"
8773 ( (if i = None && !Data.in_iso
8774 then failwith "structures must be named in the iso file");
8775 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
8776 P.clt2mcode "{" l,
8777 d, P.clt2mcode "}" r)) )
8778 # 8779 "parser_cocci_menhir.ml"
8779
8780 in
8781
8782 # 595 "parser_cocci_menhir.mly"
8783 ( ty )
8784 # 8785 "parser_cocci_menhir.ml"
8785
8786 in
8787 let cv =
8788
8789 # 39 "standard.mly"
8790 ( None )
8791 # 8792 "parser_cocci_menhir.ml"
8792
8793 in
8794
8795 # 599 "parser_cocci_menhir.mly"
8796 ( P.pointerify (P.make_cv cv ty) m )
8797 # 8798 "parser_cocci_menhir.ml"
8798 in
8799 _menhir_env.MenhirLib.EngineTypes.stack <- {
8800 MenhirLib.EngineTypes.state = _menhir_s;
8801 MenhirLib.EngineTypes.semv = Obj.repr _v;
8802 MenhirLib.EngineTypes.startp = _startpos;
8803 MenhirLib.EngineTypes.endp = _endpos;
8804 MenhirLib.EngineTypes.next = _menhir_stack;
8805 });
8806 (fun _menhir_env ->
8807 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8808 let {
8809 MenhirLib.EngineTypes.semv = m;
8810 MenhirLib.EngineTypes.startp = _startpos_m_;
8811 MenhirLib.EngineTypes.endp = _endpos_m_;
8812 MenhirLib.EngineTypes.next = {
8813 MenhirLib.EngineTypes.semv = r00;
8814 MenhirLib.EngineTypes.startp = _startpos_r00_;
8815 MenhirLib.EngineTypes.endp = _endpos_r00_;
8816 MenhirLib.EngineTypes.next = {
8817 MenhirLib.EngineTypes.semv = d00;
8818 MenhirLib.EngineTypes.startp = _startpos_d00_;
8819 MenhirLib.EngineTypes.endp = _endpos_d00_;
8820 MenhirLib.EngineTypes.next = {
8821 MenhirLib.EngineTypes.semv = l00;
8822 MenhirLib.EngineTypes.startp = _startpos_l00_;
8823 MenhirLib.EngineTypes.endp = _endpos_l00_;
8824 MenhirLib.EngineTypes.next = {
8825 MenhirLib.EngineTypes.state = _menhir_s;
8826 MenhirLib.EngineTypes.semv = s00;
8827 MenhirLib.EngineTypes.startp = _startpos_s00_;
8828 MenhirLib.EngineTypes.endp = _endpos_s00_;
8829 MenhirLib.EngineTypes.next = _menhir_stack;
8830 };
8831 };
8832 };
8833 };
8834 } = _menhir_stack in
8835 let m : 'tv_list_TMul_ = Obj.magic m in
8836 let r00 : (
8837 # 104 "parser_cocci_menhir.mly"
8838 (Data.clt)
8839 # 8840 "parser_cocci_menhir.ml"
8840 ) = Obj.magic r00 in
8841 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
8842 let l00 : (
8843 # 104 "parser_cocci_menhir.mly"
8844 (Data.clt)
8845 # 8846 "parser_cocci_menhir.ml"
8846 ) = Obj.magic l00 in
8847 let s00 : (
8848 # 67 "parser_cocci_menhir.mly"
8849 (Parse_aux.info)
8850 # 8851 "parser_cocci_menhir.ml"
8851 ) = Obj.magic s00 in
8852 let _startpos = _startpos_s00_ in
8853 let _endpos = _endpos_m_ in
8854 let _v : 'tv_ctype = let ty =
8855 let r0 = r00 in
8856 let d0 = d00 in
8857 let l0 = l00 in
8858 let s0 = s00 in
8859 let ty =
8860 let r = r0 in
8861 let d = d0 in
8862 let l = l0 in
8863 let s = s0 in
8864
8865 # 582 "parser_cocci_menhir.mly"
8866 ( let (nm,pure,clt) = s in
8867 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
8868 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
8869 # 8870 "parser_cocci_menhir.ml"
8870
8871 in
8872
8873 # 595 "parser_cocci_menhir.mly"
8874 ( ty )
8875 # 8876 "parser_cocci_menhir.ml"
8876
8877 in
8878 let cv =
8879
8880 # 39 "standard.mly"
8881 ( None )
8882 # 8883 "parser_cocci_menhir.ml"
8883
8884 in
8885
8886 # 599 "parser_cocci_menhir.mly"
8887 ( P.pointerify (P.make_cv cv ty) m )
8888 # 8889 "parser_cocci_menhir.ml"
8889 in
8890 _menhir_env.MenhirLib.EngineTypes.stack <- {
8891 MenhirLib.EngineTypes.state = _menhir_s;
8892 MenhirLib.EngineTypes.semv = Obj.repr _v;
8893 MenhirLib.EngineTypes.startp = _startpos;
8894 MenhirLib.EngineTypes.endp = _endpos;
8895 MenhirLib.EngineTypes.next = _menhir_stack;
8896 });
8897 (fun _menhir_env ->
8898 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8899 let {
8900 MenhirLib.EngineTypes.semv = m;
8901 MenhirLib.EngineTypes.startp = _startpos_m_;
8902 MenhirLib.EngineTypes.endp = _endpos_m_;
8903 MenhirLib.EngineTypes.next = {
8904 MenhirLib.EngineTypes.state = _menhir_s;
8905 MenhirLib.EngineTypes.semv = p00;
8906 MenhirLib.EngineTypes.startp = _startpos_p00_;
8907 MenhirLib.EngineTypes.endp = _endpos_p00_;
8908 MenhirLib.EngineTypes.next = _menhir_stack;
8909 };
8910 } = _menhir_stack in
8911 let m : 'tv_list_TMul_ = Obj.magic m in
8912 let p00 : (
8913 # 61 "parser_cocci_menhir.mly"
8914 (string * Data.clt)
8915 # 8916 "parser_cocci_menhir.ml"
8916 ) = Obj.magic p00 in
8917 let _startpos = _startpos_p00_ in
8918 let _endpos = _endpos_m_ in
8919 let _v : 'tv_ctype = let ty =
8920 let p0 = p00 in
8921 let ty =
8922 let p = p0 in
8923
8924 # 586 "parser_cocci_menhir.mly"
8925 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
8926 # 8927 "parser_cocci_menhir.ml"
8927
8928 in
8929
8930 # 595 "parser_cocci_menhir.mly"
8931 ( ty )
8932 # 8933 "parser_cocci_menhir.ml"
8933
8934 in
8935 let cv =
8936
8937 # 39 "standard.mly"
8938 ( None )
8939 # 8940 "parser_cocci_menhir.ml"
8940
8941 in
8942
8943 # 599 "parser_cocci_menhir.mly"
8944 ( P.pointerify (P.make_cv cv ty) m )
8945 # 8946 "parser_cocci_menhir.ml"
8946 in
8947 _menhir_env.MenhirLib.EngineTypes.stack <- {
8948 MenhirLib.EngineTypes.state = _menhir_s;
8949 MenhirLib.EngineTypes.semv = Obj.repr _v;
8950 MenhirLib.EngineTypes.startp = _startpos;
8951 MenhirLib.EngineTypes.endp = _endpos;
8952 MenhirLib.EngineTypes.next = _menhir_stack;
8953 });
8954 (fun _menhir_env ->
8955 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8956 let {
8957 MenhirLib.EngineTypes.semv = m;
8958 MenhirLib.EngineTypes.startp = _startpos_m_;
8959 MenhirLib.EngineTypes.endp = _endpos_m_;
8960 MenhirLib.EngineTypes.next = {
8961 MenhirLib.EngineTypes.semv = ty00;
8962 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8963 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8964 MenhirLib.EngineTypes.next = {
8965 MenhirLib.EngineTypes.semv = r0;
8966 MenhirLib.EngineTypes.startp = _startpos_r0_;
8967 MenhirLib.EngineTypes.endp = _endpos_r0_;
8968 MenhirLib.EngineTypes.next = {
8969 MenhirLib.EngineTypes.state = _menhir_s;
8970 MenhirLib.EngineTypes.semv = x0;
8971 MenhirLib.EngineTypes.startp = _startpos_x0_;
8972 MenhirLib.EngineTypes.endp = _endpos_x0_;
8973 MenhirLib.EngineTypes.next = _menhir_stack;
8974 };
8975 };
8976 };
8977 } = _menhir_stack in
8978 let m : 'tv_list_TMul_ = Obj.magic m in
8979 let ty00 : (
8980 # 51 "parser_cocci_menhir.mly"
8981 (Data.clt)
8982 # 8983 "parser_cocci_menhir.ml"
8983 ) = Obj.magic ty00 in
8984 let r0 : (
8985 # 53 "parser_cocci_menhir.mly"
8986 (Data.clt)
8987 # 8988 "parser_cocci_menhir.ml"
8988 ) = Obj.magic r0 in
8989 let x0 : 'tv_const_vol = Obj.magic x0 in
8990 let _startpos = _startpos_x0_ in
8991 let _endpos = _endpos_m_ in
8992 let _v : 'tv_ctype = let ty =
8993 let ty0 = ty00 in
8994 let r = r0 in
8995 let ty =
8996 let ty = ty0 in
8997
8998 # 534 "parser_cocci_menhir.mly"
8999 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
9000 # 9001 "parser_cocci_menhir.ml"
9001
9002 in
9003
9004 # 591 "parser_cocci_menhir.mly"
9005 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
9006 # 9007 "parser_cocci_menhir.ml"
9007
9008 in
9009 let cv =
9010 let x = x0 in
9011
9012 # 41 "standard.mly"
9013 ( Some x )
9014 # 9015 "parser_cocci_menhir.ml"
9015
9016 in
9017
9018 # 599 "parser_cocci_menhir.mly"
9019 ( P.pointerify (P.make_cv cv ty) m )
9020 # 9021 "parser_cocci_menhir.ml"
9021 in
9022 _menhir_env.MenhirLib.EngineTypes.stack <- {
9023 MenhirLib.EngineTypes.state = _menhir_s;
9024 MenhirLib.EngineTypes.semv = Obj.repr _v;
9025 MenhirLib.EngineTypes.startp = _startpos;
9026 MenhirLib.EngineTypes.endp = _endpos;
9027 MenhirLib.EngineTypes.next = _menhir_stack;
9028 });
9029 (fun _menhir_env ->
9030 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9031 let {
9032 MenhirLib.EngineTypes.semv = m;
9033 MenhirLib.EngineTypes.startp = _startpos_m_;
9034 MenhirLib.EngineTypes.endp = _endpos_m_;
9035 MenhirLib.EngineTypes.next = {
9036 MenhirLib.EngineTypes.semv = ty00;
9037 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9038 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9039 MenhirLib.EngineTypes.next = {
9040 MenhirLib.EngineTypes.semv = r0;
9041 MenhirLib.EngineTypes.startp = _startpos_r0_;
9042 MenhirLib.EngineTypes.endp = _endpos_r0_;
9043 MenhirLib.EngineTypes.next = {
9044 MenhirLib.EngineTypes.state = _menhir_s;
9045 MenhirLib.EngineTypes.semv = x0;
9046 MenhirLib.EngineTypes.startp = _startpos_x0_;
9047 MenhirLib.EngineTypes.endp = _endpos_x0_;
9048 MenhirLib.EngineTypes.next = _menhir_stack;
9049 };
9050 };
9051 };
9052 } = _menhir_stack in
9053 let m : 'tv_list_TMul_ = Obj.magic m in
9054 let ty00 : (
9055 # 51 "parser_cocci_menhir.mly"
9056 (Data.clt)
9057 # 9058 "parser_cocci_menhir.ml"
9058 ) = Obj.magic ty00 in
9059 let r0 : (
9060 # 53 "parser_cocci_menhir.mly"
9061 (Data.clt)
9062 # 9063 "parser_cocci_menhir.ml"
9063 ) = Obj.magic r0 in
9064 let x0 : 'tv_const_vol = Obj.magic x0 in
9065 let _startpos = _startpos_x0_ in
9066 let _endpos = _endpos_m_ in
9067 let _v : 'tv_ctype = let ty =
9068 let ty0 = ty00 in
9069 let r = r0 in
9070 let ty =
9071 let ty = ty0 in
9072
9073 # 536 "parser_cocci_menhir.mly"
9074 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
9075 # 9076 "parser_cocci_menhir.ml"
9076
9077 in
9078
9079 # 591 "parser_cocci_menhir.mly"
9080 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
9081 # 9082 "parser_cocci_menhir.ml"
9082
9083 in
9084 let cv =
9085 let x = x0 in
9086
9087 # 41 "standard.mly"
9088 ( Some x )
9089 # 9090 "parser_cocci_menhir.ml"
9090
9091 in
9092
9093 # 599 "parser_cocci_menhir.mly"
9094 ( P.pointerify (P.make_cv cv ty) m )
9095 # 9096 "parser_cocci_menhir.ml"
9096 in
9097 _menhir_env.MenhirLib.EngineTypes.stack <- {
9098 MenhirLib.EngineTypes.state = _menhir_s;
9099 MenhirLib.EngineTypes.semv = Obj.repr _v;
9100 MenhirLib.EngineTypes.startp = _startpos;
9101 MenhirLib.EngineTypes.endp = _endpos;
9102 MenhirLib.EngineTypes.next = _menhir_stack;
9103 });
9104 (fun _menhir_env ->
9105 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9106 let {
9107 MenhirLib.EngineTypes.semv = m;
9108 MenhirLib.EngineTypes.startp = _startpos_m_;
9109 MenhirLib.EngineTypes.endp = _endpos_m_;
9110 MenhirLib.EngineTypes.next = {
9111 MenhirLib.EngineTypes.semv = ty00;
9112 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9113 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9114 MenhirLib.EngineTypes.next = {
9115 MenhirLib.EngineTypes.semv = r0;
9116 MenhirLib.EngineTypes.startp = _startpos_r0_;
9117 MenhirLib.EngineTypes.endp = _endpos_r0_;
9118 MenhirLib.EngineTypes.next = {
9119 MenhirLib.EngineTypes.state = _menhir_s;
9120 MenhirLib.EngineTypes.semv = x0;
9121 MenhirLib.EngineTypes.startp = _startpos_x0_;
9122 MenhirLib.EngineTypes.endp = _endpos_x0_;
9123 MenhirLib.EngineTypes.next = _menhir_stack;
9124 };
9125 };
9126 };
9127 } = _menhir_stack in
9128 let m : 'tv_list_TMul_ = Obj.magic m in
9129 let ty00 : (
9130 # 51 "parser_cocci_menhir.mly"
9131 (Data.clt)
9132 # 9133 "parser_cocci_menhir.ml"
9133 ) = Obj.magic ty00 in
9134 let r0 : (
9135 # 53 "parser_cocci_menhir.mly"
9136 (Data.clt)
9137 # 9138 "parser_cocci_menhir.ml"
9138 ) = Obj.magic r0 in
9139 let x0 : 'tv_const_vol = Obj.magic x0 in
9140 let _startpos = _startpos_x0_ in
9141 let _endpos = _endpos_m_ in
9142 let _v : 'tv_ctype = let ty =
9143 let ty0 = ty00 in
9144 let r = r0 in
9145 let ty =
9146 let ty = ty0 in
9147
9148 # 538 "parser_cocci_menhir.mly"
9149 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
9150 # 9151 "parser_cocci_menhir.ml"
9151
9152 in
9153
9154 # 591 "parser_cocci_menhir.mly"
9155 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
9156 # 9157 "parser_cocci_menhir.ml"
9157
9158 in
9159 let cv =
9160 let x = x0 in
9161
9162 # 41 "standard.mly"
9163 ( Some x )
9164 # 9165 "parser_cocci_menhir.ml"
9165
9166 in
9167
9168 # 599 "parser_cocci_menhir.mly"
9169 ( P.pointerify (P.make_cv cv ty) m )
9170 # 9171 "parser_cocci_menhir.ml"
9171 in
9172 _menhir_env.MenhirLib.EngineTypes.stack <- {
9173 MenhirLib.EngineTypes.state = _menhir_s;
9174 MenhirLib.EngineTypes.semv = Obj.repr _v;
9175 MenhirLib.EngineTypes.startp = _startpos;
9176 MenhirLib.EngineTypes.endp = _endpos;
9177 MenhirLib.EngineTypes.next = _menhir_stack;
9178 });
9179 (fun _menhir_env ->
9180 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9181 let {
9182 MenhirLib.EngineTypes.semv = m;
9183 MenhirLib.EngineTypes.startp = _startpos_m_;
9184 MenhirLib.EngineTypes.endp = _endpos_m_;
9185 MenhirLib.EngineTypes.next = {
9186 MenhirLib.EngineTypes.semv = p00;
9187 MenhirLib.EngineTypes.startp = _startpos_p00_;
9188 MenhirLib.EngineTypes.endp = _endpos_p00_;
9189 MenhirLib.EngineTypes.next = {
9190 MenhirLib.EngineTypes.semv = r0;
9191 MenhirLib.EngineTypes.startp = _startpos_r0_;
9192 MenhirLib.EngineTypes.endp = _endpos_r0_;
9193 MenhirLib.EngineTypes.next = {
9194 MenhirLib.EngineTypes.state = _menhir_s;
9195 MenhirLib.EngineTypes.semv = x0;
9196 MenhirLib.EngineTypes.startp = _startpos_x0_;
9197 MenhirLib.EngineTypes.endp = _endpos_x0_;
9198 MenhirLib.EngineTypes.next = _menhir_stack;
9199 };
9200 };
9201 };
9202 } = _menhir_stack in
9203 let m : 'tv_list_TMul_ = Obj.magic m in
9204 let p00 : (
9205 # 67 "parser_cocci_menhir.mly"
9206 (Parse_aux.info)
9207 # 9208 "parser_cocci_menhir.ml"
9208 ) = Obj.magic p00 in
9209 let r0 : (
9210 # 53 "parser_cocci_menhir.mly"
9211 (Data.clt)
9212 # 9213 "parser_cocci_menhir.ml"
9213 ) = Obj.magic r0 in
9214 let x0 : 'tv_const_vol = Obj.magic x0 in
9215 let _startpos = _startpos_x0_ in
9216 let _endpos = _endpos_m_ in
9217 let _v : 'tv_ctype = let ty =
9218 let p0 = p00 in
9219 let r = r0 in
9220 let ty =
9221 let p = p0 in
9222
9223 # 540 "parser_cocci_menhir.mly"
9224 ( let (nm,pure,clt) = p in
9225 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
9226 # 9227 "parser_cocci_menhir.ml"
9227
9228 in
9229
9230 # 591 "parser_cocci_menhir.mly"
9231 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
9232 # 9233 "parser_cocci_menhir.ml"
9233
9234 in
9235 let cv =
9236 let x = x0 in
9237
9238 # 41 "standard.mly"
9239 ( Some x )
9240 # 9241 "parser_cocci_menhir.ml"
9241
9242 in
9243
9244 # 599 "parser_cocci_menhir.mly"
9245 ( P.pointerify (P.make_cv cv ty) m )
9246 # 9247 "parser_cocci_menhir.ml"
9247 in
9248 _menhir_env.MenhirLib.EngineTypes.stack <- {
9249 MenhirLib.EngineTypes.state = _menhir_s;
9250 MenhirLib.EngineTypes.semv = Obj.repr _v;
9251 MenhirLib.EngineTypes.startp = _startpos;
9252 MenhirLib.EngineTypes.endp = _endpos;
9253 MenhirLib.EngineTypes.next = _menhir_stack;
9254 });
9255 (fun _menhir_env ->
9256 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9257 let {
9258 MenhirLib.EngineTypes.semv = m;
9259 MenhirLib.EngineTypes.startp = _startpos_m_;
9260 MenhirLib.EngineTypes.endp = _endpos_m_;
9261 MenhirLib.EngineTypes.next = {
9262 MenhirLib.EngineTypes.semv = p00;
9263 MenhirLib.EngineTypes.startp = _startpos_p00_;
9264 MenhirLib.EngineTypes.endp = _endpos_p00_;
9265 MenhirLib.EngineTypes.next = {
9266 MenhirLib.EngineTypes.startp = _startpos__4_;
9267 MenhirLib.EngineTypes.endp = _endpos__4_;
9268 MenhirLib.EngineTypes.next = {
9269 MenhirLib.EngineTypes.semv = r00;
9270 MenhirLib.EngineTypes.startp = _startpos_r00_;
9271 MenhirLib.EngineTypes.endp = _endpos_r00_;
9272 MenhirLib.EngineTypes.next = {
9273 MenhirLib.EngineTypes.semv = r1;
9274 MenhirLib.EngineTypes.startp = _startpos_r1_;
9275 MenhirLib.EngineTypes.endp = _endpos_r1_;
9276 MenhirLib.EngineTypes.next = {
9277 MenhirLib.EngineTypes.state = _menhir_s;
9278 MenhirLib.EngineTypes.semv = x0;
9279 MenhirLib.EngineTypes.startp = _startpos_x0_;
9280 MenhirLib.EngineTypes.endp = _endpos_x0_;
9281 MenhirLib.EngineTypes.next = _menhir_stack;
9282 };
9283 };
9284 };
9285 };
9286 };
9287 } = _menhir_stack in
9288 let m : 'tv_list_TMul_ = Obj.magic m in
9289 let p00 : (
9290 # 61 "parser_cocci_menhir.mly"
9291 (string * Data.clt)
9292 # 9293 "parser_cocci_menhir.ml"
9293 ) = Obj.magic p00 in
9294 let r00 : (
9295 # 49 "parser_cocci_menhir.mly"
9296 (string)
9297 # 9298 "parser_cocci_menhir.ml"
9298 ) = Obj.magic r00 in
9299 let r1 : (
9300 # 53 "parser_cocci_menhir.mly"
9301 (Data.clt)
9302 # 9303 "parser_cocci_menhir.ml"
9303 ) = Obj.magic r1 in
9304 let x0 : 'tv_const_vol = Obj.magic x0 in
9305 let _startpos = _startpos_x0_ in
9306 let _endpos = _endpos_m_ in
9307 let _v : 'tv_ctype = let ty =
9308 let p0 = p00 in
9309 let r0 = r00 in
9310 let r = r1 in
9311 let ty =
9312 let p = p0 in
9313 let r = r0 in
9314
9315 # 543 "parser_cocci_menhir.mly"
9316 ( let nm = (r,P.id2name p) in
9317 (* this is only possible when we are in a metavar decl. Otherwise,
9318 it will be represented already as a MetaType *)
9319 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
9320 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
9321 Ast0.Impure (*will be ignored*))) )
9322 # 9323 "parser_cocci_menhir.ml"
9323
9324 in
9325
9326 # 591 "parser_cocci_menhir.mly"
9327 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
9328 # 9329 "parser_cocci_menhir.ml"
9329
9330 in
9331 let cv =
9332 let x = x0 in
9333
9334 # 41 "standard.mly"
9335 ( Some x )
9336 # 9337 "parser_cocci_menhir.ml"
9337
9338 in
9339
9340 # 599 "parser_cocci_menhir.mly"
9341 ( P.pointerify (P.make_cv cv ty) m )
9342 # 9343 "parser_cocci_menhir.ml"
9343 in
9344 _menhir_env.MenhirLib.EngineTypes.stack <- {
9345 MenhirLib.EngineTypes.state = _menhir_s;
9346 MenhirLib.EngineTypes.semv = Obj.repr _v;
9347 MenhirLib.EngineTypes.startp = _startpos;
9348 MenhirLib.EngineTypes.endp = _endpos;
9349 MenhirLib.EngineTypes.next = _menhir_stack;
9350 });
9351 (fun _menhir_env ->
9352 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9353 let {
9354 MenhirLib.EngineTypes.semv = m;
9355 MenhirLib.EngineTypes.startp = _startpos_m_;
9356 MenhirLib.EngineTypes.endp = _endpos_m_;
9357 MenhirLib.EngineTypes.next = {
9358 MenhirLib.EngineTypes.semv = ty00;
9359 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9360 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9361 MenhirLib.EngineTypes.next = {
9362 MenhirLib.EngineTypes.semv = r0;
9363 MenhirLib.EngineTypes.startp = _startpos_r0_;
9364 MenhirLib.EngineTypes.endp = _endpos_r0_;
9365 MenhirLib.EngineTypes.next = {
9366 MenhirLib.EngineTypes.state = _menhir_s;
9367 MenhirLib.EngineTypes.semv = x0;
9368 MenhirLib.EngineTypes.startp = _startpos_x0_;
9369 MenhirLib.EngineTypes.endp = _endpos_x0_;
9370 MenhirLib.EngineTypes.next = _menhir_stack;
9371 };
9372 };
9373 };
9374 } = _menhir_stack in
9375 let m : 'tv_list_TMul_ = Obj.magic m in
9376 let ty00 : (
9377 # 51 "parser_cocci_menhir.mly"
9378 (Data.clt)
9379 # 9380 "parser_cocci_menhir.ml"
9380 ) = Obj.magic ty00 in
9381 let r0 : (
9382 # 53 "parser_cocci_menhir.mly"
9383 (Data.clt)
9384 # 9385 "parser_cocci_menhir.ml"
9385 ) = Obj.magic r0 in
9386 let x0 : 'tv_const_vol = Obj.magic x0 in
9387 let _startpos = _startpos_x0_ in
9388 let _endpos = _endpos_m_ in
9389 let _v : 'tv_ctype = let ty =
9390 let ty0 = ty00 in
9391 let r = r0 in
9392 let ty =
9393 let ty = ty0 in
9394
9395 # 550 "parser_cocci_menhir.mly"
9396 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
9397 # 9398 "parser_cocci_menhir.ml"
9398
9399 in
9400
9401 # 591 "parser_cocci_menhir.mly"
9402 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
9403 # 9404 "parser_cocci_menhir.ml"
9404
9405 in
9406 let cv =
9407 let x = x0 in
9408
9409 # 41 "standard.mly"
9410 ( Some x )
9411 # 9412 "parser_cocci_menhir.ml"
9412
9413 in
9414
9415 # 599 "parser_cocci_menhir.mly"
9416 ( P.pointerify (P.make_cv cv ty) m )
9417 # 9418 "parser_cocci_menhir.ml"
9418 in
9419 _menhir_env.MenhirLib.EngineTypes.stack <- {
9420 MenhirLib.EngineTypes.state = _menhir_s;
9421 MenhirLib.EngineTypes.semv = Obj.repr _v;
9422 MenhirLib.EngineTypes.startp = _startpos;
9423 MenhirLib.EngineTypes.endp = _endpos;
9424 MenhirLib.EngineTypes.next = _menhir_stack;
9425 });
9426 (fun _menhir_env ->
9427 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9428 let {
9429 MenhirLib.EngineTypes.semv = m;
9430 MenhirLib.EngineTypes.startp = _startpos_m_;
9431 MenhirLib.EngineTypes.endp = _endpos_m_;
9432 MenhirLib.EngineTypes.next = {
9433 MenhirLib.EngineTypes.semv = ty200;
9434 MenhirLib.EngineTypes.startp = _startpos_ty200_;
9435 MenhirLib.EngineTypes.endp = _endpos_ty200_;
9436 MenhirLib.EngineTypes.next = {
9437 MenhirLib.EngineTypes.semv = ty100;
9438 MenhirLib.EngineTypes.startp = _startpos_ty100_;
9439 MenhirLib.EngineTypes.endp = _endpos_ty100_;
9440 MenhirLib.EngineTypes.next = {
9441 MenhirLib.EngineTypes.semv = r0;
9442 MenhirLib.EngineTypes.startp = _startpos_r0_;
9443 MenhirLib.EngineTypes.endp = _endpos_r0_;
9444 MenhirLib.EngineTypes.next = {
9445 MenhirLib.EngineTypes.state = _menhir_s;
9446 MenhirLib.EngineTypes.semv = x0;
9447 MenhirLib.EngineTypes.startp = _startpos_x0_;
9448 MenhirLib.EngineTypes.endp = _endpos_x0_;
9449 MenhirLib.EngineTypes.next = _menhir_stack;
9450 };
9451 };
9452 };
9453 };
9454 } = _menhir_stack in
9455 let m : 'tv_list_TMul_ = Obj.magic m in
9456 let ty200 : (
9457 # 51 "parser_cocci_menhir.mly"
9458 (Data.clt)
9459 # 9460 "parser_cocci_menhir.ml"
9460 ) = Obj.magic ty200 in
9461 let ty100 : (
9462 # 51 "parser_cocci_menhir.mly"
9463 (Data.clt)
9464 # 9465 "parser_cocci_menhir.ml"
9465 ) = Obj.magic ty100 in
9466 let r0 : (
9467 # 53 "parser_cocci_menhir.mly"
9468 (Data.clt)
9469 # 9470 "parser_cocci_menhir.ml"
9470 ) = Obj.magic r0 in
9471 let x0 : 'tv_const_vol = Obj.magic x0 in
9472 let _startpos = _startpos_x0_ in
9473 let _endpos = _endpos_m_ in
9474 let _v : 'tv_ctype = let ty =
9475 let ty20 = ty200 in
9476 let ty10 = ty100 in
9477 let r = r0 in
9478 let ty =
9479 let ty2 = ty20 in
9480 let ty1 = ty10 in
9481
9482 # 552 "parser_cocci_menhir.mly"
9483 ( Ast0.wrap
9484 (Ast0.BaseType
9485 (Ast.LongLongType,
9486 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
9487 # 9488 "parser_cocci_menhir.ml"
9488
9489 in
9490
9491 # 591 "parser_cocci_menhir.mly"
9492 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
9493 # 9494 "parser_cocci_menhir.ml"
9494
9495 in
9496 let cv =
9497 let x = x0 in
9498
9499 # 41 "standard.mly"
9500 ( Some x )
9501 # 9502 "parser_cocci_menhir.ml"
9502
9503 in
9504
9505 # 599 "parser_cocci_menhir.mly"
9506 ( P.pointerify (P.make_cv cv ty) m )
9507 # 9508 "parser_cocci_menhir.ml"
9508 in
9509 _menhir_env.MenhirLib.EngineTypes.stack <- {
9510 MenhirLib.EngineTypes.state = _menhir_s;
9511 MenhirLib.EngineTypes.semv = Obj.repr _v;
9512 MenhirLib.EngineTypes.startp = _startpos;
9513 MenhirLib.EngineTypes.endp = _endpos;
9514 MenhirLib.EngineTypes.next = _menhir_stack;
9515 });
9516 (fun _menhir_env ->
9517 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9518 let {
9519 MenhirLib.EngineTypes.semv = m;
9520 MenhirLib.EngineTypes.startp = _startpos_m_;
9521 MenhirLib.EngineTypes.endp = _endpos_m_;
9522 MenhirLib.EngineTypes.next = {
9523 MenhirLib.EngineTypes.semv = ty00;
9524 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9525 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9526 MenhirLib.EngineTypes.next = {
9527 MenhirLib.EngineTypes.semv = r0;
9528 MenhirLib.EngineTypes.startp = _startpos_r0_;
9529 MenhirLib.EngineTypes.endp = _endpos_r0_;
9530 MenhirLib.EngineTypes.next = {
9531 MenhirLib.EngineTypes.state = _menhir_s;
9532 MenhirLib.EngineTypes.semv = x0;
9533 MenhirLib.EngineTypes.startp = _startpos_x0_;
9534 MenhirLib.EngineTypes.endp = _endpos_x0_;
9535 MenhirLib.EngineTypes.next = _menhir_stack;
9536 };
9537 };
9538 };
9539 } = _menhir_stack in
9540 let m : 'tv_list_TMul_ = Obj.magic m in
9541 let ty00 : (
9542 # 51 "parser_cocci_menhir.mly"
9543 (Data.clt)
9544 # 9545 "parser_cocci_menhir.ml"
9545 ) = Obj.magic ty00 in
9546 let r0 : (
9547 # 53 "parser_cocci_menhir.mly"
9548 (Data.clt)
9549 # 9550 "parser_cocci_menhir.ml"
9550 ) = Obj.magic r0 in
9551 let x0 : 'tv_const_vol = Obj.magic x0 in
9552 let _startpos = _startpos_x0_ in
9553 let _endpos = _endpos_m_ in
9554 let _v : 'tv_ctype = let ty =
9555 let ty0 = ty00 in
9556 let r = r0 in
9557 let ty =
9558 let ty = ty0 in
9559
9560 # 534 "parser_cocci_menhir.mly"
9561 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
9562 # 9563 "parser_cocci_menhir.ml"
9563
9564 in
9565
9566 # 593 "parser_cocci_menhir.mly"
9567 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
9568 # 9569 "parser_cocci_menhir.ml"
9569
9570 in
9571 let cv =
9572 let x = x0 in
9573
9574 # 41 "standard.mly"
9575 ( Some x )
9576 # 9577 "parser_cocci_menhir.ml"
9577
9578 in
9579
9580 # 599 "parser_cocci_menhir.mly"
9581 ( P.pointerify (P.make_cv cv ty) m )
9582 # 9583 "parser_cocci_menhir.ml"
9583 in
9584 _menhir_env.MenhirLib.EngineTypes.stack <- {
9585 MenhirLib.EngineTypes.state = _menhir_s;
9586 MenhirLib.EngineTypes.semv = Obj.repr _v;
9587 MenhirLib.EngineTypes.startp = _startpos;
9588 MenhirLib.EngineTypes.endp = _endpos;
9589 MenhirLib.EngineTypes.next = _menhir_stack;
9590 });
9591 (fun _menhir_env ->
9592 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9593 let {
9594 MenhirLib.EngineTypes.semv = m;
9595 MenhirLib.EngineTypes.startp = _startpos_m_;
9596 MenhirLib.EngineTypes.endp = _endpos_m_;
9597 MenhirLib.EngineTypes.next = {
9598 MenhirLib.EngineTypes.semv = ty00;
9599 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9600 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9601 MenhirLib.EngineTypes.next = {
9602 MenhirLib.EngineTypes.semv = r0;
9603 MenhirLib.EngineTypes.startp = _startpos_r0_;
9604 MenhirLib.EngineTypes.endp = _endpos_r0_;
9605 MenhirLib.EngineTypes.next = {
9606 MenhirLib.EngineTypes.state = _menhir_s;
9607 MenhirLib.EngineTypes.semv = x0;
9608 MenhirLib.EngineTypes.startp = _startpos_x0_;
9609 MenhirLib.EngineTypes.endp = _endpos_x0_;
9610 MenhirLib.EngineTypes.next = _menhir_stack;
9611 };
9612 };
9613 };
9614 } = _menhir_stack in
9615 let m : 'tv_list_TMul_ = Obj.magic m in
9616 let ty00 : (
9617 # 51 "parser_cocci_menhir.mly"
9618 (Data.clt)
9619 # 9620 "parser_cocci_menhir.ml"
9620 ) = Obj.magic ty00 in
9621 let r0 : (
9622 # 53 "parser_cocci_menhir.mly"
9623 (Data.clt)
9624 # 9625 "parser_cocci_menhir.ml"
9625 ) = Obj.magic r0 in
9626 let x0 : 'tv_const_vol = Obj.magic x0 in
9627 let _startpos = _startpos_x0_ in
9628 let _endpos = _endpos_m_ in
9629 let _v : 'tv_ctype = let ty =
9630 let ty0 = ty00 in
9631 let r = r0 in
9632 let ty =
9633 let ty = ty0 in
9634
9635 # 536 "parser_cocci_menhir.mly"
9636 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
9637 # 9638 "parser_cocci_menhir.ml"
9638
9639 in
9640
9641 # 593 "parser_cocci_menhir.mly"
9642 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
9643 # 9644 "parser_cocci_menhir.ml"
9644
9645 in
9646 let cv =
9647 let x = x0 in
9648
9649 # 41 "standard.mly"
9650 ( Some x )
9651 # 9652 "parser_cocci_menhir.ml"
9652
9653 in
9654
9655 # 599 "parser_cocci_menhir.mly"
9656 ( P.pointerify (P.make_cv cv ty) m )
9657 # 9658 "parser_cocci_menhir.ml"
9658 in
9659 _menhir_env.MenhirLib.EngineTypes.stack <- {
9660 MenhirLib.EngineTypes.state = _menhir_s;
9661 MenhirLib.EngineTypes.semv = Obj.repr _v;
9662 MenhirLib.EngineTypes.startp = _startpos;
9663 MenhirLib.EngineTypes.endp = _endpos;
9664 MenhirLib.EngineTypes.next = _menhir_stack;
9665 });
9666 (fun _menhir_env ->
9667 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9668 let {
9669 MenhirLib.EngineTypes.semv = m;
9670 MenhirLib.EngineTypes.startp = _startpos_m_;
9671 MenhirLib.EngineTypes.endp = _endpos_m_;
9672 MenhirLib.EngineTypes.next = {
9673 MenhirLib.EngineTypes.semv = ty00;
9674 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9675 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9676 MenhirLib.EngineTypes.next = {
9677 MenhirLib.EngineTypes.semv = r0;
9678 MenhirLib.EngineTypes.startp = _startpos_r0_;
9679 MenhirLib.EngineTypes.endp = _endpos_r0_;
9680 MenhirLib.EngineTypes.next = {
9681 MenhirLib.EngineTypes.state = _menhir_s;
9682 MenhirLib.EngineTypes.semv = x0;
9683 MenhirLib.EngineTypes.startp = _startpos_x0_;
9684 MenhirLib.EngineTypes.endp = _endpos_x0_;
9685 MenhirLib.EngineTypes.next = _menhir_stack;
9686 };
9687 };
9688 };
9689 } = _menhir_stack in
9690 let m : 'tv_list_TMul_ = Obj.magic m in
9691 let ty00 : (
9692 # 51 "parser_cocci_menhir.mly"
9693 (Data.clt)
9694 # 9695 "parser_cocci_menhir.ml"
9695 ) = Obj.magic ty00 in
9696 let r0 : (
9697 # 53 "parser_cocci_menhir.mly"
9698 (Data.clt)
9699 # 9700 "parser_cocci_menhir.ml"
9700 ) = Obj.magic r0 in
9701 let x0 : 'tv_const_vol = Obj.magic x0 in
9702 let _startpos = _startpos_x0_ in
9703 let _endpos = _endpos_m_ in
9704 let _v : 'tv_ctype = let ty =
9705 let ty0 = ty00 in
9706 let r = r0 in
9707 let ty =
9708 let ty = ty0 in
9709
9710 # 538 "parser_cocci_menhir.mly"
9711 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
9712 # 9713 "parser_cocci_menhir.ml"
9713
9714 in
9715
9716 # 593 "parser_cocci_menhir.mly"
9717 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
9718 # 9719 "parser_cocci_menhir.ml"
9719
9720 in
9721 let cv =
9722 let x = x0 in
9723
9724 # 41 "standard.mly"
9725 ( Some x )
9726 # 9727 "parser_cocci_menhir.ml"
9727
9728 in
9729
9730 # 599 "parser_cocci_menhir.mly"
9731 ( P.pointerify (P.make_cv cv ty) m )
9732 # 9733 "parser_cocci_menhir.ml"
9733 in
9734 _menhir_env.MenhirLib.EngineTypes.stack <- {
9735 MenhirLib.EngineTypes.state = _menhir_s;
9736 MenhirLib.EngineTypes.semv = Obj.repr _v;
9737 MenhirLib.EngineTypes.startp = _startpos;
9738 MenhirLib.EngineTypes.endp = _endpos;
9739 MenhirLib.EngineTypes.next = _menhir_stack;
9740 });
9741 (fun _menhir_env ->
9742 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9743 let {
9744 MenhirLib.EngineTypes.semv = m;
9745 MenhirLib.EngineTypes.startp = _startpos_m_;
9746 MenhirLib.EngineTypes.endp = _endpos_m_;
9747 MenhirLib.EngineTypes.next = {
9748 MenhirLib.EngineTypes.semv = p00;
9749 MenhirLib.EngineTypes.startp = _startpos_p00_;
9750 MenhirLib.EngineTypes.endp = _endpos_p00_;
9751 MenhirLib.EngineTypes.next = {
9752 MenhirLib.EngineTypes.semv = r0;
9753 MenhirLib.EngineTypes.startp = _startpos_r0_;
9754 MenhirLib.EngineTypes.endp = _endpos_r0_;
9755 MenhirLib.EngineTypes.next = {
9756 MenhirLib.EngineTypes.state = _menhir_s;
9757 MenhirLib.EngineTypes.semv = x0;
9758 MenhirLib.EngineTypes.startp = _startpos_x0_;
9759 MenhirLib.EngineTypes.endp = _endpos_x0_;
9760 MenhirLib.EngineTypes.next = _menhir_stack;
9761 };
9762 };
9763 };
9764 } = _menhir_stack in
9765 let m : 'tv_list_TMul_ = Obj.magic m in
9766 let p00 : (
9767 # 67 "parser_cocci_menhir.mly"
9768 (Parse_aux.info)
9769 # 9770 "parser_cocci_menhir.ml"
9770 ) = Obj.magic p00 in
9771 let r0 : (
9772 # 53 "parser_cocci_menhir.mly"
9773 (Data.clt)
9774 # 9775 "parser_cocci_menhir.ml"
9775 ) = Obj.magic r0 in
9776 let x0 : 'tv_const_vol = Obj.magic x0 in
9777 let _startpos = _startpos_x0_ in
9778 let _endpos = _endpos_m_ in
9779 let _v : 'tv_ctype = let ty =
9780 let p0 = p00 in
9781 let r = r0 in
9782 let ty =
9783 let p = p0 in
9784
9785 # 540 "parser_cocci_menhir.mly"
9786 ( let (nm,pure,clt) = p in
9787 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
9788 # 9789 "parser_cocci_menhir.ml"
9789
9790 in
9791
9792 # 593 "parser_cocci_menhir.mly"
9793 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
9794 # 9795 "parser_cocci_menhir.ml"
9795
9796 in
9797 let cv =
9798 let x = x0 in
9799
9800 # 41 "standard.mly"
9801 ( Some x )
9802 # 9803 "parser_cocci_menhir.ml"
9803
9804 in
9805
9806 # 599 "parser_cocci_menhir.mly"
9807 ( P.pointerify (P.make_cv cv ty) m )
9808 # 9809 "parser_cocci_menhir.ml"
9809 in
9810 _menhir_env.MenhirLib.EngineTypes.stack <- {
9811 MenhirLib.EngineTypes.state = _menhir_s;
9812 MenhirLib.EngineTypes.semv = Obj.repr _v;
9813 MenhirLib.EngineTypes.startp = _startpos;
9814 MenhirLib.EngineTypes.endp = _endpos;
9815 MenhirLib.EngineTypes.next = _menhir_stack;
9816 });
9817 (fun _menhir_env ->
9818 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9819 let {
9820 MenhirLib.EngineTypes.semv = m;
9821 MenhirLib.EngineTypes.startp = _startpos_m_;
9822 MenhirLib.EngineTypes.endp = _endpos_m_;
9823 MenhirLib.EngineTypes.next = {
9824 MenhirLib.EngineTypes.semv = p00;
9825 MenhirLib.EngineTypes.startp = _startpos_p00_;
9826 MenhirLib.EngineTypes.endp = _endpos_p00_;
9827 MenhirLib.EngineTypes.next = {
9828 MenhirLib.EngineTypes.startp = _startpos__4_;
9829 MenhirLib.EngineTypes.endp = _endpos__4_;
9830 MenhirLib.EngineTypes.next = {
9831 MenhirLib.EngineTypes.semv = r00;
9832 MenhirLib.EngineTypes.startp = _startpos_r00_;
9833 MenhirLib.EngineTypes.endp = _endpos_r00_;
9834 MenhirLib.EngineTypes.next = {
9835 MenhirLib.EngineTypes.semv = r1;
9836 MenhirLib.EngineTypes.startp = _startpos_r1_;
9837 MenhirLib.EngineTypes.endp = _endpos_r1_;
9838 MenhirLib.EngineTypes.next = {
9839 MenhirLib.EngineTypes.state = _menhir_s;
9840 MenhirLib.EngineTypes.semv = x0;
9841 MenhirLib.EngineTypes.startp = _startpos_x0_;
9842 MenhirLib.EngineTypes.endp = _endpos_x0_;
9843 MenhirLib.EngineTypes.next = _menhir_stack;
9844 };
9845 };
9846 };
9847 };
9848 };
9849 } = _menhir_stack in
9850 let m : 'tv_list_TMul_ = Obj.magic m in
9851 let p00 : (
9852 # 61 "parser_cocci_menhir.mly"
9853 (string * Data.clt)
9854 # 9855 "parser_cocci_menhir.ml"
9855 ) = Obj.magic p00 in
9856 let r00 : (
9857 # 49 "parser_cocci_menhir.mly"
9858 (string)
9859 # 9860 "parser_cocci_menhir.ml"
9860 ) = Obj.magic r00 in
9861 let r1 : (
9862 # 53 "parser_cocci_menhir.mly"
9863 (Data.clt)
9864 # 9865 "parser_cocci_menhir.ml"
9865 ) = Obj.magic r1 in
9866 let x0 : 'tv_const_vol = Obj.magic x0 in
9867 let _startpos = _startpos_x0_ in
9868 let _endpos = _endpos_m_ in
9869 let _v : 'tv_ctype = let ty =
9870 let p0 = p00 in
9871 let r0 = r00 in
9872 let r = r1 in
9873 let ty =
9874 let p = p0 in
9875 let r = r0 in
9876
9877 # 543 "parser_cocci_menhir.mly"
9878 ( let nm = (r,P.id2name p) in
9879 (* this is only possible when we are in a metavar decl. Otherwise,
9880 it will be represented already as a MetaType *)
9881 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
9882 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
9883 Ast0.Impure (*will be ignored*))) )
9884 # 9885 "parser_cocci_menhir.ml"
9885
9886 in
9887
9888 # 593 "parser_cocci_menhir.mly"
9889 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
9890 # 9891 "parser_cocci_menhir.ml"
9891
9892 in
9893 let cv =
9894 let x = x0 in
9895
9896 # 41 "standard.mly"
9897 ( Some x )
9898 # 9899 "parser_cocci_menhir.ml"
9899
9900 in
9901
9902 # 599 "parser_cocci_menhir.mly"
9903 ( P.pointerify (P.make_cv cv ty) m )
9904 # 9905 "parser_cocci_menhir.ml"
9905 in
9906 _menhir_env.MenhirLib.EngineTypes.stack <- {
9907 MenhirLib.EngineTypes.state = _menhir_s;
9908 MenhirLib.EngineTypes.semv = Obj.repr _v;
9909 MenhirLib.EngineTypes.startp = _startpos;
9910 MenhirLib.EngineTypes.endp = _endpos;
9911 MenhirLib.EngineTypes.next = _menhir_stack;
9912 });
9913 (fun _menhir_env ->
9914 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9915 let {
9916 MenhirLib.EngineTypes.semv = m;
9917 MenhirLib.EngineTypes.startp = _startpos_m_;
9918 MenhirLib.EngineTypes.endp = _endpos_m_;
9919 MenhirLib.EngineTypes.next = {
9920 MenhirLib.EngineTypes.semv = ty00;
9921 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9922 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9923 MenhirLib.EngineTypes.next = {
9924 MenhirLib.EngineTypes.semv = r0;
9925 MenhirLib.EngineTypes.startp = _startpos_r0_;
9926 MenhirLib.EngineTypes.endp = _endpos_r0_;
9927 MenhirLib.EngineTypes.next = {
9928 MenhirLib.EngineTypes.state = _menhir_s;
9929 MenhirLib.EngineTypes.semv = x0;
9930 MenhirLib.EngineTypes.startp = _startpos_x0_;
9931 MenhirLib.EngineTypes.endp = _endpos_x0_;
9932 MenhirLib.EngineTypes.next = _menhir_stack;
9933 };
9934 };
9935 };
9936 } = _menhir_stack in
9937 let m : 'tv_list_TMul_ = Obj.magic m in
9938 let ty00 : (
9939 # 51 "parser_cocci_menhir.mly"
9940 (Data.clt)
9941 # 9942 "parser_cocci_menhir.ml"
9942 ) = Obj.magic ty00 in
9943 let r0 : (
9944 # 53 "parser_cocci_menhir.mly"
9945 (Data.clt)
9946 # 9947 "parser_cocci_menhir.ml"
9947 ) = Obj.magic r0 in
9948 let x0 : 'tv_const_vol = Obj.magic x0 in
9949 let _startpos = _startpos_x0_ in
9950 let _endpos = _endpos_m_ in
9951 let _v : 'tv_ctype = let ty =
9952 let ty0 = ty00 in
9953 let r = r0 in
9954 let ty =
9955 let ty = ty0 in
9956
9957 # 550 "parser_cocci_menhir.mly"
9958 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
9959 # 9960 "parser_cocci_menhir.ml"
9960
9961 in
9962
9963 # 593 "parser_cocci_menhir.mly"
9964 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
9965 # 9966 "parser_cocci_menhir.ml"
9966
9967 in
9968 let cv =
9969 let x = x0 in
9970
9971 # 41 "standard.mly"
9972 ( Some x )
9973 # 9974 "parser_cocci_menhir.ml"
9974
9975 in
9976
9977 # 599 "parser_cocci_menhir.mly"
9978 ( P.pointerify (P.make_cv cv ty) m )
9979 # 9980 "parser_cocci_menhir.ml"
9980 in
9981 _menhir_env.MenhirLib.EngineTypes.stack <- {
9982 MenhirLib.EngineTypes.state = _menhir_s;
9983 MenhirLib.EngineTypes.semv = Obj.repr _v;
9984 MenhirLib.EngineTypes.startp = _startpos;
9985 MenhirLib.EngineTypes.endp = _endpos;
9986 MenhirLib.EngineTypes.next = _menhir_stack;
9987 });
9988 (fun _menhir_env ->
9989 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9990 let {
9991 MenhirLib.EngineTypes.semv = m;
9992 MenhirLib.EngineTypes.startp = _startpos_m_;
9993 MenhirLib.EngineTypes.endp = _endpos_m_;
9994 MenhirLib.EngineTypes.next = {
9995 MenhirLib.EngineTypes.semv = ty200;
9996 MenhirLib.EngineTypes.startp = _startpos_ty200_;
9997 MenhirLib.EngineTypes.endp = _endpos_ty200_;
9998 MenhirLib.EngineTypes.next = {
9999 MenhirLib.EngineTypes.semv = ty100;
10000 MenhirLib.EngineTypes.startp = _startpos_ty100_;
10001 MenhirLib.EngineTypes.endp = _endpos_ty100_;
10002 MenhirLib.EngineTypes.next = {
10003 MenhirLib.EngineTypes.semv = r0;
10004 MenhirLib.EngineTypes.startp = _startpos_r0_;
10005 MenhirLib.EngineTypes.endp = _endpos_r0_;
10006 MenhirLib.EngineTypes.next = {
10007 MenhirLib.EngineTypes.state = _menhir_s;
10008 MenhirLib.EngineTypes.semv = x0;
10009 MenhirLib.EngineTypes.startp = _startpos_x0_;
10010 MenhirLib.EngineTypes.endp = _endpos_x0_;
10011 MenhirLib.EngineTypes.next = _menhir_stack;
10012 };
10013 };
10014 };
10015 };
10016 } = _menhir_stack in
10017 let m : 'tv_list_TMul_ = Obj.magic m in
10018 let ty200 : (
10019 # 51 "parser_cocci_menhir.mly"
10020 (Data.clt)
10021 # 10022 "parser_cocci_menhir.ml"
10022 ) = Obj.magic ty200 in
10023 let ty100 : (
10024 # 51 "parser_cocci_menhir.mly"
10025 (Data.clt)
10026 # 10027 "parser_cocci_menhir.ml"
10027 ) = Obj.magic ty100 in
10028 let r0 : (
10029 # 53 "parser_cocci_menhir.mly"
10030 (Data.clt)
10031 # 10032 "parser_cocci_menhir.ml"
10032 ) = Obj.magic r0 in
10033 let x0 : 'tv_const_vol = Obj.magic x0 in
10034 let _startpos = _startpos_x0_ in
10035 let _endpos = _endpos_m_ in
10036 let _v : 'tv_ctype = let ty =
10037 let ty20 = ty200 in
10038 let ty10 = ty100 in
10039 let r = r0 in
10040 let ty =
10041 let ty2 = ty20 in
10042 let ty1 = ty10 in
10043
10044 # 552 "parser_cocci_menhir.mly"
10045 ( Ast0.wrap
10046 (Ast0.BaseType
10047 (Ast.LongLongType,
10048 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
10049 # 10050 "parser_cocci_menhir.ml"
10050
10051 in
10052
10053 # 593 "parser_cocci_menhir.mly"
10054 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
10055 # 10056 "parser_cocci_menhir.ml"
10056
10057 in
10058 let cv =
10059 let x = x0 in
10060
10061 # 41 "standard.mly"
10062 ( Some x )
10063 # 10064 "parser_cocci_menhir.ml"
10064
10065 in
10066
10067 # 599 "parser_cocci_menhir.mly"
10068 ( P.pointerify (P.make_cv cv ty) m )
10069 # 10070 "parser_cocci_menhir.ml"
10070 in
10071 _menhir_env.MenhirLib.EngineTypes.stack <- {
10072 MenhirLib.EngineTypes.state = _menhir_s;
10073 MenhirLib.EngineTypes.semv = Obj.repr _v;
10074 MenhirLib.EngineTypes.startp = _startpos;
10075 MenhirLib.EngineTypes.endp = _endpos;
10076 MenhirLib.EngineTypes.next = _menhir_stack;
10077 });
10078 (fun _menhir_env ->
10079 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10080 let {
10081 MenhirLib.EngineTypes.semv = m;
10082 MenhirLib.EngineTypes.startp = _startpos_m_;
10083 MenhirLib.EngineTypes.endp = _endpos_m_;
10084 MenhirLib.EngineTypes.next = {
10085 MenhirLib.EngineTypes.semv = ty00;
10086 MenhirLib.EngineTypes.startp = _startpos_ty00_;
10087 MenhirLib.EngineTypes.endp = _endpos_ty00_;
10088 MenhirLib.EngineTypes.next = {
10089 MenhirLib.EngineTypes.state = _menhir_s;
10090 MenhirLib.EngineTypes.semv = x0;
10091 MenhirLib.EngineTypes.startp = _startpos_x0_;
10092 MenhirLib.EngineTypes.endp = _endpos_x0_;
10093 MenhirLib.EngineTypes.next = _menhir_stack;
10094 };
10095 };
10096 } = _menhir_stack in
10097 let m : 'tv_list_TMul_ = Obj.magic m in
10098 let ty00 : (
10099 # 51 "parser_cocci_menhir.mly"
10100 (Data.clt)
10101 # 10102 "parser_cocci_menhir.ml"
10102 ) = Obj.magic ty00 in
10103 let x0 : 'tv_const_vol = Obj.magic x0 in
10104 let _startpos = _startpos_x0_ in
10105 let _endpos = _endpos_m_ in
10106 let _v : 'tv_ctype = let ty =
10107 let ty0 = ty00 in
10108 let ty =
10109 let ty = ty0 in
10110
10111 # 534 "parser_cocci_menhir.mly"
10112 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
10113 # 10114 "parser_cocci_menhir.ml"
10114
10115 in
10116
10117 # 594 "parser_cocci_menhir.mly"
10118 ( ty )
10119 # 10120 "parser_cocci_menhir.ml"
10120
10121 in
10122 let cv =
10123 let x = x0 in
10124
10125 # 41 "standard.mly"
10126 ( Some x )
10127 # 10128 "parser_cocci_menhir.ml"
10128
10129 in
10130
10131 # 599 "parser_cocci_menhir.mly"
10132 ( P.pointerify (P.make_cv cv ty) m )
10133 # 10134 "parser_cocci_menhir.ml"
10134 in
10135 _menhir_env.MenhirLib.EngineTypes.stack <- {
10136 MenhirLib.EngineTypes.state = _menhir_s;
10137 MenhirLib.EngineTypes.semv = Obj.repr _v;
10138 MenhirLib.EngineTypes.startp = _startpos;
10139 MenhirLib.EngineTypes.endp = _endpos;
10140 MenhirLib.EngineTypes.next = _menhir_stack;
10141 });
10142 (fun _menhir_env ->
10143 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10144 let {
10145 MenhirLib.EngineTypes.semv = m;
10146 MenhirLib.EngineTypes.startp = _startpos_m_;
10147 MenhirLib.EngineTypes.endp = _endpos_m_;
10148 MenhirLib.EngineTypes.next = {
10149 MenhirLib.EngineTypes.semv = ty00;
10150 MenhirLib.EngineTypes.startp = _startpos_ty00_;
10151 MenhirLib.EngineTypes.endp = _endpos_ty00_;
10152 MenhirLib.EngineTypes.next = {
10153 MenhirLib.EngineTypes.state = _menhir_s;
10154 MenhirLib.EngineTypes.semv = x0;
10155 MenhirLib.EngineTypes.startp = _startpos_x0_;
10156 MenhirLib.EngineTypes.endp = _endpos_x0_;
10157 MenhirLib.EngineTypes.next = _menhir_stack;
10158 };
10159 };
10160 } = _menhir_stack in
10161 let m : 'tv_list_TMul_ = Obj.magic m in
10162 let ty00 : (
10163 # 51 "parser_cocci_menhir.mly"
10164 (Data.clt)
10165 # 10166 "parser_cocci_menhir.ml"
10166 ) = Obj.magic ty00 in
10167 let x0 : 'tv_const_vol = Obj.magic x0 in
10168 let _startpos = _startpos_x0_ in
10169 let _endpos = _endpos_m_ in
10170 let _v : 'tv_ctype = let ty =
10171 let ty0 = ty00 in
10172 let ty =
10173 let ty = ty0 in
10174
10175 # 536 "parser_cocci_menhir.mly"
10176 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
10177 # 10178 "parser_cocci_menhir.ml"
10178
10179 in
10180
10181 # 594 "parser_cocci_menhir.mly"
10182 ( ty )
10183 # 10184 "parser_cocci_menhir.ml"
10184
10185 in
10186 let cv =
10187 let x = x0 in
10188
10189 # 41 "standard.mly"
10190 ( Some x )
10191 # 10192 "parser_cocci_menhir.ml"
10192
10193 in
10194
10195 # 599 "parser_cocci_menhir.mly"
10196 ( P.pointerify (P.make_cv cv ty) m )
10197 # 10198 "parser_cocci_menhir.ml"
10198 in
10199 _menhir_env.MenhirLib.EngineTypes.stack <- {
10200 MenhirLib.EngineTypes.state = _menhir_s;
10201 MenhirLib.EngineTypes.semv = Obj.repr _v;
10202 MenhirLib.EngineTypes.startp = _startpos;
10203 MenhirLib.EngineTypes.endp = _endpos;
10204 MenhirLib.EngineTypes.next = _menhir_stack;
10205 });
10206 (fun _menhir_env ->
10207 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10208 let {
10209 MenhirLib.EngineTypes.semv = m;
10210 MenhirLib.EngineTypes.startp = _startpos_m_;
10211 MenhirLib.EngineTypes.endp = _endpos_m_;
10212 MenhirLib.EngineTypes.next = {
10213 MenhirLib.EngineTypes.semv = ty00;
10214 MenhirLib.EngineTypes.startp = _startpos_ty00_;
10215 MenhirLib.EngineTypes.endp = _endpos_ty00_;
10216 MenhirLib.EngineTypes.next = {
10217 MenhirLib.EngineTypes.state = _menhir_s;
10218 MenhirLib.EngineTypes.semv = x0;
10219 MenhirLib.EngineTypes.startp = _startpos_x0_;
10220 MenhirLib.EngineTypes.endp = _endpos_x0_;
10221 MenhirLib.EngineTypes.next = _menhir_stack;
10222 };
10223 };
10224 } = _menhir_stack in
10225 let m : 'tv_list_TMul_ = Obj.magic m in
10226 let ty00 : (
10227 # 51 "parser_cocci_menhir.mly"
10228 (Data.clt)
10229 # 10230 "parser_cocci_menhir.ml"
10230 ) = Obj.magic ty00 in
10231 let x0 : 'tv_const_vol = Obj.magic x0 in
10232 let _startpos = _startpos_x0_ in
10233 let _endpos = _endpos_m_ in
10234 let _v : 'tv_ctype = let ty =
10235 let ty0 = ty00 in
10236 let ty =
10237 let ty = ty0 in
10238
10239 # 538 "parser_cocci_menhir.mly"
10240 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
10241 # 10242 "parser_cocci_menhir.ml"
10242
10243 in
10244
10245 # 594 "parser_cocci_menhir.mly"
10246 ( ty )
10247 # 10248 "parser_cocci_menhir.ml"
10248
10249 in
10250 let cv =
10251 let x = x0 in
10252
10253 # 41 "standard.mly"
10254 ( Some x )
10255 # 10256 "parser_cocci_menhir.ml"
10256
10257 in
10258
10259 # 599 "parser_cocci_menhir.mly"
10260 ( P.pointerify (P.make_cv cv ty) m )
10261 # 10262 "parser_cocci_menhir.ml"
10262 in
10263 _menhir_env.MenhirLib.EngineTypes.stack <- {
10264 MenhirLib.EngineTypes.state = _menhir_s;
10265 MenhirLib.EngineTypes.semv = Obj.repr _v;
10266 MenhirLib.EngineTypes.startp = _startpos;
10267 MenhirLib.EngineTypes.endp = _endpos;
10268 MenhirLib.EngineTypes.next = _menhir_stack;
10269 });
10270 (fun _menhir_env ->
10271 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10272 let {
10273 MenhirLib.EngineTypes.semv = m;
10274 MenhirLib.EngineTypes.startp = _startpos_m_;
10275 MenhirLib.EngineTypes.endp = _endpos_m_;
10276 MenhirLib.EngineTypes.next = {
10277 MenhirLib.EngineTypes.semv = p00;
10278 MenhirLib.EngineTypes.startp = _startpos_p00_;
10279 MenhirLib.EngineTypes.endp = _endpos_p00_;
10280 MenhirLib.EngineTypes.next = {
10281 MenhirLib.EngineTypes.state = _menhir_s;
10282 MenhirLib.EngineTypes.semv = x0;
10283 MenhirLib.EngineTypes.startp = _startpos_x0_;
10284 MenhirLib.EngineTypes.endp = _endpos_x0_;
10285 MenhirLib.EngineTypes.next = _menhir_stack;
10286 };
10287 };
10288 } = _menhir_stack in
10289 let m : 'tv_list_TMul_ = Obj.magic m in
10290 let p00 : (
10291 # 67 "parser_cocci_menhir.mly"
10292 (Parse_aux.info)
10293 # 10294 "parser_cocci_menhir.ml"
10294 ) = Obj.magic p00 in
10295 let x0 : 'tv_const_vol = Obj.magic x0 in
10296 let _startpos = _startpos_x0_ in
10297 let _endpos = _endpos_m_ in
10298 let _v : 'tv_ctype = let ty =
10299 let p0 = p00 in
10300 let ty =
10301 let p = p0 in
10302
10303 # 540 "parser_cocci_menhir.mly"
10304 ( let (nm,pure,clt) = p in
10305 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
10306 # 10307 "parser_cocci_menhir.ml"
10307
10308 in
10309
10310 # 594 "parser_cocci_menhir.mly"
10311 ( ty )
10312 # 10313 "parser_cocci_menhir.ml"
10313
10314 in
10315 let cv =
10316 let x = x0 in
10317
10318 # 41 "standard.mly"
10319 ( Some x )
10320 # 10321 "parser_cocci_menhir.ml"
10321
10322 in
10323
10324 # 599 "parser_cocci_menhir.mly"
10325 ( P.pointerify (P.make_cv cv ty) m )
10326 # 10327 "parser_cocci_menhir.ml"
10327 in
10328 _menhir_env.MenhirLib.EngineTypes.stack <- {
10329 MenhirLib.EngineTypes.state = _menhir_s;
10330 MenhirLib.EngineTypes.semv = Obj.repr _v;
10331 MenhirLib.EngineTypes.startp = _startpos;
10332 MenhirLib.EngineTypes.endp = _endpos;
10333 MenhirLib.EngineTypes.next = _menhir_stack;
10334 });
10335 (fun _menhir_env ->
10336 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10337 let {
10338 MenhirLib.EngineTypes.semv = m;
10339 MenhirLib.EngineTypes.startp = _startpos_m_;
10340 MenhirLib.EngineTypes.endp = _endpos_m_;
10341 MenhirLib.EngineTypes.next = {
10342 MenhirLib.EngineTypes.semv = p00;
10343 MenhirLib.EngineTypes.startp = _startpos_p00_;
10344 MenhirLib.EngineTypes.endp = _endpos_p00_;
10345 MenhirLib.EngineTypes.next = {
10346 MenhirLib.EngineTypes.startp = _startpos__3_;
10347 MenhirLib.EngineTypes.endp = _endpos__3_;
10348 MenhirLib.EngineTypes.next = {
10349 MenhirLib.EngineTypes.semv = r00;
10350 MenhirLib.EngineTypes.startp = _startpos_r00_;
10351 MenhirLib.EngineTypes.endp = _endpos_r00_;
10352 MenhirLib.EngineTypes.next = {
10353 MenhirLib.EngineTypes.state = _menhir_s;
10354 MenhirLib.EngineTypes.semv = x0;
10355 MenhirLib.EngineTypes.startp = _startpos_x0_;
10356 MenhirLib.EngineTypes.endp = _endpos_x0_;
10357 MenhirLib.EngineTypes.next = _menhir_stack;
10358 };
10359 };
10360 };
10361 };
10362 } = _menhir_stack in
10363 let m : 'tv_list_TMul_ = Obj.magic m in
10364 let p00 : (
10365 # 61 "parser_cocci_menhir.mly"
10366 (string * Data.clt)
10367 # 10368 "parser_cocci_menhir.ml"
10368 ) = Obj.magic p00 in
10369 let r00 : (
10370 # 49 "parser_cocci_menhir.mly"
10371 (string)
10372 # 10373 "parser_cocci_menhir.ml"
10373 ) = Obj.magic r00 in
10374 let x0 : 'tv_const_vol = Obj.magic x0 in
10375 let _startpos = _startpos_x0_ in
10376 let _endpos = _endpos_m_ in
10377 let _v : 'tv_ctype = let ty =
10378 let p0 = p00 in
10379 let r0 = r00 in
10380 let ty =
10381 let p = p0 in
10382 let r = r0 in
10383
10384 # 543 "parser_cocci_menhir.mly"
10385 ( let nm = (r,P.id2name p) in
10386 (* this is only possible when we are in a metavar decl. Otherwise,
10387 it will be represented already as a MetaType *)
10388 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
10389 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
10390 Ast0.Impure (*will be ignored*))) )
10391 # 10392 "parser_cocci_menhir.ml"
10392
10393 in
10394
10395 # 594 "parser_cocci_menhir.mly"
10396 ( ty )
10397 # 10398 "parser_cocci_menhir.ml"
10398
10399 in
10400 let cv =
10401 let x = x0 in
10402
10403 # 41 "standard.mly"
10404 ( Some x )
10405 # 10406 "parser_cocci_menhir.ml"
10406
10407 in
10408
10409 # 599 "parser_cocci_menhir.mly"
10410 ( P.pointerify (P.make_cv cv ty) m )
10411 # 10412 "parser_cocci_menhir.ml"
10412 in
10413 _menhir_env.MenhirLib.EngineTypes.stack <- {
10414 MenhirLib.EngineTypes.state = _menhir_s;
10415 MenhirLib.EngineTypes.semv = Obj.repr _v;
10416 MenhirLib.EngineTypes.startp = _startpos;
10417 MenhirLib.EngineTypes.endp = _endpos;
10418 MenhirLib.EngineTypes.next = _menhir_stack;
10419 });
10420 (fun _menhir_env ->
10421 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10422 let {
10423 MenhirLib.EngineTypes.semv = m;
10424 MenhirLib.EngineTypes.startp = _startpos_m_;
10425 MenhirLib.EngineTypes.endp = _endpos_m_;
10426 MenhirLib.EngineTypes.next = {
10427 MenhirLib.EngineTypes.semv = ty00;
10428 MenhirLib.EngineTypes.startp = _startpos_ty00_;
10429 MenhirLib.EngineTypes.endp = _endpos_ty00_;
10430 MenhirLib.EngineTypes.next = {
10431 MenhirLib.EngineTypes.state = _menhir_s;
10432 MenhirLib.EngineTypes.semv = x0;
10433 MenhirLib.EngineTypes.startp = _startpos_x0_;
10434 MenhirLib.EngineTypes.endp = _endpos_x0_;
10435 MenhirLib.EngineTypes.next = _menhir_stack;
10436 };
10437 };
10438 } = _menhir_stack in
10439 let m : 'tv_list_TMul_ = Obj.magic m in
10440 let ty00 : (
10441 # 51 "parser_cocci_menhir.mly"
10442 (Data.clt)
10443 # 10444 "parser_cocci_menhir.ml"
10444 ) = Obj.magic ty00 in
10445 let x0 : 'tv_const_vol = Obj.magic x0 in
10446 let _startpos = _startpos_x0_ in
10447 let _endpos = _endpos_m_ in
10448 let _v : 'tv_ctype = let ty =
10449 let ty0 = ty00 in
10450 let ty =
10451 let ty = ty0 in
10452
10453 # 550 "parser_cocci_menhir.mly"
10454 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
10455 # 10456 "parser_cocci_menhir.ml"
10456
10457 in
10458
10459 # 594 "parser_cocci_menhir.mly"
10460 ( ty )
10461 # 10462 "parser_cocci_menhir.ml"
10462
10463 in
10464 let cv =
10465 let x = x0 in
10466
10467 # 41 "standard.mly"
10468 ( Some x )
10469 # 10470 "parser_cocci_menhir.ml"
10470
10471 in
10472
10473 # 599 "parser_cocci_menhir.mly"
10474 ( P.pointerify (P.make_cv cv ty) m )
10475 # 10476 "parser_cocci_menhir.ml"
10476 in
10477 _menhir_env.MenhirLib.EngineTypes.stack <- {
10478 MenhirLib.EngineTypes.state = _menhir_s;
10479 MenhirLib.EngineTypes.semv = Obj.repr _v;
10480 MenhirLib.EngineTypes.startp = _startpos;
10481 MenhirLib.EngineTypes.endp = _endpos;
10482 MenhirLib.EngineTypes.next = _menhir_stack;
10483 });
10484 (fun _menhir_env ->
10485 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10486 let {
10487 MenhirLib.EngineTypes.semv = m;
10488 MenhirLib.EngineTypes.startp = _startpos_m_;
10489 MenhirLib.EngineTypes.endp = _endpos_m_;
10490 MenhirLib.EngineTypes.next = {
10491 MenhirLib.EngineTypes.semv = ty200;
10492 MenhirLib.EngineTypes.startp = _startpos_ty200_;
10493 MenhirLib.EngineTypes.endp = _endpos_ty200_;
10494 MenhirLib.EngineTypes.next = {
10495 MenhirLib.EngineTypes.semv = ty100;
10496 MenhirLib.EngineTypes.startp = _startpos_ty100_;
10497 MenhirLib.EngineTypes.endp = _endpos_ty100_;
10498 MenhirLib.EngineTypes.next = {
10499 MenhirLib.EngineTypes.state = _menhir_s;
10500 MenhirLib.EngineTypes.semv = x0;
10501 MenhirLib.EngineTypes.startp = _startpos_x0_;
10502 MenhirLib.EngineTypes.endp = _endpos_x0_;
10503 MenhirLib.EngineTypes.next = _menhir_stack;
10504 };
10505 };
10506 };
10507 } = _menhir_stack in
10508 let m : 'tv_list_TMul_ = Obj.magic m in
10509 let ty200 : (
10510 # 51 "parser_cocci_menhir.mly"
10511 (Data.clt)
10512 # 10513 "parser_cocci_menhir.ml"
10513 ) = Obj.magic ty200 in
10514 let ty100 : (
10515 # 51 "parser_cocci_menhir.mly"
10516 (Data.clt)
10517 # 10518 "parser_cocci_menhir.ml"
10518 ) = Obj.magic ty100 in
10519 let x0 : 'tv_const_vol = Obj.magic x0 in
10520 let _startpos = _startpos_x0_ in
10521 let _endpos = _endpos_m_ in
10522 let _v : 'tv_ctype = let ty =
10523 let ty20 = ty200 in
10524 let ty10 = ty100 in
10525 let ty =
10526 let ty2 = ty20 in
10527 let ty1 = ty10 in
10528
10529 # 552 "parser_cocci_menhir.mly"
10530 ( Ast0.wrap
10531 (Ast0.BaseType
10532 (Ast.LongLongType,
10533 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
10534 # 10535 "parser_cocci_menhir.ml"
10535
10536 in
10537
10538 # 594 "parser_cocci_menhir.mly"
10539 ( ty )
10540 # 10541 "parser_cocci_menhir.ml"
10541
10542 in
10543 let cv =
10544 let x = x0 in
10545
10546 # 41 "standard.mly"
10547 ( Some x )
10548 # 10549 "parser_cocci_menhir.ml"
10549
10550 in
10551
10552 # 599 "parser_cocci_menhir.mly"
10553 ( P.pointerify (P.make_cv cv ty) m )
10554 # 10555 "parser_cocci_menhir.ml"
10555 in
10556 _menhir_env.MenhirLib.EngineTypes.stack <- {
10557 MenhirLib.EngineTypes.state = _menhir_s;
10558 MenhirLib.EngineTypes.semv = Obj.repr _v;
10559 MenhirLib.EngineTypes.startp = _startpos;
10560 MenhirLib.EngineTypes.endp = _endpos;
10561 MenhirLib.EngineTypes.next = _menhir_stack;
10562 });
10563 (fun _menhir_env ->
10564 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10565 let {
10566 MenhirLib.EngineTypes.semv = m;
10567 MenhirLib.EngineTypes.startp = _startpos_m_;
10568 MenhirLib.EngineTypes.endp = _endpos_m_;
10569 MenhirLib.EngineTypes.next = {
10570 MenhirLib.EngineTypes.semv = ty00;
10571 MenhirLib.EngineTypes.startp = _startpos_ty00_;
10572 MenhirLib.EngineTypes.endp = _endpos_ty00_;
10573 MenhirLib.EngineTypes.next = {
10574 MenhirLib.EngineTypes.state = _menhir_s;
10575 MenhirLib.EngineTypes.semv = x0;
10576 MenhirLib.EngineTypes.startp = _startpos_x0_;
10577 MenhirLib.EngineTypes.endp = _endpos_x0_;
10578 MenhirLib.EngineTypes.next = _menhir_stack;
10579 };
10580 };
10581 } = _menhir_stack in
10582 let m : 'tv_list_TMul_ = Obj.magic m in
10583 let ty00 : (
10584 # 52 "parser_cocci_menhir.mly"
10585 (Data.clt)
10586 # 10587 "parser_cocci_menhir.ml"
10587 ) = Obj.magic ty00 in
10588 let x0 : 'tv_const_vol = Obj.magic x0 in
10589 let _startpos = _startpos_x0_ in
10590 let _endpos = _endpos_m_ in
10591 let _v : 'tv_ctype = let ty =
10592 let ty0 = ty00 in
10593 let ty =
10594 let ty = ty0 in
10595
10596 # 560 "parser_cocci_menhir.mly"
10597 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
10598 # 10599 "parser_cocci_menhir.ml"
10599
10600 in
10601
10602 # 595 "parser_cocci_menhir.mly"
10603 ( ty )
10604 # 10605 "parser_cocci_menhir.ml"
10605
10606 in
10607 let cv =
10608 let x = x0 in
10609
10610 # 41 "standard.mly"
10611 ( Some x )
10612 # 10613 "parser_cocci_menhir.ml"
10613
10614 in
10615
10616 # 599 "parser_cocci_menhir.mly"
10617 ( P.pointerify (P.make_cv cv ty) m )
10618 # 10619 "parser_cocci_menhir.ml"
10619 in
10620 _menhir_env.MenhirLib.EngineTypes.stack <- {
10621 MenhirLib.EngineTypes.state = _menhir_s;
10622 MenhirLib.EngineTypes.semv = Obj.repr _v;
10623 MenhirLib.EngineTypes.startp = _startpos;
10624 MenhirLib.EngineTypes.endp = _endpos;
10625 MenhirLib.EngineTypes.next = _menhir_stack;
10626 });
10627 (fun _menhir_env ->
10628 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10629 let {
10630 MenhirLib.EngineTypes.semv = m;
10631 MenhirLib.EngineTypes.startp = _startpos_m_;
10632 MenhirLib.EngineTypes.endp = _endpos_m_;
10633 MenhirLib.EngineTypes.next = {
10634 MenhirLib.EngineTypes.semv = ty00;
10635 MenhirLib.EngineTypes.startp = _startpos_ty00_;
10636 MenhirLib.EngineTypes.endp = _endpos_ty00_;
10637 MenhirLib.EngineTypes.next = {
10638 MenhirLib.EngineTypes.state = _menhir_s;
10639 MenhirLib.EngineTypes.semv = x0;
10640 MenhirLib.EngineTypes.startp = _startpos_x0_;
10641 MenhirLib.EngineTypes.endp = _endpos_x0_;
10642 MenhirLib.EngineTypes.next = _menhir_stack;
10643 };
10644 };
10645 } = _menhir_stack in
10646 let m : 'tv_list_TMul_ = Obj.magic m in
10647 let ty00 : (
10648 # 51 "parser_cocci_menhir.mly"
10649 (Data.clt)
10650 # 10651 "parser_cocci_menhir.ml"
10651 ) = Obj.magic ty00 in
10652 let x0 : 'tv_const_vol = Obj.magic x0 in
10653 let _startpos = _startpos_x0_ in
10654 let _endpos = _endpos_m_ in
10655 let _v : 'tv_ctype = let ty =
10656 let ty0 = ty00 in
10657 let ty =
10658 let ty = ty0 in
10659
10660 # 562 "parser_cocci_menhir.mly"
10661 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
10662 # 10663 "parser_cocci_menhir.ml"
10663
10664 in
10665
10666 # 595 "parser_cocci_menhir.mly"
10667 ( ty )
10668 # 10669 "parser_cocci_menhir.ml"
10669
10670 in
10671 let cv =
10672 let x = x0 in
10673
10674 # 41 "standard.mly"
10675 ( Some x )
10676 # 10677 "parser_cocci_menhir.ml"
10677
10678 in
10679
10680 # 599 "parser_cocci_menhir.mly"
10681 ( P.pointerify (P.make_cv cv ty) m )
10682 # 10683 "parser_cocci_menhir.ml"
10683 in
10684 _menhir_env.MenhirLib.EngineTypes.stack <- {
10685 MenhirLib.EngineTypes.state = _menhir_s;
10686 MenhirLib.EngineTypes.semv = Obj.repr _v;
10687 MenhirLib.EngineTypes.startp = _startpos;
10688 MenhirLib.EngineTypes.endp = _endpos;
10689 MenhirLib.EngineTypes.next = _menhir_stack;
10690 });
10691 (fun _menhir_env ->
10692 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10693 let {
10694 MenhirLib.EngineTypes.semv = m;
10695 MenhirLib.EngineTypes.startp = _startpos_m_;
10696 MenhirLib.EngineTypes.endp = _endpos_m_;
10697 MenhirLib.EngineTypes.next = {
10698 MenhirLib.EngineTypes.semv = ty00;
10699 MenhirLib.EngineTypes.startp = _startpos_ty00_;
10700 MenhirLib.EngineTypes.endp = _endpos_ty00_;
10701 MenhirLib.EngineTypes.next = {
10702 MenhirLib.EngineTypes.state = _menhir_s;
10703 MenhirLib.EngineTypes.semv = x0;
10704 MenhirLib.EngineTypes.startp = _startpos_x0_;
10705 MenhirLib.EngineTypes.endp = _endpos_x0_;
10706 MenhirLib.EngineTypes.next = _menhir_stack;
10707 };
10708 };
10709 } = _menhir_stack in
10710 let m : 'tv_list_TMul_ = Obj.magic m in
10711 let ty00 : (
10712 # 51 "parser_cocci_menhir.mly"
10713 (Data.clt)
10714 # 10715 "parser_cocci_menhir.ml"
10715 ) = Obj.magic ty00 in
10716 let x0 : 'tv_const_vol = Obj.magic x0 in
10717 let _startpos = _startpos_x0_ in
10718 let _endpos = _endpos_m_ in
10719 let _v : 'tv_ctype = let ty =
10720 let ty0 = ty00 in
10721 let ty =
10722 let ty = ty0 in
10723
10724 # 564 "parser_cocci_menhir.mly"
10725 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
10726 # 10727 "parser_cocci_menhir.ml"
10727
10728 in
10729
10730 # 595 "parser_cocci_menhir.mly"
10731 ( ty )
10732 # 10733 "parser_cocci_menhir.ml"
10733
10734 in
10735 let cv =
10736 let x = x0 in
10737
10738 # 41 "standard.mly"
10739 ( Some x )
10740 # 10741 "parser_cocci_menhir.ml"
10741
10742 in
10743
10744 # 599 "parser_cocci_menhir.mly"
10745 ( P.pointerify (P.make_cv cv ty) m )
10746 # 10747 "parser_cocci_menhir.ml"
10747 in
10748 _menhir_env.MenhirLib.EngineTypes.stack <- {
10749 MenhirLib.EngineTypes.state = _menhir_s;
10750 MenhirLib.EngineTypes.semv = Obj.repr _v;
10751 MenhirLib.EngineTypes.startp = _startpos;
10752 MenhirLib.EngineTypes.endp = _endpos;
10753 MenhirLib.EngineTypes.next = _menhir_stack;
10754 });
10755 (fun _menhir_env ->
10756 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10757 let {
10758 MenhirLib.EngineTypes.semv = m;
10759 MenhirLib.EngineTypes.startp = _startpos_m_;
10760 MenhirLib.EngineTypes.endp = _endpos_m_;
10761 MenhirLib.EngineTypes.next = {
10762 MenhirLib.EngineTypes.semv = i00;
10763 MenhirLib.EngineTypes.startp = _startpos_i00_;
10764 MenhirLib.EngineTypes.endp = _endpos_i00_;
10765 MenhirLib.EngineTypes.next = {
10766 MenhirLib.EngineTypes.semv = s00;
10767 MenhirLib.EngineTypes.startp = _startpos_s00_;
10768 MenhirLib.EngineTypes.endp = _endpos_s00_;
10769 MenhirLib.EngineTypes.next = {
10770 MenhirLib.EngineTypes.state = _menhir_s;
10771 MenhirLib.EngineTypes.semv = x0;
10772 MenhirLib.EngineTypes.startp = _startpos_x0_;
10773 MenhirLib.EngineTypes.endp = _endpos_x0_;
10774 MenhirLib.EngineTypes.next = _menhir_stack;
10775 };
10776 };
10777 };
10778 } = _menhir_stack in
10779 let m : 'tv_list_TMul_ = Obj.magic m in
10780 let i00 : 'tv_ident = Obj.magic i00 in
10781 let s00 : (
10782 # 52 "parser_cocci_menhir.mly"
10783 (Data.clt)
10784 # 10785 "parser_cocci_menhir.ml"
10785 ) = Obj.magic s00 in
10786 let x0 : 'tv_const_vol = Obj.magic x0 in
10787 let _startpos = _startpos_x0_ in
10788 let _endpos = _endpos_m_ in
10789 let _v : 'tv_ctype = let ty =
10790 let i0 = i00 in
10791 let s0 = s00 in
10792 let ty =
10793 let i = i0 in
10794 let s = s0 in
10795
10796 # 566 "parser_cocci_menhir.mly"
10797 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
10798 # 10799 "parser_cocci_menhir.ml"
10799
10800 in
10801
10802 # 595 "parser_cocci_menhir.mly"
10803 ( ty )
10804 # 10805 "parser_cocci_menhir.ml"
10805
10806 in
10807 let cv =
10808 let x = x0 in
10809
10810 # 41 "standard.mly"
10811 ( Some x )
10812 # 10813 "parser_cocci_menhir.ml"
10813
10814 in
10815
10816 # 599 "parser_cocci_menhir.mly"
10817 ( P.pointerify (P.make_cv cv ty) m )
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.semv = m;
10831 MenhirLib.EngineTypes.startp = _startpos_m_;
10832 MenhirLib.EngineTypes.endp = _endpos_m_;
10833 MenhirLib.EngineTypes.next = {
10834 MenhirLib.EngineTypes.semv = r00;
10835 MenhirLib.EngineTypes.startp = _startpos_r00_;
10836 MenhirLib.EngineTypes.endp = _endpos_r00_;
10837 MenhirLib.EngineTypes.next = {
10838 MenhirLib.EngineTypes.semv = ids00;
10839 MenhirLib.EngineTypes.startp = _startpos_ids00_;
10840 MenhirLib.EngineTypes.endp = _endpos_ids00_;
10841 MenhirLib.EngineTypes.next = {
10842 MenhirLib.EngineTypes.semv = l00;
10843 MenhirLib.EngineTypes.startp = _startpos_l00_;
10844 MenhirLib.EngineTypes.endp = _endpos_l00_;
10845 MenhirLib.EngineTypes.next = {
10846 MenhirLib.EngineTypes.semv = s00;
10847 MenhirLib.EngineTypes.startp = _startpos_s00_;
10848 MenhirLib.EngineTypes.endp = _endpos_s00_;
10849 MenhirLib.EngineTypes.next = {
10850 MenhirLib.EngineTypes.state = _menhir_s;
10851 MenhirLib.EngineTypes.semv = x0;
10852 MenhirLib.EngineTypes.startp = _startpos_x0_;
10853 MenhirLib.EngineTypes.endp = _endpos_x0_;
10854 MenhirLib.EngineTypes.next = _menhir_stack;
10855 };
10856 };
10857 };
10858 };
10859 };
10860 } = _menhir_stack in
10861 let m : 'tv_list_TMul_ = Obj.magic m in
10862 let r00 : (
10863 # 104 "parser_cocci_menhir.mly"
10864 (Data.clt)
10865 # 10866 "parser_cocci_menhir.ml"
10866 ) = Obj.magic r00 in
10867 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
10868 let l00 : (
10869 # 104 "parser_cocci_menhir.mly"
10870 (Data.clt)
10871 # 10872 "parser_cocci_menhir.ml"
10872 ) = Obj.magic l00 in
10873 let s00 : (
10874 # 52 "parser_cocci_menhir.mly"
10875 (Data.clt)
10876 # 10877 "parser_cocci_menhir.ml"
10877 ) = Obj.magic s00 in
10878 let x0 : 'tv_const_vol = Obj.magic x0 in
10879 let _startpos = _startpos_x0_ in
10880 let _endpos = _endpos_m_ in
10881 let _v : 'tv_ctype = let ty =
10882 let r0 = r00 in
10883 let ids0 = ids00 in
10884 let l0 = l00 in
10885 let s0 = s00 in
10886 let ty =
10887 let r = r0 in
10888 let ids = ids0 in
10889 let l = l0 in
10890 let s = s0 in
10891 let i =
10892
10893 # 39 "standard.mly"
10894 ( None )
10895 # 10896 "parser_cocci_menhir.ml"
10896
10897 in
10898
10899 # 568 "parser_cocci_menhir.mly"
10900 ( (if i = None && !Data.in_iso
10901 then failwith "enums must be named in the iso file");
10902 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
10903 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
10904 # 10905 "parser_cocci_menhir.ml"
10905
10906 in
10907
10908 # 595 "parser_cocci_menhir.mly"
10909 ( ty )
10910 # 10911 "parser_cocci_menhir.ml"
10911
10912 in
10913 let cv =
10914 let x = x0 in
10915
10916 # 41 "standard.mly"
10917 ( Some x )
10918 # 10919 "parser_cocci_menhir.ml"
10919
10920 in
10921
10922 # 599 "parser_cocci_menhir.mly"
10923 ( P.pointerify (P.make_cv cv ty) m )
10924 # 10925 "parser_cocci_menhir.ml"
10925 in
10926 _menhir_env.MenhirLib.EngineTypes.stack <- {
10927 MenhirLib.EngineTypes.state = _menhir_s;
10928 MenhirLib.EngineTypes.semv = Obj.repr _v;
10929 MenhirLib.EngineTypes.startp = _startpos;
10930 MenhirLib.EngineTypes.endp = _endpos;
10931 MenhirLib.EngineTypes.next = _menhir_stack;
10932 });
10933 (fun _menhir_env ->
10934 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10935 let {
10936 MenhirLib.EngineTypes.semv = m;
10937 MenhirLib.EngineTypes.startp = _startpos_m_;
10938 MenhirLib.EngineTypes.endp = _endpos_m_;
10939 MenhirLib.EngineTypes.next = {
10940 MenhirLib.EngineTypes.semv = r00;
10941 MenhirLib.EngineTypes.startp = _startpos_r00_;
10942 MenhirLib.EngineTypes.endp = _endpos_r00_;
10943 MenhirLib.EngineTypes.next = {
10944 MenhirLib.EngineTypes.semv = ids00;
10945 MenhirLib.EngineTypes.startp = _startpos_ids00_;
10946 MenhirLib.EngineTypes.endp = _endpos_ids00_;
10947 MenhirLib.EngineTypes.next = {
10948 MenhirLib.EngineTypes.semv = l00;
10949 MenhirLib.EngineTypes.startp = _startpos_l00_;
10950 MenhirLib.EngineTypes.endp = _endpos_l00_;
10951 MenhirLib.EngineTypes.next = {
10952 MenhirLib.EngineTypes.semv = x000;
10953 MenhirLib.EngineTypes.startp = _startpos_x000_;
10954 MenhirLib.EngineTypes.endp = _endpos_x000_;
10955 MenhirLib.EngineTypes.next = {
10956 MenhirLib.EngineTypes.semv = s00;
10957 MenhirLib.EngineTypes.startp = _startpos_s00_;
10958 MenhirLib.EngineTypes.endp = _endpos_s00_;
10959 MenhirLib.EngineTypes.next = {
10960 MenhirLib.EngineTypes.state = _menhir_s;
10961 MenhirLib.EngineTypes.semv = x0;
10962 MenhirLib.EngineTypes.startp = _startpos_x0_;
10963 MenhirLib.EngineTypes.endp = _endpos_x0_;
10964 MenhirLib.EngineTypes.next = _menhir_stack;
10965 };
10966 };
10967 };
10968 };
10969 };
10970 };
10971 } = _menhir_stack in
10972 let m : 'tv_list_TMul_ = Obj.magic m in
10973 let r00 : (
10974 # 104 "parser_cocci_menhir.mly"
10975 (Data.clt)
10976 # 10977 "parser_cocci_menhir.ml"
10977 ) = Obj.magic r00 in
10978 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
10979 let l00 : (
10980 # 104 "parser_cocci_menhir.mly"
10981 (Data.clt)
10982 # 10983 "parser_cocci_menhir.ml"
10983 ) = Obj.magic l00 in
10984 let x000 : 'tv_ident = Obj.magic x000 in
10985 let s00 : (
10986 # 52 "parser_cocci_menhir.mly"
10987 (Data.clt)
10988 # 10989 "parser_cocci_menhir.ml"
10989 ) = Obj.magic s00 in
10990 let x0 : 'tv_const_vol = Obj.magic x0 in
10991 let _startpos = _startpos_x0_ in
10992 let _endpos = _endpos_m_ in
10993 let _v : 'tv_ctype = let ty =
10994 let r0 = r00 in
10995 let ids0 = ids00 in
10996 let l0 = l00 in
10997 let x00 = x000 in
10998 let s0 = s00 in
10999 let ty =
11000 let r = r0 in
11001 let ids = ids0 in
11002 let l = l0 in
11003 let x0 = x00 in
11004 let s = s0 in
11005 let i =
11006 let x = x0 in
11007
11008 # 41 "standard.mly"
11009 ( Some x )
11010 # 11011 "parser_cocci_menhir.ml"
11011
11012 in
11013
11014 # 568 "parser_cocci_menhir.mly"
11015 ( (if i = None && !Data.in_iso
11016 then failwith "enums must be named in the iso file");
11017 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
11018 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
11019 # 11020 "parser_cocci_menhir.ml"
11020
11021 in
11022
11023 # 595 "parser_cocci_menhir.mly"
11024 ( ty )
11025 # 11026 "parser_cocci_menhir.ml"
11026
11027 in
11028 let cv =
11029 let x = x0 in
11030
11031 # 41 "standard.mly"
11032 ( Some x )
11033 # 11034 "parser_cocci_menhir.ml"
11034
11035 in
11036
11037 # 599 "parser_cocci_menhir.mly"
11038 ( P.pointerify (P.make_cv cv ty) m )
11039 # 11040 "parser_cocci_menhir.ml"
11040 in
11041 _menhir_env.MenhirLib.EngineTypes.stack <- {
11042 MenhirLib.EngineTypes.state = _menhir_s;
11043 MenhirLib.EngineTypes.semv = Obj.repr _v;
11044 MenhirLib.EngineTypes.startp = _startpos;
11045 MenhirLib.EngineTypes.endp = _endpos;
11046 MenhirLib.EngineTypes.next = _menhir_stack;
11047 });
11048 (fun _menhir_env ->
11049 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11050 let {
11051 MenhirLib.EngineTypes.semv = m;
11052 MenhirLib.EngineTypes.startp = _startpos_m_;
11053 MenhirLib.EngineTypes.endp = _endpos_m_;
11054 MenhirLib.EngineTypes.next = {
11055 MenhirLib.EngineTypes.semv = i00;
11056 MenhirLib.EngineTypes.startp = _startpos_i00_;
11057 MenhirLib.EngineTypes.endp = _endpos_i00_;
11058 MenhirLib.EngineTypes.next = {
11059 MenhirLib.EngineTypes.semv = s00;
11060 MenhirLib.EngineTypes.startp = _startpos_s00_;
11061 MenhirLib.EngineTypes.endp = _endpos_s00_;
11062 MenhirLib.EngineTypes.next = {
11063 MenhirLib.EngineTypes.state = _menhir_s;
11064 MenhirLib.EngineTypes.semv = x0;
11065 MenhirLib.EngineTypes.startp = _startpos_x0_;
11066 MenhirLib.EngineTypes.endp = _endpos_x0_;
11067 MenhirLib.EngineTypes.next = _menhir_stack;
11068 };
11069 };
11070 };
11071 } = _menhir_stack in
11072 let m : 'tv_list_TMul_ = Obj.magic m in
11073 let i00 : 'tv_ident = Obj.magic i00 in
11074 let s00 : 'tv_struct_or_union = Obj.magic s00 in
11075 let x0 : 'tv_const_vol = Obj.magic x0 in
11076 let _startpos = _startpos_x0_ in
11077 let _endpos = _endpos_m_ in
11078 let _v : 'tv_ctype = let ty =
11079 let i0 = i00 in
11080 let s0 = s00 in
11081 let ty =
11082 let i = i0 in
11083 let s = s0 in
11084
11085 # 573 "parser_cocci_menhir.mly"
11086 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
11087 # 11088 "parser_cocci_menhir.ml"
11088
11089 in
11090
11091 # 595 "parser_cocci_menhir.mly"
11092 ( ty )
11093 # 11094 "parser_cocci_menhir.ml"
11094
11095 in
11096 let cv =
11097 let x = x0 in
11098
11099 # 41 "standard.mly"
11100 ( Some x )
11101 # 11102 "parser_cocci_menhir.ml"
11102
11103 in
11104
11105 # 599 "parser_cocci_menhir.mly"
11106 ( P.pointerify (P.make_cv cv ty) m )
11107 # 11108 "parser_cocci_menhir.ml"
11108 in
11109 _menhir_env.MenhirLib.EngineTypes.stack <- {
11110 MenhirLib.EngineTypes.state = _menhir_s;
11111 MenhirLib.EngineTypes.semv = Obj.repr _v;
11112 MenhirLib.EngineTypes.startp = _startpos;
11113 MenhirLib.EngineTypes.endp = _endpos;
11114 MenhirLib.EngineTypes.next = _menhir_stack;
11115 });
11116 (fun _menhir_env ->
11117 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11118 let {
11119 MenhirLib.EngineTypes.semv = m;
11120 MenhirLib.EngineTypes.startp = _startpos_m_;
11121 MenhirLib.EngineTypes.endp = _endpos_m_;
11122 MenhirLib.EngineTypes.next = {
11123 MenhirLib.EngineTypes.semv = r00;
11124 MenhirLib.EngineTypes.startp = _startpos_r00_;
11125 MenhirLib.EngineTypes.endp = _endpos_r00_;
11126 MenhirLib.EngineTypes.next = {
11127 MenhirLib.EngineTypes.semv = d00;
11128 MenhirLib.EngineTypes.startp = _startpos_d00_;
11129 MenhirLib.EngineTypes.endp = _endpos_d00_;
11130 MenhirLib.EngineTypes.next = {
11131 MenhirLib.EngineTypes.semv = l00;
11132 MenhirLib.EngineTypes.startp = _startpos_l00_;
11133 MenhirLib.EngineTypes.endp = _endpos_l00_;
11134 MenhirLib.EngineTypes.next = {
11135 MenhirLib.EngineTypes.semv = s00;
11136 MenhirLib.EngineTypes.startp = _startpos_s00_;
11137 MenhirLib.EngineTypes.endp = _endpos_s00_;
11138 MenhirLib.EngineTypes.next = {
11139 MenhirLib.EngineTypes.state = _menhir_s;
11140 MenhirLib.EngineTypes.semv = x0;
11141 MenhirLib.EngineTypes.startp = _startpos_x0_;
11142 MenhirLib.EngineTypes.endp = _endpos_x0_;
11143 MenhirLib.EngineTypes.next = _menhir_stack;
11144 };
11145 };
11146 };
11147 };
11148 };
11149 } = _menhir_stack in
11150 let m : 'tv_list_TMul_ = Obj.magic m in
11151 let r00 : (
11152 # 104 "parser_cocci_menhir.mly"
11153 (Data.clt)
11154 # 11155 "parser_cocci_menhir.ml"
11155 ) = Obj.magic r00 in
11156 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
11157 let l00 : (
11158 # 104 "parser_cocci_menhir.mly"
11159 (Data.clt)
11160 # 11161 "parser_cocci_menhir.ml"
11161 ) = Obj.magic l00 in
11162 let s00 : 'tv_struct_or_union = Obj.magic s00 in
11163 let x0 : 'tv_const_vol = Obj.magic x0 in
11164 let _startpos = _startpos_x0_ in
11165 let _endpos = _endpos_m_ in
11166 let _v : 'tv_ctype = let ty =
11167 let r0 = r00 in
11168 let d0 = d00 in
11169 let l0 = l00 in
11170 let s0 = s00 in
11171 let ty =
11172 let r = r0 in
11173 let d = d0 in
11174 let l = l0 in
11175 let s = s0 in
11176 let i =
11177
11178 # 39 "standard.mly"
11179 ( None )
11180 # 11181 "parser_cocci_menhir.ml"
11181
11182 in
11183
11184 # 576 "parser_cocci_menhir.mly"
11185 ( (if i = None && !Data.in_iso
11186 then failwith "structures must be named in the iso file");
11187 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
11188 P.clt2mcode "{" l,
11189 d, P.clt2mcode "}" r)) )
11190 # 11191 "parser_cocci_menhir.ml"
11191
11192 in
11193
11194 # 595 "parser_cocci_menhir.mly"
11195 ( ty )
11196 # 11197 "parser_cocci_menhir.ml"
11197
11198 in
11199 let cv =
11200 let x = x0 in
11201
11202 # 41 "standard.mly"
11203 ( Some x )
11204 # 11205 "parser_cocci_menhir.ml"
11205
11206 in
11207
11208 # 599 "parser_cocci_menhir.mly"
11209 ( P.pointerify (P.make_cv cv ty) m )
11210 # 11211 "parser_cocci_menhir.ml"
11211 in
11212 _menhir_env.MenhirLib.EngineTypes.stack <- {
11213 MenhirLib.EngineTypes.state = _menhir_s;
11214 MenhirLib.EngineTypes.semv = Obj.repr _v;
11215 MenhirLib.EngineTypes.startp = _startpos;
11216 MenhirLib.EngineTypes.endp = _endpos;
11217 MenhirLib.EngineTypes.next = _menhir_stack;
11218 });
11219 (fun _menhir_env ->
11220 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11221 let {
11222 MenhirLib.EngineTypes.semv = m;
11223 MenhirLib.EngineTypes.startp = _startpos_m_;
11224 MenhirLib.EngineTypes.endp = _endpos_m_;
11225 MenhirLib.EngineTypes.next = {
11226 MenhirLib.EngineTypes.semv = r00;
11227 MenhirLib.EngineTypes.startp = _startpos_r00_;
11228 MenhirLib.EngineTypes.endp = _endpos_r00_;
11229 MenhirLib.EngineTypes.next = {
11230 MenhirLib.EngineTypes.semv = d00;
11231 MenhirLib.EngineTypes.startp = _startpos_d00_;
11232 MenhirLib.EngineTypes.endp = _endpos_d00_;
11233 MenhirLib.EngineTypes.next = {
11234 MenhirLib.EngineTypes.semv = l00;
11235 MenhirLib.EngineTypes.startp = _startpos_l00_;
11236 MenhirLib.EngineTypes.endp = _endpos_l00_;
11237 MenhirLib.EngineTypes.next = {
11238 MenhirLib.EngineTypes.semv = x000;
11239 MenhirLib.EngineTypes.startp = _startpos_x000_;
11240 MenhirLib.EngineTypes.endp = _endpos_x000_;
11241 MenhirLib.EngineTypes.next = {
11242 MenhirLib.EngineTypes.semv = s00;
11243 MenhirLib.EngineTypes.startp = _startpos_s00_;
11244 MenhirLib.EngineTypes.endp = _endpos_s00_;
11245 MenhirLib.EngineTypes.next = {
11246 MenhirLib.EngineTypes.state = _menhir_s;
11247 MenhirLib.EngineTypes.semv = x0;
11248 MenhirLib.EngineTypes.startp = _startpos_x0_;
11249 MenhirLib.EngineTypes.endp = _endpos_x0_;
11250 MenhirLib.EngineTypes.next = _menhir_stack;
11251 };
11252 };
11253 };
11254 };
11255 };
11256 };
11257 } = _menhir_stack in
11258 let m : 'tv_list_TMul_ = Obj.magic m in
11259 let r00 : (
11260 # 104 "parser_cocci_menhir.mly"
11261 (Data.clt)
11262 # 11263 "parser_cocci_menhir.ml"
11263 ) = Obj.magic r00 in
11264 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
11265 let l00 : (
11266 # 104 "parser_cocci_menhir.mly"
11267 (Data.clt)
11268 # 11269 "parser_cocci_menhir.ml"
11269 ) = Obj.magic l00 in
11270 let x000 : 'tv_ident = Obj.magic x000 in
11271 let s00 : 'tv_struct_or_union = Obj.magic s00 in
11272 let x0 : 'tv_const_vol = Obj.magic x0 in
11273 let _startpos = _startpos_x0_ in
11274 let _endpos = _endpos_m_ in
11275 let _v : 'tv_ctype = let ty =
11276 let r0 = r00 in
11277 let d0 = d00 in
11278 let l0 = l00 in
11279 let x00 = x000 in
11280 let s0 = s00 in
11281 let ty =
11282 let r = r0 in
11283 let d = d0 in
11284 let l = l0 in
11285 let x0 = x00 in
11286 let s = s0 in
11287 let i =
11288 let x = x0 in
11289
11290 # 41 "standard.mly"
11291 ( Some x )
11292 # 11293 "parser_cocci_menhir.ml"
11293
11294 in
11295
11296 # 576 "parser_cocci_menhir.mly"
11297 ( (if i = None && !Data.in_iso
11298 then failwith "structures must be named in the iso file");
11299 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
11300 P.clt2mcode "{" l,
11301 d, P.clt2mcode "}" r)) )
11302 # 11303 "parser_cocci_menhir.ml"
11303
11304 in
11305
11306 # 595 "parser_cocci_menhir.mly"
11307 ( ty )
11308 # 11309 "parser_cocci_menhir.ml"
11309
11310 in
11311 let cv =
11312 let x = x0 in
11313
11314 # 41 "standard.mly"
11315 ( Some x )
11316 # 11317 "parser_cocci_menhir.ml"
11317
11318 in
11319
11320 # 599 "parser_cocci_menhir.mly"
11321 ( P.pointerify (P.make_cv cv ty) m )
11322 # 11323 "parser_cocci_menhir.ml"
11323 in
11324 _menhir_env.MenhirLib.EngineTypes.stack <- {
11325 MenhirLib.EngineTypes.state = _menhir_s;
11326 MenhirLib.EngineTypes.semv = Obj.repr _v;
11327 MenhirLib.EngineTypes.startp = _startpos;
11328 MenhirLib.EngineTypes.endp = _endpos;
11329 MenhirLib.EngineTypes.next = _menhir_stack;
11330 });
11331 (fun _menhir_env ->
11332 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11333 let {
11334 MenhirLib.EngineTypes.semv = m;
11335 MenhirLib.EngineTypes.startp = _startpos_m_;
11336 MenhirLib.EngineTypes.endp = _endpos_m_;
11337 MenhirLib.EngineTypes.next = {
11338 MenhirLib.EngineTypes.semv = r00;
11339 MenhirLib.EngineTypes.startp = _startpos_r00_;
11340 MenhirLib.EngineTypes.endp = _endpos_r00_;
11341 MenhirLib.EngineTypes.next = {
11342 MenhirLib.EngineTypes.semv = d00;
11343 MenhirLib.EngineTypes.startp = _startpos_d00_;
11344 MenhirLib.EngineTypes.endp = _endpos_d00_;
11345 MenhirLib.EngineTypes.next = {
11346 MenhirLib.EngineTypes.semv = l00;
11347 MenhirLib.EngineTypes.startp = _startpos_l00_;
11348 MenhirLib.EngineTypes.endp = _endpos_l00_;
11349 MenhirLib.EngineTypes.next = {
11350 MenhirLib.EngineTypes.semv = s00;
11351 MenhirLib.EngineTypes.startp = _startpos_s00_;
11352 MenhirLib.EngineTypes.endp = _endpos_s00_;
11353 MenhirLib.EngineTypes.next = {
11354 MenhirLib.EngineTypes.state = _menhir_s;
11355 MenhirLib.EngineTypes.semv = x0;
11356 MenhirLib.EngineTypes.startp = _startpos_x0_;
11357 MenhirLib.EngineTypes.endp = _endpos_x0_;
11358 MenhirLib.EngineTypes.next = _menhir_stack;
11359 };
11360 };
11361 };
11362 };
11363 };
11364 } = _menhir_stack in
11365 let m : 'tv_list_TMul_ = Obj.magic m in
11366 let r00 : (
11367 # 104 "parser_cocci_menhir.mly"
11368 (Data.clt)
11369 # 11370 "parser_cocci_menhir.ml"
11370 ) = Obj.magic r00 in
11371 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
11372 let l00 : (
11373 # 104 "parser_cocci_menhir.mly"
11374 (Data.clt)
11375 # 11376 "parser_cocci_menhir.ml"
11376 ) = Obj.magic l00 in
11377 let s00 : (
11378 # 67 "parser_cocci_menhir.mly"
11379 (Parse_aux.info)
11380 # 11381 "parser_cocci_menhir.ml"
11381 ) = Obj.magic s00 in
11382 let x0 : 'tv_const_vol = Obj.magic x0 in
11383 let _startpos = _startpos_x0_ in
11384 let _endpos = _endpos_m_ in
11385 let _v : 'tv_ctype = let ty =
11386 let r0 = r00 in
11387 let d0 = d00 in
11388 let l0 = l00 in
11389 let s0 = s00 in
11390 let ty =
11391 let r = r0 in
11392 let d = d0 in
11393 let l = l0 in
11394 let s = s0 in
11395
11396 # 582 "parser_cocci_menhir.mly"
11397 ( let (nm,pure,clt) = s in
11398 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
11399 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
11400 # 11401 "parser_cocci_menhir.ml"
11401
11402 in
11403
11404 # 595 "parser_cocci_menhir.mly"
11405 ( ty )
11406 # 11407 "parser_cocci_menhir.ml"
11407
11408 in
11409 let cv =
11410 let x = x0 in
11411
11412 # 41 "standard.mly"
11413 ( Some x )
11414 # 11415 "parser_cocci_menhir.ml"
11415
11416 in
11417
11418 # 599 "parser_cocci_menhir.mly"
11419 ( P.pointerify (P.make_cv cv ty) m )
11420 # 11421 "parser_cocci_menhir.ml"
11421 in
11422 _menhir_env.MenhirLib.EngineTypes.stack <- {
11423 MenhirLib.EngineTypes.state = _menhir_s;
11424 MenhirLib.EngineTypes.semv = Obj.repr _v;
11425 MenhirLib.EngineTypes.startp = _startpos;
11426 MenhirLib.EngineTypes.endp = _endpos;
11427 MenhirLib.EngineTypes.next = _menhir_stack;
11428 });
11429 (fun _menhir_env ->
11430 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11431 let {
11432 MenhirLib.EngineTypes.semv = m;
11433 MenhirLib.EngineTypes.startp = _startpos_m_;
11434 MenhirLib.EngineTypes.endp = _endpos_m_;
11435 MenhirLib.EngineTypes.next = {
11436 MenhirLib.EngineTypes.semv = p00;
11437 MenhirLib.EngineTypes.startp = _startpos_p00_;
11438 MenhirLib.EngineTypes.endp = _endpos_p00_;
11439 MenhirLib.EngineTypes.next = {
11440 MenhirLib.EngineTypes.state = _menhir_s;
11441 MenhirLib.EngineTypes.semv = x0;
11442 MenhirLib.EngineTypes.startp = _startpos_x0_;
11443 MenhirLib.EngineTypes.endp = _endpos_x0_;
11444 MenhirLib.EngineTypes.next = _menhir_stack;
11445 };
11446 };
11447 } = _menhir_stack in
11448 let m : 'tv_list_TMul_ = Obj.magic m in
11449 let p00 : (
11450 # 61 "parser_cocci_menhir.mly"
11451 (string * Data.clt)
11452 # 11453 "parser_cocci_menhir.ml"
11453 ) = Obj.magic p00 in
11454 let x0 : 'tv_const_vol = Obj.magic x0 in
11455 let _startpos = _startpos_x0_ in
11456 let _endpos = _endpos_m_ in
11457 let _v : 'tv_ctype = let ty =
11458 let p0 = p00 in
11459 let ty =
11460 let p = p0 in
11461
11462 # 586 "parser_cocci_menhir.mly"
11463 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
11464 # 11465 "parser_cocci_menhir.ml"
11465
11466 in
11467
11468 # 595 "parser_cocci_menhir.mly"
11469 ( ty )
11470 # 11471 "parser_cocci_menhir.ml"
11471
11472 in
11473 let cv =
11474 let x = x0 in
11475
11476 # 41 "standard.mly"
11477 ( Some x )
11478 # 11479 "parser_cocci_menhir.ml"
11479
11480 in
11481
11482 # 599 "parser_cocci_menhir.mly"
11483 ( P.pointerify (P.make_cv cv ty) m )
11484 # 11485 "parser_cocci_menhir.ml"
11485 in
11486 _menhir_env.MenhirLib.EngineTypes.stack <- {
11487 MenhirLib.EngineTypes.state = _menhir_s;
11488 MenhirLib.EngineTypes.semv = Obj.repr _v;
11489 MenhirLib.EngineTypes.startp = _startpos;
11490 MenhirLib.EngineTypes.endp = _endpos;
11491 MenhirLib.EngineTypes.next = _menhir_stack;
11492 });
11493 (fun _menhir_env ->
11494 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11495 let {
11496 MenhirLib.EngineTypes.state = _menhir_s;
11497 MenhirLib.EngineTypes.semv = r;
11498 MenhirLib.EngineTypes.startp = _startpos_r_;
11499 MenhirLib.EngineTypes.endp = _endpos_r_;
11500 MenhirLib.EngineTypes.next = _menhir_stack;
11501 } = _menhir_stack in
11502 let r : (
11503 # 53 "parser_cocci_menhir.mly"
11504 (Data.clt)
11505 # 11506 "parser_cocci_menhir.ml"
11506 ) = Obj.magic r in
11507 let _startpos = _startpos_r_ in
11508 let _endpos = _endpos_r_ in
11509 let _v : 'tv_ctype =
11510 # 601 "parser_cocci_menhir.mly"
11511 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) )
11512 # 11513 "parser_cocci_menhir.ml"
11513 in
11514 _menhir_env.MenhirLib.EngineTypes.stack <- {
11515 MenhirLib.EngineTypes.state = _menhir_s;
11516 MenhirLib.EngineTypes.semv = Obj.repr _v;
11517 MenhirLib.EngineTypes.startp = _startpos;
11518 MenhirLib.EngineTypes.endp = _endpos;
11519 MenhirLib.EngineTypes.next = _menhir_stack;
11520 });
11521 (fun _menhir_env ->
11522 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11523 let {
11524 MenhirLib.EngineTypes.state = _menhir_s;
11525 MenhirLib.EngineTypes.semv = r;
11526 MenhirLib.EngineTypes.startp = _startpos_r_;
11527 MenhirLib.EngineTypes.endp = _endpos_r_;
11528 MenhirLib.EngineTypes.next = _menhir_stack;
11529 } = _menhir_stack in
11530 let r : (
11531 # 53 "parser_cocci_menhir.mly"
11532 (Data.clt)
11533 # 11534 "parser_cocci_menhir.ml"
11534 ) = Obj.magic r in
11535 let _startpos = _startpos_r_ in
11536 let _endpos = _endpos_r_ in
11537 let _v : 'tv_ctype =
11538 # 603 "parser_cocci_menhir.mly"
11539 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) )
11540 # 11541 "parser_cocci_menhir.ml"
11541 in
11542 _menhir_env.MenhirLib.EngineTypes.stack <- {
11543 MenhirLib.EngineTypes.state = _menhir_s;
11544 MenhirLib.EngineTypes.semv = Obj.repr _v;
11545 MenhirLib.EngineTypes.startp = _startpos;
11546 MenhirLib.EngineTypes.endp = _endpos;
11547 MenhirLib.EngineTypes.next = _menhir_stack;
11548 });
11549 (fun _menhir_env ->
11550 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11551 let {
11552 MenhirLib.EngineTypes.semv = rp;
11553 MenhirLib.EngineTypes.startp = _startpos_rp_;
11554 MenhirLib.EngineTypes.endp = _endpos_rp_;
11555 MenhirLib.EngineTypes.next = {
11556 MenhirLib.EngineTypes.semv = t;
11557 MenhirLib.EngineTypes.startp = _startpos_t_;
11558 MenhirLib.EngineTypes.endp = _endpos_t_;
11559 MenhirLib.EngineTypes.next = {
11560 MenhirLib.EngineTypes.state = _menhir_s;
11561 MenhirLib.EngineTypes.semv = lp;
11562 MenhirLib.EngineTypes.startp = _startpos_lp_;
11563 MenhirLib.EngineTypes.endp = _endpos_lp_;
11564 MenhirLib.EngineTypes.next = _menhir_stack;
11565 };
11566 };
11567 } = _menhir_stack in
11568 let rp : (
11569 # 80 "parser_cocci_menhir.mly"
11570 (Data.clt)
11571 # 11572 "parser_cocci_menhir.ml"
11572 ) = Obj.magic rp in
11573 let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
11574 let lp : (
11575 # 79 "parser_cocci_menhir.mly"
11576 (Data.clt)
11577 # 11578 "parser_cocci_menhir.ml"
11578 ) = Obj.magic lp in
11579 let _startpos = _startpos_lp_ in
11580 let _endpos = _endpos_rp_ in
11581 let _v : 'tv_ctype =
11582 # 605 "parser_cocci_menhir.mly"
11583 ( let (mids,code) = t in
11584 Ast0.wrap
11585 (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
11586 # 11587 "parser_cocci_menhir.ml"
11587 in
11588 _menhir_env.MenhirLib.EngineTypes.stack <- {
11589 MenhirLib.EngineTypes.state = _menhir_s;
11590 MenhirLib.EngineTypes.semv = Obj.repr _v;
11591 MenhirLib.EngineTypes.startp = _startpos;
11592 MenhirLib.EngineTypes.endp = _endpos;
11593 MenhirLib.EngineTypes.next = _menhir_stack;
11594 });
11595 (fun _menhir_env ->
11596 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11597 let {
11598 MenhirLib.EngineTypes.semv = _2;
11599 MenhirLib.EngineTypes.startp = _startpos__2_;
11600 MenhirLib.EngineTypes.endp = _endpos__2_;
11601 MenhirLib.EngineTypes.next = {
11602 MenhirLib.EngineTypes.state = _menhir_s;
11603 MenhirLib.EngineTypes.semv = _1;
11604 MenhirLib.EngineTypes.startp = _startpos__1_;
11605 MenhirLib.EngineTypes.endp = _endpos__1_;
11606 MenhirLib.EngineTypes.next = _menhir_stack;
11607 };
11608 } = _menhir_stack in
11609 let _2 : 'tv_list_array_dec_ = Obj.magic _2 in
11610 let _1 : 'tv_ident = Obj.magic _1 in
11611 let _startpos = _startpos__1_ in
11612 let _endpos = _endpos__2_ in
11613 let _v : 'tv_d_ident =
11614 # 1143 "parser_cocci_menhir.mly"
11615 ( (_1,
11616 function t ->
11617 List.fold_right
11618 (function (l,i,r) ->
11619 function rest ->
11620 Ast0.wrap
11621 (Ast0.Array(rest,P.clt2mcode "[" l,i,P.clt2mcode "]" r)))
11622 _2 t) )
11623 # 11624 "parser_cocci_menhir.ml"
11624 in
11625 _menhir_env.MenhirLib.EngineTypes.stack <- {
11626 MenhirLib.EngineTypes.state = _menhir_s;
11627 MenhirLib.EngineTypes.semv = Obj.repr _v;
11628 MenhirLib.EngineTypes.startp = _startpos;
11629 MenhirLib.EngineTypes.endp = _endpos;
11630 MenhirLib.EngineTypes.next = _menhir_stack;
11631 });
11632 (fun _menhir_env ->
11633 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11634 let {
11635 MenhirLib.EngineTypes.semv = i;
11636 MenhirLib.EngineTypes.startp = _startpos_i_;
11637 MenhirLib.EngineTypes.endp = _endpos_i_;
11638 MenhirLib.EngineTypes.next = {
11639 MenhirLib.EngineTypes.state = _menhir_s;
11640 MenhirLib.EngineTypes.semv = t;
11641 MenhirLib.EngineTypes.startp = _startpos_t_;
11642 MenhirLib.EngineTypes.endp = _endpos_t_;
11643 MenhirLib.EngineTypes.next = _menhir_stack;
11644 };
11645 } = _menhir_stack in
11646 let i : 'tv_ident = Obj.magic i in
11647 let t : 'tv_ctype = Obj.magic t in
11648 let _startpos = _startpos_t_ in
11649 let _endpos = _endpos_i_ in
11650 let _v : 'tv_decl =
11651 # 897 "parser_cocci_menhir.mly"
11652 ( Ast0.wrap(Ast0.Param(t, Some i)) )
11653 # 11654 "parser_cocci_menhir.ml"
11654 in
11655 _menhir_env.MenhirLib.EngineTypes.stack <- {
11656 MenhirLib.EngineTypes.state = _menhir_s;
11657 MenhirLib.EngineTypes.semv = Obj.repr _v;
11658 MenhirLib.EngineTypes.startp = _startpos;
11659 MenhirLib.EngineTypes.endp = _endpos;
11660 MenhirLib.EngineTypes.next = _menhir_stack;
11661 });
11662 (fun _menhir_env ->
11663 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11664 let {
11665 MenhirLib.EngineTypes.state = _menhir_s;
11666 MenhirLib.EngineTypes.semv = t;
11667 MenhirLib.EngineTypes.startp = _startpos_t_;
11668 MenhirLib.EngineTypes.endp = _endpos_t_;
11669 MenhirLib.EngineTypes.next = _menhir_stack;
11670 } = _menhir_stack in
11671 let t : 'tv_ctype = Obj.magic t in
11672 let _startpos = _startpos_t_ in
11673 let _endpos = _endpos_t_ in
11674 let _v : 'tv_decl =
11675 # 898 "parser_cocci_menhir.mly"
11676 ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) )
11677 # 11678 "parser_cocci_menhir.ml"
11678 in
11679 _menhir_env.MenhirLib.EngineTypes.stack <- {
11680 MenhirLib.EngineTypes.state = _menhir_s;
11681 MenhirLib.EngineTypes.semv = Obj.repr _v;
11682 MenhirLib.EngineTypes.startp = _startpos;
11683 MenhirLib.EngineTypes.endp = _endpos;
11684 MenhirLib.EngineTypes.next = _menhir_stack;
11685 });
11686 (fun _menhir_env ->
11687 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11688 let {
11689 MenhirLib.EngineTypes.semv = rp1;
11690 MenhirLib.EngineTypes.startp = _startpos_rp1_;
11691 MenhirLib.EngineTypes.endp = _endpos_rp1_;
11692 MenhirLib.EngineTypes.next = {
11693 MenhirLib.EngineTypes.semv = d;
11694 MenhirLib.EngineTypes.startp = _startpos_d_;
11695 MenhirLib.EngineTypes.endp = _endpos_d_;
11696 MenhirLib.EngineTypes.next = {
11697 MenhirLib.EngineTypes.semv = lp1;
11698 MenhirLib.EngineTypes.startp = _startpos_lp1_;
11699 MenhirLib.EngineTypes.endp = _endpos_lp1_;
11700 MenhirLib.EngineTypes.next = {
11701 MenhirLib.EngineTypes.semv = rp;
11702 MenhirLib.EngineTypes.startp = _startpos_rp_;
11703 MenhirLib.EngineTypes.endp = _endpos_rp_;
11704 MenhirLib.EngineTypes.next = {
11705 MenhirLib.EngineTypes.semv = i;
11706 MenhirLib.EngineTypes.startp = _startpos_i_;
11707 MenhirLib.EngineTypes.endp = _endpos_i_;
11708 MenhirLib.EngineTypes.next = {
11709 MenhirLib.EngineTypes.semv = s;
11710 MenhirLib.EngineTypes.startp = _startpos_s_;
11711 MenhirLib.EngineTypes.endp = _endpos_s_;
11712 MenhirLib.EngineTypes.next = {
11713 MenhirLib.EngineTypes.semv = lp;
11714 MenhirLib.EngineTypes.startp = _startpos_lp_;
11715 MenhirLib.EngineTypes.endp = _endpos_lp_;
11716 MenhirLib.EngineTypes.next = {
11717 MenhirLib.EngineTypes.state = _menhir_s;
11718 MenhirLib.EngineTypes.semv = t;
11719 MenhirLib.EngineTypes.startp = _startpos_t_;
11720 MenhirLib.EngineTypes.endp = _endpos_t_;
11721 MenhirLib.EngineTypes.next = _menhir_stack;
11722 };
11723 };
11724 };
11725 };
11726 };
11727 };
11728 };
11729 } = _menhir_stack in
11730 let rp1 : (
11731 # 80 "parser_cocci_menhir.mly"
11732 (Data.clt)
11733 # 11734 "parser_cocci_menhir.ml"
11734 ) = Obj.magic rp1 in
11735 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
11736 let lp1 : (
11737 # 79 "parser_cocci_menhir.mly"
11738 (Data.clt)
11739 # 11740 "parser_cocci_menhir.ml"
11740 ) = Obj.magic lp1 in
11741 let rp : (
11742 # 80 "parser_cocci_menhir.mly"
11743 (Data.clt)
11744 # 11745 "parser_cocci_menhir.ml"
11745 ) = Obj.magic rp in
11746 let i : 'tv_ident = Obj.magic i in
11747 let s : (
11748 # 102 "parser_cocci_menhir.mly"
11749 (Data.clt)
11750 # 11751 "parser_cocci_menhir.ml"
11751 ) = Obj.magic s in
11752 let lp : (
11753 # 79 "parser_cocci_menhir.mly"
11754 (Data.clt)
11755 # 11756 "parser_cocci_menhir.ml"
11756 ) = Obj.magic lp in
11757 let t : 'tv_ctype = Obj.magic t in
11758 let _startpos = _startpos_t_ in
11759 let _endpos = _endpos_rp1_ in
11760 let _v : 'tv_decl =
11761 # 901 "parser_cocci_menhir.mly"
11762 ( let fnptr =
11763 Ast0.wrap
11764 (Ast0.FunctionPointer
11765 (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
11766 P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
11767 Ast0.wrap(Ast0.Param(fnptr, Some i)) )
11768 # 11769 "parser_cocci_menhir.ml"
11769 in
11770 _menhir_env.MenhirLib.EngineTypes.stack <- {
11771 MenhirLib.EngineTypes.state = _menhir_s;
11772 MenhirLib.EngineTypes.semv = Obj.repr _v;
11773 MenhirLib.EngineTypes.startp = _startpos;
11774 MenhirLib.EngineTypes.endp = _endpos;
11775 MenhirLib.EngineTypes.next = _menhir_stack;
11776 });
11777 (fun _menhir_env ->
11778 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11779 let {
11780 MenhirLib.EngineTypes.state = _menhir_s;
11781 MenhirLib.EngineTypes.semv = _1;
11782 MenhirLib.EngineTypes.startp = _startpos__1_;
11783 MenhirLib.EngineTypes.endp = _endpos__1_;
11784 MenhirLib.EngineTypes.next = _menhir_stack;
11785 } = _menhir_stack in
11786 let _1 : (
11787 # 67 "parser_cocci_menhir.mly"
11788 (Parse_aux.info)
11789 # 11790 "parser_cocci_menhir.ml"
11790 ) = Obj.magic _1 in
11791 let _startpos = _startpos__1_ in
11792 let _endpos = _endpos__1_ in
11793 let _v : 'tv_decl =
11794 # 908 "parser_cocci_menhir.mly"
11795 ( let (nm,pure,clt) = _1 in
11796 Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
11797 # 11798 "parser_cocci_menhir.ml"
11798 in
11799 _menhir_env.MenhirLib.EngineTypes.stack <- {
11800 MenhirLib.EngineTypes.state = _menhir_s;
11801 MenhirLib.EngineTypes.semv = Obj.repr _v;
11802 MenhirLib.EngineTypes.startp = _startpos;
11803 MenhirLib.EngineTypes.endp = _endpos;
11804 MenhirLib.EngineTypes.next = _menhir_stack;
11805 });
11806 (fun _menhir_env ->
11807 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11808 let {
11809 MenhirLib.EngineTypes.state = _menhir_s;
11810 MenhirLib.EngineTypes.semv = _1;
11811 MenhirLib.EngineTypes.startp = _startpos__1_;
11812 MenhirLib.EngineTypes.endp = _endpos__1_;
11813 MenhirLib.EngineTypes.next = _menhir_stack;
11814 } = _menhir_stack in
11815 let _1 : (
11816 # 61 "parser_cocci_menhir.mly"
11817 (string * Data.clt)
11818 # 11819 "parser_cocci_menhir.ml"
11819 ) = Obj.magic _1 in
11820 let _startpos = _startpos__1_ in
11821 let _endpos = _endpos__1_ in
11822 let _v : 'tv_decl_ident =
11823 # 1710 "parser_cocci_menhir.mly"
11824 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
11825 # 11826 "parser_cocci_menhir.ml"
11826 in
11827 _menhir_env.MenhirLib.EngineTypes.stack <- {
11828 MenhirLib.EngineTypes.state = _menhir_s;
11829 MenhirLib.EngineTypes.semv = Obj.repr _v;
11830 MenhirLib.EngineTypes.startp = _startpos;
11831 MenhirLib.EngineTypes.endp = _endpos;
11832 MenhirLib.EngineTypes.next = _menhir_stack;
11833 });
11834 (fun _menhir_env ->
11835 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11836 let {
11837 MenhirLib.EngineTypes.state = _menhir_s;
11838 MenhirLib.EngineTypes.semv = _1;
11839 MenhirLib.EngineTypes.startp = _startpos__1_;
11840 MenhirLib.EngineTypes.endp = _endpos__1_;
11841 MenhirLib.EngineTypes.next = _menhir_stack;
11842 } = _menhir_stack in
11843 let _1 : (
11844 # 65 "parser_cocci_menhir.mly"
11845 (Parse_aux.idinfo)
11846 # 11847 "parser_cocci_menhir.ml"
11847 ) = Obj.magic _1 in
11848 let _startpos = _startpos__1_ in
11849 let _endpos = _endpos__1_ in
11850 let _v : 'tv_decl_ident =
11851 # 1712 "parser_cocci_menhir.mly"
11852 ( let (nm,constraints,pure,clt) = _1 in
11853 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
11854 # 11855 "parser_cocci_menhir.ml"
11855 in
11856 _menhir_env.MenhirLib.EngineTypes.stack <- {
11857 MenhirLib.EngineTypes.state = _menhir_s;
11858 MenhirLib.EngineTypes.semv = Obj.repr _v;
11859 MenhirLib.EngineTypes.startp = _startpos;
11860 MenhirLib.EngineTypes.endp = _endpos;
11861 MenhirLib.EngineTypes.next = _menhir_stack;
11862 });
11863 (fun _menhir_env ->
11864 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11865 let {
11866 MenhirLib.EngineTypes.state = _menhir_s;
11867 MenhirLib.EngineTypes.semv = _1;
11868 MenhirLib.EngineTypes.startp = _startpos__1_;
11869 MenhirLib.EngineTypes.endp = _endpos__1_;
11870 MenhirLib.EngineTypes.next = _menhir_stack;
11871 } = _menhir_stack in
11872 let _1 : 'tv_empty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _1 in
11873 let _startpos = _startpos__1_ in
11874 let _endpos = _endpos__1_ in
11875 let _v : 'tv_decl_list_decl_ =
11876 # 1733 "parser_cocci_menhir.mly"
11877 ( Ast0.wrap
11878 (Ast0.DOTS
11879 (_1
11880 (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d)))
11881 (fun c -> Ast0.PComma c))) )
11882 # 11883 "parser_cocci_menhir.ml"
11883 in
11884 _menhir_env.MenhirLib.EngineTypes.stack <- {
11885 MenhirLib.EngineTypes.state = _menhir_s;
11886 MenhirLib.EngineTypes.semv = Obj.repr _v;
11887 MenhirLib.EngineTypes.startp = _startpos;
11888 MenhirLib.EngineTypes.endp = _endpos;
11889 MenhirLib.EngineTypes.next = _menhir_stack;
11890 });
11891 (fun _menhir_env ->
11892 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11893 let {
11894 MenhirLib.EngineTypes.state = _menhir_s;
11895 MenhirLib.EngineTypes.semv = _1;
11896 MenhirLib.EngineTypes.startp = _startpos__1_;
11897 MenhirLib.EngineTypes.endp = _endpos__1_;
11898 MenhirLib.EngineTypes.next = _menhir_stack;
11899 } = _menhir_stack in
11900 let _1 : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _1 in
11901 let _startpos = _startpos__1_ in
11902 let _endpos = _endpos__1_ in
11903 let _v : 'tv_decl_list_name_opt_decl_ =
11904 # 1733 "parser_cocci_menhir.mly"
11905 ( Ast0.wrap
11906 (Ast0.DOTS
11907 (_1
11908 (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d)))
11909 (fun c -> Ast0.PComma c))) )
11910 # 11911 "parser_cocci_menhir.ml"
11911 in
11912 _menhir_env.MenhirLib.EngineTypes.stack <- {
11913 MenhirLib.EngineTypes.state = _menhir_s;
11914 MenhirLib.EngineTypes.semv = Obj.repr _v;
11915 MenhirLib.EngineTypes.startp = _startpos;
11916 MenhirLib.EngineTypes.endp = _endpos;
11917 MenhirLib.EngineTypes.next = _menhir_stack;
11918 });
11919 (fun _menhir_env ->
11920 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11921 let {
11922 MenhirLib.EngineTypes.state = _menhir_s;
11923 MenhirLib.EngineTypes.semv = _1;
11924 MenhirLib.EngineTypes.startp = _startpos__1_;
11925 MenhirLib.EngineTypes.endp = _endpos__1_;
11926 MenhirLib.EngineTypes.next = _menhir_stack;
11927 } = _menhir_stack in
11928 let _1 : (
11929 # 67 "parser_cocci_menhir.mly"
11930 (Parse_aux.info)
11931 # 11932 "parser_cocci_menhir.ml"
11932 ) = Obj.magic _1 in
11933 let _startpos = _startpos__1_ in
11934 let _endpos = _endpos__1_ in
11935 let _v : 'tv_decl_statement =
11936 # 1201 "parser_cocci_menhir.mly"
11937 ( let (nm,pure,clt) = _1 in
11938 [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
11939 # 11940 "parser_cocci_menhir.ml"
11940 in
11941 _menhir_env.MenhirLib.EngineTypes.stack <- {
11942 MenhirLib.EngineTypes.state = _menhir_s;
11943 MenhirLib.EngineTypes.semv = Obj.repr _v;
11944 MenhirLib.EngineTypes.startp = _startpos;
11945 MenhirLib.EngineTypes.endp = _endpos;
11946 MenhirLib.EngineTypes.next = _menhir_stack;
11947 });
11948 (fun _menhir_env ->
11949 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11950 let {
11951 MenhirLib.EngineTypes.state = _menhir_s;
11952 MenhirLib.EngineTypes.semv = _1;
11953 MenhirLib.EngineTypes.startp = _startpos__1_;
11954 MenhirLib.EngineTypes.endp = _endpos__1_;
11955 MenhirLib.EngineTypes.next = _menhir_stack;
11956 } = _menhir_stack in
11957 let _1 : 'tv_decl_var = Obj.magic _1 in
11958 let _startpos = _startpos__1_ in
11959 let _endpos = _endpos__1_ in
11960 let _v : 'tv_decl_statement =
11961 # 1204 "parser_cocci_menhir.mly"
11962 ( List.map
11963 (function x ->
11964 Ast0.wrap
11965 (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
11966 _1 )
11967 # 11968 "parser_cocci_menhir.ml"
11968 in
11969 _menhir_env.MenhirLib.EngineTypes.stack <- {
11970 MenhirLib.EngineTypes.state = _menhir_s;
11971 MenhirLib.EngineTypes.semv = Obj.repr _v;
11972 MenhirLib.EngineTypes.startp = _startpos;
11973 MenhirLib.EngineTypes.endp = _endpos;
11974 MenhirLib.EngineTypes.next = _menhir_stack;
11975 });
11976 (fun _menhir_env ->
11977 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11978 let {
11979 MenhirLib.EngineTypes.state = _menhir_s;
11980 MenhirLib.EngineTypes.semv = _1;
11981 MenhirLib.EngineTypes.startp = _startpos__1_;
11982 MenhirLib.EngineTypes.endp = _endpos__1_;
11983 MenhirLib.EngineTypes.next = _menhir_stack;
11984 } = _menhir_stack in
11985 let _1 : 'tv_statement = Obj.magic _1 in
11986 let _startpos = _startpos__1_ in
11987 let _endpos = _endpos__1_ in
11988 let _v : 'tv_decl_statement =
11989 # 1209 "parser_cocci_menhir.mly"
11990 ( [_1] )
11991 # 11992 "parser_cocci_menhir.ml"
11992 in
11993 _menhir_env.MenhirLib.EngineTypes.stack <- {
11994 MenhirLib.EngineTypes.state = _menhir_s;
11995 MenhirLib.EngineTypes.semv = Obj.repr _v;
11996 MenhirLib.EngineTypes.startp = _startpos;
11997 MenhirLib.EngineTypes.endp = _endpos;
11998 MenhirLib.EngineTypes.next = _menhir_stack;
11999 });
12000 (fun _menhir_env ->
12001 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12002 let {
12003 MenhirLib.EngineTypes.semv = _3;
12004 MenhirLib.EngineTypes.startp = _startpos__3_;
12005 MenhirLib.EngineTypes.endp = _endpos__3_;
12006 MenhirLib.EngineTypes.next = {
12007 MenhirLib.EngineTypes.semv = t;
12008 MenhirLib.EngineTypes.startp = _startpos_t_;
12009 MenhirLib.EngineTypes.endp = _endpos_t_;
12010 MenhirLib.EngineTypes.next = {
12011 MenhirLib.EngineTypes.state = _menhir_s;
12012 MenhirLib.EngineTypes.semv = _1;
12013 MenhirLib.EngineTypes.startp = _startpos__1_;
12014 MenhirLib.EngineTypes.endp = _endpos__1_;
12015 MenhirLib.EngineTypes.next = _menhir_stack;
12016 };
12017 };
12018 } = _menhir_stack in
12019 let _3 : (
12020 # 80 "parser_cocci_menhir.mly"
12021 (Data.clt)
12022 # 12023 "parser_cocci_menhir.ml"
12023 ) = Obj.magic _3 in
12024 let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in
12025 let _1 : (
12026 # 79 "parser_cocci_menhir.mly"
12027 (Data.clt)
12028 # 12029 "parser_cocci_menhir.ml"
12029 ) = Obj.magic _1 in
12030 let _startpos = _startpos__1_ in
12031 let _endpos = _endpos__3_ in
12032 let _v : 'tv_decl_statement =
12033 # 1218 "parser_cocci_menhir.mly"
12034 ( let (mids,code) = t in
12035 if List.for_all
12036 (function x ->
12037 match Ast0.unwrap x with Ast0.DOTS([]) -> true | _ -> false)
12038 code
12039 then []
12040 else
12041 [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, code, mids,
12042 P.clt2mcode ")" _3))] )
12043 # 12044 "parser_cocci_menhir.ml"
12044 in
12045 _menhir_env.MenhirLib.EngineTypes.stack <- {
12046 MenhirLib.EngineTypes.state = _menhir_s;
12047 MenhirLib.EngineTypes.semv = Obj.repr _v;
12048 MenhirLib.EngineTypes.startp = _startpos;
12049 MenhirLib.EngineTypes.endp = _endpos;
12050 MenhirLib.EngineTypes.next = _menhir_stack;
12051 });
12052 (fun _menhir_env ->
12053 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12054 let {
12055 MenhirLib.EngineTypes.state = _menhir_s;
12056 MenhirLib.EngineTypes.semv = _1;
12057 MenhirLib.EngineTypes.startp = _startpos__1_;
12058 MenhirLib.EngineTypes.endp = _endpos__1_;
12059 MenhirLib.EngineTypes.next = _menhir_stack;
12060 } = _menhir_stack in
12061 let _1 : (
12062 # 67 "parser_cocci_menhir.mly"
12063 (Parse_aux.info)
12064 # 12065 "parser_cocci_menhir.ml"
12065 ) = Obj.magic _1 in
12066 let _startpos = _startpos__1_ in
12067 let _endpos = _endpos__1_ in
12068 let _v : 'tv_decl_statement_expr =
12069 # 1231 "parser_cocci_menhir.mly"
12070 ( let (nm,pure,clt) = _1 in
12071 [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
12072 # 12073 "parser_cocci_menhir.ml"
12073 in
12074 _menhir_env.MenhirLib.EngineTypes.stack <- {
12075 MenhirLib.EngineTypes.state = _menhir_s;
12076 MenhirLib.EngineTypes.semv = Obj.repr _v;
12077 MenhirLib.EngineTypes.startp = _startpos;
12078 MenhirLib.EngineTypes.endp = _endpos;
12079 MenhirLib.EngineTypes.next = _menhir_stack;
12080 });
12081 (fun _menhir_env ->
12082 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12083 let {
12084 MenhirLib.EngineTypes.state = _menhir_s;
12085 MenhirLib.EngineTypes.semv = _1;
12086 MenhirLib.EngineTypes.startp = _startpos__1_;
12087 MenhirLib.EngineTypes.endp = _endpos__1_;
12088 MenhirLib.EngineTypes.next = _menhir_stack;
12089 } = _menhir_stack in
12090 let _1 : 'tv_decl_var = Obj.magic _1 in
12091 let _startpos = _startpos__1_ in
12092 let _endpos = _endpos__1_ in
12093 let _v : 'tv_decl_statement_expr =
12094 # 1234 "parser_cocci_menhir.mly"
12095 ( List.map
12096 (function x ->
12097 Ast0.wrap
12098 (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
12099 _1 )
12100 # 12101 "parser_cocci_menhir.ml"
12101 in
12102 _menhir_env.MenhirLib.EngineTypes.stack <- {
12103 MenhirLib.EngineTypes.state = _menhir_s;
12104 MenhirLib.EngineTypes.semv = Obj.repr _v;
12105 MenhirLib.EngineTypes.startp = _startpos;
12106 MenhirLib.EngineTypes.endp = _endpos;
12107 MenhirLib.EngineTypes.next = _menhir_stack;
12108 });
12109 (fun _menhir_env ->
12110 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12111 let {
12112 MenhirLib.EngineTypes.state = _menhir_s;
12113 MenhirLib.EngineTypes.semv = _1;
12114 MenhirLib.EngineTypes.startp = _startpos__1_;
12115 MenhirLib.EngineTypes.endp = _endpos__1_;
12116 MenhirLib.EngineTypes.next = _menhir_stack;
12117 } = _menhir_stack in
12118 let _1 : 'tv_statement = Obj.magic _1 in
12119 let _startpos = _startpos__1_ in
12120 let _endpos = _endpos__1_ in
12121 let _v : 'tv_decl_statement_expr =
12122 # 1239 "parser_cocci_menhir.mly"
12123 ( [_1] )
12124 # 12125 "parser_cocci_menhir.ml"
12125 in
12126 _menhir_env.MenhirLib.EngineTypes.stack <- {
12127 MenhirLib.EngineTypes.state = _menhir_s;
12128 MenhirLib.EngineTypes.semv = Obj.repr _v;
12129 MenhirLib.EngineTypes.startp = _startpos;
12130 MenhirLib.EngineTypes.endp = _endpos;
12131 MenhirLib.EngineTypes.next = _menhir_stack;
12132 });
12133 (fun _menhir_env ->
12134 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12135 let {
12136 MenhirLib.EngineTypes.semv = _3;
12137 MenhirLib.EngineTypes.startp = _startpos__3_;
12138 MenhirLib.EngineTypes.endp = _endpos__3_;
12139 MenhirLib.EngineTypes.next = {
12140 MenhirLib.EngineTypes.semv = t;
12141 MenhirLib.EngineTypes.startp = _startpos_t_;
12142 MenhirLib.EngineTypes.endp = _endpos_t_;
12143 MenhirLib.EngineTypes.next = {
12144 MenhirLib.EngineTypes.state = _menhir_s;
12145 MenhirLib.EngineTypes.semv = _1;
12146 MenhirLib.EngineTypes.startp = _startpos__1_;
12147 MenhirLib.EngineTypes.endp = _endpos__1_;
12148 MenhirLib.EngineTypes.next = _menhir_stack;
12149 };
12150 };
12151 } = _menhir_stack in
12152 let _3 : (
12153 # 80 "parser_cocci_menhir.mly"
12154 (Data.clt)
12155 # 12156 "parser_cocci_menhir.ml"
12156 ) = Obj.magic _3 in
12157 let t : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = Obj.magic t in
12158 let _1 : (
12159 # 79 "parser_cocci_menhir.mly"
12160 (Data.clt)
12161 # 12162 "parser_cocci_menhir.ml"
12162 ) = Obj.magic _1 in
12163 let _startpos = _startpos__1_ in
12164 let _endpos = _endpos__3_ in
12165 let _v : 'tv_decl_statement_expr =
12166 # 1248 "parser_cocci_menhir.mly"
12167 ( let (mids,code) = t in
12168 if List.for_all (function [] -> true | _ -> false) code
12169 then []
12170 else
12171 let dot_code =
12172 List.map (function x -> Ast0.wrap(Ast0.DOTS x)) code in
12173 [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, dot_code, mids,
12174 P.clt2mcode ")" _3))] )
12175 # 12176 "parser_cocci_menhir.ml"
12176 in
12177 _menhir_env.MenhirLib.EngineTypes.stack <- {
12178 MenhirLib.EngineTypes.state = _menhir_s;
12179 MenhirLib.EngineTypes.semv = Obj.repr _v;
12180 MenhirLib.EngineTypes.startp = _startpos;
12181 MenhirLib.EngineTypes.endp = _endpos;
12182 MenhirLib.EngineTypes.next = _menhir_stack;
12183 });
12184 (fun _menhir_env ->
12185 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12186 let {
12187 MenhirLib.EngineTypes.semv = pv;
12188 MenhirLib.EngineTypes.startp = _startpos_pv_;
12189 MenhirLib.EngineTypes.endp = _endpos_pv_;
12190 MenhirLib.EngineTypes.next = {
12191 MenhirLib.EngineTypes.state = _menhir_s;
12192 MenhirLib.EngineTypes.semv = t;
12193 MenhirLib.EngineTypes.startp = _startpos_t_;
12194 MenhirLib.EngineTypes.endp = _endpos_t_;
12195 MenhirLib.EngineTypes.next = _menhir_stack;
12196 };
12197 } = _menhir_stack in
12198 let pv : (
12199 # 110 "parser_cocci_menhir.mly"
12200 (Data.clt)
12201 # 12202 "parser_cocci_menhir.ml"
12202 ) = Obj.magic pv in
12203 let t : 'tv_ctype = Obj.magic t in
12204 let _startpos = _startpos_t_ in
12205 let _endpos = _endpos_pv_ in
12206 let _v : 'tv_decl_var =
12207 # 1029 "parser_cocci_menhir.mly"
12208 ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] )
12209 # 12210 "parser_cocci_menhir.ml"
12210 in
12211 _menhir_env.MenhirLib.EngineTypes.stack <- {
12212 MenhirLib.EngineTypes.state = _menhir_s;
12213 MenhirLib.EngineTypes.semv = Obj.repr _v;
12214 MenhirLib.EngineTypes.startp = _startpos;
12215 MenhirLib.EngineTypes.endp = _endpos;
12216 MenhirLib.EngineTypes.next = _menhir_stack;
12217 });
12218 (fun _menhir_env ->
12219 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12220 let {
12221 MenhirLib.EngineTypes.state = _menhir_s;
12222 MenhirLib.EngineTypes.semv = _1;
12223 MenhirLib.EngineTypes.startp = _startpos__1_;
12224 MenhirLib.EngineTypes.endp = _endpos__1_;
12225 MenhirLib.EngineTypes.next = _menhir_stack;
12226 } = _menhir_stack in
12227 let _1 : (
12228 # 68 "parser_cocci_menhir.mly"
12229 (Parse_aux.info)
12230 # 12231 "parser_cocci_menhir.ml"
12231 ) = Obj.magic _1 in
12232 let _startpos = _startpos__1_ in
12233 let _endpos = _endpos__1_ in
12234 let _v : 'tv_decl_var =
12235 # 1030 "parser_cocci_menhir.mly"
12236 ( [P.meta_decl _1] )
12237 # 12238 "parser_cocci_menhir.ml"
12238 in
12239 _menhir_env.MenhirLib.EngineTypes.stack <- {
12240 MenhirLib.EngineTypes.state = _menhir_s;
12241 MenhirLib.EngineTypes.semv = Obj.repr _v;
12242 MenhirLib.EngineTypes.startp = _startpos;
12243 MenhirLib.EngineTypes.endp = _endpos;
12244 MenhirLib.EngineTypes.next = _menhir_stack;
12245 });
12246 (fun _menhir_env ->
12247 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12248 let {
12249 MenhirLib.EngineTypes.semv = pv;
12250 MenhirLib.EngineTypes.startp = _startpos_pv_;
12251 MenhirLib.EngineTypes.endp = _endpos_pv_;
12252 MenhirLib.EngineTypes.next = {
12253 MenhirLib.EngineTypes.semv = d;
12254 MenhirLib.EngineTypes.startp = _startpos_d_;
12255 MenhirLib.EngineTypes.endp = _endpos_d_;
12256 MenhirLib.EngineTypes.next = {
12257 MenhirLib.EngineTypes.state = _menhir_s;
12258 MenhirLib.EngineTypes.semv = t;
12259 MenhirLib.EngineTypes.startp = _startpos_t_;
12260 MenhirLib.EngineTypes.endp = _endpos_t_;
12261 MenhirLib.EngineTypes.next = _menhir_stack;
12262 };
12263 };
12264 } = _menhir_stack in
12265 let pv : (
12266 # 110 "parser_cocci_menhir.mly"
12267 (Data.clt)
12268 # 12269 "parser_cocci_menhir.ml"
12269 ) = Obj.magic pv in
12270 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
12271 let t : 'tv_ctype = Obj.magic t in
12272 let _startpos = _startpos_t_ in
12273 let _endpos = _endpos_pv_ in
12274 let _v : 'tv_decl_var = let s =
12275
12276 # 39 "standard.mly"
12277 ( None )
12278 # 12279 "parser_cocci_menhir.ml"
12279
12280 in
12281
12282 # 1032 "parser_cocci_menhir.mly"
12283 ( List.map
12284 (function (id,fn) ->
12285 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
12286 d )
12287 # 12288 "parser_cocci_menhir.ml"
12288 in
12289 _menhir_env.MenhirLib.EngineTypes.stack <- {
12290 MenhirLib.EngineTypes.state = _menhir_s;
12291 MenhirLib.EngineTypes.semv = Obj.repr _v;
12292 MenhirLib.EngineTypes.startp = _startpos;
12293 MenhirLib.EngineTypes.endp = _endpos;
12294 MenhirLib.EngineTypes.next = _menhir_stack;
12295 });
12296 (fun _menhir_env ->
12297 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12298 let {
12299 MenhirLib.EngineTypes.semv = pv;
12300 MenhirLib.EngineTypes.startp = _startpos_pv_;
12301 MenhirLib.EngineTypes.endp = _endpos_pv_;
12302 MenhirLib.EngineTypes.next = {
12303 MenhirLib.EngineTypes.semv = d;
12304 MenhirLib.EngineTypes.startp = _startpos_d_;
12305 MenhirLib.EngineTypes.endp = _endpos_d_;
12306 MenhirLib.EngineTypes.next = {
12307 MenhirLib.EngineTypes.semv = t;
12308 MenhirLib.EngineTypes.startp = _startpos_t_;
12309 MenhirLib.EngineTypes.endp = _endpos_t_;
12310 MenhirLib.EngineTypes.next = {
12311 MenhirLib.EngineTypes.state = _menhir_s;
12312 MenhirLib.EngineTypes.semv = x0;
12313 MenhirLib.EngineTypes.startp = _startpos_x0_;
12314 MenhirLib.EngineTypes.endp = _endpos_x0_;
12315 MenhirLib.EngineTypes.next = _menhir_stack;
12316 };
12317 };
12318 };
12319 } = _menhir_stack in
12320 let pv : (
12321 # 110 "parser_cocci_menhir.mly"
12322 (Data.clt)
12323 # 12324 "parser_cocci_menhir.ml"
12324 ) = Obj.magic pv in
12325 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
12326 let t : 'tv_ctype = Obj.magic t in
12327 let x0 : 'tv_storage = Obj.magic x0 in
12328 let _startpos = _startpos_x0_ in
12329 let _endpos = _endpos_pv_ in
12330 let _v : 'tv_decl_var = let s =
12331 let x = x0 in
12332
12333 # 41 "standard.mly"
12334 ( Some x )
12335 # 12336 "parser_cocci_menhir.ml"
12336
12337 in
12338
12339 # 1032 "parser_cocci_menhir.mly"
12340 ( List.map
12341 (function (id,fn) ->
12342 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
12343 d )
12344 # 12345 "parser_cocci_menhir.ml"
12345 in
12346 _menhir_env.MenhirLib.EngineTypes.stack <- {
12347 MenhirLib.EngineTypes.state = _menhir_s;
12348 MenhirLib.EngineTypes.semv = Obj.repr _v;
12349 MenhirLib.EngineTypes.startp = _startpos;
12350 MenhirLib.EngineTypes.endp = _endpos;
12351 MenhirLib.EngineTypes.next = _menhir_stack;
12352 });
12353 (fun _menhir_env ->
12354 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12355 let {
12356 MenhirLib.EngineTypes.state = _menhir_s;
12357 MenhirLib.EngineTypes.semv = f;
12358 MenhirLib.EngineTypes.startp = _startpos_f_;
12359 MenhirLib.EngineTypes.endp = _endpos_f_;
12360 MenhirLib.EngineTypes.next = _menhir_stack;
12361 } = _menhir_stack in
12362 let f : 'tv_funproto = Obj.magic f in
12363 let _startpos = _startpos_f_ in
12364 let _endpos = _endpos_f_ in
12365 let _v : 'tv_decl_var =
12366 # 1036 "parser_cocci_menhir.mly"
12367 ( [f] )
12368 # 12369 "parser_cocci_menhir.ml"
12369 in
12370 _menhir_env.MenhirLib.EngineTypes.stack <- {
12371 MenhirLib.EngineTypes.state = _menhir_s;
12372 MenhirLib.EngineTypes.semv = Obj.repr _v;
12373 MenhirLib.EngineTypes.startp = _startpos;
12374 MenhirLib.EngineTypes.endp = _endpos;
12375 MenhirLib.EngineTypes.next = _menhir_stack;
12376 });
12377 (fun _menhir_env ->
12378 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12379 let {
12380 MenhirLib.EngineTypes.semv = pv;
12381 MenhirLib.EngineTypes.startp = _startpos_pv_;
12382 MenhirLib.EngineTypes.endp = _endpos_pv_;
12383 MenhirLib.EngineTypes.next = {
12384 MenhirLib.EngineTypes.semv = e;
12385 MenhirLib.EngineTypes.startp = _startpos_e_;
12386 MenhirLib.EngineTypes.endp = _endpos_e_;
12387 MenhirLib.EngineTypes.next = {
12388 MenhirLib.EngineTypes.semv = q;
12389 MenhirLib.EngineTypes.startp = _startpos_q_;
12390 MenhirLib.EngineTypes.endp = _endpos_q_;
12391 MenhirLib.EngineTypes.next = {
12392 MenhirLib.EngineTypes.semv = d;
12393 MenhirLib.EngineTypes.startp = _startpos_d_;
12394 MenhirLib.EngineTypes.endp = _endpos_d_;
12395 MenhirLib.EngineTypes.next = {
12396 MenhirLib.EngineTypes.state = _menhir_s;
12397 MenhirLib.EngineTypes.semv = t;
12398 MenhirLib.EngineTypes.startp = _startpos_t_;
12399 MenhirLib.EngineTypes.endp = _endpos_t_;
12400 MenhirLib.EngineTypes.next = _menhir_stack;
12401 };
12402 };
12403 };
12404 };
12405 } = _menhir_stack in
12406 let pv : (
12407 # 110 "parser_cocci_menhir.mly"
12408 (Data.clt)
12409 # 12410 "parser_cocci_menhir.ml"
12410 ) = Obj.magic pv in
12411 let e : 'tv_initialize = Obj.magic e in
12412 let q : (
12413 # 110 "parser_cocci_menhir.mly"
12414 (Data.clt)
12415 # 12416 "parser_cocci_menhir.ml"
12416 ) = Obj.magic q in
12417 let d : 'tv_d_ident = Obj.magic d in
12418 let t : 'tv_ctype = Obj.magic t in
12419 let _startpos = _startpos_t_ in
12420 let _endpos = _endpos_pv_ in
12421 let _v : 'tv_decl_var = let s =
12422
12423 # 39 "standard.mly"
12424 ( None )
12425 # 12426 "parser_cocci_menhir.ml"
12426
12427 in
12428
12429 # 1038 "parser_cocci_menhir.mly"
12430 (let (id,fn) = d in
12431 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
12432 # 12433 "parser_cocci_menhir.ml"
12433 in
12434 _menhir_env.MenhirLib.EngineTypes.stack <- {
12435 MenhirLib.EngineTypes.state = _menhir_s;
12436 MenhirLib.EngineTypes.semv = Obj.repr _v;
12437 MenhirLib.EngineTypes.startp = _startpos;
12438 MenhirLib.EngineTypes.endp = _endpos;
12439 MenhirLib.EngineTypes.next = _menhir_stack;
12440 });
12441 (fun _menhir_env ->
12442 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12443 let {
12444 MenhirLib.EngineTypes.semv = pv;
12445 MenhirLib.EngineTypes.startp = _startpos_pv_;
12446 MenhirLib.EngineTypes.endp = _endpos_pv_;
12447 MenhirLib.EngineTypes.next = {
12448 MenhirLib.EngineTypes.semv = e;
12449 MenhirLib.EngineTypes.startp = _startpos_e_;
12450 MenhirLib.EngineTypes.endp = _endpos_e_;
12451 MenhirLib.EngineTypes.next = {
12452 MenhirLib.EngineTypes.semv = q;
12453 MenhirLib.EngineTypes.startp = _startpos_q_;
12454 MenhirLib.EngineTypes.endp = _endpos_q_;
12455 MenhirLib.EngineTypes.next = {
12456 MenhirLib.EngineTypes.semv = d;
12457 MenhirLib.EngineTypes.startp = _startpos_d_;
12458 MenhirLib.EngineTypes.endp = _endpos_d_;
12459 MenhirLib.EngineTypes.next = {
12460 MenhirLib.EngineTypes.semv = t;
12461 MenhirLib.EngineTypes.startp = _startpos_t_;
12462 MenhirLib.EngineTypes.endp = _endpos_t_;
12463 MenhirLib.EngineTypes.next = {
12464 MenhirLib.EngineTypes.state = _menhir_s;
12465 MenhirLib.EngineTypes.semv = x0;
12466 MenhirLib.EngineTypes.startp = _startpos_x0_;
12467 MenhirLib.EngineTypes.endp = _endpos_x0_;
12468 MenhirLib.EngineTypes.next = _menhir_stack;
12469 };
12470 };
12471 };
12472 };
12473 };
12474 } = _menhir_stack in
12475 let pv : (
12476 # 110 "parser_cocci_menhir.mly"
12477 (Data.clt)
12478 # 12479 "parser_cocci_menhir.ml"
12479 ) = Obj.magic pv in
12480 let e : 'tv_initialize = Obj.magic e in
12481 let q : (
12482 # 110 "parser_cocci_menhir.mly"
12483 (Data.clt)
12484 # 12485 "parser_cocci_menhir.ml"
12485 ) = Obj.magic q in
12486 let d : 'tv_d_ident = Obj.magic d in
12487 let t : 'tv_ctype = Obj.magic t in
12488 let x0 : 'tv_storage = Obj.magic x0 in
12489 let _startpos = _startpos_x0_ in
12490 let _endpos = _endpos_pv_ in
12491 let _v : 'tv_decl_var = let s =
12492 let x = x0 in
12493
12494 # 41 "standard.mly"
12495 ( Some x )
12496 # 12497 "parser_cocci_menhir.ml"
12497
12498 in
12499
12500 # 1038 "parser_cocci_menhir.mly"
12501 (let (id,fn) = d in
12502 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
12503 # 12504 "parser_cocci_menhir.ml"
12504 in
12505 _menhir_env.MenhirLib.EngineTypes.stack <- {
12506 MenhirLib.EngineTypes.state = _menhir_s;
12507 MenhirLib.EngineTypes.semv = Obj.repr _v;
12508 MenhirLib.EngineTypes.startp = _startpos;
12509 MenhirLib.EngineTypes.endp = _endpos;
12510 MenhirLib.EngineTypes.next = _menhir_stack;
12511 });
12512 (fun _menhir_env ->
12513 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12514 let {
12515 MenhirLib.EngineTypes.semv = pv;
12516 MenhirLib.EngineTypes.startp = _startpos_pv_;
12517 MenhirLib.EngineTypes.endp = _endpos_pv_;
12518 MenhirLib.EngineTypes.next = {
12519 MenhirLib.EngineTypes.semv = d;
12520 MenhirLib.EngineTypes.startp = _startpos_d_;
12521 MenhirLib.EngineTypes.endp = _endpos_d_;
12522 MenhirLib.EngineTypes.next = {
12523 MenhirLib.EngineTypes.state = _menhir_s;
12524 MenhirLib.EngineTypes.semv = i;
12525 MenhirLib.EngineTypes.startp = _startpos_i_;
12526 MenhirLib.EngineTypes.endp = _endpos_i_;
12527 MenhirLib.EngineTypes.next = _menhir_stack;
12528 };
12529 };
12530 } = _menhir_stack in
12531 let pv : (
12532 # 110 "parser_cocci_menhir.mly"
12533 (Data.clt)
12534 # 12535 "parser_cocci_menhir.ml"
12535 ) = Obj.magic pv in
12536 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
12537 let i : 'tv_pure_ident = Obj.magic i in
12538 let _startpos = _startpos_i_ in
12539 let _endpos = _endpos_pv_ in
12540 let _v : 'tv_decl_var = let cv =
12541
12542 # 39 "standard.mly"
12543 ( None )
12544 # 12545 "parser_cocci_menhir.ml"
12545
12546 in
12547 let s =
12548
12549 # 39 "standard.mly"
12550 ( None )
12551 # 12552 "parser_cocci_menhir.ml"
12552
12553 in
12554
12555 # 1043 "parser_cocci_menhir.mly"
12556 ( List.map
12557 (function (id,fn) ->
12558 let idtype =
12559 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
12560 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
12561 d )
12562 # 12563 "parser_cocci_menhir.ml"
12563 in
12564 _menhir_env.MenhirLib.EngineTypes.stack <- {
12565 MenhirLib.EngineTypes.state = _menhir_s;
12566 MenhirLib.EngineTypes.semv = Obj.repr _v;
12567 MenhirLib.EngineTypes.startp = _startpos;
12568 MenhirLib.EngineTypes.endp = _endpos;
12569 MenhirLib.EngineTypes.next = _menhir_stack;
12570 });
12571 (fun _menhir_env ->
12572 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12573 let {
12574 MenhirLib.EngineTypes.semv = pv;
12575 MenhirLib.EngineTypes.startp = _startpos_pv_;
12576 MenhirLib.EngineTypes.endp = _endpos_pv_;
12577 MenhirLib.EngineTypes.next = {
12578 MenhirLib.EngineTypes.semv = d;
12579 MenhirLib.EngineTypes.startp = _startpos_d_;
12580 MenhirLib.EngineTypes.endp = _endpos_d_;
12581 MenhirLib.EngineTypes.next = {
12582 MenhirLib.EngineTypes.semv = i;
12583 MenhirLib.EngineTypes.startp = _startpos_i_;
12584 MenhirLib.EngineTypes.endp = _endpos_i_;
12585 MenhirLib.EngineTypes.next = {
12586 MenhirLib.EngineTypes.state = _menhir_s;
12587 MenhirLib.EngineTypes.semv = x0;
12588 MenhirLib.EngineTypes.startp = _startpos_x0_;
12589 MenhirLib.EngineTypes.endp = _endpos_x0_;
12590 MenhirLib.EngineTypes.next = _menhir_stack;
12591 };
12592 };
12593 };
12594 } = _menhir_stack in
12595 let pv : (
12596 # 110 "parser_cocci_menhir.mly"
12597 (Data.clt)
12598 # 12599 "parser_cocci_menhir.ml"
12599 ) = Obj.magic pv in
12600 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
12601 let i : 'tv_pure_ident = Obj.magic i in
12602 let x0 : 'tv_const_vol = Obj.magic x0 in
12603 let _startpos = _startpos_x0_ in
12604 let _endpos = _endpos_pv_ in
12605 let _v : 'tv_decl_var = let cv =
12606 let x = x0 in
12607
12608 # 41 "standard.mly"
12609 ( Some x )
12610 # 12611 "parser_cocci_menhir.ml"
12611
12612 in
12613 let s =
12614
12615 # 39 "standard.mly"
12616 ( None )
12617 # 12618 "parser_cocci_menhir.ml"
12618
12619 in
12620
12621 # 1043 "parser_cocci_menhir.mly"
12622 ( List.map
12623 (function (id,fn) ->
12624 let idtype =
12625 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
12626 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
12627 d )
12628 # 12629 "parser_cocci_menhir.ml"
12629 in
12630 _menhir_env.MenhirLib.EngineTypes.stack <- {
12631 MenhirLib.EngineTypes.state = _menhir_s;
12632 MenhirLib.EngineTypes.semv = Obj.repr _v;
12633 MenhirLib.EngineTypes.startp = _startpos;
12634 MenhirLib.EngineTypes.endp = _endpos;
12635 MenhirLib.EngineTypes.next = _menhir_stack;
12636 });
12637 (fun _menhir_env ->
12638 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12639 let {
12640 MenhirLib.EngineTypes.semv = pv;
12641 MenhirLib.EngineTypes.startp = _startpos_pv_;
12642 MenhirLib.EngineTypes.endp = _endpos_pv_;
12643 MenhirLib.EngineTypes.next = {
12644 MenhirLib.EngineTypes.semv = d;
12645 MenhirLib.EngineTypes.startp = _startpos_d_;
12646 MenhirLib.EngineTypes.endp = _endpos_d_;
12647 MenhirLib.EngineTypes.next = {
12648 MenhirLib.EngineTypes.semv = i;
12649 MenhirLib.EngineTypes.startp = _startpos_i_;
12650 MenhirLib.EngineTypes.endp = _endpos_i_;
12651 MenhirLib.EngineTypes.next = {
12652 MenhirLib.EngineTypes.state = _menhir_s;
12653 MenhirLib.EngineTypes.semv = x0;
12654 MenhirLib.EngineTypes.startp = _startpos_x0_;
12655 MenhirLib.EngineTypes.endp = _endpos_x0_;
12656 MenhirLib.EngineTypes.next = _menhir_stack;
12657 };
12658 };
12659 };
12660 } = _menhir_stack in
12661 let pv : (
12662 # 110 "parser_cocci_menhir.mly"
12663 (Data.clt)
12664 # 12665 "parser_cocci_menhir.ml"
12665 ) = Obj.magic pv in
12666 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
12667 let i : 'tv_pure_ident = Obj.magic i in
12668 let x0 : 'tv_storage = Obj.magic x0 in
12669 let _startpos = _startpos_x0_ in
12670 let _endpos = _endpos_pv_ in
12671 let _v : 'tv_decl_var = let cv =
12672
12673 # 39 "standard.mly"
12674 ( None )
12675 # 12676 "parser_cocci_menhir.ml"
12676
12677 in
12678 let s =
12679 let x = x0 in
12680
12681 # 41 "standard.mly"
12682 ( Some x )
12683 # 12684 "parser_cocci_menhir.ml"
12684
12685 in
12686
12687 # 1043 "parser_cocci_menhir.mly"
12688 ( List.map
12689 (function (id,fn) ->
12690 let idtype =
12691 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
12692 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
12693 d )
12694 # 12695 "parser_cocci_menhir.ml"
12695 in
12696 _menhir_env.MenhirLib.EngineTypes.stack <- {
12697 MenhirLib.EngineTypes.state = _menhir_s;
12698 MenhirLib.EngineTypes.semv = Obj.repr _v;
12699 MenhirLib.EngineTypes.startp = _startpos;
12700 MenhirLib.EngineTypes.endp = _endpos;
12701 MenhirLib.EngineTypes.next = _menhir_stack;
12702 });
12703 (fun _menhir_env ->
12704 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12705 let {
12706 MenhirLib.EngineTypes.semv = pv;
12707 MenhirLib.EngineTypes.startp = _startpos_pv_;
12708 MenhirLib.EngineTypes.endp = _endpos_pv_;
12709 MenhirLib.EngineTypes.next = {
12710 MenhirLib.EngineTypes.semv = d;
12711 MenhirLib.EngineTypes.startp = _startpos_d_;
12712 MenhirLib.EngineTypes.endp = _endpos_d_;
12713 MenhirLib.EngineTypes.next = {
12714 MenhirLib.EngineTypes.semv = i;
12715 MenhirLib.EngineTypes.startp = _startpos_i_;
12716 MenhirLib.EngineTypes.endp = _endpos_i_;
12717 MenhirLib.EngineTypes.next = {
12718 MenhirLib.EngineTypes.semv = x1;
12719 MenhirLib.EngineTypes.startp = _startpos_x1_;
12720 MenhirLib.EngineTypes.endp = _endpos_x1_;
12721 MenhirLib.EngineTypes.next = {
12722 MenhirLib.EngineTypes.state = _menhir_s;
12723 MenhirLib.EngineTypes.semv = x0;
12724 MenhirLib.EngineTypes.startp = _startpos_x0_;
12725 MenhirLib.EngineTypes.endp = _endpos_x0_;
12726 MenhirLib.EngineTypes.next = _menhir_stack;
12727 };
12728 };
12729 };
12730 };
12731 } = _menhir_stack in
12732 let pv : (
12733 # 110 "parser_cocci_menhir.mly"
12734 (Data.clt)
12735 # 12736 "parser_cocci_menhir.ml"
12736 ) = Obj.magic pv in
12737 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
12738 let i : 'tv_pure_ident = Obj.magic i in
12739 let x1 : 'tv_const_vol = Obj.magic x1 in
12740 let x0 : 'tv_storage = Obj.magic x0 in
12741 let _startpos = _startpos_x0_ in
12742 let _endpos = _endpos_pv_ in
12743 let _v : 'tv_decl_var = let cv =
12744 let x = x1 in
12745
12746 # 41 "standard.mly"
12747 ( Some x )
12748 # 12749 "parser_cocci_menhir.ml"
12749
12750 in
12751 let s =
12752 let x = x0 in
12753
12754 # 41 "standard.mly"
12755 ( Some x )
12756 # 12757 "parser_cocci_menhir.ml"
12757
12758 in
12759
12760 # 1043 "parser_cocci_menhir.mly"
12761 ( List.map
12762 (function (id,fn) ->
12763 let idtype =
12764 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
12765 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
12766 d )
12767 # 12768 "parser_cocci_menhir.ml"
12768 in
12769 _menhir_env.MenhirLib.EngineTypes.stack <- {
12770 MenhirLib.EngineTypes.state = _menhir_s;
12771 MenhirLib.EngineTypes.semv = Obj.repr _v;
12772 MenhirLib.EngineTypes.startp = _startpos;
12773 MenhirLib.EngineTypes.endp = _endpos;
12774 MenhirLib.EngineTypes.next = _menhir_stack;
12775 });
12776 (fun _menhir_env ->
12777 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12778 let {
12779 MenhirLib.EngineTypes.semv = pv;
12780 MenhirLib.EngineTypes.startp = _startpos_pv_;
12781 MenhirLib.EngineTypes.endp = _endpos_pv_;
12782 MenhirLib.EngineTypes.next = {
12783 MenhirLib.EngineTypes.semv = e;
12784 MenhirLib.EngineTypes.startp = _startpos_e_;
12785 MenhirLib.EngineTypes.endp = _endpos_e_;
12786 MenhirLib.EngineTypes.next = {
12787 MenhirLib.EngineTypes.semv = q;
12788 MenhirLib.EngineTypes.startp = _startpos_q_;
12789 MenhirLib.EngineTypes.endp = _endpos_q_;
12790 MenhirLib.EngineTypes.next = {
12791 MenhirLib.EngineTypes.semv = d;
12792 MenhirLib.EngineTypes.startp = _startpos_d_;
12793 MenhirLib.EngineTypes.endp = _endpos_d_;
12794 MenhirLib.EngineTypes.next = {
12795 MenhirLib.EngineTypes.state = _menhir_s;
12796 MenhirLib.EngineTypes.semv = i;
12797 MenhirLib.EngineTypes.startp = _startpos_i_;
12798 MenhirLib.EngineTypes.endp = _endpos_i_;
12799 MenhirLib.EngineTypes.next = _menhir_stack;
12800 };
12801 };
12802 };
12803 };
12804 } = _menhir_stack in
12805 let pv : (
12806 # 110 "parser_cocci_menhir.mly"
12807 (Data.clt)
12808 # 12809 "parser_cocci_menhir.ml"
12809 ) = Obj.magic pv in
12810 let e : 'tv_initialize = Obj.magic e in
12811 let q : (
12812 # 110 "parser_cocci_menhir.mly"
12813 (Data.clt)
12814 # 12815 "parser_cocci_menhir.ml"
12815 ) = Obj.magic q in
12816 let d : 'tv_d_ident = Obj.magic d in
12817 let i : 'tv_pure_ident = Obj.magic i in
12818 let _startpos = _startpos_i_ in
12819 let _endpos = _endpos_pv_ in
12820 let _v : 'tv_decl_var = let cv =
12821
12822 # 39 "standard.mly"
12823 ( None )
12824 # 12825 "parser_cocci_menhir.ml"
12825
12826 in
12827 let s =
12828
12829 # 39 "standard.mly"
12830 ( None )
12831 # 12832 "parser_cocci_menhir.ml"
12832
12833 in
12834
12835 # 1051 "parser_cocci_menhir.mly"
12836 ( let (id,fn) = d in
12837 !Data.add_type_name (P.id2name i);
12838 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
12839 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
12840 P.clt2mcode ";" pv))] )
12841 # 12842 "parser_cocci_menhir.ml"
12842 in
12843 _menhir_env.MenhirLib.EngineTypes.stack <- {
12844 MenhirLib.EngineTypes.state = _menhir_s;
12845 MenhirLib.EngineTypes.semv = Obj.repr _v;
12846 MenhirLib.EngineTypes.startp = _startpos;
12847 MenhirLib.EngineTypes.endp = _endpos;
12848 MenhirLib.EngineTypes.next = _menhir_stack;
12849 });
12850 (fun _menhir_env ->
12851 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12852 let {
12853 MenhirLib.EngineTypes.semv = pv;
12854 MenhirLib.EngineTypes.startp = _startpos_pv_;
12855 MenhirLib.EngineTypes.endp = _endpos_pv_;
12856 MenhirLib.EngineTypes.next = {
12857 MenhirLib.EngineTypes.semv = e;
12858 MenhirLib.EngineTypes.startp = _startpos_e_;
12859 MenhirLib.EngineTypes.endp = _endpos_e_;
12860 MenhirLib.EngineTypes.next = {
12861 MenhirLib.EngineTypes.semv = q;
12862 MenhirLib.EngineTypes.startp = _startpos_q_;
12863 MenhirLib.EngineTypes.endp = _endpos_q_;
12864 MenhirLib.EngineTypes.next = {
12865 MenhirLib.EngineTypes.semv = d;
12866 MenhirLib.EngineTypes.startp = _startpos_d_;
12867 MenhirLib.EngineTypes.endp = _endpos_d_;
12868 MenhirLib.EngineTypes.next = {
12869 MenhirLib.EngineTypes.semv = i;
12870 MenhirLib.EngineTypes.startp = _startpos_i_;
12871 MenhirLib.EngineTypes.endp = _endpos_i_;
12872 MenhirLib.EngineTypes.next = {
12873 MenhirLib.EngineTypes.state = _menhir_s;
12874 MenhirLib.EngineTypes.semv = x0;
12875 MenhirLib.EngineTypes.startp = _startpos_x0_;
12876 MenhirLib.EngineTypes.endp = _endpos_x0_;
12877 MenhirLib.EngineTypes.next = _menhir_stack;
12878 };
12879 };
12880 };
12881 };
12882 };
12883 } = _menhir_stack in
12884 let pv : (
12885 # 110 "parser_cocci_menhir.mly"
12886 (Data.clt)
12887 # 12888 "parser_cocci_menhir.ml"
12888 ) = Obj.magic pv in
12889 let e : 'tv_initialize = Obj.magic e in
12890 let q : (
12891 # 110 "parser_cocci_menhir.mly"
12892 (Data.clt)
12893 # 12894 "parser_cocci_menhir.ml"
12894 ) = Obj.magic q in
12895 let d : 'tv_d_ident = Obj.magic d in
12896 let i : 'tv_pure_ident = Obj.magic i in
12897 let x0 : 'tv_const_vol = Obj.magic x0 in
12898 let _startpos = _startpos_x0_ in
12899 let _endpos = _endpos_pv_ in
12900 let _v : 'tv_decl_var = let cv =
12901 let x = x0 in
12902
12903 # 41 "standard.mly"
12904 ( Some x )
12905 # 12906 "parser_cocci_menhir.ml"
12906
12907 in
12908 let s =
12909
12910 # 39 "standard.mly"
12911 ( None )
12912 # 12913 "parser_cocci_menhir.ml"
12913
12914 in
12915
12916 # 1051 "parser_cocci_menhir.mly"
12917 ( let (id,fn) = d in
12918 !Data.add_type_name (P.id2name i);
12919 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
12920 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
12921 P.clt2mcode ";" pv))] )
12922 # 12923 "parser_cocci_menhir.ml"
12923 in
12924 _menhir_env.MenhirLib.EngineTypes.stack <- {
12925 MenhirLib.EngineTypes.state = _menhir_s;
12926 MenhirLib.EngineTypes.semv = Obj.repr _v;
12927 MenhirLib.EngineTypes.startp = _startpos;
12928 MenhirLib.EngineTypes.endp = _endpos;
12929 MenhirLib.EngineTypes.next = _menhir_stack;
12930 });
12931 (fun _menhir_env ->
12932 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12933 let {
12934 MenhirLib.EngineTypes.semv = pv;
12935 MenhirLib.EngineTypes.startp = _startpos_pv_;
12936 MenhirLib.EngineTypes.endp = _endpos_pv_;
12937 MenhirLib.EngineTypes.next = {
12938 MenhirLib.EngineTypes.semv = e;
12939 MenhirLib.EngineTypes.startp = _startpos_e_;
12940 MenhirLib.EngineTypes.endp = _endpos_e_;
12941 MenhirLib.EngineTypes.next = {
12942 MenhirLib.EngineTypes.semv = q;
12943 MenhirLib.EngineTypes.startp = _startpos_q_;
12944 MenhirLib.EngineTypes.endp = _endpos_q_;
12945 MenhirLib.EngineTypes.next = {
12946 MenhirLib.EngineTypes.semv = d;
12947 MenhirLib.EngineTypes.startp = _startpos_d_;
12948 MenhirLib.EngineTypes.endp = _endpos_d_;
12949 MenhirLib.EngineTypes.next = {
12950 MenhirLib.EngineTypes.semv = i;
12951 MenhirLib.EngineTypes.startp = _startpos_i_;
12952 MenhirLib.EngineTypes.endp = _endpos_i_;
12953 MenhirLib.EngineTypes.next = {
12954 MenhirLib.EngineTypes.state = _menhir_s;
12955 MenhirLib.EngineTypes.semv = x0;
12956 MenhirLib.EngineTypes.startp = _startpos_x0_;
12957 MenhirLib.EngineTypes.endp = _endpos_x0_;
12958 MenhirLib.EngineTypes.next = _menhir_stack;
12959 };
12960 };
12961 };
12962 };
12963 };
12964 } = _menhir_stack in
12965 let pv : (
12966 # 110 "parser_cocci_menhir.mly"
12967 (Data.clt)
12968 # 12969 "parser_cocci_menhir.ml"
12969 ) = Obj.magic pv in
12970 let e : 'tv_initialize = Obj.magic e in
12971 let q : (
12972 # 110 "parser_cocci_menhir.mly"
12973 (Data.clt)
12974 # 12975 "parser_cocci_menhir.ml"
12975 ) = Obj.magic q in
12976 let d : 'tv_d_ident = Obj.magic d in
12977 let i : 'tv_pure_ident = Obj.magic i in
12978 let x0 : 'tv_storage = Obj.magic x0 in
12979 let _startpos = _startpos_x0_ in
12980 let _endpos = _endpos_pv_ in
12981 let _v : 'tv_decl_var = let cv =
12982
12983 # 39 "standard.mly"
12984 ( None )
12985 # 12986 "parser_cocci_menhir.ml"
12986
12987 in
12988 let s =
12989 let x = x0 in
12990
12991 # 41 "standard.mly"
12992 ( Some x )
12993 # 12994 "parser_cocci_menhir.ml"
12994
12995 in
12996
12997 # 1051 "parser_cocci_menhir.mly"
12998 ( let (id,fn) = d in
12999 !Data.add_type_name (P.id2name i);
13000 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
13001 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
13002 P.clt2mcode ";" pv))] )
13003 # 13004 "parser_cocci_menhir.ml"
13004 in
13005 _menhir_env.MenhirLib.EngineTypes.stack <- {
13006 MenhirLib.EngineTypes.state = _menhir_s;
13007 MenhirLib.EngineTypes.semv = Obj.repr _v;
13008 MenhirLib.EngineTypes.startp = _startpos;
13009 MenhirLib.EngineTypes.endp = _endpos;
13010 MenhirLib.EngineTypes.next = _menhir_stack;
13011 });
13012 (fun _menhir_env ->
13013 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13014 let {
13015 MenhirLib.EngineTypes.semv = pv;
13016 MenhirLib.EngineTypes.startp = _startpos_pv_;
13017 MenhirLib.EngineTypes.endp = _endpos_pv_;
13018 MenhirLib.EngineTypes.next = {
13019 MenhirLib.EngineTypes.semv = e;
13020 MenhirLib.EngineTypes.startp = _startpos_e_;
13021 MenhirLib.EngineTypes.endp = _endpos_e_;
13022 MenhirLib.EngineTypes.next = {
13023 MenhirLib.EngineTypes.semv = q;
13024 MenhirLib.EngineTypes.startp = _startpos_q_;
13025 MenhirLib.EngineTypes.endp = _endpos_q_;
13026 MenhirLib.EngineTypes.next = {
13027 MenhirLib.EngineTypes.semv = d;
13028 MenhirLib.EngineTypes.startp = _startpos_d_;
13029 MenhirLib.EngineTypes.endp = _endpos_d_;
13030 MenhirLib.EngineTypes.next = {
13031 MenhirLib.EngineTypes.semv = i;
13032 MenhirLib.EngineTypes.startp = _startpos_i_;
13033 MenhirLib.EngineTypes.endp = _endpos_i_;
13034 MenhirLib.EngineTypes.next = {
13035 MenhirLib.EngineTypes.semv = x1;
13036 MenhirLib.EngineTypes.startp = _startpos_x1_;
13037 MenhirLib.EngineTypes.endp = _endpos_x1_;
13038 MenhirLib.EngineTypes.next = {
13039 MenhirLib.EngineTypes.state = _menhir_s;
13040 MenhirLib.EngineTypes.semv = x0;
13041 MenhirLib.EngineTypes.startp = _startpos_x0_;
13042 MenhirLib.EngineTypes.endp = _endpos_x0_;
13043 MenhirLib.EngineTypes.next = _menhir_stack;
13044 };
13045 };
13046 };
13047 };
13048 };
13049 };
13050 } = _menhir_stack in
13051 let pv : (
13052 # 110 "parser_cocci_menhir.mly"
13053 (Data.clt)
13054 # 13055 "parser_cocci_menhir.ml"
13055 ) = Obj.magic pv in
13056 let e : 'tv_initialize = Obj.magic e in
13057 let q : (
13058 # 110 "parser_cocci_menhir.mly"
13059 (Data.clt)
13060 # 13061 "parser_cocci_menhir.ml"
13061 ) = Obj.magic q in
13062 let d : 'tv_d_ident = Obj.magic d in
13063 let i : 'tv_pure_ident = Obj.magic i in
13064 let x1 : 'tv_const_vol = Obj.magic x1 in
13065 let x0 : 'tv_storage = Obj.magic x0 in
13066 let _startpos = _startpos_x0_ in
13067 let _endpos = _endpos_pv_ in
13068 let _v : 'tv_decl_var = let cv =
13069 let x = x1 in
13070
13071 # 41 "standard.mly"
13072 ( Some x )
13073 # 13074 "parser_cocci_menhir.ml"
13074
13075 in
13076 let s =
13077 let x = x0 in
13078
13079 # 41 "standard.mly"
13080 ( Some x )
13081 # 13082 "parser_cocci_menhir.ml"
13082
13083 in
13084
13085 # 1051 "parser_cocci_menhir.mly"
13086 ( let (id,fn) = d in
13087 !Data.add_type_name (P.id2name i);
13088 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
13089 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
13090 P.clt2mcode ";" pv))] )
13091 # 13092 "parser_cocci_menhir.ml"
13092 in
13093 _menhir_env.MenhirLib.EngineTypes.stack <- {
13094 MenhirLib.EngineTypes.state = _menhir_s;
13095 MenhirLib.EngineTypes.semv = Obj.repr _v;
13096 MenhirLib.EngineTypes.startp = _startpos;
13097 MenhirLib.EngineTypes.endp = _endpos;
13098 MenhirLib.EngineTypes.next = _menhir_stack;
13099 });
13100 (fun _menhir_env ->
13101 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13102 let {
13103 MenhirLib.EngineTypes.semv = pv;
13104 MenhirLib.EngineTypes.startp = _startpos_pv_;
13105 MenhirLib.EngineTypes.endp = _endpos_pv_;
13106 MenhirLib.EngineTypes.next = {
13107 MenhirLib.EngineTypes.semv = rp2;
13108 MenhirLib.EngineTypes.startp = _startpos_rp2_;
13109 MenhirLib.EngineTypes.endp = _endpos_rp2_;
13110 MenhirLib.EngineTypes.next = {
13111 MenhirLib.EngineTypes.semv = p;
13112 MenhirLib.EngineTypes.startp = _startpos_p_;
13113 MenhirLib.EngineTypes.endp = _endpos_p_;
13114 MenhirLib.EngineTypes.next = {
13115 MenhirLib.EngineTypes.semv = lp2;
13116 MenhirLib.EngineTypes.startp = _startpos_lp2_;
13117 MenhirLib.EngineTypes.endp = _endpos_lp2_;
13118 MenhirLib.EngineTypes.next = {
13119 MenhirLib.EngineTypes.semv = rp1;
13120 MenhirLib.EngineTypes.startp = _startpos_rp1_;
13121 MenhirLib.EngineTypes.endp = _endpos_rp1_;
13122 MenhirLib.EngineTypes.next = {
13123 MenhirLib.EngineTypes.semv = d;
13124 MenhirLib.EngineTypes.startp = _startpos_d_;
13125 MenhirLib.EngineTypes.endp = _endpos_d_;
13126 MenhirLib.EngineTypes.next = {
13127 MenhirLib.EngineTypes.semv = st;
13128 MenhirLib.EngineTypes.startp = _startpos_st_;
13129 MenhirLib.EngineTypes.endp = _endpos_st_;
13130 MenhirLib.EngineTypes.next = {
13131 MenhirLib.EngineTypes.semv = lp1;
13132 MenhirLib.EngineTypes.startp = _startpos_lp1_;
13133 MenhirLib.EngineTypes.endp = _endpos_lp1_;
13134 MenhirLib.EngineTypes.next = {
13135 MenhirLib.EngineTypes.state = _menhir_s;
13136 MenhirLib.EngineTypes.semv = t;
13137 MenhirLib.EngineTypes.startp = _startpos_t_;
13138 MenhirLib.EngineTypes.endp = _endpos_t_;
13139 MenhirLib.EngineTypes.next = _menhir_stack;
13140 };
13141 };
13142 };
13143 };
13144 };
13145 };
13146 };
13147 };
13148 } = _menhir_stack in
13149 let pv : (
13150 # 110 "parser_cocci_menhir.mly"
13151 (Data.clt)
13152 # 13153 "parser_cocci_menhir.ml"
13153 ) = Obj.magic pv in
13154 let rp2 : (
13155 # 80 "parser_cocci_menhir.mly"
13156 (Data.clt)
13157 # 13158 "parser_cocci_menhir.ml"
13158 ) = Obj.magic rp2 in
13159 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
13160 let lp2 : (
13161 # 79 "parser_cocci_menhir.mly"
13162 (Data.clt)
13163 # 13164 "parser_cocci_menhir.ml"
13164 ) = Obj.magic lp2 in
13165 let rp1 : (
13166 # 80 "parser_cocci_menhir.mly"
13167 (Data.clt)
13168 # 13169 "parser_cocci_menhir.ml"
13169 ) = Obj.magic rp1 in
13170 let d : 'tv_d_ident = Obj.magic d in
13171 let st : (
13172 # 102 "parser_cocci_menhir.mly"
13173 (Data.clt)
13174 # 13175 "parser_cocci_menhir.ml"
13175 ) = Obj.magic st in
13176 let lp1 : (
13177 # 79 "parser_cocci_menhir.mly"
13178 (Data.clt)
13179 # 13180 "parser_cocci_menhir.ml"
13180 ) = Obj.magic lp1 in
13181 let t : 'tv_ctype = Obj.magic t in
13182 let _startpos = _startpos_t_ in
13183 let _endpos = _endpos_pv_ in
13184 let _v : 'tv_decl_var = let s =
13185
13186 # 39 "standard.mly"
13187 ( None )
13188 # 13189 "parser_cocci_menhir.ml"
13189
13190 in
13191
13192 # 1061 "parser_cocci_menhir.mly"
13193 ( let (id,fn) = d in
13194 let t =
13195 Ast0.wrap
13196 (Ast0.FunctionPointer
13197 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
13198 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
13199 [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
13200 # 13201 "parser_cocci_menhir.ml"
13201 in
13202 _menhir_env.MenhirLib.EngineTypes.stack <- {
13203 MenhirLib.EngineTypes.state = _menhir_s;
13204 MenhirLib.EngineTypes.semv = Obj.repr _v;
13205 MenhirLib.EngineTypes.startp = _startpos;
13206 MenhirLib.EngineTypes.endp = _endpos;
13207 MenhirLib.EngineTypes.next = _menhir_stack;
13208 });
13209 (fun _menhir_env ->
13210 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13211 let {
13212 MenhirLib.EngineTypes.semv = pv;
13213 MenhirLib.EngineTypes.startp = _startpos_pv_;
13214 MenhirLib.EngineTypes.endp = _endpos_pv_;
13215 MenhirLib.EngineTypes.next = {
13216 MenhirLib.EngineTypes.semv = rp2;
13217 MenhirLib.EngineTypes.startp = _startpos_rp2_;
13218 MenhirLib.EngineTypes.endp = _endpos_rp2_;
13219 MenhirLib.EngineTypes.next = {
13220 MenhirLib.EngineTypes.semv = p;
13221 MenhirLib.EngineTypes.startp = _startpos_p_;
13222 MenhirLib.EngineTypes.endp = _endpos_p_;
13223 MenhirLib.EngineTypes.next = {
13224 MenhirLib.EngineTypes.semv = lp2;
13225 MenhirLib.EngineTypes.startp = _startpos_lp2_;
13226 MenhirLib.EngineTypes.endp = _endpos_lp2_;
13227 MenhirLib.EngineTypes.next = {
13228 MenhirLib.EngineTypes.semv = rp1;
13229 MenhirLib.EngineTypes.startp = _startpos_rp1_;
13230 MenhirLib.EngineTypes.endp = _endpos_rp1_;
13231 MenhirLib.EngineTypes.next = {
13232 MenhirLib.EngineTypes.semv = d;
13233 MenhirLib.EngineTypes.startp = _startpos_d_;
13234 MenhirLib.EngineTypes.endp = _endpos_d_;
13235 MenhirLib.EngineTypes.next = {
13236 MenhirLib.EngineTypes.semv = st;
13237 MenhirLib.EngineTypes.startp = _startpos_st_;
13238 MenhirLib.EngineTypes.endp = _endpos_st_;
13239 MenhirLib.EngineTypes.next = {
13240 MenhirLib.EngineTypes.semv = lp1;
13241 MenhirLib.EngineTypes.startp = _startpos_lp1_;
13242 MenhirLib.EngineTypes.endp = _endpos_lp1_;
13243 MenhirLib.EngineTypes.next = {
13244 MenhirLib.EngineTypes.semv = t;
13245 MenhirLib.EngineTypes.startp = _startpos_t_;
13246 MenhirLib.EngineTypes.endp = _endpos_t_;
13247 MenhirLib.EngineTypes.next = {
13248 MenhirLib.EngineTypes.state = _menhir_s;
13249 MenhirLib.EngineTypes.semv = x0;
13250 MenhirLib.EngineTypes.startp = _startpos_x0_;
13251 MenhirLib.EngineTypes.endp = _endpos_x0_;
13252 MenhirLib.EngineTypes.next = _menhir_stack;
13253 };
13254 };
13255 };
13256 };
13257 };
13258 };
13259 };
13260 };
13261 };
13262 } = _menhir_stack in
13263 let pv : (
13264 # 110 "parser_cocci_menhir.mly"
13265 (Data.clt)
13266 # 13267 "parser_cocci_menhir.ml"
13267 ) = Obj.magic pv in
13268 let rp2 : (
13269 # 80 "parser_cocci_menhir.mly"
13270 (Data.clt)
13271 # 13272 "parser_cocci_menhir.ml"
13272 ) = Obj.magic rp2 in
13273 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
13274 let lp2 : (
13275 # 79 "parser_cocci_menhir.mly"
13276 (Data.clt)
13277 # 13278 "parser_cocci_menhir.ml"
13278 ) = Obj.magic lp2 in
13279 let rp1 : (
13280 # 80 "parser_cocci_menhir.mly"
13281 (Data.clt)
13282 # 13283 "parser_cocci_menhir.ml"
13283 ) = Obj.magic rp1 in
13284 let d : 'tv_d_ident = Obj.magic d in
13285 let st : (
13286 # 102 "parser_cocci_menhir.mly"
13287 (Data.clt)
13288 # 13289 "parser_cocci_menhir.ml"
13289 ) = Obj.magic st in
13290 let lp1 : (
13291 # 79 "parser_cocci_menhir.mly"
13292 (Data.clt)
13293 # 13294 "parser_cocci_menhir.ml"
13294 ) = Obj.magic lp1 in
13295 let t : 'tv_ctype = Obj.magic t in
13296 let x0 : 'tv_storage = Obj.magic x0 in
13297 let _startpos = _startpos_x0_ in
13298 let _endpos = _endpos_pv_ in
13299 let _v : 'tv_decl_var = let s =
13300 let x = x0 in
13301
13302 # 41 "standard.mly"
13303 ( Some x )
13304 # 13305 "parser_cocci_menhir.ml"
13305
13306 in
13307
13308 # 1061 "parser_cocci_menhir.mly"
13309 ( let (id,fn) = d in
13310 let t =
13311 Ast0.wrap
13312 (Ast0.FunctionPointer
13313 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
13314 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
13315 [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
13316 # 13317 "parser_cocci_menhir.ml"
13317 in
13318 _menhir_env.MenhirLib.EngineTypes.stack <- {
13319 MenhirLib.EngineTypes.state = _menhir_s;
13320 MenhirLib.EngineTypes.semv = Obj.repr _v;
13321 MenhirLib.EngineTypes.startp = _startpos;
13322 MenhirLib.EngineTypes.endp = _endpos;
13323 MenhirLib.EngineTypes.next = _menhir_stack;
13324 });
13325 (fun _menhir_env ->
13326 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13327 let {
13328 MenhirLib.EngineTypes.semv = _5;
13329 MenhirLib.EngineTypes.startp = _startpos__5_;
13330 MenhirLib.EngineTypes.endp = _endpos__5_;
13331 MenhirLib.EngineTypes.next = {
13332 MenhirLib.EngineTypes.semv = _4;
13333 MenhirLib.EngineTypes.startp = _startpos__4_;
13334 MenhirLib.EngineTypes.endp = _endpos__4_;
13335 MenhirLib.EngineTypes.next = {
13336 MenhirLib.EngineTypes.semv = _3;
13337 MenhirLib.EngineTypes.startp = _startpos__3_;
13338 MenhirLib.EngineTypes.endp = _endpos__3_;
13339 MenhirLib.EngineTypes.next = {
13340 MenhirLib.EngineTypes.semv = _2;
13341 MenhirLib.EngineTypes.startp = _startpos__2_;
13342 MenhirLib.EngineTypes.endp = _endpos__2_;
13343 MenhirLib.EngineTypes.next = {
13344 MenhirLib.EngineTypes.state = _menhir_s;
13345 MenhirLib.EngineTypes.semv = _1;
13346 MenhirLib.EngineTypes.startp = _startpos__1_;
13347 MenhirLib.EngineTypes.endp = _endpos__1_;
13348 MenhirLib.EngineTypes.next = _menhir_stack;
13349 };
13350 };
13351 };
13352 };
13353 } = _menhir_stack in
13354 let _5 : (
13355 # 110 "parser_cocci_menhir.mly"
13356 (Data.clt)
13357 # 13358 "parser_cocci_menhir.ml"
13358 ) = Obj.magic _5 in
13359 let _4 : (
13360 # 80 "parser_cocci_menhir.mly"
13361 (Data.clt)
13362 # 13363 "parser_cocci_menhir.ml"
13363 ) = Obj.magic _4 in
13364 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
13365 let _2 : (
13366 # 79 "parser_cocci_menhir.mly"
13367 (Data.clt)
13368 # 13369 "parser_cocci_menhir.ml"
13369 ) = Obj.magic _2 in
13370 let _1 : 'tv_decl_ident = Obj.magic _1 in
13371 let _startpos = _startpos__1_ in
13372 let _endpos = _endpos__5_ in
13373 let _v : 'tv_decl_var =
13374 # 1069 "parser_cocci_menhir.mly"
13375 ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
13376 P.clt2mcode ")" _4,P.clt2mcode ";" _5))] )
13377 # 13378 "parser_cocci_menhir.ml"
13378 in
13379 _menhir_env.MenhirLib.EngineTypes.stack <- {
13380 MenhirLib.EngineTypes.state = _menhir_s;
13381 MenhirLib.EngineTypes.semv = Obj.repr _v;
13382 MenhirLib.EngineTypes.startp = _startpos;
13383 MenhirLib.EngineTypes.endp = _endpos;
13384 MenhirLib.EngineTypes.next = _menhir_stack;
13385 });
13386 (fun _menhir_env ->
13387 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13388 let {
13389 MenhirLib.EngineTypes.semv = pv;
13390 MenhirLib.EngineTypes.startp = _startpos_pv_;
13391 MenhirLib.EngineTypes.endp = _endpos_pv_;
13392 MenhirLib.EngineTypes.next = {
13393 MenhirLib.EngineTypes.semv = e;
13394 MenhirLib.EngineTypes.startp = _startpos_e_;
13395 MenhirLib.EngineTypes.endp = _endpos_e_;
13396 MenhirLib.EngineTypes.next = {
13397 MenhirLib.EngineTypes.semv = q;
13398 MenhirLib.EngineTypes.startp = _startpos_q_;
13399 MenhirLib.EngineTypes.endp = _endpos_q_;
13400 MenhirLib.EngineTypes.next = {
13401 MenhirLib.EngineTypes.semv = rp2;
13402 MenhirLib.EngineTypes.startp = _startpos_rp2_;
13403 MenhirLib.EngineTypes.endp = _endpos_rp2_;
13404 MenhirLib.EngineTypes.next = {
13405 MenhirLib.EngineTypes.semv = p;
13406 MenhirLib.EngineTypes.startp = _startpos_p_;
13407 MenhirLib.EngineTypes.endp = _endpos_p_;
13408 MenhirLib.EngineTypes.next = {
13409 MenhirLib.EngineTypes.semv = lp2;
13410 MenhirLib.EngineTypes.startp = _startpos_lp2_;
13411 MenhirLib.EngineTypes.endp = _endpos_lp2_;
13412 MenhirLib.EngineTypes.next = {
13413 MenhirLib.EngineTypes.semv = rp1;
13414 MenhirLib.EngineTypes.startp = _startpos_rp1_;
13415 MenhirLib.EngineTypes.endp = _endpos_rp1_;
13416 MenhirLib.EngineTypes.next = {
13417 MenhirLib.EngineTypes.semv = d;
13418 MenhirLib.EngineTypes.startp = _startpos_d_;
13419 MenhirLib.EngineTypes.endp = _endpos_d_;
13420 MenhirLib.EngineTypes.next = {
13421 MenhirLib.EngineTypes.semv = st;
13422 MenhirLib.EngineTypes.startp = _startpos_st_;
13423 MenhirLib.EngineTypes.endp = _endpos_st_;
13424 MenhirLib.EngineTypes.next = {
13425 MenhirLib.EngineTypes.semv = lp1;
13426 MenhirLib.EngineTypes.startp = _startpos_lp1_;
13427 MenhirLib.EngineTypes.endp = _endpos_lp1_;
13428 MenhirLib.EngineTypes.next = {
13429 MenhirLib.EngineTypes.state = _menhir_s;
13430 MenhirLib.EngineTypes.semv = t;
13431 MenhirLib.EngineTypes.startp = _startpos_t_;
13432 MenhirLib.EngineTypes.endp = _endpos_t_;
13433 MenhirLib.EngineTypes.next = _menhir_stack;
13434 };
13435 };
13436 };
13437 };
13438 };
13439 };
13440 };
13441 };
13442 };
13443 };
13444 } = _menhir_stack in
13445 let pv : (
13446 # 110 "parser_cocci_menhir.mly"
13447 (Data.clt)
13448 # 13449 "parser_cocci_menhir.ml"
13449 ) = Obj.magic pv in
13450 let e : 'tv_initialize = Obj.magic e in
13451 let q : (
13452 # 110 "parser_cocci_menhir.mly"
13453 (Data.clt)
13454 # 13455 "parser_cocci_menhir.ml"
13455 ) = Obj.magic q in
13456 let rp2 : (
13457 # 80 "parser_cocci_menhir.mly"
13458 (Data.clt)
13459 # 13460 "parser_cocci_menhir.ml"
13460 ) = Obj.magic rp2 in
13461 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
13462 let lp2 : (
13463 # 79 "parser_cocci_menhir.mly"
13464 (Data.clt)
13465 # 13466 "parser_cocci_menhir.ml"
13466 ) = Obj.magic lp2 in
13467 let rp1 : (
13468 # 80 "parser_cocci_menhir.mly"
13469 (Data.clt)
13470 # 13471 "parser_cocci_menhir.ml"
13471 ) = Obj.magic rp1 in
13472 let d : 'tv_d_ident = Obj.magic d in
13473 let st : (
13474 # 102 "parser_cocci_menhir.mly"
13475 (Data.clt)
13476 # 13477 "parser_cocci_menhir.ml"
13477 ) = Obj.magic st in
13478 let lp1 : (
13479 # 79 "parser_cocci_menhir.mly"
13480 (Data.clt)
13481 # 13482 "parser_cocci_menhir.ml"
13482 ) = Obj.magic lp1 in
13483 let t : 'tv_ctype = Obj.magic t in
13484 let _startpos = _startpos_t_ in
13485 let _endpos = _endpos_pv_ in
13486 let _v : 'tv_decl_var = let s =
13487
13488 # 39 "standard.mly"
13489 ( None )
13490 # 13491 "parser_cocci_menhir.ml"
13491
13492 in
13493
13494 # 1075 "parser_cocci_menhir.mly"
13495 ( let (id,fn) = d in
13496 let t =
13497 Ast0.wrap
13498 (Ast0.FunctionPointer
13499 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
13500 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
13501 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
13502 # 13503 "parser_cocci_menhir.ml"
13503 in
13504 _menhir_env.MenhirLib.EngineTypes.stack <- {
13505 MenhirLib.EngineTypes.state = _menhir_s;
13506 MenhirLib.EngineTypes.semv = Obj.repr _v;
13507 MenhirLib.EngineTypes.startp = _startpos;
13508 MenhirLib.EngineTypes.endp = _endpos;
13509 MenhirLib.EngineTypes.next = _menhir_stack;
13510 });
13511 (fun _menhir_env ->
13512 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13513 let {
13514 MenhirLib.EngineTypes.semv = pv;
13515 MenhirLib.EngineTypes.startp = _startpos_pv_;
13516 MenhirLib.EngineTypes.endp = _endpos_pv_;
13517 MenhirLib.EngineTypes.next = {
13518 MenhirLib.EngineTypes.semv = e;
13519 MenhirLib.EngineTypes.startp = _startpos_e_;
13520 MenhirLib.EngineTypes.endp = _endpos_e_;
13521 MenhirLib.EngineTypes.next = {
13522 MenhirLib.EngineTypes.semv = q;
13523 MenhirLib.EngineTypes.startp = _startpos_q_;
13524 MenhirLib.EngineTypes.endp = _endpos_q_;
13525 MenhirLib.EngineTypes.next = {
13526 MenhirLib.EngineTypes.semv = rp2;
13527 MenhirLib.EngineTypes.startp = _startpos_rp2_;
13528 MenhirLib.EngineTypes.endp = _endpos_rp2_;
13529 MenhirLib.EngineTypes.next = {
13530 MenhirLib.EngineTypes.semv = p;
13531 MenhirLib.EngineTypes.startp = _startpos_p_;
13532 MenhirLib.EngineTypes.endp = _endpos_p_;
13533 MenhirLib.EngineTypes.next = {
13534 MenhirLib.EngineTypes.semv = lp2;
13535 MenhirLib.EngineTypes.startp = _startpos_lp2_;
13536 MenhirLib.EngineTypes.endp = _endpos_lp2_;
13537 MenhirLib.EngineTypes.next = {
13538 MenhirLib.EngineTypes.semv = rp1;
13539 MenhirLib.EngineTypes.startp = _startpos_rp1_;
13540 MenhirLib.EngineTypes.endp = _endpos_rp1_;
13541 MenhirLib.EngineTypes.next = {
13542 MenhirLib.EngineTypes.semv = d;
13543 MenhirLib.EngineTypes.startp = _startpos_d_;
13544 MenhirLib.EngineTypes.endp = _endpos_d_;
13545 MenhirLib.EngineTypes.next = {
13546 MenhirLib.EngineTypes.semv = st;
13547 MenhirLib.EngineTypes.startp = _startpos_st_;
13548 MenhirLib.EngineTypes.endp = _endpos_st_;
13549 MenhirLib.EngineTypes.next = {
13550 MenhirLib.EngineTypes.semv = lp1;
13551 MenhirLib.EngineTypes.startp = _startpos_lp1_;
13552 MenhirLib.EngineTypes.endp = _endpos_lp1_;
13553 MenhirLib.EngineTypes.next = {
13554 MenhirLib.EngineTypes.semv = t;
13555 MenhirLib.EngineTypes.startp = _startpos_t_;
13556 MenhirLib.EngineTypes.endp = _endpos_t_;
13557 MenhirLib.EngineTypes.next = {
13558 MenhirLib.EngineTypes.state = _menhir_s;
13559 MenhirLib.EngineTypes.semv = x0;
13560 MenhirLib.EngineTypes.startp = _startpos_x0_;
13561 MenhirLib.EngineTypes.endp = _endpos_x0_;
13562 MenhirLib.EngineTypes.next = _menhir_stack;
13563 };
13564 };
13565 };
13566 };
13567 };
13568 };
13569 };
13570 };
13571 };
13572 };
13573 };
13574 } = _menhir_stack in
13575 let pv : (
13576 # 110 "parser_cocci_menhir.mly"
13577 (Data.clt)
13578 # 13579 "parser_cocci_menhir.ml"
13579 ) = Obj.magic pv in
13580 let e : 'tv_initialize = Obj.magic e in
13581 let q : (
13582 # 110 "parser_cocci_menhir.mly"
13583 (Data.clt)
13584 # 13585 "parser_cocci_menhir.ml"
13585 ) = Obj.magic q in
13586 let rp2 : (
13587 # 80 "parser_cocci_menhir.mly"
13588 (Data.clt)
13589 # 13590 "parser_cocci_menhir.ml"
13590 ) = Obj.magic rp2 in
13591 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
13592 let lp2 : (
13593 # 79 "parser_cocci_menhir.mly"
13594 (Data.clt)
13595 # 13596 "parser_cocci_menhir.ml"
13596 ) = Obj.magic lp2 in
13597 let rp1 : (
13598 # 80 "parser_cocci_menhir.mly"
13599 (Data.clt)
13600 # 13601 "parser_cocci_menhir.ml"
13601 ) = Obj.magic rp1 in
13602 let d : 'tv_d_ident = Obj.magic d in
13603 let st : (
13604 # 102 "parser_cocci_menhir.mly"
13605 (Data.clt)
13606 # 13607 "parser_cocci_menhir.ml"
13607 ) = Obj.magic st in
13608 let lp1 : (
13609 # 79 "parser_cocci_menhir.mly"
13610 (Data.clt)
13611 # 13612 "parser_cocci_menhir.ml"
13612 ) = Obj.magic lp1 in
13613 let t : 'tv_ctype = Obj.magic t in
13614 let x0 : 'tv_storage = Obj.magic x0 in
13615 let _startpos = _startpos_x0_ in
13616 let _endpos = _endpos_pv_ in
13617 let _v : 'tv_decl_var = let s =
13618 let x = x0 in
13619
13620 # 41 "standard.mly"
13621 ( Some x )
13622 # 13623 "parser_cocci_menhir.ml"
13623
13624 in
13625
13626 # 1075 "parser_cocci_menhir.mly"
13627 ( let (id,fn) = d in
13628 let t =
13629 Ast0.wrap
13630 (Ast0.FunctionPointer
13631 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
13632 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
13633 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
13634 # 13635 "parser_cocci_menhir.ml"
13635 in
13636 _menhir_env.MenhirLib.EngineTypes.stack <- {
13637 MenhirLib.EngineTypes.state = _menhir_s;
13638 MenhirLib.EngineTypes.semv = Obj.repr _v;
13639 MenhirLib.EngineTypes.startp = _startpos;
13640 MenhirLib.EngineTypes.endp = _endpos;
13641 MenhirLib.EngineTypes.next = _menhir_stack;
13642 });
13643 (fun _menhir_env ->
13644 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13645 let {
13646 MenhirLib.EngineTypes.semv = pv;
13647 MenhirLib.EngineTypes.startp = _startpos_pv_;
13648 MenhirLib.EngineTypes.endp = _endpos_pv_;
13649 MenhirLib.EngineTypes.next = {
13650 MenhirLib.EngineTypes.semv = id;
13651 MenhirLib.EngineTypes.startp = _startpos_id_;
13652 MenhirLib.EngineTypes.endp = _endpos_id_;
13653 MenhirLib.EngineTypes.next = {
13654 MenhirLib.EngineTypes.semv = t;
13655 MenhirLib.EngineTypes.startp = _startpos_t_;
13656 MenhirLib.EngineTypes.endp = _endpos_t_;
13657 MenhirLib.EngineTypes.next = {
13658 MenhirLib.EngineTypes.state = _menhir_s;
13659 MenhirLib.EngineTypes.semv = s;
13660 MenhirLib.EngineTypes.startp = _startpos_s_;
13661 MenhirLib.EngineTypes.endp = _endpos_s_;
13662 MenhirLib.EngineTypes.next = _menhir_stack;
13663 };
13664 };
13665 };
13666 } = _menhir_stack in
13667 let pv : (
13668 # 110 "parser_cocci_menhir.mly"
13669 (Data.clt)
13670 # 13671 "parser_cocci_menhir.ml"
13671 ) = Obj.magic pv in
13672 let id : 'tv_comma_list_typedef_ident_ = Obj.magic id in
13673 let t : 'tv_typedef_ctype = Obj.magic t in
13674 let s : (
13675 # 55 "parser_cocci_menhir.mly"
13676 (Data.clt)
13677 # 13678 "parser_cocci_menhir.ml"
13678 ) = Obj.magic s in
13679 let _startpos = _startpos_s_ in
13680 let _endpos = _endpos_pv_ in
13681 let _v : 'tv_decl_var =
13682 # 1083 "parser_cocci_menhir.mly"
13683 ( let s = P.clt2mcode "typedef" s in
13684 List.map
13685 (function id ->
13686 Ast0.wrap(Ast0.Typedef(s,t,id,P.clt2mcode ";" pv)))
13687 id )
13688 # 13689 "parser_cocci_menhir.ml"
13689 in
13690 _menhir_env.MenhirLib.EngineTypes.stack <- {
13691 MenhirLib.EngineTypes.state = _menhir_s;
13692 MenhirLib.EngineTypes.semv = Obj.repr _v;
13693 MenhirLib.EngineTypes.startp = _startpos;
13694 MenhirLib.EngineTypes.endp = _endpos;
13695 MenhirLib.EngineTypes.next = _menhir_stack;
13696 });
13697 (fun _menhir_env ->
13698 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13699 let {
13700 MenhirLib.EngineTypes.state = _menhir_s;
13701 MenhirLib.EngineTypes.semv = _1;
13702 MenhirLib.EngineTypes.startp = _startpos__1_;
13703 MenhirLib.EngineTypes.endp = _endpos__1_;
13704 MenhirLib.EngineTypes.next = _menhir_stack;
13705 } = _menhir_stack in
13706 let _1 : 'tv_empty_list_start_dparam_TEllipsis_ = Obj.magic _1 in
13707 let _startpos = _startpos__1_ in
13708 let _endpos = _endpos__1_ in
13709 let _v : 'tv_define_param_list_option =
13710 # 820 "parser_cocci_menhir.mly"
13711 ( Ast0.wrap
13712 (Ast0.DOTS
13713 (_1
13714 (fun _ d -> Ast0.wrap(Ast0.DPdots(P.clt2mcode "," d)))
13715 (fun c -> Ast0.DPComma c))) )
13716 # 13717 "parser_cocci_menhir.ml"
13717 in
13718 _menhir_env.MenhirLib.EngineTypes.stack <- {
13719 MenhirLib.EngineTypes.state = _menhir_s;
13720 MenhirLib.EngineTypes.semv = Obj.repr _v;
13721 MenhirLib.EngineTypes.startp = _startpos;
13722 MenhirLib.EngineTypes.endp = _endpos;
13723 MenhirLib.EngineTypes.next = _menhir_stack;
13724 });
13725 (fun _menhir_env ->
13726 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13727 let {
13728 MenhirLib.EngineTypes.state = _menhir_s;
13729 MenhirLib.EngineTypes.semv = _1;
13730 MenhirLib.EngineTypes.startp = _startpos__1_;
13731 MenhirLib.EngineTypes.endp = _endpos__1_;
13732 MenhirLib.EngineTypes.next = _menhir_stack;
13733 } = _menhir_stack in
13734 let _1 : (
13735 # 84 "parser_cocci_menhir.mly"
13736 (Data.clt * token)
13737 # 13738 "parser_cocci_menhir.ml"
13738 ) = Obj.magic _1 in
13739 let _startpos = _startpos__1_ in
13740 let _endpos = _endpos__1_ in
13741 let _v : 'tv_defineop =
13742 # 776 "parser_cocci_menhir.mly"
13743 ( let (clt,ident) = _1 in
13744 function body ->
13745 Ast0.wrap
13746 (Ast0.Define
13747 (P.clt2mcode "#define" clt,
13748 (match ident with
13749 TMetaId((nm,constraints,pure,clt)) ->
13750 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
13751 | TIdent(nm_pure) ->
13752 Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
13753 | _ ->
13754 raise
13755 (Semantic_cocci.Semantic
13756 "unexpected name for a #define")),
13757 Ast0.wrap Ast0.NoParams,
13758 body)) )
13759 # 13760 "parser_cocci_menhir.ml"
13760 in
13761 _menhir_env.MenhirLib.EngineTypes.stack <- {
13762 MenhirLib.EngineTypes.state = _menhir_s;
13763 MenhirLib.EngineTypes.semv = Obj.repr _v;
13764 MenhirLib.EngineTypes.startp = _startpos;
13765 MenhirLib.EngineTypes.endp = _endpos;
13766 MenhirLib.EngineTypes.next = _menhir_stack;
13767 });
13768 (fun _menhir_env ->
13769 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13770 let {
13771 MenhirLib.EngineTypes.semv = _3;
13772 MenhirLib.EngineTypes.startp = _startpos__3_;
13773 MenhirLib.EngineTypes.endp = _endpos__3_;
13774 MenhirLib.EngineTypes.next = {
13775 MenhirLib.EngineTypes.semv = _2;
13776 MenhirLib.EngineTypes.startp = _startpos__2_;
13777 MenhirLib.EngineTypes.endp = _endpos__2_;
13778 MenhirLib.EngineTypes.next = {
13779 MenhirLib.EngineTypes.state = _menhir_s;
13780 MenhirLib.EngineTypes.semv = _1;
13781 MenhirLib.EngineTypes.startp = _startpos__1_;
13782 MenhirLib.EngineTypes.endp = _endpos__1_;
13783 MenhirLib.EngineTypes.next = _menhir_stack;
13784 };
13785 };
13786 } = _menhir_stack in
13787 let _3 : (
13788 # 80 "parser_cocci_menhir.mly"
13789 (Data.clt)
13790 # 13791 "parser_cocci_menhir.ml"
13791 ) = Obj.magic _3 in
13792 let _2 : 'tv_define_param_list_option = Obj.magic _2 in
13793 let _1 : (
13794 # 85 "parser_cocci_menhir.mly"
13795 (Data.clt * token * int * int)
13796 # 13797 "parser_cocci_menhir.ml"
13797 ) = Obj.magic _1 in
13798 let _startpos = _startpos__1_ in
13799 let _endpos = _endpos__3_ in
13800 let _v : 'tv_defineop =
13801 # 793 "parser_cocci_menhir.mly"
13802 ( let (clt,ident,parenoff,parencol) = _1 in
13803 (* clt is the start of the #define itself *)
13804 let (arity,line,lline,offset,col,strbef,straft,pos) = clt in
13805 let lp =
13806 P.clt2mcode "("
13807 (arity,line,lline,parenoff,parencol,[],[],Ast0.NoMetaPos) in
13808 function body ->
13809 Ast0.wrap
13810 (Ast0.Define
13811 (P.clt2mcode "#define" clt,
13812 (match ident with
13813 TMetaId((nm,constraints,pure,clt)) ->
13814 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
13815 | TIdent(nm_pure) ->
13816 Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
13817 | _ ->
13818 raise
13819 (Semantic_cocci.Semantic
13820 "unexpected name for a #define")),
13821 Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" _3)),body)) )
13822 # 13823 "parser_cocci_menhir.ml"
13823 in
13824 _menhir_env.MenhirLib.EngineTypes.stack <- {
13825 MenhirLib.EngineTypes.state = _menhir_s;
13826 MenhirLib.EngineTypes.semv = Obj.repr _v;
13827 MenhirLib.EngineTypes.startp = _startpos;
13828 MenhirLib.EngineTypes.endp = _endpos;
13829 MenhirLib.EngineTypes.next = _menhir_stack;
13830 });
13831 (fun _menhir_env ->
13832 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13833 let {
13834 MenhirLib.EngineTypes.state = _menhir_s;
13835 MenhirLib.EngineTypes.semv = _1;
13836 MenhirLib.EngineTypes.startp = _startpos__1_;
13837 MenhirLib.EngineTypes.endp = _endpos__1_;
13838 MenhirLib.EngineTypes.next = _menhir_stack;
13839 } = _menhir_stack in
13840 let _1 : 'tv_pnrule = Obj.magic _1 in
13841 let _startpos = _startpos__1_ in
13842 let _endpos = _endpos__1_ in
13843 let _v : 'tv_dep =
13844 # 230 "parser_cocci_menhir.mly"
13845 ( _1 )
13846 # 13847 "parser_cocci_menhir.ml"
13847 in
13848 _menhir_env.MenhirLib.EngineTypes.stack <- {
13849 MenhirLib.EngineTypes.state = _menhir_s;
13850 MenhirLib.EngineTypes.semv = Obj.repr _v;
13851 MenhirLib.EngineTypes.startp = _startpos;
13852 MenhirLib.EngineTypes.endp = _endpos;
13853 MenhirLib.EngineTypes.next = _menhir_stack;
13854 });
13855 (fun _menhir_env ->
13856 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13857 let {
13858 MenhirLib.EngineTypes.semv = _3;
13859 MenhirLib.EngineTypes.startp = _startpos__3_;
13860 MenhirLib.EngineTypes.endp = _endpos__3_;
13861 MenhirLib.EngineTypes.next = {
13862 MenhirLib.EngineTypes.startp = _startpos__2_;
13863 MenhirLib.EngineTypes.endp = _endpos__2_;
13864 MenhirLib.EngineTypes.next = {
13865 MenhirLib.EngineTypes.state = _menhir_s;
13866 MenhirLib.EngineTypes.semv = _1;
13867 MenhirLib.EngineTypes.startp = _startpos__1_;
13868 MenhirLib.EngineTypes.endp = _endpos__1_;
13869 MenhirLib.EngineTypes.next = _menhir_stack;
13870 };
13871 };
13872 } = _menhir_stack in
13873 let _3 : 'tv_dep = Obj.magic _3 in
13874 let _1 : 'tv_dep = Obj.magic _1 in
13875 let _startpos = _startpos__1_ in
13876 let _endpos = _endpos__3_ in
13877 let _v : 'tv_dep =
13878 # 231 "parser_cocci_menhir.mly"
13879 ( Ast.AndDep(_1, _3) )
13880 # 13881 "parser_cocci_menhir.ml"
13881 in
13882 _menhir_env.MenhirLib.EngineTypes.stack <- {
13883 MenhirLib.EngineTypes.state = _menhir_s;
13884 MenhirLib.EngineTypes.semv = Obj.repr _v;
13885 MenhirLib.EngineTypes.startp = _startpos;
13886 MenhirLib.EngineTypes.endp = _endpos;
13887 MenhirLib.EngineTypes.next = _menhir_stack;
13888 });
13889 (fun _menhir_env ->
13890 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13891 let {
13892 MenhirLib.EngineTypes.semv = _3;
13893 MenhirLib.EngineTypes.startp = _startpos__3_;
13894 MenhirLib.EngineTypes.endp = _endpos__3_;
13895 MenhirLib.EngineTypes.next = {
13896 MenhirLib.EngineTypes.startp = _startpos__2_;
13897 MenhirLib.EngineTypes.endp = _endpos__2_;
13898 MenhirLib.EngineTypes.next = {
13899 MenhirLib.EngineTypes.state = _menhir_s;
13900 MenhirLib.EngineTypes.semv = _1;
13901 MenhirLib.EngineTypes.startp = _startpos__1_;
13902 MenhirLib.EngineTypes.endp = _endpos__1_;
13903 MenhirLib.EngineTypes.next = _menhir_stack;
13904 };
13905 };
13906 } = _menhir_stack in
13907 let _3 : 'tv_dep = Obj.magic _3 in
13908 let _1 : 'tv_dep = Obj.magic _1 in
13909 let _startpos = _startpos__1_ in
13910 let _endpos = _endpos__3_ in
13911 let _v : 'tv_dep =
13912 # 232 "parser_cocci_menhir.mly"
13913 ( Ast.OrDep (_1, _3) )
13914 # 13915 "parser_cocci_menhir.ml"
13915 in
13916 _menhir_env.MenhirLib.EngineTypes.stack <- {
13917 MenhirLib.EngineTypes.state = _menhir_s;
13918 MenhirLib.EngineTypes.semv = Obj.repr _v;
13919 MenhirLib.EngineTypes.startp = _startpos;
13920 MenhirLib.EngineTypes.endp = _endpos;
13921 MenhirLib.EngineTypes.next = _menhir_stack;
13922 });
13923 (fun _menhir_env ->
13924 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13925 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
13926 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
13927 let _endpos = _startpos in
13928 let _v : 'tv_depends =
13929 # 226 "parser_cocci_menhir.mly"
13930 ( Ast.NoDep )
13931 # 13932 "parser_cocci_menhir.ml"
13932 in
13933 _menhir_env.MenhirLib.EngineTypes.stack <- {
13934 MenhirLib.EngineTypes.state = _menhir_s;
13935 MenhirLib.EngineTypes.semv = Obj.repr _v;
13936 MenhirLib.EngineTypes.startp = _startpos;
13937 MenhirLib.EngineTypes.endp = _endpos;
13938 MenhirLib.EngineTypes.next = _menhir_stack;
13939 });
13940 (fun _menhir_env ->
13941 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13942 let {
13943 MenhirLib.EngineTypes.semv = parents;
13944 MenhirLib.EngineTypes.startp = _startpos_parents_;
13945 MenhirLib.EngineTypes.endp = _endpos_parents_;
13946 MenhirLib.EngineTypes.next = {
13947 MenhirLib.EngineTypes.startp = _startpos__2_;
13948 MenhirLib.EngineTypes.endp = _endpos__2_;
13949 MenhirLib.EngineTypes.next = {
13950 MenhirLib.EngineTypes.state = _menhir_s;
13951 MenhirLib.EngineTypes.startp = _startpos__1_;
13952 MenhirLib.EngineTypes.endp = _endpos__1_;
13953 MenhirLib.EngineTypes.next = _menhir_stack;
13954 };
13955 };
13956 } = _menhir_stack in
13957 let parents : 'tv_dep = Obj.magic parents in
13958 let _startpos = _startpos__1_ in
13959 let _endpos = _endpos_parents_ in
13960 let _v : 'tv_depends =
13961 # 227 "parser_cocci_menhir.mly"
13962 ( parents )
13963 # 13964 "parser_cocci_menhir.ml"
13964 in
13965 _menhir_env.MenhirLib.EngineTypes.stack <- {
13966 MenhirLib.EngineTypes.state = _menhir_s;
13967 MenhirLib.EngineTypes.semv = Obj.repr _v;
13968 MenhirLib.EngineTypes.startp = _startpos;
13969 MenhirLib.EngineTypes.endp = _endpos;
13970 MenhirLib.EngineTypes.next = _menhir_stack;
13971 });
13972 (fun _menhir_env ->
13973 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13974 let {
13975 MenhirLib.EngineTypes.semv = _2;
13976 MenhirLib.EngineTypes.startp = _startpos__2_;
13977 MenhirLib.EngineTypes.endp = _endpos__2_;
13978 MenhirLib.EngineTypes.next = {
13979 MenhirLib.EngineTypes.state = _menhir_s;
13980 MenhirLib.EngineTypes.semv = _1;
13981 MenhirLib.EngineTypes.startp = _startpos__1_;
13982 MenhirLib.EngineTypes.endp = _endpos__1_;
13983 MenhirLib.EngineTypes.next = _menhir_stack;
13984 };
13985 } = _menhir_stack in
13986 let _2 : 'tv_ident = Obj.magic _2 in
13987 let _1 : (
13988 # 110 "parser_cocci_menhir.mly"
13989 (Data.clt)
13990 # 13991 "parser_cocci_menhir.ml"
13991 ) = Obj.magic _1 in
13992 let _startpos = _startpos__1_ in
13993 let _endpos = _endpos__2_ in
13994 let _v : 'tv_designator =
13995 # 1187 "parser_cocci_menhir.mly"
13996 ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) )
13997 # 13998 "parser_cocci_menhir.ml"
13998 in
13999 _menhir_env.MenhirLib.EngineTypes.stack <- {
14000 MenhirLib.EngineTypes.state = _menhir_s;
14001 MenhirLib.EngineTypes.semv = Obj.repr _v;
14002 MenhirLib.EngineTypes.startp = _startpos;
14003 MenhirLib.EngineTypes.endp = _endpos;
14004 MenhirLib.EngineTypes.next = _menhir_stack;
14005 });
14006 (fun _menhir_env ->
14007 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14008 let {
14009 MenhirLib.EngineTypes.semv = _3;
14010 MenhirLib.EngineTypes.startp = _startpos__3_;
14011 MenhirLib.EngineTypes.endp = _endpos__3_;
14012 MenhirLib.EngineTypes.next = {
14013 MenhirLib.EngineTypes.semv = _2;
14014 MenhirLib.EngineTypes.startp = _startpos__2_;
14015 MenhirLib.EngineTypes.endp = _endpos__2_;
14016 MenhirLib.EngineTypes.next = {
14017 MenhirLib.EngineTypes.state = _menhir_s;
14018 MenhirLib.EngineTypes.semv = _1;
14019 MenhirLib.EngineTypes.startp = _startpos__1_;
14020 MenhirLib.EngineTypes.endp = _endpos__1_;
14021 MenhirLib.EngineTypes.next = _menhir_stack;
14022 };
14023 };
14024 } = _menhir_stack in
14025 let _3 : (
14026 # 105 "parser_cocci_menhir.mly"
14027 (Data.clt)
14028 # 14029 "parser_cocci_menhir.ml"
14029 ) = Obj.magic _3 in
14030 let _2 : 'tv_eexpr = Obj.magic _2 in
14031 let _1 : (
14032 # 105 "parser_cocci_menhir.mly"
14033 (Data.clt)
14034 # 14035 "parser_cocci_menhir.ml"
14035 ) = Obj.magic _1 in
14036 let _startpos = _startpos__1_ in
14037 let _endpos = _endpos__3_ in
14038 let _v : 'tv_designator =
14039 # 1189 "parser_cocci_menhir.mly"
14040 ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) )
14041 # 14042 "parser_cocci_menhir.ml"
14042 in
14043 _menhir_env.MenhirLib.EngineTypes.stack <- {
14044 MenhirLib.EngineTypes.state = _menhir_s;
14045 MenhirLib.EngineTypes.semv = Obj.repr _v;
14046 MenhirLib.EngineTypes.startp = _startpos;
14047 MenhirLib.EngineTypes.endp = _endpos;
14048 MenhirLib.EngineTypes.next = _menhir_stack;
14049 });
14050 (fun _menhir_env ->
14051 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14052 let {
14053 MenhirLib.EngineTypes.semv = _5;
14054 MenhirLib.EngineTypes.startp = _startpos__5_;
14055 MenhirLib.EngineTypes.endp = _endpos__5_;
14056 MenhirLib.EngineTypes.next = {
14057 MenhirLib.EngineTypes.semv = _4;
14058 MenhirLib.EngineTypes.startp = _startpos__4_;
14059 MenhirLib.EngineTypes.endp = _endpos__4_;
14060 MenhirLib.EngineTypes.next = {
14061 MenhirLib.EngineTypes.semv = _3;
14062 MenhirLib.EngineTypes.startp = _startpos__3_;
14063 MenhirLib.EngineTypes.endp = _endpos__3_;
14064 MenhirLib.EngineTypes.next = {
14065 MenhirLib.EngineTypes.semv = _2;
14066 MenhirLib.EngineTypes.startp = _startpos__2_;
14067 MenhirLib.EngineTypes.endp = _endpos__2_;
14068 MenhirLib.EngineTypes.next = {
14069 MenhirLib.EngineTypes.state = _menhir_s;
14070 MenhirLib.EngineTypes.semv = _1;
14071 MenhirLib.EngineTypes.startp = _startpos__1_;
14072 MenhirLib.EngineTypes.endp = _endpos__1_;
14073 MenhirLib.EngineTypes.next = _menhir_stack;
14074 };
14075 };
14076 };
14077 };
14078 } = _menhir_stack in
14079 let _5 : (
14080 # 105 "parser_cocci_menhir.mly"
14081 (Data.clt)
14082 # 14083 "parser_cocci_menhir.ml"
14083 ) = Obj.magic _5 in
14084 let _4 : 'tv_eexpr = Obj.magic _4 in
14085 let _3 : (
14086 # 76 "parser_cocci_menhir.mly"
14087 (Data.clt)
14088 # 14089 "parser_cocci_menhir.ml"
14089 ) = Obj.magic _3 in
14090 let _2 : 'tv_eexpr = Obj.magic _2 in
14091 let _1 : (
14092 # 105 "parser_cocci_menhir.mly"
14093 (Data.clt)
14094 # 14095 "parser_cocci_menhir.ml"
14095 ) = Obj.magic _1 in
14096 let _startpos = _startpos__1_ in
14097 let _endpos = _endpos__5_ in
14098 let _v : 'tv_designator =
14099 # 1191 "parser_cocci_menhir.mly"
14100 ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3,
14101 _4,P.clt2mcode "]" _5) )
14102 # 14103 "parser_cocci_menhir.ml"
14103 in
14104 _menhir_env.MenhirLib.EngineTypes.stack <- {
14105 MenhirLib.EngineTypes.state = _menhir_s;
14106 MenhirLib.EngineTypes.semv = Obj.repr _v;
14107 MenhirLib.EngineTypes.startp = _startpos;
14108 MenhirLib.EngineTypes.endp = _endpos;
14109 MenhirLib.EngineTypes.next = _menhir_stack;
14110 });
14111 (fun _menhir_env ->
14112 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14113 let {
14114 MenhirLib.EngineTypes.state = _menhir_s;
14115 MenhirLib.EngineTypes.semv = _1;
14116 MenhirLib.EngineTypes.startp = _startpos__1_;
14117 MenhirLib.EngineTypes.endp = _endpos__1_;
14118 MenhirLib.EngineTypes.next = _menhir_stack;
14119 } = _menhir_stack in
14120 let _1 : 'tv_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in
14121 let _startpos = _startpos__1_ in
14122 let _endpos = _endpos__1_ in
14123 let _v : 'tv_dexpr =
14124 # 1268 "parser_cocci_menhir.mly"
14125 ( _1 )
14126 # 14127 "parser_cocci_menhir.ml"
14127 in
14128 _menhir_env.MenhirLib.EngineTypes.stack <- {
14129 MenhirLib.EngineTypes.state = _menhir_s;
14130 MenhirLib.EngineTypes.semv = Obj.repr _v;
14131 MenhirLib.EngineTypes.startp = _startpos;
14132 MenhirLib.EngineTypes.endp = _endpos;
14133 MenhirLib.EngineTypes.next = _menhir_stack;
14134 });
14135 (fun _menhir_env ->
14136 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14137 let {
14138 MenhirLib.EngineTypes.semv = _2;
14139 MenhirLib.EngineTypes.startp = _startpos__2_;
14140 MenhirLib.EngineTypes.endp = _endpos__2_;
14141 MenhirLib.EngineTypes.next = {
14142 MenhirLib.EngineTypes.state = _menhir_s;
14143 MenhirLib.EngineTypes.startp = _startpos__1_;
14144 MenhirLib.EngineTypes.endp = _endpos__1_;
14145 MenhirLib.EngineTypes.next = _menhir_stack;
14146 };
14147 } = _menhir_stack in
14148 let _2 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _2 in
14149 let _startpos = _startpos__1_ in
14150 let _endpos = _endpos__2_ in
14151 let _v : 'tv_disable =
14152 # 245 "parser_cocci_menhir.mly"
14153 ( List.map P.id2name _2 )
14154 # 14155 "parser_cocci_menhir.ml"
14155 in
14156 _menhir_env.MenhirLib.EngineTypes.stack <- {
14157 MenhirLib.EngineTypes.state = _menhir_s;
14158 MenhirLib.EngineTypes.semv = Obj.repr _v;
14159 MenhirLib.EngineTypes.startp = _startpos;
14160 MenhirLib.EngineTypes.endp = _endpos;
14161 MenhirLib.EngineTypes.next = _menhir_stack;
14162 });
14163 (fun _menhir_env ->
14164 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14165 let {
14166 MenhirLib.EngineTypes.state = _menhir_s;
14167 MenhirLib.EngineTypes.semv = _1;
14168 MenhirLib.EngineTypes.startp = _startpos__1_;
14169 MenhirLib.EngineTypes.endp = _endpos__1_;
14170 MenhirLib.EngineTypes.next = _menhir_stack;
14171 } = _menhir_stack in
14172 let _1 : (
14173 # 76 "parser_cocci_menhir.mly"
14174 (Data.clt)
14175 # 14176 "parser_cocci_menhir.ml"
14176 ) = Obj.magic _1 in
14177 let _startpos = _startpos__1_ in
14178 let _endpos = _endpos__1_ in
14179 let _v : 'tv_dot_expressions =
14180 # 1277 "parser_cocci_menhir.mly"
14181 ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) )
14182 # 14183 "parser_cocci_menhir.ml"
14183 in
14184 _menhir_env.MenhirLib.EngineTypes.stack <- {
14185 MenhirLib.EngineTypes.state = _menhir_s;
14186 MenhirLib.EngineTypes.semv = Obj.repr _v;
14187 MenhirLib.EngineTypes.startp = _startpos;
14188 MenhirLib.EngineTypes.endp = _endpos;
14189 MenhirLib.EngineTypes.next = _menhir_stack;
14190 });
14191 (fun _menhir_env ->
14192 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14193 let {
14194 MenhirLib.EngineTypes.state = _menhir_s;
14195 MenhirLib.EngineTypes.semv = _1;
14196 MenhirLib.EngineTypes.startp = _startpos__1_;
14197 MenhirLib.EngineTypes.endp = _endpos__1_;
14198 MenhirLib.EngineTypes.next = _menhir_stack;
14199 } = _menhir_stack in
14200 let _1 : 'tv_nest_expressions = Obj.magic _1 in
14201 let _startpos = _startpos__1_ in
14202 let _endpos = _endpos__1_ in
14203 let _v : 'tv_dot_expressions =
14204 # 1278 "parser_cocci_menhir.mly"
14205 ( _1 )
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.state = _menhir_s;
14219 MenhirLib.EngineTypes.semv = _1;
14220 MenhirLib.EngineTypes.startp = _startpos__1_;
14221 MenhirLib.EngineTypes.endp = _endpos__1_;
14222 MenhirLib.EngineTypes.next = _menhir_stack;
14223 } = _menhir_stack in
14224 let _1 : 'tv_ident = Obj.magic _1 in
14225 let _startpos = _startpos__1_ in
14226 let _endpos = _endpos__1_ in
14227 let _v : 'tv_dparam =
14228 # 816 "parser_cocci_menhir.mly"
14229 ( Ast0.wrap(Ast0.DParam _1) )
14230 # 14231 "parser_cocci_menhir.ml"
14231 in
14232 _menhir_env.MenhirLib.EngineTypes.stack <- {
14233 MenhirLib.EngineTypes.state = _menhir_s;
14234 MenhirLib.EngineTypes.semv = Obj.repr _v;
14235 MenhirLib.EngineTypes.startp = _startpos;
14236 MenhirLib.EngineTypes.endp = _endpos;
14237 MenhirLib.EngineTypes.next = _menhir_stack;
14238 });
14239 (fun _menhir_env ->
14240 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14241 let {
14242 MenhirLib.EngineTypes.state = _menhir_s;
14243 MenhirLib.EngineTypes.semv = d;
14244 MenhirLib.EngineTypes.startp = _startpos_d_;
14245 MenhirLib.EngineTypes.endp = _endpos_d_;
14246 MenhirLib.EngineTypes.next = _menhir_stack;
14247 } = _menhir_stack in
14248 let d : (
14249 # 76 "parser_cocci_menhir.mly"
14250 (Data.clt)
14251 # 14252 "parser_cocci_menhir.ml"
14252 ) = Obj.magic d in
14253 let _startpos = _startpos_d_ in
14254 let _endpos = _endpos_d_ in
14255 let _v : 'tv_edots_when_TEllipsis_eexpr_ =
14256 # 2019 "parser_cocci_menhir.mly"
14257 ( (d,None) )
14258 # 14259 "parser_cocci_menhir.ml"
14259 in
14260 _menhir_env.MenhirLib.EngineTypes.stack <- {
14261 MenhirLib.EngineTypes.state = _menhir_s;
14262 MenhirLib.EngineTypes.semv = Obj.repr _v;
14263 MenhirLib.EngineTypes.startp = _startpos;
14264 MenhirLib.EngineTypes.endp = _endpos;
14265 MenhirLib.EngineTypes.next = _menhir_stack;
14266 });
14267 (fun _menhir_env ->
14268 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14269 let {
14270 MenhirLib.EngineTypes.startp = _startpos__5_;
14271 MenhirLib.EngineTypes.endp = _endpos__5_;
14272 MenhirLib.EngineTypes.next = {
14273 MenhirLib.EngineTypes.semv = w;
14274 MenhirLib.EngineTypes.startp = _startpos_w_;
14275 MenhirLib.EngineTypes.endp = _endpos_w_;
14276 MenhirLib.EngineTypes.next = {
14277 MenhirLib.EngineTypes.startp = _startpos__3_;
14278 MenhirLib.EngineTypes.endp = _endpos__3_;
14279 MenhirLib.EngineTypes.next = {
14280 MenhirLib.EngineTypes.startp = _startpos__2_;
14281 MenhirLib.EngineTypes.endp = _endpos__2_;
14282 MenhirLib.EngineTypes.next = {
14283 MenhirLib.EngineTypes.state = _menhir_s;
14284 MenhirLib.EngineTypes.semv = d;
14285 MenhirLib.EngineTypes.startp = _startpos_d_;
14286 MenhirLib.EngineTypes.endp = _endpos_d_;
14287 MenhirLib.EngineTypes.next = _menhir_stack;
14288 };
14289 };
14290 };
14291 };
14292 } = _menhir_stack in
14293 let w : 'tv_eexpr = Obj.magic w in
14294 let d : (
14295 # 76 "parser_cocci_menhir.mly"
14296 (Data.clt)
14297 # 14298 "parser_cocci_menhir.ml"
14298 ) = Obj.magic d in
14299 let _startpos = _startpos_d_ in
14300 let _endpos = _endpos__5_ in
14301 let _v : 'tv_edots_when_TEllipsis_eexpr_ =
14302 # 2020 "parser_cocci_menhir.mly"
14303 ( (d,Some w) )
14304 # 14305 "parser_cocci_menhir.ml"
14305 in
14306 _menhir_env.MenhirLib.EngineTypes.stack <- {
14307 MenhirLib.EngineTypes.state = _menhir_s;
14308 MenhirLib.EngineTypes.semv = Obj.repr _v;
14309 MenhirLib.EngineTypes.startp = _startpos;
14310 MenhirLib.EngineTypes.endp = _endpos;
14311 MenhirLib.EngineTypes.next = _menhir_stack;
14312 });
14313 (fun _menhir_env ->
14314 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14315 let {
14316 MenhirLib.EngineTypes.state = _menhir_s;
14317 MenhirLib.EngineTypes.semv = d;
14318 MenhirLib.EngineTypes.startp = _startpos_d_;
14319 MenhirLib.EngineTypes.endp = _endpos_d_;
14320 MenhirLib.EngineTypes.next = _menhir_stack;
14321 } = _menhir_stack in
14322 let d : (
14323 # 76 "parser_cocci_menhir.mly"
14324 (Data.clt)
14325 # 14326 "parser_cocci_menhir.ml"
14326 ) = Obj.magic d in
14327 let _startpos = _startpos_d_ in
14328 let _endpos = _endpos_d_ in
14329 let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ =
14330 # 2019 "parser_cocci_menhir.mly"
14331 ( (d,None) )
14332 # 14333 "parser_cocci_menhir.ml"
14333 in
14334 _menhir_env.MenhirLib.EngineTypes.stack <- {
14335 MenhirLib.EngineTypes.state = _menhir_s;
14336 MenhirLib.EngineTypes.semv = Obj.repr _v;
14337 MenhirLib.EngineTypes.startp = _startpos;
14338 MenhirLib.EngineTypes.endp = _endpos;
14339 MenhirLib.EngineTypes.next = _menhir_stack;
14340 });
14341 (fun _menhir_env ->
14342 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14343 let {
14344 MenhirLib.EngineTypes.startp = _startpos__5_;
14345 MenhirLib.EngineTypes.endp = _endpos__5_;
14346 MenhirLib.EngineTypes.next = {
14347 MenhirLib.EngineTypes.semv = w;
14348 MenhirLib.EngineTypes.startp = _startpos_w_;
14349 MenhirLib.EngineTypes.endp = _endpos_w_;
14350 MenhirLib.EngineTypes.next = {
14351 MenhirLib.EngineTypes.startp = _startpos__3_;
14352 MenhirLib.EngineTypes.endp = _endpos__3_;
14353 MenhirLib.EngineTypes.next = {
14354 MenhirLib.EngineTypes.startp = _startpos__2_;
14355 MenhirLib.EngineTypes.endp = _endpos__2_;
14356 MenhirLib.EngineTypes.next = {
14357 MenhirLib.EngineTypes.state = _menhir_s;
14358 MenhirLib.EngineTypes.semv = d;
14359 MenhirLib.EngineTypes.startp = _startpos_d_;
14360 MenhirLib.EngineTypes.endp = _endpos_d_;
14361 MenhirLib.EngineTypes.next = _menhir_stack;
14362 };
14363 };
14364 };
14365 };
14366 } = _menhir_stack in
14367 let w : 'tv_enum_decl_one = Obj.magic w in
14368 let d : (
14369 # 76 "parser_cocci_menhir.mly"
14370 (Data.clt)
14371 # 14372 "parser_cocci_menhir.ml"
14372 ) = Obj.magic d in
14373 let _startpos = _startpos_d_ in
14374 let _endpos = _endpos__5_ in
14375 let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ =
14376 # 2020 "parser_cocci_menhir.mly"
14377 ( (d,Some w) )
14378 # 14379 "parser_cocci_menhir.ml"
14379 in
14380 _menhir_env.MenhirLib.EngineTypes.stack <- {
14381 MenhirLib.EngineTypes.state = _menhir_s;
14382 MenhirLib.EngineTypes.semv = Obj.repr _v;
14383 MenhirLib.EngineTypes.startp = _startpos;
14384 MenhirLib.EngineTypes.endp = _endpos;
14385 MenhirLib.EngineTypes.next = _menhir_stack;
14386 });
14387 (fun _menhir_env ->
14388 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14389 let {
14390 MenhirLib.EngineTypes.state = _menhir_s;
14391 MenhirLib.EngineTypes.semv = d;
14392 MenhirLib.EngineTypes.startp = _startpos_d_;
14393 MenhirLib.EngineTypes.endp = _endpos_d_;
14394 MenhirLib.EngineTypes.next = _menhir_stack;
14395 } = _menhir_stack in
14396 let d : (
14397 # 76 "parser_cocci_menhir.mly"
14398 (Data.clt)
14399 # 14400 "parser_cocci_menhir.ml"
14400 ) = Obj.magic d in
14401 let _startpos = _startpos_d_ in
14402 let _endpos = _endpos_d_ in
14403 let _v : 'tv_edots_when_TEllipsis_initialize_ =
14404 # 2019 "parser_cocci_menhir.mly"
14405 ( (d,None) )
14406 # 14407 "parser_cocci_menhir.ml"
14407 in
14408 _menhir_env.MenhirLib.EngineTypes.stack <- {
14409 MenhirLib.EngineTypes.state = _menhir_s;
14410 MenhirLib.EngineTypes.semv = Obj.repr _v;
14411 MenhirLib.EngineTypes.startp = _startpos;
14412 MenhirLib.EngineTypes.endp = _endpos;
14413 MenhirLib.EngineTypes.next = _menhir_stack;
14414 });
14415 (fun _menhir_env ->
14416 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14417 let {
14418 MenhirLib.EngineTypes.startp = _startpos__5_;
14419 MenhirLib.EngineTypes.endp = _endpos__5_;
14420 MenhirLib.EngineTypes.next = {
14421 MenhirLib.EngineTypes.semv = w;
14422 MenhirLib.EngineTypes.startp = _startpos_w_;
14423 MenhirLib.EngineTypes.endp = _endpos_w_;
14424 MenhirLib.EngineTypes.next = {
14425 MenhirLib.EngineTypes.startp = _startpos__3_;
14426 MenhirLib.EngineTypes.endp = _endpos__3_;
14427 MenhirLib.EngineTypes.next = {
14428 MenhirLib.EngineTypes.startp = _startpos__2_;
14429 MenhirLib.EngineTypes.endp = _endpos__2_;
14430 MenhirLib.EngineTypes.next = {
14431 MenhirLib.EngineTypes.state = _menhir_s;
14432 MenhirLib.EngineTypes.semv = d;
14433 MenhirLib.EngineTypes.startp = _startpos_d_;
14434 MenhirLib.EngineTypes.endp = _endpos_d_;
14435 MenhirLib.EngineTypes.next = _menhir_stack;
14436 };
14437 };
14438 };
14439 };
14440 } = _menhir_stack in
14441 let w : 'tv_initialize = Obj.magic w in
14442 let d : (
14443 # 76 "parser_cocci_menhir.mly"
14444 (Data.clt)
14445 # 14446 "parser_cocci_menhir.ml"
14446 ) = Obj.magic d in
14447 let _startpos = _startpos_d_ in
14448 let _endpos = _endpos__5_ in
14449 let _v : 'tv_edots_when_TEllipsis_initialize_ =
14450 # 2020 "parser_cocci_menhir.mly"
14451 ( (d,Some w) )
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.state = _menhir_s;
14465 MenhirLib.EngineTypes.semv = d;
14466 MenhirLib.EngineTypes.startp = _startpos_d_;
14467 MenhirLib.EngineTypes.endp = _endpos_d_;
14468 MenhirLib.EngineTypes.next = _menhir_stack;
14469 } = _menhir_stack in
14470 let d : (
14471 # 76 "parser_cocci_menhir.mly"
14472 (Data.clt)
14473 # 14474 "parser_cocci_menhir.ml"
14474 ) = Obj.magic d in
14475 let _startpos = _startpos_d_ in
14476 let _endpos = _endpos_d_ in
14477 let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ =
14478 # 2019 "parser_cocci_menhir.mly"
14479 ( (d,None) )
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.startp = _startpos__5_;
14493 MenhirLib.EngineTypes.endp = _endpos__5_;
14494 MenhirLib.EngineTypes.next = {
14495 MenhirLib.EngineTypes.semv = w;
14496 MenhirLib.EngineTypes.startp = _startpos_w_;
14497 MenhirLib.EngineTypes.endp = _endpos_w_;
14498 MenhirLib.EngineTypes.next = {
14499 MenhirLib.EngineTypes.startp = _startpos__3_;
14500 MenhirLib.EngineTypes.endp = _endpos__3_;
14501 MenhirLib.EngineTypes.next = {
14502 MenhirLib.EngineTypes.startp = _startpos__2_;
14503 MenhirLib.EngineTypes.endp = _endpos__2_;
14504 MenhirLib.EngineTypes.next = {
14505 MenhirLib.EngineTypes.state = _menhir_s;
14506 MenhirLib.EngineTypes.semv = d;
14507 MenhirLib.EngineTypes.startp = _startpos_d_;
14508 MenhirLib.EngineTypes.endp = _endpos_d_;
14509 MenhirLib.EngineTypes.next = _menhir_stack;
14510 };
14511 };
14512 };
14513 };
14514 } = _menhir_stack in
14515 let w : 'tv_struct_decl_one = Obj.magic w in
14516 let d : (
14517 # 76 "parser_cocci_menhir.mly"
14518 (Data.clt)
14519 # 14520 "parser_cocci_menhir.ml"
14520 ) = Obj.magic d in
14521 let _startpos = _startpos_d_ in
14522 let _endpos = _endpos__5_ in
14523 let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ =
14524 # 2020 "parser_cocci_menhir.mly"
14525 ( (d,Some w) )
14526 # 14527 "parser_cocci_menhir.ml"
14527 in
14528 _menhir_env.MenhirLib.EngineTypes.stack <- {
14529 MenhirLib.EngineTypes.state = _menhir_s;
14530 MenhirLib.EngineTypes.semv = Obj.repr _v;
14531 MenhirLib.EngineTypes.startp = _startpos;
14532 MenhirLib.EngineTypes.endp = _endpos;
14533 MenhirLib.EngineTypes.next = _menhir_stack;
14534 });
14535 (fun _menhir_env ->
14536 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14537 let {
14538 MenhirLib.EngineTypes.state = _menhir_s;
14539 MenhirLib.EngineTypes.semv = _1;
14540 MenhirLib.EngineTypes.startp = _startpos__1_;
14541 MenhirLib.EngineTypes.endp = _endpos__1_;
14542 MenhirLib.EngineTypes.next = _menhir_stack;
14543 } = _menhir_stack in
14544 let _1 : 'tv_basic_expr_eexpr_dot_expressions_ = Obj.magic _1 in
14545 let _startpos = _startpos__1_ in
14546 let _endpos = _endpos__1_ in
14547 let _v : 'tv_eexpr =
14548 # 1266 "parser_cocci_menhir.mly"
14549 ( _1 )
14550 # 14551 "parser_cocci_menhir.ml"
14551 in
14552 _menhir_env.MenhirLib.EngineTypes.stack <- {
14553 MenhirLib.EngineTypes.state = _menhir_s;
14554 MenhirLib.EngineTypes.semv = Obj.repr _v;
14555 MenhirLib.EngineTypes.startp = _startpos;
14556 MenhirLib.EngineTypes.endp = _endpos;
14557 MenhirLib.EngineTypes.next = _menhir_stack;
14558 });
14559 (fun _menhir_env ->
14560 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14561 let {
14562 MenhirLib.EngineTypes.state = _menhir_s;
14563 MenhirLib.EngineTypes.semv = _1;
14564 MenhirLib.EngineTypes.startp = _startpos__1_;
14565 MenhirLib.EngineTypes.endp = _endpos__1_;
14566 MenhirLib.EngineTypes.next = _menhir_stack;
14567 } = _menhir_stack in
14568 let _1 : 'tv_empty_list_start_aexpr_TEllipsis_ = Obj.magic _1 in
14569 let _startpos = _startpos__1_ in
14570 let _endpos = _endpos__1_ in
14571 let _v : 'tv_eexpr_list_option =
14572 # 1999 "parser_cocci_menhir.mly"
14573 ( Ast0.wrap
14574 (Ast0.DOTS
14575 (_1
14576 (fun _ d -> Ast0.wrap(Ast0.Edots(P.clt2mcode "..." d,None)))
14577 (fun c -> Ast0.EComma c))) )
14578 # 14579 "parser_cocci_menhir.ml"
14579 in
14580 _menhir_env.MenhirLib.EngineTypes.stack <- {
14581 MenhirLib.EngineTypes.state = _menhir_s;
14582 MenhirLib.EngineTypes.semv = Obj.repr _v;
14583 MenhirLib.EngineTypes.startp = _startpos;
14584 MenhirLib.EngineTypes.endp = _endpos;
14585 MenhirLib.EngineTypes.next = _menhir_stack;
14586 });
14587 (fun _menhir_env ->
14588 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14589 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14590 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14591 let _endpos = _startpos in
14592 let _v : 'tv_empty_list_start_aexpr_TEllipsis_ =
14593 # 1761 "parser_cocci_menhir.mly"
14594 ( fun build_dots build_comma -> [] )
14595 # 14596 "parser_cocci_menhir.ml"
14596 in
14597 _menhir_env.MenhirLib.EngineTypes.stack <- {
14598 MenhirLib.EngineTypes.state = _menhir_s;
14599 MenhirLib.EngineTypes.semv = Obj.repr _v;
14600 MenhirLib.EngineTypes.startp = _startpos;
14601 MenhirLib.EngineTypes.endp = _endpos;
14602 MenhirLib.EngineTypes.next = _menhir_stack;
14603 });
14604 (fun _menhir_env ->
14605 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14606 let {
14607 MenhirLib.EngineTypes.state = _menhir_s;
14608 MenhirLib.EngineTypes.semv = _1;
14609 MenhirLib.EngineTypes.startp = _startpos__1_;
14610 MenhirLib.EngineTypes.endp = _endpos__1_;
14611 MenhirLib.EngineTypes.next = _menhir_stack;
14612 } = _menhir_stack in
14613 let _1 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _1 in
14614 let _startpos = _startpos__1_ in
14615 let _endpos = _endpos__1_ in
14616 let _v : 'tv_empty_list_start_aexpr_TEllipsis_ =
14617 # 1762 "parser_cocci_menhir.mly"
14618 ( _1 )
14619 # 14620 "parser_cocci_menhir.ml"
14620 in
14621 _menhir_env.MenhirLib.EngineTypes.stack <- {
14622 MenhirLib.EngineTypes.state = _menhir_s;
14623 MenhirLib.EngineTypes.semv = Obj.repr _v;
14624 MenhirLib.EngineTypes.startp = _startpos;
14625 MenhirLib.EngineTypes.endp = _endpos;
14626 MenhirLib.EngineTypes.next = _menhir_stack;
14627 });
14628 (fun _menhir_env ->
14629 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14630 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14631 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14632 let _endpos = _startpos in
14633 let _v : 'tv_empty_list_start_dparam_TEllipsis_ =
14634 # 1761 "parser_cocci_menhir.mly"
14635 ( fun build_dots build_comma -> [] )
14636 # 14637 "parser_cocci_menhir.ml"
14637 in
14638 _menhir_env.MenhirLib.EngineTypes.stack <- {
14639 MenhirLib.EngineTypes.state = _menhir_s;
14640 MenhirLib.EngineTypes.semv = Obj.repr _v;
14641 MenhirLib.EngineTypes.startp = _startpos;
14642 MenhirLib.EngineTypes.endp = _endpos;
14643 MenhirLib.EngineTypes.next = _menhir_stack;
14644 });
14645 (fun _menhir_env ->
14646 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14647 let {
14648 MenhirLib.EngineTypes.state = _menhir_s;
14649 MenhirLib.EngineTypes.semv = _1;
14650 MenhirLib.EngineTypes.startp = _startpos__1_;
14651 MenhirLib.EngineTypes.endp = _endpos__1_;
14652 MenhirLib.EngineTypes.next = _menhir_stack;
14653 } = _menhir_stack in
14654 let _1 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _1 in
14655 let _startpos = _startpos__1_ in
14656 let _endpos = _endpos__1_ in
14657 let _v : 'tv_empty_list_start_dparam_TEllipsis_ =
14658 # 1762 "parser_cocci_menhir.mly"
14659 ( _1 )
14660 # 14661 "parser_cocci_menhir.ml"
14661 in
14662 _menhir_env.MenhirLib.EngineTypes.stack <- {
14663 MenhirLib.EngineTypes.state = _menhir_s;
14664 MenhirLib.EngineTypes.semv = Obj.repr _v;
14665 MenhirLib.EngineTypes.startp = _startpos;
14666 MenhirLib.EngineTypes.endp = _endpos;
14667 MenhirLib.EngineTypes.next = _menhir_stack;
14668 });
14669 (fun _menhir_env ->
14670 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14671 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14672 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14673 let _endpos = _startpos in
14674 let _v : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
14675 # 1761 "parser_cocci_menhir.mly"
14676 ( fun build_dots build_comma -> [] )
14677 # 14678 "parser_cocci_menhir.ml"
14678 in
14679 _menhir_env.MenhirLib.EngineTypes.stack <- {
14680 MenhirLib.EngineTypes.state = _menhir_s;
14681 MenhirLib.EngineTypes.semv = Obj.repr _v;
14682 MenhirLib.EngineTypes.startp = _startpos;
14683 MenhirLib.EngineTypes.endp = _endpos;
14684 MenhirLib.EngineTypes.next = _menhir_stack;
14685 });
14686 (fun _menhir_env ->
14687 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14688 let {
14689 MenhirLib.EngineTypes.state = _menhir_s;
14690 MenhirLib.EngineTypes.semv = _1;
14691 MenhirLib.EngineTypes.startp = _startpos__1_;
14692 MenhirLib.EngineTypes.endp = _endpos__1_;
14693 MenhirLib.EngineTypes.next = _menhir_stack;
14694 } = _menhir_stack in
14695 let _1 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _1 in
14696 let _startpos = _startpos__1_ in
14697 let _endpos = _endpos__1_ in
14698 let _v : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
14699 # 1762 "parser_cocci_menhir.mly"
14700 ( _1 )
14701 # 14702 "parser_cocci_menhir.ml"
14702 in
14703 _menhir_env.MenhirLib.EngineTypes.stack <- {
14704 MenhirLib.EngineTypes.state = _menhir_s;
14705 MenhirLib.EngineTypes.semv = Obj.repr _v;
14706 MenhirLib.EngineTypes.startp = _startpos;
14707 MenhirLib.EngineTypes.endp = _endpos;
14708 MenhirLib.EngineTypes.next = _menhir_stack;
14709 });
14710 (fun _menhir_env ->
14711 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14712 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14713 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14714 let _endpos = _startpos in
14715 let _v : 'tv_empty_list_start_one_dec_decl__TEllipsis_ =
14716 # 1761 "parser_cocci_menhir.mly"
14717 ( fun build_dots build_comma -> [] )
14718 # 14719 "parser_cocci_menhir.ml"
14719 in
14720 _menhir_env.MenhirLib.EngineTypes.stack <- {
14721 MenhirLib.EngineTypes.state = _menhir_s;
14722 MenhirLib.EngineTypes.semv = Obj.repr _v;
14723 MenhirLib.EngineTypes.startp = _startpos;
14724 MenhirLib.EngineTypes.endp = _endpos;
14725 MenhirLib.EngineTypes.next = _menhir_stack;
14726 });
14727 (fun _menhir_env ->
14728 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14729 let {
14730 MenhirLib.EngineTypes.state = _menhir_s;
14731 MenhirLib.EngineTypes.semv = _1;
14732 MenhirLib.EngineTypes.startp = _startpos__1_;
14733 MenhirLib.EngineTypes.endp = _endpos__1_;
14734 MenhirLib.EngineTypes.next = _menhir_stack;
14735 } = _menhir_stack in
14736 let _1 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _1 in
14737 let _startpos = _startpos__1_ in
14738 let _endpos = _endpos__1_ in
14739 let _v : 'tv_empty_list_start_one_dec_decl__TEllipsis_ =
14740 # 1762 "parser_cocci_menhir.mly"
14741 ( _1 )
14742 # 14743 "parser_cocci_menhir.ml"
14743 in
14744 _menhir_env.MenhirLib.EngineTypes.stack <- {
14745 MenhirLib.EngineTypes.state = _menhir_s;
14746 MenhirLib.EngineTypes.semv = Obj.repr _v;
14747 MenhirLib.EngineTypes.startp = _startpos;
14748 MenhirLib.EngineTypes.endp = _endpos;
14749 MenhirLib.EngineTypes.next = _menhir_stack;
14750 });
14751 (fun _menhir_env ->
14752 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14753 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14754 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14755 let _endpos = _startpos in
14756 let _v : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ =
14757 # 1761 "parser_cocci_menhir.mly"
14758 ( fun build_dots build_comma -> [] )
14759 # 14760 "parser_cocci_menhir.ml"
14760 in
14761 _menhir_env.MenhirLib.EngineTypes.stack <- {
14762 MenhirLib.EngineTypes.state = _menhir_s;
14763 MenhirLib.EngineTypes.semv = Obj.repr _v;
14764 MenhirLib.EngineTypes.startp = _startpos;
14765 MenhirLib.EngineTypes.endp = _endpos;
14766 MenhirLib.EngineTypes.next = _menhir_stack;
14767 });
14768 (fun _menhir_env ->
14769 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14770 let {
14771 MenhirLib.EngineTypes.state = _menhir_s;
14772 MenhirLib.EngineTypes.semv = _1;
14773 MenhirLib.EngineTypes.startp = _startpos__1_;
14774 MenhirLib.EngineTypes.endp = _endpos__1_;
14775 MenhirLib.EngineTypes.next = _menhir_stack;
14776 } = _menhir_stack in
14777 let _1 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _1 in
14778 let _startpos = _startpos__1_ in
14779 let _endpos = _endpos__1_ in
14780 let _v : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ =
14781 # 1762 "parser_cocci_menhir.mly"
14782 ( _1 )
14783 # 14784 "parser_cocci_menhir.ml"
14784 in
14785 _menhir_env.MenhirLib.EngineTypes.stack <- {
14786 MenhirLib.EngineTypes.state = _menhir_s;
14787 MenhirLib.EngineTypes.semv = Obj.repr _v;
14788 MenhirLib.EngineTypes.startp = _startpos;
14789 MenhirLib.EngineTypes.endp = _endpos;
14790 MenhirLib.EngineTypes.next = _menhir_stack;
14791 });
14792 (fun _menhir_env ->
14793 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14794 let {
14795 MenhirLib.EngineTypes.state = _menhir_s;
14796 MenhirLib.EngineTypes.semv = _1;
14797 MenhirLib.EngineTypes.startp = _startpos__1_;
14798 MenhirLib.EngineTypes.endp = _endpos__1_;
14799 MenhirLib.EngineTypes.next = _menhir_stack;
14800 } = _menhir_stack in
14801 let _1 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _1 in
14802 let _startpos = _startpos__1_ in
14803 let _endpos = _endpos__1_ in
14804 let _v : 'tv_enum_decl_list =
14805 # 694 "parser_cocci_menhir.mly"
14806 ( Ast0.wrap(Ast0.DOTS(_1 P.mkedots (fun c -> Ast0.EComma c))) )
14807 # 14808 "parser_cocci_menhir.ml"
14808 in
14809 _menhir_env.MenhirLib.EngineTypes.stack <- {
14810 MenhirLib.EngineTypes.state = _menhir_s;
14811 MenhirLib.EngineTypes.semv = Obj.repr _v;
14812 MenhirLib.EngineTypes.startp = _startpos;
14813 MenhirLib.EngineTypes.endp = _endpos;
14814 MenhirLib.EngineTypes.next = _menhir_stack;
14815 });
14816 (fun _menhir_env ->
14817 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14818 let {
14819 MenhirLib.EngineTypes.state = _menhir_s;
14820 MenhirLib.EngineTypes.semv = _1;
14821 MenhirLib.EngineTypes.startp = _startpos__1_;
14822 MenhirLib.EngineTypes.endp = _endpos__1_;
14823 MenhirLib.EngineTypes.next = _menhir_stack;
14824 } = _menhir_stack in
14825 let _1 : 'tv_ident = Obj.magic _1 in
14826 let _startpos = _startpos__1_ in
14827 let _endpos = _endpos__1_ in
14828 let _v : 'tv_enum_decl_one =
14829 # 666 "parser_cocci_menhir.mly"
14830 ( Ast0.wrap(Ast0.Ident(_1)) )
14831 # 14832 "parser_cocci_menhir.ml"
14832 in
14833 _menhir_env.MenhirLib.EngineTypes.stack <- {
14834 MenhirLib.EngineTypes.state = _menhir_s;
14835 MenhirLib.EngineTypes.semv = Obj.repr _v;
14836 MenhirLib.EngineTypes.startp = _startpos;
14837 MenhirLib.EngineTypes.endp = _endpos;
14838 MenhirLib.EngineTypes.next = _menhir_stack;
14839 });
14840 (fun _menhir_env ->
14841 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14842 let {
14843 MenhirLib.EngineTypes.semv = _3;
14844 MenhirLib.EngineTypes.startp = _startpos__3_;
14845 MenhirLib.EngineTypes.endp = _endpos__3_;
14846 MenhirLib.EngineTypes.next = {
14847 MenhirLib.EngineTypes.semv = _2;
14848 MenhirLib.EngineTypes.startp = _startpos__2_;
14849 MenhirLib.EngineTypes.endp = _endpos__2_;
14850 MenhirLib.EngineTypes.next = {
14851 MenhirLib.EngineTypes.state = _menhir_s;
14852 MenhirLib.EngineTypes.semv = _1;
14853 MenhirLib.EngineTypes.startp = _startpos__1_;
14854 MenhirLib.EngineTypes.endp = _endpos__1_;
14855 MenhirLib.EngineTypes.next = _menhir_stack;
14856 };
14857 };
14858 } = _menhir_stack in
14859 let _3 : 'tv_enum_val = Obj.magic _3 in
14860 let _2 : (
14861 # 110 "parser_cocci_menhir.mly"
14862 (Data.clt)
14863 # 14864 "parser_cocci_menhir.ml"
14864 ) = Obj.magic _2 in
14865 let _1 : 'tv_ident = Obj.magic _1 in
14866 let _startpos = _startpos__1_ in
14867 let _endpos = _endpos__3_ in
14868 let _v : 'tv_enum_decl_one =
14869 # 668 "parser_cocci_menhir.mly"
14870 ( let id = Ast0.wrap(Ast0.Ident(_1)) in
14871 Ast0.wrap
14872 (Ast0.Assignment
14873 (id,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,
14874 false)) )
14875 # 14876 "parser_cocci_menhir.ml"
14876 in
14877 _menhir_env.MenhirLib.EngineTypes.stack <- {
14878 MenhirLib.EngineTypes.state = _menhir_s;
14879 MenhirLib.EngineTypes.semv = Obj.repr _v;
14880 MenhirLib.EngineTypes.startp = _startpos;
14881 MenhirLib.EngineTypes.endp = _endpos;
14882 MenhirLib.EngineTypes.next = _menhir_stack;
14883 });
14884 (fun _menhir_env ->
14885 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14886 let {
14887 MenhirLib.EngineTypes.state = _menhir_s;
14888 MenhirLib.EngineTypes.semv = _1;
14889 MenhirLib.EngineTypes.startp = _startpos__1_;
14890 MenhirLib.EngineTypes.endp = _endpos__1_;
14891 MenhirLib.EngineTypes.next = _menhir_stack;
14892 } = _menhir_stack in
14893 let _1 : 'tv_ident = Obj.magic _1 in
14894 let _startpos = _startpos__1_ in
14895 let _endpos = _endpos__1_ in
14896 let _v : 'tv_enum_val =
14897 # 675 "parser_cocci_menhir.mly"
14898 ( Ast0.wrap(Ast0.Ident(_1)) )
14899 # 14900 "parser_cocci_menhir.ml"
14900 in
14901 _menhir_env.MenhirLib.EngineTypes.stack <- {
14902 MenhirLib.EngineTypes.state = _menhir_s;
14903 MenhirLib.EngineTypes.semv = Obj.repr _v;
14904 MenhirLib.EngineTypes.startp = _startpos;
14905 MenhirLib.EngineTypes.endp = _endpos;
14906 MenhirLib.EngineTypes.next = _menhir_stack;
14907 });
14908 (fun _menhir_env ->
14909 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14910 let {
14911 MenhirLib.EngineTypes.state = _menhir_s;
14912 MenhirLib.EngineTypes.semv = _1;
14913 MenhirLib.EngineTypes.startp = _startpos__1_;
14914 MenhirLib.EngineTypes.endp = _endpos__1_;
14915 MenhirLib.EngineTypes.next = _menhir_stack;
14916 } = _menhir_stack in
14917 let _1 : (
14918 # 90 "parser_cocci_menhir.mly"
14919 (string * Data.clt)
14920 # 14921 "parser_cocci_menhir.ml"
14921 ) = Obj.magic _1 in
14922 let _startpos = _startpos__1_ in
14923 let _endpos = _endpos__1_ in
14924 let _v : 'tv_enum_val =
14925 # 677 "parser_cocci_menhir.mly"
14926 ( let (x,clt) = _1 in
14927 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
14928 # 14929 "parser_cocci_menhir.ml"
14929 in
14930 _menhir_env.MenhirLib.EngineTypes.stack <- {
14931 MenhirLib.EngineTypes.state = _menhir_s;
14932 MenhirLib.EngineTypes.semv = Obj.repr _v;
14933 MenhirLib.EngineTypes.startp = _startpos;
14934 MenhirLib.EngineTypes.endp = _endpos;
14935 MenhirLib.EngineTypes.next = _menhir_stack;
14936 });
14937 (fun _menhir_env ->
14938 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14939 let {
14940 MenhirLib.EngineTypes.state = _menhir_s;
14941 MenhirLib.EngineTypes.semv = _1;
14942 MenhirLib.EngineTypes.startp = _startpos__1_;
14943 MenhirLib.EngineTypes.endp = _endpos__1_;
14944 MenhirLib.EngineTypes.next = _menhir_stack;
14945 } = _menhir_stack in
14946 let _1 : (
14947 # 70 "parser_cocci_menhir.mly"
14948 (Parse_aux.typed_expinfo)
14949 # 14950 "parser_cocci_menhir.ml"
14950 ) = Obj.magic _1 in
14951 let _startpos = _startpos__1_ in
14952 let _endpos = _endpos__1_ in
14953 let _v : 'tv_enum_val =
14954 # 680 "parser_cocci_menhir.mly"
14955 ( let (nm,constraints,pure,ty,clt) = _1 in
14956 Ast0.wrap
14957 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
14958 # 14959 "parser_cocci_menhir.ml"
14959 in
14960 _menhir_env.MenhirLib.EngineTypes.stack <- {
14961 MenhirLib.EngineTypes.state = _menhir_s;
14962 MenhirLib.EngineTypes.semv = Obj.repr _v;
14963 MenhirLib.EngineTypes.startp = _startpos;
14964 MenhirLib.EngineTypes.endp = _endpos;
14965 MenhirLib.EngineTypes.next = _menhir_stack;
14966 });
14967 (fun _menhir_env ->
14968 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14969 let {
14970 MenhirLib.EngineTypes.state = _menhir_s;
14971 MenhirLib.EngineTypes.semv = _1;
14972 MenhirLib.EngineTypes.startp = _startpos__1_;
14973 MenhirLib.EngineTypes.endp = _endpos__1_;
14974 MenhirLib.EngineTypes.next = _menhir_stack;
14975 } = _menhir_stack in
14976 let _1 : (
14977 # 70 "parser_cocci_menhir.mly"
14978 (Parse_aux.typed_expinfo)
14979 # 14980 "parser_cocci_menhir.ml"
14980 ) = Obj.magic _1 in
14981 let _startpos = _startpos__1_ in
14982 let _endpos = _endpos__1_ in
14983 let _v : 'tv_enum_val =
14984 # 684 "parser_cocci_menhir.mly"
14985 ( let (nm,constraints,pure,ty,clt) = _1 in
14986 Ast0.wrap
14987 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
14988 # 14989 "parser_cocci_menhir.ml"
14989 in
14990 _menhir_env.MenhirLib.EngineTypes.stack <- {
14991 MenhirLib.EngineTypes.state = _menhir_s;
14992 MenhirLib.EngineTypes.semv = Obj.repr _v;
14993 MenhirLib.EngineTypes.startp = _startpos;
14994 MenhirLib.EngineTypes.endp = _endpos;
14995 MenhirLib.EngineTypes.next = _menhir_stack;
14996 });
14997 (fun _menhir_env ->
14998 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14999 let {
15000 MenhirLib.EngineTypes.state = _menhir_s;
15001 MenhirLib.EngineTypes.semv = _1;
15002 MenhirLib.EngineTypes.startp = _startpos__1_;
15003 MenhirLib.EngineTypes.endp = _endpos__1_;
15004 MenhirLib.EngineTypes.next = _menhir_stack;
15005 } = _menhir_stack in
15006 let _1 : (
15007 # 70 "parser_cocci_menhir.mly"
15008 (Parse_aux.typed_expinfo)
15009 # 15010 "parser_cocci_menhir.ml"
15010 ) = Obj.magic _1 in
15011 let _startpos = _startpos__1_ in
15012 let _endpos = _endpos__1_ in
15013 let _v : 'tv_enum_val =
15014 # 688 "parser_cocci_menhir.mly"
15015 ( let (nm,constraints,pure,ty,clt) = _1 in
15016 Ast0.wrap
15017 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
15018 # 15019 "parser_cocci_menhir.ml"
15019 in
15020 _menhir_env.MenhirLib.EngineTypes.stack <- {
15021 MenhirLib.EngineTypes.state = _menhir_s;
15022 MenhirLib.EngineTypes.semv = Obj.repr _v;
15023 MenhirLib.EngineTypes.startp = _startpos;
15024 MenhirLib.EngineTypes.endp = _endpos;
15025 MenhirLib.EngineTypes.next = _menhir_stack;
15026 });
15027 (fun _menhir_env ->
15028 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15029 let {
15030 MenhirLib.EngineTypes.state = _menhir_s;
15031 MenhirLib.EngineTypes.startp = _startpos__1_;
15032 MenhirLib.EngineTypes.endp = _endpos__1_;
15033 MenhirLib.EngineTypes.next = _menhir_stack;
15034 } = _menhir_stack in
15035 let _startpos = _startpos__1_ in
15036 let _endpos = _endpos__1_ in
15037 let _v : 'tv_exists =
15038 # 248 "parser_cocci_menhir.mly"
15039 ( Ast.Exists )
15040 # 15041 "parser_cocci_menhir.ml"
15041 in
15042 _menhir_env.MenhirLib.EngineTypes.stack <- {
15043 MenhirLib.EngineTypes.state = _menhir_s;
15044 MenhirLib.EngineTypes.semv = Obj.repr _v;
15045 MenhirLib.EngineTypes.startp = _startpos;
15046 MenhirLib.EngineTypes.endp = _endpos;
15047 MenhirLib.EngineTypes.next = _menhir_stack;
15048 });
15049 (fun _menhir_env ->
15050 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15051 let {
15052 MenhirLib.EngineTypes.state = _menhir_s;
15053 MenhirLib.EngineTypes.startp = _startpos__1_;
15054 MenhirLib.EngineTypes.endp = _endpos__1_;
15055 MenhirLib.EngineTypes.next = _menhir_stack;
15056 } = _menhir_stack in
15057 let _startpos = _startpos__1_ in
15058 let _endpos = _endpos__1_ in
15059 let _v : 'tv_exists =
15060 # 249 "parser_cocci_menhir.mly"
15061 ( Ast.Forall )
15062 # 15063 "parser_cocci_menhir.ml"
15063 in
15064 _menhir_env.MenhirLib.EngineTypes.stack <- {
15065 MenhirLib.EngineTypes.state = _menhir_s;
15066 MenhirLib.EngineTypes.semv = Obj.repr _v;
15067 MenhirLib.EngineTypes.startp = _startpos;
15068 MenhirLib.EngineTypes.endp = _endpos;
15069 MenhirLib.EngineTypes.next = _menhir_stack;
15070 });
15071 (fun _menhir_env ->
15072 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15073 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15074 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15075 let _endpos = _startpos in
15076 let _v : 'tv_exists =
15077 # 250 "parser_cocci_menhir.mly"
15078 ( Ast.Undetermined )
15079 # 15080 "parser_cocci_menhir.ml"
15080 in
15081 _menhir_env.MenhirLib.EngineTypes.stack <- {
15082 MenhirLib.EngineTypes.state = _menhir_s;
15083 MenhirLib.EngineTypes.semv = Obj.repr _v;
15084 MenhirLib.EngineTypes.startp = _startpos;
15085 MenhirLib.EngineTypes.endp = _endpos;
15086 MenhirLib.EngineTypes.next = _menhir_stack;
15087 });
15088 (fun _menhir_env ->
15089 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15090 let {
15091 MenhirLib.EngineTypes.state = _menhir_s;
15092 MenhirLib.EngineTypes.semv = _1;
15093 MenhirLib.EngineTypes.startp = _startpos__1_;
15094 MenhirLib.EngineTypes.endp = _endpos__1_;
15095 MenhirLib.EngineTypes.next = _menhir_stack;
15096 } = _menhir_stack in
15097 let _1 : 'tv_basic_expr_expr_invalid_ = Obj.magic _1 in
15098 let _startpos = _startpos__1_ in
15099 let _endpos = _endpos__1_ in
15100 let _v : 'tv_expr =
15101 # 1264 "parser_cocci_menhir.mly"
15102 ( _1 )
15103 # 15104 "parser_cocci_menhir.ml"
15104 in
15105 _menhir_env.MenhirLib.EngineTypes.stack <- {
15106 MenhirLib.EngineTypes.state = _menhir_s;
15107 MenhirLib.EngineTypes.semv = Obj.repr _v;
15108 MenhirLib.EngineTypes.startp = _startpos;
15109 MenhirLib.EngineTypes.endp = _endpos;
15110 MenhirLib.EngineTypes.next = _menhir_stack;
15111 });
15112 (fun _menhir_env ->
15113 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15114 let {
15115 MenhirLib.EngineTypes.state = _menhir_s;
15116 MenhirLib.EngineTypes.semv = r;
15117 MenhirLib.EngineTypes.startp = _startpos_r_;
15118 MenhirLib.EngineTypes.endp = _endpos_r_;
15119 MenhirLib.EngineTypes.next = _menhir_stack;
15120 } = _menhir_stack in
15121 let r : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = Obj.magic r in
15122 let _startpos = _startpos_r_ in
15123 let _endpos = _endpos_r_ in
15124 let _v : 'tv_expr_dots_TEllipsis_ =
15125 # 1448 "parser_cocci_menhir.mly"
15126 ( r )
15127 # 15128 "parser_cocci_menhir.ml"
15128 in
15129 _menhir_env.MenhirLib.EngineTypes.stack <- {
15130 MenhirLib.EngineTypes.state = _menhir_s;
15131 MenhirLib.EngineTypes.semv = Obj.repr _v;
15132 MenhirLib.EngineTypes.startp = _startpos;
15133 MenhirLib.EngineTypes.endp = _endpos;
15134 MenhirLib.EngineTypes.next = _menhir_stack;
15135 });
15136 (fun _menhir_env ->
15137 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15138 let {
15139 MenhirLib.EngineTypes.state = _menhir_s;
15140 MenhirLib.EngineTypes.semv = m;
15141 MenhirLib.EngineTypes.startp = _startpos_m_;
15142 MenhirLib.EngineTypes.endp = _endpos_m_;
15143 MenhirLib.EngineTypes.next = _menhir_stack;
15144 } = _menhir_stack in
15145 let m : 'tv_nonempty_list_TMul_ = Obj.magic m in
15146 let _startpos = _startpos_m_ in
15147 let _endpos = _endpos_m_ in
15148 let _v : 'tv_expression_type =
15149 # 474 "parser_cocci_menhir.mly"
15150 ( P.ty_pointerify Type_cocci.Unknown m )
15151 # 15152 "parser_cocci_menhir.ml"
15152 in
15153 _menhir_env.MenhirLib.EngineTypes.stack <- {
15154 MenhirLib.EngineTypes.state = _menhir_s;
15155 MenhirLib.EngineTypes.semv = Obj.repr _v;
15156 MenhirLib.EngineTypes.startp = _startpos;
15157 MenhirLib.EngineTypes.endp = _endpos;
15158 MenhirLib.EngineTypes.next = _menhir_stack;
15159 });
15160 (fun _menhir_env ->
15161 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15162 let {
15163 MenhirLib.EngineTypes.semv = m;
15164 MenhirLib.EngineTypes.startp = _startpos_m_;
15165 MenhirLib.EngineTypes.endp = _endpos_m_;
15166 MenhirLib.EngineTypes.next = {
15167 MenhirLib.EngineTypes.state = _menhir_s;
15168 MenhirLib.EngineTypes.startp = _startpos__1_;
15169 MenhirLib.EngineTypes.endp = _endpos__1_;
15170 MenhirLib.EngineTypes.next = _menhir_stack;
15171 };
15172 } = _menhir_stack in
15173 let m : 'tv_list_TMul_ = Obj.magic m in
15174 let _startpos = _startpos__1_ in
15175 let _endpos = _endpos_m_ in
15176 let _v : 'tv_expression_type =
15177 # 476 "parser_cocci_menhir.mly"
15178 ( P.ty_pointerify (Type_cocci.EnumName Type_cocci.NoName) m )
15179 # 15180 "parser_cocci_menhir.ml"
15180 in
15181 _menhir_env.MenhirLib.EngineTypes.stack <- {
15182 MenhirLib.EngineTypes.state = _menhir_s;
15183 MenhirLib.EngineTypes.semv = Obj.repr _v;
15184 MenhirLib.EngineTypes.startp = _startpos;
15185 MenhirLib.EngineTypes.endp = _endpos;
15186 MenhirLib.EngineTypes.next = _menhir_stack;
15187 });
15188 (fun _menhir_env ->
15189 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15190 let {
15191 MenhirLib.EngineTypes.semv = m;
15192 MenhirLib.EngineTypes.startp = _startpos_m_;
15193 MenhirLib.EngineTypes.endp = _endpos_m_;
15194 MenhirLib.EngineTypes.next = {
15195 MenhirLib.EngineTypes.state = _menhir_s;
15196 MenhirLib.EngineTypes.startp = _startpos__1_;
15197 MenhirLib.EngineTypes.endp = _endpos__1_;
15198 MenhirLib.EngineTypes.next = _menhir_stack;
15199 };
15200 } = _menhir_stack in
15201 let m : 'tv_list_TMul_ = Obj.magic m in
15202 let _startpos = _startpos__1_ in
15203 let _endpos = _endpos_m_ in
15204 let _v : 'tv_expression_type =
15205 # 478 "parser_cocci_menhir.mly"
15206 ( P.ty_pointerify
15207 (Type_cocci.StructUnionName (Type_cocci.Struct,Type_cocci.NoName)) m )
15208 # 15209 "parser_cocci_menhir.ml"
15209 in
15210 _menhir_env.MenhirLib.EngineTypes.stack <- {
15211 MenhirLib.EngineTypes.state = _menhir_s;
15212 MenhirLib.EngineTypes.semv = Obj.repr _v;
15213 MenhirLib.EngineTypes.startp = _startpos;
15214 MenhirLib.EngineTypes.endp = _endpos;
15215 MenhirLib.EngineTypes.next = _menhir_stack;
15216 });
15217 (fun _menhir_env ->
15218 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15219 let {
15220 MenhirLib.EngineTypes.semv = m;
15221 MenhirLib.EngineTypes.startp = _startpos_m_;
15222 MenhirLib.EngineTypes.endp = _endpos_m_;
15223 MenhirLib.EngineTypes.next = {
15224 MenhirLib.EngineTypes.state = _menhir_s;
15225 MenhirLib.EngineTypes.startp = _startpos__1_;
15226 MenhirLib.EngineTypes.endp = _endpos__1_;
15227 MenhirLib.EngineTypes.next = _menhir_stack;
15228 };
15229 } = _menhir_stack in
15230 let m : 'tv_list_TMul_ = Obj.magic m in
15231 let _startpos = _startpos__1_ in
15232 let _endpos = _endpos_m_ in
15233 let _v : 'tv_expression_type =
15234 # 481 "parser_cocci_menhir.mly"
15235 ( P.ty_pointerify
15236 (Type_cocci.StructUnionName (Type_cocci.Union,Type_cocci.NoName)) m )
15237 # 15238 "parser_cocci_menhir.ml"
15238 in
15239 _menhir_env.MenhirLib.EngineTypes.stack <- {
15240 MenhirLib.EngineTypes.state = _menhir_s;
15241 MenhirLib.EngineTypes.semv = Obj.repr _v;
15242 MenhirLib.EngineTypes.startp = _startpos;
15243 MenhirLib.EngineTypes.endp = _endpos;
15244 MenhirLib.EngineTypes.next = _menhir_stack;
15245 });
15246 (fun _menhir_env ->
15247 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15248 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15249 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15250 let _endpos = _startpos in
15251 let _v : 'tv_extends =
15252 # 221 "parser_cocci_menhir.mly"
15253 ( () )
15254 # 15255 "parser_cocci_menhir.ml"
15255 in
15256 _menhir_env.MenhirLib.EngineTypes.stack <- {
15257 MenhirLib.EngineTypes.state = _menhir_s;
15258 MenhirLib.EngineTypes.semv = Obj.repr _v;
15259 MenhirLib.EngineTypes.startp = _startpos;
15260 MenhirLib.EngineTypes.endp = _endpos;
15261 MenhirLib.EngineTypes.next = _menhir_stack;
15262 });
15263 (fun _menhir_env ->
15264 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15265 let {
15266 MenhirLib.EngineTypes.semv = parent;
15267 MenhirLib.EngineTypes.startp = _startpos_parent_;
15268 MenhirLib.EngineTypes.endp = _endpos_parent_;
15269 MenhirLib.EngineTypes.next = {
15270 MenhirLib.EngineTypes.state = _menhir_s;
15271 MenhirLib.EngineTypes.startp = _startpos__1_;
15272 MenhirLib.EngineTypes.endp = _endpos__1_;
15273 MenhirLib.EngineTypes.next = _menhir_stack;
15274 };
15275 } = _menhir_stack in
15276 let parent : (
15277 # 49 "parser_cocci_menhir.mly"
15278 (string)
15279 # 15280 "parser_cocci_menhir.ml"
15280 ) = Obj.magic parent in
15281 let _startpos = _startpos__1_ in
15282 let _endpos = _endpos_parent_ in
15283 let _v : 'tv_extends =
15284 # 223 "parser_cocci_menhir.mly"
15285 ( !Data.install_bindings (parent) )
15286 # 15287 "parser_cocci_menhir.ml"
15287 in
15288 _menhir_env.MenhirLib.EngineTypes.stack <- {
15289 MenhirLib.EngineTypes.state = _menhir_s;
15290 MenhirLib.EngineTypes.semv = Obj.repr _v;
15291 MenhirLib.EngineTypes.startp = _startpos;
15292 MenhirLib.EngineTypes.endp = _endpos;
15293 MenhirLib.EngineTypes.next = _menhir_stack;
15294 });
15295 (fun _menhir_env ->
15296 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15297 let {
15298 MenhirLib.EngineTypes.semv = _2;
15299 MenhirLib.EngineTypes.startp = _startpos__2_;
15300 MenhirLib.EngineTypes.endp = _endpos__2_;
15301 MenhirLib.EngineTypes.next = {
15302 MenhirLib.EngineTypes.state = _menhir_s;
15303 MenhirLib.EngineTypes.semv = _1;
15304 MenhirLib.EngineTypes.startp = _startpos__1_;
15305 MenhirLib.EngineTypes.endp = _endpos__1_;
15306 MenhirLib.EngineTypes.next = _menhir_stack;
15307 };
15308 } = _menhir_stack in
15309 let _2 : (
15310 # 86 "parser_cocci_menhir.mly"
15311 (string * Data.clt)
15312 # 15313 "parser_cocci_menhir.ml"
15313 ) = Obj.magic _2 in
15314 let _1 : (
15315 # 86 "parser_cocci_menhir.mly"
15316 (string * Data.clt)
15317 # 15318 "parser_cocci_menhir.ml"
15318 ) = Obj.magic _1 in
15319 let _startpos = _startpos__1_ in
15320 let _endpos = _endpos__2_ in
15321 let _v : 'tv_filespec =
15322 # 731 "parser_cocci_menhir.mly"
15323 ( [Ast0.wrap
15324 (Ast0.FILEINFO(P.id2mcode _1,
15325 P.id2mcode _2))] )
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 _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15338 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15339 let _endpos = _startpos in
15340 let _v : 'tv_fninfo =
15341 # 852 "parser_cocci_menhir.mly"
15342 ( [] )
15343 # 15344 "parser_cocci_menhir.ml"
15344 in
15345 _menhir_env.MenhirLib.EngineTypes.stack <- {
15346 MenhirLib.EngineTypes.state = _menhir_s;
15347 MenhirLib.EngineTypes.semv = Obj.repr _v;
15348 MenhirLib.EngineTypes.startp = _startpos;
15349 MenhirLib.EngineTypes.endp = _endpos;
15350 MenhirLib.EngineTypes.next = _menhir_stack;
15351 });
15352 (fun _menhir_env ->
15353 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15354 let {
15355 MenhirLib.EngineTypes.semv = _2;
15356 MenhirLib.EngineTypes.startp = _startpos__2_;
15357 MenhirLib.EngineTypes.endp = _endpos__2_;
15358 MenhirLib.EngineTypes.next = {
15359 MenhirLib.EngineTypes.state = _menhir_s;
15360 MenhirLib.EngineTypes.semv = _1;
15361 MenhirLib.EngineTypes.startp = _startpos__1_;
15362 MenhirLib.EngineTypes.endp = _endpos__1_;
15363 MenhirLib.EngineTypes.next = _menhir_stack;
15364 };
15365 } = _menhir_stack in
15366 let _2 : 'tv_fninfo = Obj.magic _2 in
15367 let _1 : 'tv_storage = Obj.magic _1 in
15368 let _startpos = _startpos__1_ in
15369 let _endpos = _endpos__2_ in
15370 let _v : 'tv_fninfo =
15371 # 854 "parser_cocci_menhir.mly"
15372 ( try
15373 let _ =
15374 List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
15375 raise (Semantic_cocci.Semantic "duplicate storage")
15376 with Not_found -> (Ast0.FStorage(_1))::_2 )
15377 # 15378 "parser_cocci_menhir.ml"
15378 in
15379 _menhir_env.MenhirLib.EngineTypes.stack <- {
15380 MenhirLib.EngineTypes.state = _menhir_s;
15381 MenhirLib.EngineTypes.semv = Obj.repr _v;
15382 MenhirLib.EngineTypes.startp = _startpos;
15383 MenhirLib.EngineTypes.endp = _endpos;
15384 MenhirLib.EngineTypes.next = _menhir_stack;
15385 });
15386 (fun _menhir_env ->
15387 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15388 let {
15389 MenhirLib.EngineTypes.semv = r;
15390 MenhirLib.EngineTypes.startp = _startpos_r_;
15391 MenhirLib.EngineTypes.endp = _endpos_r_;
15392 MenhirLib.EngineTypes.next = {
15393 MenhirLib.EngineTypes.state = _menhir_s;
15394 MenhirLib.EngineTypes.semv = t;
15395 MenhirLib.EngineTypes.startp = _startpos_t_;
15396 MenhirLib.EngineTypes.endp = _endpos_t_;
15397 MenhirLib.EngineTypes.next = _menhir_stack;
15398 };
15399 } = _menhir_stack in
15400 let r : 'tv_fninfo_nt = Obj.magic r in
15401 let t : 'tv_ctype = Obj.magic t in
15402 let _startpos = _startpos_t_ in
15403 let _endpos = _endpos_r_ in
15404 let _v : 'tv_fninfo =
15405 # 859 "parser_cocci_menhir.mly"
15406 ( (Ast0.FType(t))::r )
15407 # 15408 "parser_cocci_menhir.ml"
15408 in
15409 _menhir_env.MenhirLib.EngineTypes.stack <- {
15410 MenhirLib.EngineTypes.state = _menhir_s;
15411 MenhirLib.EngineTypes.semv = Obj.repr _v;
15412 MenhirLib.EngineTypes.startp = _startpos;
15413 MenhirLib.EngineTypes.endp = _endpos;
15414 MenhirLib.EngineTypes.next = _menhir_stack;
15415 });
15416 (fun _menhir_env ->
15417 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15418 let {
15419 MenhirLib.EngineTypes.semv = _2;
15420 MenhirLib.EngineTypes.startp = _startpos__2_;
15421 MenhirLib.EngineTypes.endp = _endpos__2_;
15422 MenhirLib.EngineTypes.next = {
15423 MenhirLib.EngineTypes.state = _menhir_s;
15424 MenhirLib.EngineTypes.semv = _1;
15425 MenhirLib.EngineTypes.startp = _startpos__1_;
15426 MenhirLib.EngineTypes.endp = _endpos__1_;
15427 MenhirLib.EngineTypes.next = _menhir_stack;
15428 };
15429 } = _menhir_stack in
15430 let _2 : 'tv_fninfo = Obj.magic _2 in
15431 let _1 : (
15432 # 55 "parser_cocci_menhir.mly"
15433 (Data.clt)
15434 # 15435 "parser_cocci_menhir.ml"
15435 ) = Obj.magic _1 in
15436 let _startpos = _startpos__1_ in
15437 let _endpos = _endpos__2_ in
15438 let _v : 'tv_fninfo =
15439 # 861 "parser_cocci_menhir.mly"
15440 ( try
15441 let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
15442 raise (Semantic_cocci.Semantic "duplicate inline")
15443 with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
15444 # 15445 "parser_cocci_menhir.ml"
15445 in
15446 _menhir_env.MenhirLib.EngineTypes.stack <- {
15447 MenhirLib.EngineTypes.state = _menhir_s;
15448 MenhirLib.EngineTypes.semv = Obj.repr _v;
15449 MenhirLib.EngineTypes.startp = _startpos;
15450 MenhirLib.EngineTypes.endp = _endpos;
15451 MenhirLib.EngineTypes.next = _menhir_stack;
15452 });
15453 (fun _menhir_env ->
15454 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15455 let {
15456 MenhirLib.EngineTypes.semv = _2;
15457 MenhirLib.EngineTypes.startp = _startpos__2_;
15458 MenhirLib.EngineTypes.endp = _endpos__2_;
15459 MenhirLib.EngineTypes.next = {
15460 MenhirLib.EngineTypes.state = _menhir_s;
15461 MenhirLib.EngineTypes.semv = _1;
15462 MenhirLib.EngineTypes.startp = _startpos__1_;
15463 MenhirLib.EngineTypes.endp = _endpos__1_;
15464 MenhirLib.EngineTypes.next = _menhir_stack;
15465 };
15466 } = _menhir_stack in
15467 let _2 : 'tv_fninfo = Obj.magic _2 in
15468 let _1 : (
15469 # 57 "parser_cocci_menhir.mly"
15470 (string * Data.clt)
15471 # 15472 "parser_cocci_menhir.ml"
15472 ) = Obj.magic _1 in
15473 let _startpos = _startpos__1_ in
15474 let _endpos = _endpos__2_ in
15475 let _v : 'tv_fninfo =
15476 # 866 "parser_cocci_menhir.mly"
15477 ( try
15478 let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
15479 raise (Semantic_cocci.Semantic "multiple attributes")
15480 with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
15481 # 15482 "parser_cocci_menhir.ml"
15482 in
15483 _menhir_env.MenhirLib.EngineTypes.stack <- {
15484 MenhirLib.EngineTypes.state = _menhir_s;
15485 MenhirLib.EngineTypes.semv = Obj.repr _v;
15486 MenhirLib.EngineTypes.startp = _startpos;
15487 MenhirLib.EngineTypes.endp = _endpos;
15488 MenhirLib.EngineTypes.next = _menhir_stack;
15489 });
15490 (fun _menhir_env ->
15491 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15492 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15493 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15494 let _endpos = _startpos in
15495 let _v : 'tv_fninfo_nt =
15496 # 872 "parser_cocci_menhir.mly"
15497 ( [] )
15498 # 15499 "parser_cocci_menhir.ml"
15499 in
15500 _menhir_env.MenhirLib.EngineTypes.stack <- {
15501 MenhirLib.EngineTypes.state = _menhir_s;
15502 MenhirLib.EngineTypes.semv = Obj.repr _v;
15503 MenhirLib.EngineTypes.startp = _startpos;
15504 MenhirLib.EngineTypes.endp = _endpos;
15505 MenhirLib.EngineTypes.next = _menhir_stack;
15506 });
15507 (fun _menhir_env ->
15508 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15509 let {
15510 MenhirLib.EngineTypes.semv = _2;
15511 MenhirLib.EngineTypes.startp = _startpos__2_;
15512 MenhirLib.EngineTypes.endp = _endpos__2_;
15513 MenhirLib.EngineTypes.next = {
15514 MenhirLib.EngineTypes.state = _menhir_s;
15515 MenhirLib.EngineTypes.semv = _1;
15516 MenhirLib.EngineTypes.startp = _startpos__1_;
15517 MenhirLib.EngineTypes.endp = _endpos__1_;
15518 MenhirLib.EngineTypes.next = _menhir_stack;
15519 };
15520 } = _menhir_stack in
15521 let _2 : 'tv_fninfo_nt = Obj.magic _2 in
15522 let _1 : 'tv_storage = Obj.magic _1 in
15523 let _startpos = _startpos__1_ in
15524 let _endpos = _endpos__2_ in
15525 let _v : 'tv_fninfo_nt =
15526 # 874 "parser_cocci_menhir.mly"
15527 ( try
15528 let _ =
15529 List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
15530 raise (Semantic_cocci.Semantic "duplicate storage")
15531 with Not_found -> (Ast0.FStorage(_1))::_2 )
15532 # 15533 "parser_cocci_menhir.ml"
15533 in
15534 _menhir_env.MenhirLib.EngineTypes.stack <- {
15535 MenhirLib.EngineTypes.state = _menhir_s;
15536 MenhirLib.EngineTypes.semv = Obj.repr _v;
15537 MenhirLib.EngineTypes.startp = _startpos;
15538 MenhirLib.EngineTypes.endp = _endpos;
15539 MenhirLib.EngineTypes.next = _menhir_stack;
15540 });
15541 (fun _menhir_env ->
15542 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15543 let {
15544 MenhirLib.EngineTypes.semv = _2;
15545 MenhirLib.EngineTypes.startp = _startpos__2_;
15546 MenhirLib.EngineTypes.endp = _endpos__2_;
15547 MenhirLib.EngineTypes.next = {
15548 MenhirLib.EngineTypes.state = _menhir_s;
15549 MenhirLib.EngineTypes.semv = _1;
15550 MenhirLib.EngineTypes.startp = _startpos__1_;
15551 MenhirLib.EngineTypes.endp = _endpos__1_;
15552 MenhirLib.EngineTypes.next = _menhir_stack;
15553 };
15554 } = _menhir_stack in
15555 let _2 : 'tv_fninfo_nt = Obj.magic _2 in
15556 let _1 : (
15557 # 55 "parser_cocci_menhir.mly"
15558 (Data.clt)
15559 # 15560 "parser_cocci_menhir.ml"
15560 ) = Obj.magic _1 in
15561 let _startpos = _startpos__1_ in
15562 let _endpos = _endpos__2_ in
15563 let _v : 'tv_fninfo_nt =
15564 # 880 "parser_cocci_menhir.mly"
15565 ( try
15566 let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
15567 raise (Semantic_cocci.Semantic "duplicate inline")
15568 with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
15569 # 15570 "parser_cocci_menhir.ml"
15570 in
15571 _menhir_env.MenhirLib.EngineTypes.stack <- {
15572 MenhirLib.EngineTypes.state = _menhir_s;
15573 MenhirLib.EngineTypes.semv = Obj.repr _v;
15574 MenhirLib.EngineTypes.startp = _startpos;
15575 MenhirLib.EngineTypes.endp = _endpos;
15576 MenhirLib.EngineTypes.next = _menhir_stack;
15577 });
15578 (fun _menhir_env ->
15579 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15580 let {
15581 MenhirLib.EngineTypes.semv = _2;
15582 MenhirLib.EngineTypes.startp = _startpos__2_;
15583 MenhirLib.EngineTypes.endp = _endpos__2_;
15584 MenhirLib.EngineTypes.next = {
15585 MenhirLib.EngineTypes.state = _menhir_s;
15586 MenhirLib.EngineTypes.semv = _1;
15587 MenhirLib.EngineTypes.startp = _startpos__1_;
15588 MenhirLib.EngineTypes.endp = _endpos__1_;
15589 MenhirLib.EngineTypes.next = _menhir_stack;
15590 };
15591 } = _menhir_stack in
15592 let _2 : 'tv_fninfo_nt = Obj.magic _2 in
15593 let _1 : (
15594 # 57 "parser_cocci_menhir.mly"
15595 (string * Data.clt)
15596 # 15597 "parser_cocci_menhir.ml"
15597 ) = Obj.magic _1 in
15598 let _startpos = _startpos__1_ in
15599 let _endpos = _endpos__2_ in
15600 let _v : 'tv_fninfo_nt =
15601 # 885 "parser_cocci_menhir.mly"
15602 ( try
15603 let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
15604 raise (Semantic_cocci.Semantic "duplicate init")
15605 with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
15606 # 15607 "parser_cocci_menhir.ml"
15607 in
15608 _menhir_env.MenhirLib.EngineTypes.stack <- {
15609 MenhirLib.EngineTypes.state = _menhir_s;
15610 MenhirLib.EngineTypes.semv = Obj.repr _v;
15611 MenhirLib.EngineTypes.startp = _startpos;
15612 MenhirLib.EngineTypes.endp = _endpos;
15613 MenhirLib.EngineTypes.next = _menhir_stack;
15614 });
15615 (fun _menhir_env ->
15616 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15617 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15618 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15619 let _endpos = _startpos in
15620 let _v : 'tv_fun_after_dots =
15621 # 1932 "parser_cocci_menhir.mly"
15622 ([])
15623 # 15624 "parser_cocci_menhir.ml"
15624 in
15625 _menhir_env.MenhirLib.EngineTypes.stack <- {
15626 MenhirLib.EngineTypes.state = _menhir_s;
15627 MenhirLib.EngineTypes.semv = Obj.repr _v;
15628 MenhirLib.EngineTypes.startp = _startpos;
15629 MenhirLib.EngineTypes.endp = _endpos;
15630 MenhirLib.EngineTypes.next = _menhir_stack;
15631 });
15632 (fun _menhir_env ->
15633 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15634 let {
15635 MenhirLib.EngineTypes.semv = _2;
15636 MenhirLib.EngineTypes.startp = _startpos__2_;
15637 MenhirLib.EngineTypes.endp = _endpos__2_;
15638 MenhirLib.EngineTypes.next = {
15639 MenhirLib.EngineTypes.state = _menhir_s;
15640 MenhirLib.EngineTypes.startp = _startpos__1_;
15641 MenhirLib.EngineTypes.endp = _endpos__1_;
15642 MenhirLib.EngineTypes.next = _menhir_stack;
15643 };
15644 } = _menhir_stack in
15645 let _2 : 'tv_fun_after_exp = Obj.magic _2 in
15646 let _startpos = _startpos__1_ in
15647 let _endpos = _endpos__2_ in
15648 let _v : 'tv_fun_after_dots =
15649 # 1933 "parser_cocci_menhir.mly"
15650 (_2)
15651 # 15652 "parser_cocci_menhir.ml"
15652 in
15653 _menhir_env.MenhirLib.EngineTypes.stack <- {
15654 MenhirLib.EngineTypes.state = _menhir_s;
15655 MenhirLib.EngineTypes.semv = Obj.repr _v;
15656 MenhirLib.EngineTypes.startp = _startpos;
15657 MenhirLib.EngineTypes.endp = _endpos;
15658 MenhirLib.EngineTypes.next = _menhir_stack;
15659 });
15660 (fun _menhir_env ->
15661 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15662 let {
15663 MenhirLib.EngineTypes.semv = _2;
15664 MenhirLib.EngineTypes.startp = _startpos__2_;
15665 MenhirLib.EngineTypes.endp = _endpos__2_;
15666 MenhirLib.EngineTypes.next = {
15667 MenhirLib.EngineTypes.state = _menhir_s;
15668 MenhirLib.EngineTypes.semv = _1;
15669 MenhirLib.EngineTypes.startp = _startpos__1_;
15670 MenhirLib.EngineTypes.endp = _endpos__1_;
15671 MenhirLib.EngineTypes.next = _menhir_stack;
15672 };
15673 } = _menhir_stack in
15674 let _2 : 'tv_fun_after_exp = Obj.magic _2 in
15675 let _1 : 'tv_expr = Obj.magic _1 in
15676 let _startpos = _startpos__1_ in
15677 let _endpos = _endpos__2_ in
15678 let _v : 'tv_fun_after_dots =
15679 # 1934 "parser_cocci_menhir.mly"
15680 (Ast0.wrap(Ast0.Exp(_1))::_2)
15681 # 15682 "parser_cocci_menhir.ml"
15682 in
15683 _menhir_env.MenhirLib.EngineTypes.stack <- {
15684 MenhirLib.EngineTypes.state = _menhir_s;
15685 MenhirLib.EngineTypes.semv = Obj.repr _v;
15686 MenhirLib.EngineTypes.startp = _startpos;
15687 MenhirLib.EngineTypes.endp = _endpos;
15688 MenhirLib.EngineTypes.next = _menhir_stack;
15689 });
15690 (fun _menhir_env ->
15691 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15692 let {
15693 MenhirLib.EngineTypes.semv = _2;
15694 MenhirLib.EngineTypes.startp = _startpos__2_;
15695 MenhirLib.EngineTypes.endp = _endpos__2_;
15696 MenhirLib.EngineTypes.next = {
15697 MenhirLib.EngineTypes.state = _menhir_s;
15698 MenhirLib.EngineTypes.semv = _1;
15699 MenhirLib.EngineTypes.startp = _startpos__1_;
15700 MenhirLib.EngineTypes.endp = _endpos__1_;
15701 MenhirLib.EngineTypes.next = _menhir_stack;
15702 };
15703 } = _menhir_stack in
15704 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
15705 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
15706 let _startpos = _startpos__1_ in
15707 let _endpos = _endpos__2_ in
15708 let _v : 'tv_fun_after_dots =
15709 # 1935 "parser_cocci_menhir.mly"
15710 (_1@_2)
15711 # 15712 "parser_cocci_menhir.ml"
15712 in
15713 _menhir_env.MenhirLib.EngineTypes.stack <- {
15714 MenhirLib.EngineTypes.state = _menhir_s;
15715 MenhirLib.EngineTypes.semv = Obj.repr _v;
15716 MenhirLib.EngineTypes.startp = _startpos;
15717 MenhirLib.EngineTypes.endp = _endpos;
15718 MenhirLib.EngineTypes.next = _menhir_stack;
15719 });
15720 (fun _menhir_env ->
15721 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15722 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15723 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15724 let _endpos = _startpos in
15725 let _v : 'tv_fun_after_dots_or =
15726 # 1942 "parser_cocci_menhir.mly"
15727 ([])
15728 # 15729 "parser_cocci_menhir.ml"
15729 in
15730 _menhir_env.MenhirLib.EngineTypes.stack <- {
15731 MenhirLib.EngineTypes.state = _menhir_s;
15732 MenhirLib.EngineTypes.semv = Obj.repr _v;
15733 MenhirLib.EngineTypes.startp = _startpos;
15734 MenhirLib.EngineTypes.endp = _endpos;
15735 MenhirLib.EngineTypes.next = _menhir_stack;
15736 });
15737 (fun _menhir_env ->
15738 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15739 let {
15740 MenhirLib.EngineTypes.semv = _2;
15741 MenhirLib.EngineTypes.startp = _startpos__2_;
15742 MenhirLib.EngineTypes.endp = _endpos__2_;
15743 MenhirLib.EngineTypes.next = {
15744 MenhirLib.EngineTypes.state = _menhir_s;
15745 MenhirLib.EngineTypes.startp = _startpos__1_;
15746 MenhirLib.EngineTypes.endp = _endpos__1_;
15747 MenhirLib.EngineTypes.next = _menhir_stack;
15748 };
15749 } = _menhir_stack in
15750 let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
15751 let _startpos = _startpos__1_ in
15752 let _endpos = _endpos__2_ in
15753 let _v : 'tv_fun_after_dots_or =
15754 # 1943 "parser_cocci_menhir.mly"
15755 (_2)
15756 # 15757 "parser_cocci_menhir.ml"
15757 in
15758 _menhir_env.MenhirLib.EngineTypes.stack <- {
15759 MenhirLib.EngineTypes.state = _menhir_s;
15760 MenhirLib.EngineTypes.semv = Obj.repr _v;
15761 MenhirLib.EngineTypes.startp = _startpos;
15762 MenhirLib.EngineTypes.endp = _endpos;
15763 MenhirLib.EngineTypes.next = _menhir_stack;
15764 });
15765 (fun _menhir_env ->
15766 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15767 let {
15768 MenhirLib.EngineTypes.semv = _2;
15769 MenhirLib.EngineTypes.startp = _startpos__2_;
15770 MenhirLib.EngineTypes.endp = _endpos__2_;
15771 MenhirLib.EngineTypes.next = {
15772 MenhirLib.EngineTypes.state = _menhir_s;
15773 MenhirLib.EngineTypes.semv = _1;
15774 MenhirLib.EngineTypes.startp = _startpos__1_;
15775 MenhirLib.EngineTypes.endp = _endpos__1_;
15776 MenhirLib.EngineTypes.next = _menhir_stack;
15777 };
15778 } = _menhir_stack in
15779 let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
15780 let _1 : 'tv_expr = Obj.magic _1 in
15781 let _startpos = _startpos__1_ in
15782 let _endpos = _endpos__2_ in
15783 let _v : 'tv_fun_after_dots_or =
15784 # 1944 "parser_cocci_menhir.mly"
15785 (Ast0.wrap(Ast0.Exp(_1))::_2)
15786 # 15787 "parser_cocci_menhir.ml"
15787 in
15788 _menhir_env.MenhirLib.EngineTypes.stack <- {
15789 MenhirLib.EngineTypes.state = _menhir_s;
15790 MenhirLib.EngineTypes.semv = Obj.repr _v;
15791 MenhirLib.EngineTypes.startp = _startpos;
15792 MenhirLib.EngineTypes.endp = _endpos;
15793 MenhirLib.EngineTypes.next = _menhir_stack;
15794 });
15795 (fun _menhir_env ->
15796 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15797 let {
15798 MenhirLib.EngineTypes.semv = _2;
15799 MenhirLib.EngineTypes.startp = _startpos__2_;
15800 MenhirLib.EngineTypes.endp = _endpos__2_;
15801 MenhirLib.EngineTypes.next = {
15802 MenhirLib.EngineTypes.state = _menhir_s;
15803 MenhirLib.EngineTypes.semv = _1;
15804 MenhirLib.EngineTypes.startp = _startpos__1_;
15805 MenhirLib.EngineTypes.endp = _endpos__1_;
15806 MenhirLib.EngineTypes.next = _menhir_stack;
15807 };
15808 } = _menhir_stack in
15809 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
15810 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
15811 let _startpos = _startpos__1_ in
15812 let _endpos = _endpos__2_ in
15813 let _v : 'tv_fun_after_dots_or =
15814 # 1945 "parser_cocci_menhir.mly"
15815 (_1@_2)
15816 # 15817 "parser_cocci_menhir.ml"
15817 in
15818 _menhir_env.MenhirLib.EngineTypes.stack <- {
15819 MenhirLib.EngineTypes.state = _menhir_s;
15820 MenhirLib.EngineTypes.semv = Obj.repr _v;
15821 MenhirLib.EngineTypes.startp = _startpos;
15822 MenhirLib.EngineTypes.endp = _endpos;
15823 MenhirLib.EngineTypes.next = _menhir_stack;
15824 });
15825 (fun _menhir_env ->
15826 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15827 let {
15828 MenhirLib.EngineTypes.semv = _2;
15829 MenhirLib.EngineTypes.startp = _startpos__2_;
15830 MenhirLib.EngineTypes.endp = _endpos__2_;
15831 MenhirLib.EngineTypes.next = {
15832 MenhirLib.EngineTypes.state = _menhir_s;
15833 MenhirLib.EngineTypes.semv = _1;
15834 MenhirLib.EngineTypes.startp = _startpos__1_;
15835 MenhirLib.EngineTypes.endp = _endpos__1_;
15836 MenhirLib.EngineTypes.next = _menhir_stack;
15837 };
15838 } = _menhir_stack in
15839 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
15840 let _1 : 'tv_stm_dots = Obj.magic _1 in
15841 let _startpos = _startpos__1_ in
15842 let _endpos = _endpos__2_ in
15843 let _v : 'tv_fun_after_exp =
15844 # 1938 "parser_cocci_menhir.mly"
15845 (_1::_2)
15846 # 15847 "parser_cocci_menhir.ml"
15847 in
15848 _menhir_env.MenhirLib.EngineTypes.stack <- {
15849 MenhirLib.EngineTypes.state = _menhir_s;
15850 MenhirLib.EngineTypes.semv = Obj.repr _v;
15851 MenhirLib.EngineTypes.startp = _startpos;
15852 MenhirLib.EngineTypes.endp = _endpos;
15853 MenhirLib.EngineTypes.next = _menhir_stack;
15854 });
15855 (fun _menhir_env ->
15856 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15857 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15858 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15859 let _endpos = _startpos in
15860 let _v : 'tv_fun_after_exp_or =
15861 # 1948 "parser_cocci_menhir.mly"
15862 ([])
15863 # 15864 "parser_cocci_menhir.ml"
15864 in
15865 _menhir_env.MenhirLib.EngineTypes.stack <- {
15866 MenhirLib.EngineTypes.state = _menhir_s;
15867 MenhirLib.EngineTypes.semv = Obj.repr _v;
15868 MenhirLib.EngineTypes.startp = _startpos;
15869 MenhirLib.EngineTypes.endp = _endpos;
15870 MenhirLib.EngineTypes.next = _menhir_stack;
15871 });
15872 (fun _menhir_env ->
15873 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15874 let {
15875 MenhirLib.EngineTypes.semv = _2;
15876 MenhirLib.EngineTypes.startp = _startpos__2_;
15877 MenhirLib.EngineTypes.endp = _endpos__2_;
15878 MenhirLib.EngineTypes.next = {
15879 MenhirLib.EngineTypes.state = _menhir_s;
15880 MenhirLib.EngineTypes.semv = _1;
15881 MenhirLib.EngineTypes.startp = _startpos__1_;
15882 MenhirLib.EngineTypes.endp = _endpos__1_;
15883 MenhirLib.EngineTypes.next = _menhir_stack;
15884 };
15885 } = _menhir_stack in
15886 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
15887 let _1 : 'tv_stm_dots = Obj.magic _1 in
15888 let _startpos = _startpos__1_ in
15889 let _endpos = _endpos__2_ in
15890 let _v : 'tv_fun_after_exp_or =
15891 # 1949 "parser_cocci_menhir.mly"
15892 (_1::_2)
15893 # 15894 "parser_cocci_menhir.ml"
15894 in
15895 _menhir_env.MenhirLib.EngineTypes.stack <- {
15896 MenhirLib.EngineTypes.state = _menhir_s;
15897 MenhirLib.EngineTypes.semv = Obj.repr _v;
15898 MenhirLib.EngineTypes.startp = _startpos;
15899 MenhirLib.EngineTypes.endp = _endpos;
15900 MenhirLib.EngineTypes.next = _menhir_stack;
15901 });
15902 (fun _menhir_env ->
15903 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15904 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15905 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15906 let _endpos = _startpos in
15907 let _v : 'tv_fun_after_stm =
15908 # 1927 "parser_cocci_menhir.mly"
15909 ([])
15910 # 15911 "parser_cocci_menhir.ml"
15911 in
15912 _menhir_env.MenhirLib.EngineTypes.stack <- {
15913 MenhirLib.EngineTypes.state = _menhir_s;
15914 MenhirLib.EngineTypes.semv = Obj.repr _v;
15915 MenhirLib.EngineTypes.startp = _startpos;
15916 MenhirLib.EngineTypes.endp = _endpos;
15917 MenhirLib.EngineTypes.next = _menhir_stack;
15918 });
15919 (fun _menhir_env ->
15920 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15921 let {
15922 MenhirLib.EngineTypes.semv = _2;
15923 MenhirLib.EngineTypes.startp = _startpos__2_;
15924 MenhirLib.EngineTypes.endp = _endpos__2_;
15925 MenhirLib.EngineTypes.next = {
15926 MenhirLib.EngineTypes.state = _menhir_s;
15927 MenhirLib.EngineTypes.semv = _1;
15928 MenhirLib.EngineTypes.startp = _startpos__1_;
15929 MenhirLib.EngineTypes.endp = _endpos__1_;
15930 MenhirLib.EngineTypes.next = _menhir_stack;
15931 };
15932 } = _menhir_stack in
15933 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
15934 let _1 : 'tv_stm_dots = Obj.magic _1 in
15935 let _startpos = _startpos__1_ in
15936 let _endpos = _endpos__2_ in
15937 let _v : 'tv_fun_after_stm =
15938 # 1928 "parser_cocci_menhir.mly"
15939 (_1::_2)
15940 # 15941 "parser_cocci_menhir.ml"
15941 in
15942 _menhir_env.MenhirLib.EngineTypes.stack <- {
15943 MenhirLib.EngineTypes.state = _menhir_s;
15944 MenhirLib.EngineTypes.semv = Obj.repr _v;
15945 MenhirLib.EngineTypes.startp = _startpos;
15946 MenhirLib.EngineTypes.endp = _endpos;
15947 MenhirLib.EngineTypes.next = _menhir_stack;
15948 });
15949 (fun _menhir_env ->
15950 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15951 let {
15952 MenhirLib.EngineTypes.semv = _2;
15953 MenhirLib.EngineTypes.startp = _startpos__2_;
15954 MenhirLib.EngineTypes.endp = _endpos__2_;
15955 MenhirLib.EngineTypes.next = {
15956 MenhirLib.EngineTypes.state = _menhir_s;
15957 MenhirLib.EngineTypes.semv = _1;
15958 MenhirLib.EngineTypes.startp = _startpos__1_;
15959 MenhirLib.EngineTypes.endp = _endpos__1_;
15960 MenhirLib.EngineTypes.next = _menhir_stack;
15961 };
15962 } = _menhir_stack in
15963 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
15964 let _1 : 'tv_decl_statement = Obj.magic _1 in
15965 let _startpos = _startpos__1_ in
15966 let _endpos = _endpos__2_ in
15967 let _v : 'tv_fun_after_stm =
15968 # 1929 "parser_cocci_menhir.mly"
15969 (_1@_2)
15970 # 15971 "parser_cocci_menhir.ml"
15971 in
15972 _menhir_env.MenhirLib.EngineTypes.stack <- {
15973 MenhirLib.EngineTypes.state = _menhir_s;
15974 MenhirLib.EngineTypes.semv = Obj.repr _v;
15975 MenhirLib.EngineTypes.startp = _startpos;
15976 MenhirLib.EngineTypes.endp = _endpos;
15977 MenhirLib.EngineTypes.next = _menhir_stack;
15978 });
15979 (fun _menhir_env ->
15980 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15981 let {
15982 MenhirLib.EngineTypes.state = _menhir_s;
15983 MenhirLib.EngineTypes.semv = _1;
15984 MenhirLib.EngineTypes.startp = _startpos__1_;
15985 MenhirLib.EngineTypes.endp = _endpos__1_;
15986 MenhirLib.EngineTypes.next = _menhir_stack;
15987 } = _menhir_stack in
15988 let _1 : 'tv_fun_after_stm = Obj.magic _1 in
15989 let _startpos = _startpos__1_ in
15990 let _endpos = _endpos__1_ in
15991 let _v : 'tv_fun_start =
15992 # 1924 "parser_cocci_menhir.mly"
15993 ( Ast0.wrap(Ast0.DOTS(_1)) )
15994 # 15995 "parser_cocci_menhir.ml"
15995 in
15996 _menhir_env.MenhirLib.EngineTypes.stack <- {
15997 MenhirLib.EngineTypes.state = _menhir_s;
15998 MenhirLib.EngineTypes.semv = Obj.repr _v;
15999 MenhirLib.EngineTypes.startp = _startpos;
16000 MenhirLib.EngineTypes.endp = _endpos;
16001 MenhirLib.EngineTypes.next = _menhir_stack;
16002 });
16003 (fun _menhir_env ->
16004 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16005 let {
16006 MenhirLib.EngineTypes.state = _menhir_s;
16007 MenhirLib.EngineTypes.semv = _1;
16008 MenhirLib.EngineTypes.startp = _startpos__1_;
16009 MenhirLib.EngineTypes.endp = _endpos__1_;
16010 MenhirLib.EngineTypes.next = _menhir_stack;
16011 } = _menhir_stack in
16012 let _1 : 'tv_pure_ident = Obj.magic _1 in
16013 let _startpos = _startpos__1_ in
16014 let _endpos = _endpos__1_ in
16015 let _v : 'tv_func_ident =
16016 # 1690 "parser_cocci_menhir.mly"
16017 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
16018 # 16019 "parser_cocci_menhir.ml"
16019 in
16020 _menhir_env.MenhirLib.EngineTypes.stack <- {
16021 MenhirLib.EngineTypes.state = _menhir_s;
16022 MenhirLib.EngineTypes.semv = Obj.repr _v;
16023 MenhirLib.EngineTypes.startp = _startpos;
16024 MenhirLib.EngineTypes.endp = _endpos;
16025 MenhirLib.EngineTypes.next = _menhir_stack;
16026 });
16027 (fun _menhir_env ->
16028 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16029 let {
16030 MenhirLib.EngineTypes.state = _menhir_s;
16031 MenhirLib.EngineTypes.semv = _1;
16032 MenhirLib.EngineTypes.startp = _startpos__1_;
16033 MenhirLib.EngineTypes.endp = _endpos__1_;
16034 MenhirLib.EngineTypes.next = _menhir_stack;
16035 } = _menhir_stack in
16036 let _1 : (
16037 # 64 "parser_cocci_menhir.mly"
16038 (Parse_aux.idinfo)
16039 # 16040 "parser_cocci_menhir.ml"
16040 ) = Obj.magic _1 in
16041 let _startpos = _startpos__1_ in
16042 let _endpos = _endpos__1_ in
16043 let _v : 'tv_func_ident =
16044 # 1692 "parser_cocci_menhir.mly"
16045 ( let (nm,constraints,pure,clt) = _1 in
16046 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
16047 # 16048 "parser_cocci_menhir.ml"
16048 in
16049 _menhir_env.MenhirLib.EngineTypes.stack <- {
16050 MenhirLib.EngineTypes.state = _menhir_s;
16051 MenhirLib.EngineTypes.semv = Obj.repr _v;
16052 MenhirLib.EngineTypes.startp = _startpos;
16053 MenhirLib.EngineTypes.endp = _endpos;
16054 MenhirLib.EngineTypes.next = _menhir_stack;
16055 });
16056 (fun _menhir_env ->
16057 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16058 let {
16059 MenhirLib.EngineTypes.state = _menhir_s;
16060 MenhirLib.EngineTypes.semv = _1;
16061 MenhirLib.EngineTypes.startp = _startpos__1_;
16062 MenhirLib.EngineTypes.endp = _endpos__1_;
16063 MenhirLib.EngineTypes.next = _menhir_stack;
16064 } = _menhir_stack in
16065 let _1 : (
16066 # 64 "parser_cocci_menhir.mly"
16067 (Parse_aux.idinfo)
16068 # 16069 "parser_cocci_menhir.ml"
16069 ) = Obj.magic _1 in
16070 let _startpos = _startpos__1_ in
16071 let _endpos = _endpos__1_ in
16072 let _v : 'tv_func_ident =
16073 # 1695 "parser_cocci_menhir.mly"
16074 ( let (nm,constraints,pure,clt) = _1 in
16075 Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
16076 # 16077 "parser_cocci_menhir.ml"
16077 in
16078 _menhir_env.MenhirLib.EngineTypes.stack <- {
16079 MenhirLib.EngineTypes.state = _menhir_s;
16080 MenhirLib.EngineTypes.semv = Obj.repr _v;
16081 MenhirLib.EngineTypes.startp = _startpos;
16082 MenhirLib.EngineTypes.endp = _endpos;
16083 MenhirLib.EngineTypes.next = _menhir_stack;
16084 });
16085 (fun _menhir_env ->
16086 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16087 let {
16088 MenhirLib.EngineTypes.state = _menhir_s;
16089 MenhirLib.EngineTypes.semv = _1;
16090 MenhirLib.EngineTypes.startp = _startpos__1_;
16091 MenhirLib.EngineTypes.endp = _endpos__1_;
16092 MenhirLib.EngineTypes.next = _menhir_stack;
16093 } = _menhir_stack in
16094 let _1 : (
16095 # 64 "parser_cocci_menhir.mly"
16096 (Parse_aux.idinfo)
16097 # 16098 "parser_cocci_menhir.ml"
16098 ) = Obj.magic _1 in
16099 let _startpos = _startpos__1_ in
16100 let _endpos = _endpos__1_ in
16101 let _v : 'tv_func_ident =
16102 # 1698 "parser_cocci_menhir.mly"
16103 ( let (nm,constraints,pure,clt) = _1 in
16104 Ast0.wrap
16105 (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
16106 # 16107 "parser_cocci_menhir.ml"
16107 in
16108 _menhir_env.MenhirLib.EngineTypes.stack <- {
16109 MenhirLib.EngineTypes.state = _menhir_s;
16110 MenhirLib.EngineTypes.semv = Obj.repr _v;
16111 MenhirLib.EngineTypes.startp = _startpos;
16112 MenhirLib.EngineTypes.endp = _endpos;
16113 MenhirLib.EngineTypes.next = _menhir_stack;
16114 });
16115 (fun _menhir_env ->
16116 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16117 let {
16118 MenhirLib.EngineTypes.semv = rb;
16119 MenhirLib.EngineTypes.startp = _startpos_rb_;
16120 MenhirLib.EngineTypes.endp = _endpos_rb_;
16121 MenhirLib.EngineTypes.next = {
16122 MenhirLib.EngineTypes.semv = b;
16123 MenhirLib.EngineTypes.startp = _startpos_b_;
16124 MenhirLib.EngineTypes.endp = _endpos_b_;
16125 MenhirLib.EngineTypes.next = {
16126 MenhirLib.EngineTypes.semv = lb;
16127 MenhirLib.EngineTypes.startp = _startpos_lb_;
16128 MenhirLib.EngineTypes.endp = _endpos_lb_;
16129 MenhirLib.EngineTypes.next = {
16130 MenhirLib.EngineTypes.semv = rp;
16131 MenhirLib.EngineTypes.startp = _startpos_rp_;
16132 MenhirLib.EngineTypes.endp = _endpos_rp_;
16133 MenhirLib.EngineTypes.next = {
16134 MenhirLib.EngineTypes.semv = d;
16135 MenhirLib.EngineTypes.startp = _startpos_d_;
16136 MenhirLib.EngineTypes.endp = _endpos_d_;
16137 MenhirLib.EngineTypes.next = {
16138 MenhirLib.EngineTypes.semv = lp;
16139 MenhirLib.EngineTypes.startp = _startpos_lp_;
16140 MenhirLib.EngineTypes.endp = _endpos_lp_;
16141 MenhirLib.EngineTypes.next = {
16142 MenhirLib.EngineTypes.semv = i;
16143 MenhirLib.EngineTypes.startp = _startpos_i_;
16144 MenhirLib.EngineTypes.endp = _endpos_i_;
16145 MenhirLib.EngineTypes.next = {
16146 MenhirLib.EngineTypes.startp = _startpos__2_;
16147 MenhirLib.EngineTypes.endp = _endpos__2_;
16148 MenhirLib.EngineTypes.next = {
16149 MenhirLib.EngineTypes.state = _menhir_s;
16150 MenhirLib.EngineTypes.semv = f;
16151 MenhirLib.EngineTypes.startp = _startpos_f_;
16152 MenhirLib.EngineTypes.endp = _endpos_f_;
16153 MenhirLib.EngineTypes.next = _menhir_stack;
16154 };
16155 };
16156 };
16157 };
16158 };
16159 };
16160 };
16161 };
16162 } = _menhir_stack in
16163 let rb : (
16164 # 104 "parser_cocci_menhir.mly"
16165 (Data.clt)
16166 # 16167 "parser_cocci_menhir.ml"
16167 ) = Obj.magic rb in
16168 let b : 'tv_fun_start = Obj.magic b in
16169 let lb : (
16170 # 104 "parser_cocci_menhir.mly"
16171 (Data.clt)
16172 # 16173 "parser_cocci_menhir.ml"
16173 ) = Obj.magic lb in
16174 let rp : (
16175 # 80 "parser_cocci_menhir.mly"
16176 (Data.clt)
16177 # 16178 "parser_cocci_menhir.ml"
16178 ) = Obj.magic rp in
16179 let d : 'tv_decl_list_decl_ = Obj.magic d in
16180 let lp : (
16181 # 79 "parser_cocci_menhir.mly"
16182 (Data.clt)
16183 # 16184 "parser_cocci_menhir.ml"
16184 ) = Obj.magic lp in
16185 let i : 'tv_func_ident = Obj.magic i in
16186 let f : 'tv_fninfo = Obj.magic f in
16187 let _startpos = _startpos_f_ in
16188 let _endpos = _endpos_rb_ in
16189 let _v : 'tv_fundecl =
16190 # 843 "parser_cocci_menhir.mly"
16191 ( P.verify_parameter_declarations (Ast0.undots d);
16192 Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()),
16193 f, i,
16194 P.clt2mcode "(" lp, d,
16195 P.clt2mcode ")" rp,
16196 P.clt2mcode "{" lb, b,
16197 P.clt2mcode "}" rb)) )
16198 # 16199 "parser_cocci_menhir.ml"
16199 in
16200 _menhir_env.MenhirLib.EngineTypes.stack <- {
16201 MenhirLib.EngineTypes.state = _menhir_s;
16202 MenhirLib.EngineTypes.semv = Obj.repr _v;
16203 MenhirLib.EngineTypes.startp = _startpos;
16204 MenhirLib.EngineTypes.endp = _endpos;
16205 MenhirLib.EngineTypes.next = _menhir_stack;
16206 });
16207 (fun _menhir_env ->
16208 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16209 let {
16210 MenhirLib.EngineTypes.semv = pt;
16211 MenhirLib.EngineTypes.startp = _startpos_pt_;
16212 MenhirLib.EngineTypes.endp = _endpos_pt_;
16213 MenhirLib.EngineTypes.next = {
16214 MenhirLib.EngineTypes.semv = rp;
16215 MenhirLib.EngineTypes.startp = _startpos_rp_;
16216 MenhirLib.EngineTypes.endp = _endpos_rp_;
16217 MenhirLib.EngineTypes.next = {
16218 MenhirLib.EngineTypes.semv = d;
16219 MenhirLib.EngineTypes.startp = _startpos_d_;
16220 MenhirLib.EngineTypes.endp = _endpos_d_;
16221 MenhirLib.EngineTypes.next = {
16222 MenhirLib.EngineTypes.semv = lp;
16223 MenhirLib.EngineTypes.startp = _startpos_lp_;
16224 MenhirLib.EngineTypes.endp = _endpos_lp_;
16225 MenhirLib.EngineTypes.next = {
16226 MenhirLib.EngineTypes.semv = id;
16227 MenhirLib.EngineTypes.startp = _startpos_id_;
16228 MenhirLib.EngineTypes.endp = _endpos_id_;
16229 MenhirLib.EngineTypes.next = {
16230 MenhirLib.EngineTypes.state = _menhir_s;
16231 MenhirLib.EngineTypes.semv = t;
16232 MenhirLib.EngineTypes.startp = _startpos_t_;
16233 MenhirLib.EngineTypes.endp = _endpos_t_;
16234 MenhirLib.EngineTypes.next = _menhir_stack;
16235 };
16236 };
16237 };
16238 };
16239 };
16240 } = _menhir_stack in
16241 let pt : (
16242 # 110 "parser_cocci_menhir.mly"
16243 (Data.clt)
16244 # 16245 "parser_cocci_menhir.ml"
16245 ) = Obj.magic pt in
16246 let rp : (
16247 # 80 "parser_cocci_menhir.mly"
16248 (Data.clt)
16249 # 16250 "parser_cocci_menhir.ml"
16250 ) = Obj.magic rp in
16251 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
16252 let lp : (
16253 # 79 "parser_cocci_menhir.mly"
16254 (Data.clt)
16255 # 16256 "parser_cocci_menhir.ml"
16256 ) = Obj.magic lp in
16257 let id : 'tv_func_ident = Obj.magic id in
16258 let t : 'tv_ctype = Obj.magic t in
16259 let _startpos = _startpos_t_ in
16260 let _endpos = _endpos_pt_ in
16261 let _v : 'tv_funproto = let s =
16262
16263 # 39 "standard.mly"
16264 ( None )
16265 # 16266 "parser_cocci_menhir.ml"
16266
16267 in
16268
16269 # 831 "parser_cocci_menhir.mly"
16270 ( Ast0.wrap
16271 (Ast0.UnInit
16272 (s,
16273 Ast0.wrap
16274 (Ast0.FunctionType(Some t,
16275 P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
16276 id, P.clt2mcode ";" pt)) )
16277 # 16278 "parser_cocci_menhir.ml"
16278 in
16279 _menhir_env.MenhirLib.EngineTypes.stack <- {
16280 MenhirLib.EngineTypes.state = _menhir_s;
16281 MenhirLib.EngineTypes.semv = Obj.repr _v;
16282 MenhirLib.EngineTypes.startp = _startpos;
16283 MenhirLib.EngineTypes.endp = _endpos;
16284 MenhirLib.EngineTypes.next = _menhir_stack;
16285 });
16286 (fun _menhir_env ->
16287 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16288 let {
16289 MenhirLib.EngineTypes.semv = pt;
16290 MenhirLib.EngineTypes.startp = _startpos_pt_;
16291 MenhirLib.EngineTypes.endp = _endpos_pt_;
16292 MenhirLib.EngineTypes.next = {
16293 MenhirLib.EngineTypes.semv = rp;
16294 MenhirLib.EngineTypes.startp = _startpos_rp_;
16295 MenhirLib.EngineTypes.endp = _endpos_rp_;
16296 MenhirLib.EngineTypes.next = {
16297 MenhirLib.EngineTypes.semv = d;
16298 MenhirLib.EngineTypes.startp = _startpos_d_;
16299 MenhirLib.EngineTypes.endp = _endpos_d_;
16300 MenhirLib.EngineTypes.next = {
16301 MenhirLib.EngineTypes.semv = lp;
16302 MenhirLib.EngineTypes.startp = _startpos_lp_;
16303 MenhirLib.EngineTypes.endp = _endpos_lp_;
16304 MenhirLib.EngineTypes.next = {
16305 MenhirLib.EngineTypes.semv = id;
16306 MenhirLib.EngineTypes.startp = _startpos_id_;
16307 MenhirLib.EngineTypes.endp = _endpos_id_;
16308 MenhirLib.EngineTypes.next = {
16309 MenhirLib.EngineTypes.semv = t;
16310 MenhirLib.EngineTypes.startp = _startpos_t_;
16311 MenhirLib.EngineTypes.endp = _endpos_t_;
16312 MenhirLib.EngineTypes.next = {
16313 MenhirLib.EngineTypes.state = _menhir_s;
16314 MenhirLib.EngineTypes.semv = x0;
16315 MenhirLib.EngineTypes.startp = _startpos_x0_;
16316 MenhirLib.EngineTypes.endp = _endpos_x0_;
16317 MenhirLib.EngineTypes.next = _menhir_stack;
16318 };
16319 };
16320 };
16321 };
16322 };
16323 };
16324 } = _menhir_stack in
16325 let pt : (
16326 # 110 "parser_cocci_menhir.mly"
16327 (Data.clt)
16328 # 16329 "parser_cocci_menhir.ml"
16329 ) = Obj.magic pt in
16330 let rp : (
16331 # 80 "parser_cocci_menhir.mly"
16332 (Data.clt)
16333 # 16334 "parser_cocci_menhir.ml"
16334 ) = Obj.magic rp in
16335 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
16336 let lp : (
16337 # 79 "parser_cocci_menhir.mly"
16338 (Data.clt)
16339 # 16340 "parser_cocci_menhir.ml"
16340 ) = Obj.magic lp in
16341 let id : 'tv_func_ident = Obj.magic id in
16342 let t : 'tv_ctype = Obj.magic t in
16343 let x0 : 'tv_storage = Obj.magic x0 in
16344 let _startpos = _startpos_x0_ in
16345 let _endpos = _endpos_pt_ in
16346 let _v : 'tv_funproto = let s =
16347 let x = x0 in
16348
16349 # 41 "standard.mly"
16350 ( Some x )
16351 # 16352 "parser_cocci_menhir.ml"
16352
16353 in
16354
16355 # 831 "parser_cocci_menhir.mly"
16356 ( Ast0.wrap
16357 (Ast0.UnInit
16358 (s,
16359 Ast0.wrap
16360 (Ast0.FunctionType(Some t,
16361 P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
16362 id, P.clt2mcode ";" pt)) )
16363 # 16364 "parser_cocci_menhir.ml"
16364 in
16365 _menhir_env.MenhirLib.EngineTypes.stack <- {
16366 MenhirLib.EngineTypes.state = _menhir_s;
16367 MenhirLib.EngineTypes.semv = Obj.repr _v;
16368 MenhirLib.EngineTypes.startp = _startpos;
16369 MenhirLib.EngineTypes.endp = _endpos;
16370 MenhirLib.EngineTypes.next = _menhir_stack;
16371 });
16372 (fun _menhir_env ->
16373 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16374 let {
16375 MenhirLib.EngineTypes.state = _menhir_s;
16376 MenhirLib.EngineTypes.semv = _1;
16377 MenhirLib.EngineTypes.startp = _startpos__1_;
16378 MenhirLib.EngineTypes.endp = _endpos__1_;
16379 MenhirLib.EngineTypes.next = _menhir_stack;
16380 } = _menhir_stack in
16381 let _1 : 'tv_pure_ident = Obj.magic _1 in
16382 let _startpos = _startpos__1_ in
16383 let _endpos = _endpos__1_ in
16384 let _v : 'tv_ident =
16385 # 1703 "parser_cocci_menhir.mly"
16386 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
16387 # 16388 "parser_cocci_menhir.ml"
16388 in
16389 _menhir_env.MenhirLib.EngineTypes.stack <- {
16390 MenhirLib.EngineTypes.state = _menhir_s;
16391 MenhirLib.EngineTypes.semv = Obj.repr _v;
16392 MenhirLib.EngineTypes.startp = _startpos;
16393 MenhirLib.EngineTypes.endp = _endpos;
16394 MenhirLib.EngineTypes.next = _menhir_stack;
16395 });
16396 (fun _menhir_env ->
16397 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16398 let {
16399 MenhirLib.EngineTypes.state = _menhir_s;
16400 MenhirLib.EngineTypes.semv = _1;
16401 MenhirLib.EngineTypes.startp = _startpos__1_;
16402 MenhirLib.EngineTypes.endp = _endpos__1_;
16403 MenhirLib.EngineTypes.next = _menhir_stack;
16404 } = _menhir_stack in
16405 let _1 : (
16406 # 64 "parser_cocci_menhir.mly"
16407 (Parse_aux.idinfo)
16408 # 16409 "parser_cocci_menhir.ml"
16409 ) = Obj.magic _1 in
16410 let _startpos = _startpos__1_ in
16411 let _endpos = _endpos__1_ in
16412 let _v : 'tv_ident =
16413 # 1705 "parser_cocci_menhir.mly"
16414 ( let (nm,constraints,pure,clt) = _1 in
16415 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
16416 # 16417 "parser_cocci_menhir.ml"
16417 in
16418 _menhir_env.MenhirLib.EngineTypes.stack <- {
16419 MenhirLib.EngineTypes.state = _menhir_s;
16420 MenhirLib.EngineTypes.semv = Obj.repr _v;
16421 MenhirLib.EngineTypes.startp = _startpos;
16422 MenhirLib.EngineTypes.endp = _endpos;
16423 MenhirLib.EngineTypes.next = _menhir_stack;
16424 });
16425 (fun _menhir_env ->
16426 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16427 let {
16428 MenhirLib.EngineTypes.state = _menhir_s;
16429 MenhirLib.EngineTypes.semv = i;
16430 MenhirLib.EngineTypes.startp = _startpos_i_;
16431 MenhirLib.EngineTypes.endp = _endpos_i_;
16432 MenhirLib.EngineTypes.next = _menhir_stack;
16433 } = _menhir_stack in
16434 let i : 'tv_pure_ident = Obj.magic i in
16435 let _startpos = _startpos_i_ in
16436 let _endpos = _endpos_i_ in
16437 let _v : 'tv_ident_or_const =
16438 # 1663 "parser_cocci_menhir.mly"
16439 ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) )
16440 # 16441 "parser_cocci_menhir.ml"
16441 in
16442 _menhir_env.MenhirLib.EngineTypes.stack <- {
16443 MenhirLib.EngineTypes.state = _menhir_s;
16444 MenhirLib.EngineTypes.semv = Obj.repr _v;
16445 MenhirLib.EngineTypes.startp = _startpos;
16446 MenhirLib.EngineTypes.endp = _endpos;
16447 MenhirLib.EngineTypes.next = _menhir_stack;
16448 });
16449 (fun _menhir_env ->
16450 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16451 let {
16452 MenhirLib.EngineTypes.state = _menhir_s;
16453 MenhirLib.EngineTypes.semv = _1;
16454 MenhirLib.EngineTypes.startp = _startpos__1_;
16455 MenhirLib.EngineTypes.endp = _endpos__1_;
16456 MenhirLib.EngineTypes.next = _menhir_stack;
16457 } = _menhir_stack in
16458 let _1 : (
16459 # 90 "parser_cocci_menhir.mly"
16460 (string * Data.clt)
16461 # 16462 "parser_cocci_menhir.ml"
16462 ) = Obj.magic _1 in
16463 let _startpos = _startpos__1_ in
16464 let _endpos = _endpos__1_ in
16465 let _v : 'tv_ident_or_const =
16466 # 1665 "parser_cocci_menhir.mly"
16467 ( let (x,clt) = _1 in
16468 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
16469 # 16470 "parser_cocci_menhir.ml"
16470 in
16471 _menhir_env.MenhirLib.EngineTypes.stack <- {
16472 MenhirLib.EngineTypes.state = _menhir_s;
16473 MenhirLib.EngineTypes.semv = Obj.repr _v;
16474 MenhirLib.EngineTypes.startp = _startpos;
16475 MenhirLib.EngineTypes.endp = _endpos;
16476 MenhirLib.EngineTypes.next = _menhir_stack;
16477 });
16478 (fun _menhir_env ->
16479 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16480 let {
16481 MenhirLib.EngineTypes.state = _menhir_s;
16482 MenhirLib.EngineTypes.semv = _1;
16483 MenhirLib.EngineTypes.startp = _startpos__1_;
16484 MenhirLib.EngineTypes.endp = _endpos__1_;
16485 MenhirLib.EngineTypes.next = _menhir_stack;
16486 } = _menhir_stack in
16487 let _1 : (
16488 # 83 "parser_cocci_menhir.mly"
16489 (string * Data.clt)
16490 # 16491 "parser_cocci_menhir.ml"
16491 ) = Obj.magic _1 in
16492 let _startpos = _startpos__1_ in
16493 let _endpos = _endpos__1_ in
16494 let _v : 'tv_incl =
16495 # 261 "parser_cocci_menhir.mly"
16496 ( let (x,_) = _1 in Data.Include(x) )
16497 # 16498 "parser_cocci_menhir.ml"
16498 in
16499 _menhir_env.MenhirLib.EngineTypes.stack <- {
16500 MenhirLib.EngineTypes.state = _menhir_s;
16501 MenhirLib.EngineTypes.semv = Obj.repr _v;
16502 MenhirLib.EngineTypes.startp = _startpos;
16503 MenhirLib.EngineTypes.endp = _endpos;
16504 MenhirLib.EngineTypes.next = _menhir_stack;
16505 });
16506 (fun _menhir_env ->
16507 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16508 let {
16509 MenhirLib.EngineTypes.semv = _2;
16510 MenhirLib.EngineTypes.startp = _startpos__2_;
16511 MenhirLib.EngineTypes.endp = _endpos__2_;
16512 MenhirLib.EngineTypes.next = {
16513 MenhirLib.EngineTypes.state = _menhir_s;
16514 MenhirLib.EngineTypes.startp = _startpos__1_;
16515 MenhirLib.EngineTypes.endp = _endpos__1_;
16516 MenhirLib.EngineTypes.next = _menhir_stack;
16517 };
16518 } = _menhir_stack in
16519 let _2 : (
16520 # 90 "parser_cocci_menhir.mly"
16521 (string * Data.clt)
16522 # 16523 "parser_cocci_menhir.ml"
16523 ) = Obj.magic _2 in
16524 let _startpos = _startpos__1_ in
16525 let _endpos = _endpos__2_ in
16526 let _v : 'tv_incl =
16527 # 262 "parser_cocci_menhir.mly"
16528 ( Data.Iso(Common.Left(P.id2name _2)) )
16529 # 16530 "parser_cocci_menhir.ml"
16530 in
16531 _menhir_env.MenhirLib.EngineTypes.stack <- {
16532 MenhirLib.EngineTypes.state = _menhir_s;
16533 MenhirLib.EngineTypes.semv = Obj.repr _v;
16534 MenhirLib.EngineTypes.startp = _startpos;
16535 MenhirLib.EngineTypes.endp = _endpos;
16536 MenhirLib.EngineTypes.next = _menhir_stack;
16537 });
16538 (fun _menhir_env ->
16539 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16540 let {
16541 MenhirLib.EngineTypes.semv = _2;
16542 MenhirLib.EngineTypes.startp = _startpos__2_;
16543 MenhirLib.EngineTypes.endp = _endpos__2_;
16544 MenhirLib.EngineTypes.next = {
16545 MenhirLib.EngineTypes.state = _menhir_s;
16546 MenhirLib.EngineTypes.startp = _startpos__1_;
16547 MenhirLib.EngineTypes.endp = _endpos__1_;
16548 MenhirLib.EngineTypes.next = _menhir_stack;
16549 };
16550 } = _menhir_stack in
16551 let _2 : (
16552 # 82 "parser_cocci_menhir.mly"
16553 (string)
16554 # 16555 "parser_cocci_menhir.ml"
16555 ) = Obj.magic _2 in
16556 let _startpos = _startpos__1_ in
16557 let _endpos = _endpos__2_ in
16558 let _v : 'tv_incl =
16559 # 263 "parser_cocci_menhir.mly"
16560 ( Data.Iso(Common.Right _2) )
16561 # 16562 "parser_cocci_menhir.ml"
16562 in
16563 _menhir_env.MenhirLib.EngineTypes.stack <- {
16564 MenhirLib.EngineTypes.state = _menhir_s;
16565 MenhirLib.EngineTypes.semv = Obj.repr _v;
16566 MenhirLib.EngineTypes.startp = _startpos;
16567 MenhirLib.EngineTypes.endp = _endpos;
16568 MenhirLib.EngineTypes.next = _menhir_stack;
16569 });
16570 (fun _menhir_env ->
16571 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16572 let {
16573 MenhirLib.EngineTypes.semv = _2;
16574 MenhirLib.EngineTypes.startp = _startpos__2_;
16575 MenhirLib.EngineTypes.endp = _endpos__2_;
16576 MenhirLib.EngineTypes.next = {
16577 MenhirLib.EngineTypes.state = _menhir_s;
16578 MenhirLib.EngineTypes.startp = _startpos__1_;
16579 MenhirLib.EngineTypes.endp = _endpos__1_;
16580 MenhirLib.EngineTypes.next = _menhir_stack;
16581 };
16582 } = _menhir_stack in
16583 let _2 : 'tv_comma_list_pure_ident_ = Obj.magic _2 in
16584 let _startpos = _startpos__1_ in
16585 let _endpos = _endpos__2_ in
16586 let _v : 'tv_incl =
16587 # 265 "parser_cocci_menhir.mly"
16588 ( let names = List.map P.id2name _2 in
16589 (* ensure that the names of virtual and real rules don't overlap *)
16590 List.iter
16591 (function name -> Hashtbl.add Data.all_metadecls name [])
16592 names;
16593 Data.Virt(names) )
16594 # 16595 "parser_cocci_menhir.ml"
16595 in
16596 _menhir_env.MenhirLib.EngineTypes.stack <- {
16597 MenhirLib.EngineTypes.state = _menhir_s;
16598 MenhirLib.EngineTypes.semv = Obj.repr _v;
16599 MenhirLib.EngineTypes.startp = _startpos;
16600 MenhirLib.EngineTypes.endp = _endpos;
16601 MenhirLib.EngineTypes.next = _menhir_stack;
16602 });
16603 (fun _menhir_env ->
16604 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16605 let {
16606 MenhirLib.EngineTypes.startp = _startpos__2_;
16607 MenhirLib.EngineTypes.endp = _endpos__2_;
16608 MenhirLib.EngineTypes.next = {
16609 MenhirLib.EngineTypes.state = _menhir_s;
16610 MenhirLib.EngineTypes.semv = _1;
16611 MenhirLib.EngineTypes.startp = _startpos__1_;
16612 MenhirLib.EngineTypes.endp = _endpos__1_;
16613 MenhirLib.EngineTypes.next = _menhir_stack;
16614 };
16615 } = _menhir_stack in
16616 let _1 : 'tv_list_incl_ = Obj.magic _1 in
16617 let _startpos = _startpos__1_ in
16618 let _endpos = _endpos__2_ in
16619 let _v : (
16620 # 151 "parser_cocci_menhir.mly"
16621 (Data.incl_iso list)
16622 # 16623 "parser_cocci_menhir.ml"
16623 ) =
16624 # 257 "parser_cocci_menhir.mly"
16625 ( _1 )
16626 # 16627 "parser_cocci_menhir.ml"
16627 in
16628 _menhir_env.MenhirLib.EngineTypes.stack <- {
16629 MenhirLib.EngineTypes.state = _menhir_s;
16630 MenhirLib.EngineTypes.semv = Obj.repr _v;
16631 MenhirLib.EngineTypes.startp = _startpos;
16632 MenhirLib.EngineTypes.endp = _endpos;
16633 MenhirLib.EngineTypes.next = _menhir_stack;
16634 });
16635 (fun _menhir_env ->
16636 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16637 let {
16638 MenhirLib.EngineTypes.startp = _startpos__2_;
16639 MenhirLib.EngineTypes.endp = _endpos__2_;
16640 MenhirLib.EngineTypes.next = {
16641 MenhirLib.EngineTypes.state = _menhir_s;
16642 MenhirLib.EngineTypes.semv = _1;
16643 MenhirLib.EngineTypes.startp = _startpos__1_;
16644 MenhirLib.EngineTypes.endp = _endpos__1_;
16645 MenhirLib.EngineTypes.next = _menhir_stack;
16646 };
16647 } = _menhir_stack in
16648 let _1 : 'tv_list_incl_ = Obj.magic _1 in
16649 let _startpos = _startpos__1_ in
16650 let _endpos = _endpos__2_ in
16651 let _v : (
16652 # 151 "parser_cocci_menhir.mly"
16653 (Data.incl_iso list)
16654 # 16655 "parser_cocci_menhir.ml"
16655 ) =
16656 # 258 "parser_cocci_menhir.mly"
16657 ( _1 )
16658 # 16659 "parser_cocci_menhir.ml"
16659 in
16660 _menhir_env.MenhirLib.EngineTypes.stack <- {
16661 MenhirLib.EngineTypes.state = _menhir_s;
16662 MenhirLib.EngineTypes.semv = Obj.repr _v;
16663 MenhirLib.EngineTypes.startp = _startpos;
16664 MenhirLib.EngineTypes.endp = _endpos;
16665 MenhirLib.EngineTypes.next = _menhir_stack;
16666 });
16667 (fun _menhir_env ->
16668 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16669 let {
16670 MenhirLib.EngineTypes.state = _menhir_s;
16671 MenhirLib.EngineTypes.semv = _1;
16672 MenhirLib.EngineTypes.startp = _startpos__1_;
16673 MenhirLib.EngineTypes.endp = _endpos__1_;
16674 MenhirLib.EngineTypes.next = _menhir_stack;
16675 } = _menhir_stack in
16676 let _1 : (
16677 # 83 "parser_cocci_menhir.mly"
16678 (string * Data.clt)
16679 # 16680 "parser_cocci_menhir.ml"
16680 ) = Obj.magic _1 in
16681 let _startpos = _startpos__1_ in
16682 let _endpos = _endpos__1_ in
16683 let _v : 'tv_includes =
16684 # 737 "parser_cocci_menhir.mly"
16685 ( Ast0.wrap
16686 (Ast0.Include(P.clt2mcode "#include"
16687 (P.drop_pos (P.drop_aft (P.id2clt _1))),
16688 let (arity,ln,lln,offset,col,strbef,straft,pos) =
16689 P.id2clt _1 in
16690 let clt =
16691 (arity,ln,lln,offset,0,strbef,straft,pos) in
16692 P.clt2mcode
16693 (Ast.Local (Parse_aux.str2inc (P.id2name _1)))
16694 (P.drop_bef clt))) )
16695 # 16696 "parser_cocci_menhir.ml"
16696 in
16697 _menhir_env.MenhirLib.EngineTypes.stack <- {
16698 MenhirLib.EngineTypes.state = _menhir_s;
16699 MenhirLib.EngineTypes.semv = Obj.repr _v;
16700 MenhirLib.EngineTypes.startp = _startpos;
16701 MenhirLib.EngineTypes.endp = _endpos;
16702 MenhirLib.EngineTypes.next = _menhir_stack;
16703 });
16704 (fun _menhir_env ->
16705 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16706 let {
16707 MenhirLib.EngineTypes.state = _menhir_s;
16708 MenhirLib.EngineTypes.semv = _1;
16709 MenhirLib.EngineTypes.startp = _startpos__1_;
16710 MenhirLib.EngineTypes.endp = _endpos__1_;
16711 MenhirLib.EngineTypes.next = _menhir_stack;
16712 } = _menhir_stack in
16713 let _1 : (
16714 # 83 "parser_cocci_menhir.mly"
16715 (string * Data.clt)
16716 # 16717 "parser_cocci_menhir.ml"
16717 ) = Obj.magic _1 in
16718 let _startpos = _startpos__1_ in
16719 let _endpos = _endpos__1_ in
16720 let _v : 'tv_includes =
16721 # 748 "parser_cocci_menhir.mly"
16722 ( Ast0.wrap
16723 (Ast0.Include(P.clt2mcode "#include"
16724 (P.drop_pos (P.drop_aft (P.id2clt _1))),
16725 let (arity,ln,lln,offset,col,strbef,straft,pos) =
16726 P.id2clt _1 in
16727 let clt =
16728 (arity,ln,lln,offset,0,strbef,straft,pos) in
16729 P.clt2mcode
16730 (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1)))
16731 (P.drop_bef clt))) )
16732 # 16733 "parser_cocci_menhir.ml"
16733 in
16734 _menhir_env.MenhirLib.EngineTypes.stack <- {
16735 MenhirLib.EngineTypes.state = _menhir_s;
16736 MenhirLib.EngineTypes.semv = Obj.repr _v;
16737 MenhirLib.EngineTypes.startp = _startpos;
16738 MenhirLib.EngineTypes.endp = _endpos;
16739 MenhirLib.EngineTypes.next = _menhir_stack;
16740 });
16741 (fun _menhir_env ->
16742 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16743 let {
16744 MenhirLib.EngineTypes.startp = _startpos__2_;
16745 MenhirLib.EngineTypes.endp = _endpos__2_;
16746 MenhirLib.EngineTypes.next = {
16747 MenhirLib.EngineTypes.state = _menhir_s;
16748 MenhirLib.EngineTypes.semv = d;
16749 MenhirLib.EngineTypes.startp = _startpos_d_;
16750 MenhirLib.EngineTypes.endp = _endpos_d_;
16751 MenhirLib.EngineTypes.next = _menhir_stack;
16752 };
16753 } = _menhir_stack in
16754 let d : 'tv_defineop = Obj.magic d in
16755 let _startpos = _startpos_d_ in
16756 let _endpos = _endpos__2_ in
16757 let _v : 'tv_includes =
16758 # 759 "parser_cocci_menhir.mly"
16759 ( d (Ast0.wrap(Ast0.DOTS([]))) )
16760 # 16761 "parser_cocci_menhir.ml"
16761 in
16762 _menhir_env.MenhirLib.EngineTypes.stack <- {
16763 MenhirLib.EngineTypes.state = _menhir_s;
16764 MenhirLib.EngineTypes.semv = Obj.repr _v;
16765 MenhirLib.EngineTypes.startp = _startpos;
16766 MenhirLib.EngineTypes.endp = _endpos;
16767 MenhirLib.EngineTypes.next = _menhir_stack;
16768 });
16769 (fun _menhir_env ->
16770 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16771 let {
16772 MenhirLib.EngineTypes.startp = _startpos__3_;
16773 MenhirLib.EngineTypes.endp = _endpos__3_;
16774 MenhirLib.EngineTypes.next = {
16775 MenhirLib.EngineTypes.semv = t;
16776 MenhirLib.EngineTypes.startp = _startpos_t_;
16777 MenhirLib.EngineTypes.endp = _endpos_t_;
16778 MenhirLib.EngineTypes.next = {
16779 MenhirLib.EngineTypes.state = _menhir_s;
16780 MenhirLib.EngineTypes.semv = d;
16781 MenhirLib.EngineTypes.startp = _startpos_d_;
16782 MenhirLib.EngineTypes.endp = _endpos_d_;
16783 MenhirLib.EngineTypes.next = _menhir_stack;
16784 };
16785 };
16786 } = _menhir_stack in
16787 let t : 'tv_ctype = Obj.magic t in
16788 let d : 'tv_defineop = Obj.magic d in
16789 let _startpos = _startpos_d_ in
16790 let _endpos = _endpos__3_ in
16791 let _v : 'tv_includes =
16792 # 761 "parser_cocci_menhir.mly"
16793 ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in
16794 d (Ast0.wrap(Ast0.DOTS([ty]))) )
16795 # 16796 "parser_cocci_menhir.ml"
16796 in
16797 _menhir_env.MenhirLib.EngineTypes.stack <- {
16798 MenhirLib.EngineTypes.state = _menhir_s;
16799 MenhirLib.EngineTypes.semv = Obj.repr _v;
16800 MenhirLib.EngineTypes.startp = _startpos;
16801 MenhirLib.EngineTypes.endp = _endpos;
16802 MenhirLib.EngineTypes.next = _menhir_stack;
16803 });
16804 (fun _menhir_env ->
16805 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16806 let {
16807 MenhirLib.EngineTypes.startp = _startpos__3_;
16808 MenhirLib.EngineTypes.endp = _endpos__3_;
16809 MenhirLib.EngineTypes.next = {
16810 MenhirLib.EngineTypes.semv = b;
16811 MenhirLib.EngineTypes.startp = _startpos_b_;
16812 MenhirLib.EngineTypes.endp = _endpos_b_;
16813 MenhirLib.EngineTypes.next = {
16814 MenhirLib.EngineTypes.state = _menhir_s;
16815 MenhirLib.EngineTypes.semv = _1;
16816 MenhirLib.EngineTypes.startp = _startpos__1_;
16817 MenhirLib.EngineTypes.endp = _endpos__1_;
16818 MenhirLib.EngineTypes.next = _menhir_stack;
16819 };
16820 };
16821 } = _menhir_stack in
16822 let b : 'tv_toplevel_seq_start_toplevel_after_dots_ = Obj.magic b in
16823 let _1 : 'tv_defineop = Obj.magic _1 in
16824 let _startpos = _startpos__1_ in
16825 let _endpos = _endpos__3_ in
16826 let _v : 'tv_includes =
16827 # 764 "parser_cocci_menhir.mly"
16828 ( let body =
16829 match b with
16830 [e] ->
16831 (match Ast0.unwrap e with
16832 Ast0.Exp(e1) ->
16833 [Ast0.rewrap e (Ast0.TopExp(Ast0.set_arg_exp (e1)))]
16834 | _ -> b)
16835 | _ -> b in
16836 _1 (Ast0.wrap(Ast0.DOTS(body))) )
16837 # 16838 "parser_cocci_menhir.ml"
16838 in
16839 _menhir_env.MenhirLib.EngineTypes.stack <- {
16840 MenhirLib.EngineTypes.state = _menhir_s;
16841 MenhirLib.EngineTypes.semv = Obj.repr _v;
16842 MenhirLib.EngineTypes.startp = _startpos;
16843 MenhirLib.EngineTypes.endp = _endpos;
16844 MenhirLib.EngineTypes.next = _menhir_stack;
16845 });
16846 (fun _menhir_env ->
16847 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16848 let {
16849 MenhirLib.EngineTypes.state = _menhir_s;
16850 MenhirLib.EngineTypes.semv = _1;
16851 MenhirLib.EngineTypes.startp = _startpos__1_;
16852 MenhirLib.EngineTypes.endp = _endpos__1_;
16853 MenhirLib.EngineTypes.next = _menhir_stack;
16854 } = _menhir_stack in
16855 let _1 : 'tv_eexpr = Obj.magic _1 in
16856 let _startpos = _startpos__1_ in
16857 let _endpos = _endpos__1_ in
16858 let _v : 'tv_initialize =
16859 # 1156 "parser_cocci_menhir.mly"
16860 ( Ast0.wrap(Ast0.InitExpr(_1)) )
16861 # 16862 "parser_cocci_menhir.ml"
16862 in
16863 _menhir_env.MenhirLib.EngineTypes.stack <- {
16864 MenhirLib.EngineTypes.state = _menhir_s;
16865 MenhirLib.EngineTypes.semv = Obj.repr _v;
16866 MenhirLib.EngineTypes.startp = _startpos;
16867 MenhirLib.EngineTypes.endp = _endpos;
16868 MenhirLib.EngineTypes.next = _menhir_stack;
16869 });
16870 (fun _menhir_env ->
16871 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16872 let {
16873 MenhirLib.EngineTypes.semv = _3;
16874 MenhirLib.EngineTypes.startp = _startpos__3_;
16875 MenhirLib.EngineTypes.endp = _endpos__3_;
16876 MenhirLib.EngineTypes.next = {
16877 MenhirLib.EngineTypes.semv = _2;
16878 MenhirLib.EngineTypes.startp = _startpos__2_;
16879 MenhirLib.EngineTypes.endp = _endpos__2_;
16880 MenhirLib.EngineTypes.next = {
16881 MenhirLib.EngineTypes.state = _menhir_s;
16882 MenhirLib.EngineTypes.semv = _1;
16883 MenhirLib.EngineTypes.startp = _startpos__1_;
16884 MenhirLib.EngineTypes.endp = _endpos__1_;
16885 MenhirLib.EngineTypes.next = _menhir_stack;
16886 };
16887 };
16888 } = _menhir_stack in
16889 let _3 : (
16890 # 104 "parser_cocci_menhir.mly"
16891 (Data.clt)
16892 # 16893 "parser_cocci_menhir.ml"
16893 ) = Obj.magic _3 in
16894 let _2 : 'tv_initialize_list = Obj.magic _2 in
16895 let _1 : (
16896 # 104 "parser_cocci_menhir.mly"
16897 (Data.clt)
16898 # 16899 "parser_cocci_menhir.ml"
16899 ) = Obj.magic _1 in
16900 let _startpos = _startpos__1_ in
16901 let _endpos = _endpos__3_ in
16902 let _v : 'tv_initialize =
16903 # 1158 "parser_cocci_menhir.mly"
16904 ( if P.struct_initializer _2
16905 then
16906 let il = P.drop_dot_commas _2 in
16907 Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
16908 else
16909 Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
16910 # 16911 "parser_cocci_menhir.ml"
16911 in
16912 _menhir_env.MenhirLib.EngineTypes.stack <- {
16913 MenhirLib.EngineTypes.state = _menhir_s;
16914 MenhirLib.EngineTypes.semv = Obj.repr _v;
16915 MenhirLib.EngineTypes.startp = _startpos;
16916 MenhirLib.EngineTypes.endp = _endpos;
16917 MenhirLib.EngineTypes.next = _menhir_stack;
16918 });
16919 (fun _menhir_env ->
16920 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16921 let {
16922 MenhirLib.EngineTypes.state = _menhir_s;
16923 MenhirLib.EngineTypes.semv = _1;
16924 MenhirLib.EngineTypes.startp = _startpos__1_;
16925 MenhirLib.EngineTypes.endp = _endpos__1_;
16926 MenhirLib.EngineTypes.next = _menhir_stack;
16927 } = _menhir_stack in
16928 let _1 : (
16929 # 68 "parser_cocci_menhir.mly"
16930 (Parse_aux.info)
16931 # 16932 "parser_cocci_menhir.ml"
16932 ) = Obj.magic _1 in
16933 let _startpos = _startpos__1_ in
16934 let _endpos = _endpos__1_ in
16935 let _v : 'tv_initialize =
16936 # 1165 "parser_cocci_menhir.mly"
16937 (let (nm,pure,clt) = _1 in
16938 Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
16939 # 16940 "parser_cocci_menhir.ml"
16940 in
16941 _menhir_env.MenhirLib.EngineTypes.stack <- {
16942 MenhirLib.EngineTypes.state = _menhir_s;
16943 MenhirLib.EngineTypes.semv = Obj.repr _v;
16944 MenhirLib.EngineTypes.startp = _startpos;
16945 MenhirLib.EngineTypes.endp = _endpos;
16946 MenhirLib.EngineTypes.next = _menhir_stack;
16947 });
16948 (fun _menhir_env ->
16949 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16950 let {
16951 MenhirLib.EngineTypes.state = _menhir_s;
16952 MenhirLib.EngineTypes.semv = _1;
16953 MenhirLib.EngineTypes.startp = _startpos__1_;
16954 MenhirLib.EngineTypes.endp = _endpos__1_;
16955 MenhirLib.EngineTypes.next = _menhir_stack;
16956 } = _menhir_stack in
16957 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
16958 let _startpos = _startpos__1_ in
16959 let _endpos = _endpos__1_ in
16960 let _v : 'tv_initialize2 =
16961 # 1171 "parser_cocci_menhir.mly"
16962 ( Ast0.wrap(Ast0.InitExpr(_1)) )
16963 # 16964 "parser_cocci_menhir.ml"
16964 in
16965 _menhir_env.MenhirLib.EngineTypes.stack <- {
16966 MenhirLib.EngineTypes.state = _menhir_s;
16967 MenhirLib.EngineTypes.semv = Obj.repr _v;
16968 MenhirLib.EngineTypes.startp = _startpos;
16969 MenhirLib.EngineTypes.endp = _endpos;
16970 MenhirLib.EngineTypes.next = _menhir_stack;
16971 });
16972 (fun _menhir_env ->
16973 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16974 let {
16975 MenhirLib.EngineTypes.semv = _3;
16976 MenhirLib.EngineTypes.startp = _startpos__3_;
16977 MenhirLib.EngineTypes.endp = _endpos__3_;
16978 MenhirLib.EngineTypes.next = {
16979 MenhirLib.EngineTypes.semv = _2;
16980 MenhirLib.EngineTypes.startp = _startpos__2_;
16981 MenhirLib.EngineTypes.endp = _endpos__2_;
16982 MenhirLib.EngineTypes.next = {
16983 MenhirLib.EngineTypes.state = _menhir_s;
16984 MenhirLib.EngineTypes.semv = _1;
16985 MenhirLib.EngineTypes.startp = _startpos__1_;
16986 MenhirLib.EngineTypes.endp = _endpos__1_;
16987 MenhirLib.EngineTypes.next = _menhir_stack;
16988 };
16989 };
16990 } = _menhir_stack in
16991 let _3 : (
16992 # 104 "parser_cocci_menhir.mly"
16993 (Data.clt)
16994 # 16995 "parser_cocci_menhir.ml"
16995 ) = Obj.magic _3 in
16996 let _2 : 'tv_initialize_list = Obj.magic _2 in
16997 let _1 : (
16998 # 104 "parser_cocci_menhir.mly"
16999 (Data.clt)
17000 # 17001 "parser_cocci_menhir.ml"
17001 ) = Obj.magic _1 in
17002 let _startpos = _startpos__1_ in
17003 let _endpos = _endpos__3_ in
17004 let _v : 'tv_initialize2 =
17005 # 1173 "parser_cocci_menhir.mly"
17006 ( if P.struct_initializer _2
17007 then
17008 let il = P.drop_dot_commas _2 in
17009 Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
17010 else
17011 Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
17012 # 17013 "parser_cocci_menhir.ml"
17013 in
17014 _menhir_env.MenhirLib.EngineTypes.stack <- {
17015 MenhirLib.EngineTypes.state = _menhir_s;
17016 MenhirLib.EngineTypes.semv = Obj.repr _v;
17017 MenhirLib.EngineTypes.startp = _startpos;
17018 MenhirLib.EngineTypes.endp = _endpos;
17019 MenhirLib.EngineTypes.next = _menhir_stack;
17020 });
17021 (fun _menhir_env ->
17022 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17023 let {
17024 MenhirLib.EngineTypes.semv = _3;
17025 MenhirLib.EngineTypes.startp = _startpos__3_;
17026 MenhirLib.EngineTypes.endp = _endpos__3_;
17027 MenhirLib.EngineTypes.next = {
17028 MenhirLib.EngineTypes.semv = _2;
17029 MenhirLib.EngineTypes.startp = _startpos__2_;
17030 MenhirLib.EngineTypes.endp = _endpos__2_;
17031 MenhirLib.EngineTypes.next = {
17032 MenhirLib.EngineTypes.state = _menhir_s;
17033 MenhirLib.EngineTypes.semv = _1;
17034 MenhirLib.EngineTypes.startp = _startpos__1_;
17035 MenhirLib.EngineTypes.endp = _endpos__1_;
17036 MenhirLib.EngineTypes.next = _menhir_stack;
17037 };
17038 };
17039 } = _menhir_stack in
17040 let _3 : 'tv_initialize2 = Obj.magic _3 in
17041 let _2 : (
17042 # 110 "parser_cocci_menhir.mly"
17043 (Data.clt)
17044 # 17045 "parser_cocci_menhir.ml"
17045 ) = Obj.magic _2 in
17046 let _1 : 'tv_list_designator_ = Obj.magic _1 in
17047 let _startpos = _startpos__1_ in
17048 let _endpos = _endpos__3_ in
17049 let _v : 'tv_initialize2 =
17050 # 1181 "parser_cocci_menhir.mly"
17051 ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
17052 # 17053 "parser_cocci_menhir.ml"
17053 in
17054 _menhir_env.MenhirLib.EngineTypes.stack <- {
17055 MenhirLib.EngineTypes.state = _menhir_s;
17056 MenhirLib.EngineTypes.semv = Obj.repr _v;
17057 MenhirLib.EngineTypes.startp = _startpos;
17058 MenhirLib.EngineTypes.endp = _endpos;
17059 MenhirLib.EngineTypes.next = _menhir_stack;
17060 });
17061 (fun _menhir_env ->
17062 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17063 let {
17064 MenhirLib.EngineTypes.semv = _3;
17065 MenhirLib.EngineTypes.startp = _startpos__3_;
17066 MenhirLib.EngineTypes.endp = _endpos__3_;
17067 MenhirLib.EngineTypes.next = {
17068 MenhirLib.EngineTypes.semv = _2;
17069 MenhirLib.EngineTypes.startp = _startpos__2_;
17070 MenhirLib.EngineTypes.endp = _endpos__2_;
17071 MenhirLib.EngineTypes.next = {
17072 MenhirLib.EngineTypes.state = _menhir_s;
17073 MenhirLib.EngineTypes.semv = _1;
17074 MenhirLib.EngineTypes.startp = _startpos__1_;
17075 MenhirLib.EngineTypes.endp = _endpos__1_;
17076 MenhirLib.EngineTypes.next = _menhir_stack;
17077 };
17078 };
17079 } = _menhir_stack in
17080 let _3 : 'tv_initialize2 = Obj.magic _3 in
17081 let _2 : (
17082 # 79 "parser_cocci_menhir.mly"
17083 (Data.clt)
17084 # 17085 "parser_cocci_menhir.ml"
17085 ) = Obj.magic _2 in
17086 let _1 : 'tv_ident = Obj.magic _1 in
17087 let _startpos = _startpos__1_ in
17088 let _endpos = _endpos__3_ in
17089 let _v : 'tv_initialize2 =
17090 # 1183 "parser_cocci_menhir.mly"
17091 ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
17092 # 17093 "parser_cocci_menhir.ml"
17093 in
17094 _menhir_env.MenhirLib.EngineTypes.stack <- {
17095 MenhirLib.EngineTypes.state = _menhir_s;
17096 MenhirLib.EngineTypes.semv = Obj.repr _v;
17097 MenhirLib.EngineTypes.startp = _startpos;
17098 MenhirLib.EngineTypes.endp = _endpos;
17099 MenhirLib.EngineTypes.next = _menhir_stack;
17100 });
17101 (fun _menhir_env ->
17102 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17103 let {
17104 MenhirLib.EngineTypes.state = _menhir_s;
17105 MenhirLib.EngineTypes.semv = _1;
17106 MenhirLib.EngineTypes.startp = _startpos__1_;
17107 MenhirLib.EngineTypes.endp = _endpos__1_;
17108 MenhirLib.EngineTypes.next = _menhir_stack;
17109 } = _menhir_stack in
17110 let _1 : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _1 in
17111 let _startpos = _startpos__1_ in
17112 let _endpos = _endpos__1_ in
17113 let _v : 'tv_initialize_list =
17114 # 1196 "parser_cocci_menhir.mly"
17115 ( Ast0.wrap(Ast0.DOTS(_1 P.mkidots (fun c -> Ast0.IComma c))) )
17116 # 17117 "parser_cocci_menhir.ml"
17117 in
17118 _menhir_env.MenhirLib.EngineTypes.stack <- {
17119 MenhirLib.EngineTypes.state = _menhir_s;
17120 MenhirLib.EngineTypes.semv = Obj.repr _v;
17121 MenhirLib.EngineTypes.startp = _startpos;
17122 MenhirLib.EngineTypes.endp = _endpos;
17123 MenhirLib.EngineTypes.next = _menhir_stack;
17124 });
17125 (fun _menhir_env ->
17126 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17127 let {
17128 MenhirLib.EngineTypes.state = _menhir_s;
17129 MenhirLib.EngineTypes.startp = _startpos__1_;
17130 MenhirLib.EngineTypes.endp = _endpos__1_;
17131 MenhirLib.EngineTypes.next = _menhir_stack;
17132 } = _menhir_stack in
17133 let _startpos = _startpos__1_ in
17134 let _endpos = _endpos__1_ in
17135 let _v : 'tv_invalid =
17136 # 1274 "parser_cocci_menhir.mly"
17137 ( raise (Semantic_cocci.Semantic "not matchable") )
17138 # 17139 "parser_cocci_menhir.ml"
17139 in
17140 _menhir_env.MenhirLib.EngineTypes.stack <- {
17141 MenhirLib.EngineTypes.state = _menhir_s;
17142 MenhirLib.EngineTypes.semv = Obj.repr _v;
17143 MenhirLib.EngineTypes.startp = _startpos;
17144 MenhirLib.EngineTypes.endp = _endpos;
17145 MenhirLib.EngineTypes.next = _menhir_stack;
17146 });
17147 (fun _menhir_env ->
17148 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17149 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17150 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17151 let _endpos = _startpos in
17152 let _v : 'tv_is_expression =
17153 # 253 "parser_cocci_menhir.mly"
17154 ( false )
17155 # 17156 "parser_cocci_menhir.ml"
17156 in
17157 _menhir_env.MenhirLib.EngineTypes.stack <- {
17158 MenhirLib.EngineTypes.state = _menhir_s;
17159 MenhirLib.EngineTypes.semv = Obj.repr _v;
17160 MenhirLib.EngineTypes.startp = _startpos;
17161 MenhirLib.EngineTypes.endp = _endpos;
17162 MenhirLib.EngineTypes.next = _menhir_stack;
17163 });
17164 (fun _menhir_env ->
17165 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17166 let {
17167 MenhirLib.EngineTypes.state = _menhir_s;
17168 MenhirLib.EngineTypes.startp = _startpos__1_;
17169 MenhirLib.EngineTypes.endp = _endpos__1_;
17170 MenhirLib.EngineTypes.next = _menhir_stack;
17171 } = _menhir_stack in
17172 let _startpos = _startpos__1_ in
17173 let _endpos = _endpos__1_ in
17174 let _v : 'tv_is_expression =
17175 # 254 "parser_cocci_menhir.mly"
17176 ( true )
17177 # 17178 "parser_cocci_menhir.ml"
17178 in
17179 _menhir_env.MenhirLib.EngineTypes.stack <- {
17180 MenhirLib.EngineTypes.state = _menhir_s;
17181 MenhirLib.EngineTypes.semv = Obj.repr _v;
17182 MenhirLib.EngineTypes.startp = _startpos;
17183 MenhirLib.EngineTypes.endp = _endpos;
17184 MenhirLib.EngineTypes.next = _menhir_stack;
17185 });
17186 (fun _menhir_env ->
17187 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17188 let {
17189 MenhirLib.EngineTypes.semv = t;
17190 MenhirLib.EngineTypes.startp = _startpos_t_;
17191 MenhirLib.EngineTypes.endp = _endpos_t_;
17192 MenhirLib.EngineTypes.next = {
17193 MenhirLib.EngineTypes.state = _menhir_s;
17194 MenhirLib.EngineTypes.startp = _startpos__1_;
17195 MenhirLib.EngineTypes.endp = _endpos__1_;
17196 MenhirLib.EngineTypes.next = _menhir_stack;
17197 };
17198 } = _menhir_stack in
17199 let t : 'tv_ctype = Obj.magic t in
17200 let _startpos = _startpos__1_ in
17201 let _endpos = _endpos_t_ in
17202 let _v : 'tv_iso_ctype_ =
17203 # 2075 "parser_cocci_menhir.mly"
17204 ( Common.Left t )
17205 # 17206 "parser_cocci_menhir.ml"
17206 in
17207 _menhir_env.MenhirLib.EngineTypes.stack <- {
17208 MenhirLib.EngineTypes.state = _menhir_s;
17209 MenhirLib.EngineTypes.semv = Obj.repr _v;
17210 MenhirLib.EngineTypes.startp = _startpos;
17211 MenhirLib.EngineTypes.endp = _endpos;
17212 MenhirLib.EngineTypes.next = _menhir_stack;
17213 });
17214 (fun _menhir_env ->
17215 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17216 let {
17217 MenhirLib.EngineTypes.semv = t;
17218 MenhirLib.EngineTypes.startp = _startpos_t_;
17219 MenhirLib.EngineTypes.endp = _endpos_t_;
17220 MenhirLib.EngineTypes.next = {
17221 MenhirLib.EngineTypes.state = _menhir_s;
17222 MenhirLib.EngineTypes.startp = _startpos__1_;
17223 MenhirLib.EngineTypes.endp = _endpos__1_;
17224 MenhirLib.EngineTypes.next = _menhir_stack;
17225 };
17226 } = _menhir_stack in
17227 let t : 'tv_ctype = Obj.magic t in
17228 let _startpos = _startpos__1_ in
17229 let _endpos = _endpos_t_ in
17230 let _v : 'tv_iso_ctype_ =
17231 # 2076 "parser_cocci_menhir.mly"
17232 ( Common.Right t )
17233 # 17234 "parser_cocci_menhir.ml"
17234 in
17235 _menhir_env.MenhirLib.EngineTypes.stack <- {
17236 MenhirLib.EngineTypes.state = _menhir_s;
17237 MenhirLib.EngineTypes.semv = Obj.repr _v;
17238 MenhirLib.EngineTypes.startp = _startpos;
17239 MenhirLib.EngineTypes.endp = _endpos;
17240 MenhirLib.EngineTypes.next = _menhir_stack;
17241 });
17242 (fun _menhir_env ->
17243 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17244 let {
17245 MenhirLib.EngineTypes.semv = t;
17246 MenhirLib.EngineTypes.startp = _startpos_t_;
17247 MenhirLib.EngineTypes.endp = _endpos_t_;
17248 MenhirLib.EngineTypes.next = {
17249 MenhirLib.EngineTypes.state = _menhir_s;
17250 MenhirLib.EngineTypes.startp = _startpos__1_;
17251 MenhirLib.EngineTypes.endp = _endpos__1_;
17252 MenhirLib.EngineTypes.next = _menhir_stack;
17253 };
17254 } = _menhir_stack in
17255 let t : 'tv_decl_var = Obj.magic t in
17256 let _startpos = _startpos__1_ in
17257 let _endpos = _endpos_t_ in
17258 let _v : 'tv_iso_decl_var_ =
17259 # 2075 "parser_cocci_menhir.mly"
17260 ( Common.Left t )
17261 # 17262 "parser_cocci_menhir.ml"
17262 in
17263 _menhir_env.MenhirLib.EngineTypes.stack <- {
17264 MenhirLib.EngineTypes.state = _menhir_s;
17265 MenhirLib.EngineTypes.semv = Obj.repr _v;
17266 MenhirLib.EngineTypes.startp = _startpos;
17267 MenhirLib.EngineTypes.endp = _endpos;
17268 MenhirLib.EngineTypes.next = _menhir_stack;
17269 });
17270 (fun _menhir_env ->
17271 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17272 let {
17273 MenhirLib.EngineTypes.semv = t;
17274 MenhirLib.EngineTypes.startp = _startpos_t_;
17275 MenhirLib.EngineTypes.endp = _endpos_t_;
17276 MenhirLib.EngineTypes.next = {
17277 MenhirLib.EngineTypes.state = _menhir_s;
17278 MenhirLib.EngineTypes.startp = _startpos__1_;
17279 MenhirLib.EngineTypes.endp = _endpos__1_;
17280 MenhirLib.EngineTypes.next = _menhir_stack;
17281 };
17282 } = _menhir_stack in
17283 let t : 'tv_decl_var = Obj.magic t in
17284 let _startpos = _startpos__1_ in
17285 let _endpos = _endpos_t_ in
17286 let _v : 'tv_iso_decl_var_ =
17287 # 2076 "parser_cocci_menhir.mly"
17288 ( Common.Right t )
17289 # 17290 "parser_cocci_menhir.ml"
17290 in
17291 _menhir_env.MenhirLib.EngineTypes.stack <- {
17292 MenhirLib.EngineTypes.state = _menhir_s;
17293 MenhirLib.EngineTypes.semv = Obj.repr _v;
17294 MenhirLib.EngineTypes.startp = _startpos;
17295 MenhirLib.EngineTypes.endp = _endpos;
17296 MenhirLib.EngineTypes.next = _menhir_stack;
17297 });
17298 (fun _menhir_env ->
17299 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17300 let {
17301 MenhirLib.EngineTypes.semv = t;
17302 MenhirLib.EngineTypes.startp = _startpos_t_;
17303 MenhirLib.EngineTypes.endp = _endpos_t_;
17304 MenhirLib.EngineTypes.next = {
17305 MenhirLib.EngineTypes.state = _menhir_s;
17306 MenhirLib.EngineTypes.startp = _startpos__1_;
17307 MenhirLib.EngineTypes.endp = _endpos__1_;
17308 MenhirLib.EngineTypes.next = _menhir_stack;
17309 };
17310 } = _menhir_stack in
17311 let t : 'tv_eexpr = Obj.magic t in
17312 let _startpos = _startpos__1_ in
17313 let _endpos = _endpos_t_ in
17314 let _v : 'tv_iso_eexpr_ =
17315 # 2075 "parser_cocci_menhir.mly"
17316 ( Common.Left t )
17317 # 17318 "parser_cocci_menhir.ml"
17318 in
17319 _menhir_env.MenhirLib.EngineTypes.stack <- {
17320 MenhirLib.EngineTypes.state = _menhir_s;
17321 MenhirLib.EngineTypes.semv = Obj.repr _v;
17322 MenhirLib.EngineTypes.startp = _startpos;
17323 MenhirLib.EngineTypes.endp = _endpos;
17324 MenhirLib.EngineTypes.next = _menhir_stack;
17325 });
17326 (fun _menhir_env ->
17327 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17328 let {
17329 MenhirLib.EngineTypes.semv = t;
17330 MenhirLib.EngineTypes.startp = _startpos_t_;
17331 MenhirLib.EngineTypes.endp = _endpos_t_;
17332 MenhirLib.EngineTypes.next = {
17333 MenhirLib.EngineTypes.state = _menhir_s;
17334 MenhirLib.EngineTypes.startp = _startpos__1_;
17335 MenhirLib.EngineTypes.endp = _endpos__1_;
17336 MenhirLib.EngineTypes.next = _menhir_stack;
17337 };
17338 } = _menhir_stack in
17339 let t : 'tv_eexpr = Obj.magic t in
17340 let _startpos = _startpos__1_ in
17341 let _endpos = _endpos_t_ in
17342 let _v : 'tv_iso_eexpr_ =
17343 # 2076 "parser_cocci_menhir.mly"
17344 ( Common.Right t )
17345 # 17346 "parser_cocci_menhir.ml"
17346 in
17347 _menhir_env.MenhirLib.EngineTypes.stack <- {
17348 MenhirLib.EngineTypes.state = _menhir_s;
17349 MenhirLib.EngineTypes.semv = Obj.repr _v;
17350 MenhirLib.EngineTypes.startp = _startpos;
17351 MenhirLib.EngineTypes.endp = _endpos;
17352 MenhirLib.EngineTypes.next = _menhir_stack;
17353 });
17354 (fun _menhir_env ->
17355 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17356 let {
17357 MenhirLib.EngineTypes.semv = t;
17358 MenhirLib.EngineTypes.startp = _startpos_t_;
17359 MenhirLib.EngineTypes.endp = _endpos_t_;
17360 MenhirLib.EngineTypes.next = {
17361 MenhirLib.EngineTypes.state = _menhir_s;
17362 MenhirLib.EngineTypes.startp = _startpos__1_;
17363 MenhirLib.EngineTypes.endp = _endpos__1_;
17364 MenhirLib.EngineTypes.next = _menhir_stack;
17365 };
17366 } = _menhir_stack in
17367 let t : 'tv_nest_start = Obj.magic t in
17368 let _startpos = _startpos__1_ in
17369 let _endpos = _endpos_t_ in
17370 let _v : 'tv_iso_nest_start_ =
17371 # 2075 "parser_cocci_menhir.mly"
17372 ( Common.Left t )
17373 # 17374 "parser_cocci_menhir.ml"
17374 in
17375 _menhir_env.MenhirLib.EngineTypes.stack <- {
17376 MenhirLib.EngineTypes.state = _menhir_s;
17377 MenhirLib.EngineTypes.semv = Obj.repr _v;
17378 MenhirLib.EngineTypes.startp = _startpos;
17379 MenhirLib.EngineTypes.endp = _endpos;
17380 MenhirLib.EngineTypes.next = _menhir_stack;
17381 });
17382 (fun _menhir_env ->
17383 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17384 let {
17385 MenhirLib.EngineTypes.semv = t;
17386 MenhirLib.EngineTypes.startp = _startpos_t_;
17387 MenhirLib.EngineTypes.endp = _endpos_t_;
17388 MenhirLib.EngineTypes.next = {
17389 MenhirLib.EngineTypes.state = _menhir_s;
17390 MenhirLib.EngineTypes.startp = _startpos__1_;
17391 MenhirLib.EngineTypes.endp = _endpos__1_;
17392 MenhirLib.EngineTypes.next = _menhir_stack;
17393 };
17394 } = _menhir_stack in
17395 let t : 'tv_nest_start = Obj.magic t in
17396 let _startpos = _startpos__1_ in
17397 let _endpos = _endpos_t_ in
17398 let _v : 'tv_iso_nest_start_ =
17399 # 2076 "parser_cocci_menhir.mly"
17400 ( Common.Right t )
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 = t;
17414 MenhirLib.EngineTypes.startp = _startpos_t_;
17415 MenhirLib.EngineTypes.endp = _endpos_t_;
17416 MenhirLib.EngineTypes.next = {
17417 MenhirLib.EngineTypes.state = _menhir_s;
17418 MenhirLib.EngineTypes.startp = _startpos__1_;
17419 MenhirLib.EngineTypes.endp = _endpos__1_;
17420 MenhirLib.EngineTypes.next = _menhir_stack;
17421 };
17422 } = _menhir_stack in
17423 let t : 'tv_single_statement = Obj.magic t in
17424 let _startpos = _startpos__1_ in
17425 let _endpos = _endpos_t_ in
17426 let _v : 'tv_iso_single_statement_ =
17427 # 2075 "parser_cocci_menhir.mly"
17428 ( Common.Left t )
17429 # 17430 "parser_cocci_menhir.ml"
17430 in
17431 _menhir_env.MenhirLib.EngineTypes.stack <- {
17432 MenhirLib.EngineTypes.state = _menhir_s;
17433 MenhirLib.EngineTypes.semv = Obj.repr _v;
17434 MenhirLib.EngineTypes.startp = _startpos;
17435 MenhirLib.EngineTypes.endp = _endpos;
17436 MenhirLib.EngineTypes.next = _menhir_stack;
17437 });
17438 (fun _menhir_env ->
17439 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17440 let {
17441 MenhirLib.EngineTypes.semv = t;
17442 MenhirLib.EngineTypes.startp = _startpos_t_;
17443 MenhirLib.EngineTypes.endp = _endpos_t_;
17444 MenhirLib.EngineTypes.next = {
17445 MenhirLib.EngineTypes.state = _menhir_s;
17446 MenhirLib.EngineTypes.startp = _startpos__1_;
17447 MenhirLib.EngineTypes.endp = _endpos__1_;
17448 MenhirLib.EngineTypes.next = _menhir_stack;
17449 };
17450 } = _menhir_stack in
17451 let t : 'tv_single_statement = Obj.magic t in
17452 let _startpos = _startpos__1_ in
17453 let _endpos = _endpos_t_ in
17454 let _v : 'tv_iso_single_statement_ =
17455 # 2076 "parser_cocci_menhir.mly"
17456 ( Common.Right t )
17457 # 17458 "parser_cocci_menhir.ml"
17458 in
17459 _menhir_env.MenhirLib.EngineTypes.stack <- {
17460 MenhirLib.EngineTypes.state = _menhir_s;
17461 MenhirLib.EngineTypes.semv = Obj.repr _v;
17462 MenhirLib.EngineTypes.startp = _startpos;
17463 MenhirLib.EngineTypes.endp = _endpos;
17464 MenhirLib.EngineTypes.next = _menhir_stack;
17465 });
17466 (fun _menhir_env ->
17467 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17468 let {
17469 MenhirLib.EngineTypes.startp = _startpos__4_;
17470 MenhirLib.EngineTypes.endp = _endpos__4_;
17471 MenhirLib.EngineTypes.next = {
17472 MenhirLib.EngineTypes.semv = el;
17473 MenhirLib.EngineTypes.startp = _startpos_el_;
17474 MenhirLib.EngineTypes.endp = _endpos_el_;
17475 MenhirLib.EngineTypes.next = {
17476 MenhirLib.EngineTypes.semv = e1;
17477 MenhirLib.EngineTypes.startp = _startpos_e1_;
17478 MenhirLib.EngineTypes.endp = _endpos_e1_;
17479 MenhirLib.EngineTypes.next = {
17480 MenhirLib.EngineTypes.state = _menhir_s;
17481 MenhirLib.EngineTypes.startp = _startpos__1_;
17482 MenhirLib.EngineTypes.endp = _endpos__1_;
17483 MenhirLib.EngineTypes.next = _menhir_stack;
17484 };
17485 };
17486 };
17487 } = _menhir_stack in
17488 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
17489 let e1 : 'tv_eexpr = Obj.magic e1 in
17490 let _startpos = _startpos__1_ in
17491 let _endpos = _endpos__4_ in
17492 let _v : (
17493 # 167 "parser_cocci_menhir.mly"
17494 (Ast0_cocci.anything list list)
17495 # 17496 "parser_cocci_menhir.ml"
17496 ) =
17497 # 2043 "parser_cocci_menhir.mly"
17498 ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el )
17499 # 17500 "parser_cocci_menhir.ml"
17500 in
17501 _menhir_env.MenhirLib.EngineTypes.stack <- {
17502 MenhirLib.EngineTypes.state = _menhir_s;
17503 MenhirLib.EngineTypes.semv = Obj.repr _v;
17504 MenhirLib.EngineTypes.startp = _startpos;
17505 MenhirLib.EngineTypes.endp = _endpos;
17506 MenhirLib.EngineTypes.next = _menhir_stack;
17507 });
17508 (fun _menhir_env ->
17509 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17510 let {
17511 MenhirLib.EngineTypes.startp = _startpos__4_;
17512 MenhirLib.EngineTypes.endp = _endpos__4_;
17513 MenhirLib.EngineTypes.next = {
17514 MenhirLib.EngineTypes.semv = el;
17515 MenhirLib.EngineTypes.startp = _startpos_el_;
17516 MenhirLib.EngineTypes.endp = _endpos_el_;
17517 MenhirLib.EngineTypes.next = {
17518 MenhirLib.EngineTypes.semv = e1;
17519 MenhirLib.EngineTypes.startp = _startpos_e1_;
17520 MenhirLib.EngineTypes.endp = _endpos_e1_;
17521 MenhirLib.EngineTypes.next = {
17522 MenhirLib.EngineTypes.state = _menhir_s;
17523 MenhirLib.EngineTypes.startp = _startpos__1_;
17524 MenhirLib.EngineTypes.endp = _endpos__1_;
17525 MenhirLib.EngineTypes.next = _menhir_stack;
17526 };
17527 };
17528 };
17529 } = _menhir_stack in
17530 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
17531 let e1 : 'tv_eexpr = Obj.magic e1 in
17532 let _startpos = _startpos__1_ in
17533 let _endpos = _endpos__4_ in
17534 let _v : (
17535 # 167 "parser_cocci_menhir.mly"
17536 (Ast0_cocci.anything list list)
17537 # 17538 "parser_cocci_menhir.ml"
17538 ) =
17539 # 2045 "parser_cocci_menhir.mly"
17540 ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el )
17541 # 17542 "parser_cocci_menhir.ml"
17542 in
17543 _menhir_env.MenhirLib.EngineTypes.stack <- {
17544 MenhirLib.EngineTypes.state = _menhir_s;
17545 MenhirLib.EngineTypes.semv = Obj.repr _v;
17546 MenhirLib.EngineTypes.startp = _startpos;
17547 MenhirLib.EngineTypes.endp = _endpos;
17548 MenhirLib.EngineTypes.next = _menhir_stack;
17549 });
17550 (fun _menhir_env ->
17551 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17552 let {
17553 MenhirLib.EngineTypes.startp = _startpos__4_;
17554 MenhirLib.EngineTypes.endp = _endpos__4_;
17555 MenhirLib.EngineTypes.next = {
17556 MenhirLib.EngineTypes.semv = el;
17557 MenhirLib.EngineTypes.startp = _startpos_el_;
17558 MenhirLib.EngineTypes.endp = _endpos_el_;
17559 MenhirLib.EngineTypes.next = {
17560 MenhirLib.EngineTypes.semv = e1;
17561 MenhirLib.EngineTypes.startp = _startpos_e1_;
17562 MenhirLib.EngineTypes.endp = _endpos_e1_;
17563 MenhirLib.EngineTypes.next = {
17564 MenhirLib.EngineTypes.state = _menhir_s;
17565 MenhirLib.EngineTypes.startp = _startpos__1_;
17566 MenhirLib.EngineTypes.endp = _endpos__1_;
17567 MenhirLib.EngineTypes.next = _menhir_stack;
17568 };
17569 };
17570 };
17571 } = _menhir_stack in
17572 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
17573 let e1 : 'tv_eexpr = Obj.magic e1 in
17574 let _startpos = _startpos__1_ in
17575 let _endpos = _endpos__4_ in
17576 let _v : (
17577 # 167 "parser_cocci_menhir.mly"
17578 (Ast0_cocci.anything list list)
17579 # 17580 "parser_cocci_menhir.ml"
17580 ) =
17581 # 2047 "parser_cocci_menhir.mly"
17582 ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el )
17583 # 17584 "parser_cocci_menhir.ml"
17584 in
17585 _menhir_env.MenhirLib.EngineTypes.stack <- {
17586 MenhirLib.EngineTypes.state = _menhir_s;
17587 MenhirLib.EngineTypes.semv = Obj.repr _v;
17588 MenhirLib.EngineTypes.startp = _startpos;
17589 MenhirLib.EngineTypes.endp = _endpos;
17590 MenhirLib.EngineTypes.next = _menhir_stack;
17591 });
17592 (fun _menhir_env ->
17593 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17594 let {
17595 MenhirLib.EngineTypes.startp = _startpos__4_;
17596 MenhirLib.EngineTypes.endp = _endpos__4_;
17597 MenhirLib.EngineTypes.next = {
17598 MenhirLib.EngineTypes.semv = el;
17599 MenhirLib.EngineTypes.startp = _startpos_el_;
17600 MenhirLib.EngineTypes.endp = _endpos_el_;
17601 MenhirLib.EngineTypes.next = {
17602 MenhirLib.EngineTypes.semv = e1;
17603 MenhirLib.EngineTypes.startp = _startpos_e1_;
17604 MenhirLib.EngineTypes.endp = _endpos_e1_;
17605 MenhirLib.EngineTypes.next = {
17606 MenhirLib.EngineTypes.state = _menhir_s;
17607 MenhirLib.EngineTypes.startp = _startpos__1_;
17608 MenhirLib.EngineTypes.endp = _endpos__1_;
17609 MenhirLib.EngineTypes.next = _menhir_stack;
17610 };
17611 };
17612 };
17613 } = _menhir_stack in
17614 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
17615 let e1 : 'tv_eexpr = Obj.magic e1 in
17616 let _startpos = _startpos__1_ in
17617 let _endpos = _endpos__4_ in
17618 let _v : (
17619 # 167 "parser_cocci_menhir.mly"
17620 (Ast0_cocci.anything list list)
17621 # 17622 "parser_cocci_menhir.ml"
17622 ) =
17623 # 2049 "parser_cocci_menhir.mly"
17624 ( let ffn x = Ast0.ExprTag x in
17625 let fn x = Ast0.TestExprTag x in
17626 P.iso_adjust ffn fn e1 el )
17627 # 17628 "parser_cocci_menhir.ml"
17628 in
17629 _menhir_env.MenhirLib.EngineTypes.stack <- {
17630 MenhirLib.EngineTypes.state = _menhir_s;
17631 MenhirLib.EngineTypes.semv = Obj.repr _v;
17632 MenhirLib.EngineTypes.startp = _startpos;
17633 MenhirLib.EngineTypes.endp = _endpos;
17634 MenhirLib.EngineTypes.next = _menhir_stack;
17635 });
17636 (fun _menhir_env ->
17637 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17638 let {
17639 MenhirLib.EngineTypes.startp = _startpos__4_;
17640 MenhirLib.EngineTypes.endp = _endpos__4_;
17641 MenhirLib.EngineTypes.next = {
17642 MenhirLib.EngineTypes.semv = sl;
17643 MenhirLib.EngineTypes.startp = _startpos_sl_;
17644 MenhirLib.EngineTypes.endp = _endpos_sl_;
17645 MenhirLib.EngineTypes.next = {
17646 MenhirLib.EngineTypes.semv = s1;
17647 MenhirLib.EngineTypes.startp = _startpos_s1_;
17648 MenhirLib.EngineTypes.endp = _endpos_s1_;
17649 MenhirLib.EngineTypes.next = {
17650 MenhirLib.EngineTypes.state = _menhir_s;
17651 MenhirLib.EngineTypes.startp = _startpos__1_;
17652 MenhirLib.EngineTypes.endp = _endpos__1_;
17653 MenhirLib.EngineTypes.next = _menhir_stack;
17654 };
17655 };
17656 };
17657 } = _menhir_stack in
17658 let sl : 'tv_list_iso_single_statement__ = Obj.magic sl in
17659 let s1 : 'tv_single_statement = Obj.magic s1 in
17660 let _startpos = _startpos__1_ in
17661 let _endpos = _endpos__4_ in
17662 let _v : (
17663 # 167 "parser_cocci_menhir.mly"
17664 (Ast0_cocci.anything list list)
17665 # 17666 "parser_cocci_menhir.ml"
17666 ) =
17667 # 2053 "parser_cocci_menhir.mly"
17668 ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl )
17669 # 17670 "parser_cocci_menhir.ml"
17670 in
17671 _menhir_env.MenhirLib.EngineTypes.stack <- {
17672 MenhirLib.EngineTypes.state = _menhir_s;
17673 MenhirLib.EngineTypes.semv = Obj.repr _v;
17674 MenhirLib.EngineTypes.startp = _startpos;
17675 MenhirLib.EngineTypes.endp = _endpos;
17676 MenhirLib.EngineTypes.next = _menhir_stack;
17677 });
17678 (fun _menhir_env ->
17679 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17680 let {
17681 MenhirLib.EngineTypes.startp = _startpos__4_;
17682 MenhirLib.EngineTypes.endp = _endpos__4_;
17683 MenhirLib.EngineTypes.next = {
17684 MenhirLib.EngineTypes.semv = tl;
17685 MenhirLib.EngineTypes.startp = _startpos_tl_;
17686 MenhirLib.EngineTypes.endp = _endpos_tl_;
17687 MenhirLib.EngineTypes.next = {
17688 MenhirLib.EngineTypes.semv = t1;
17689 MenhirLib.EngineTypes.startp = _startpos_t1_;
17690 MenhirLib.EngineTypes.endp = _endpos_t1_;
17691 MenhirLib.EngineTypes.next = {
17692 MenhirLib.EngineTypes.state = _menhir_s;
17693 MenhirLib.EngineTypes.startp = _startpos__1_;
17694 MenhirLib.EngineTypes.endp = _endpos__1_;
17695 MenhirLib.EngineTypes.next = _menhir_stack;
17696 };
17697 };
17698 };
17699 } = _menhir_stack in
17700 let tl : 'tv_list_iso_ctype__ = Obj.magic tl in
17701 let t1 : 'tv_ctype = Obj.magic t1 in
17702 let _startpos = _startpos__1_ in
17703 let _endpos = _endpos__4_ in
17704 let _v : (
17705 # 167 "parser_cocci_menhir.mly"
17706 (Ast0_cocci.anything list list)
17707 # 17708 "parser_cocci_menhir.ml"
17708 ) =
17709 # 2055 "parser_cocci_menhir.mly"
17710 ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl )
17711 # 17712 "parser_cocci_menhir.ml"
17712 in
17713 _menhir_env.MenhirLib.EngineTypes.stack <- {
17714 MenhirLib.EngineTypes.state = _menhir_s;
17715 MenhirLib.EngineTypes.semv = Obj.repr _v;
17716 MenhirLib.EngineTypes.startp = _startpos;
17717 MenhirLib.EngineTypes.endp = _endpos;
17718 MenhirLib.EngineTypes.next = _menhir_stack;
17719 });
17720 (fun _menhir_env ->
17721 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17722 let {
17723 MenhirLib.EngineTypes.startp = _startpos__4_;
17724 MenhirLib.EngineTypes.endp = _endpos__4_;
17725 MenhirLib.EngineTypes.next = {
17726 MenhirLib.EngineTypes.semv = el;
17727 MenhirLib.EngineTypes.startp = _startpos_el_;
17728 MenhirLib.EngineTypes.endp = _endpos_el_;
17729 MenhirLib.EngineTypes.next = {
17730 MenhirLib.EngineTypes.semv = e1;
17731 MenhirLib.EngineTypes.startp = _startpos_e1_;
17732 MenhirLib.EngineTypes.endp = _endpos_e1_;
17733 MenhirLib.EngineTypes.next = {
17734 MenhirLib.EngineTypes.state = _menhir_s;
17735 MenhirLib.EngineTypes.startp = _startpos__1_;
17736 MenhirLib.EngineTypes.endp = _endpos__1_;
17737 MenhirLib.EngineTypes.next = _menhir_stack;
17738 };
17739 };
17740 };
17741 } = _menhir_stack in
17742 let el : 'tv_list_iso_nest_start__ = Obj.magic el in
17743 let e1 : 'tv_nest_start = Obj.magic e1 in
17744 let _startpos = _startpos__1_ in
17745 let _endpos = _endpos__4_ in
17746 let _v : (
17747 # 167 "parser_cocci_menhir.mly"
17748 (Ast0_cocci.anything list list)
17749 # 17750 "parser_cocci_menhir.ml"
17750 ) =
17751 # 2057 "parser_cocci_menhir.mly"
17752 ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el )
17753 # 17754 "parser_cocci_menhir.ml"
17754 in
17755 _menhir_env.MenhirLib.EngineTypes.stack <- {
17756 MenhirLib.EngineTypes.state = _menhir_s;
17757 MenhirLib.EngineTypes.semv = Obj.repr _v;
17758 MenhirLib.EngineTypes.startp = _startpos;
17759 MenhirLib.EngineTypes.endp = _endpos;
17760 MenhirLib.EngineTypes.next = _menhir_stack;
17761 });
17762 (fun _menhir_env ->
17763 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17764 let {
17765 MenhirLib.EngineTypes.startp = _startpos__4_;
17766 MenhirLib.EngineTypes.endp = _endpos__4_;
17767 MenhirLib.EngineTypes.next = {
17768 MenhirLib.EngineTypes.semv = dl;
17769 MenhirLib.EngineTypes.startp = _startpos_dl_;
17770 MenhirLib.EngineTypes.endp = _endpos_dl_;
17771 MenhirLib.EngineTypes.next = {
17772 MenhirLib.EngineTypes.semv = d1;
17773 MenhirLib.EngineTypes.startp = _startpos_d1_;
17774 MenhirLib.EngineTypes.endp = _endpos_d1_;
17775 MenhirLib.EngineTypes.next = {
17776 MenhirLib.EngineTypes.state = _menhir_s;
17777 MenhirLib.EngineTypes.startp = _startpos__1_;
17778 MenhirLib.EngineTypes.endp = _endpos__1_;
17779 MenhirLib.EngineTypes.next = _menhir_stack;
17780 };
17781 };
17782 };
17783 } = _menhir_stack in
17784 let dl : 'tv_list_iso_decl_var__ = Obj.magic dl in
17785 let d1 : 'tv_decl_var = Obj.magic d1 in
17786 let _startpos = _startpos__1_ in
17787 let _endpos = _endpos__4_ in
17788 let _v : (
17789 # 167 "parser_cocci_menhir.mly"
17790 (Ast0_cocci.anything list list)
17791 # 17792 "parser_cocci_menhir.ml"
17792 ) =
17793 # 2059 "parser_cocci_menhir.mly"
17794 ( let check_one = function
17795 [x] -> x
17796 | _ ->
17797 raise
17798 (Semantic_cocci.Semantic
17799 "only one variable per declaration in an isomorphism rule") in
17800 let d1 = check_one d1 in
17801 let dl =
17802 List.map
17803 (function
17804 Common.Left x -> Common.Left(check_one x)
17805 | Common.Right x -> Common.Right(check_one x))
17806 dl in
17807 let fn x = Ast0.DeclTag x in P.iso_adjust fn fn d1 dl )
17808 # 17809 "parser_cocci_menhir.ml"
17809 in
17810 _menhir_env.MenhirLib.EngineTypes.stack <- {
17811 MenhirLib.EngineTypes.state = _menhir_s;
17812 MenhirLib.EngineTypes.semv = Obj.repr _v;
17813 MenhirLib.EngineTypes.startp = _startpos;
17814 MenhirLib.EngineTypes.endp = _endpos;
17815 MenhirLib.EngineTypes.next = _menhir_stack;
17816 });
17817 (fun _menhir_env ->
17818 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17819 let {
17820 MenhirLib.EngineTypes.state = _menhir_s;
17821 MenhirLib.EngineTypes.semv = m;
17822 MenhirLib.EngineTypes.startp = _startpos_m_;
17823 MenhirLib.EngineTypes.endp = _endpos_m_;
17824 MenhirLib.EngineTypes.next = _menhir_stack;
17825 } = _menhir_stack in
17826 let m : 'tv_metadec = Obj.magic m in
17827 let _startpos = _startpos_m_ in
17828 let _endpos = _endpos_m_ in
17829 let _v : (
17830 # 170 "parser_cocci_menhir.mly"
17831 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
17832 # 17833 "parser_cocci_menhir.ml"
17833 ) =
17834 # 187 "parser_cocci_menhir.mly"
17835 ( m "" )
17836 # 17837 "parser_cocci_menhir.ml"
17837 in
17838 _menhir_env.MenhirLib.EngineTypes.stack <- {
17839 MenhirLib.EngineTypes.state = _menhir_s;
17840 MenhirLib.EngineTypes.semv = Obj.repr _v;
17841 MenhirLib.EngineTypes.startp = _startpos;
17842 MenhirLib.EngineTypes.endp = _endpos;
17843 MenhirLib.EngineTypes.next = _menhir_stack;
17844 });
17845 (fun _menhir_env ->
17846 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17847 let {
17848 MenhirLib.EngineTypes.startp = _startpos__2_;
17849 MenhirLib.EngineTypes.endp = _endpos__2_;
17850 MenhirLib.EngineTypes.next = {
17851 MenhirLib.EngineTypes.state = _menhir_s;
17852 MenhirLib.EngineTypes.semv = nm;
17853 MenhirLib.EngineTypes.startp = _startpos_nm_;
17854 MenhirLib.EngineTypes.endp = _endpos_nm_;
17855 MenhirLib.EngineTypes.next = _menhir_stack;
17856 };
17857 } = _menhir_stack in
17858 let nm : 'tv_pure_ident = Obj.magic nm in
17859 let _startpos = _startpos_nm_ in
17860 let _endpos = _endpos__2_ in
17861 let _v : (
17862 # 154 "parser_cocci_menhir.mly"
17863 (Ast_cocci.rulename)
17864 # 17865 "parser_cocci_menhir.ml"
17865 ) =
17866 # 202 "parser_cocci_menhir.mly"
17867 ( P.make_iso_rule_name_result (P.id2name nm) )
17868 # 17869 "parser_cocci_menhir.ml"
17869 in
17870 _menhir_env.MenhirLib.EngineTypes.stack <- {
17871 MenhirLib.EngineTypes.state = _menhir_s;
17872 MenhirLib.EngineTypes.semv = Obj.repr _v;
17873 MenhirLib.EngineTypes.startp = _startpos;
17874 MenhirLib.EngineTypes.endp = _endpos;
17875 MenhirLib.EngineTypes.next = _menhir_stack;
17876 });
17877 (fun _menhir_env ->
17878 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17879 let {
17880 MenhirLib.EngineTypes.state = _menhir_s;
17881 MenhirLib.EngineTypes.semv = _1;
17882 MenhirLib.EngineTypes.startp = _startpos__1_;
17883 MenhirLib.EngineTypes.endp = _endpos__1_;
17884 MenhirLib.EngineTypes.next = _menhir_stack;
17885 } = _menhir_stack in
17886 let _1 : (
17887 # 61 "parser_cocci_menhir.mly"
17888 (string * Data.clt)
17889 # 17890 "parser_cocci_menhir.ml"
17890 ) = Obj.magic _1 in
17891 let _startpos = _startpos__1_ in
17892 let _endpos = _endpos__1_ in
17893 let _v : 'tv_iter_ident =
17894 # 1717 "parser_cocci_menhir.mly"
17895 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
17896 # 17897 "parser_cocci_menhir.ml"
17897 in
17898 _menhir_env.MenhirLib.EngineTypes.stack <- {
17899 MenhirLib.EngineTypes.state = _menhir_s;
17900 MenhirLib.EngineTypes.semv = Obj.repr _v;
17901 MenhirLib.EngineTypes.startp = _startpos;
17902 MenhirLib.EngineTypes.endp = _endpos;
17903 MenhirLib.EngineTypes.next = _menhir_stack;
17904 });
17905 (fun _menhir_env ->
17906 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17907 let {
17908 MenhirLib.EngineTypes.state = _menhir_s;
17909 MenhirLib.EngineTypes.semv = _1;
17910 MenhirLib.EngineTypes.startp = _startpos__1_;
17911 MenhirLib.EngineTypes.endp = _endpos__1_;
17912 MenhirLib.EngineTypes.next = _menhir_stack;
17913 } = _menhir_stack in
17914 let _1 : (
17915 # 65 "parser_cocci_menhir.mly"
17916 (Parse_aux.idinfo)
17917 # 17918 "parser_cocci_menhir.ml"
17918 ) = Obj.magic _1 in
17919 let _startpos = _startpos__1_ in
17920 let _endpos = _endpos__1_ in
17921 let _v : 'tv_iter_ident =
17922 # 1719 "parser_cocci_menhir.mly"
17923 ( let (nm,constraints,pure,clt) = _1 in
17924 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
17925 # 17926 "parser_cocci_menhir.ml"
17926 in
17927 _menhir_env.MenhirLib.EngineTypes.stack <- {
17928 MenhirLib.EngineTypes.state = _menhir_s;
17929 MenhirLib.EngineTypes.semv = Obj.repr _v;
17930 MenhirLib.EngineTypes.startp = _startpos;
17931 MenhirLib.EngineTypes.endp = _endpos;
17932 MenhirLib.EngineTypes.next = _menhir_stack;
17933 });
17934 (fun _menhir_env ->
17935 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17936 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17937 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17938 let _endpos = _startpos in
17939 let _v : 'tv_list_TMul_ =
17940 # 114 "standard.mly"
17941 ( [] )
17942 # 17943 "parser_cocci_menhir.ml"
17943 in
17944 _menhir_env.MenhirLib.EngineTypes.stack <- {
17945 MenhirLib.EngineTypes.state = _menhir_s;
17946 MenhirLib.EngineTypes.semv = Obj.repr _v;
17947 MenhirLib.EngineTypes.startp = _startpos;
17948 MenhirLib.EngineTypes.endp = _endpos;
17949 MenhirLib.EngineTypes.next = _menhir_stack;
17950 });
17951 (fun _menhir_env ->
17952 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17953 let {
17954 MenhirLib.EngineTypes.semv = xs;
17955 MenhirLib.EngineTypes.startp = _startpos_xs_;
17956 MenhirLib.EngineTypes.endp = _endpos_xs_;
17957 MenhirLib.EngineTypes.next = {
17958 MenhirLib.EngineTypes.state = _menhir_s;
17959 MenhirLib.EngineTypes.semv = x;
17960 MenhirLib.EngineTypes.startp = _startpos_x_;
17961 MenhirLib.EngineTypes.endp = _endpos_x_;
17962 MenhirLib.EngineTypes.next = _menhir_stack;
17963 };
17964 } = _menhir_stack in
17965 let xs : 'tv_list_TMul_ = Obj.magic xs in
17966 let x : (
17967 # 102 "parser_cocci_menhir.mly"
17968 (Data.clt)
17969 # 17970 "parser_cocci_menhir.ml"
17970 ) = Obj.magic x in
17971 let _startpos = _startpos_x_ in
17972 let _endpos = _endpos_xs_ in
17973 let _v : 'tv_list_TMul_ =
17974 # 116 "standard.mly"
17975 ( x :: xs )
17976 # 17977 "parser_cocci_menhir.ml"
17977 in
17978 _menhir_env.MenhirLib.EngineTypes.stack <- {
17979 MenhirLib.EngineTypes.state = _menhir_s;
17980 MenhirLib.EngineTypes.semv = Obj.repr _v;
17981 MenhirLib.EngineTypes.startp = _startpos;
17982 MenhirLib.EngineTypes.endp = _endpos;
17983 MenhirLib.EngineTypes.next = _menhir_stack;
17984 });
17985 (fun _menhir_env ->
17986 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17987 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
17988 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
17989 let _endpos = _startpos in
17990 let _v : 'tv_list_array_dec_ =
17991 # 114 "standard.mly"
17992 ( [] )
17993 # 17994 "parser_cocci_menhir.ml"
17994 in
17995 _menhir_env.MenhirLib.EngineTypes.stack <- {
17996 MenhirLib.EngineTypes.state = _menhir_s;
17997 MenhirLib.EngineTypes.semv = Obj.repr _v;
17998 MenhirLib.EngineTypes.startp = _startpos;
17999 MenhirLib.EngineTypes.endp = _endpos;
18000 MenhirLib.EngineTypes.next = _menhir_stack;
18001 });
18002 (fun _menhir_env ->
18003 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18004 let {
18005 MenhirLib.EngineTypes.semv = xs;
18006 MenhirLib.EngineTypes.startp = _startpos_xs_;
18007 MenhirLib.EngineTypes.endp = _endpos_xs_;
18008 MenhirLib.EngineTypes.next = {
18009 MenhirLib.EngineTypes.state = _menhir_s;
18010 MenhirLib.EngineTypes.semv = x;
18011 MenhirLib.EngineTypes.startp = _startpos_x_;
18012 MenhirLib.EngineTypes.endp = _endpos_x_;
18013 MenhirLib.EngineTypes.next = _menhir_stack;
18014 };
18015 } = _menhir_stack in
18016 let xs : 'tv_list_array_dec_ = Obj.magic xs in
18017 let x : 'tv_array_dec = Obj.magic x in
18018 let _startpos = _startpos_x_ in
18019 let _endpos = _endpos_xs_ in
18020 let _v : 'tv_list_array_dec_ =
18021 # 116 "standard.mly"
18022 ( x :: xs )
18023 # 18024 "parser_cocci_menhir.ml"
18024 in
18025 _menhir_env.MenhirLib.EngineTypes.stack <- {
18026 MenhirLib.EngineTypes.state = _menhir_s;
18027 MenhirLib.EngineTypes.semv = Obj.repr _v;
18028 MenhirLib.EngineTypes.startp = _startpos;
18029 MenhirLib.EngineTypes.endp = _endpos;
18030 MenhirLib.EngineTypes.next = _menhir_stack;
18031 });
18032 (fun _menhir_env ->
18033 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18034 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18035 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18036 let _endpos = _startpos in
18037 let _v : 'tv_list_case_line_ =
18038 # 114 "standard.mly"
18039 ( [] )
18040 # 18041 "parser_cocci_menhir.ml"
18041 in
18042 _menhir_env.MenhirLib.EngineTypes.stack <- {
18043 MenhirLib.EngineTypes.state = _menhir_s;
18044 MenhirLib.EngineTypes.semv = Obj.repr _v;
18045 MenhirLib.EngineTypes.startp = _startpos;
18046 MenhirLib.EngineTypes.endp = _endpos;
18047 MenhirLib.EngineTypes.next = _menhir_stack;
18048 });
18049 (fun _menhir_env ->
18050 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18051 let {
18052 MenhirLib.EngineTypes.semv = xs;
18053 MenhirLib.EngineTypes.startp = _startpos_xs_;
18054 MenhirLib.EngineTypes.endp = _endpos_xs_;
18055 MenhirLib.EngineTypes.next = {
18056 MenhirLib.EngineTypes.state = _menhir_s;
18057 MenhirLib.EngineTypes.semv = x;
18058 MenhirLib.EngineTypes.startp = _startpos_x_;
18059 MenhirLib.EngineTypes.endp = _endpos_x_;
18060 MenhirLib.EngineTypes.next = _menhir_stack;
18061 };
18062 } = _menhir_stack in
18063 let xs : 'tv_list_case_line_ = Obj.magic xs in
18064 let x : 'tv_case_line = Obj.magic x in
18065 let _startpos = _startpos_x_ in
18066 let _endpos = _endpos_xs_ in
18067 let _v : 'tv_list_case_line_ =
18068 # 116 "standard.mly"
18069 ( x :: xs )
18070 # 18071 "parser_cocci_menhir.ml"
18071 in
18072 _menhir_env.MenhirLib.EngineTypes.stack <- {
18073 MenhirLib.EngineTypes.state = _menhir_s;
18074 MenhirLib.EngineTypes.semv = Obj.repr _v;
18075 MenhirLib.EngineTypes.startp = _startpos;
18076 MenhirLib.EngineTypes.endp = _endpos;
18077 MenhirLib.EngineTypes.next = _menhir_stack;
18078 });
18079 (fun _menhir_env ->
18080 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18081 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18082 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18083 let _endpos = _startpos in
18084 let _v : 'tv_list_decl_var_ =
18085 # 114 "standard.mly"
18086 ( [] )
18087 # 18088 "parser_cocci_menhir.ml"
18088 in
18089 _menhir_env.MenhirLib.EngineTypes.stack <- {
18090 MenhirLib.EngineTypes.state = _menhir_s;
18091 MenhirLib.EngineTypes.semv = Obj.repr _v;
18092 MenhirLib.EngineTypes.startp = _startpos;
18093 MenhirLib.EngineTypes.endp = _endpos;
18094 MenhirLib.EngineTypes.next = _menhir_stack;
18095 });
18096 (fun _menhir_env ->
18097 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18098 let {
18099 MenhirLib.EngineTypes.semv = xs;
18100 MenhirLib.EngineTypes.startp = _startpos_xs_;
18101 MenhirLib.EngineTypes.endp = _endpos_xs_;
18102 MenhirLib.EngineTypes.next = {
18103 MenhirLib.EngineTypes.state = _menhir_s;
18104 MenhirLib.EngineTypes.semv = x;
18105 MenhirLib.EngineTypes.startp = _startpos_x_;
18106 MenhirLib.EngineTypes.endp = _endpos_x_;
18107 MenhirLib.EngineTypes.next = _menhir_stack;
18108 };
18109 } = _menhir_stack in
18110 let xs : 'tv_list_decl_var_ = Obj.magic xs in
18111 let x : 'tv_decl_var = Obj.magic x in
18112 let _startpos = _startpos_x_ in
18113 let _endpos = _endpos_xs_ in
18114 let _v : 'tv_list_decl_var_ =
18115 # 116 "standard.mly"
18116 ( x :: xs )
18117 # 18118 "parser_cocci_menhir.ml"
18118 in
18119 _menhir_env.MenhirLib.EngineTypes.stack <- {
18120 MenhirLib.EngineTypes.state = _menhir_s;
18121 MenhirLib.EngineTypes.semv = Obj.repr _v;
18122 MenhirLib.EngineTypes.startp = _startpos;
18123 MenhirLib.EngineTypes.endp = _endpos;
18124 MenhirLib.EngineTypes.next = _menhir_stack;
18125 });
18126 (fun _menhir_env ->
18127 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18128 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18129 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18130 let _endpos = _startpos in
18131 let _v : 'tv_list_designator_ =
18132 # 114 "standard.mly"
18133 ( [] )
18134 # 18135 "parser_cocci_menhir.ml"
18135 in
18136 _menhir_env.MenhirLib.EngineTypes.stack <- {
18137 MenhirLib.EngineTypes.state = _menhir_s;
18138 MenhirLib.EngineTypes.semv = Obj.repr _v;
18139 MenhirLib.EngineTypes.startp = _startpos;
18140 MenhirLib.EngineTypes.endp = _endpos;
18141 MenhirLib.EngineTypes.next = _menhir_stack;
18142 });
18143 (fun _menhir_env ->
18144 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18145 let {
18146 MenhirLib.EngineTypes.semv = xs;
18147 MenhirLib.EngineTypes.startp = _startpos_xs_;
18148 MenhirLib.EngineTypes.endp = _endpos_xs_;
18149 MenhirLib.EngineTypes.next = {
18150 MenhirLib.EngineTypes.state = _menhir_s;
18151 MenhirLib.EngineTypes.semv = x;
18152 MenhirLib.EngineTypes.startp = _startpos_x_;
18153 MenhirLib.EngineTypes.endp = _endpos_x_;
18154 MenhirLib.EngineTypes.next = _menhir_stack;
18155 };
18156 } = _menhir_stack in
18157 let xs : 'tv_list_designator_ = Obj.magic xs in
18158 let x : 'tv_designator = Obj.magic x in
18159 let _startpos = _startpos_x_ in
18160 let _endpos = _endpos_xs_ in
18161 let _v : 'tv_list_designator_ =
18162 # 116 "standard.mly"
18163 ( x :: xs )
18164 # 18165 "parser_cocci_menhir.ml"
18165 in
18166 _menhir_env.MenhirLib.EngineTypes.stack <- {
18167 MenhirLib.EngineTypes.state = _menhir_s;
18168 MenhirLib.EngineTypes.semv = Obj.repr _v;
18169 MenhirLib.EngineTypes.startp = _startpos;
18170 MenhirLib.EngineTypes.endp = _endpos;
18171 MenhirLib.EngineTypes.next = _menhir_stack;
18172 });
18173 (fun _menhir_env ->
18174 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18175 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18176 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18177 let _endpos = _startpos in
18178 let _v : 'tv_list_incl_ =
18179 # 114 "standard.mly"
18180 ( [] )
18181 # 18182 "parser_cocci_menhir.ml"
18182 in
18183 _menhir_env.MenhirLib.EngineTypes.stack <- {
18184 MenhirLib.EngineTypes.state = _menhir_s;
18185 MenhirLib.EngineTypes.semv = Obj.repr _v;
18186 MenhirLib.EngineTypes.startp = _startpos;
18187 MenhirLib.EngineTypes.endp = _endpos;
18188 MenhirLib.EngineTypes.next = _menhir_stack;
18189 });
18190 (fun _menhir_env ->
18191 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18192 let {
18193 MenhirLib.EngineTypes.semv = xs;
18194 MenhirLib.EngineTypes.startp = _startpos_xs_;
18195 MenhirLib.EngineTypes.endp = _endpos_xs_;
18196 MenhirLib.EngineTypes.next = {
18197 MenhirLib.EngineTypes.state = _menhir_s;
18198 MenhirLib.EngineTypes.semv = x;
18199 MenhirLib.EngineTypes.startp = _startpos_x_;
18200 MenhirLib.EngineTypes.endp = _endpos_x_;
18201 MenhirLib.EngineTypes.next = _menhir_stack;
18202 };
18203 } = _menhir_stack in
18204 let xs : 'tv_list_incl_ = Obj.magic xs in
18205 let x : 'tv_incl = Obj.magic x in
18206 let _startpos = _startpos_x_ in
18207 let _endpos = _endpos_xs_ in
18208 let _v : 'tv_list_incl_ =
18209 # 116 "standard.mly"
18210 ( x :: xs )
18211 # 18212 "parser_cocci_menhir.ml"
18212 in
18213 _menhir_env.MenhirLib.EngineTypes.stack <- {
18214 MenhirLib.EngineTypes.state = _menhir_s;
18215 MenhirLib.EngineTypes.semv = Obj.repr _v;
18216 MenhirLib.EngineTypes.startp = _startpos;
18217 MenhirLib.EngineTypes.endp = _endpos;
18218 MenhirLib.EngineTypes.next = _menhir_stack;
18219 });
18220 (fun _menhir_env ->
18221 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18222 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18223 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18224 let _endpos = _startpos in
18225 let _v : 'tv_list_iso_ctype__ =
18226 # 114 "standard.mly"
18227 ( [] )
18228 # 18229 "parser_cocci_menhir.ml"
18229 in
18230 _menhir_env.MenhirLib.EngineTypes.stack <- {
18231 MenhirLib.EngineTypes.state = _menhir_s;
18232 MenhirLib.EngineTypes.semv = Obj.repr _v;
18233 MenhirLib.EngineTypes.startp = _startpos;
18234 MenhirLib.EngineTypes.endp = _endpos;
18235 MenhirLib.EngineTypes.next = _menhir_stack;
18236 });
18237 (fun _menhir_env ->
18238 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18239 let {
18240 MenhirLib.EngineTypes.semv = xs;
18241 MenhirLib.EngineTypes.startp = _startpos_xs_;
18242 MenhirLib.EngineTypes.endp = _endpos_xs_;
18243 MenhirLib.EngineTypes.next = {
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 };
18250 } = _menhir_stack in
18251 let xs : 'tv_list_iso_ctype__ = Obj.magic xs in
18252 let x : 'tv_iso_ctype_ = Obj.magic x in
18253 let _startpos = _startpos_x_ in
18254 let _endpos = _endpos_xs_ in
18255 let _v : 'tv_list_iso_ctype__ =
18256 # 116 "standard.mly"
18257 ( x :: xs )
18258 # 18259 "parser_cocci_menhir.ml"
18259 in
18260 _menhir_env.MenhirLib.EngineTypes.stack <- {
18261 MenhirLib.EngineTypes.state = _menhir_s;
18262 MenhirLib.EngineTypes.semv = Obj.repr _v;
18263 MenhirLib.EngineTypes.startp = _startpos;
18264 MenhirLib.EngineTypes.endp = _endpos;
18265 MenhirLib.EngineTypes.next = _menhir_stack;
18266 });
18267 (fun _menhir_env ->
18268 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18269 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18270 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18271 let _endpos = _startpos in
18272 let _v : 'tv_list_iso_decl_var__ =
18273 # 114 "standard.mly"
18274 ( [] )
18275 # 18276 "parser_cocci_menhir.ml"
18276 in
18277 _menhir_env.MenhirLib.EngineTypes.stack <- {
18278 MenhirLib.EngineTypes.state = _menhir_s;
18279 MenhirLib.EngineTypes.semv = Obj.repr _v;
18280 MenhirLib.EngineTypes.startp = _startpos;
18281 MenhirLib.EngineTypes.endp = _endpos;
18282 MenhirLib.EngineTypes.next = _menhir_stack;
18283 });
18284 (fun _menhir_env ->
18285 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18286 let {
18287 MenhirLib.EngineTypes.semv = xs;
18288 MenhirLib.EngineTypes.startp = _startpos_xs_;
18289 MenhirLib.EngineTypes.endp = _endpos_xs_;
18290 MenhirLib.EngineTypes.next = {
18291 MenhirLib.EngineTypes.state = _menhir_s;
18292 MenhirLib.EngineTypes.semv = x;
18293 MenhirLib.EngineTypes.startp = _startpos_x_;
18294 MenhirLib.EngineTypes.endp = _endpos_x_;
18295 MenhirLib.EngineTypes.next = _menhir_stack;
18296 };
18297 } = _menhir_stack in
18298 let xs : 'tv_list_iso_decl_var__ = Obj.magic xs in
18299 let x : 'tv_iso_decl_var_ = Obj.magic x in
18300 let _startpos = _startpos_x_ in
18301 let _endpos = _endpos_xs_ in
18302 let _v : 'tv_list_iso_decl_var__ =
18303 # 116 "standard.mly"
18304 ( x :: xs )
18305 # 18306 "parser_cocci_menhir.ml"
18306 in
18307 _menhir_env.MenhirLib.EngineTypes.stack <- {
18308 MenhirLib.EngineTypes.state = _menhir_s;
18309 MenhirLib.EngineTypes.semv = Obj.repr _v;
18310 MenhirLib.EngineTypes.startp = _startpos;
18311 MenhirLib.EngineTypes.endp = _endpos;
18312 MenhirLib.EngineTypes.next = _menhir_stack;
18313 });
18314 (fun _menhir_env ->
18315 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18316 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18317 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18318 let _endpos = _startpos in
18319 let _v : 'tv_list_iso_eexpr__ =
18320 # 114 "standard.mly"
18321 ( [] )
18322 # 18323 "parser_cocci_menhir.ml"
18323 in
18324 _menhir_env.MenhirLib.EngineTypes.stack <- {
18325 MenhirLib.EngineTypes.state = _menhir_s;
18326 MenhirLib.EngineTypes.semv = Obj.repr _v;
18327 MenhirLib.EngineTypes.startp = _startpos;
18328 MenhirLib.EngineTypes.endp = _endpos;
18329 MenhirLib.EngineTypes.next = _menhir_stack;
18330 });
18331 (fun _menhir_env ->
18332 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18333 let {
18334 MenhirLib.EngineTypes.semv = xs;
18335 MenhirLib.EngineTypes.startp = _startpos_xs_;
18336 MenhirLib.EngineTypes.endp = _endpos_xs_;
18337 MenhirLib.EngineTypes.next = {
18338 MenhirLib.EngineTypes.state = _menhir_s;
18339 MenhirLib.EngineTypes.semv = x;
18340 MenhirLib.EngineTypes.startp = _startpos_x_;
18341 MenhirLib.EngineTypes.endp = _endpos_x_;
18342 MenhirLib.EngineTypes.next = _menhir_stack;
18343 };
18344 } = _menhir_stack in
18345 let xs : 'tv_list_iso_eexpr__ = Obj.magic xs in
18346 let x : 'tv_iso_eexpr_ = Obj.magic x in
18347 let _startpos = _startpos_x_ in
18348 let _endpos = _endpos_xs_ in
18349 let _v : 'tv_list_iso_eexpr__ =
18350 # 116 "standard.mly"
18351 ( x :: xs )
18352 # 18353 "parser_cocci_menhir.ml"
18353 in
18354 _menhir_env.MenhirLib.EngineTypes.stack <- {
18355 MenhirLib.EngineTypes.state = _menhir_s;
18356 MenhirLib.EngineTypes.semv = Obj.repr _v;
18357 MenhirLib.EngineTypes.startp = _startpos;
18358 MenhirLib.EngineTypes.endp = _endpos;
18359 MenhirLib.EngineTypes.next = _menhir_stack;
18360 });
18361 (fun _menhir_env ->
18362 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18363 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18364 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18365 let _endpos = _startpos in
18366 let _v : 'tv_list_iso_nest_start__ =
18367 # 114 "standard.mly"
18368 ( [] )
18369 # 18370 "parser_cocci_menhir.ml"
18370 in
18371 _menhir_env.MenhirLib.EngineTypes.stack <- {
18372 MenhirLib.EngineTypes.state = _menhir_s;
18373 MenhirLib.EngineTypes.semv = Obj.repr _v;
18374 MenhirLib.EngineTypes.startp = _startpos;
18375 MenhirLib.EngineTypes.endp = _endpos;
18376 MenhirLib.EngineTypes.next = _menhir_stack;
18377 });
18378 (fun _menhir_env ->
18379 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18380 let {
18381 MenhirLib.EngineTypes.semv = xs;
18382 MenhirLib.EngineTypes.startp = _startpos_xs_;
18383 MenhirLib.EngineTypes.endp = _endpos_xs_;
18384 MenhirLib.EngineTypes.next = {
18385 MenhirLib.EngineTypes.state = _menhir_s;
18386 MenhirLib.EngineTypes.semv = x;
18387 MenhirLib.EngineTypes.startp = _startpos_x_;
18388 MenhirLib.EngineTypes.endp = _endpos_x_;
18389 MenhirLib.EngineTypes.next = _menhir_stack;
18390 };
18391 } = _menhir_stack in
18392 let xs : 'tv_list_iso_nest_start__ = Obj.magic xs in
18393 let x : 'tv_iso_nest_start_ = Obj.magic x in
18394 let _startpos = _startpos_x_ in
18395 let _endpos = _endpos_xs_ in
18396 let _v : 'tv_list_iso_nest_start__ =
18397 # 116 "standard.mly"
18398 ( x :: xs )
18399 # 18400 "parser_cocci_menhir.ml"
18400 in
18401 _menhir_env.MenhirLib.EngineTypes.stack <- {
18402 MenhirLib.EngineTypes.state = _menhir_s;
18403 MenhirLib.EngineTypes.semv = Obj.repr _v;
18404 MenhirLib.EngineTypes.startp = _startpos;
18405 MenhirLib.EngineTypes.endp = _endpos;
18406 MenhirLib.EngineTypes.next = _menhir_stack;
18407 });
18408 (fun _menhir_env ->
18409 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18410 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18411 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18412 let _endpos = _startpos in
18413 let _v : 'tv_list_iso_single_statement__ =
18414 # 114 "standard.mly"
18415 ( [] )
18416 # 18417 "parser_cocci_menhir.ml"
18417 in
18418 _menhir_env.MenhirLib.EngineTypes.stack <- {
18419 MenhirLib.EngineTypes.state = _menhir_s;
18420 MenhirLib.EngineTypes.semv = Obj.repr _v;
18421 MenhirLib.EngineTypes.startp = _startpos;
18422 MenhirLib.EngineTypes.endp = _endpos;
18423 MenhirLib.EngineTypes.next = _menhir_stack;
18424 });
18425 (fun _menhir_env ->
18426 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18427 let {
18428 MenhirLib.EngineTypes.semv = xs;
18429 MenhirLib.EngineTypes.startp = _startpos_xs_;
18430 MenhirLib.EngineTypes.endp = _endpos_xs_;
18431 MenhirLib.EngineTypes.next = {
18432 MenhirLib.EngineTypes.state = _menhir_s;
18433 MenhirLib.EngineTypes.semv = x;
18434 MenhirLib.EngineTypes.startp = _startpos_x_;
18435 MenhirLib.EngineTypes.endp = _endpos_x_;
18436 MenhirLib.EngineTypes.next = _menhir_stack;
18437 };
18438 } = _menhir_stack in
18439 let xs : 'tv_list_iso_single_statement__ = Obj.magic xs in
18440 let x : 'tv_iso_single_statement_ = Obj.magic x in
18441 let _startpos = _startpos_x_ in
18442 let _endpos = _endpos_xs_ in
18443 let _v : 'tv_list_iso_single_statement__ =
18444 # 116 "standard.mly"
18445 ( x :: xs )
18446 # 18447 "parser_cocci_menhir.ml"
18447 in
18448 _menhir_env.MenhirLib.EngineTypes.stack <- {
18449 MenhirLib.EngineTypes.state = _menhir_s;
18450 MenhirLib.EngineTypes.semv = Obj.repr _v;
18451 MenhirLib.EngineTypes.startp = _startpos;
18452 MenhirLib.EngineTypes.endp = _endpos;
18453 MenhirLib.EngineTypes.next = _menhir_stack;
18454 });
18455 (fun _menhir_env ->
18456 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18457 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18458 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18459 let _endpos = _startpos in
18460 let _v : 'tv_list_mzl_ctype__ =
18461 # 114 "standard.mly"
18462 ( [] )
18463 # 18464 "parser_cocci_menhir.ml"
18464 in
18465 _menhir_env.MenhirLib.EngineTypes.stack <- {
18466 MenhirLib.EngineTypes.state = _menhir_s;
18467 MenhirLib.EngineTypes.semv = Obj.repr _v;
18468 MenhirLib.EngineTypes.startp = _startpos;
18469 MenhirLib.EngineTypes.endp = _endpos;
18470 MenhirLib.EngineTypes.next = _menhir_stack;
18471 });
18472 (fun _menhir_env ->
18473 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18474 let {
18475 MenhirLib.EngineTypes.semv = xs;
18476 MenhirLib.EngineTypes.startp = _startpos_xs_;
18477 MenhirLib.EngineTypes.endp = _endpos_xs_;
18478 MenhirLib.EngineTypes.next = {
18479 MenhirLib.EngineTypes.state = _menhir_s;
18480 MenhirLib.EngineTypes.semv = x;
18481 MenhirLib.EngineTypes.startp = _startpos_x_;
18482 MenhirLib.EngineTypes.endp = _endpos_x_;
18483 MenhirLib.EngineTypes.next = _menhir_stack;
18484 };
18485 } = _menhir_stack in
18486 let xs : 'tv_list_mzl_ctype__ = Obj.magic xs in
18487 let x : 'tv_mzl_ctype_ = Obj.magic x in
18488 let _startpos = _startpos_x_ in
18489 let _endpos = _endpos_xs_ in
18490 let _v : 'tv_list_mzl_ctype__ =
18491 # 116 "standard.mly"
18492 ( x :: xs )
18493 # 18494 "parser_cocci_menhir.ml"
18494 in
18495 _menhir_env.MenhirLib.EngineTypes.stack <- {
18496 MenhirLib.EngineTypes.state = _menhir_s;
18497 MenhirLib.EngineTypes.semv = Obj.repr _v;
18498 MenhirLib.EngineTypes.startp = _startpos;
18499 MenhirLib.EngineTypes.endp = _endpos;
18500 MenhirLib.EngineTypes.next = _menhir_stack;
18501 });
18502 (fun _menhir_env ->
18503 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18504 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18505 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18506 let _endpos = _startpos in
18507 let _v : 'tv_list_mzl_eexpr__ =
18508 # 114 "standard.mly"
18509 ( [] )
18510 # 18511 "parser_cocci_menhir.ml"
18511 in
18512 _menhir_env.MenhirLib.EngineTypes.stack <- {
18513 MenhirLib.EngineTypes.state = _menhir_s;
18514 MenhirLib.EngineTypes.semv = Obj.repr _v;
18515 MenhirLib.EngineTypes.startp = _startpos;
18516 MenhirLib.EngineTypes.endp = _endpos;
18517 MenhirLib.EngineTypes.next = _menhir_stack;
18518 });
18519 (fun _menhir_env ->
18520 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18521 let {
18522 MenhirLib.EngineTypes.semv = xs;
18523 MenhirLib.EngineTypes.startp = _startpos_xs_;
18524 MenhirLib.EngineTypes.endp = _endpos_xs_;
18525 MenhirLib.EngineTypes.next = {
18526 MenhirLib.EngineTypes.state = _menhir_s;
18527 MenhirLib.EngineTypes.semv = x;
18528 MenhirLib.EngineTypes.startp = _startpos_x_;
18529 MenhirLib.EngineTypes.endp = _endpos_x_;
18530 MenhirLib.EngineTypes.next = _menhir_stack;
18531 };
18532 } = _menhir_stack in
18533 let xs : 'tv_list_mzl_eexpr__ = Obj.magic xs in
18534 let x : 'tv_mzl_eexpr_ = Obj.magic x in
18535 let _startpos = _startpos_x_ in
18536 let _endpos = _endpos_xs_ in
18537 let _v : 'tv_list_mzl_eexpr__ =
18538 # 116 "standard.mly"
18539 ( x :: xs )
18540 # 18541 "parser_cocci_menhir.ml"
18541 in
18542 _menhir_env.MenhirLib.EngineTypes.stack <- {
18543 MenhirLib.EngineTypes.state = _menhir_s;
18544 MenhirLib.EngineTypes.semv = Obj.repr _v;
18545 MenhirLib.EngineTypes.startp = _startpos;
18546 MenhirLib.EngineTypes.endp = _endpos;
18547 MenhirLib.EngineTypes.next = _menhir_stack;
18548 });
18549 (fun _menhir_env ->
18550 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18551 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18552 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18553 let _endpos = _startpos in
18554 let _v : 'tv_list_mzl_fun_after_dots_or__ =
18555 # 114 "standard.mly"
18556 ( [] )
18557 # 18558 "parser_cocci_menhir.ml"
18558 in
18559 _menhir_env.MenhirLib.EngineTypes.stack <- {
18560 MenhirLib.EngineTypes.state = _menhir_s;
18561 MenhirLib.EngineTypes.semv = Obj.repr _v;
18562 MenhirLib.EngineTypes.startp = _startpos;
18563 MenhirLib.EngineTypes.endp = _endpos;
18564 MenhirLib.EngineTypes.next = _menhir_stack;
18565 });
18566 (fun _menhir_env ->
18567 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18568 let {
18569 MenhirLib.EngineTypes.semv = xs;
18570 MenhirLib.EngineTypes.startp = _startpos_xs_;
18571 MenhirLib.EngineTypes.endp = _endpos_xs_;
18572 MenhirLib.EngineTypes.next = {
18573 MenhirLib.EngineTypes.state = _menhir_s;
18574 MenhirLib.EngineTypes.semv = x;
18575 MenhirLib.EngineTypes.startp = _startpos_x_;
18576 MenhirLib.EngineTypes.endp = _endpos_x_;
18577 MenhirLib.EngineTypes.next = _menhir_stack;
18578 };
18579 } = _menhir_stack in
18580 let xs : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic xs in
18581 let x : 'tv_mzl_fun_after_dots_or_ = Obj.magic x in
18582 let _startpos = _startpos_x_ in
18583 let _endpos = _endpos_xs_ in
18584 let _v : 'tv_list_mzl_fun_after_dots_or__ =
18585 # 116 "standard.mly"
18586 ( x :: xs )
18587 # 18588 "parser_cocci_menhir.ml"
18588 in
18589 _menhir_env.MenhirLib.EngineTypes.stack <- {
18590 MenhirLib.EngineTypes.state = _menhir_s;
18591 MenhirLib.EngineTypes.semv = Obj.repr _v;
18592 MenhirLib.EngineTypes.startp = _startpos;
18593 MenhirLib.EngineTypes.endp = _endpos;
18594 MenhirLib.EngineTypes.next = _menhir_stack;
18595 });
18596 (fun _menhir_env ->
18597 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18598 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18599 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18600 let _endpos = _startpos in
18601 let _v : 'tv_list_mzl_fun_start__ =
18602 # 114 "standard.mly"
18603 ( [] )
18604 # 18605 "parser_cocci_menhir.ml"
18605 in
18606 _menhir_env.MenhirLib.EngineTypes.stack <- {
18607 MenhirLib.EngineTypes.state = _menhir_s;
18608 MenhirLib.EngineTypes.semv = Obj.repr _v;
18609 MenhirLib.EngineTypes.startp = _startpos;
18610 MenhirLib.EngineTypes.endp = _endpos;
18611 MenhirLib.EngineTypes.next = _menhir_stack;
18612 });
18613 (fun _menhir_env ->
18614 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18615 let {
18616 MenhirLib.EngineTypes.semv = xs;
18617 MenhirLib.EngineTypes.startp = _startpos_xs_;
18618 MenhirLib.EngineTypes.endp = _endpos_xs_;
18619 MenhirLib.EngineTypes.next = {
18620 MenhirLib.EngineTypes.state = _menhir_s;
18621 MenhirLib.EngineTypes.semv = x;
18622 MenhirLib.EngineTypes.startp = _startpos_x_;
18623 MenhirLib.EngineTypes.endp = _endpos_x_;
18624 MenhirLib.EngineTypes.next = _menhir_stack;
18625 };
18626 } = _menhir_stack in
18627 let xs : 'tv_list_mzl_fun_start__ = Obj.magic xs in
18628 let x : 'tv_mzl_fun_start_ = Obj.magic x in
18629 let _startpos = _startpos_x_ in
18630 let _endpos = _endpos_xs_ in
18631 let _v : 'tv_list_mzl_fun_start__ =
18632 # 116 "standard.mly"
18633 ( x :: xs )
18634 # 18635 "parser_cocci_menhir.ml"
18635 in
18636 _menhir_env.MenhirLib.EngineTypes.stack <- {
18637 MenhirLib.EngineTypes.state = _menhir_s;
18638 MenhirLib.EngineTypes.semv = Obj.repr _v;
18639 MenhirLib.EngineTypes.startp = _startpos;
18640 MenhirLib.EngineTypes.endp = _endpos;
18641 MenhirLib.EngineTypes.next = _menhir_stack;
18642 });
18643 (fun _menhir_env ->
18644 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18645 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18646 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18647 let _endpos = _startpos in
18648 let _v : 'tv_list_mzl_rule_elem_statement__ =
18649 # 114 "standard.mly"
18650 ( [] )
18651 # 18652 "parser_cocci_menhir.ml"
18652 in
18653 _menhir_env.MenhirLib.EngineTypes.stack <- {
18654 MenhirLib.EngineTypes.state = _menhir_s;
18655 MenhirLib.EngineTypes.semv = Obj.repr _v;
18656 MenhirLib.EngineTypes.startp = _startpos;
18657 MenhirLib.EngineTypes.endp = _endpos;
18658 MenhirLib.EngineTypes.next = _menhir_stack;
18659 });
18660 (fun _menhir_env ->
18661 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18662 let {
18663 MenhirLib.EngineTypes.semv = xs;
18664 MenhirLib.EngineTypes.startp = _startpos_xs_;
18665 MenhirLib.EngineTypes.endp = _endpos_xs_;
18666 MenhirLib.EngineTypes.next = {
18667 MenhirLib.EngineTypes.state = _menhir_s;
18668 MenhirLib.EngineTypes.semv = x;
18669 MenhirLib.EngineTypes.startp = _startpos_x_;
18670 MenhirLib.EngineTypes.endp = _endpos_x_;
18671 MenhirLib.EngineTypes.next = _menhir_stack;
18672 };
18673 } = _menhir_stack in
18674 let xs : 'tv_list_mzl_rule_elem_statement__ = Obj.magic xs in
18675 let x : 'tv_mzl_rule_elem_statement_ = Obj.magic x in
18676 let _startpos = _startpos_x_ in
18677 let _endpos = _endpos_xs_ in
18678 let _v : 'tv_list_mzl_rule_elem_statement__ =
18679 # 116 "standard.mly"
18680 ( x :: xs )
18681 # 18682 "parser_cocci_menhir.ml"
18682 in
18683 _menhir_env.MenhirLib.EngineTypes.stack <- {
18684 MenhirLib.EngineTypes.state = _menhir_s;
18685 MenhirLib.EngineTypes.semv = Obj.repr _v;
18686 MenhirLib.EngineTypes.startp = _startpos;
18687 MenhirLib.EngineTypes.endp = _endpos;
18688 MenhirLib.EngineTypes.next = _menhir_stack;
18689 });
18690 (fun _menhir_env ->
18691 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18692 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18693 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18694 let _endpos = _startpos in
18695 let _v : 'tv_list_mzl_statement__ =
18696 # 114 "standard.mly"
18697 ( [] )
18698 # 18699 "parser_cocci_menhir.ml"
18699 in
18700 _menhir_env.MenhirLib.EngineTypes.stack <- {
18701 MenhirLib.EngineTypes.state = _menhir_s;
18702 MenhirLib.EngineTypes.semv = Obj.repr _v;
18703 MenhirLib.EngineTypes.startp = _startpos;
18704 MenhirLib.EngineTypes.endp = _endpos;
18705 MenhirLib.EngineTypes.next = _menhir_stack;
18706 });
18707 (fun _menhir_env ->
18708 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18709 let {
18710 MenhirLib.EngineTypes.semv = xs;
18711 MenhirLib.EngineTypes.startp = _startpos_xs_;
18712 MenhirLib.EngineTypes.endp = _endpos_xs_;
18713 MenhirLib.EngineTypes.next = {
18714 MenhirLib.EngineTypes.state = _menhir_s;
18715 MenhirLib.EngineTypes.semv = x;
18716 MenhirLib.EngineTypes.startp = _startpos_x_;
18717 MenhirLib.EngineTypes.endp = _endpos_x_;
18718 MenhirLib.EngineTypes.next = _menhir_stack;
18719 };
18720 } = _menhir_stack in
18721 let xs : 'tv_list_mzl_statement__ = Obj.magic xs in
18722 let x : 'tv_mzl_statement_ = Obj.magic x in
18723 let _startpos = _startpos_x_ in
18724 let _endpos = _endpos_xs_ in
18725 let _v : 'tv_list_mzl_statement__ =
18726 # 116 "standard.mly"
18727 ( x :: xs )
18728 # 18729 "parser_cocci_menhir.ml"
18729 in
18730 _menhir_env.MenhirLib.EngineTypes.stack <- {
18731 MenhirLib.EngineTypes.state = _menhir_s;
18732 MenhirLib.EngineTypes.semv = Obj.repr _v;
18733 MenhirLib.EngineTypes.startp = _startpos;
18734 MenhirLib.EngineTypes.endp = _endpos;
18735 MenhirLib.EngineTypes.next = _menhir_stack;
18736 });
18737 (fun _menhir_env ->
18738 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18739 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18740 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18741 let _endpos = _startpos in
18742 let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ =
18743 # 114 "standard.mly"
18744 ( [] )
18745 # 18746 "parser_cocci_menhir.ml"
18746 in
18747 _menhir_env.MenhirLib.EngineTypes.stack <- {
18748 MenhirLib.EngineTypes.state = _menhir_s;
18749 MenhirLib.EngineTypes.semv = Obj.repr _v;
18750 MenhirLib.EngineTypes.startp = _startpos;
18751 MenhirLib.EngineTypes.endp = _endpos;
18752 MenhirLib.EngineTypes.next = _menhir_stack;
18753 });
18754 (fun _menhir_env ->
18755 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18756 let {
18757 MenhirLib.EngineTypes.semv = xs;
18758 MenhirLib.EngineTypes.startp = _startpos_xs_;
18759 MenhirLib.EngineTypes.endp = _endpos_xs_;
18760 MenhirLib.EngineTypes.next = {
18761 MenhirLib.EngineTypes.semv = y0;
18762 MenhirLib.EngineTypes.startp = _startpos_y0_;
18763 MenhirLib.EngineTypes.endp = _endpos_y0_;
18764 MenhirLib.EngineTypes.next = {
18765 MenhirLib.EngineTypes.state = _menhir_s;
18766 MenhirLib.EngineTypes.semv = x0;
18767 MenhirLib.EngineTypes.startp = _startpos_x0_;
18768 MenhirLib.EngineTypes.endp = _endpos_x0_;
18769 MenhirLib.EngineTypes.next = _menhir_stack;
18770 };
18771 };
18772 } = _menhir_stack in
18773 let xs : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic xs in
18774 let y0 : 'tv_dexpr = Obj.magic y0 in
18775 let x0 : 'tv_edots_when_TEllipsis_eexpr_ = Obj.magic x0 in
18776 let _startpos = _startpos_x0_ in
18777 let _endpos = _endpos_xs_ in
18778 let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = let x =
18779 let y = y0 in
18780 let x = x0 in
18781
18782 # 70 "standard.mly"
18783 ( (x, y) )
18784 # 18785 "parser_cocci_menhir.ml"
18785
18786 in
18787
18788 # 116 "standard.mly"
18789 ( x :: xs )
18790 # 18791 "parser_cocci_menhir.ml"
18791 in
18792 _menhir_env.MenhirLib.EngineTypes.stack <- {
18793 MenhirLib.EngineTypes.state = _menhir_s;
18794 MenhirLib.EngineTypes.semv = Obj.repr _v;
18795 MenhirLib.EngineTypes.startp = _startpos;
18796 MenhirLib.EngineTypes.endp = _endpos;
18797 MenhirLib.EngineTypes.next = _menhir_stack;
18798 });
18799 (fun _menhir_env ->
18800 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18801 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18802 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18803 let _endpos = _startpos in
18804 let _v : 'tv_list_whenppdecs_ =
18805 # 114 "standard.mly"
18806 ( [] )
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.semv = xs;
18820 MenhirLib.EngineTypes.startp = _startpos_xs_;
18821 MenhirLib.EngineTypes.endp = _endpos_xs_;
18822 MenhirLib.EngineTypes.next = {
18823 MenhirLib.EngineTypes.state = _menhir_s;
18824 MenhirLib.EngineTypes.semv = x;
18825 MenhirLib.EngineTypes.startp = _startpos_x_;
18826 MenhirLib.EngineTypes.endp = _endpos_x_;
18827 MenhirLib.EngineTypes.next = _menhir_stack;
18828 };
18829 } = _menhir_stack in
18830 let xs : 'tv_list_whenppdecs_ = Obj.magic xs in
18831 let x : 'tv_whenppdecs = Obj.magic x in
18832 let _startpos = _startpos_x_ in
18833 let _endpos = _endpos_xs_ in
18834 let _v : 'tv_list_whenppdecs_ =
18835 # 116 "standard.mly"
18836 ( x :: xs )
18837 # 18838 "parser_cocci_menhir.ml"
18838 in
18839 _menhir_env.MenhirLib.EngineTypes.stack <- {
18840 MenhirLib.EngineTypes.state = _menhir_s;
18841 MenhirLib.EngineTypes.semv = Obj.repr _v;
18842 MenhirLib.EngineTypes.startp = _startpos;
18843 MenhirLib.EngineTypes.endp = _endpos;
18844 MenhirLib.EngineTypes.next = _menhir_stack;
18845 });
18846 (fun _menhir_env ->
18847 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18848 let {
18849 MenhirLib.EngineTypes.state = _menhir_s;
18850 MenhirLib.EngineTypes.semv = _1;
18851 MenhirLib.EngineTypes.startp = _startpos__1_;
18852 MenhirLib.EngineTypes.endp = _endpos__1_;
18853 MenhirLib.EngineTypes.next = _menhir_stack;
18854 } = _menhir_stack in
18855 let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
18856 let _startpos = _startpos__1_ in
18857 let _endpos = _endpos__1_ in
18858 let _v : 'tv_list_len =
18859 # 334 "parser_cocci_menhir.mly"
18860 ( Common.Left _1 )
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.state = _menhir_s;
18874 MenhirLib.EngineTypes.semv = _1;
18875 MenhirLib.EngineTypes.startp = _startpos__1_;
18876 MenhirLib.EngineTypes.endp = _endpos__1_;
18877 MenhirLib.EngineTypes.next = _menhir_stack;
18878 } = _menhir_stack in
18879 let _1 : (
18880 # 90 "parser_cocci_menhir.mly"
18881 (string * Data.clt)
18882 # 18883 "parser_cocci_menhir.ml"
18883 ) = Obj.magic _1 in
18884 let _startpos = _startpos__1_ in
18885 let _endpos = _endpos__1_ in
18886 let _v : 'tv_list_len =
18887 # 335 "parser_cocci_menhir.mly"
18888 ( let (x,clt) = _1 in Common.Right (int_of_string x) )
18889 # 18890 "parser_cocci_menhir.ml"
18890 in
18891 _menhir_env.MenhirLib.EngineTypes.stack <- {
18892 MenhirLib.EngineTypes.state = _menhir_s;
18893 MenhirLib.EngineTypes.semv = Obj.repr _v;
18894 MenhirLib.EngineTypes.startp = _startpos;
18895 MenhirLib.EngineTypes.endp = _endpos;
18896 MenhirLib.EngineTypes.next = _menhir_stack;
18897 });
18898 (fun _menhir_env ->
18899 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18900 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18901 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18902 let _endpos = _startpos in
18903 let _v : 'tv_loption_choose_iso_ =
18904 # 57 "standard.mly"
18905 ( [] )
18906 # 18907 "parser_cocci_menhir.ml"
18907 in
18908 _menhir_env.MenhirLib.EngineTypes.stack <- {
18909 MenhirLib.EngineTypes.state = _menhir_s;
18910 MenhirLib.EngineTypes.semv = Obj.repr _v;
18911 MenhirLib.EngineTypes.startp = _startpos;
18912 MenhirLib.EngineTypes.endp = _endpos;
18913 MenhirLib.EngineTypes.next = _menhir_stack;
18914 });
18915 (fun _menhir_env ->
18916 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18917 let {
18918 MenhirLib.EngineTypes.state = _menhir_s;
18919 MenhirLib.EngineTypes.semv = x;
18920 MenhirLib.EngineTypes.startp = _startpos_x_;
18921 MenhirLib.EngineTypes.endp = _endpos_x_;
18922 MenhirLib.EngineTypes.next = _menhir_stack;
18923 } = _menhir_stack in
18924 let x : 'tv_choose_iso = Obj.magic x in
18925 let _startpos = _startpos_x_ in
18926 let _endpos = _endpos_x_ in
18927 let _v : 'tv_loption_choose_iso_ =
18928 # 59 "standard.mly"
18929 ( x )
18930 # 18931 "parser_cocci_menhir.ml"
18931 in
18932 _menhir_env.MenhirLib.EngineTypes.stack <- {
18933 MenhirLib.EngineTypes.state = _menhir_s;
18934 MenhirLib.EngineTypes.semv = Obj.repr _v;
18935 MenhirLib.EngineTypes.startp = _startpos;
18936 MenhirLib.EngineTypes.endp = _endpos;
18937 MenhirLib.EngineTypes.next = _menhir_stack;
18938 });
18939 (fun _menhir_env ->
18940 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18941 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18942 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18943 let _endpos = _startpos in
18944 let _v : 'tv_loption_disable_ =
18945 # 57 "standard.mly"
18946 ( [] )
18947 # 18948 "parser_cocci_menhir.ml"
18948 in
18949 _menhir_env.MenhirLib.EngineTypes.stack <- {
18950 MenhirLib.EngineTypes.state = _menhir_s;
18951 MenhirLib.EngineTypes.semv = Obj.repr _v;
18952 MenhirLib.EngineTypes.startp = _startpos;
18953 MenhirLib.EngineTypes.endp = _endpos;
18954 MenhirLib.EngineTypes.next = _menhir_stack;
18955 });
18956 (fun _menhir_env ->
18957 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18958 let {
18959 MenhirLib.EngineTypes.state = _menhir_s;
18960 MenhirLib.EngineTypes.semv = x;
18961 MenhirLib.EngineTypes.startp = _startpos_x_;
18962 MenhirLib.EngineTypes.endp = _endpos_x_;
18963 MenhirLib.EngineTypes.next = _menhir_stack;
18964 } = _menhir_stack in
18965 let x : 'tv_disable = Obj.magic x in
18966 let _startpos = _startpos_x_ in
18967 let _endpos = _endpos_x_ in
18968 let _v : 'tv_loption_disable_ =
18969 # 59 "standard.mly"
18970 ( x )
18971 # 18972 "parser_cocci_menhir.ml"
18972 in
18973 _menhir_env.MenhirLib.EngineTypes.stack <- {
18974 MenhirLib.EngineTypes.state = _menhir_s;
18975 MenhirLib.EngineTypes.semv = Obj.repr _v;
18976 MenhirLib.EngineTypes.startp = _startpos;
18977 MenhirLib.EngineTypes.endp = _endpos;
18978 MenhirLib.EngineTypes.next = _menhir_stack;
18979 });
18980 (fun _menhir_env ->
18981 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18982 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18983 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18984 let _endpos = _startpos in
18985 let _v : 'tv_loption_filespec_ =
18986 # 57 "standard.mly"
18987 ( [] )
18988 # 18989 "parser_cocci_menhir.ml"
18989 in
18990 _menhir_env.MenhirLib.EngineTypes.stack <- {
18991 MenhirLib.EngineTypes.state = _menhir_s;
18992 MenhirLib.EngineTypes.semv = Obj.repr _v;
18993 MenhirLib.EngineTypes.startp = _startpos;
18994 MenhirLib.EngineTypes.endp = _endpos;
18995 MenhirLib.EngineTypes.next = _menhir_stack;
18996 });
18997 (fun _menhir_env ->
18998 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18999 let {
19000 MenhirLib.EngineTypes.state = _menhir_s;
19001 MenhirLib.EngineTypes.semv = x;
19002 MenhirLib.EngineTypes.startp = _startpos_x_;
19003 MenhirLib.EngineTypes.endp = _endpos_x_;
19004 MenhirLib.EngineTypes.next = _menhir_stack;
19005 } = _menhir_stack in
19006 let x : 'tv_filespec = Obj.magic x in
19007 let _startpos = _startpos_x_ in
19008 let _endpos = _endpos_x_ in
19009 let _v : 'tv_loption_filespec_ =
19010 # 59 "standard.mly"
19011 ( x )
19012 # 19013 "parser_cocci_menhir.ml"
19013 in
19014 _menhir_env.MenhirLib.EngineTypes.stack <- {
19015 MenhirLib.EngineTypes.state = _menhir_s;
19016 MenhirLib.EngineTypes.semv = Obj.repr _v;
19017 MenhirLib.EngineTypes.startp = _startpos;
19018 MenhirLib.EngineTypes.endp = _endpos;
19019 MenhirLib.EngineTypes.next = _menhir_stack;
19020 });
19021 (fun _menhir_env ->
19022 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19023 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19024 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19025 let _endpos = _startpos in
19026 let _v : 'tv_loption_minus_start_ =
19027 # 57 "standard.mly"
19028 ( [] )
19029 # 19030 "parser_cocci_menhir.ml"
19030 in
19031 _menhir_env.MenhirLib.EngineTypes.stack <- {
19032 MenhirLib.EngineTypes.state = _menhir_s;
19033 MenhirLib.EngineTypes.semv = Obj.repr _v;
19034 MenhirLib.EngineTypes.startp = _startpos;
19035 MenhirLib.EngineTypes.endp = _endpos;
19036 MenhirLib.EngineTypes.next = _menhir_stack;
19037 });
19038 (fun _menhir_env ->
19039 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19040 let {
19041 MenhirLib.EngineTypes.state = _menhir_s;
19042 MenhirLib.EngineTypes.semv = x;
19043 MenhirLib.EngineTypes.startp = _startpos_x_;
19044 MenhirLib.EngineTypes.endp = _endpos_x_;
19045 MenhirLib.EngineTypes.next = _menhir_stack;
19046 } = _menhir_stack in
19047 let x : 'tv_minus_start = Obj.magic x in
19048 let _startpos = _startpos_x_ in
19049 let _endpos = _endpos_x_ in
19050 let _v : 'tv_loption_minus_start_ =
19051 # 59 "standard.mly"
19052 ( x )
19053 # 19054 "parser_cocci_menhir.ml"
19054 in
19055 _menhir_env.MenhirLib.EngineTypes.stack <- {
19056 MenhirLib.EngineTypes.state = _menhir_s;
19057 MenhirLib.EngineTypes.semv = Obj.repr _v;
19058 MenhirLib.EngineTypes.startp = _startpos;
19059 MenhirLib.EngineTypes.endp = _endpos;
19060 MenhirLib.EngineTypes.next = _menhir_stack;
19061 });
19062 (fun _menhir_env ->
19063 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19064 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19065 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19066 let _endpos = _startpos in
19067 let _v : 'tv_loption_not_pos_ =
19068 # 57 "standard.mly"
19069 ( [] )
19070 # 19071 "parser_cocci_menhir.ml"
19071 in
19072 _menhir_env.MenhirLib.EngineTypes.stack <- {
19073 MenhirLib.EngineTypes.state = _menhir_s;
19074 MenhirLib.EngineTypes.semv = Obj.repr _v;
19075 MenhirLib.EngineTypes.startp = _startpos;
19076 MenhirLib.EngineTypes.endp = _endpos;
19077 MenhirLib.EngineTypes.next = _menhir_stack;
19078 });
19079 (fun _menhir_env ->
19080 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19081 let {
19082 MenhirLib.EngineTypes.state = _menhir_s;
19083 MenhirLib.EngineTypes.semv = x;
19084 MenhirLib.EngineTypes.startp = _startpos_x_;
19085 MenhirLib.EngineTypes.endp = _endpos_x_;
19086 MenhirLib.EngineTypes.next = _menhir_stack;
19087 } = _menhir_stack in
19088 let x : 'tv_not_pos = Obj.magic x in
19089 let _startpos = _startpos_x_ in
19090 let _endpos = _endpos_x_ in
19091 let _v : 'tv_loption_not_pos_ =
19092 # 59 "standard.mly"
19093 ( x )
19094 # 19095 "parser_cocci_menhir.ml"
19095 in
19096 _menhir_env.MenhirLib.EngineTypes.stack <- {
19097 MenhirLib.EngineTypes.state = _menhir_s;
19098 MenhirLib.EngineTypes.semv = Obj.repr _v;
19099 MenhirLib.EngineTypes.startp = _startpos;
19100 MenhirLib.EngineTypes.endp = _endpos;
19101 MenhirLib.EngineTypes.next = _menhir_stack;
19102 });
19103 (fun _menhir_env ->
19104 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19105 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19106 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19107 let _endpos = _startpos in
19108 let _v : 'tv_loption_plus_start_ =
19109 # 57 "standard.mly"
19110 ( [] )
19111 # 19112 "parser_cocci_menhir.ml"
19112 in
19113 _menhir_env.MenhirLib.EngineTypes.stack <- {
19114 MenhirLib.EngineTypes.state = _menhir_s;
19115 MenhirLib.EngineTypes.semv = Obj.repr _v;
19116 MenhirLib.EngineTypes.startp = _startpos;
19117 MenhirLib.EngineTypes.endp = _endpos;
19118 MenhirLib.EngineTypes.next = _menhir_stack;
19119 });
19120 (fun _menhir_env ->
19121 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19122 let {
19123 MenhirLib.EngineTypes.state = _menhir_s;
19124 MenhirLib.EngineTypes.semv = x;
19125 MenhirLib.EngineTypes.startp = _startpos_x_;
19126 MenhirLib.EngineTypes.endp = _endpos_x_;
19127 MenhirLib.EngineTypes.next = _menhir_stack;
19128 } = _menhir_stack in
19129 let x : 'tv_plus_start = Obj.magic x in
19130 let _startpos = _startpos_x_ in
19131 let _endpos = _endpos_x_ in
19132 let _v : 'tv_loption_plus_start_ =
19133 # 59 "standard.mly"
19134 ( x )
19135 # 19136 "parser_cocci_menhir.ml"
19136 in
19137 _menhir_env.MenhirLib.EngineTypes.stack <- {
19138 MenhirLib.EngineTypes.state = _menhir_s;
19139 MenhirLib.EngineTypes.semv = Obj.repr _v;
19140 MenhirLib.EngineTypes.startp = _startpos;
19141 MenhirLib.EngineTypes.endp = _endpos;
19142 MenhirLib.EngineTypes.next = _menhir_stack;
19143 });
19144 (fun _menhir_env ->
19145 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19146 let {
19147 MenhirLib.EngineTypes.state = _menhir_s;
19148 MenhirLib.EngineTypes.semv = t;
19149 MenhirLib.EngineTypes.startp = _startpos_t_;
19150 MenhirLib.EngineTypes.endp = _endpos_t_;
19151 MenhirLib.EngineTypes.next = _menhir_stack;
19152 } = _menhir_stack in
19153 let t : 'tv_typedef_ctype = Obj.magic t in
19154 let _startpos = _startpos_t_ in
19155 let _endpos = _endpos_t_ in
19156 let _v : 'tv_meta_exp_type =
19157 # 518 "parser_cocci_menhir.mly"
19158 ( [Ast0_cocci.ast0_type_to_type t] )
19159 # 19160 "parser_cocci_menhir.ml"
19160 in
19161 _menhir_env.MenhirLib.EngineTypes.stack <- {
19162 MenhirLib.EngineTypes.state = _menhir_s;
19163 MenhirLib.EngineTypes.semv = Obj.repr _v;
19164 MenhirLib.EngineTypes.startp = _startpos;
19165 MenhirLib.EngineTypes.endp = _endpos;
19166 MenhirLib.EngineTypes.next = _menhir_stack;
19167 });
19168 (fun _menhir_env ->
19169 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19170 let {
19171 MenhirLib.EngineTypes.semv = m;
19172 MenhirLib.EngineTypes.startp = _startpos_m_;
19173 MenhirLib.EngineTypes.endp = _endpos_m_;
19174 MenhirLib.EngineTypes.next = {
19175 MenhirLib.EngineTypes.startp = _startpos__3_;
19176 MenhirLib.EngineTypes.endp = _endpos__3_;
19177 MenhirLib.EngineTypes.next = {
19178 MenhirLib.EngineTypes.semv = t;
19179 MenhirLib.EngineTypes.startp = _startpos_t_;
19180 MenhirLib.EngineTypes.endp = _endpos_t_;
19181 MenhirLib.EngineTypes.next = {
19182 MenhirLib.EngineTypes.state = _menhir_s;
19183 MenhirLib.EngineTypes.startp = _startpos__1_;
19184 MenhirLib.EngineTypes.endp = _endpos__1_;
19185 MenhirLib.EngineTypes.next = _menhir_stack;
19186 };
19187 };
19188 };
19189 } = _menhir_stack in
19190 let m : 'tv_list_TMul_ = Obj.magic m in
19191 let t : 'tv_comma_list_ctype_ = Obj.magic t in
19192 let _startpos = _startpos__1_ in
19193 let _endpos = _endpos_m_ in
19194 let _v : 'tv_meta_exp_type =
19195 # 520 "parser_cocci_menhir.mly"
19196 ( List.map
19197 (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
19198 t )
19199 # 19200 "parser_cocci_menhir.ml"
19200 in
19201 _menhir_env.MenhirLib.EngineTypes.stack <- {
19202 MenhirLib.EngineTypes.state = _menhir_s;
19203 MenhirLib.EngineTypes.semv = Obj.repr _v;
19204 MenhirLib.EngineTypes.startp = _startpos;
19205 MenhirLib.EngineTypes.endp = _endpos;
19206 MenhirLib.EngineTypes.next = _menhir_stack;
19207 });
19208 (fun _menhir_env ->
19209 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19210 let {
19211 MenhirLib.EngineTypes.semv = _3;
19212 MenhirLib.EngineTypes.startp = _startpos__3_;
19213 MenhirLib.EngineTypes.endp = _endpos__3_;
19214 MenhirLib.EngineTypes.next = {
19215 MenhirLib.EngineTypes.startp = _startpos__2_;
19216 MenhirLib.EngineTypes.endp = _endpos__2_;
19217 MenhirLib.EngineTypes.next = {
19218 MenhirLib.EngineTypes.state = _menhir_s;
19219 MenhirLib.EngineTypes.semv = _1;
19220 MenhirLib.EngineTypes.startp = _startpos__1_;
19221 MenhirLib.EngineTypes.endp = _endpos__1_;
19222 MenhirLib.EngineTypes.next = _menhir_stack;
19223 };
19224 };
19225 } = _menhir_stack in
19226 let _3 : 'tv_pure_ident = Obj.magic _3 in
19227 let _1 : (
19228 # 49 "parser_cocci_menhir.mly"
19229 (string)
19230 # 19231 "parser_cocci_menhir.ml"
19231 ) = Obj.magic _1 in
19232 let _startpos = _startpos__1_ in
19233 let _endpos = _endpos__3_ in
19234 let _v : 'tv_meta_ident =
19235 # 1486 "parser_cocci_menhir.mly"
19236 ( (Some _1,P.id2name _3) )
19237 # 19238 "parser_cocci_menhir.ml"
19238 in
19239 _menhir_env.MenhirLib.EngineTypes.stack <- {
19240 MenhirLib.EngineTypes.state = _menhir_s;
19241 MenhirLib.EngineTypes.semv = Obj.repr _v;
19242 MenhirLib.EngineTypes.startp = _startpos;
19243 MenhirLib.EngineTypes.endp = _endpos;
19244 MenhirLib.EngineTypes.next = _menhir_stack;
19245 });
19246 (fun _menhir_env ->
19247 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19248 let {
19249 MenhirLib.EngineTypes.semv = _3;
19250 MenhirLib.EngineTypes.startp = _startpos__3_;
19251 MenhirLib.EngineTypes.endp = _endpos__3_;
19252 MenhirLib.EngineTypes.next = {
19253 MenhirLib.EngineTypes.startp = _startpos__2_;
19254 MenhirLib.EngineTypes.endp = _endpos__2_;
19255 MenhirLib.EngineTypes.next = {
19256 MenhirLib.EngineTypes.state = _menhir_s;
19257 MenhirLib.EngineTypes.semv = _1;
19258 MenhirLib.EngineTypes.startp = _startpos__1_;
19259 MenhirLib.EngineTypes.endp = _endpos__1_;
19260 MenhirLib.EngineTypes.next = _menhir_stack;
19261 };
19262 };
19263 } = _menhir_stack in
19264 let _3 : 'tv_pure_ident_kwd = Obj.magic _3 in
19265 let _1 : (
19266 # 49 "parser_cocci_menhir.mly"
19267 (string)
19268 # 19269 "parser_cocci_menhir.ml"
19269 ) = Obj.magic _1 in
19270 let _startpos = _startpos__1_ in
19271 let _endpos = _endpos__3_ in
19272 let _v : 'tv_meta_ident =
19273 # 1487 "parser_cocci_menhir.mly"
19274 ( (Some _1,_3) )
19275 # 19276 "parser_cocci_menhir.ml"
19276 in
19277 _menhir_env.MenhirLib.EngineTypes.stack <- {
19278 MenhirLib.EngineTypes.state = _menhir_s;
19279 MenhirLib.EngineTypes.semv = Obj.repr _v;
19280 MenhirLib.EngineTypes.startp = _startpos;
19281 MenhirLib.EngineTypes.endp = _endpos;
19282 MenhirLib.EngineTypes.next = _menhir_stack;
19283 });
19284 (fun _menhir_env ->
19285 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19286 let {
19287 MenhirLib.EngineTypes.state = _menhir_s;
19288 MenhirLib.EngineTypes.semv = m;
19289 MenhirLib.EngineTypes.startp = _startpos_m_;
19290 MenhirLib.EngineTypes.endp = _endpos_m_;
19291 MenhirLib.EngineTypes.next = _menhir_stack;
19292 } = _menhir_stack in
19293 let m : 'tv_metadec = Obj.magic m in
19294 let _startpos = _startpos_m_ in
19295 let _endpos = _endpos_m_ in
19296 let _v : (
19297 # 162 "parser_cocci_menhir.mly"
19298 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
19299 # 19300 "parser_cocci_menhir.ml"
19300 ) =
19301 # 186 "parser_cocci_menhir.mly"
19302 ( m (!Ast0.rule_name) )
19303 # 19304 "parser_cocci_menhir.ml"
19304 in
19305 _menhir_env.MenhirLib.EngineTypes.stack <- {
19306 MenhirLib.EngineTypes.state = _menhir_s;
19307 MenhirLib.EngineTypes.semv = Obj.repr _v;
19308 MenhirLib.EngineTypes.startp = _startpos;
19309 MenhirLib.EngineTypes.endp = _endpos;
19310 MenhirLib.EngineTypes.next = _menhir_stack;
19311 });
19312 (fun _menhir_env ->
19313 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19314 let {
19315 MenhirLib.EngineTypes.startp = _startpos__5_;
19316 MenhirLib.EngineTypes.endp = _endpos__5_;
19317 MenhirLib.EngineTypes.next = {
19318 MenhirLib.EngineTypes.semv = ids;
19319 MenhirLib.EngineTypes.startp = _startpos_ids_;
19320 MenhirLib.EngineTypes.endp = _endpos_ids_;
19321 MenhirLib.EngineTypes.next = {
19322 MenhirLib.EngineTypes.startp = _startpos__3_;
19323 MenhirLib.EngineTypes.endp = _endpos__3_;
19324 MenhirLib.EngineTypes.next = {
19325 MenhirLib.EngineTypes.semv = ispure;
19326 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19327 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19328 MenhirLib.EngineTypes.next = {
19329 MenhirLib.EngineTypes.state = _menhir_s;
19330 MenhirLib.EngineTypes.semv = ar;
19331 MenhirLib.EngineTypes.startp = _startpos_ar_;
19332 MenhirLib.EngineTypes.endp = _endpos_ar_;
19333 MenhirLib.EngineTypes.next = _menhir_stack;
19334 };
19335 };
19336 };
19337 };
19338 } = _menhir_stack in
19339 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
19340 let ispure : 'tv_pure = Obj.magic ispure in
19341 let ar : 'tv_arity = Obj.magic ar in
19342 let _startpos = _startpos_ar_ in
19343 let _endpos = _endpos__5_ in
19344 let _v : 'tv_metadec = let kindfn =
19345
19346 # 346 "parser_cocci_menhir.mly"
19347 ( (fun arity name pure check_meta ->
19348 let tok = check_meta(Ast.MetaParamDecl(arity,name)) in
19349 !Data.add_param_meta name pure; tok) )
19350 # 19351 "parser_cocci_menhir.ml"
19351
19352 in
19353
19354 # 275 "parser_cocci_menhir.mly"
19355 ( P.create_metadec ar ispure kindfn ids )
19356 # 19357 "parser_cocci_menhir.ml"
19357 in
19358 _menhir_env.MenhirLib.EngineTypes.stack <- {
19359 MenhirLib.EngineTypes.state = _menhir_s;
19360 MenhirLib.EngineTypes.semv = Obj.repr _v;
19361 MenhirLib.EngineTypes.startp = _startpos;
19362 MenhirLib.EngineTypes.endp = _endpos;
19363 MenhirLib.EngineTypes.next = _menhir_stack;
19364 });
19365 (fun _menhir_env ->
19366 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19367 let {
19368 MenhirLib.EngineTypes.startp = _startpos__6_;
19369 MenhirLib.EngineTypes.endp = _endpos__6_;
19370 MenhirLib.EngineTypes.next = {
19371 MenhirLib.EngineTypes.semv = ids;
19372 MenhirLib.EngineTypes.startp = _startpos_ids_;
19373 MenhirLib.EngineTypes.endp = _endpos_ids_;
19374 MenhirLib.EngineTypes.next = {
19375 MenhirLib.EngineTypes.startp = _startpos__4_;
19376 MenhirLib.EngineTypes.endp = _endpos__4_;
19377 MenhirLib.EngineTypes.next = {
19378 MenhirLib.EngineTypes.startp = _startpos__3_;
19379 MenhirLib.EngineTypes.endp = _endpos__3_;
19380 MenhirLib.EngineTypes.next = {
19381 MenhirLib.EngineTypes.semv = ispure;
19382 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19383 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19384 MenhirLib.EngineTypes.next = {
19385 MenhirLib.EngineTypes.state = _menhir_s;
19386 MenhirLib.EngineTypes.semv = ar;
19387 MenhirLib.EngineTypes.startp = _startpos_ar_;
19388 MenhirLib.EngineTypes.endp = _endpos_ar_;
19389 MenhirLib.EngineTypes.next = _menhir_stack;
19390 };
19391 };
19392 };
19393 };
19394 };
19395 } = _menhir_stack in
19396 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
19397 let ispure : 'tv_pure = Obj.magic ispure in
19398 let ar : 'tv_arity = Obj.magic ar in
19399 let _startpos = _startpos_ar_ in
19400 let _endpos = _endpos__6_ in
19401 let _v : 'tv_metadec = let kindfn =
19402
19403 # 350 "parser_cocci_menhir.mly"
19404 ( (fun arity name pure check_meta ->
19405 let len = Ast.AnyLen in
19406 let tok = check_meta(Ast.MetaParamListDecl(arity,name,len)) in
19407 !Data.add_paramlist_meta name len pure; tok) )
19408 # 19409 "parser_cocci_menhir.ml"
19409
19410 in
19411
19412 # 275 "parser_cocci_menhir.mly"
19413 ( P.create_metadec ar ispure kindfn ids )
19414 # 19415 "parser_cocci_menhir.ml"
19415 in
19416 _menhir_env.MenhirLib.EngineTypes.stack <- {
19417 MenhirLib.EngineTypes.state = _menhir_s;
19418 MenhirLib.EngineTypes.semv = Obj.repr _v;
19419 MenhirLib.EngineTypes.startp = _startpos;
19420 MenhirLib.EngineTypes.endp = _endpos;
19421 MenhirLib.EngineTypes.next = _menhir_stack;
19422 });
19423 (fun _menhir_env ->
19424 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19425 let {
19426 MenhirLib.EngineTypes.startp = _startpos__6_;
19427 MenhirLib.EngineTypes.endp = _endpos__6_;
19428 MenhirLib.EngineTypes.next = {
19429 MenhirLib.EngineTypes.semv = ids;
19430 MenhirLib.EngineTypes.startp = _startpos_ids_;
19431 MenhirLib.EngineTypes.endp = _endpos_ids_;
19432 MenhirLib.EngineTypes.next = {
19433 MenhirLib.EngineTypes.startp = _startpos__4_;
19434 MenhirLib.EngineTypes.endp = _endpos__4_;
19435 MenhirLib.EngineTypes.next = {
19436 MenhirLib.EngineTypes.startp = _startpos__3_;
19437 MenhirLib.EngineTypes.endp = _endpos__3_;
19438 MenhirLib.EngineTypes.next = {
19439 MenhirLib.EngineTypes.semv = ispure;
19440 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19441 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19442 MenhirLib.EngineTypes.next = {
19443 MenhirLib.EngineTypes.state = _menhir_s;
19444 MenhirLib.EngineTypes.semv = ar;
19445 MenhirLib.EngineTypes.startp = _startpos_ar_;
19446 MenhirLib.EngineTypes.endp = _endpos_ar_;
19447 MenhirLib.EngineTypes.next = _menhir_stack;
19448 };
19449 };
19450 };
19451 };
19452 };
19453 } = _menhir_stack in
19454 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
19455 let ispure : 'tv_pure = Obj.magic ispure in
19456 let ar : 'tv_arity = Obj.magic ar in
19457 let _startpos = _startpos_ar_ in
19458 let _endpos = _endpos__6_ in
19459 let _v : 'tv_metadec = let kindfn =
19460
19461 # 355 "parser_cocci_menhir.mly"
19462 ( (fun arity name pure check_meta ->
19463 let len = Ast.AnyLen in
19464 let tok = check_meta(Ast.MetaExpListDecl(arity,name,len)) in
19465 !Data.add_explist_meta name len pure; tok) )
19466 # 19467 "parser_cocci_menhir.ml"
19467
19468 in
19469
19470 # 275 "parser_cocci_menhir.mly"
19471 ( P.create_metadec ar ispure kindfn ids )
19472 # 19473 "parser_cocci_menhir.ml"
19473 in
19474 _menhir_env.MenhirLib.EngineTypes.stack <- {
19475 MenhirLib.EngineTypes.state = _menhir_s;
19476 MenhirLib.EngineTypes.semv = Obj.repr _v;
19477 MenhirLib.EngineTypes.startp = _startpos;
19478 MenhirLib.EngineTypes.endp = _endpos;
19479 MenhirLib.EngineTypes.next = _menhir_stack;
19480 });
19481 (fun _menhir_env ->
19482 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19483 let {
19484 MenhirLib.EngineTypes.startp = _startpos__5_;
19485 MenhirLib.EngineTypes.endp = _endpos__5_;
19486 MenhirLib.EngineTypes.next = {
19487 MenhirLib.EngineTypes.semv = ids;
19488 MenhirLib.EngineTypes.startp = _startpos_ids_;
19489 MenhirLib.EngineTypes.endp = _endpos_ids_;
19490 MenhirLib.EngineTypes.next = {
19491 MenhirLib.EngineTypes.startp = _startpos__3_;
19492 MenhirLib.EngineTypes.endp = _endpos__3_;
19493 MenhirLib.EngineTypes.next = {
19494 MenhirLib.EngineTypes.semv = ispure;
19495 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19496 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19497 MenhirLib.EngineTypes.next = {
19498 MenhirLib.EngineTypes.state = _menhir_s;
19499 MenhirLib.EngineTypes.semv = ar;
19500 MenhirLib.EngineTypes.startp = _startpos_ar_;
19501 MenhirLib.EngineTypes.endp = _endpos_ar_;
19502 MenhirLib.EngineTypes.next = _menhir_stack;
19503 };
19504 };
19505 };
19506 };
19507 } = _menhir_stack in
19508 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
19509 let ispure : 'tv_pure = Obj.magic ispure in
19510 let ar : 'tv_arity = Obj.magic ar in
19511 let _startpos = _startpos_ar_ in
19512 let _endpos = _endpos__5_ in
19513 let _v : 'tv_metadec = let kindfn =
19514
19515 # 360 "parser_cocci_menhir.mly"
19516 ( (fun arity name pure check_meta ->
19517 let tok = check_meta(Ast.MetaTypeDecl(arity,name)) in
19518 !Data.add_type_meta name pure; tok) )
19519 # 19520 "parser_cocci_menhir.ml"
19520
19521 in
19522
19523 # 275 "parser_cocci_menhir.mly"
19524 ( P.create_metadec ar ispure kindfn ids )
19525 # 19526 "parser_cocci_menhir.ml"
19526 in
19527 _menhir_env.MenhirLib.EngineTypes.stack <- {
19528 MenhirLib.EngineTypes.state = _menhir_s;
19529 MenhirLib.EngineTypes.semv = Obj.repr _v;
19530 MenhirLib.EngineTypes.startp = _startpos;
19531 MenhirLib.EngineTypes.endp = _endpos;
19532 MenhirLib.EngineTypes.next = _menhir_stack;
19533 });
19534 (fun _menhir_env ->
19535 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19536 let {
19537 MenhirLib.EngineTypes.startp = _startpos__5_;
19538 MenhirLib.EngineTypes.endp = _endpos__5_;
19539 MenhirLib.EngineTypes.next = {
19540 MenhirLib.EngineTypes.semv = ids;
19541 MenhirLib.EngineTypes.startp = _startpos_ids_;
19542 MenhirLib.EngineTypes.endp = _endpos_ids_;
19543 MenhirLib.EngineTypes.next = {
19544 MenhirLib.EngineTypes.startp = _startpos__3_;
19545 MenhirLib.EngineTypes.endp = _endpos__3_;
19546 MenhirLib.EngineTypes.next = {
19547 MenhirLib.EngineTypes.semv = ispure;
19548 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19549 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19550 MenhirLib.EngineTypes.next = {
19551 MenhirLib.EngineTypes.state = _menhir_s;
19552 MenhirLib.EngineTypes.semv = ar;
19553 MenhirLib.EngineTypes.startp = _startpos_ar_;
19554 MenhirLib.EngineTypes.endp = _endpos_ar_;
19555 MenhirLib.EngineTypes.next = _menhir_stack;
19556 };
19557 };
19558 };
19559 };
19560 } = _menhir_stack in
19561 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
19562 let ispure : 'tv_pure = Obj.magic ispure in
19563 let ar : 'tv_arity = Obj.magic ar in
19564 let _startpos = _startpos_ar_ in
19565 let _endpos = _endpos__5_ in
19566 let _v : 'tv_metadec = let kindfn =
19567
19568 # 364 "parser_cocci_menhir.mly"
19569 ( (fun arity name pure check_meta ->
19570 let tok = check_meta(Ast.MetaInitDecl(arity,name)) in
19571 !Data.add_init_meta name pure; tok) )
19572 # 19573 "parser_cocci_menhir.ml"
19573
19574 in
19575
19576 # 275 "parser_cocci_menhir.mly"
19577 ( P.create_metadec ar ispure kindfn ids )
19578 # 19579 "parser_cocci_menhir.ml"
19579 in
19580 _menhir_env.MenhirLib.EngineTypes.stack <- {
19581 MenhirLib.EngineTypes.state = _menhir_s;
19582 MenhirLib.EngineTypes.semv = Obj.repr _v;
19583 MenhirLib.EngineTypes.startp = _startpos;
19584 MenhirLib.EngineTypes.endp = _endpos;
19585 MenhirLib.EngineTypes.next = _menhir_stack;
19586 });
19587 (fun _menhir_env ->
19588 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19589 let {
19590 MenhirLib.EngineTypes.startp = _startpos__5_;
19591 MenhirLib.EngineTypes.endp = _endpos__5_;
19592 MenhirLib.EngineTypes.next = {
19593 MenhirLib.EngineTypes.semv = ids;
19594 MenhirLib.EngineTypes.startp = _startpos_ids_;
19595 MenhirLib.EngineTypes.endp = _endpos_ids_;
19596 MenhirLib.EngineTypes.next = {
19597 MenhirLib.EngineTypes.startp = _startpos__3_;
19598 MenhirLib.EngineTypes.endp = _endpos__3_;
19599 MenhirLib.EngineTypes.next = {
19600 MenhirLib.EngineTypes.semv = ispure;
19601 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19602 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19603 MenhirLib.EngineTypes.next = {
19604 MenhirLib.EngineTypes.state = _menhir_s;
19605 MenhirLib.EngineTypes.semv = ar;
19606 MenhirLib.EngineTypes.startp = _startpos_ar_;
19607 MenhirLib.EngineTypes.endp = _endpos_ar_;
19608 MenhirLib.EngineTypes.next = _menhir_stack;
19609 };
19610 };
19611 };
19612 };
19613 } = _menhir_stack in
19614 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
19615 let ispure : 'tv_pure = Obj.magic ispure in
19616 let ar : 'tv_arity = Obj.magic ar in
19617 let _startpos = _startpos_ar_ in
19618 let _endpos = _endpos__5_ in
19619 let _v : 'tv_metadec = let kindfn =
19620
19621 # 368 "parser_cocci_menhir.mly"
19622 ( (fun arity name pure check_meta ->
19623 let tok = check_meta(Ast.MetaStmDecl(arity,name)) in
19624 !Data.add_stm_meta name pure; tok) )
19625 # 19626 "parser_cocci_menhir.ml"
19626
19627 in
19628
19629 # 275 "parser_cocci_menhir.mly"
19630 ( P.create_metadec ar ispure kindfn ids )
19631 # 19632 "parser_cocci_menhir.ml"
19632 in
19633 _menhir_env.MenhirLib.EngineTypes.stack <- {
19634 MenhirLib.EngineTypes.state = _menhir_s;
19635 MenhirLib.EngineTypes.semv = Obj.repr _v;
19636 MenhirLib.EngineTypes.startp = _startpos;
19637 MenhirLib.EngineTypes.endp = _endpos;
19638 MenhirLib.EngineTypes.next = _menhir_stack;
19639 });
19640 (fun _menhir_env ->
19641 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19642 let {
19643 MenhirLib.EngineTypes.startp = _startpos__5_;
19644 MenhirLib.EngineTypes.endp = _endpos__5_;
19645 MenhirLib.EngineTypes.next = {
19646 MenhirLib.EngineTypes.semv = ids;
19647 MenhirLib.EngineTypes.startp = _startpos_ids_;
19648 MenhirLib.EngineTypes.endp = _endpos_ids_;
19649 MenhirLib.EngineTypes.next = {
19650 MenhirLib.EngineTypes.startp = _startpos__3_;
19651 MenhirLib.EngineTypes.endp = _endpos__3_;
19652 MenhirLib.EngineTypes.next = {
19653 MenhirLib.EngineTypes.semv = ispure;
19654 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19655 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19656 MenhirLib.EngineTypes.next = {
19657 MenhirLib.EngineTypes.state = _menhir_s;
19658 MenhirLib.EngineTypes.semv = ar;
19659 MenhirLib.EngineTypes.startp = _startpos_ar_;
19660 MenhirLib.EngineTypes.endp = _endpos_ar_;
19661 MenhirLib.EngineTypes.next = _menhir_stack;
19662 };
19663 };
19664 };
19665 };
19666 } = _menhir_stack in
19667 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
19668 let ispure : 'tv_pure = Obj.magic ispure in
19669 let ar : 'tv_arity = Obj.magic ar in
19670 let _startpos = _startpos_ar_ in
19671 let _endpos = _endpos__5_ in
19672 let _v : 'tv_metadec = let kindfn =
19673
19674 # 372 "parser_cocci_menhir.mly"
19675 ( (fun arity name pure check_meta ->
19676 let tok = check_meta(Ast.MetaDeclDecl(arity,name)) in
19677 !Data.add_decl_meta name pure; tok) )
19678 # 19679 "parser_cocci_menhir.ml"
19679
19680 in
19681
19682 # 275 "parser_cocci_menhir.mly"
19683 ( P.create_metadec ar ispure kindfn ids )
19684 # 19685 "parser_cocci_menhir.ml"
19685 in
19686 _menhir_env.MenhirLib.EngineTypes.stack <- {
19687 MenhirLib.EngineTypes.state = _menhir_s;
19688 MenhirLib.EngineTypes.semv = Obj.repr _v;
19689 MenhirLib.EngineTypes.startp = _startpos;
19690 MenhirLib.EngineTypes.endp = _endpos;
19691 MenhirLib.EngineTypes.next = _menhir_stack;
19692 });
19693 (fun _menhir_env ->
19694 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19695 let {
19696 MenhirLib.EngineTypes.startp = _startpos__5_;
19697 MenhirLib.EngineTypes.endp = _endpos__5_;
19698 MenhirLib.EngineTypes.next = {
19699 MenhirLib.EngineTypes.semv = ids;
19700 MenhirLib.EngineTypes.startp = _startpos_ids_;
19701 MenhirLib.EngineTypes.endp = _endpos_ids_;
19702 MenhirLib.EngineTypes.next = {
19703 MenhirLib.EngineTypes.startp = _startpos__3_;
19704 MenhirLib.EngineTypes.endp = _endpos__3_;
19705 MenhirLib.EngineTypes.next = {
19706 MenhirLib.EngineTypes.semv = ispure;
19707 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19708 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19709 MenhirLib.EngineTypes.next = {
19710 MenhirLib.EngineTypes.state = _menhir_s;
19711 MenhirLib.EngineTypes.semv = ar;
19712 MenhirLib.EngineTypes.startp = _startpos_ar_;
19713 MenhirLib.EngineTypes.endp = _endpos_ar_;
19714 MenhirLib.EngineTypes.next = _menhir_stack;
19715 };
19716 };
19717 };
19718 };
19719 } = _menhir_stack in
19720 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
19721 let ispure : 'tv_pure = Obj.magic ispure in
19722 let ar : 'tv_arity = Obj.magic ar in
19723 let _startpos = _startpos_ar_ in
19724 let _endpos = _endpos__5_ in
19725 let _v : 'tv_metadec = let kindfn =
19726
19727 # 376 "parser_cocci_menhir.mly"
19728 ( (fun arity name pure check_meta ->
19729 let tok = check_meta(Ast.MetaFieldDecl(arity,name)) in
19730 !Data.add_field_meta name pure; tok) )
19731 # 19732 "parser_cocci_menhir.ml"
19732
19733 in
19734
19735 # 275 "parser_cocci_menhir.mly"
19736 ( P.create_metadec ar ispure kindfn ids )
19737 # 19738 "parser_cocci_menhir.ml"
19738 in
19739 _menhir_env.MenhirLib.EngineTypes.stack <- {
19740 MenhirLib.EngineTypes.state = _menhir_s;
19741 MenhirLib.EngineTypes.semv = Obj.repr _v;
19742 MenhirLib.EngineTypes.startp = _startpos;
19743 MenhirLib.EngineTypes.endp = _endpos;
19744 MenhirLib.EngineTypes.next = _menhir_stack;
19745 });
19746 (fun _menhir_env ->
19747 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19748 let {
19749 MenhirLib.EngineTypes.startp = _startpos__6_;
19750 MenhirLib.EngineTypes.endp = _endpos__6_;
19751 MenhirLib.EngineTypes.next = {
19752 MenhirLib.EngineTypes.semv = ids;
19753 MenhirLib.EngineTypes.startp = _startpos_ids_;
19754 MenhirLib.EngineTypes.endp = _endpos_ids_;
19755 MenhirLib.EngineTypes.next = {
19756 MenhirLib.EngineTypes.startp = _startpos__4_;
19757 MenhirLib.EngineTypes.endp = _endpos__4_;
19758 MenhirLib.EngineTypes.next = {
19759 MenhirLib.EngineTypes.startp = _startpos__3_;
19760 MenhirLib.EngineTypes.endp = _endpos__3_;
19761 MenhirLib.EngineTypes.next = {
19762 MenhirLib.EngineTypes.semv = ispure;
19763 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19764 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19765 MenhirLib.EngineTypes.next = {
19766 MenhirLib.EngineTypes.state = _menhir_s;
19767 MenhirLib.EngineTypes.semv = ar;
19768 MenhirLib.EngineTypes.startp = _startpos_ar_;
19769 MenhirLib.EngineTypes.endp = _endpos_ar_;
19770 MenhirLib.EngineTypes.next = _menhir_stack;
19771 };
19772 };
19773 };
19774 };
19775 };
19776 } = _menhir_stack in
19777 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
19778 let ispure : 'tv_pure = Obj.magic ispure in
19779 let ar : 'tv_arity = Obj.magic ar in
19780 let _startpos = _startpos_ar_ in
19781 let _endpos = _endpos__6_ in
19782 let _v : 'tv_metadec = let kindfn =
19783
19784 # 380 "parser_cocci_menhir.mly"
19785 ( (fun arity name pure check_meta ->
19786 let tok = check_meta(Ast.MetaStmListDecl(arity,name)) in
19787 !Data.add_stmlist_meta name pure; tok) )
19788 # 19789 "parser_cocci_menhir.ml"
19789
19790 in
19791
19792 # 275 "parser_cocci_menhir.mly"
19793 ( P.create_metadec ar ispure kindfn ids )
19794 # 19795 "parser_cocci_menhir.ml"
19795 in
19796 _menhir_env.MenhirLib.EngineTypes.stack <- {
19797 MenhirLib.EngineTypes.state = _menhir_s;
19798 MenhirLib.EngineTypes.semv = Obj.repr _v;
19799 MenhirLib.EngineTypes.startp = _startpos;
19800 MenhirLib.EngineTypes.endp = _endpos;
19801 MenhirLib.EngineTypes.next = _menhir_stack;
19802 });
19803 (fun _menhir_env ->
19804 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19805 let {
19806 MenhirLib.EngineTypes.startp = _startpos__5_;
19807 MenhirLib.EngineTypes.endp = _endpos__5_;
19808 MenhirLib.EngineTypes.next = {
19809 MenhirLib.EngineTypes.semv = ids;
19810 MenhirLib.EngineTypes.startp = _startpos_ids_;
19811 MenhirLib.EngineTypes.endp = _endpos_ids_;
19812 MenhirLib.EngineTypes.next = {
19813 MenhirLib.EngineTypes.startp = _startpos__3_;
19814 MenhirLib.EngineTypes.endp = _endpos__3_;
19815 MenhirLib.EngineTypes.next = {
19816 MenhirLib.EngineTypes.semv = ispure;
19817 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19818 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19819 MenhirLib.EngineTypes.next = {
19820 MenhirLib.EngineTypes.state = _menhir_s;
19821 MenhirLib.EngineTypes.semv = ar;
19822 MenhirLib.EngineTypes.startp = _startpos_ar_;
19823 MenhirLib.EngineTypes.endp = _endpos_ar_;
19824 MenhirLib.EngineTypes.next = _menhir_stack;
19825 };
19826 };
19827 };
19828 };
19829 } = _menhir_stack in
19830 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
19831 let ispure : 'tv_pure = Obj.magic ispure in
19832 let ar : 'tv_arity = Obj.magic ar in
19833 let _startpos = _startpos_ar_ in
19834 let _endpos = _endpos__5_ in
19835 let _v : 'tv_metadec = let kindfn =
19836
19837 # 384 "parser_cocci_menhir.mly"
19838 ( (fun arity (_,name) pure check_meta ->
19839 if arity = Ast.NONE && pure = Ast0.Impure
19840 then (!Data.add_type_name name; [])
19841 else raise (Semantic_cocci.Semantic "bad typedef")) )
19842 # 19843 "parser_cocci_menhir.ml"
19843
19844 in
19845
19846 # 275 "parser_cocci_menhir.mly"
19847 ( P.create_metadec ar ispure kindfn ids )
19848 # 19849 "parser_cocci_menhir.ml"
19849 in
19850 _menhir_env.MenhirLib.EngineTypes.stack <- {
19851 MenhirLib.EngineTypes.state = _menhir_s;
19852 MenhirLib.EngineTypes.semv = Obj.repr _v;
19853 MenhirLib.EngineTypes.startp = _startpos;
19854 MenhirLib.EngineTypes.endp = _endpos;
19855 MenhirLib.EngineTypes.next = _menhir_stack;
19856 });
19857 (fun _menhir_env ->
19858 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19859 let {
19860 MenhirLib.EngineTypes.startp = _startpos__6_;
19861 MenhirLib.EngineTypes.endp = _endpos__6_;
19862 MenhirLib.EngineTypes.next = {
19863 MenhirLib.EngineTypes.semv = ids;
19864 MenhirLib.EngineTypes.startp = _startpos_ids_;
19865 MenhirLib.EngineTypes.endp = _endpos_ids_;
19866 MenhirLib.EngineTypes.next = {
19867 MenhirLib.EngineTypes.startp = _startpos__4_;
19868 MenhirLib.EngineTypes.endp = _endpos__4_;
19869 MenhirLib.EngineTypes.next = {
19870 MenhirLib.EngineTypes.startp = _startpos__3_;
19871 MenhirLib.EngineTypes.endp = _endpos__3_;
19872 MenhirLib.EngineTypes.next = {
19873 MenhirLib.EngineTypes.semv = ispure;
19874 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19875 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19876 MenhirLib.EngineTypes.next = {
19877 MenhirLib.EngineTypes.state = _menhir_s;
19878 MenhirLib.EngineTypes.semv = ar;
19879 MenhirLib.EngineTypes.startp = _startpos_ar_;
19880 MenhirLib.EngineTypes.endp = _endpos_ar_;
19881 MenhirLib.EngineTypes.next = _menhir_stack;
19882 };
19883 };
19884 };
19885 };
19886 };
19887 } = _menhir_stack in
19888 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
19889 let ispure : 'tv_pure = Obj.magic ispure in
19890 let ar : 'tv_arity = Obj.magic ar in
19891 let _startpos = _startpos_ar_ in
19892 let _endpos = _endpos__6_ in
19893 let _v : 'tv_metadec = let kindfn =
19894
19895 # 389 "parser_cocci_menhir.mly"
19896 ( (fun arity (_,name) pure check_meta ->
19897 if arity = Ast.NONE && pure = Ast0.Impure
19898 then (!Data.add_declarer_name name; [])
19899 else raise (Semantic_cocci.Semantic "bad declarer")) )
19900 # 19901 "parser_cocci_menhir.ml"
19901
19902 in
19903
19904 # 275 "parser_cocci_menhir.mly"
19905 ( P.create_metadec ar ispure kindfn ids )
19906 # 19907 "parser_cocci_menhir.ml"
19907 in
19908 _menhir_env.MenhirLib.EngineTypes.stack <- {
19909 MenhirLib.EngineTypes.state = _menhir_s;
19910 MenhirLib.EngineTypes.semv = Obj.repr _v;
19911 MenhirLib.EngineTypes.startp = _startpos;
19912 MenhirLib.EngineTypes.endp = _endpos;
19913 MenhirLib.EngineTypes.next = _menhir_stack;
19914 });
19915 (fun _menhir_env ->
19916 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19917 let {
19918 MenhirLib.EngineTypes.startp = _startpos__6_;
19919 MenhirLib.EngineTypes.endp = _endpos__6_;
19920 MenhirLib.EngineTypes.next = {
19921 MenhirLib.EngineTypes.semv = ids;
19922 MenhirLib.EngineTypes.startp = _startpos_ids_;
19923 MenhirLib.EngineTypes.endp = _endpos_ids_;
19924 MenhirLib.EngineTypes.next = {
19925 MenhirLib.EngineTypes.startp = _startpos__4_;
19926 MenhirLib.EngineTypes.endp = _endpos__4_;
19927 MenhirLib.EngineTypes.next = {
19928 MenhirLib.EngineTypes.startp = _startpos__3_;
19929 MenhirLib.EngineTypes.endp = _endpos__3_;
19930 MenhirLib.EngineTypes.next = {
19931 MenhirLib.EngineTypes.semv = ispure;
19932 MenhirLib.EngineTypes.startp = _startpos_ispure_;
19933 MenhirLib.EngineTypes.endp = _endpos_ispure_;
19934 MenhirLib.EngineTypes.next = {
19935 MenhirLib.EngineTypes.state = _menhir_s;
19936 MenhirLib.EngineTypes.semv = ar;
19937 MenhirLib.EngineTypes.startp = _startpos_ar_;
19938 MenhirLib.EngineTypes.endp = _endpos_ar_;
19939 MenhirLib.EngineTypes.next = _menhir_stack;
19940 };
19941 };
19942 };
19943 };
19944 };
19945 } = _menhir_stack in
19946 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
19947 let ispure : 'tv_pure = Obj.magic ispure in
19948 let ar : 'tv_arity = Obj.magic ar in
19949 let _startpos = _startpos_ar_ in
19950 let _endpos = _endpos__6_ in
19951 let _v : 'tv_metadec = let kindfn =
19952
19953 # 394 "parser_cocci_menhir.mly"
19954 ( (fun arity (_,name) pure check_meta ->
19955 if arity = Ast.NONE && pure = Ast0.Impure
19956 then (!Data.add_iterator_name name; [])
19957 else raise (Semantic_cocci.Semantic "bad iterator")) )
19958 # 19959 "parser_cocci_menhir.ml"
19959
19960 in
19961
19962 # 275 "parser_cocci_menhir.mly"
19963 ( P.create_metadec ar ispure kindfn ids )
19964 # 19965 "parser_cocci_menhir.ml"
19965 in
19966 _menhir_env.MenhirLib.EngineTypes.stack <- {
19967 MenhirLib.EngineTypes.state = _menhir_s;
19968 MenhirLib.EngineTypes.semv = Obj.repr _v;
19969 MenhirLib.EngineTypes.startp = _startpos;
19970 MenhirLib.EngineTypes.endp = _endpos;
19971 MenhirLib.EngineTypes.next = _menhir_stack;
19972 });
19973 (fun _menhir_env ->
19974 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19975 let {
19976 MenhirLib.EngineTypes.startp = _startpos__4_;
19977 MenhirLib.EngineTypes.endp = _endpos__4_;
19978 MenhirLib.EngineTypes.next = {
19979 MenhirLib.EngineTypes.semv = ids;
19980 MenhirLib.EngineTypes.startp = _startpos_ids_;
19981 MenhirLib.EngineTypes.endp = _endpos_ids_;
19982 MenhirLib.EngineTypes.next = {
19983 MenhirLib.EngineTypes.startp = _startpos__2_;
19984 MenhirLib.EngineTypes.endp = _endpos__2_;
19985 MenhirLib.EngineTypes.next = {
19986 MenhirLib.EngineTypes.state = _menhir_s;
19987 MenhirLib.EngineTypes.startp = _startpos__1_;
19988 MenhirLib.EngineTypes.endp = _endpos__1_;
19989 MenhirLib.EngineTypes.next = _menhir_stack;
19990 };
19991 };
19992 };
19993 } = _menhir_stack in
19994 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = Obj.magic ids in
19995 let _startpos = _startpos__1_ in
19996 let _endpos = _endpos__4_ in
19997 let _v : 'tv_metadec = let kindfn =
19998
19999 # 339 "parser_cocci_menhir.mly"
20000 ( (fun name check_meta seed ->
20001 let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in
20002 !Data.add_fresh_id_meta name; tok) )
20003 # 20004 "parser_cocci_menhir.ml"
20004
20005 in
20006
20007 # 278 "parser_cocci_menhir.mly"
20008 ( P.create_fresh_metadec kindfn ids )
20009 # 20010 "parser_cocci_menhir.ml"
20010 in
20011 _menhir_env.MenhirLib.EngineTypes.stack <- {
20012 MenhirLib.EngineTypes.state = _menhir_s;
20013 MenhirLib.EngineTypes.semv = Obj.repr _v;
20014 MenhirLib.EngineTypes.startp = _startpos;
20015 MenhirLib.EngineTypes.endp = _endpos;
20016 MenhirLib.EngineTypes.next = _menhir_stack;
20017 });
20018 (fun _menhir_env ->
20019 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20020 let {
20021 MenhirLib.EngineTypes.startp = _startpos__5_;
20022 MenhirLib.EngineTypes.endp = _endpos__5_;
20023 MenhirLib.EngineTypes.next = {
20024 MenhirLib.EngineTypes.semv = ids;
20025 MenhirLib.EngineTypes.startp = _startpos_ids_;
20026 MenhirLib.EngineTypes.endp = _endpos_ids_;
20027 MenhirLib.EngineTypes.next = {
20028 MenhirLib.EngineTypes.startp = _startpos__3_;
20029 MenhirLib.EngineTypes.endp = _endpos__3_;
20030 MenhirLib.EngineTypes.next = {
20031 MenhirLib.EngineTypes.semv = ispure;
20032 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20033 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20034 MenhirLib.EngineTypes.next = {
20035 MenhirLib.EngineTypes.state = _menhir_s;
20036 MenhirLib.EngineTypes.semv = ar;
20037 MenhirLib.EngineTypes.startp = _startpos_ar_;
20038 MenhirLib.EngineTypes.endp = _endpos_ar_;
20039 MenhirLib.EngineTypes.next = _menhir_stack;
20040 };
20041 };
20042 };
20043 };
20044 } = _menhir_stack in
20045 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic ids in
20046 let ispure : 'tv_pure = Obj.magic ispure in
20047 let ar : 'tv_arity = Obj.magic ar in
20048 let _startpos = _startpos_ar_ in
20049 let _endpos = _endpos__5_ in
20050 let _v : 'tv_metadec = let kindfn =
20051
20052 # 401 "parser_cocci_menhir.mly"
20053 (
20054 let idfn arity name pure check_meta constraints =
20055 let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
20056 !Data.add_id_meta name constraints pure; tok in
20057 let virtfn arity name pure check_meta virtual_env =
20058 try
20059 let vl = List.assoc name virtual_env in
20060 !Data.add_virt_id_meta_found name vl; []
20061 with Not_found ->
20062 let name = ("virtual",name) in
20063 let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
20064 !Data.add_virt_id_meta_not_found name pure; tok in
20065 (idfn,virtfn) )
20066 # 20067 "parser_cocci_menhir.ml"
20067
20068 in
20069
20070 # 284 "parser_cocci_menhir.mly"
20071 ( let (normal,virt) = Common.partition_either (fun x -> x) ids in
20072 let (idfn,virtfn) = kindfn in
20073 function cr ->
20074 (P.create_metadec_with_constraints ar ispure idfn normal cr) @
20075 (P.create_metadec_virt ar ispure virtfn virt cr) )
20076 # 20077 "parser_cocci_menhir.ml"
20077 in
20078 _menhir_env.MenhirLib.EngineTypes.stack <- {
20079 MenhirLib.EngineTypes.state = _menhir_s;
20080 MenhirLib.EngineTypes.semv = Obj.repr _v;
20081 MenhirLib.EngineTypes.startp = _startpos;
20082 MenhirLib.EngineTypes.endp = _endpos;
20083 MenhirLib.EngineTypes.next = _menhir_stack;
20084 });
20085 (fun _menhir_env ->
20086 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20087 let {
20088 MenhirLib.EngineTypes.startp = _startpos__5_;
20089 MenhirLib.EngineTypes.endp = _endpos__5_;
20090 MenhirLib.EngineTypes.next = {
20091 MenhirLib.EngineTypes.semv = ids;
20092 MenhirLib.EngineTypes.startp = _startpos_ids_;
20093 MenhirLib.EngineTypes.endp = _endpos_ids_;
20094 MenhirLib.EngineTypes.next = {
20095 MenhirLib.EngineTypes.startp = _startpos__3_;
20096 MenhirLib.EngineTypes.endp = _endpos__3_;
20097 MenhirLib.EngineTypes.next = {
20098 MenhirLib.EngineTypes.semv = ispure;
20099 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20100 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20101 MenhirLib.EngineTypes.next = {
20102 MenhirLib.EngineTypes.state = _menhir_s;
20103 MenhirLib.EngineTypes.semv = ar;
20104 MenhirLib.EngineTypes.startp = _startpos_ar_;
20105 MenhirLib.EngineTypes.endp = _endpos_ar_;
20106 MenhirLib.EngineTypes.next = _menhir_stack;
20107 };
20108 };
20109 };
20110 };
20111 } = _menhir_stack in
20112 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
20113 let ispure : 'tv_pure = Obj.magic ispure in
20114 let ar : 'tv_arity = Obj.magic ar in
20115 let _startpos = _startpos_ar_ in
20116 let _endpos = _endpos__5_ in
20117 let _v : 'tv_metadec = let kindfn =
20118
20119 # 417 "parser_cocci_menhir.mly"
20120 ( (fun arity name pure check_meta constraints ->
20121 let tok = check_meta(Ast.MetaFuncDecl(arity,name)) in
20122 !Data.add_func_meta name constraints pure; tok) )
20123 # 20124 "parser_cocci_menhir.ml"
20124
20125 in
20126
20127 # 293 "parser_cocci_menhir.mly"
20128 ( P.create_metadec_with_constraints ar ispure kindfn ids )
20129 # 20130 "parser_cocci_menhir.ml"
20130 in
20131 _menhir_env.MenhirLib.EngineTypes.stack <- {
20132 MenhirLib.EngineTypes.state = _menhir_s;
20133 MenhirLib.EngineTypes.semv = Obj.repr _v;
20134 MenhirLib.EngineTypes.startp = _startpos;
20135 MenhirLib.EngineTypes.endp = _endpos;
20136 MenhirLib.EngineTypes.next = _menhir_stack;
20137 });
20138 (fun _menhir_env ->
20139 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20140 let {
20141 MenhirLib.EngineTypes.startp = _startpos__6_;
20142 MenhirLib.EngineTypes.endp = _endpos__6_;
20143 MenhirLib.EngineTypes.next = {
20144 MenhirLib.EngineTypes.semv = ids;
20145 MenhirLib.EngineTypes.startp = _startpos_ids_;
20146 MenhirLib.EngineTypes.endp = _endpos_ids_;
20147 MenhirLib.EngineTypes.next = {
20148 MenhirLib.EngineTypes.startp = _startpos__4_;
20149 MenhirLib.EngineTypes.endp = _endpos__4_;
20150 MenhirLib.EngineTypes.next = {
20151 MenhirLib.EngineTypes.startp = _startpos__3_;
20152 MenhirLib.EngineTypes.endp = _endpos__3_;
20153 MenhirLib.EngineTypes.next = {
20154 MenhirLib.EngineTypes.semv = ispure;
20155 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20156 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20157 MenhirLib.EngineTypes.next = {
20158 MenhirLib.EngineTypes.state = _menhir_s;
20159 MenhirLib.EngineTypes.semv = ar;
20160 MenhirLib.EngineTypes.startp = _startpos_ar_;
20161 MenhirLib.EngineTypes.endp = _endpos_ar_;
20162 MenhirLib.EngineTypes.next = _menhir_stack;
20163 };
20164 };
20165 };
20166 };
20167 };
20168 } = _menhir_stack in
20169 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
20170 let ispure : 'tv_pure = Obj.magic ispure in
20171 let ar : 'tv_arity = Obj.magic ar in
20172 let _startpos = _startpos_ar_ in
20173 let _endpos = _endpos__6_ in
20174 let _v : 'tv_metadec = let kindfn =
20175
20176 # 421 "parser_cocci_menhir.mly"
20177 ( (fun arity name pure check_meta constraints ->
20178 let tok = check_meta(Ast.MetaLocalFuncDecl(arity,name)) in
20179 !Data.add_local_func_meta name constraints pure;
20180 tok) )
20181 # 20182 "parser_cocci_menhir.ml"
20182
20183 in
20184
20185 # 293 "parser_cocci_menhir.mly"
20186 ( P.create_metadec_with_constraints ar ispure kindfn ids )
20187 # 20188 "parser_cocci_menhir.ml"
20188 in
20189 _menhir_env.MenhirLib.EngineTypes.stack <- {
20190 MenhirLib.EngineTypes.state = _menhir_s;
20191 MenhirLib.EngineTypes.semv = Obj.repr _v;
20192 MenhirLib.EngineTypes.startp = _startpos;
20193 MenhirLib.EngineTypes.endp = _endpos;
20194 MenhirLib.EngineTypes.next = _menhir_stack;
20195 });
20196 (fun _menhir_env ->
20197 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20198 let {
20199 MenhirLib.EngineTypes.startp = _startpos__5_;
20200 MenhirLib.EngineTypes.endp = _endpos__5_;
20201 MenhirLib.EngineTypes.next = {
20202 MenhirLib.EngineTypes.semv = ids;
20203 MenhirLib.EngineTypes.startp = _startpos_ids_;
20204 MenhirLib.EngineTypes.endp = _endpos_ids_;
20205 MenhirLib.EngineTypes.next = {
20206 MenhirLib.EngineTypes.startp = _startpos__3_;
20207 MenhirLib.EngineTypes.endp = _endpos__3_;
20208 MenhirLib.EngineTypes.next = {
20209 MenhirLib.EngineTypes.semv = ispure;
20210 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20211 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20212 MenhirLib.EngineTypes.next = {
20213 MenhirLib.EngineTypes.state = _menhir_s;
20214 MenhirLib.EngineTypes.semv = ar;
20215 MenhirLib.EngineTypes.startp = _startpos_ar_;
20216 MenhirLib.EngineTypes.endp = _endpos_ar_;
20217 MenhirLib.EngineTypes.next = _menhir_stack;
20218 };
20219 };
20220 };
20221 };
20222 } = _menhir_stack in
20223 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
20224 let ispure : 'tv_pure = Obj.magic ispure in
20225 let ar : 'tv_arity = Obj.magic ar in
20226 let _startpos = _startpos_ar_ in
20227 let _endpos = _endpos__5_ in
20228 let _v : 'tv_metadec = let kindfn =
20229
20230 # 426 "parser_cocci_menhir.mly"
20231 ( (fun arity name pure check_meta constraints ->
20232 let tok = check_meta(Ast.MetaDeclarerDecl(arity,name)) in
20233 !Data.add_declarer_meta name constraints pure; tok) )
20234 # 20235 "parser_cocci_menhir.ml"
20235
20236 in
20237
20238 # 293 "parser_cocci_menhir.mly"
20239 ( P.create_metadec_with_constraints ar ispure kindfn ids )
20240 # 20241 "parser_cocci_menhir.ml"
20241 in
20242 _menhir_env.MenhirLib.EngineTypes.stack <- {
20243 MenhirLib.EngineTypes.state = _menhir_s;
20244 MenhirLib.EngineTypes.semv = Obj.repr _v;
20245 MenhirLib.EngineTypes.startp = _startpos;
20246 MenhirLib.EngineTypes.endp = _endpos;
20247 MenhirLib.EngineTypes.next = _menhir_stack;
20248 });
20249 (fun _menhir_env ->
20250 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20251 let {
20252 MenhirLib.EngineTypes.startp = _startpos__5_;
20253 MenhirLib.EngineTypes.endp = _endpos__5_;
20254 MenhirLib.EngineTypes.next = {
20255 MenhirLib.EngineTypes.semv = ids;
20256 MenhirLib.EngineTypes.startp = _startpos_ids_;
20257 MenhirLib.EngineTypes.endp = _endpos_ids_;
20258 MenhirLib.EngineTypes.next = {
20259 MenhirLib.EngineTypes.startp = _startpos__3_;
20260 MenhirLib.EngineTypes.endp = _endpos__3_;
20261 MenhirLib.EngineTypes.next = {
20262 MenhirLib.EngineTypes.semv = ispure;
20263 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20264 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20265 MenhirLib.EngineTypes.next = {
20266 MenhirLib.EngineTypes.state = _menhir_s;
20267 MenhirLib.EngineTypes.semv = ar;
20268 MenhirLib.EngineTypes.startp = _startpos_ar_;
20269 MenhirLib.EngineTypes.endp = _endpos_ar_;
20270 MenhirLib.EngineTypes.next = _menhir_stack;
20271 };
20272 };
20273 };
20274 };
20275 } = _menhir_stack in
20276 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
20277 let ispure : 'tv_pure = Obj.magic ispure in
20278 let ar : 'tv_arity = Obj.magic ar in
20279 let _startpos = _startpos_ar_ in
20280 let _endpos = _endpos__5_ in
20281 let _v : 'tv_metadec = let kindfn =
20282
20283 # 430 "parser_cocci_menhir.mly"
20284 ( (fun arity name pure check_meta constraints ->
20285 let tok = check_meta(Ast.MetaIteratorDecl(arity,name)) in
20286 !Data.add_iterator_meta name constraints pure; tok) )
20287 # 20288 "parser_cocci_menhir.ml"
20288
20289 in
20290
20291 # 293 "parser_cocci_menhir.mly"
20292 ( P.create_metadec_with_constraints ar ispure kindfn ids )
20293 # 20294 "parser_cocci_menhir.ml"
20294 in
20295 _menhir_env.MenhirLib.EngineTypes.stack <- {
20296 MenhirLib.EngineTypes.state = _menhir_s;
20297 MenhirLib.EngineTypes.semv = Obj.repr _v;
20298 MenhirLib.EngineTypes.startp = _startpos;
20299 MenhirLib.EngineTypes.endp = _endpos;
20300 MenhirLib.EngineTypes.next = _menhir_stack;
20301 });
20302 (fun _menhir_env ->
20303 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20304 let {
20305 MenhirLib.EngineTypes.startp = _startpos__5_;
20306 MenhirLib.EngineTypes.endp = _endpos__5_;
20307 MenhirLib.EngineTypes.next = {
20308 MenhirLib.EngineTypes.semv = ids;
20309 MenhirLib.EngineTypes.startp = _startpos_ids_;
20310 MenhirLib.EngineTypes.endp = _endpos_ids_;
20311 MenhirLib.EngineTypes.next = {
20312 MenhirLib.EngineTypes.startp = _startpos__3_;
20313 MenhirLib.EngineTypes.endp = _endpos__3_;
20314 MenhirLib.EngineTypes.next = {
20315 MenhirLib.EngineTypes.semv = ispure;
20316 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20317 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20318 MenhirLib.EngineTypes.next = {
20319 MenhirLib.EngineTypes.state = _menhir_s;
20320 MenhirLib.EngineTypes.semv = ar;
20321 MenhirLib.EngineTypes.startp = _startpos_ar_;
20322 MenhirLib.EngineTypes.endp = _endpos_ar_;
20323 MenhirLib.EngineTypes.next = _menhir_stack;
20324 };
20325 };
20326 };
20327 };
20328 } = _menhir_stack in
20329 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
20330 let ispure : 'tv_pure = Obj.magic ispure in
20331 let ar : 'tv_arity = Obj.magic ar in
20332 let _startpos = _startpos_ar_ in
20333 let _endpos = _endpos__5_ in
20334 let _v : 'tv_metadec = let kindfn =
20335
20336 # 436 "parser_cocci_menhir.mly"
20337 ( (fun arity name pure check_meta constraints ->
20338 let tok = check_meta(Ast.MetaErrDecl(arity,name)) in
20339 !Data.add_err_meta name constraints pure; tok) )
20340 # 20341 "parser_cocci_menhir.ml"
20341
20342 in
20343
20344 # 298 "parser_cocci_menhir.mly"
20345 ( P.create_metadec_with_constraints ar ispure kindfn ids )
20346 # 20347 "parser_cocci_menhir.ml"
20347 in
20348 _menhir_env.MenhirLib.EngineTypes.stack <- {
20349 MenhirLib.EngineTypes.state = _menhir_s;
20350 MenhirLib.EngineTypes.semv = Obj.repr _v;
20351 MenhirLib.EngineTypes.startp = _startpos;
20352 MenhirLib.EngineTypes.endp = _endpos;
20353 MenhirLib.EngineTypes.next = _menhir_stack;
20354 });
20355 (fun _menhir_env ->
20356 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20357 let {
20358 MenhirLib.EngineTypes.startp = _startpos__6_;
20359 MenhirLib.EngineTypes.endp = _endpos__6_;
20360 MenhirLib.EngineTypes.next = {
20361 MenhirLib.EngineTypes.semv = ids;
20362 MenhirLib.EngineTypes.startp = _startpos_ids_;
20363 MenhirLib.EngineTypes.endp = _endpos_ids_;
20364 MenhirLib.EngineTypes.next = {
20365 MenhirLib.EngineTypes.startp = _startpos__4_;
20366 MenhirLib.EngineTypes.endp = _endpos__4_;
20367 MenhirLib.EngineTypes.next = {
20368 MenhirLib.EngineTypes.semv = l0;
20369 MenhirLib.EngineTypes.startp = _startpos_l0_;
20370 MenhirLib.EngineTypes.endp = _endpos_l0_;
20371 MenhirLib.EngineTypes.next = {
20372 MenhirLib.EngineTypes.semv = ispure;
20373 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20374 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20375 MenhirLib.EngineTypes.next = {
20376 MenhirLib.EngineTypes.state = _menhir_s;
20377 MenhirLib.EngineTypes.semv = ar;
20378 MenhirLib.EngineTypes.startp = _startpos_ar_;
20379 MenhirLib.EngineTypes.endp = _endpos_ar_;
20380 MenhirLib.EngineTypes.next = _menhir_stack;
20381 };
20382 };
20383 };
20384 };
20385 };
20386 } = _menhir_stack in
20387 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
20388 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
20389 let ispure : 'tv_pure = Obj.magic ispure in
20390 let ar : 'tv_arity = Obj.magic ar in
20391 let _startpos = _startpos_ar_ in
20392 let _endpos = _endpos__6_ in
20393 let _v : 'tv_metadec = let kindfn =
20394 let l = l0 in
20395 let ty =
20396
20397 # 39 "standard.mly"
20398 ( None )
20399 # 20400 "parser_cocci_menhir.ml"
20400
20401 in
20402
20403 # 440 "parser_cocci_menhir.mly"
20404 ( (fun arity name pure check_meta constraints ->
20405 match l with
20406 None ->
20407 !Data.add_idexp_meta ty name constraints pure;
20408 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
20409 | Some _ ->
20410 !Data.add_local_idexp_meta ty name constraints pure;
20411 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
20412 # 20413 "parser_cocci_menhir.ml"
20413
20414 in
20415
20416 # 298 "parser_cocci_menhir.mly"
20417 ( P.create_metadec_with_constraints ar ispure kindfn ids )
20418 # 20419 "parser_cocci_menhir.ml"
20419 in
20420 _menhir_env.MenhirLib.EngineTypes.stack <- {
20421 MenhirLib.EngineTypes.state = _menhir_s;
20422 MenhirLib.EngineTypes.semv = Obj.repr _v;
20423 MenhirLib.EngineTypes.startp = _startpos;
20424 MenhirLib.EngineTypes.endp = _endpos;
20425 MenhirLib.EngineTypes.next = _menhir_stack;
20426 });
20427 (fun _menhir_env ->
20428 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20429 let {
20430 MenhirLib.EngineTypes.startp = _startpos__7_;
20431 MenhirLib.EngineTypes.endp = _endpos__7_;
20432 MenhirLib.EngineTypes.next = {
20433 MenhirLib.EngineTypes.semv = ids;
20434 MenhirLib.EngineTypes.startp = _startpos_ids_;
20435 MenhirLib.EngineTypes.endp = _endpos_ids_;
20436 MenhirLib.EngineTypes.next = {
20437 MenhirLib.EngineTypes.semv = x00;
20438 MenhirLib.EngineTypes.startp = _startpos_x00_;
20439 MenhirLib.EngineTypes.endp = _endpos_x00_;
20440 MenhirLib.EngineTypes.next = {
20441 MenhirLib.EngineTypes.startp = _startpos__4_;
20442 MenhirLib.EngineTypes.endp = _endpos__4_;
20443 MenhirLib.EngineTypes.next = {
20444 MenhirLib.EngineTypes.semv = l0;
20445 MenhirLib.EngineTypes.startp = _startpos_l0_;
20446 MenhirLib.EngineTypes.endp = _endpos_l0_;
20447 MenhirLib.EngineTypes.next = {
20448 MenhirLib.EngineTypes.semv = ispure;
20449 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20450 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20451 MenhirLib.EngineTypes.next = {
20452 MenhirLib.EngineTypes.state = _menhir_s;
20453 MenhirLib.EngineTypes.semv = ar;
20454 MenhirLib.EngineTypes.startp = _startpos_ar_;
20455 MenhirLib.EngineTypes.endp = _endpos_ar_;
20456 MenhirLib.EngineTypes.next = _menhir_stack;
20457 };
20458 };
20459 };
20460 };
20461 };
20462 };
20463 } = _menhir_stack in
20464 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
20465 let x00 : 'tv_meta_exp_type = Obj.magic x00 in
20466 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
20467 let ispure : 'tv_pure = Obj.magic ispure in
20468 let ar : 'tv_arity = Obj.magic ar in
20469 let _startpos = _startpos_ar_ in
20470 let _endpos = _endpos__7_ in
20471 let _v : 'tv_metadec = let kindfn =
20472 let x0 = x00 in
20473 let l = l0 in
20474 let ty =
20475 let x = x0 in
20476
20477 # 41 "standard.mly"
20478 ( Some x )
20479 # 20480 "parser_cocci_menhir.ml"
20480
20481 in
20482
20483 # 440 "parser_cocci_menhir.mly"
20484 ( (fun arity name pure check_meta constraints ->
20485 match l with
20486 None ->
20487 !Data.add_idexp_meta ty name constraints pure;
20488 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
20489 | Some _ ->
20490 !Data.add_local_idexp_meta ty name constraints pure;
20491 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
20492 # 20493 "parser_cocci_menhir.ml"
20493
20494 in
20495
20496 # 298 "parser_cocci_menhir.mly"
20497 ( P.create_metadec_with_constraints ar ispure kindfn ids )
20498 # 20499 "parser_cocci_menhir.ml"
20499 in
20500 _menhir_env.MenhirLib.EngineTypes.stack <- {
20501 MenhirLib.EngineTypes.state = _menhir_s;
20502 MenhirLib.EngineTypes.semv = Obj.repr _v;
20503 MenhirLib.EngineTypes.startp = _startpos;
20504 MenhirLib.EngineTypes.endp = _endpos;
20505 MenhirLib.EngineTypes.next = _menhir_stack;
20506 });
20507 (fun _menhir_env ->
20508 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20509 let {
20510 MenhirLib.EngineTypes.startp = _startpos__7_;
20511 MenhirLib.EngineTypes.endp = _endpos__7_;
20512 MenhirLib.EngineTypes.next = {
20513 MenhirLib.EngineTypes.semv = ids;
20514 MenhirLib.EngineTypes.startp = _startpos_ids_;
20515 MenhirLib.EngineTypes.endp = _endpos_ids_;
20516 MenhirLib.EngineTypes.next = {
20517 MenhirLib.EngineTypes.semv = m0;
20518 MenhirLib.EngineTypes.startp = _startpos_m0_;
20519 MenhirLib.EngineTypes.endp = _endpos_m0_;
20520 MenhirLib.EngineTypes.next = {
20521 MenhirLib.EngineTypes.startp = _startpos__4_;
20522 MenhirLib.EngineTypes.endp = _endpos__4_;
20523 MenhirLib.EngineTypes.next = {
20524 MenhirLib.EngineTypes.semv = l0;
20525 MenhirLib.EngineTypes.startp = _startpos_l0_;
20526 MenhirLib.EngineTypes.endp = _endpos_l0_;
20527 MenhirLib.EngineTypes.next = {
20528 MenhirLib.EngineTypes.semv = ispure;
20529 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20530 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20531 MenhirLib.EngineTypes.next = {
20532 MenhirLib.EngineTypes.state = _menhir_s;
20533 MenhirLib.EngineTypes.semv = ar;
20534 MenhirLib.EngineTypes.startp = _startpos_ar_;
20535 MenhirLib.EngineTypes.endp = _endpos_ar_;
20536 MenhirLib.EngineTypes.next = _menhir_stack;
20537 };
20538 };
20539 };
20540 };
20541 };
20542 };
20543 } = _menhir_stack in
20544 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
20545 let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
20546 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
20547 let ispure : 'tv_pure = Obj.magic ispure in
20548 let ar : 'tv_arity = Obj.magic ar in
20549 let _startpos = _startpos_ar_ in
20550 let _endpos = _endpos__7_ in
20551 let _v : 'tv_metadec = let kindfn =
20552 let m = m0 in
20553 let l = l0 in
20554
20555 # 449 "parser_cocci_menhir.mly"
20556 ( (fun arity name pure check_meta constraints ->
20557 let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
20558 match l with
20559 None ->
20560 !Data.add_idexp_meta ty name constraints pure;
20561 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
20562 | Some _ ->
20563 !Data.add_local_idexp_meta ty name constraints pure;
20564 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
20565 # 20566 "parser_cocci_menhir.ml"
20566
20567 in
20568
20569 # 298 "parser_cocci_menhir.mly"
20570 ( P.create_metadec_with_constraints ar ispure kindfn ids )
20571 # 20572 "parser_cocci_menhir.ml"
20572 in
20573 _menhir_env.MenhirLib.EngineTypes.stack <- {
20574 MenhirLib.EngineTypes.state = _menhir_s;
20575 MenhirLib.EngineTypes.semv = Obj.repr _v;
20576 MenhirLib.EngineTypes.startp = _startpos;
20577 MenhirLib.EngineTypes.endp = _endpos;
20578 MenhirLib.EngineTypes.next = _menhir_stack;
20579 });
20580 (fun _menhir_env ->
20581 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20582 let {
20583 MenhirLib.EngineTypes.startp = _startpos__6_;
20584 MenhirLib.EngineTypes.endp = _endpos__6_;
20585 MenhirLib.EngineTypes.next = {
20586 MenhirLib.EngineTypes.semv = ids;
20587 MenhirLib.EngineTypes.startp = _startpos_ids_;
20588 MenhirLib.EngineTypes.endp = _endpos_ids_;
20589 MenhirLib.EngineTypes.next = {
20590 MenhirLib.EngineTypes.semv = ty0;
20591 MenhirLib.EngineTypes.startp = _startpos_ty0_;
20592 MenhirLib.EngineTypes.endp = _endpos_ty0_;
20593 MenhirLib.EngineTypes.next = {
20594 MenhirLib.EngineTypes.startp = _startpos__3_;
20595 MenhirLib.EngineTypes.endp = _endpos__3_;
20596 MenhirLib.EngineTypes.next = {
20597 MenhirLib.EngineTypes.semv = ispure;
20598 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20599 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20600 MenhirLib.EngineTypes.next = {
20601 MenhirLib.EngineTypes.state = _menhir_s;
20602 MenhirLib.EngineTypes.semv = ar;
20603 MenhirLib.EngineTypes.startp = _startpos_ar_;
20604 MenhirLib.EngineTypes.endp = _endpos_ar_;
20605 MenhirLib.EngineTypes.next = _menhir_stack;
20606 };
20607 };
20608 };
20609 };
20610 };
20611 } = _menhir_stack in
20612 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
20613 let ty0 : 'tv_expression_type = Obj.magic ty0 in
20614 let ispure : 'tv_pure = Obj.magic ispure in
20615 let ar : 'tv_arity = Obj.magic ar in
20616 let _startpos = _startpos_ar_ in
20617 let _endpos = _endpos__6_ in
20618 let _v : 'tv_metadec = let kindfn =
20619 let ty = ty0 in
20620
20621 # 459 "parser_cocci_menhir.mly"
20622 ( (fun arity name pure check_meta constraints ->
20623 let ty = Some [ty] in
20624 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
20625 !Data.add_exp_meta ty name constraints pure; tok) )
20626 # 20627 "parser_cocci_menhir.ml"
20627
20628 in
20629
20630 # 298 "parser_cocci_menhir.mly"
20631 ( P.create_metadec_with_constraints ar ispure kindfn ids )
20632 # 20633 "parser_cocci_menhir.ml"
20633 in
20634 _menhir_env.MenhirLib.EngineTypes.stack <- {
20635 MenhirLib.EngineTypes.state = _menhir_s;
20636 MenhirLib.EngineTypes.semv = Obj.repr _v;
20637 MenhirLib.EngineTypes.startp = _startpos;
20638 MenhirLib.EngineTypes.endp = _endpos;
20639 MenhirLib.EngineTypes.next = _menhir_stack;
20640 });
20641 (fun _menhir_env ->
20642 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20643 let {
20644 MenhirLib.EngineTypes.startp = _startpos__7_;
20645 MenhirLib.EngineTypes.endp = _endpos__7_;
20646 MenhirLib.EngineTypes.next = {
20647 MenhirLib.EngineTypes.semv = ids;
20648 MenhirLib.EngineTypes.startp = _startpos_ids_;
20649 MenhirLib.EngineTypes.endp = _endpos_ids_;
20650 MenhirLib.EngineTypes.next = {
20651 MenhirLib.EngineTypes.startp = _startpos__5_;
20652 MenhirLib.EngineTypes.endp = _endpos__5_;
20653 MenhirLib.EngineTypes.next = {
20654 MenhirLib.EngineTypes.startp = _startpos__4_;
20655 MenhirLib.EngineTypes.endp = _endpos__4_;
20656 MenhirLib.EngineTypes.next = {
20657 MenhirLib.EngineTypes.semv = vl0;
20658 MenhirLib.EngineTypes.startp = _startpos_vl0_;
20659 MenhirLib.EngineTypes.endp = _endpos_vl0_;
20660 MenhirLib.EngineTypes.next = {
20661 MenhirLib.EngineTypes.semv = ispure;
20662 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20663 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20664 MenhirLib.EngineTypes.next = {
20665 MenhirLib.EngineTypes.state = _menhir_s;
20666 MenhirLib.EngineTypes.semv = ar;
20667 MenhirLib.EngineTypes.startp = _startpos_ar_;
20668 MenhirLib.EngineTypes.endp = _endpos_ar_;
20669 MenhirLib.EngineTypes.next = _menhir_stack;
20670 };
20671 };
20672 };
20673 };
20674 };
20675 };
20676 } = _menhir_stack in
20677 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
20678 let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
20679 let ispure : 'tv_pure = Obj.magic ispure in
20680 let ar : 'tv_arity = Obj.magic ar in
20681 let _startpos = _startpos_ar_ in
20682 let _endpos = _endpos__7_ in
20683 let _v : 'tv_metadec = let kindfn =
20684 let vl = vl0 in
20685
20686 # 464 "parser_cocci_menhir.mly"
20687 ( (fun arity name pure check_meta constraints ->
20688 let ty = Some (List.map (function x -> Type_cocci.Array x) vl) in
20689 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
20690 !Data.add_exp_meta ty name constraints pure; tok) )
20691 # 20692 "parser_cocci_menhir.ml"
20692
20693 in
20694
20695 # 298 "parser_cocci_menhir.mly"
20696 ( P.create_metadec_with_constraints ar ispure kindfn ids )
20697 # 20698 "parser_cocci_menhir.ml"
20698 in
20699 _menhir_env.MenhirLib.EngineTypes.stack <- {
20700 MenhirLib.EngineTypes.state = _menhir_s;
20701 MenhirLib.EngineTypes.semv = Obj.repr _v;
20702 MenhirLib.EngineTypes.startp = _startpos;
20703 MenhirLib.EngineTypes.endp = _endpos;
20704 MenhirLib.EngineTypes.next = _menhir_stack;
20705 });
20706 (fun _menhir_env ->
20707 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20708 let {
20709 MenhirLib.EngineTypes.startp = _startpos__5_;
20710 MenhirLib.EngineTypes.endp = _endpos__5_;
20711 MenhirLib.EngineTypes.next = {
20712 MenhirLib.EngineTypes.semv = ids;
20713 MenhirLib.EngineTypes.startp = _startpos_ids_;
20714 MenhirLib.EngineTypes.endp = _endpos_ids_;
20715 MenhirLib.EngineTypes.next = {
20716 MenhirLib.EngineTypes.startp = _startpos__3_;
20717 MenhirLib.EngineTypes.endp = _endpos__3_;
20718 MenhirLib.EngineTypes.next = {
20719 MenhirLib.EngineTypes.semv = ispure;
20720 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20721 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20722 MenhirLib.EngineTypes.next = {
20723 MenhirLib.EngineTypes.state = _menhir_s;
20724 MenhirLib.EngineTypes.semv = ar;
20725 MenhirLib.EngineTypes.startp = _startpos_ar_;
20726 MenhirLib.EngineTypes.endp = _endpos_ar_;
20727 MenhirLib.EngineTypes.next = _menhir_stack;
20728 };
20729 };
20730 };
20731 };
20732 } = _menhir_stack in
20733 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
20734 let ispure : 'tv_pure = Obj.magic ispure in
20735 let ar : 'tv_arity = Obj.magic ar in
20736 let _startpos = _startpos_ar_ in
20737 let _endpos = _endpos__5_ in
20738 let _v : 'tv_metadec = let kindfn =
20739 let ty =
20740
20741 # 39 "standard.mly"
20742 ( None )
20743 # 20744 "parser_cocci_menhir.ml"
20744
20745 in
20746
20747 # 469 "parser_cocci_menhir.mly"
20748 ( (fun arity name pure check_meta constraints ->
20749 let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
20750 !Data.add_const_meta ty name constraints pure; tok) )
20751 # 20752 "parser_cocci_menhir.ml"
20752
20753 in
20754
20755 # 298 "parser_cocci_menhir.mly"
20756 ( P.create_metadec_with_constraints ar ispure kindfn ids )
20757 # 20758 "parser_cocci_menhir.ml"
20758 in
20759 _menhir_env.MenhirLib.EngineTypes.stack <- {
20760 MenhirLib.EngineTypes.state = _menhir_s;
20761 MenhirLib.EngineTypes.semv = Obj.repr _v;
20762 MenhirLib.EngineTypes.startp = _startpos;
20763 MenhirLib.EngineTypes.endp = _endpos;
20764 MenhirLib.EngineTypes.next = _menhir_stack;
20765 });
20766 (fun _menhir_env ->
20767 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20768 let {
20769 MenhirLib.EngineTypes.startp = _startpos__6_;
20770 MenhirLib.EngineTypes.endp = _endpos__6_;
20771 MenhirLib.EngineTypes.next = {
20772 MenhirLib.EngineTypes.semv = ids;
20773 MenhirLib.EngineTypes.startp = _startpos_ids_;
20774 MenhirLib.EngineTypes.endp = _endpos_ids_;
20775 MenhirLib.EngineTypes.next = {
20776 MenhirLib.EngineTypes.semv = x00;
20777 MenhirLib.EngineTypes.startp = _startpos_x00_;
20778 MenhirLib.EngineTypes.endp = _endpos_x00_;
20779 MenhirLib.EngineTypes.next = {
20780 MenhirLib.EngineTypes.startp = _startpos__3_;
20781 MenhirLib.EngineTypes.endp = _endpos__3_;
20782 MenhirLib.EngineTypes.next = {
20783 MenhirLib.EngineTypes.semv = ispure;
20784 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20785 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20786 MenhirLib.EngineTypes.next = {
20787 MenhirLib.EngineTypes.state = _menhir_s;
20788 MenhirLib.EngineTypes.semv = ar;
20789 MenhirLib.EngineTypes.startp = _startpos_ar_;
20790 MenhirLib.EngineTypes.endp = _endpos_ar_;
20791 MenhirLib.EngineTypes.next = _menhir_stack;
20792 };
20793 };
20794 };
20795 };
20796 };
20797 } = _menhir_stack in
20798 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
20799 let x00 : 'tv_meta_exp_type = Obj.magic x00 in
20800 let ispure : 'tv_pure = Obj.magic ispure in
20801 let ar : 'tv_arity = Obj.magic ar in
20802 let _startpos = _startpos_ar_ in
20803 let _endpos = _endpos__6_ in
20804 let _v : 'tv_metadec = let kindfn =
20805 let x0 = x00 in
20806 let ty =
20807 let x = x0 in
20808
20809 # 41 "standard.mly"
20810 ( Some x )
20811 # 20812 "parser_cocci_menhir.ml"
20812
20813 in
20814
20815 # 469 "parser_cocci_menhir.mly"
20816 ( (fun arity name pure check_meta constraints ->
20817 let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
20818 !Data.add_const_meta ty name constraints pure; tok) )
20819 # 20820 "parser_cocci_menhir.ml"
20820
20821 in
20822
20823 # 298 "parser_cocci_menhir.mly"
20824 ( P.create_metadec_with_constraints ar ispure kindfn ids )
20825 # 20826 "parser_cocci_menhir.ml"
20826 in
20827 _menhir_env.MenhirLib.EngineTypes.stack <- {
20828 MenhirLib.EngineTypes.state = _menhir_s;
20829 MenhirLib.EngineTypes.semv = Obj.repr _v;
20830 MenhirLib.EngineTypes.startp = _startpos;
20831 MenhirLib.EngineTypes.endp = _endpos;
20832 MenhirLib.EngineTypes.next = _menhir_stack;
20833 });
20834 (fun _menhir_env ->
20835 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20836 let {
20837 MenhirLib.EngineTypes.startp = _startpos__5_;
20838 MenhirLib.EngineTypes.endp = _endpos__5_;
20839 MenhirLib.EngineTypes.next = {
20840 MenhirLib.EngineTypes.semv = ids;
20841 MenhirLib.EngineTypes.startp = _startpos_ids_;
20842 MenhirLib.EngineTypes.endp = _endpos_ids_;
20843 MenhirLib.EngineTypes.next = {
20844 MenhirLib.EngineTypes.startp = _startpos__3_;
20845 MenhirLib.EngineTypes.endp = _endpos__3_;
20846 MenhirLib.EngineTypes.next = {
20847 MenhirLib.EngineTypes.semv = ispure;
20848 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20849 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20850 MenhirLib.EngineTypes.next = {
20851 MenhirLib.EngineTypes.state = _menhir_s;
20852 MenhirLib.EngineTypes.semv = ar;
20853 MenhirLib.EngineTypes.startp = _startpos_ar_;
20854 MenhirLib.EngineTypes.endp = _endpos_ar_;
20855 MenhirLib.EngineTypes.next = _menhir_stack;
20856 };
20857 };
20858 };
20859 };
20860 } = _menhir_stack in
20861 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic ids in
20862 let ispure : 'tv_pure = Obj.magic ispure in
20863 let ar : 'tv_arity = Obj.magic ar in
20864 let _startpos = _startpos_ar_ in
20865 let _endpos = _endpos__5_ in
20866 let _v : 'tv_metadec = let kindfn =
20867
20868 # 486 "parser_cocci_menhir.mly"
20869 ( (fun arity name pure check_meta constraints ->
20870 let tok = check_meta(Ast.MetaExpDecl(arity,name,None)) in
20871 !Data.add_exp_meta None name constraints pure; tok) )
20872 # 20873 "parser_cocci_menhir.ml"
20873
20874 in
20875
20876 # 303 "parser_cocci_menhir.mly"
20877 ( P.create_metadec_with_constraints ar ispure kindfn ids )
20878 # 20879 "parser_cocci_menhir.ml"
20879 in
20880 _menhir_env.MenhirLib.EngineTypes.stack <- {
20881 MenhirLib.EngineTypes.state = _menhir_s;
20882 MenhirLib.EngineTypes.semv = Obj.repr _v;
20883 MenhirLib.EngineTypes.startp = _startpos;
20884 MenhirLib.EngineTypes.endp = _endpos;
20885 MenhirLib.EngineTypes.next = _menhir_stack;
20886 });
20887 (fun _menhir_env ->
20888 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20889 let {
20890 MenhirLib.EngineTypes.startp = _startpos__5_;
20891 MenhirLib.EngineTypes.endp = _endpos__5_;
20892 MenhirLib.EngineTypes.next = {
20893 MenhirLib.EngineTypes.semv = ids;
20894 MenhirLib.EngineTypes.startp = _startpos_ids_;
20895 MenhirLib.EngineTypes.endp = _endpos_ids_;
20896 MenhirLib.EngineTypes.next = {
20897 MenhirLib.EngineTypes.semv = vl0;
20898 MenhirLib.EngineTypes.startp = _startpos_vl0_;
20899 MenhirLib.EngineTypes.endp = _endpos_vl0_;
20900 MenhirLib.EngineTypes.next = {
20901 MenhirLib.EngineTypes.semv = ispure;
20902 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20903 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20904 MenhirLib.EngineTypes.next = {
20905 MenhirLib.EngineTypes.state = _menhir_s;
20906 MenhirLib.EngineTypes.semv = ar;
20907 MenhirLib.EngineTypes.startp = _startpos_ar_;
20908 MenhirLib.EngineTypes.endp = _endpos_ar_;
20909 MenhirLib.EngineTypes.next = _menhir_stack;
20910 };
20911 };
20912 };
20913 };
20914 } = _menhir_stack in
20915 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic ids in
20916 let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
20917 let ispure : 'tv_pure = Obj.magic ispure in
20918 let ar : 'tv_arity = Obj.magic ar in
20919 let _startpos = _startpos_ar_ in
20920 let _endpos = _endpos__5_ in
20921 let _v : 'tv_metadec = let kindfn =
20922 let vl = vl0 in
20923
20924 # 490 "parser_cocci_menhir.mly"
20925 ( (fun arity name pure check_meta constraints ->
20926 let ty = Some vl in
20927 (match constraints with
20928 Ast0.NotExpCstrt constraints ->
20929 List.iter
20930 (function c ->
20931 match Ast0.unwrap c with
20932 Ast0.Constant(_) ->
20933 if not
20934 (List.exists
20935 (function
20936 Type_cocci.BaseType(Type_cocci.IntType) -> true
20937 | Type_cocci.BaseType(Type_cocci.ShortType) -> true
20938 | Type_cocci.BaseType(Type_cocci.LongType) -> true
20939 | _ -> false)
20940 vl)
20941 then
20942 failwith "metavariable with int constraint must be an int"
20943 | _ -> ())
20944 constraints
20945 | _ -> ());
20946 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
20947 !Data.add_exp_meta ty name constraints pure; tok)
20948 )
20949 # 20950 "parser_cocci_menhir.ml"
20950
20951 in
20952
20953 # 303 "parser_cocci_menhir.mly"
20954 ( P.create_metadec_with_constraints ar ispure kindfn ids )
20955 # 20956 "parser_cocci_menhir.ml"
20956 in
20957 _menhir_env.MenhirLib.EngineTypes.stack <- {
20958 MenhirLib.EngineTypes.state = _menhir_s;
20959 MenhirLib.EngineTypes.semv = Obj.repr _v;
20960 MenhirLib.EngineTypes.startp = _startpos;
20961 MenhirLib.EngineTypes.endp = _endpos;
20962 MenhirLib.EngineTypes.next = _menhir_stack;
20963 });
20964 (fun _menhir_env ->
20965 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20966 let {
20967 MenhirLib.EngineTypes.startp = _startpos__5_;
20968 MenhirLib.EngineTypes.endp = _endpos__5_;
20969 MenhirLib.EngineTypes.next = {
20970 MenhirLib.EngineTypes.semv = ids;
20971 MenhirLib.EngineTypes.startp = _startpos_ids_;
20972 MenhirLib.EngineTypes.endp = _endpos_ids_;
20973 MenhirLib.EngineTypes.next = {
20974 MenhirLib.EngineTypes.semv = a;
20975 MenhirLib.EngineTypes.startp = _startpos_a_;
20976 MenhirLib.EngineTypes.endp = _endpos_a_;
20977 MenhirLib.EngineTypes.next = {
20978 MenhirLib.EngineTypes.startp = _startpos__2_;
20979 MenhirLib.EngineTypes.endp = _endpos__2_;
20980 MenhirLib.EngineTypes.next = {
20981 MenhirLib.EngineTypes.state = _menhir_s;
20982 MenhirLib.EngineTypes.semv = ar;
20983 MenhirLib.EngineTypes.startp = _startpos_ar_;
20984 MenhirLib.EngineTypes.endp = _endpos_ar_;
20985 MenhirLib.EngineTypes.next = _menhir_stack;
20986 };
20987 };
20988 };
20989 };
20990 } = _menhir_stack in
20991 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic ids in
20992 let a : 'tv_option_TPosAny_ = Obj.magic a in
20993 let ar : 'tv_arity = Obj.magic ar in
20994 let _startpos = _startpos_ar_ in
20995 let _endpos = _endpos__5_ in
20996 let _v : 'tv_metadec =
20997 # 309 "parser_cocci_menhir.mly"
20998 ( (if !Data.in_generating
20999 then failwith "position variables not allowed in a generated rule file");
21000 let kindfn arity name pure check_meta constraints =
21001 let tok = check_meta(Ast.MetaPosDecl(arity,name)) in
21002 let any = match a with None -> Ast.PER | Some _ -> Ast.ALL in
21003 !Data.add_pos_meta name constraints any; tok in
21004 P.create_metadec_with_constraints ar false kindfn ids )
21005 # 21006 "parser_cocci_menhir.ml"
21006 in
21007 _menhir_env.MenhirLib.EngineTypes.stack <- {
21008 MenhirLib.EngineTypes.state = _menhir_s;
21009 MenhirLib.EngineTypes.semv = Obj.repr _v;
21010 MenhirLib.EngineTypes.startp = _startpos;
21011 MenhirLib.EngineTypes.endp = _endpos;
21012 MenhirLib.EngineTypes.next = _menhir_stack;
21013 });
21014 (fun _menhir_env ->
21015 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21016 let {
21017 MenhirLib.EngineTypes.startp = _startpos__9_;
21018 MenhirLib.EngineTypes.endp = _endpos__9_;
21019 MenhirLib.EngineTypes.next = {
21020 MenhirLib.EngineTypes.semv = ids;
21021 MenhirLib.EngineTypes.startp = _startpos_ids_;
21022 MenhirLib.EngineTypes.endp = _endpos_ids_;
21023 MenhirLib.EngineTypes.next = {
21024 MenhirLib.EngineTypes.startp = _startpos__7_;
21025 MenhirLib.EngineTypes.endp = _endpos__7_;
21026 MenhirLib.EngineTypes.next = {
21027 MenhirLib.EngineTypes.semv = len;
21028 MenhirLib.EngineTypes.startp = _startpos_len_;
21029 MenhirLib.EngineTypes.endp = _endpos_len_;
21030 MenhirLib.EngineTypes.next = {
21031 MenhirLib.EngineTypes.startp = _startpos__5_;
21032 MenhirLib.EngineTypes.endp = _endpos__5_;
21033 MenhirLib.EngineTypes.next = {
21034 MenhirLib.EngineTypes.startp = _startpos__4_;
21035 MenhirLib.EngineTypes.endp = _endpos__4_;
21036 MenhirLib.EngineTypes.next = {
21037 MenhirLib.EngineTypes.startp = _startpos__3_;
21038 MenhirLib.EngineTypes.endp = _endpos__3_;
21039 MenhirLib.EngineTypes.next = {
21040 MenhirLib.EngineTypes.semv = ispure;
21041 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21042 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21043 MenhirLib.EngineTypes.next = {
21044 MenhirLib.EngineTypes.state = _menhir_s;
21045 MenhirLib.EngineTypes.semv = ar;
21046 MenhirLib.EngineTypes.startp = _startpos_ar_;
21047 MenhirLib.EngineTypes.endp = _endpos_ar_;
21048 MenhirLib.EngineTypes.next = _menhir_stack;
21049 };
21050 };
21051 };
21052 };
21053 };
21054 };
21055 };
21056 };
21057 } = _menhir_stack in
21058 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
21059 let len : 'tv_list_len = Obj.magic len in
21060 let ispure : 'tv_pure = Obj.magic ispure in
21061 let ar : 'tv_arity = Obj.magic ar in
21062 let _startpos = _startpos_ar_ in
21063 let _endpos = _endpos__9_ in
21064 let _v : 'tv_metadec =
21065 # 319 "parser_cocci_menhir.mly"
21066 ( P.create_len_metadec ar ispure
21067 (fun lenname arity name pure check_meta ->
21068 let tok = check_meta(Ast.MetaParamListDecl(arity,name,lenname)) in
21069 !Data.add_paramlist_meta name lenname pure; tok)
21070 len ids )
21071 # 21072 "parser_cocci_menhir.ml"
21072 in
21073 _menhir_env.MenhirLib.EngineTypes.stack <- {
21074 MenhirLib.EngineTypes.state = _menhir_s;
21075 MenhirLib.EngineTypes.semv = Obj.repr _v;
21076 MenhirLib.EngineTypes.startp = _startpos;
21077 MenhirLib.EngineTypes.endp = _endpos;
21078 MenhirLib.EngineTypes.next = _menhir_stack;
21079 });
21080 (fun _menhir_env ->
21081 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21082 let {
21083 MenhirLib.EngineTypes.startp = _startpos__9_;
21084 MenhirLib.EngineTypes.endp = _endpos__9_;
21085 MenhirLib.EngineTypes.next = {
21086 MenhirLib.EngineTypes.semv = ids;
21087 MenhirLib.EngineTypes.startp = _startpos_ids_;
21088 MenhirLib.EngineTypes.endp = _endpos_ids_;
21089 MenhirLib.EngineTypes.next = {
21090 MenhirLib.EngineTypes.startp = _startpos__7_;
21091 MenhirLib.EngineTypes.endp = _endpos__7_;
21092 MenhirLib.EngineTypes.next = {
21093 MenhirLib.EngineTypes.semv = len;
21094 MenhirLib.EngineTypes.startp = _startpos_len_;
21095 MenhirLib.EngineTypes.endp = _endpos_len_;
21096 MenhirLib.EngineTypes.next = {
21097 MenhirLib.EngineTypes.startp = _startpos__5_;
21098 MenhirLib.EngineTypes.endp = _endpos__5_;
21099 MenhirLib.EngineTypes.next = {
21100 MenhirLib.EngineTypes.startp = _startpos__4_;
21101 MenhirLib.EngineTypes.endp = _endpos__4_;
21102 MenhirLib.EngineTypes.next = {
21103 MenhirLib.EngineTypes.startp = _startpos__3_;
21104 MenhirLib.EngineTypes.endp = _endpos__3_;
21105 MenhirLib.EngineTypes.next = {
21106 MenhirLib.EngineTypes.semv = ispure;
21107 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21108 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21109 MenhirLib.EngineTypes.next = {
21110 MenhirLib.EngineTypes.state = _menhir_s;
21111 MenhirLib.EngineTypes.semv = ar;
21112 MenhirLib.EngineTypes.startp = _startpos_ar_;
21113 MenhirLib.EngineTypes.endp = _endpos_ar_;
21114 MenhirLib.EngineTypes.next = _menhir_stack;
21115 };
21116 };
21117 };
21118 };
21119 };
21120 };
21121 };
21122 };
21123 } = _menhir_stack in
21124 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
21125 let len : 'tv_list_len = Obj.magic len in
21126 let ispure : 'tv_pure = Obj.magic ispure in
21127 let ar : 'tv_arity = Obj.magic ar in
21128 let _startpos = _startpos_ar_ in
21129 let _endpos = _endpos__9_ in
21130 let _v : 'tv_metadec =
21131 # 327 "parser_cocci_menhir.mly"
21132 ( P.create_len_metadec ar ispure
21133 (fun lenname arity name pure check_meta ->
21134 let tok = check_meta(Ast.MetaExpListDecl(arity,name,lenname)) in
21135 !Data.add_explist_meta name lenname pure; tok)
21136 len ids )
21137 # 21138 "parser_cocci_menhir.ml"
21138 in
21139 _menhir_env.MenhirLib.EngineTypes.stack <- {
21140 MenhirLib.EngineTypes.state = _menhir_s;
21141 MenhirLib.EngineTypes.semv = Obj.repr _v;
21142 MenhirLib.EngineTypes.startp = _startpos;
21143 MenhirLib.EngineTypes.endp = _endpos;
21144 MenhirLib.EngineTypes.next = _menhir_stack;
21145 });
21146 (fun _menhir_env ->
21147 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21148 let {
21149 MenhirLib.EngineTypes.semv = b;
21150 MenhirLib.EngineTypes.startp = _startpos_b_;
21151 MenhirLib.EngineTypes.endp = _endpos_b_;
21152 MenhirLib.EngineTypes.next = {
21153 MenhirLib.EngineTypes.state = _menhir_s;
21154 MenhirLib.EngineTypes.semv = a;
21155 MenhirLib.EngineTypes.startp = _startpos_a_;
21156 MenhirLib.EngineTypes.endp = _endpos_a_;
21157 MenhirLib.EngineTypes.next = _menhir_stack;
21158 };
21159 } = _menhir_stack in
21160 let b : 'tv_list_mzl_ctype__ = Obj.magic b in
21161 let a : 'tv_ctype = Obj.magic a in
21162 let _startpos = _startpos_a_ in
21163 let _endpos = _endpos_b_ in
21164 let _v : 'tv_midzero_list_ctype_ctype_ =
21165 # 2013 "parser_cocci_menhir.mly"
21166 ( let (mids,code) = List.split b in (mids,(a::code)) )
21167 # 21168 "parser_cocci_menhir.ml"
21168 in
21169 _menhir_env.MenhirLib.EngineTypes.stack <- {
21170 MenhirLib.EngineTypes.state = _menhir_s;
21171 MenhirLib.EngineTypes.semv = Obj.repr _v;
21172 MenhirLib.EngineTypes.startp = _startpos;
21173 MenhirLib.EngineTypes.endp = _endpos;
21174 MenhirLib.EngineTypes.next = _menhir_stack;
21175 });
21176 (fun _menhir_env ->
21177 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21178 let {
21179 MenhirLib.EngineTypes.semv = b;
21180 MenhirLib.EngineTypes.startp = _startpos_b_;
21181 MenhirLib.EngineTypes.endp = _endpos_b_;
21182 MenhirLib.EngineTypes.next = {
21183 MenhirLib.EngineTypes.state = _menhir_s;
21184 MenhirLib.EngineTypes.semv = a;
21185 MenhirLib.EngineTypes.startp = _startpos_a_;
21186 MenhirLib.EngineTypes.endp = _endpos_a_;
21187 MenhirLib.EngineTypes.next = _menhir_stack;
21188 };
21189 } = _menhir_stack in
21190 let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
21191 let a : 'tv_eexpr = Obj.magic a in
21192 let _startpos = _startpos_a_ in
21193 let _endpos = _endpos_b_ in
21194 let _v : 'tv_midzero_list_eexpr_eexpr_ =
21195 # 2013 "parser_cocci_menhir.mly"
21196 ( let (mids,code) = List.split b in (mids,(a::code)) )
21197 # 21198 "parser_cocci_menhir.ml"
21198 in
21199 _menhir_env.MenhirLib.EngineTypes.stack <- {
21200 MenhirLib.EngineTypes.state = _menhir_s;
21201 MenhirLib.EngineTypes.semv = Obj.repr _v;
21202 MenhirLib.EngineTypes.startp = _startpos;
21203 MenhirLib.EngineTypes.endp = _endpos;
21204 MenhirLib.EngineTypes.next = _menhir_stack;
21205 });
21206 (fun _menhir_env ->
21207 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21208 let {
21209 MenhirLib.EngineTypes.semv = b;
21210 MenhirLib.EngineTypes.startp = _startpos_b_;
21211 MenhirLib.EngineTypes.endp = _endpos_b_;
21212 MenhirLib.EngineTypes.next = {
21213 MenhirLib.EngineTypes.state = _menhir_s;
21214 MenhirLib.EngineTypes.semv = a;
21215 MenhirLib.EngineTypes.startp = _startpos_a_;
21216 MenhirLib.EngineTypes.endp = _endpos_a_;
21217 MenhirLib.EngineTypes.next = _menhir_stack;
21218 };
21219 } = _menhir_stack in
21220 let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
21221 let a : 'tv_expr = Obj.magic a in
21222 let _startpos = _startpos_a_ in
21223 let _endpos = _endpos_b_ in
21224 let _v : 'tv_midzero_list_expr_eexpr_ =
21225 # 2013 "parser_cocci_menhir.mly"
21226 ( let (mids,code) = List.split b in (mids,(a::code)) )
21227 # 21228 "parser_cocci_menhir.ml"
21228 in
21229 _menhir_env.MenhirLib.EngineTypes.stack <- {
21230 MenhirLib.EngineTypes.state = _menhir_s;
21231 MenhirLib.EngineTypes.semv = Obj.repr _v;
21232 MenhirLib.EngineTypes.startp = _startpos;
21233 MenhirLib.EngineTypes.endp = _endpos;
21234 MenhirLib.EngineTypes.next = _menhir_stack;
21235 });
21236 (fun _menhir_env ->
21237 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21238 let {
21239 MenhirLib.EngineTypes.semv = b;
21240 MenhirLib.EngineTypes.startp = _startpos_b_;
21241 MenhirLib.EngineTypes.endp = _endpos_b_;
21242 MenhirLib.EngineTypes.next = {
21243 MenhirLib.EngineTypes.state = _menhir_s;
21244 MenhirLib.EngineTypes.semv = a;
21245 MenhirLib.EngineTypes.startp = _startpos_a_;
21246 MenhirLib.EngineTypes.endp = _endpos_a_;
21247 MenhirLib.EngineTypes.next = _menhir_stack;
21248 };
21249 } = _menhir_stack in
21250 let b : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic b in
21251 let a : 'tv_fun_after_stm = Obj.magic a in
21252 let _startpos = _startpos_a_ in
21253 let _endpos = _endpos_b_ in
21254 let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ =
21255 # 2013 "parser_cocci_menhir.mly"
21256 ( let (mids,code) = List.split b in (mids,(a::code)) )
21257 # 21258 "parser_cocci_menhir.ml"
21258 in
21259 _menhir_env.MenhirLib.EngineTypes.stack <- {
21260 MenhirLib.EngineTypes.state = _menhir_s;
21261 MenhirLib.EngineTypes.semv = Obj.repr _v;
21262 MenhirLib.EngineTypes.startp = _startpos;
21263 MenhirLib.EngineTypes.endp = _endpos;
21264 MenhirLib.EngineTypes.next = _menhir_stack;
21265 });
21266 (fun _menhir_env ->
21267 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21268 let {
21269 MenhirLib.EngineTypes.semv = b;
21270 MenhirLib.EngineTypes.startp = _startpos_b_;
21271 MenhirLib.EngineTypes.endp = _endpos_b_;
21272 MenhirLib.EngineTypes.next = {
21273 MenhirLib.EngineTypes.state = _menhir_s;
21274 MenhirLib.EngineTypes.semv = a;
21275 MenhirLib.EngineTypes.startp = _startpos_a_;
21276 MenhirLib.EngineTypes.endp = _endpos_a_;
21277 MenhirLib.EngineTypes.next = _menhir_stack;
21278 };
21279 } = _menhir_stack in
21280 let b : 'tv_list_mzl_fun_start__ = Obj.magic b in
21281 let a : 'tv_fun_start = Obj.magic a in
21282 let _startpos = _startpos_a_ in
21283 let _endpos = _endpos_b_ in
21284 let _v : 'tv_midzero_list_fun_start_fun_start_ =
21285 # 2013 "parser_cocci_menhir.mly"
21286 ( let (mids,code) = List.split b in (mids,(a::code)) )
21287 # 21288 "parser_cocci_menhir.ml"
21288 in
21289 _menhir_env.MenhirLib.EngineTypes.stack <- {
21290 MenhirLib.EngineTypes.state = _menhir_s;
21291 MenhirLib.EngineTypes.semv = Obj.repr _v;
21292 MenhirLib.EngineTypes.startp = _startpos;
21293 MenhirLib.EngineTypes.endp = _endpos;
21294 MenhirLib.EngineTypes.next = _menhir_stack;
21295 });
21296 (fun _menhir_env ->
21297 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21298 let {
21299 MenhirLib.EngineTypes.semv = b;
21300 MenhirLib.EngineTypes.startp = _startpos_b_;
21301 MenhirLib.EngineTypes.endp = _endpos_b_;
21302 MenhirLib.EngineTypes.next = {
21303 MenhirLib.EngineTypes.state = _menhir_s;
21304 MenhirLib.EngineTypes.semv = a;
21305 MenhirLib.EngineTypes.startp = _startpos_a_;
21306 MenhirLib.EngineTypes.endp = _endpos_a_;
21307 MenhirLib.EngineTypes.next = _menhir_stack;
21308 };
21309 } = _menhir_stack in
21310 let b : 'tv_list_mzl_rule_elem_statement__ = Obj.magic b in
21311 let a : 'tv_rule_elem_statement = Obj.magic a in
21312 let _startpos = _startpos_a_ in
21313 let _endpos = _endpos_b_ in
21314 let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ =
21315 # 2013 "parser_cocci_menhir.mly"
21316 ( let (mids,code) = List.split b in (mids,(a::code)) )
21317 # 21318 "parser_cocci_menhir.ml"
21318 in
21319 _menhir_env.MenhirLib.EngineTypes.stack <- {
21320 MenhirLib.EngineTypes.state = _menhir_s;
21321 MenhirLib.EngineTypes.semv = Obj.repr _v;
21322 MenhirLib.EngineTypes.startp = _startpos;
21323 MenhirLib.EngineTypes.endp = _endpos;
21324 MenhirLib.EngineTypes.next = _menhir_stack;
21325 });
21326 (fun _menhir_env ->
21327 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21328 let {
21329 MenhirLib.EngineTypes.semv = b;
21330 MenhirLib.EngineTypes.startp = _startpos_b_;
21331 MenhirLib.EngineTypes.endp = _endpos_b_;
21332 MenhirLib.EngineTypes.next = {
21333 MenhirLib.EngineTypes.state = _menhir_s;
21334 MenhirLib.EngineTypes.semv = a;
21335 MenhirLib.EngineTypes.startp = _startpos_a_;
21336 MenhirLib.EngineTypes.endp = _endpos_a_;
21337 MenhirLib.EngineTypes.next = _menhir_stack;
21338 };
21339 } = _menhir_stack in
21340 let b : 'tv_list_mzl_statement__ = Obj.magic b in
21341 let a : 'tv_statement = Obj.magic a in
21342 let _startpos = _startpos_a_ in
21343 let _endpos = _endpos_b_ in
21344 let _v : 'tv_midzero_list_statement_statement_ =
21345 # 2013 "parser_cocci_menhir.mly"
21346 ( let (mids,code) = List.split b in (mids,(a::code)) )
21347 # 21348 "parser_cocci_menhir.ml"
21348 in
21349 _menhir_env.MenhirLib.EngineTypes.stack <- {
21350 MenhirLib.EngineTypes.state = _menhir_s;
21351 MenhirLib.EngineTypes.semv = Obj.repr _v;
21352 MenhirLib.EngineTypes.startp = _startpos;
21353 MenhirLib.EngineTypes.endp = _endpos;
21354 MenhirLib.EngineTypes.next = _menhir_stack;
21355 });
21356 (fun _menhir_env ->
21357 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21358 let {
21359 MenhirLib.EngineTypes.semv = b;
21360 MenhirLib.EngineTypes.startp = _startpos_b_;
21361 MenhirLib.EngineTypes.endp = _endpos_b_;
21362 MenhirLib.EngineTypes.next = {
21363 MenhirLib.EngineTypes.state = _menhir_s;
21364 MenhirLib.EngineTypes.semv = f;
21365 MenhirLib.EngineTypes.startp = _startpos_f_;
21366 MenhirLib.EngineTypes.endp = _endpos_f_;
21367 MenhirLib.EngineTypes.next = _menhir_stack;
21368 };
21369 } = _menhir_stack in
21370 let b : 'tv_loption_minus_start_ = Obj.magic b in
21371 let f : 'tv_loption_filespec_ = Obj.magic f in
21372 let _startpos = _startpos_f_ in
21373 let _endpos = _endpos_b_ in
21374 let _v : 'tv_minus_body =
21375 # 705 "parser_cocci_menhir.mly"
21376 ( match f@b(*@ew*) with
21377 [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
21378 | code -> Top_level.top_level code )
21379 # 21380 "parser_cocci_menhir.ml"
21380 in
21381 _menhir_env.MenhirLib.EngineTypes.stack <- {
21382 MenhirLib.EngineTypes.state = _menhir_s;
21383 MenhirLib.EngineTypes.semv = Obj.repr _v;
21384 MenhirLib.EngineTypes.startp = _startpos;
21385 MenhirLib.EngineTypes.endp = _endpos;
21386 MenhirLib.EngineTypes.next = _menhir_stack;
21387 });
21388 (fun _menhir_env ->
21389 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21390 let {
21391 MenhirLib.EngineTypes.semv = b;
21392 MenhirLib.EngineTypes.startp = _startpos_b_;
21393 MenhirLib.EngineTypes.endp = _endpos_b_;
21394 MenhirLib.EngineTypes.next = {
21395 MenhirLib.EngineTypes.state = _menhir_s;
21396 MenhirLib.EngineTypes.semv = f;
21397 MenhirLib.EngineTypes.startp = _startpos_f_;
21398 MenhirLib.EngineTypes.endp = _endpos_f_;
21399 MenhirLib.EngineTypes.next = _menhir_stack;
21400 };
21401 } = _menhir_stack in
21402 let b : 'tv_top_eexpr = Obj.magic b in
21403 let f : 'tv_loption_filespec_ = Obj.magic f in
21404 let _startpos = _startpos_f_ in
21405 let _endpos = _endpos_b_ in
21406 let _v : 'tv_minus_exp_body =
21407 # 719 "parser_cocci_menhir.mly"
21408 ( match f@[b](*@ew*) with
21409 [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
21410 | code -> Top_level.top_level code )
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.startp = _startpos__2_;
21424 MenhirLib.EngineTypes.endp = _endpos__2_;
21425 MenhirLib.EngineTypes.next = {
21426 MenhirLib.EngineTypes.state = _menhir_s;
21427 MenhirLib.EngineTypes.semv = _1;
21428 MenhirLib.EngineTypes.startp = _startpos__1_;
21429 MenhirLib.EngineTypes.endp = _endpos__1_;
21430 MenhirLib.EngineTypes.next = _menhir_stack;
21431 };
21432 } = _menhir_stack in
21433 let _1 : 'tv_minus_exp_body = Obj.magic _1 in
21434 let _startpos = _startpos__1_ in
21435 let _endpos = _endpos__2_ in
21436 let _v : (
21437 # 142 "parser_cocci_menhir.mly"
21438 (Ast0_cocci.rule)
21439 # 21440 "parser_cocci_menhir.ml"
21440 ) =
21441 # 182 "parser_cocci_menhir.mly"
21442 ( _1 )
21443 # 21444 "parser_cocci_menhir.ml"
21444 in
21445 _menhir_env.MenhirLib.EngineTypes.stack <- {
21446 MenhirLib.EngineTypes.state = _menhir_s;
21447 MenhirLib.EngineTypes.semv = Obj.repr _v;
21448 MenhirLib.EngineTypes.startp = _startpos;
21449 MenhirLib.EngineTypes.endp = _endpos;
21450 MenhirLib.EngineTypes.next = _menhir_stack;
21451 });
21452 (fun _menhir_env ->
21453 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21454 let {
21455 MenhirLib.EngineTypes.startp = _startpos__2_;
21456 MenhirLib.EngineTypes.endp = _endpos__2_;
21457 MenhirLib.EngineTypes.next = {
21458 MenhirLib.EngineTypes.state = _menhir_s;
21459 MenhirLib.EngineTypes.semv = m;
21460 MenhirLib.EngineTypes.startp = _startpos_m_;
21461 MenhirLib.EngineTypes.endp = _endpos_m_;
21462 MenhirLib.EngineTypes.next = _menhir_stack;
21463 };
21464 } = _menhir_stack in
21465 let m : 'tv_minus_exp_body = Obj.magic m in
21466 let _startpos = _startpos_m_ in
21467 let _endpos = _endpos__2_ in
21468 let _v : (
21469 # 142 "parser_cocci_menhir.mly"
21470 (Ast0_cocci.rule)
21471 # 21472 "parser_cocci_menhir.ml"
21472 ) =
21473 # 182 "parser_cocci_menhir.mly"
21474 ( m )
21475 # 21476 "parser_cocci_menhir.ml"
21476 in
21477 _menhir_env.MenhirLib.EngineTypes.stack <- {
21478 MenhirLib.EngineTypes.state = _menhir_s;
21479 MenhirLib.EngineTypes.semv = Obj.repr _v;
21480 MenhirLib.EngineTypes.startp = _startpos;
21481 MenhirLib.EngineTypes.endp = _endpos;
21482 MenhirLib.EngineTypes.next = _menhir_stack;
21483 });
21484 (fun _menhir_env ->
21485 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21486 let {
21487 MenhirLib.EngineTypes.startp = _startpos__2_;
21488 MenhirLib.EngineTypes.endp = _endpos__2_;
21489 MenhirLib.EngineTypes.next = {
21490 MenhirLib.EngineTypes.state = _menhir_s;
21491 MenhirLib.EngineTypes.semv = m;
21492 MenhirLib.EngineTypes.startp = _startpos_m_;
21493 MenhirLib.EngineTypes.endp = _endpos_m_;
21494 MenhirLib.EngineTypes.next = _menhir_stack;
21495 };
21496 } = _menhir_stack in
21497 let m : 'tv_minus_exp_body = Obj.magic m in
21498 let _startpos = _startpos_m_ in
21499 let _endpos = _endpos__2_ in
21500 let _v : (
21501 # 142 "parser_cocci_menhir.mly"
21502 (Ast0_cocci.rule)
21503 # 21504 "parser_cocci_menhir.ml"
21504 ) =
21505 # 183 "parser_cocci_menhir.mly"
21506 ( m )
21507 # 21508 "parser_cocci_menhir.ml"
21508 in
21509 _menhir_env.MenhirLib.EngineTypes.stack <- {
21510 MenhirLib.EngineTypes.state = _menhir_s;
21511 MenhirLib.EngineTypes.semv = Obj.repr _v;
21512 MenhirLib.EngineTypes.startp = _startpos;
21513 MenhirLib.EngineTypes.endp = _endpos;
21514 MenhirLib.EngineTypes.next = _menhir_stack;
21515 });
21516 (fun _menhir_env ->
21517 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21518 let {
21519 MenhirLib.EngineTypes.startp = _startpos__2_;
21520 MenhirLib.EngineTypes.endp = _endpos__2_;
21521 MenhirLib.EngineTypes.next = {
21522 MenhirLib.EngineTypes.state = _menhir_s;
21523 MenhirLib.EngineTypes.semv = _1;
21524 MenhirLib.EngineTypes.startp = _startpos__1_;
21525 MenhirLib.EngineTypes.endp = _endpos__1_;
21526 MenhirLib.EngineTypes.next = _menhir_stack;
21527 };
21528 } = _menhir_stack in
21529 let _1 : 'tv_minus_body = Obj.magic _1 in
21530 let _startpos = _startpos__1_ in
21531 let _endpos = _endpos__2_ in
21532 let _v : (
21533 # 139 "parser_cocci_menhir.mly"
21534 (Ast0_cocci.rule)
21535 # 21536 "parser_cocci_menhir.ml"
21536 ) =
21537 # 178 "parser_cocci_menhir.mly"
21538 ( _1 )
21539 # 21540 "parser_cocci_menhir.ml"
21540 in
21541 _menhir_env.MenhirLib.EngineTypes.stack <- {
21542 MenhirLib.EngineTypes.state = _menhir_s;
21543 MenhirLib.EngineTypes.semv = Obj.repr _v;
21544 MenhirLib.EngineTypes.startp = _startpos;
21545 MenhirLib.EngineTypes.endp = _endpos;
21546 MenhirLib.EngineTypes.next = _menhir_stack;
21547 });
21548 (fun _menhir_env ->
21549 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21550 let {
21551 MenhirLib.EngineTypes.startp = _startpos__2_;
21552 MenhirLib.EngineTypes.endp = _endpos__2_;
21553 MenhirLib.EngineTypes.next = {
21554 MenhirLib.EngineTypes.state = _menhir_s;
21555 MenhirLib.EngineTypes.semv = m;
21556 MenhirLib.EngineTypes.startp = _startpos_m_;
21557 MenhirLib.EngineTypes.endp = _endpos_m_;
21558 MenhirLib.EngineTypes.next = _menhir_stack;
21559 };
21560 } = _menhir_stack in
21561 let m : 'tv_minus_body = Obj.magic m in
21562 let _startpos = _startpos_m_ in
21563 let _endpos = _endpos__2_ in
21564 let _v : (
21565 # 139 "parser_cocci_menhir.mly"
21566 (Ast0_cocci.rule)
21567 # 21568 "parser_cocci_menhir.ml"
21568 ) =
21569 # 178 "parser_cocci_menhir.mly"
21570 ( m )
21571 # 21572 "parser_cocci_menhir.ml"
21572 in
21573 _menhir_env.MenhirLib.EngineTypes.stack <- {
21574 MenhirLib.EngineTypes.state = _menhir_s;
21575 MenhirLib.EngineTypes.semv = Obj.repr _v;
21576 MenhirLib.EngineTypes.startp = _startpos;
21577 MenhirLib.EngineTypes.endp = _endpos;
21578 MenhirLib.EngineTypes.next = _menhir_stack;
21579 });
21580 (fun _menhir_env ->
21581 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21582 let {
21583 MenhirLib.EngineTypes.startp = _startpos__2_;
21584 MenhirLib.EngineTypes.endp = _endpos__2_;
21585 MenhirLib.EngineTypes.next = {
21586 MenhirLib.EngineTypes.state = _menhir_s;
21587 MenhirLib.EngineTypes.semv = m;
21588 MenhirLib.EngineTypes.startp = _startpos_m_;
21589 MenhirLib.EngineTypes.endp = _endpos_m_;
21590 MenhirLib.EngineTypes.next = _menhir_stack;
21591 };
21592 } = _menhir_stack in
21593 let m : 'tv_minus_body = Obj.magic m in
21594 let _startpos = _startpos_m_ in
21595 let _endpos = _endpos__2_ in
21596 let _v : (
21597 # 139 "parser_cocci_menhir.mly"
21598 (Ast0_cocci.rule)
21599 # 21600 "parser_cocci_menhir.ml"
21600 ) =
21601 # 179 "parser_cocci_menhir.mly"
21602 ( m )
21603 # 21604 "parser_cocci_menhir.ml"
21604 in
21605 _menhir_env.MenhirLib.EngineTypes.stack <- {
21606 MenhirLib.EngineTypes.state = _menhir_s;
21607 MenhirLib.EngineTypes.semv = Obj.repr _v;
21608 MenhirLib.EngineTypes.startp = _startpos;
21609 MenhirLib.EngineTypes.endp = _endpos;
21610 MenhirLib.EngineTypes.next = _menhir_stack;
21611 });
21612 (fun _menhir_env ->
21613 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21614 let {
21615 MenhirLib.EngineTypes.state = _menhir_s;
21616 MenhirLib.EngineTypes.semv = _1;
21617 MenhirLib.EngineTypes.startp = _startpos__1_;
21618 MenhirLib.EngineTypes.endp = _endpos__1_;
21619 MenhirLib.EngineTypes.next = _menhir_stack;
21620 } = _menhir_stack in
21621 let _1 : 'tv_fundecl = Obj.magic _1 in
21622 let _startpos = _startpos__1_ in
21623 let _endpos = _endpos__1_ in
21624 let _v : 'tv_minus_start =
21625 # 1838 "parser_cocci_menhir.mly"
21626 ( [Ast0.wrap(Ast0.DECL(_1))] )
21627 # 21628 "parser_cocci_menhir.ml"
21628 in
21629 _menhir_env.MenhirLib.EngineTypes.stack <- {
21630 MenhirLib.EngineTypes.state = _menhir_s;
21631 MenhirLib.EngineTypes.semv = Obj.repr _v;
21632 MenhirLib.EngineTypes.startp = _startpos;
21633 MenhirLib.EngineTypes.endp = _endpos;
21634 MenhirLib.EngineTypes.next = _menhir_stack;
21635 });
21636 (fun _menhir_env ->
21637 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21638 let {
21639 MenhirLib.EngineTypes.state = _menhir_s;
21640 MenhirLib.EngineTypes.semv = _1;
21641 MenhirLib.EngineTypes.startp = _startpos__1_;
21642 MenhirLib.EngineTypes.endp = _endpos__1_;
21643 MenhirLib.EngineTypes.next = _menhir_stack;
21644 } = _menhir_stack in
21645 let _1 : 'tv_ctype = Obj.magic _1 in
21646 let _startpos = _startpos__1_ in
21647 let _endpos = _endpos__1_ in
21648 let _v : 'tv_minus_start =
21649 # 1839 "parser_cocci_menhir.mly"
21650 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
21651 # 21652 "parser_cocci_menhir.ml"
21652 in
21653 _menhir_env.MenhirLib.EngineTypes.stack <- {
21654 MenhirLib.EngineTypes.state = _menhir_s;
21655 MenhirLib.EngineTypes.semv = Obj.repr _v;
21656 MenhirLib.EngineTypes.startp = _startpos;
21657 MenhirLib.EngineTypes.endp = _endpos;
21658 MenhirLib.EngineTypes.next = _menhir_stack;
21659 });
21660 (fun _menhir_env ->
21661 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21662 let {
21663 MenhirLib.EngineTypes.state = _menhir_s;
21664 MenhirLib.EngineTypes.semv = _1;
21665 MenhirLib.EngineTypes.startp = _startpos__1_;
21666 MenhirLib.EngineTypes.endp = _endpos__1_;
21667 MenhirLib.EngineTypes.next = _menhir_stack;
21668 } = _menhir_stack in
21669 let _1 : 'tv_top_init = Obj.magic _1 in
21670 let _startpos = _startpos__1_ in
21671 let _endpos = _endpos__1_ in
21672 let _v : 'tv_minus_start =
21673 # 1840 "parser_cocci_menhir.mly"
21674 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
21675 # 21676 "parser_cocci_menhir.ml"
21676 in
21677 _menhir_env.MenhirLib.EngineTypes.stack <- {
21678 MenhirLib.EngineTypes.state = _menhir_s;
21679 MenhirLib.EngineTypes.semv = Obj.repr _v;
21680 MenhirLib.EngineTypes.startp = _startpos;
21681 MenhirLib.EngineTypes.endp = _endpos;
21682 MenhirLib.EngineTypes.next = _menhir_stack;
21683 });
21684 (fun _menhir_env ->
21685 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21686 let {
21687 MenhirLib.EngineTypes.state = _menhir_s;
21688 MenhirLib.EngineTypes.semv = _1;
21689 MenhirLib.EngineTypes.startp = _startpos__1_;
21690 MenhirLib.EngineTypes.endp = _endpos__1_;
21691 MenhirLib.EngineTypes.next = _menhir_stack;
21692 } = _menhir_stack in
21693 let _1 : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = Obj.magic _1 in
21694 let _startpos = _startpos__1_ in
21695 let _endpos = _endpos__1_ in
21696 let _v : 'tv_minus_start =
21697 # 1842 "parser_cocci_menhir.mly"
21698 ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
21699 # 21700 "parser_cocci_menhir.ml"
21700 in
21701 _menhir_env.MenhirLib.EngineTypes.stack <- {
21702 MenhirLib.EngineTypes.state = _menhir_s;
21703 MenhirLib.EngineTypes.semv = Obj.repr _v;
21704 MenhirLib.EngineTypes.startp = _startpos;
21705 MenhirLib.EngineTypes.endp = _endpos;
21706 MenhirLib.EngineTypes.next = _menhir_stack;
21707 });
21708 (fun _menhir_env ->
21709 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21710 let {
21711 MenhirLib.EngineTypes.semv = b;
21712 MenhirLib.EngineTypes.startp = _startpos_b_;
21713 MenhirLib.EngineTypes.endp = _endpos_b_;
21714 MenhirLib.EngineTypes.next = {
21715 MenhirLib.EngineTypes.state = _menhir_s;
21716 MenhirLib.EngineTypes.semv = a;
21717 MenhirLib.EngineTypes.startp = _startpos_a_;
21718 MenhirLib.EngineTypes.endp = _endpos_a_;
21719 MenhirLib.EngineTypes.next = _menhir_stack;
21720 };
21721 } = _menhir_stack in
21722 let b : 'tv_ctype = Obj.magic b in
21723 let a : (
21724 # 80 "parser_cocci_menhir.mly"
21725 (Data.clt)
21726 # 21727 "parser_cocci_menhir.ml"
21727 ) = Obj.magic a in
21728 let _startpos = _startpos_a_ in
21729 let _endpos = _endpos_b_ in
21730 let _v : 'tv_mzl_ctype_ =
21731 # 2016 "parser_cocci_menhir.mly"
21732 ( (P.clt2mcode "|" a, b) )
21733 # 21734 "parser_cocci_menhir.ml"
21734 in
21735 _menhir_env.MenhirLib.EngineTypes.stack <- {
21736 MenhirLib.EngineTypes.state = _menhir_s;
21737 MenhirLib.EngineTypes.semv = Obj.repr _v;
21738 MenhirLib.EngineTypes.startp = _startpos;
21739 MenhirLib.EngineTypes.endp = _endpos;
21740 MenhirLib.EngineTypes.next = _menhir_stack;
21741 });
21742 (fun _menhir_env ->
21743 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21744 let {
21745 MenhirLib.EngineTypes.semv = b;
21746 MenhirLib.EngineTypes.startp = _startpos_b_;
21747 MenhirLib.EngineTypes.endp = _endpos_b_;
21748 MenhirLib.EngineTypes.next = {
21749 MenhirLib.EngineTypes.state = _menhir_s;
21750 MenhirLib.EngineTypes.semv = a;
21751 MenhirLib.EngineTypes.startp = _startpos_a_;
21752 MenhirLib.EngineTypes.endp = _endpos_a_;
21753 MenhirLib.EngineTypes.next = _menhir_stack;
21754 };
21755 } = _menhir_stack in
21756 let b : 'tv_eexpr = Obj.magic b in
21757 let a : (
21758 # 80 "parser_cocci_menhir.mly"
21759 (Data.clt)
21760 # 21761 "parser_cocci_menhir.ml"
21761 ) = Obj.magic a in
21762 let _startpos = _startpos_a_ in
21763 let _endpos = _endpos_b_ in
21764 let _v : 'tv_mzl_eexpr_ =
21765 # 2016 "parser_cocci_menhir.mly"
21766 ( (P.clt2mcode "|" a, b) )
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.semv = b;
21780 MenhirLib.EngineTypes.startp = _startpos_b_;
21781 MenhirLib.EngineTypes.endp = _endpos_b_;
21782 MenhirLib.EngineTypes.next = {
21783 MenhirLib.EngineTypes.state = _menhir_s;
21784 MenhirLib.EngineTypes.semv = a;
21785 MenhirLib.EngineTypes.startp = _startpos_a_;
21786 MenhirLib.EngineTypes.endp = _endpos_a_;
21787 MenhirLib.EngineTypes.next = _menhir_stack;
21788 };
21789 } = _menhir_stack in
21790 let b : 'tv_fun_after_dots_or = Obj.magic b in
21791 let a : (
21792 # 80 "parser_cocci_menhir.mly"
21793 (Data.clt)
21794 # 21795 "parser_cocci_menhir.ml"
21795 ) = Obj.magic a in
21796 let _startpos = _startpos_a_ in
21797 let _endpos = _endpos_b_ in
21798 let _v : 'tv_mzl_fun_after_dots_or_ =
21799 # 2016 "parser_cocci_menhir.mly"
21800 ( (P.clt2mcode "|" a, b) )
21801 # 21802 "parser_cocci_menhir.ml"
21802 in
21803 _menhir_env.MenhirLib.EngineTypes.stack <- {
21804 MenhirLib.EngineTypes.state = _menhir_s;
21805 MenhirLib.EngineTypes.semv = Obj.repr _v;
21806 MenhirLib.EngineTypes.startp = _startpos;
21807 MenhirLib.EngineTypes.endp = _endpos;
21808 MenhirLib.EngineTypes.next = _menhir_stack;
21809 });
21810 (fun _menhir_env ->
21811 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21812 let {
21813 MenhirLib.EngineTypes.semv = b;
21814 MenhirLib.EngineTypes.startp = _startpos_b_;
21815 MenhirLib.EngineTypes.endp = _endpos_b_;
21816 MenhirLib.EngineTypes.next = {
21817 MenhirLib.EngineTypes.state = _menhir_s;
21818 MenhirLib.EngineTypes.semv = a;
21819 MenhirLib.EngineTypes.startp = _startpos_a_;
21820 MenhirLib.EngineTypes.endp = _endpos_a_;
21821 MenhirLib.EngineTypes.next = _menhir_stack;
21822 };
21823 } = _menhir_stack in
21824 let b : 'tv_fun_start = Obj.magic b in
21825 let a : (
21826 # 80 "parser_cocci_menhir.mly"
21827 (Data.clt)
21828 # 21829 "parser_cocci_menhir.ml"
21829 ) = Obj.magic a in
21830 let _startpos = _startpos_a_ in
21831 let _endpos = _endpos_b_ in
21832 let _v : 'tv_mzl_fun_start_ =
21833 # 2016 "parser_cocci_menhir.mly"
21834 ( (P.clt2mcode "|" a, b) )
21835 # 21836 "parser_cocci_menhir.ml"
21836 in
21837 _menhir_env.MenhirLib.EngineTypes.stack <- {
21838 MenhirLib.EngineTypes.state = _menhir_s;
21839 MenhirLib.EngineTypes.semv = Obj.repr _v;
21840 MenhirLib.EngineTypes.startp = _startpos;
21841 MenhirLib.EngineTypes.endp = _endpos;
21842 MenhirLib.EngineTypes.next = _menhir_stack;
21843 });
21844 (fun _menhir_env ->
21845 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21846 let {
21847 MenhirLib.EngineTypes.semv = b;
21848 MenhirLib.EngineTypes.startp = _startpos_b_;
21849 MenhirLib.EngineTypes.endp = _endpos_b_;
21850 MenhirLib.EngineTypes.next = {
21851 MenhirLib.EngineTypes.state = _menhir_s;
21852 MenhirLib.EngineTypes.semv = a;
21853 MenhirLib.EngineTypes.startp = _startpos_a_;
21854 MenhirLib.EngineTypes.endp = _endpos_a_;
21855 MenhirLib.EngineTypes.next = _menhir_stack;
21856 };
21857 } = _menhir_stack in
21858 let b : 'tv_rule_elem_statement = Obj.magic b in
21859 let a : (
21860 # 80 "parser_cocci_menhir.mly"
21861 (Data.clt)
21862 # 21863 "parser_cocci_menhir.ml"
21863 ) = Obj.magic a in
21864 let _startpos = _startpos_a_ in
21865 let _endpos = _endpos_b_ in
21866 let _v : 'tv_mzl_rule_elem_statement_ =
21867 # 2016 "parser_cocci_menhir.mly"
21868 ( (P.clt2mcode "|" a, b) )
21869 # 21870 "parser_cocci_menhir.ml"
21870 in
21871 _menhir_env.MenhirLib.EngineTypes.stack <- {
21872 MenhirLib.EngineTypes.state = _menhir_s;
21873 MenhirLib.EngineTypes.semv = Obj.repr _v;
21874 MenhirLib.EngineTypes.startp = _startpos;
21875 MenhirLib.EngineTypes.endp = _endpos;
21876 MenhirLib.EngineTypes.next = _menhir_stack;
21877 });
21878 (fun _menhir_env ->
21879 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21880 let {
21881 MenhirLib.EngineTypes.semv = b;
21882 MenhirLib.EngineTypes.startp = _startpos_b_;
21883 MenhirLib.EngineTypes.endp = _endpos_b_;
21884 MenhirLib.EngineTypes.next = {
21885 MenhirLib.EngineTypes.state = _menhir_s;
21886 MenhirLib.EngineTypes.semv = a;
21887 MenhirLib.EngineTypes.startp = _startpos_a_;
21888 MenhirLib.EngineTypes.endp = _endpos_a_;
21889 MenhirLib.EngineTypes.next = _menhir_stack;
21890 };
21891 } = _menhir_stack in
21892 let b : 'tv_statement = Obj.magic b in
21893 let a : (
21894 # 80 "parser_cocci_menhir.mly"
21895 (Data.clt)
21896 # 21897 "parser_cocci_menhir.ml"
21897 ) = Obj.magic a in
21898 let _startpos = _startpos_a_ in
21899 let _endpos = _endpos_b_ in
21900 let _v : 'tv_mzl_statement_ =
21901 # 2016 "parser_cocci_menhir.mly"
21902 ( (P.clt2mcode "|" a, b) )
21903 # 21904 "parser_cocci_menhir.ml"
21904 in
21905 _menhir_env.MenhirLib.EngineTypes.stack <- {
21906 MenhirLib.EngineTypes.state = _menhir_s;
21907 MenhirLib.EngineTypes.semv = Obj.repr _v;
21908 MenhirLib.EngineTypes.startp = _startpos;
21909 MenhirLib.EngineTypes.endp = _endpos;
21910 MenhirLib.EngineTypes.next = _menhir_stack;
21911 });
21912 (fun _menhir_env ->
21913 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21914 let {
21915 MenhirLib.EngineTypes.state = _menhir_s;
21916 MenhirLib.EngineTypes.semv = _1;
21917 MenhirLib.EngineTypes.startp = _startpos__1_;
21918 MenhirLib.EngineTypes.endp = _endpos__1_;
21919 MenhirLib.EngineTypes.next = _menhir_stack;
21920 } = _menhir_stack in
21921 let _1 : 'tv_decl = Obj.magic _1 in
21922 let _startpos = _startpos__1_ in
21923 let _endpos = _endpos__1_ in
21924 let _v : 'tv_name_opt_decl =
21925 # 912 "parser_cocci_menhir.mly"
21926 ( _1 )
21927 # 21928 "parser_cocci_menhir.ml"
21928 in
21929 _menhir_env.MenhirLib.EngineTypes.stack <- {
21930 MenhirLib.EngineTypes.state = _menhir_s;
21931 MenhirLib.EngineTypes.semv = Obj.repr _v;
21932 MenhirLib.EngineTypes.startp = _startpos;
21933 MenhirLib.EngineTypes.endp = _endpos;
21934 MenhirLib.EngineTypes.next = _menhir_stack;
21935 });
21936 (fun _menhir_env ->
21937 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21938 let {
21939 MenhirLib.EngineTypes.semv = rp1;
21940 MenhirLib.EngineTypes.startp = _startpos_rp1_;
21941 MenhirLib.EngineTypes.endp = _endpos_rp1_;
21942 MenhirLib.EngineTypes.next = {
21943 MenhirLib.EngineTypes.semv = d;
21944 MenhirLib.EngineTypes.startp = _startpos_d_;
21945 MenhirLib.EngineTypes.endp = _endpos_d_;
21946 MenhirLib.EngineTypes.next = {
21947 MenhirLib.EngineTypes.semv = lp1;
21948 MenhirLib.EngineTypes.startp = _startpos_lp1_;
21949 MenhirLib.EngineTypes.endp = _endpos_lp1_;
21950 MenhirLib.EngineTypes.next = {
21951 MenhirLib.EngineTypes.semv = rp;
21952 MenhirLib.EngineTypes.startp = _startpos_rp_;
21953 MenhirLib.EngineTypes.endp = _endpos_rp_;
21954 MenhirLib.EngineTypes.next = {
21955 MenhirLib.EngineTypes.semv = s;
21956 MenhirLib.EngineTypes.startp = _startpos_s_;
21957 MenhirLib.EngineTypes.endp = _endpos_s_;
21958 MenhirLib.EngineTypes.next = {
21959 MenhirLib.EngineTypes.semv = lp;
21960 MenhirLib.EngineTypes.startp = _startpos_lp_;
21961 MenhirLib.EngineTypes.endp = _endpos_lp_;
21962 MenhirLib.EngineTypes.next = {
21963 MenhirLib.EngineTypes.state = _menhir_s;
21964 MenhirLib.EngineTypes.semv = t;
21965 MenhirLib.EngineTypes.startp = _startpos_t_;
21966 MenhirLib.EngineTypes.endp = _endpos_t_;
21967 MenhirLib.EngineTypes.next = _menhir_stack;
21968 };
21969 };
21970 };
21971 };
21972 };
21973 };
21974 } = _menhir_stack in
21975 let rp1 : (
21976 # 80 "parser_cocci_menhir.mly"
21977 (Data.clt)
21978 # 21979 "parser_cocci_menhir.ml"
21979 ) = Obj.magic rp1 in
21980 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
21981 let lp1 : (
21982 # 79 "parser_cocci_menhir.mly"
21983 (Data.clt)
21984 # 21985 "parser_cocci_menhir.ml"
21985 ) = Obj.magic lp1 in
21986 let rp : (
21987 # 80 "parser_cocci_menhir.mly"
21988 (Data.clt)
21989 # 21990 "parser_cocci_menhir.ml"
21990 ) = Obj.magic rp in
21991 let s : (
21992 # 102 "parser_cocci_menhir.mly"
21993 (Data.clt)
21994 # 21995 "parser_cocci_menhir.ml"
21995 ) = Obj.magic s in
21996 let lp : (
21997 # 79 "parser_cocci_menhir.mly"
21998 (Data.clt)
21999 # 22000 "parser_cocci_menhir.ml"
22000 ) = Obj.magic lp in
22001 let t : 'tv_ctype = Obj.magic t in
22002 let _startpos = _startpos_t_ in
22003 let _endpos = _endpos_rp1_ in
22004 let _v : 'tv_name_opt_decl =
22005 # 915 "parser_cocci_menhir.mly"
22006 ( let fnptr =
22007 Ast0.wrap
22008 (Ast0.FunctionPointer
22009 (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
22010 P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
22011 Ast0.wrap(Ast0.Param(fnptr, None)) )
22012 # 22013 "parser_cocci_menhir.ml"
22013 in
22014 _menhir_env.MenhirLib.EngineTypes.stack <- {
22015 MenhirLib.EngineTypes.state = _menhir_s;
22016 MenhirLib.EngineTypes.semv = Obj.repr _v;
22017 MenhirLib.EngineTypes.startp = _startpos;
22018 MenhirLib.EngineTypes.endp = _endpos;
22019 MenhirLib.EngineTypes.next = _menhir_stack;
22020 });
22021 (fun _menhir_env ->
22022 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22023 let {
22024 MenhirLib.EngineTypes.semv = _2;
22025 MenhirLib.EngineTypes.startp = _startpos__2_;
22026 MenhirLib.EngineTypes.endp = _endpos__2_;
22027 MenhirLib.EngineTypes.next = {
22028 MenhirLib.EngineTypes.state = _menhir_s;
22029 MenhirLib.EngineTypes.semv = _1;
22030 MenhirLib.EngineTypes.startp = _startpos__1_;
22031 MenhirLib.EngineTypes.endp = _endpos__1_;
22032 MenhirLib.EngineTypes.next = _menhir_stack;
22033 };
22034 } = _menhir_stack in
22035 let _2 : 'tv_nest_after_stm = Obj.magic _2 in
22036 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
22037 let _startpos = _startpos__1_ in
22038 let _endpos = _endpos__2_ in
22039 let _v : 'tv_nest_after_dots =
22040 # 1958 "parser_cocci_menhir.mly"
22041 (_1@_2)
22042 # 22043 "parser_cocci_menhir.ml"
22043 in
22044 _menhir_env.MenhirLib.EngineTypes.stack <- {
22045 MenhirLib.EngineTypes.state = _menhir_s;
22046 MenhirLib.EngineTypes.semv = Obj.repr _v;
22047 MenhirLib.EngineTypes.startp = _startpos;
22048 MenhirLib.EngineTypes.endp = _endpos;
22049 MenhirLib.EngineTypes.next = _menhir_stack;
22050 });
22051 (fun _menhir_env ->
22052 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22053 let {
22054 MenhirLib.EngineTypes.semv = _2;
22055 MenhirLib.EngineTypes.startp = _startpos__2_;
22056 MenhirLib.EngineTypes.endp = _endpos__2_;
22057 MenhirLib.EngineTypes.next = {
22058 MenhirLib.EngineTypes.state = _menhir_s;
22059 MenhirLib.EngineTypes.startp = _startpos__1_;
22060 MenhirLib.EngineTypes.endp = _endpos__1_;
22061 MenhirLib.EngineTypes.next = _menhir_stack;
22062 };
22063 } = _menhir_stack in
22064 let _2 : 'tv_nest_after_exp = Obj.magic _2 in
22065 let _startpos = _startpos__1_ in
22066 let _endpos = _endpos__2_ in
22067 let _v : 'tv_nest_after_dots =
22068 # 1959 "parser_cocci_menhir.mly"
22069 (_2)
22070 # 22071 "parser_cocci_menhir.ml"
22071 in
22072 _menhir_env.MenhirLib.EngineTypes.stack <- {
22073 MenhirLib.EngineTypes.state = _menhir_s;
22074 MenhirLib.EngineTypes.semv = Obj.repr _v;
22075 MenhirLib.EngineTypes.startp = _startpos;
22076 MenhirLib.EngineTypes.endp = _endpos;
22077 MenhirLib.EngineTypes.next = _menhir_stack;
22078 });
22079 (fun _menhir_env ->
22080 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22081 let {
22082 MenhirLib.EngineTypes.semv = _2;
22083 MenhirLib.EngineTypes.startp = _startpos__2_;
22084 MenhirLib.EngineTypes.endp = _endpos__2_;
22085 MenhirLib.EngineTypes.next = {
22086 MenhirLib.EngineTypes.state = _menhir_s;
22087 MenhirLib.EngineTypes.semv = _1;
22088 MenhirLib.EngineTypes.startp = _startpos__1_;
22089 MenhirLib.EngineTypes.endp = _endpos__1_;
22090 MenhirLib.EngineTypes.next = _menhir_stack;
22091 };
22092 } = _menhir_stack in
22093 let _2 : 'tv_nest_after_exp = Obj.magic _2 in
22094 let _1 : 'tv_expr = Obj.magic _1 in
22095 let _startpos = _startpos__1_ in
22096 let _endpos = _endpos__2_ in
22097 let _v : 'tv_nest_after_dots =
22098 # 1960 "parser_cocci_menhir.mly"
22099 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
22100 # 22101 "parser_cocci_menhir.ml"
22101 in
22102 _menhir_env.MenhirLib.EngineTypes.stack <- {
22103 MenhirLib.EngineTypes.state = _menhir_s;
22104 MenhirLib.EngineTypes.semv = Obj.repr _v;
22105 MenhirLib.EngineTypes.startp = _startpos;
22106 MenhirLib.EngineTypes.endp = _endpos;
22107 MenhirLib.EngineTypes.next = _menhir_stack;
22108 });
22109 (fun _menhir_env ->
22110 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22111 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
22112 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
22113 let _endpos = _startpos in
22114 let _v : 'tv_nest_after_exp =
22115 # 1968 "parser_cocci_menhir.mly"
22116 ([])
22117 # 22118 "parser_cocci_menhir.ml"
22118 in
22119 _menhir_env.MenhirLib.EngineTypes.stack <- {
22120 MenhirLib.EngineTypes.state = _menhir_s;
22121 MenhirLib.EngineTypes.semv = Obj.repr _v;
22122 MenhirLib.EngineTypes.startp = _startpos;
22123 MenhirLib.EngineTypes.endp = _endpos;
22124 MenhirLib.EngineTypes.next = _menhir_stack;
22125 });
22126 (fun _menhir_env ->
22127 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22128 let {
22129 MenhirLib.EngineTypes.semv = _2;
22130 MenhirLib.EngineTypes.startp = _startpos__2_;
22131 MenhirLib.EngineTypes.endp = _endpos__2_;
22132 MenhirLib.EngineTypes.next = {
22133 MenhirLib.EngineTypes.state = _menhir_s;
22134 MenhirLib.EngineTypes.semv = _1;
22135 MenhirLib.EngineTypes.startp = _startpos__1_;
22136 MenhirLib.EngineTypes.endp = _endpos__1_;
22137 MenhirLib.EngineTypes.next = _menhir_stack;
22138 };
22139 } = _menhir_stack in
22140 let _2 : 'tv_nest_after_dots = Obj.magic _2 in
22141 let _1 : 'tv_stm_dots = Obj.magic _1 in
22142 let _startpos = _startpos__1_ in
22143 let _endpos = _endpos__2_ in
22144 let _v : 'tv_nest_after_exp =
22145 # 1969 "parser_cocci_menhir.mly"
22146 (_1::_2)
22147 # 22148 "parser_cocci_menhir.ml"
22148 in
22149 _menhir_env.MenhirLib.EngineTypes.stack <- {
22150 MenhirLib.EngineTypes.state = _menhir_s;
22151 MenhirLib.EngineTypes.semv = Obj.repr _v;
22152 MenhirLib.EngineTypes.startp = _startpos;
22153 MenhirLib.EngineTypes.endp = _endpos;
22154 MenhirLib.EngineTypes.next = _menhir_stack;
22155 });
22156 (fun _menhir_env ->
22157 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22158 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
22159 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
22160 let _endpos = _startpos in
22161 let _v : 'tv_nest_after_stm =
22162 # 1963 "parser_cocci_menhir.mly"
22163 ([])
22164 # 22165 "parser_cocci_menhir.ml"
22165 in
22166 _menhir_env.MenhirLib.EngineTypes.stack <- {
22167 MenhirLib.EngineTypes.state = _menhir_s;
22168 MenhirLib.EngineTypes.semv = Obj.repr _v;
22169 MenhirLib.EngineTypes.startp = _startpos;
22170 MenhirLib.EngineTypes.endp = _endpos;
22171 MenhirLib.EngineTypes.next = _menhir_stack;
22172 });
22173 (fun _menhir_env ->
22174 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22175 let {
22176 MenhirLib.EngineTypes.semv = _2;
22177 MenhirLib.EngineTypes.startp = _startpos__2_;
22178 MenhirLib.EngineTypes.endp = _endpos__2_;
22179 MenhirLib.EngineTypes.next = {
22180 MenhirLib.EngineTypes.state = _menhir_s;
22181 MenhirLib.EngineTypes.semv = _1;
22182 MenhirLib.EngineTypes.startp = _startpos__1_;
22183 MenhirLib.EngineTypes.endp = _endpos__1_;
22184 MenhirLib.EngineTypes.next = _menhir_stack;
22185 };
22186 } = _menhir_stack in
22187 let _2 : 'tv_nest_after_dots = Obj.magic _2 in
22188 let _1 : 'tv_stm_dots = Obj.magic _1 in
22189 let _startpos = _startpos__1_ in
22190 let _endpos = _endpos__2_ in
22191 let _v : 'tv_nest_after_stm =
22192 # 1964 "parser_cocci_menhir.mly"
22193 (_1::_2)
22194 # 22195 "parser_cocci_menhir.ml"
22195 in
22196 _menhir_env.MenhirLib.EngineTypes.stack <- {
22197 MenhirLib.EngineTypes.state = _menhir_s;
22198 MenhirLib.EngineTypes.semv = Obj.repr _v;
22199 MenhirLib.EngineTypes.startp = _startpos;
22200 MenhirLib.EngineTypes.endp = _endpos;
22201 MenhirLib.EngineTypes.next = _menhir_stack;
22202 });
22203 (fun _menhir_env ->
22204 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22205 let {
22206 MenhirLib.EngineTypes.semv = _2;
22207 MenhirLib.EngineTypes.startp = _startpos__2_;
22208 MenhirLib.EngineTypes.endp = _endpos__2_;
22209 MenhirLib.EngineTypes.next = {
22210 MenhirLib.EngineTypes.state = _menhir_s;
22211 MenhirLib.EngineTypes.semv = _1;
22212 MenhirLib.EngineTypes.startp = _startpos__1_;
22213 MenhirLib.EngineTypes.endp = _endpos__1_;
22214 MenhirLib.EngineTypes.next = _menhir_stack;
22215 };
22216 } = _menhir_stack in
22217 let _2 : 'tv_nest_after_stm = Obj.magic _2 in
22218 let _1 : 'tv_decl_statement = Obj.magic _1 in
22219 let _startpos = _startpos__1_ in
22220 let _endpos = _endpos__2_ in
22221 let _v : 'tv_nest_after_stm =
22222 # 1965 "parser_cocci_menhir.mly"
22223 (_1@_2)
22224 # 22225 "parser_cocci_menhir.ml"
22225 in
22226 _menhir_env.MenhirLib.EngineTypes.stack <- {
22227 MenhirLib.EngineTypes.state = _menhir_s;
22228 MenhirLib.EngineTypes.semv = Obj.repr _v;
22229 MenhirLib.EngineTypes.startp = _startpos;
22230 MenhirLib.EngineTypes.endp = _endpos;
22231 MenhirLib.EngineTypes.next = _menhir_stack;
22232 });
22233 (fun _menhir_env ->
22234 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22235 let {
22236 MenhirLib.EngineTypes.semv = c;
22237 MenhirLib.EngineTypes.startp = _startpos_c_;
22238 MenhirLib.EngineTypes.endp = _endpos_c_;
22239 MenhirLib.EngineTypes.next = {
22240 MenhirLib.EngineTypes.semv = e;
22241 MenhirLib.EngineTypes.startp = _startpos_e_;
22242 MenhirLib.EngineTypes.endp = _endpos_e_;
22243 MenhirLib.EngineTypes.next = {
22244 MenhirLib.EngineTypes.state = _menhir_s;
22245 MenhirLib.EngineTypes.semv = _1;
22246 MenhirLib.EngineTypes.startp = _startpos__1_;
22247 MenhirLib.EngineTypes.endp = _endpos__1_;
22248 MenhirLib.EngineTypes.next = _menhir_stack;
22249 };
22250 };
22251 } = _menhir_stack in
22252 let c : (
22253 # 76 "parser_cocci_menhir.mly"
22254 (Data.clt)
22255 # 22256 "parser_cocci_menhir.ml"
22256 ) = Obj.magic c in
22257 let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
22258 let _1 : (
22259 # 76 "parser_cocci_menhir.mly"
22260 (Data.clt)
22261 # 22262 "parser_cocci_menhir.ml"
22262 ) = Obj.magic _1 in
22263 let _startpos = _startpos__1_ in
22264 let _endpos = _endpos_c_ in
22265 let _v : 'tv_nest_expressions =
22266 # 1283 "parser_cocci_menhir.mly"
22267 ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
22268 Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
22269 P.clt2mcode "...>" c, None, false)) )
22270 # 22271 "parser_cocci_menhir.ml"
22271 in
22272 _menhir_env.MenhirLib.EngineTypes.stack <- {
22273 MenhirLib.EngineTypes.state = _menhir_s;
22274 MenhirLib.EngineTypes.semv = Obj.repr _v;
22275 MenhirLib.EngineTypes.startp = _startpos;
22276 MenhirLib.EngineTypes.endp = _endpos;
22277 MenhirLib.EngineTypes.next = _menhir_stack;
22278 });
22279 (fun _menhir_env ->
22280 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22281 let {
22282 MenhirLib.EngineTypes.semv = c;
22283 MenhirLib.EngineTypes.startp = _startpos_c_;
22284 MenhirLib.EngineTypes.endp = _endpos_c_;
22285 MenhirLib.EngineTypes.next = {
22286 MenhirLib.EngineTypes.semv = e;
22287 MenhirLib.EngineTypes.startp = _startpos_e_;
22288 MenhirLib.EngineTypes.endp = _endpos_e_;
22289 MenhirLib.EngineTypes.next = {
22290 MenhirLib.EngineTypes.state = _menhir_s;
22291 MenhirLib.EngineTypes.semv = _1;
22292 MenhirLib.EngineTypes.startp = _startpos__1_;
22293 MenhirLib.EngineTypes.endp = _endpos__1_;
22294 MenhirLib.EngineTypes.next = _menhir_stack;
22295 };
22296 };
22297 } = _menhir_stack in
22298 let c : (
22299 # 76 "parser_cocci_menhir.mly"
22300 (Data.clt)
22301 # 22302 "parser_cocci_menhir.ml"
22302 ) = Obj.magic c in
22303 let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
22304 let _1 : (
22305 # 76 "parser_cocci_menhir.mly"
22306 (Data.clt)
22307 # 22308 "parser_cocci_menhir.ml"
22308 ) = Obj.magic _1 in
22309 let _startpos = _startpos__1_ in
22310 let _endpos = _endpos_c_ in
22311 let _v : 'tv_nest_expressions =
22312 # 1287 "parser_cocci_menhir.mly"
22313 ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
22314 Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
22315 P.clt2mcode "...+>" c, None, true)) )
22316 # 22317 "parser_cocci_menhir.ml"
22317 in
22318 _menhir_env.MenhirLib.EngineTypes.stack <- {
22319 MenhirLib.EngineTypes.state = _menhir_s;
22320 MenhirLib.EngineTypes.semv = Obj.repr _v;
22321 MenhirLib.EngineTypes.startp = _startpos;
22322 MenhirLib.EngineTypes.endp = _endpos;
22323 MenhirLib.EngineTypes.next = _menhir_stack;
22324 });
22325 (fun _menhir_env ->
22326 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22327 let {
22328 MenhirLib.EngineTypes.state = _menhir_s;
22329 MenhirLib.EngineTypes.semv = _1;
22330 MenhirLib.EngineTypes.startp = _startpos__1_;
22331 MenhirLib.EngineTypes.endp = _endpos__1_;
22332 MenhirLib.EngineTypes.next = _menhir_stack;
22333 } = _menhir_stack in
22334 let _1 : 'tv_nest_after_dots = Obj.magic _1 in
22335 let _startpos = _startpos__1_ in
22336 let _endpos = _endpos__1_ in
22337 let _v : 'tv_nest_start =
22338 # 1955 "parser_cocci_menhir.mly"
22339 ( Ast0.wrap(Ast0.DOTS(_1)) )
22340 # 22341 "parser_cocci_menhir.ml"
22341 in
22342 _menhir_env.MenhirLib.EngineTypes.stack <- {
22343 MenhirLib.EngineTypes.state = _menhir_s;
22344 MenhirLib.EngineTypes.semv = Obj.repr _v;
22345 MenhirLib.EngineTypes.startp = _startpos;
22346 MenhirLib.EngineTypes.endp = _endpos;
22347 MenhirLib.EngineTypes.next = _menhir_stack;
22348 });
22349 (fun _menhir_env ->
22350 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22351 let {
22352 MenhirLib.EngineTypes.state = _menhir_s;
22353 MenhirLib.EngineTypes.startp = _startpos__1_;
22354 MenhirLib.EngineTypes.endp = _endpos__1_;
22355 MenhirLib.EngineTypes.next = _menhir_stack;
22356 } = _menhir_stack in
22357 let _startpos = _startpos__1_ in
22358 let _endpos = _endpos__1_ in
22359 let _v : (
22360 # 173 "parser_cocci_menhir.mly"
22361 (unit)
22362 # 22363 "parser_cocci_menhir.ml"
22363 ) =
22364 # 2083 "parser_cocci_menhir.mly"
22365 ( () )
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.startp = _startpos__2_;
22379 MenhirLib.EngineTypes.endp = _endpos__2_;
22380 MenhirLib.EngineTypes.next = {
22381 MenhirLib.EngineTypes.state = _menhir_s;
22382 MenhirLib.EngineTypes.startp = _startpos__1_;
22383 MenhirLib.EngineTypes.endp = _endpos__1_;
22384 MenhirLib.EngineTypes.next = _menhir_stack;
22385 };
22386 } = _menhir_stack in
22387 let _startpos = _startpos__1_ in
22388 let _endpos = _endpos__2_ in
22389 let _v : (
22390 # 173 "parser_cocci_menhir.mly"
22391 (unit)
22392 # 22393 "parser_cocci_menhir.ml"
22393 ) =
22394 # 2084 "parser_cocci_menhir.mly"
22395 ( () )
22396 # 22397 "parser_cocci_menhir.ml"
22397 in
22398 _menhir_env.MenhirLib.EngineTypes.stack <- {
22399 MenhirLib.EngineTypes.state = _menhir_s;
22400 MenhirLib.EngineTypes.semv = Obj.repr _v;
22401 MenhirLib.EngineTypes.startp = _startpos;
22402 MenhirLib.EngineTypes.endp = _endpos;
22403 MenhirLib.EngineTypes.next = _menhir_stack;
22404 });
22405 (fun _menhir_env ->
22406 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22407 let {
22408 MenhirLib.EngineTypes.state = _menhir_s;
22409 MenhirLib.EngineTypes.startp = _startpos__1_;
22410 MenhirLib.EngineTypes.endp = _endpos__1_;
22411 MenhirLib.EngineTypes.next = _menhir_stack;
22412 } = _menhir_stack in
22413 let _startpos = _startpos__1_ in
22414 let _endpos = _endpos__1_ in
22415 let _v : (
22416 # 173 "parser_cocci_menhir.mly"
22417 (unit)
22418 # 22419 "parser_cocci_menhir.ml"
22419 ) =
22420 # 2085 "parser_cocci_menhir.mly"
22421 ( () )
22422 # 22423 "parser_cocci_menhir.ml"
22423 in
22424 _menhir_env.MenhirLib.EngineTypes.stack <- {
22425 MenhirLib.EngineTypes.state = _menhir_s;
22426 MenhirLib.EngineTypes.semv = Obj.repr _v;
22427 MenhirLib.EngineTypes.startp = _startpos;
22428 MenhirLib.EngineTypes.endp = _endpos;
22429 MenhirLib.EngineTypes.next = _menhir_stack;
22430 });
22431 (fun _menhir_env ->
22432 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22433 let {
22434 MenhirLib.EngineTypes.semv = dg;
22435 MenhirLib.EngineTypes.startp = _startpos_dg_;
22436 MenhirLib.EngineTypes.endp = _endpos_dg_;
22437 MenhirLib.EngineTypes.next = {
22438 MenhirLib.EngineTypes.state = _menhir_s;
22439 MenhirLib.EngineTypes.semv = g;
22440 MenhirLib.EngineTypes.startp = _startpos_g_;
22441 MenhirLib.EngineTypes.endp = _endpos_g_;
22442 MenhirLib.EngineTypes.next = _menhir_stack;
22443 };
22444 } = _menhir_stack in
22445 let dg : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic dg in
22446 let g : 'tv_dexpr = Obj.magic g in
22447 let _startpos = _startpos_g_ in
22448 let _endpos = _endpos_dg_ in
22449 let _v : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ =
22450 # 1453 "parser_cocci_menhir.mly"
22451 ( function dot_builder ->
22452 g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
22453 # 22454 "parser_cocci_menhir.ml"
22454 in
22455 _menhir_env.MenhirLib.EngineTypes.stack <- {
22456 MenhirLib.EngineTypes.state = _menhir_s;
22457 MenhirLib.EngineTypes.semv = Obj.repr _v;
22458 MenhirLib.EngineTypes.startp = _startpos;
22459 MenhirLib.EngineTypes.endp = _endpos;
22460 MenhirLib.EngineTypes.next = _menhir_stack;
22461 });
22462 (fun _menhir_env ->
22463 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22464 let {
22465 MenhirLib.EngineTypes.state = _menhir_s;
22466 MenhirLib.EngineTypes.semv = x;
22467 MenhirLib.EngineTypes.startp = _startpos_x_;
22468 MenhirLib.EngineTypes.endp = _endpos_x_;
22469 MenhirLib.EngineTypes.next = _menhir_stack;
22470 } = _menhir_stack in
22471 let x : (
22472 # 102 "parser_cocci_menhir.mly"
22473 (Data.clt)
22474 # 22475 "parser_cocci_menhir.ml"
22475 ) = Obj.magic x in
22476 let _startpos = _startpos_x_ in
22477 let _endpos = _endpos_x_ in
22478 let _v : 'tv_nonempty_list_TMul_ =
22479 # 124 "standard.mly"
22480 ( [ x ] )
22481 # 22482 "parser_cocci_menhir.ml"
22482 in
22483 _menhir_env.MenhirLib.EngineTypes.stack <- {
22484 MenhirLib.EngineTypes.state = _menhir_s;
22485 MenhirLib.EngineTypes.semv = Obj.repr _v;
22486 MenhirLib.EngineTypes.startp = _startpos;
22487 MenhirLib.EngineTypes.endp = _endpos;
22488 MenhirLib.EngineTypes.next = _menhir_stack;
22489 });
22490 (fun _menhir_env ->
22491 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22492 let {
22493 MenhirLib.EngineTypes.semv = xs;
22494 MenhirLib.EngineTypes.startp = _startpos_xs_;
22495 MenhirLib.EngineTypes.endp = _endpos_xs_;
22496 MenhirLib.EngineTypes.next = {
22497 MenhirLib.EngineTypes.state = _menhir_s;
22498 MenhirLib.EngineTypes.semv = x;
22499 MenhirLib.EngineTypes.startp = _startpos_x_;
22500 MenhirLib.EngineTypes.endp = _endpos_x_;
22501 MenhirLib.EngineTypes.next = _menhir_stack;
22502 };
22503 } = _menhir_stack in
22504 let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in
22505 let x : (
22506 # 102 "parser_cocci_menhir.mly"
22507 (Data.clt)
22508 # 22509 "parser_cocci_menhir.ml"
22509 ) = Obj.magic x in
22510 let _startpos = _startpos_x_ in
22511 let _endpos = _endpos_xs_ in
22512 let _v : 'tv_nonempty_list_TMul_ =
22513 # 126 "standard.mly"
22514 ( x :: xs )
22515 # 22516 "parser_cocci_menhir.ml"
22516 in
22517 _menhir_env.MenhirLib.EngineTypes.stack <- {
22518 MenhirLib.EngineTypes.state = _menhir_s;
22519 MenhirLib.EngineTypes.semv = Obj.repr _v;
22520 MenhirLib.EngineTypes.startp = _startpos;
22521 MenhirLib.EngineTypes.endp = _endpos;
22522 MenhirLib.EngineTypes.next = _menhir_stack;
22523 });
22524 (fun _menhir_env ->
22525 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22526 let {
22527 MenhirLib.EngineTypes.state = _menhir_s;
22528 MenhirLib.EngineTypes.semv = _1;
22529 MenhirLib.EngineTypes.startp = _startpos__1_;
22530 MenhirLib.EngineTypes.endp = _endpos__1_;
22531 MenhirLib.EngineTypes.next = _menhir_stack;
22532 } = _menhir_stack in
22533 let _1 : 'tv_aexpr = Obj.magic _1 in
22534 let _startpos = _startpos__1_ in
22535 let _endpos = _endpos__1_ in
22536 let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
22537 # 1765 "parser_cocci_menhir.mly"
22538 ( fun build_dots build_comma -> [_1] )
22539 # 22540 "parser_cocci_menhir.ml"
22540 in
22541 _menhir_env.MenhirLib.EngineTypes.stack <- {
22542 MenhirLib.EngineTypes.state = _menhir_s;
22543 MenhirLib.EngineTypes.semv = Obj.repr _v;
22544 MenhirLib.EngineTypes.startp = _startpos;
22545 MenhirLib.EngineTypes.endp = _endpos;
22546 MenhirLib.EngineTypes.next = _menhir_stack;
22547 });
22548 (fun _menhir_env ->
22549 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22550 let {
22551 MenhirLib.EngineTypes.semv = _2;
22552 MenhirLib.EngineTypes.startp = _startpos__2_;
22553 MenhirLib.EngineTypes.endp = _endpos__2_;
22554 MenhirLib.EngineTypes.next = {
22555 MenhirLib.EngineTypes.state = _menhir_s;
22556 MenhirLib.EngineTypes.semv = _1;
22557 MenhirLib.EngineTypes.startp = _startpos__1_;
22558 MenhirLib.EngineTypes.endp = _endpos__1_;
22559 MenhirLib.EngineTypes.next = _menhir_stack;
22560 };
22561 } = _menhir_stack in
22562 let _2 : (
22563 # 110 "parser_cocci_menhir.mly"
22564 (Data.clt)
22565 # 22566 "parser_cocci_menhir.ml"
22566 ) = Obj.magic _2 in
22567 let _1 : 'tv_aexpr = Obj.magic _1 in
22568 let _startpos = _startpos__1_ in
22569 let _endpos = _endpos__2_ in
22570 let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
22571 # 1767 "parser_cocci_menhir.mly"
22572 ( fun build_dots build_comma ->
22573 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
22574 # 22575 "parser_cocci_menhir.ml"
22575 in
22576 _menhir_env.MenhirLib.EngineTypes.stack <- {
22577 MenhirLib.EngineTypes.state = _menhir_s;
22578 MenhirLib.EngineTypes.semv = Obj.repr _v;
22579 MenhirLib.EngineTypes.startp = _startpos;
22580 MenhirLib.EngineTypes.endp = _endpos;
22581 MenhirLib.EngineTypes.next = _menhir_stack;
22582 });
22583 (fun _menhir_env ->
22584 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22585 let {
22586 MenhirLib.EngineTypes.semv = _3;
22587 MenhirLib.EngineTypes.startp = _startpos__3_;
22588 MenhirLib.EngineTypes.endp = _endpos__3_;
22589 MenhirLib.EngineTypes.next = {
22590 MenhirLib.EngineTypes.semv = _2;
22591 MenhirLib.EngineTypes.startp = _startpos__2_;
22592 MenhirLib.EngineTypes.endp = _endpos__2_;
22593 MenhirLib.EngineTypes.next = {
22594 MenhirLib.EngineTypes.state = _menhir_s;
22595 MenhirLib.EngineTypes.semv = _1;
22596 MenhirLib.EngineTypes.startp = _startpos__1_;
22597 MenhirLib.EngineTypes.endp = _endpos__1_;
22598 MenhirLib.EngineTypes.next = _menhir_stack;
22599 };
22600 };
22601 } = _menhir_stack in
22602 let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in
22603 let _2 : (
22604 # 110 "parser_cocci_menhir.mly"
22605 (Data.clt)
22606 # 22607 "parser_cocci_menhir.ml"
22607 ) = Obj.magic _2 in
22608 let _1 : 'tv_aexpr = Obj.magic _1 in
22609 let _startpos = _startpos__1_ in
22610 let _endpos = _endpos__3_ in
22611 let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
22612 # 1770 "parser_cocci_menhir.mly"
22613 ( fun build_dots build_comma ->
22614 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
22615 (_3 build_dots build_comma) )
22616 # 22617 "parser_cocci_menhir.ml"
22617 in
22618 _menhir_env.MenhirLib.EngineTypes.stack <- {
22619 MenhirLib.EngineTypes.state = _menhir_s;
22620 MenhirLib.EngineTypes.semv = Obj.repr _v;
22621 MenhirLib.EngineTypes.startp = _startpos;
22622 MenhirLib.EngineTypes.endp = _endpos;
22623 MenhirLib.EngineTypes.next = _menhir_stack;
22624 });
22625 (fun _menhir_env ->
22626 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22627 let {
22628 MenhirLib.EngineTypes.semv = _2;
22629 MenhirLib.EngineTypes.startp = _startpos__2_;
22630 MenhirLib.EngineTypes.endp = _endpos__2_;
22631 MenhirLib.EngineTypes.next = {
22632 MenhirLib.EngineTypes.state = _menhir_s;
22633 MenhirLib.EngineTypes.startp = _startpos__1_;
22634 MenhirLib.EngineTypes.endp = _endpos__1_;
22635 MenhirLib.EngineTypes.next = _menhir_stack;
22636 };
22637 } = _menhir_stack in
22638 let _2 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _2 in
22639 let _startpos = _startpos__1_ in
22640 let _endpos = _endpos__2_ in
22641 let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
22642 # 1773 "parser_cocci_menhir.mly"
22643 ( _2 )
22644 # 22645 "parser_cocci_menhir.ml"
22645 in
22646 _menhir_env.MenhirLib.EngineTypes.stack <- {
22647 MenhirLib.EngineTypes.state = _menhir_s;
22648 MenhirLib.EngineTypes.semv = Obj.repr _v;
22649 MenhirLib.EngineTypes.startp = _startpos;
22650 MenhirLib.EngineTypes.endp = _endpos;
22651 MenhirLib.EngineTypes.next = _menhir_stack;
22652 });
22653 (fun _menhir_env ->
22654 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22655 let {
22656 MenhirLib.EngineTypes.state = _menhir_s;
22657 MenhirLib.EngineTypes.semv = d;
22658 MenhirLib.EngineTypes.startp = _startpos_d_;
22659 MenhirLib.EngineTypes.endp = _endpos_d_;
22660 MenhirLib.EngineTypes.next = _menhir_stack;
22661 } = _menhir_stack in
22662 let d : (
22663 # 76 "parser_cocci_menhir.mly"
22664 (Data.clt)
22665 # 22666 "parser_cocci_menhir.ml"
22666 ) = Obj.magic d in
22667 let _startpos = _startpos_d_ in
22668 let _endpos = _endpos_d_ in
22669 let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
22670 # 1774 "parser_cocci_menhir.mly"
22671 ( fun build_dots build_comma -> [(build_dots "..." d)] )
22672 # 22673 "parser_cocci_menhir.ml"
22673 in
22674 _menhir_env.MenhirLib.EngineTypes.stack <- {
22675 MenhirLib.EngineTypes.state = _menhir_s;
22676 MenhirLib.EngineTypes.semv = Obj.repr _v;
22677 MenhirLib.EngineTypes.startp = _startpos;
22678 MenhirLib.EngineTypes.endp = _endpos;
22679 MenhirLib.EngineTypes.next = _menhir_stack;
22680 });
22681 (fun _menhir_env ->
22682 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22683 let {
22684 MenhirLib.EngineTypes.semv = _2;
22685 MenhirLib.EngineTypes.startp = _startpos__2_;
22686 MenhirLib.EngineTypes.endp = _endpos__2_;
22687 MenhirLib.EngineTypes.next = {
22688 MenhirLib.EngineTypes.state = _menhir_s;
22689 MenhirLib.EngineTypes.semv = d;
22690 MenhirLib.EngineTypes.startp = _startpos_d_;
22691 MenhirLib.EngineTypes.endp = _endpos_d_;
22692 MenhirLib.EngineTypes.next = _menhir_stack;
22693 };
22694 } = _menhir_stack in
22695 let _2 : (
22696 # 110 "parser_cocci_menhir.mly"
22697 (Data.clt)
22698 # 22699 "parser_cocci_menhir.ml"
22699 ) = Obj.magic _2 in
22700 let d : (
22701 # 76 "parser_cocci_menhir.mly"
22702 (Data.clt)
22703 # 22704 "parser_cocci_menhir.ml"
22704 ) = Obj.magic d in
22705 let _startpos = _startpos_d_ in
22706 let _endpos = _endpos__2_ in
22707 let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
22708 # 1776 "parser_cocci_menhir.mly"
22709 ( fun build_dots build_comma ->
22710 [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
22711 # 22712 "parser_cocci_menhir.ml"
22712 in
22713 _menhir_env.MenhirLib.EngineTypes.stack <- {
22714 MenhirLib.EngineTypes.state = _menhir_s;
22715 MenhirLib.EngineTypes.semv = Obj.repr _v;
22716 MenhirLib.EngineTypes.startp = _startpos;
22717 MenhirLib.EngineTypes.endp = _endpos;
22718 MenhirLib.EngineTypes.next = _menhir_stack;
22719 });
22720 (fun _menhir_env ->
22721 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22722 let {
22723 MenhirLib.EngineTypes.semv = r;
22724 MenhirLib.EngineTypes.startp = _startpos_r_;
22725 MenhirLib.EngineTypes.endp = _endpos_r_;
22726 MenhirLib.EngineTypes.next = {
22727 MenhirLib.EngineTypes.semv = _2;
22728 MenhirLib.EngineTypes.startp = _startpos__2_;
22729 MenhirLib.EngineTypes.endp = _endpos__2_;
22730 MenhirLib.EngineTypes.next = {
22731 MenhirLib.EngineTypes.state = _menhir_s;
22732 MenhirLib.EngineTypes.semv = d;
22733 MenhirLib.EngineTypes.startp = _startpos_d_;
22734 MenhirLib.EngineTypes.endp = _endpos_d_;
22735 MenhirLib.EngineTypes.next = _menhir_stack;
22736 };
22737 };
22738 } = _menhir_stack in
22739 let r : 'tv_continue_list_aexpr_TEllipsis_ = Obj.magic r in
22740 let _2 : (
22741 # 110 "parser_cocci_menhir.mly"
22742 (Data.clt)
22743 # 22744 "parser_cocci_menhir.ml"
22744 ) = Obj.magic _2 in
22745 let d : (
22746 # 76 "parser_cocci_menhir.mly"
22747 (Data.clt)
22748 # 22749 "parser_cocci_menhir.ml"
22749 ) = Obj.magic d in
22750 let _startpos = _startpos_d_ in
22751 let _endpos = _endpos_r_ in
22752 let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
22753 # 1779 "parser_cocci_menhir.mly"
22754 ( fun build_dots build_comma ->
22755 (build_dots "..." d)::
22756 (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
22757 (r build_dots build_comma) )
22758 # 22759 "parser_cocci_menhir.ml"
22759 in
22760 _menhir_env.MenhirLib.EngineTypes.stack <- {
22761 MenhirLib.EngineTypes.state = _menhir_s;
22762 MenhirLib.EngineTypes.semv = Obj.repr _v;
22763 MenhirLib.EngineTypes.startp = _startpos;
22764 MenhirLib.EngineTypes.endp = _endpos;
22765 MenhirLib.EngineTypes.next = _menhir_stack;
22766 });
22767 (fun _menhir_env ->
22768 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22769 let {
22770 MenhirLib.EngineTypes.state = _menhir_s;
22771 MenhirLib.EngineTypes.semv = _1;
22772 MenhirLib.EngineTypes.startp = _startpos__1_;
22773 MenhirLib.EngineTypes.endp = _endpos__1_;
22774 MenhirLib.EngineTypes.next = _menhir_stack;
22775 } = _menhir_stack in
22776 let _1 : 'tv_dparam = Obj.magic _1 in
22777 let _startpos = _startpos__1_ in
22778 let _endpos = _endpos__1_ in
22779 let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
22780 # 1765 "parser_cocci_menhir.mly"
22781 ( fun build_dots build_comma -> [_1] )
22782 # 22783 "parser_cocci_menhir.ml"
22783 in
22784 _menhir_env.MenhirLib.EngineTypes.stack <- {
22785 MenhirLib.EngineTypes.state = _menhir_s;
22786 MenhirLib.EngineTypes.semv = Obj.repr _v;
22787 MenhirLib.EngineTypes.startp = _startpos;
22788 MenhirLib.EngineTypes.endp = _endpos;
22789 MenhirLib.EngineTypes.next = _menhir_stack;
22790 });
22791 (fun _menhir_env ->
22792 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22793 let {
22794 MenhirLib.EngineTypes.semv = _2;
22795 MenhirLib.EngineTypes.startp = _startpos__2_;
22796 MenhirLib.EngineTypes.endp = _endpos__2_;
22797 MenhirLib.EngineTypes.next = {
22798 MenhirLib.EngineTypes.state = _menhir_s;
22799 MenhirLib.EngineTypes.semv = _1;
22800 MenhirLib.EngineTypes.startp = _startpos__1_;
22801 MenhirLib.EngineTypes.endp = _endpos__1_;
22802 MenhirLib.EngineTypes.next = _menhir_stack;
22803 };
22804 } = _menhir_stack in
22805 let _2 : (
22806 # 110 "parser_cocci_menhir.mly"
22807 (Data.clt)
22808 # 22809 "parser_cocci_menhir.ml"
22809 ) = Obj.magic _2 in
22810 let _1 : 'tv_dparam = Obj.magic _1 in
22811 let _startpos = _startpos__1_ in
22812 let _endpos = _endpos__2_ in
22813 let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
22814 # 1767 "parser_cocci_menhir.mly"
22815 ( fun build_dots build_comma ->
22816 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
22817 # 22818 "parser_cocci_menhir.ml"
22818 in
22819 _menhir_env.MenhirLib.EngineTypes.stack <- {
22820 MenhirLib.EngineTypes.state = _menhir_s;
22821 MenhirLib.EngineTypes.semv = Obj.repr _v;
22822 MenhirLib.EngineTypes.startp = _startpos;
22823 MenhirLib.EngineTypes.endp = _endpos;
22824 MenhirLib.EngineTypes.next = _menhir_stack;
22825 });
22826 (fun _menhir_env ->
22827 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22828 let {
22829 MenhirLib.EngineTypes.semv = _3;
22830 MenhirLib.EngineTypes.startp = _startpos__3_;
22831 MenhirLib.EngineTypes.endp = _endpos__3_;
22832 MenhirLib.EngineTypes.next = {
22833 MenhirLib.EngineTypes.semv = _2;
22834 MenhirLib.EngineTypes.startp = _startpos__2_;
22835 MenhirLib.EngineTypes.endp = _endpos__2_;
22836 MenhirLib.EngineTypes.next = {
22837 MenhirLib.EngineTypes.state = _menhir_s;
22838 MenhirLib.EngineTypes.semv = _1;
22839 MenhirLib.EngineTypes.startp = _startpos__1_;
22840 MenhirLib.EngineTypes.endp = _endpos__1_;
22841 MenhirLib.EngineTypes.next = _menhir_stack;
22842 };
22843 };
22844 } = _menhir_stack in
22845 let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in
22846 let _2 : (
22847 # 110 "parser_cocci_menhir.mly"
22848 (Data.clt)
22849 # 22850 "parser_cocci_menhir.ml"
22850 ) = Obj.magic _2 in
22851 let _1 : 'tv_dparam = Obj.magic _1 in
22852 let _startpos = _startpos__1_ in
22853 let _endpos = _endpos__3_ in
22854 let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
22855 # 1770 "parser_cocci_menhir.mly"
22856 ( fun build_dots build_comma ->
22857 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
22858 (_3 build_dots build_comma) )
22859 # 22860 "parser_cocci_menhir.ml"
22860 in
22861 _menhir_env.MenhirLib.EngineTypes.stack <- {
22862 MenhirLib.EngineTypes.state = _menhir_s;
22863 MenhirLib.EngineTypes.semv = Obj.repr _v;
22864 MenhirLib.EngineTypes.startp = _startpos;
22865 MenhirLib.EngineTypes.endp = _endpos;
22866 MenhirLib.EngineTypes.next = _menhir_stack;
22867 });
22868 (fun _menhir_env ->
22869 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22870 let {
22871 MenhirLib.EngineTypes.semv = _2;
22872 MenhirLib.EngineTypes.startp = _startpos__2_;
22873 MenhirLib.EngineTypes.endp = _endpos__2_;
22874 MenhirLib.EngineTypes.next = {
22875 MenhirLib.EngineTypes.state = _menhir_s;
22876 MenhirLib.EngineTypes.startp = _startpos__1_;
22877 MenhirLib.EngineTypes.endp = _endpos__1_;
22878 MenhirLib.EngineTypes.next = _menhir_stack;
22879 };
22880 } = _menhir_stack in
22881 let _2 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _2 in
22882 let _startpos = _startpos__1_ in
22883 let _endpos = _endpos__2_ in
22884 let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
22885 # 1773 "parser_cocci_menhir.mly"
22886 ( _2 )
22887 # 22888 "parser_cocci_menhir.ml"
22888 in
22889 _menhir_env.MenhirLib.EngineTypes.stack <- {
22890 MenhirLib.EngineTypes.state = _menhir_s;
22891 MenhirLib.EngineTypes.semv = Obj.repr _v;
22892 MenhirLib.EngineTypes.startp = _startpos;
22893 MenhirLib.EngineTypes.endp = _endpos;
22894 MenhirLib.EngineTypes.next = _menhir_stack;
22895 });
22896 (fun _menhir_env ->
22897 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22898 let {
22899 MenhirLib.EngineTypes.state = _menhir_s;
22900 MenhirLib.EngineTypes.semv = d;
22901 MenhirLib.EngineTypes.startp = _startpos_d_;
22902 MenhirLib.EngineTypes.endp = _endpos_d_;
22903 MenhirLib.EngineTypes.next = _menhir_stack;
22904 } = _menhir_stack in
22905 let d : (
22906 # 76 "parser_cocci_menhir.mly"
22907 (Data.clt)
22908 # 22909 "parser_cocci_menhir.ml"
22909 ) = Obj.magic d in
22910 let _startpos = _startpos_d_ in
22911 let _endpos = _endpos_d_ in
22912 let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
22913 # 1774 "parser_cocci_menhir.mly"
22914 ( fun build_dots build_comma -> [(build_dots "..." d)] )
22915 # 22916 "parser_cocci_menhir.ml"
22916 in
22917 _menhir_env.MenhirLib.EngineTypes.stack <- {
22918 MenhirLib.EngineTypes.state = _menhir_s;
22919 MenhirLib.EngineTypes.semv = Obj.repr _v;
22920 MenhirLib.EngineTypes.startp = _startpos;
22921 MenhirLib.EngineTypes.endp = _endpos;
22922 MenhirLib.EngineTypes.next = _menhir_stack;
22923 });
22924 (fun _menhir_env ->
22925 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22926 let {
22927 MenhirLib.EngineTypes.semv = _2;
22928 MenhirLib.EngineTypes.startp = _startpos__2_;
22929 MenhirLib.EngineTypes.endp = _endpos__2_;
22930 MenhirLib.EngineTypes.next = {
22931 MenhirLib.EngineTypes.state = _menhir_s;
22932 MenhirLib.EngineTypes.semv = d;
22933 MenhirLib.EngineTypes.startp = _startpos_d_;
22934 MenhirLib.EngineTypes.endp = _endpos_d_;
22935 MenhirLib.EngineTypes.next = _menhir_stack;
22936 };
22937 } = _menhir_stack in
22938 let _2 : (
22939 # 110 "parser_cocci_menhir.mly"
22940 (Data.clt)
22941 # 22942 "parser_cocci_menhir.ml"
22942 ) = Obj.magic _2 in
22943 let d : (
22944 # 76 "parser_cocci_menhir.mly"
22945 (Data.clt)
22946 # 22947 "parser_cocci_menhir.ml"
22947 ) = Obj.magic d in
22948 let _startpos = _startpos_d_ in
22949 let _endpos = _endpos__2_ in
22950 let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
22951 # 1776 "parser_cocci_menhir.mly"
22952 ( fun build_dots build_comma ->
22953 [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
22954 # 22955 "parser_cocci_menhir.ml"
22955 in
22956 _menhir_env.MenhirLib.EngineTypes.stack <- {
22957 MenhirLib.EngineTypes.state = _menhir_s;
22958 MenhirLib.EngineTypes.semv = Obj.repr _v;
22959 MenhirLib.EngineTypes.startp = _startpos;
22960 MenhirLib.EngineTypes.endp = _endpos;
22961 MenhirLib.EngineTypes.next = _menhir_stack;
22962 });
22963 (fun _menhir_env ->
22964 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22965 let {
22966 MenhirLib.EngineTypes.semv = r;
22967 MenhirLib.EngineTypes.startp = _startpos_r_;
22968 MenhirLib.EngineTypes.endp = _endpos_r_;
22969 MenhirLib.EngineTypes.next = {
22970 MenhirLib.EngineTypes.semv = _2;
22971 MenhirLib.EngineTypes.startp = _startpos__2_;
22972 MenhirLib.EngineTypes.endp = _endpos__2_;
22973 MenhirLib.EngineTypes.next = {
22974 MenhirLib.EngineTypes.state = _menhir_s;
22975 MenhirLib.EngineTypes.semv = d;
22976 MenhirLib.EngineTypes.startp = _startpos_d_;
22977 MenhirLib.EngineTypes.endp = _endpos_d_;
22978 MenhirLib.EngineTypes.next = _menhir_stack;
22979 };
22980 };
22981 } = _menhir_stack in
22982 let r : 'tv_continue_list_dparam_TEllipsis_ = Obj.magic r in
22983 let _2 : (
22984 # 110 "parser_cocci_menhir.mly"
22985 (Data.clt)
22986 # 22987 "parser_cocci_menhir.ml"
22987 ) = Obj.magic _2 in
22988 let d : (
22989 # 76 "parser_cocci_menhir.mly"
22990 (Data.clt)
22991 # 22992 "parser_cocci_menhir.ml"
22992 ) = Obj.magic d in
22993 let _startpos = _startpos_d_ in
22994 let _endpos = _endpos_r_ in
22995 let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
22996 # 1779 "parser_cocci_menhir.mly"
22997 ( fun build_dots build_comma ->
22998 (build_dots "..." d)::
22999 (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
23000 (r build_dots build_comma) )
23001 # 23002 "parser_cocci_menhir.ml"
23002 in
23003 _menhir_env.MenhirLib.EngineTypes.stack <- {
23004 MenhirLib.EngineTypes.state = _menhir_s;
23005 MenhirLib.EngineTypes.semv = Obj.repr _v;
23006 MenhirLib.EngineTypes.startp = _startpos;
23007 MenhirLib.EngineTypes.endp = _endpos;
23008 MenhirLib.EngineTypes.next = _menhir_stack;
23009 });
23010 (fun _menhir_env ->
23011 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23012 let {
23013 MenhirLib.EngineTypes.state = _menhir_s;
23014 MenhirLib.EngineTypes.semv = _1;
23015 MenhirLib.EngineTypes.startp = _startpos__1_;
23016 MenhirLib.EngineTypes.endp = _endpos__1_;
23017 MenhirLib.EngineTypes.next = _menhir_stack;
23018 } = _menhir_stack in
23019 let _1 : 'tv_enum_decl_one = Obj.magic _1 in
23020 let _startpos = _startpos__1_ in
23021 let _endpos = _endpos__1_ in
23022 let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
23023 # 1765 "parser_cocci_menhir.mly"
23024 ( fun build_dots build_comma -> [_1] )
23025 # 23026 "parser_cocci_menhir.ml"
23026 in
23027 _menhir_env.MenhirLib.EngineTypes.stack <- {
23028 MenhirLib.EngineTypes.state = _menhir_s;
23029 MenhirLib.EngineTypes.semv = Obj.repr _v;
23030 MenhirLib.EngineTypes.startp = _startpos;
23031 MenhirLib.EngineTypes.endp = _endpos;
23032 MenhirLib.EngineTypes.next = _menhir_stack;
23033 });
23034 (fun _menhir_env ->
23035 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23036 let {
23037 MenhirLib.EngineTypes.semv = _2;
23038 MenhirLib.EngineTypes.startp = _startpos__2_;
23039 MenhirLib.EngineTypes.endp = _endpos__2_;
23040 MenhirLib.EngineTypes.next = {
23041 MenhirLib.EngineTypes.state = _menhir_s;
23042 MenhirLib.EngineTypes.semv = _1;
23043 MenhirLib.EngineTypes.startp = _startpos__1_;
23044 MenhirLib.EngineTypes.endp = _endpos__1_;
23045 MenhirLib.EngineTypes.next = _menhir_stack;
23046 };
23047 } = _menhir_stack in
23048 let _2 : (
23049 # 110 "parser_cocci_menhir.mly"
23050 (Data.clt)
23051 # 23052 "parser_cocci_menhir.ml"
23052 ) = Obj.magic _2 in
23053 let _1 : 'tv_enum_decl_one = Obj.magic _1 in
23054 let _startpos = _startpos__1_ in
23055 let _endpos = _endpos__2_ in
23056 let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
23057 # 1767 "parser_cocci_menhir.mly"
23058 ( fun build_dots build_comma ->
23059 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
23060 # 23061 "parser_cocci_menhir.ml"
23061 in
23062 _menhir_env.MenhirLib.EngineTypes.stack <- {
23063 MenhirLib.EngineTypes.state = _menhir_s;
23064 MenhirLib.EngineTypes.semv = Obj.repr _v;
23065 MenhirLib.EngineTypes.startp = _startpos;
23066 MenhirLib.EngineTypes.endp = _endpos;
23067 MenhirLib.EngineTypes.next = _menhir_stack;
23068 });
23069 (fun _menhir_env ->
23070 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23071 let {
23072 MenhirLib.EngineTypes.semv = _3;
23073 MenhirLib.EngineTypes.startp = _startpos__3_;
23074 MenhirLib.EngineTypes.endp = _endpos__3_;
23075 MenhirLib.EngineTypes.next = {
23076 MenhirLib.EngineTypes.semv = _2;
23077 MenhirLib.EngineTypes.startp = _startpos__2_;
23078 MenhirLib.EngineTypes.endp = _endpos__2_;
23079 MenhirLib.EngineTypes.next = {
23080 MenhirLib.EngineTypes.state = _menhir_s;
23081 MenhirLib.EngineTypes.semv = _1;
23082 MenhirLib.EngineTypes.startp = _startpos__1_;
23083 MenhirLib.EngineTypes.endp = _endpos__1_;
23084 MenhirLib.EngineTypes.next = _menhir_stack;
23085 };
23086 };
23087 } = _menhir_stack in
23088 let _3 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _3 in
23089 let _2 : (
23090 # 110 "parser_cocci_menhir.mly"
23091 (Data.clt)
23092 # 23093 "parser_cocci_menhir.ml"
23093 ) = Obj.magic _2 in
23094 let _1 : 'tv_enum_decl_one = Obj.magic _1 in
23095 let _startpos = _startpos__1_ in
23096 let _endpos = _endpos__3_ in
23097 let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
23098 # 1770 "parser_cocci_menhir.mly"
23099 ( fun build_dots build_comma ->
23100 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
23101 (_3 build_dots build_comma) )
23102 # 23103 "parser_cocci_menhir.ml"
23103 in
23104 _menhir_env.MenhirLib.EngineTypes.stack <- {
23105 MenhirLib.EngineTypes.state = _menhir_s;
23106 MenhirLib.EngineTypes.semv = Obj.repr _v;
23107 MenhirLib.EngineTypes.startp = _startpos;
23108 MenhirLib.EngineTypes.endp = _endpos;
23109 MenhirLib.EngineTypes.next = _menhir_stack;
23110 });
23111 (fun _menhir_env ->
23112 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23113 let {
23114 MenhirLib.EngineTypes.semv = _2;
23115 MenhirLib.EngineTypes.startp = _startpos__2_;
23116 MenhirLib.EngineTypes.endp = _endpos__2_;
23117 MenhirLib.EngineTypes.next = {
23118 MenhirLib.EngineTypes.state = _menhir_s;
23119 MenhirLib.EngineTypes.startp = _startpos__1_;
23120 MenhirLib.EngineTypes.endp = _endpos__1_;
23121 MenhirLib.EngineTypes.next = _menhir_stack;
23122 };
23123 } = _menhir_stack in
23124 let _2 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _2 in
23125 let _startpos = _startpos__1_ in
23126 let _endpos = _endpos__2_ in
23127 let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
23128 # 1773 "parser_cocci_menhir.mly"
23129 ( _2 )
23130 # 23131 "parser_cocci_menhir.ml"
23131 in
23132 _menhir_env.MenhirLib.EngineTypes.stack <- {
23133 MenhirLib.EngineTypes.state = _menhir_s;
23134 MenhirLib.EngineTypes.semv = Obj.repr _v;
23135 MenhirLib.EngineTypes.startp = _startpos;
23136 MenhirLib.EngineTypes.endp = _endpos;
23137 MenhirLib.EngineTypes.next = _menhir_stack;
23138 });
23139 (fun _menhir_env ->
23140 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23141 let {
23142 MenhirLib.EngineTypes.state = _menhir_s;
23143 MenhirLib.EngineTypes.semv = d;
23144 MenhirLib.EngineTypes.startp = _startpos_d_;
23145 MenhirLib.EngineTypes.endp = _endpos_d_;
23146 MenhirLib.EngineTypes.next = _menhir_stack;
23147 } = _menhir_stack in
23148 let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in
23149 let _startpos = _startpos_d_ in
23150 let _endpos = _endpos_d_ in
23151 let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
23152 # 1774 "parser_cocci_menhir.mly"
23153 ( fun build_dots build_comma -> [(build_dots "..." d)] )
23154 # 23155 "parser_cocci_menhir.ml"
23155 in
23156 _menhir_env.MenhirLib.EngineTypes.stack <- {
23157 MenhirLib.EngineTypes.state = _menhir_s;
23158 MenhirLib.EngineTypes.semv = Obj.repr _v;
23159 MenhirLib.EngineTypes.startp = _startpos;
23160 MenhirLib.EngineTypes.endp = _endpos;
23161 MenhirLib.EngineTypes.next = _menhir_stack;
23162 });
23163 (fun _menhir_env ->
23164 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23165 let {
23166 MenhirLib.EngineTypes.semv = _2;
23167 MenhirLib.EngineTypes.startp = _startpos__2_;
23168 MenhirLib.EngineTypes.endp = _endpos__2_;
23169 MenhirLib.EngineTypes.next = {
23170 MenhirLib.EngineTypes.state = _menhir_s;
23171 MenhirLib.EngineTypes.semv = d;
23172 MenhirLib.EngineTypes.startp = _startpos_d_;
23173 MenhirLib.EngineTypes.endp = _endpos_d_;
23174 MenhirLib.EngineTypes.next = _menhir_stack;
23175 };
23176 } = _menhir_stack in
23177 let _2 : (
23178 # 110 "parser_cocci_menhir.mly"
23179 (Data.clt)
23180 # 23181 "parser_cocci_menhir.ml"
23181 ) = Obj.magic _2 in
23182 let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in
23183 let _startpos = _startpos_d_ in
23184 let _endpos = _endpos__2_ in
23185 let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
23186 # 1776 "parser_cocci_menhir.mly"
23187 ( fun build_dots build_comma ->
23188 [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
23189 # 23190 "parser_cocci_menhir.ml"
23190 in
23191 _menhir_env.MenhirLib.EngineTypes.stack <- {
23192 MenhirLib.EngineTypes.state = _menhir_s;
23193 MenhirLib.EngineTypes.semv = Obj.repr _v;
23194 MenhirLib.EngineTypes.startp = _startpos;
23195 MenhirLib.EngineTypes.endp = _endpos;
23196 MenhirLib.EngineTypes.next = _menhir_stack;
23197 });
23198 (fun _menhir_env ->
23199 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23200 let {
23201 MenhirLib.EngineTypes.semv = r;
23202 MenhirLib.EngineTypes.startp = _startpos_r_;
23203 MenhirLib.EngineTypes.endp = _endpos_r_;
23204 MenhirLib.EngineTypes.next = {
23205 MenhirLib.EngineTypes.semv = _2;
23206 MenhirLib.EngineTypes.startp = _startpos__2_;
23207 MenhirLib.EngineTypes.endp = _endpos__2_;
23208 MenhirLib.EngineTypes.next = {
23209 MenhirLib.EngineTypes.state = _menhir_s;
23210 MenhirLib.EngineTypes.semv = d;
23211 MenhirLib.EngineTypes.startp = _startpos_d_;
23212 MenhirLib.EngineTypes.endp = _endpos_d_;
23213 MenhirLib.EngineTypes.next = _menhir_stack;
23214 };
23215 };
23216 } = _menhir_stack in
23217 let r : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic r in
23218 let _2 : (
23219 # 110 "parser_cocci_menhir.mly"
23220 (Data.clt)
23221 # 23222 "parser_cocci_menhir.ml"
23222 ) = Obj.magic _2 in
23223 let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in
23224 let _startpos = _startpos_d_ in
23225 let _endpos = _endpos_r_ in
23226 let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
23227 # 1779 "parser_cocci_menhir.mly"
23228 ( fun build_dots build_comma ->
23229 (build_dots "..." d)::
23230 (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
23231 (r build_dots build_comma) )
23232 # 23233 "parser_cocci_menhir.ml"
23233 in
23234 _menhir_env.MenhirLib.EngineTypes.stack <- {
23235 MenhirLib.EngineTypes.state = _menhir_s;
23236 MenhirLib.EngineTypes.semv = Obj.repr _v;
23237 MenhirLib.EngineTypes.startp = _startpos;
23238 MenhirLib.EngineTypes.endp = _endpos;
23239 MenhirLib.EngineTypes.next = _menhir_stack;
23240 });
23241 (fun _menhir_env ->
23242 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23243 let {
23244 MenhirLib.EngineTypes.state = _menhir_s;
23245 MenhirLib.EngineTypes.semv = _1;
23246 MenhirLib.EngineTypes.startp = _startpos__1_;
23247 MenhirLib.EngineTypes.endp = _endpos__1_;
23248 MenhirLib.EngineTypes.next = _menhir_stack;
23249 } = _menhir_stack in
23250 let _1 : 'tv_initialize2 = Obj.magic _1 in
23251 let _startpos = _startpos__1_ in
23252 let _endpos = _endpos__1_ in
23253 let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
23254 # 1765 "parser_cocci_menhir.mly"
23255 ( fun build_dots build_comma -> [_1] )
23256 # 23257 "parser_cocci_menhir.ml"
23257 in
23258 _menhir_env.MenhirLib.EngineTypes.stack <- {
23259 MenhirLib.EngineTypes.state = _menhir_s;
23260 MenhirLib.EngineTypes.semv = Obj.repr _v;
23261 MenhirLib.EngineTypes.startp = _startpos;
23262 MenhirLib.EngineTypes.endp = _endpos;
23263 MenhirLib.EngineTypes.next = _menhir_stack;
23264 });
23265 (fun _menhir_env ->
23266 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23267 let {
23268 MenhirLib.EngineTypes.semv = _2;
23269 MenhirLib.EngineTypes.startp = _startpos__2_;
23270 MenhirLib.EngineTypes.endp = _endpos__2_;
23271 MenhirLib.EngineTypes.next = {
23272 MenhirLib.EngineTypes.state = _menhir_s;
23273 MenhirLib.EngineTypes.semv = _1;
23274 MenhirLib.EngineTypes.startp = _startpos__1_;
23275 MenhirLib.EngineTypes.endp = _endpos__1_;
23276 MenhirLib.EngineTypes.next = _menhir_stack;
23277 };
23278 } = _menhir_stack in
23279 let _2 : (
23280 # 110 "parser_cocci_menhir.mly"
23281 (Data.clt)
23282 # 23283 "parser_cocci_menhir.ml"
23283 ) = Obj.magic _2 in
23284 let _1 : 'tv_initialize2 = Obj.magic _1 in
23285 let _startpos = _startpos__1_ in
23286 let _endpos = _endpos__2_ in
23287 let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
23288 # 1767 "parser_cocci_menhir.mly"
23289 ( fun build_dots build_comma ->
23290 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
23291 # 23292 "parser_cocci_menhir.ml"
23292 in
23293 _menhir_env.MenhirLib.EngineTypes.stack <- {
23294 MenhirLib.EngineTypes.state = _menhir_s;
23295 MenhirLib.EngineTypes.semv = Obj.repr _v;
23296 MenhirLib.EngineTypes.startp = _startpos;
23297 MenhirLib.EngineTypes.endp = _endpos;
23298 MenhirLib.EngineTypes.next = _menhir_stack;
23299 });
23300 (fun _menhir_env ->
23301 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23302 let {
23303 MenhirLib.EngineTypes.semv = _3;
23304 MenhirLib.EngineTypes.startp = _startpos__3_;
23305 MenhirLib.EngineTypes.endp = _endpos__3_;
23306 MenhirLib.EngineTypes.next = {
23307 MenhirLib.EngineTypes.semv = _2;
23308 MenhirLib.EngineTypes.startp = _startpos__2_;
23309 MenhirLib.EngineTypes.endp = _endpos__2_;
23310 MenhirLib.EngineTypes.next = {
23311 MenhirLib.EngineTypes.state = _menhir_s;
23312 MenhirLib.EngineTypes.semv = _1;
23313 MenhirLib.EngineTypes.startp = _startpos__1_;
23314 MenhirLib.EngineTypes.endp = _endpos__1_;
23315 MenhirLib.EngineTypes.next = _menhir_stack;
23316 };
23317 };
23318 } = _menhir_stack in
23319 let _3 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _3 in
23320 let _2 : (
23321 # 110 "parser_cocci_menhir.mly"
23322 (Data.clt)
23323 # 23324 "parser_cocci_menhir.ml"
23324 ) = Obj.magic _2 in
23325 let _1 : 'tv_initialize2 = Obj.magic _1 in
23326 let _startpos = _startpos__1_ in
23327 let _endpos = _endpos__3_ in
23328 let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
23329 # 1770 "parser_cocci_menhir.mly"
23330 ( fun build_dots build_comma ->
23331 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
23332 (_3 build_dots build_comma) )
23333 # 23334 "parser_cocci_menhir.ml"
23334 in
23335 _menhir_env.MenhirLib.EngineTypes.stack <- {
23336 MenhirLib.EngineTypes.state = _menhir_s;
23337 MenhirLib.EngineTypes.semv = Obj.repr _v;
23338 MenhirLib.EngineTypes.startp = _startpos;
23339 MenhirLib.EngineTypes.endp = _endpos;
23340 MenhirLib.EngineTypes.next = _menhir_stack;
23341 });
23342 (fun _menhir_env ->
23343 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23344 let {
23345 MenhirLib.EngineTypes.semv = _2;
23346 MenhirLib.EngineTypes.startp = _startpos__2_;
23347 MenhirLib.EngineTypes.endp = _endpos__2_;
23348 MenhirLib.EngineTypes.next = {
23349 MenhirLib.EngineTypes.state = _menhir_s;
23350 MenhirLib.EngineTypes.startp = _startpos__1_;
23351 MenhirLib.EngineTypes.endp = _endpos__1_;
23352 MenhirLib.EngineTypes.next = _menhir_stack;
23353 };
23354 } = _menhir_stack in
23355 let _2 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _2 in
23356 let _startpos = _startpos__1_ in
23357 let _endpos = _endpos__2_ in
23358 let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
23359 # 1773 "parser_cocci_menhir.mly"
23360 ( _2 )
23361 # 23362 "parser_cocci_menhir.ml"
23362 in
23363 _menhir_env.MenhirLib.EngineTypes.stack <- {
23364 MenhirLib.EngineTypes.state = _menhir_s;
23365 MenhirLib.EngineTypes.semv = Obj.repr _v;
23366 MenhirLib.EngineTypes.startp = _startpos;
23367 MenhirLib.EngineTypes.endp = _endpos;
23368 MenhirLib.EngineTypes.next = _menhir_stack;
23369 });
23370 (fun _menhir_env ->
23371 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23372 let {
23373 MenhirLib.EngineTypes.state = _menhir_s;
23374 MenhirLib.EngineTypes.semv = d;
23375 MenhirLib.EngineTypes.startp = _startpos_d_;
23376 MenhirLib.EngineTypes.endp = _endpos_d_;
23377 MenhirLib.EngineTypes.next = _menhir_stack;
23378 } = _menhir_stack in
23379 let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
23380 let _startpos = _startpos_d_ in
23381 let _endpos = _endpos_d_ in
23382 let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
23383 # 1774 "parser_cocci_menhir.mly"
23384 ( fun build_dots build_comma -> [(build_dots "..." d)] )
23385 # 23386 "parser_cocci_menhir.ml"
23386 in
23387 _menhir_env.MenhirLib.EngineTypes.stack <- {
23388 MenhirLib.EngineTypes.state = _menhir_s;
23389 MenhirLib.EngineTypes.semv = Obj.repr _v;
23390 MenhirLib.EngineTypes.startp = _startpos;
23391 MenhirLib.EngineTypes.endp = _endpos;
23392 MenhirLib.EngineTypes.next = _menhir_stack;
23393 });
23394 (fun _menhir_env ->
23395 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23396 let {
23397 MenhirLib.EngineTypes.semv = _2;
23398 MenhirLib.EngineTypes.startp = _startpos__2_;
23399 MenhirLib.EngineTypes.endp = _endpos__2_;
23400 MenhirLib.EngineTypes.next = {
23401 MenhirLib.EngineTypes.state = _menhir_s;
23402 MenhirLib.EngineTypes.semv = d;
23403 MenhirLib.EngineTypes.startp = _startpos_d_;
23404 MenhirLib.EngineTypes.endp = _endpos_d_;
23405 MenhirLib.EngineTypes.next = _menhir_stack;
23406 };
23407 } = _menhir_stack in
23408 let _2 : (
23409 # 110 "parser_cocci_menhir.mly"
23410 (Data.clt)
23411 # 23412 "parser_cocci_menhir.ml"
23412 ) = Obj.magic _2 in
23413 let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
23414 let _startpos = _startpos_d_ in
23415 let _endpos = _endpos__2_ in
23416 let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
23417 # 1776 "parser_cocci_menhir.mly"
23418 ( fun build_dots build_comma ->
23419 [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
23420 # 23421 "parser_cocci_menhir.ml"
23421 in
23422 _menhir_env.MenhirLib.EngineTypes.stack <- {
23423 MenhirLib.EngineTypes.state = _menhir_s;
23424 MenhirLib.EngineTypes.semv = Obj.repr _v;
23425 MenhirLib.EngineTypes.startp = _startpos;
23426 MenhirLib.EngineTypes.endp = _endpos;
23427 MenhirLib.EngineTypes.next = _menhir_stack;
23428 });
23429 (fun _menhir_env ->
23430 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23431 let {
23432 MenhirLib.EngineTypes.semv = r;
23433 MenhirLib.EngineTypes.startp = _startpos_r_;
23434 MenhirLib.EngineTypes.endp = _endpos_r_;
23435 MenhirLib.EngineTypes.next = {
23436 MenhirLib.EngineTypes.semv = _2;
23437 MenhirLib.EngineTypes.startp = _startpos__2_;
23438 MenhirLib.EngineTypes.endp = _endpos__2_;
23439 MenhirLib.EngineTypes.next = {
23440 MenhirLib.EngineTypes.state = _menhir_s;
23441 MenhirLib.EngineTypes.semv = d;
23442 MenhirLib.EngineTypes.startp = _startpos_d_;
23443 MenhirLib.EngineTypes.endp = _endpos_d_;
23444 MenhirLib.EngineTypes.next = _menhir_stack;
23445 };
23446 };
23447 } = _menhir_stack in
23448 let r : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic r in
23449 let _2 : (
23450 # 110 "parser_cocci_menhir.mly"
23451 (Data.clt)
23452 # 23453 "parser_cocci_menhir.ml"
23453 ) = Obj.magic _2 in
23454 let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
23455 let _startpos = _startpos_d_ in
23456 let _endpos = _endpos_r_ in
23457 let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
23458 # 1779 "parser_cocci_menhir.mly"
23459 ( fun build_dots build_comma ->
23460 (build_dots "..." d)::
23461 (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
23462 (r build_dots build_comma) )
23463 # 23464 "parser_cocci_menhir.ml"
23464 in
23465 _menhir_env.MenhirLib.EngineTypes.stack <- {
23466 MenhirLib.EngineTypes.state = _menhir_s;
23467 MenhirLib.EngineTypes.semv = Obj.repr _v;
23468 MenhirLib.EngineTypes.startp = _startpos;
23469 MenhirLib.EngineTypes.endp = _endpos;
23470 MenhirLib.EngineTypes.next = _menhir_stack;
23471 });
23472 (fun _menhir_env ->
23473 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23474 let {
23475 MenhirLib.EngineTypes.state = _menhir_s;
23476 MenhirLib.EngineTypes.semv = _1;
23477 MenhirLib.EngineTypes.startp = _startpos__1_;
23478 MenhirLib.EngineTypes.endp = _endpos__1_;
23479 MenhirLib.EngineTypes.next = _menhir_stack;
23480 } = _menhir_stack in
23481 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
23482 let _startpos = _startpos__1_ in
23483 let _endpos = _endpos__1_ in
23484 let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
23485 # 1765 "parser_cocci_menhir.mly"
23486 ( fun build_dots build_comma -> [_1] )
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.semv = _2;
23500 MenhirLib.EngineTypes.startp = _startpos__2_;
23501 MenhirLib.EngineTypes.endp = _endpos__2_;
23502 MenhirLib.EngineTypes.next = {
23503 MenhirLib.EngineTypes.state = _menhir_s;
23504 MenhirLib.EngineTypes.semv = _1;
23505 MenhirLib.EngineTypes.startp = _startpos__1_;
23506 MenhirLib.EngineTypes.endp = _endpos__1_;
23507 MenhirLib.EngineTypes.next = _menhir_stack;
23508 };
23509 } = _menhir_stack in
23510 let _2 : (
23511 # 110 "parser_cocci_menhir.mly"
23512 (Data.clt)
23513 # 23514 "parser_cocci_menhir.ml"
23514 ) = Obj.magic _2 in
23515 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
23516 let _startpos = _startpos__1_ in
23517 let _endpos = _endpos__2_ in
23518 let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
23519 # 1767 "parser_cocci_menhir.mly"
23520 ( fun build_dots build_comma ->
23521 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
23522 # 23523 "parser_cocci_menhir.ml"
23523 in
23524 _menhir_env.MenhirLib.EngineTypes.stack <- {
23525 MenhirLib.EngineTypes.state = _menhir_s;
23526 MenhirLib.EngineTypes.semv = Obj.repr _v;
23527 MenhirLib.EngineTypes.startp = _startpos;
23528 MenhirLib.EngineTypes.endp = _endpos;
23529 MenhirLib.EngineTypes.next = _menhir_stack;
23530 });
23531 (fun _menhir_env ->
23532 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23533 let {
23534 MenhirLib.EngineTypes.semv = _3;
23535 MenhirLib.EngineTypes.startp = _startpos__3_;
23536 MenhirLib.EngineTypes.endp = _endpos__3_;
23537 MenhirLib.EngineTypes.next = {
23538 MenhirLib.EngineTypes.semv = _2;
23539 MenhirLib.EngineTypes.startp = _startpos__2_;
23540 MenhirLib.EngineTypes.endp = _endpos__2_;
23541 MenhirLib.EngineTypes.next = {
23542 MenhirLib.EngineTypes.state = _menhir_s;
23543 MenhirLib.EngineTypes.semv = _1;
23544 MenhirLib.EngineTypes.startp = _startpos__1_;
23545 MenhirLib.EngineTypes.endp = _endpos__1_;
23546 MenhirLib.EngineTypes.next = _menhir_stack;
23547 };
23548 };
23549 } = _menhir_stack in
23550 let _3 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in
23551 let _2 : (
23552 # 110 "parser_cocci_menhir.mly"
23553 (Data.clt)
23554 # 23555 "parser_cocci_menhir.ml"
23555 ) = Obj.magic _2 in
23556 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
23557 let _startpos = _startpos__1_ in
23558 let _endpos = _endpos__3_ in
23559 let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
23560 # 1770 "parser_cocci_menhir.mly"
23561 ( fun build_dots build_comma ->
23562 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
23563 (_3 build_dots build_comma) )
23564 # 23565 "parser_cocci_menhir.ml"
23565 in
23566 _menhir_env.MenhirLib.EngineTypes.stack <- {
23567 MenhirLib.EngineTypes.state = _menhir_s;
23568 MenhirLib.EngineTypes.semv = Obj.repr _v;
23569 MenhirLib.EngineTypes.startp = _startpos;
23570 MenhirLib.EngineTypes.endp = _endpos;
23571 MenhirLib.EngineTypes.next = _menhir_stack;
23572 });
23573 (fun _menhir_env ->
23574 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23575 let {
23576 MenhirLib.EngineTypes.semv = _2;
23577 MenhirLib.EngineTypes.startp = _startpos__2_;
23578 MenhirLib.EngineTypes.endp = _endpos__2_;
23579 MenhirLib.EngineTypes.next = {
23580 MenhirLib.EngineTypes.state = _menhir_s;
23581 MenhirLib.EngineTypes.startp = _startpos__1_;
23582 MenhirLib.EngineTypes.endp = _endpos__1_;
23583 MenhirLib.EngineTypes.next = _menhir_stack;
23584 };
23585 } = _menhir_stack in
23586 let _2 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _2 in
23587 let _startpos = _startpos__1_ in
23588 let _endpos = _endpos__2_ in
23589 let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
23590 # 1773 "parser_cocci_menhir.mly"
23591 ( _2 )
23592 # 23593 "parser_cocci_menhir.ml"
23593 in
23594 _menhir_env.MenhirLib.EngineTypes.stack <- {
23595 MenhirLib.EngineTypes.state = _menhir_s;
23596 MenhirLib.EngineTypes.semv = Obj.repr _v;
23597 MenhirLib.EngineTypes.startp = _startpos;
23598 MenhirLib.EngineTypes.endp = _endpos;
23599 MenhirLib.EngineTypes.next = _menhir_stack;
23600 });
23601 (fun _menhir_env ->
23602 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23603 let {
23604 MenhirLib.EngineTypes.state = _menhir_s;
23605 MenhirLib.EngineTypes.semv = d;
23606 MenhirLib.EngineTypes.startp = _startpos_d_;
23607 MenhirLib.EngineTypes.endp = _endpos_d_;
23608 MenhirLib.EngineTypes.next = _menhir_stack;
23609 } = _menhir_stack in
23610 let d : (
23611 # 76 "parser_cocci_menhir.mly"
23612 (Data.clt)
23613 # 23614 "parser_cocci_menhir.ml"
23614 ) = Obj.magic d in
23615 let _startpos = _startpos_d_ in
23616 let _endpos = _endpos_d_ in
23617 let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
23618 # 1774 "parser_cocci_menhir.mly"
23619 ( fun build_dots build_comma -> [(build_dots "..." d)] )
23620 # 23621 "parser_cocci_menhir.ml"
23621 in
23622 _menhir_env.MenhirLib.EngineTypes.stack <- {
23623 MenhirLib.EngineTypes.state = _menhir_s;
23624 MenhirLib.EngineTypes.semv = Obj.repr _v;
23625 MenhirLib.EngineTypes.startp = _startpos;
23626 MenhirLib.EngineTypes.endp = _endpos;
23627 MenhirLib.EngineTypes.next = _menhir_stack;
23628 });
23629 (fun _menhir_env ->
23630 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23631 let {
23632 MenhirLib.EngineTypes.semv = _2;
23633 MenhirLib.EngineTypes.startp = _startpos__2_;
23634 MenhirLib.EngineTypes.endp = _endpos__2_;
23635 MenhirLib.EngineTypes.next = {
23636 MenhirLib.EngineTypes.state = _menhir_s;
23637 MenhirLib.EngineTypes.semv = d;
23638 MenhirLib.EngineTypes.startp = _startpos_d_;
23639 MenhirLib.EngineTypes.endp = _endpos_d_;
23640 MenhirLib.EngineTypes.next = _menhir_stack;
23641 };
23642 } = _menhir_stack in
23643 let _2 : (
23644 # 110 "parser_cocci_menhir.mly"
23645 (Data.clt)
23646 # 23647 "parser_cocci_menhir.ml"
23647 ) = Obj.magic _2 in
23648 let d : (
23649 # 76 "parser_cocci_menhir.mly"
23650 (Data.clt)
23651 # 23652 "parser_cocci_menhir.ml"
23652 ) = Obj.magic d in
23653 let _startpos = _startpos_d_ in
23654 let _endpos = _endpos__2_ in
23655 let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
23656 # 1776 "parser_cocci_menhir.mly"
23657 ( fun build_dots build_comma ->
23658 [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
23659 # 23660 "parser_cocci_menhir.ml"
23660 in
23661 _menhir_env.MenhirLib.EngineTypes.stack <- {
23662 MenhirLib.EngineTypes.state = _menhir_s;
23663 MenhirLib.EngineTypes.semv = Obj.repr _v;
23664 MenhirLib.EngineTypes.startp = _startpos;
23665 MenhirLib.EngineTypes.endp = _endpos;
23666 MenhirLib.EngineTypes.next = _menhir_stack;
23667 });
23668 (fun _menhir_env ->
23669 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23670 let {
23671 MenhirLib.EngineTypes.semv = r;
23672 MenhirLib.EngineTypes.startp = _startpos_r_;
23673 MenhirLib.EngineTypes.endp = _endpos_r_;
23674 MenhirLib.EngineTypes.next = {
23675 MenhirLib.EngineTypes.semv = _2;
23676 MenhirLib.EngineTypes.startp = _startpos__2_;
23677 MenhirLib.EngineTypes.endp = _endpos__2_;
23678 MenhirLib.EngineTypes.next = {
23679 MenhirLib.EngineTypes.state = _menhir_s;
23680 MenhirLib.EngineTypes.semv = d;
23681 MenhirLib.EngineTypes.startp = _startpos_d_;
23682 MenhirLib.EngineTypes.endp = _endpos_d_;
23683 MenhirLib.EngineTypes.next = _menhir_stack;
23684 };
23685 };
23686 } = _menhir_stack in
23687 let r : 'tv_continue_list_one_dec_decl__TEllipsis_ = Obj.magic r in
23688 let _2 : (
23689 # 110 "parser_cocci_menhir.mly"
23690 (Data.clt)
23691 # 23692 "parser_cocci_menhir.ml"
23692 ) = Obj.magic _2 in
23693 let d : (
23694 # 76 "parser_cocci_menhir.mly"
23695 (Data.clt)
23696 # 23697 "parser_cocci_menhir.ml"
23697 ) = Obj.magic d in
23698 let _startpos = _startpos_d_ in
23699 let _endpos = _endpos_r_ in
23700 let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
23701 # 1779 "parser_cocci_menhir.mly"
23702 ( fun build_dots build_comma ->
23703 (build_dots "..." d)::
23704 (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
23705 (r build_dots build_comma) )
23706 # 23707 "parser_cocci_menhir.ml"
23707 in
23708 _menhir_env.MenhirLib.EngineTypes.stack <- {
23709 MenhirLib.EngineTypes.state = _menhir_s;
23710 MenhirLib.EngineTypes.semv = Obj.repr _v;
23711 MenhirLib.EngineTypes.startp = _startpos;
23712 MenhirLib.EngineTypes.endp = _endpos;
23713 MenhirLib.EngineTypes.next = _menhir_stack;
23714 });
23715 (fun _menhir_env ->
23716 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23717 let {
23718 MenhirLib.EngineTypes.state = _menhir_s;
23719 MenhirLib.EngineTypes.semv = _1;
23720 MenhirLib.EngineTypes.startp = _startpos__1_;
23721 MenhirLib.EngineTypes.endp = _endpos__1_;
23722 MenhirLib.EngineTypes.next = _menhir_stack;
23723 } = _menhir_stack in
23724 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
23725 let _startpos = _startpos__1_ in
23726 let _endpos = _endpos__1_ in
23727 let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
23728 # 1765 "parser_cocci_menhir.mly"
23729 ( fun build_dots build_comma -> [_1] )
23730 # 23731 "parser_cocci_menhir.ml"
23731 in
23732 _menhir_env.MenhirLib.EngineTypes.stack <- {
23733 MenhirLib.EngineTypes.state = _menhir_s;
23734 MenhirLib.EngineTypes.semv = Obj.repr _v;
23735 MenhirLib.EngineTypes.startp = _startpos;
23736 MenhirLib.EngineTypes.endp = _endpos;
23737 MenhirLib.EngineTypes.next = _menhir_stack;
23738 });
23739 (fun _menhir_env ->
23740 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23741 let {
23742 MenhirLib.EngineTypes.semv = _2;
23743 MenhirLib.EngineTypes.startp = _startpos__2_;
23744 MenhirLib.EngineTypes.endp = _endpos__2_;
23745 MenhirLib.EngineTypes.next = {
23746 MenhirLib.EngineTypes.state = _menhir_s;
23747 MenhirLib.EngineTypes.semv = _1;
23748 MenhirLib.EngineTypes.startp = _startpos__1_;
23749 MenhirLib.EngineTypes.endp = _endpos__1_;
23750 MenhirLib.EngineTypes.next = _menhir_stack;
23751 };
23752 } = _menhir_stack in
23753 let _2 : (
23754 # 110 "parser_cocci_menhir.mly"
23755 (Data.clt)
23756 # 23757 "parser_cocci_menhir.ml"
23757 ) = Obj.magic _2 in
23758 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
23759 let _startpos = _startpos__1_ in
23760 let _endpos = _endpos__2_ in
23761 let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
23762 # 1767 "parser_cocci_menhir.mly"
23763 ( fun build_dots build_comma ->
23764 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
23765 # 23766 "parser_cocci_menhir.ml"
23766 in
23767 _menhir_env.MenhirLib.EngineTypes.stack <- {
23768 MenhirLib.EngineTypes.state = _menhir_s;
23769 MenhirLib.EngineTypes.semv = Obj.repr _v;
23770 MenhirLib.EngineTypes.startp = _startpos;
23771 MenhirLib.EngineTypes.endp = _endpos;
23772 MenhirLib.EngineTypes.next = _menhir_stack;
23773 });
23774 (fun _menhir_env ->
23775 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23776 let {
23777 MenhirLib.EngineTypes.semv = _3;
23778 MenhirLib.EngineTypes.startp = _startpos__3_;
23779 MenhirLib.EngineTypes.endp = _endpos__3_;
23780 MenhirLib.EngineTypes.next = {
23781 MenhirLib.EngineTypes.semv = _2;
23782 MenhirLib.EngineTypes.startp = _startpos__2_;
23783 MenhirLib.EngineTypes.endp = _endpos__2_;
23784 MenhirLib.EngineTypes.next = {
23785 MenhirLib.EngineTypes.state = _menhir_s;
23786 MenhirLib.EngineTypes.semv = _1;
23787 MenhirLib.EngineTypes.startp = _startpos__1_;
23788 MenhirLib.EngineTypes.endp = _endpos__1_;
23789 MenhirLib.EngineTypes.next = _menhir_stack;
23790 };
23791 };
23792 } = _menhir_stack in
23793 let _3 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _3 in
23794 let _2 : (
23795 # 110 "parser_cocci_menhir.mly"
23796 (Data.clt)
23797 # 23798 "parser_cocci_menhir.ml"
23798 ) = Obj.magic _2 in
23799 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
23800 let _startpos = _startpos__1_ in
23801 let _endpos = _endpos__3_ in
23802 let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
23803 # 1770 "parser_cocci_menhir.mly"
23804 ( fun build_dots build_comma ->
23805 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
23806 (_3 build_dots build_comma) )
23807 # 23808 "parser_cocci_menhir.ml"
23808 in
23809 _menhir_env.MenhirLib.EngineTypes.stack <- {
23810 MenhirLib.EngineTypes.state = _menhir_s;
23811 MenhirLib.EngineTypes.semv = Obj.repr _v;
23812 MenhirLib.EngineTypes.startp = _startpos;
23813 MenhirLib.EngineTypes.endp = _endpos;
23814 MenhirLib.EngineTypes.next = _menhir_stack;
23815 });
23816 (fun _menhir_env ->
23817 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23818 let {
23819 MenhirLib.EngineTypes.semv = _2;
23820 MenhirLib.EngineTypes.startp = _startpos__2_;
23821 MenhirLib.EngineTypes.endp = _endpos__2_;
23822 MenhirLib.EngineTypes.next = {
23823 MenhirLib.EngineTypes.state = _menhir_s;
23824 MenhirLib.EngineTypes.startp = _startpos__1_;
23825 MenhirLib.EngineTypes.endp = _endpos__1_;
23826 MenhirLib.EngineTypes.next = _menhir_stack;
23827 };
23828 } = _menhir_stack in
23829 let _2 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _2 in
23830 let _startpos = _startpos__1_ in
23831 let _endpos = _endpos__2_ in
23832 let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
23833 # 1773 "parser_cocci_menhir.mly"
23834 ( _2 )
23835 # 23836 "parser_cocci_menhir.ml"
23836 in
23837 _menhir_env.MenhirLib.EngineTypes.stack <- {
23838 MenhirLib.EngineTypes.state = _menhir_s;
23839 MenhirLib.EngineTypes.semv = Obj.repr _v;
23840 MenhirLib.EngineTypes.startp = _startpos;
23841 MenhirLib.EngineTypes.endp = _endpos;
23842 MenhirLib.EngineTypes.next = _menhir_stack;
23843 });
23844 (fun _menhir_env ->
23845 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23846 let {
23847 MenhirLib.EngineTypes.state = _menhir_s;
23848 MenhirLib.EngineTypes.semv = d;
23849 MenhirLib.EngineTypes.startp = _startpos_d_;
23850 MenhirLib.EngineTypes.endp = _endpos_d_;
23851 MenhirLib.EngineTypes.next = _menhir_stack;
23852 } = _menhir_stack in
23853 let d : (
23854 # 76 "parser_cocci_menhir.mly"
23855 (Data.clt)
23856 # 23857 "parser_cocci_menhir.ml"
23857 ) = Obj.magic d in
23858 let _startpos = _startpos_d_ in
23859 let _endpos = _endpos_d_ in
23860 let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
23861 # 1774 "parser_cocci_menhir.mly"
23862 ( fun build_dots build_comma -> [(build_dots "..." d)] )
23863 # 23864 "parser_cocci_menhir.ml"
23864 in
23865 _menhir_env.MenhirLib.EngineTypes.stack <- {
23866 MenhirLib.EngineTypes.state = _menhir_s;
23867 MenhirLib.EngineTypes.semv = Obj.repr _v;
23868 MenhirLib.EngineTypes.startp = _startpos;
23869 MenhirLib.EngineTypes.endp = _endpos;
23870 MenhirLib.EngineTypes.next = _menhir_stack;
23871 });
23872 (fun _menhir_env ->
23873 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23874 let {
23875 MenhirLib.EngineTypes.semv = _2;
23876 MenhirLib.EngineTypes.startp = _startpos__2_;
23877 MenhirLib.EngineTypes.endp = _endpos__2_;
23878 MenhirLib.EngineTypes.next = {
23879 MenhirLib.EngineTypes.state = _menhir_s;
23880 MenhirLib.EngineTypes.semv = d;
23881 MenhirLib.EngineTypes.startp = _startpos_d_;
23882 MenhirLib.EngineTypes.endp = _endpos_d_;
23883 MenhirLib.EngineTypes.next = _menhir_stack;
23884 };
23885 } = _menhir_stack in
23886 let _2 : (
23887 # 110 "parser_cocci_menhir.mly"
23888 (Data.clt)
23889 # 23890 "parser_cocci_menhir.ml"
23890 ) = Obj.magic _2 in
23891 let d : (
23892 # 76 "parser_cocci_menhir.mly"
23893 (Data.clt)
23894 # 23895 "parser_cocci_menhir.ml"
23895 ) = Obj.magic d in
23896 let _startpos = _startpos_d_ in
23897 let _endpos = _endpos__2_ in
23898 let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
23899 # 1776 "parser_cocci_menhir.mly"
23900 ( fun build_dots build_comma ->
23901 [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
23902 # 23903 "parser_cocci_menhir.ml"
23903 in
23904 _menhir_env.MenhirLib.EngineTypes.stack <- {
23905 MenhirLib.EngineTypes.state = _menhir_s;
23906 MenhirLib.EngineTypes.semv = Obj.repr _v;
23907 MenhirLib.EngineTypes.startp = _startpos;
23908 MenhirLib.EngineTypes.endp = _endpos;
23909 MenhirLib.EngineTypes.next = _menhir_stack;
23910 });
23911 (fun _menhir_env ->
23912 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23913 let {
23914 MenhirLib.EngineTypes.semv = r;
23915 MenhirLib.EngineTypes.startp = _startpos_r_;
23916 MenhirLib.EngineTypes.endp = _endpos_r_;
23917 MenhirLib.EngineTypes.next = {
23918 MenhirLib.EngineTypes.semv = _2;
23919 MenhirLib.EngineTypes.startp = _startpos__2_;
23920 MenhirLib.EngineTypes.endp = _endpos__2_;
23921 MenhirLib.EngineTypes.next = {
23922 MenhirLib.EngineTypes.state = _menhir_s;
23923 MenhirLib.EngineTypes.semv = d;
23924 MenhirLib.EngineTypes.startp = _startpos_d_;
23925 MenhirLib.EngineTypes.endp = _endpos_d_;
23926 MenhirLib.EngineTypes.next = _menhir_stack;
23927 };
23928 };
23929 } = _menhir_stack in
23930 let r : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = Obj.magic r in
23931 let _2 : (
23932 # 110 "parser_cocci_menhir.mly"
23933 (Data.clt)
23934 # 23935 "parser_cocci_menhir.ml"
23935 ) = Obj.magic _2 in
23936 let d : (
23937 # 76 "parser_cocci_menhir.mly"
23938 (Data.clt)
23939 # 23940 "parser_cocci_menhir.ml"
23940 ) = Obj.magic d in
23941 let _startpos = _startpos_d_ in
23942 let _endpos = _endpos_r_ in
23943 let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
23944 # 1779 "parser_cocci_menhir.mly"
23945 ( fun build_dots build_comma ->
23946 (build_dots "..." d)::
23947 (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
23948 (r build_dots build_comma) )
23949 # 23950 "parser_cocci_menhir.ml"
23950 in
23951 _menhir_env.MenhirLib.EngineTypes.stack <- {
23952 MenhirLib.EngineTypes.state = _menhir_s;
23953 MenhirLib.EngineTypes.semv = Obj.repr _v;
23954 MenhirLib.EngineTypes.startp = _startpos;
23955 MenhirLib.EngineTypes.endp = _endpos;
23956 MenhirLib.EngineTypes.next = _menhir_stack;
23957 });
23958 (fun _menhir_env ->
23959 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23960 let {
23961 MenhirLib.EngineTypes.semv = i;
23962 MenhirLib.EngineTypes.startp = _startpos_i_;
23963 MenhirLib.EngineTypes.endp = _endpos_i_;
23964 MenhirLib.EngineTypes.next = {
23965 MenhirLib.EngineTypes.state = _menhir_s;
23966 MenhirLib.EngineTypes.startp = _startpos__1_;
23967 MenhirLib.EngineTypes.endp = _endpos__1_;
23968 MenhirLib.EngineTypes.next = _menhir_stack;
23969 };
23970 } = _menhir_stack in
23971 let i : 'tv_ident_or_const = Obj.magic i in
23972 let _startpos = _startpos__1_ in
23973 let _endpos = _endpos_i_ in
23974 let _v : 'tv_not_ceq =
23975 # 1626 "parser_cocci_menhir.mly"
23976 ( (if !Data.in_iso
23977 then failwith "constraints not allowed in iso file");
23978 (if !Data.in_generating
23979 then failwith "constraints not allowed in a generated rule file");
23980 [i] )
23981 # 23982 "parser_cocci_menhir.ml"
23982 in
23983 _menhir_env.MenhirLib.EngineTypes.stack <- {
23984 MenhirLib.EngineTypes.state = _menhir_s;
23985 MenhirLib.EngineTypes.semv = Obj.repr _v;
23986 MenhirLib.EngineTypes.startp = _startpos;
23987 MenhirLib.EngineTypes.endp = _endpos;
23988 MenhirLib.EngineTypes.next = _menhir_stack;
23989 });
23990 (fun _menhir_env ->
23991 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23992 let {
23993 MenhirLib.EngineTypes.startp = _startpos__4_;
23994 MenhirLib.EngineTypes.endp = _endpos__4_;
23995 MenhirLib.EngineTypes.next = {
23996 MenhirLib.EngineTypes.semv = l;
23997 MenhirLib.EngineTypes.startp = _startpos_l_;
23998 MenhirLib.EngineTypes.endp = _endpos_l_;
23999 MenhirLib.EngineTypes.next = {
24000 MenhirLib.EngineTypes.startp = _startpos__2_;
24001 MenhirLib.EngineTypes.endp = _endpos__2_;
24002 MenhirLib.EngineTypes.next = {
24003 MenhirLib.EngineTypes.state = _menhir_s;
24004 MenhirLib.EngineTypes.startp = _startpos__1_;
24005 MenhirLib.EngineTypes.endp = _endpos__1_;
24006 MenhirLib.EngineTypes.next = _menhir_stack;
24007 };
24008 };
24009 };
24010 } = _menhir_stack in
24011 let l : 'tv_comma_list_ident_or_const_ = Obj.magic l in
24012 let _startpos = _startpos__1_ in
24013 let _endpos = _endpos__4_ in
24014 let _v : 'tv_not_ceq =
24015 # 1632 "parser_cocci_menhir.mly"
24016 ( (if !Data.in_iso
24017 then failwith "constraints not allowed in iso file");
24018 (if !Data.in_generating
24019 then failwith "constraints not allowed in a generated rule file");
24020 l )
24021 # 24022 "parser_cocci_menhir.ml"
24022 in
24023 _menhir_env.MenhirLib.EngineTypes.stack <- {
24024 MenhirLib.EngineTypes.state = _menhir_s;
24025 MenhirLib.EngineTypes.semv = Obj.repr _v;
24026 MenhirLib.EngineTypes.startp = _startpos;
24027 MenhirLib.EngineTypes.endp = _endpos;
24028 MenhirLib.EngineTypes.next = _menhir_stack;
24029 });
24030 (fun _menhir_env ->
24031 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24032 let {
24033 MenhirLib.EngineTypes.state = _menhir_s;
24034 MenhirLib.EngineTypes.semv = ceq;
24035 MenhirLib.EngineTypes.startp = _startpos_ceq_;
24036 MenhirLib.EngineTypes.endp = _endpos_ceq_;
24037 MenhirLib.EngineTypes.next = _menhir_stack;
24038 } = _menhir_stack in
24039 let ceq : 'tv_not_ceq = Obj.magic ceq in
24040 let _startpos = _startpos_ceq_ in
24041 let _endpos = _endpos_ceq_ in
24042 let _v : 'tv_not_ceq_or_sub =
24043 # 1602 "parser_cocci_menhir.mly"
24044 (Ast0.NotExpCstrt ceq)
24045 # 24046 "parser_cocci_menhir.ml"
24046 in
24047 _menhir_env.MenhirLib.EngineTypes.stack <- {
24048 MenhirLib.EngineTypes.state = _menhir_s;
24049 MenhirLib.EngineTypes.semv = Obj.repr _v;
24050 MenhirLib.EngineTypes.startp = _startpos;
24051 MenhirLib.EngineTypes.endp = _endpos;
24052 MenhirLib.EngineTypes.next = _menhir_stack;
24053 });
24054 (fun _menhir_env ->
24055 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24056 let {
24057 MenhirLib.EngineTypes.state = _menhir_s;
24058 MenhirLib.EngineTypes.semv = s;
24059 MenhirLib.EngineTypes.startp = _startpos_s_;
24060 MenhirLib.EngineTypes.endp = _endpos_s_;
24061 MenhirLib.EngineTypes.next = _menhir_stack;
24062 } = _menhir_stack in
24063 let s : 'tv_sub = Obj.magic s in
24064 let _startpos = _startpos_s_ in
24065 let _endpos = _endpos_s_ in
24066 let _v : 'tv_not_ceq_or_sub =
24067 # 1603 "parser_cocci_menhir.mly"
24068 (Ast0.SubExpCstrt s)
24069 # 24070 "parser_cocci_menhir.ml"
24070 in
24071 _menhir_env.MenhirLib.EngineTypes.stack <- {
24072 MenhirLib.EngineTypes.state = _menhir_s;
24073 MenhirLib.EngineTypes.semv = Obj.repr _v;
24074 MenhirLib.EngineTypes.startp = _startpos;
24075 MenhirLib.EngineTypes.endp = _endpos;
24076 MenhirLib.EngineTypes.next = _menhir_stack;
24077 });
24078 (fun _menhir_env ->
24079 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24080 let {
24081 MenhirLib.EngineTypes.semv = i;
24082 MenhirLib.EngineTypes.startp = _startpos_i_;
24083 MenhirLib.EngineTypes.endp = _endpos_i_;
24084 MenhirLib.EngineTypes.next = {
24085 MenhirLib.EngineTypes.state = _menhir_s;
24086 MenhirLib.EngineTypes.startp = _startpos__1_;
24087 MenhirLib.EngineTypes.endp = _endpos__1_;
24088 MenhirLib.EngineTypes.next = _menhir_stack;
24089 };
24090 } = _menhir_stack in
24091 let i : 'tv_pure_ident = Obj.magic i in
24092 let _startpos = _startpos__1_ in
24093 let _endpos = _endpos_i_ in
24094 let _v : 'tv_not_eqe =
24095 # 1607 "parser_cocci_menhir.mly"
24096 ( (if !Data.in_iso
24097 then failwith "constraints not allowed in iso file");
24098 (if !Data.in_generating
24099 then failwith "constraints not allowed in a generated rule file");
24100 [Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))]
24101 )
24102 # 24103 "parser_cocci_menhir.ml"
24103 in
24104 _menhir_env.MenhirLib.EngineTypes.stack <- {
24105 MenhirLib.EngineTypes.state = _menhir_s;
24106 MenhirLib.EngineTypes.semv = Obj.repr _v;
24107 MenhirLib.EngineTypes.startp = _startpos;
24108 MenhirLib.EngineTypes.endp = _endpos;
24109 MenhirLib.EngineTypes.next = _menhir_stack;
24110 });
24111 (fun _menhir_env ->
24112 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24113 let {
24114 MenhirLib.EngineTypes.startp = _startpos__4_;
24115 MenhirLib.EngineTypes.endp = _endpos__4_;
24116 MenhirLib.EngineTypes.next = {
24117 MenhirLib.EngineTypes.semv = l;
24118 MenhirLib.EngineTypes.startp = _startpos_l_;
24119 MenhirLib.EngineTypes.endp = _endpos_l_;
24120 MenhirLib.EngineTypes.next = {
24121 MenhirLib.EngineTypes.startp = _startpos__2_;
24122 MenhirLib.EngineTypes.endp = _endpos__2_;
24123 MenhirLib.EngineTypes.next = {
24124 MenhirLib.EngineTypes.state = _menhir_s;
24125 MenhirLib.EngineTypes.startp = _startpos__1_;
24126 MenhirLib.EngineTypes.endp = _endpos__1_;
24127 MenhirLib.EngineTypes.next = _menhir_stack;
24128 };
24129 };
24130 };
24131 } = _menhir_stack in
24132 let l : 'tv_comma_list_pure_ident_ = Obj.magic l in
24133 let _startpos = _startpos__1_ in
24134 let _endpos = _endpos__4_ in
24135 let _v : 'tv_not_eqe =
24136 # 1614 "parser_cocci_menhir.mly"
24137 ( (if !Data.in_iso
24138 then failwith "constraints not allowed in iso file");
24139 (if !Data.in_generating
24140 then failwith "constraints not allowed in a generated rule file");
24141 List.map
24142 (function i ->
24143 Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))))
24144 l
24145 )
24146 # 24147 "parser_cocci_menhir.ml"
24147 in
24148 _menhir_env.MenhirLib.EngineTypes.stack <- {
24149 MenhirLib.EngineTypes.state = _menhir_s;
24150 MenhirLib.EngineTypes.semv = Obj.repr _v;
24151 MenhirLib.EngineTypes.startp = _startpos;
24152 MenhirLib.EngineTypes.endp = _endpos;
24153 MenhirLib.EngineTypes.next = _menhir_stack;
24154 });
24155 (fun _menhir_env ->
24156 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24157 let {
24158 MenhirLib.EngineTypes.semv = i;
24159 MenhirLib.EngineTypes.startp = _startpos_i_;
24160 MenhirLib.EngineTypes.endp = _endpos_i_;
24161 MenhirLib.EngineTypes.next = {
24162 MenhirLib.EngineTypes.state = _menhir_s;
24163 MenhirLib.EngineTypes.startp = _startpos__1_;
24164 MenhirLib.EngineTypes.endp = _endpos__1_;
24165 MenhirLib.EngineTypes.next = _menhir_stack;
24166 };
24167 } = _menhir_stack in
24168 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
24169 let _startpos = _startpos__1_ in
24170 let _endpos = _endpos_i_ in
24171 let _v : 'tv_not_eqid =
24172 # 1564 "parser_cocci_menhir.mly"
24173 ( (if !Data.in_iso
24174 then failwith "constraints not allowed in iso file");
24175 (if !Data.in_generating
24176 (* pb: constraints not stored with metavars; too lazy to search for
24177 them in the pattern *)
24178 then failwith "constraints not allowed in a generated rule file");
24179 (match i with
24180 (Some rn,id) ->
24181 let i =
24182 P.check_inherited_constraint i
24183 (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in
24184 Ast.IdNegIdSet([],[i])
24185 | (None,i) -> Ast.IdNegIdSet([i],[])) )
24186 # 24187 "parser_cocci_menhir.ml"
24187 in
24188 _menhir_env.MenhirLib.EngineTypes.stack <- {
24189 MenhirLib.EngineTypes.state = _menhir_s;
24190 MenhirLib.EngineTypes.semv = Obj.repr _v;
24191 MenhirLib.EngineTypes.startp = _startpos;
24192 MenhirLib.EngineTypes.endp = _endpos;
24193 MenhirLib.EngineTypes.next = _menhir_stack;
24194 });
24195 (fun _menhir_env ->
24196 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24197 let {
24198 MenhirLib.EngineTypes.startp = _startpos__4_;
24199 MenhirLib.EngineTypes.endp = _endpos__4_;
24200 MenhirLib.EngineTypes.next = {
24201 MenhirLib.EngineTypes.semv = l;
24202 MenhirLib.EngineTypes.startp = _startpos_l_;
24203 MenhirLib.EngineTypes.endp = _endpos_l_;
24204 MenhirLib.EngineTypes.next = {
24205 MenhirLib.EngineTypes.startp = _startpos__2_;
24206 MenhirLib.EngineTypes.endp = _endpos__2_;
24207 MenhirLib.EngineTypes.next = {
24208 MenhirLib.EngineTypes.state = _menhir_s;
24209 MenhirLib.EngineTypes.startp = _startpos__1_;
24210 MenhirLib.EngineTypes.endp = _endpos__1_;
24211 MenhirLib.EngineTypes.next = _menhir_stack;
24212 };
24213 };
24214 };
24215 } = _menhir_stack in
24216 let l : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic l in
24217 let _startpos = _startpos__1_ in
24218 let _endpos = _endpos__4_ in
24219 let _v : 'tv_not_eqid =
24220 # 1578 "parser_cocci_menhir.mly"
24221 ( (if !Data.in_iso
24222 then failwith "constraints not allowed in iso file");
24223 (if !Data.in_generating
24224 then failwith "constraints not allowed in a generated rule file");
24225 let (str,meta) =
24226 List.fold_left
24227 (function (str,meta) ->
24228 function
24229 (Some rn,id) as i ->
24230 let i =
24231 P.check_inherited_constraint i
24232 (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in
24233 (str,i::meta)
24234 | (None,i) -> (i::str,meta))
24235 ([],[]) l in
24236 Ast.IdNegIdSet(str,meta)
24237 )
24238 # 24239 "parser_cocci_menhir.ml"
24239 in
24240 _menhir_env.MenhirLib.EngineTypes.stack <- {
24241 MenhirLib.EngineTypes.state = _menhir_s;
24242 MenhirLib.EngineTypes.semv = Obj.repr _v;
24243 MenhirLib.EngineTypes.startp = _startpos;
24244 MenhirLib.EngineTypes.endp = _endpos;
24245 MenhirLib.EngineTypes.next = _menhir_stack;
24246 });
24247 (fun _menhir_env ->
24248 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24249 let {
24250 MenhirLib.EngineTypes.semv = i;
24251 MenhirLib.EngineTypes.startp = _startpos_i_;
24252 MenhirLib.EngineTypes.endp = _endpos_i_;
24253 MenhirLib.EngineTypes.next = {
24254 MenhirLib.EngineTypes.state = _menhir_s;
24255 MenhirLib.EngineTypes.startp = _startpos__1_;
24256 MenhirLib.EngineTypes.endp = _endpos__1_;
24257 MenhirLib.EngineTypes.next = _menhir_stack;
24258 };
24259 } = _menhir_stack in
24260 let i : 'tv_meta_ident = Obj.magic i in
24261 let _startpos = _startpos__1_ in
24262 let _endpos = _endpos_i_ in
24263 let _v : 'tv_not_pos =
24264 # 1670 "parser_cocci_menhir.mly"
24265 ( (if !Data.in_iso
24266 then failwith "constraints not allowed in iso file");
24267 (if !Data.in_generating
24268 then failwith "constraints not allowed in a generated rule file");
24269 let i =
24270 P.check_inherited_constraint i
24271 (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)) in
24272 [i] )
24273 # 24274 "parser_cocci_menhir.ml"
24274 in
24275 _menhir_env.MenhirLib.EngineTypes.stack <- {
24276 MenhirLib.EngineTypes.state = _menhir_s;
24277 MenhirLib.EngineTypes.semv = Obj.repr _v;
24278 MenhirLib.EngineTypes.startp = _startpos;
24279 MenhirLib.EngineTypes.endp = _endpos;
24280 MenhirLib.EngineTypes.next = _menhir_stack;
24281 });
24282 (fun _menhir_env ->
24283 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24284 let {
24285 MenhirLib.EngineTypes.startp = _startpos__4_;
24286 MenhirLib.EngineTypes.endp = _endpos__4_;
24287 MenhirLib.EngineTypes.next = {
24288 MenhirLib.EngineTypes.semv = l;
24289 MenhirLib.EngineTypes.startp = _startpos_l_;
24290 MenhirLib.EngineTypes.endp = _endpos_l_;
24291 MenhirLib.EngineTypes.next = {
24292 MenhirLib.EngineTypes.startp = _startpos__2_;
24293 MenhirLib.EngineTypes.endp = _endpos__2_;
24294 MenhirLib.EngineTypes.next = {
24295 MenhirLib.EngineTypes.state = _menhir_s;
24296 MenhirLib.EngineTypes.startp = _startpos__1_;
24297 MenhirLib.EngineTypes.endp = _endpos__1_;
24298 MenhirLib.EngineTypes.next = _menhir_stack;
24299 };
24300 };
24301 };
24302 } = _menhir_stack in
24303 let l : 'tv_comma_list_meta_ident_ = Obj.magic l in
24304 let _startpos = _startpos__1_ in
24305 let _endpos = _endpos__4_ in
24306 let _v : 'tv_not_pos =
24307 # 1679 "parser_cocci_menhir.mly"
24308 ( (if !Data.in_iso
24309 then failwith "constraints not allowed in iso file");
24310 (if !Data.in_generating
24311 then failwith "constraints not allowed in a generated rule file");
24312 List.map
24313 (function i ->
24314 P.check_inherited_constraint i
24315 (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)))
24316 l )
24317 # 24318 "parser_cocci_menhir.ml"
24318 in
24319 _menhir_env.MenhirLib.EngineTypes.stack <- {
24320 MenhirLib.EngineTypes.state = _menhir_s;
24321 MenhirLib.EngineTypes.semv = Obj.repr _v;
24322 MenhirLib.EngineTypes.startp = _startpos;
24323 MenhirLib.EngineTypes.endp = _endpos;
24324 MenhirLib.EngineTypes.next = _menhir_stack;
24325 });
24326 (fun _menhir_env ->
24327 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24328 let {
24329 MenhirLib.EngineTypes.state = _menhir_s;
24330 MenhirLib.EngineTypes.semv = _1;
24331 MenhirLib.EngineTypes.startp = _startpos__1_;
24332 MenhirLib.EngineTypes.endp = _endpos__1_;
24333 MenhirLib.EngineTypes.next = _menhir_stack;
24334 } = _menhir_stack in
24335 let _1 : 'tv_decl = Obj.magic _1 in
24336 let _startpos = _startpos__1_ in
24337 let _endpos = _endpos__1_ in
24338 let _v : 'tv_one_dec_decl_ =
24339 # 1740 "parser_cocci_menhir.mly"
24340 ( _1 )
24341 # 24342 "parser_cocci_menhir.ml"
24342 in
24343 _menhir_env.MenhirLib.EngineTypes.stack <- {
24344 MenhirLib.EngineTypes.state = _menhir_s;
24345 MenhirLib.EngineTypes.semv = Obj.repr _v;
24346 MenhirLib.EngineTypes.startp = _startpos;
24347 MenhirLib.EngineTypes.endp = _endpos;
24348 MenhirLib.EngineTypes.next = _menhir_stack;
24349 });
24350 (fun _menhir_env ->
24351 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24352 let {
24353 MenhirLib.EngineTypes.state = _menhir_s;
24354 MenhirLib.EngineTypes.semv = _1;
24355 MenhirLib.EngineTypes.startp = _startpos__1_;
24356 MenhirLib.EngineTypes.endp = _endpos__1_;
24357 MenhirLib.EngineTypes.next = _menhir_stack;
24358 } = _menhir_stack in
24359 let _1 : (
24360 # 69 "parser_cocci_menhir.mly"
24361 (Parse_aux.list_info)
24362 # 24363 "parser_cocci_menhir.ml"
24363 ) = Obj.magic _1 in
24364 let _startpos = _startpos__1_ in
24365 let _endpos = _endpos__1_ in
24366 let _v : 'tv_one_dec_decl_ =
24367 # 1742 "parser_cocci_menhir.mly"
24368 ( let (nm,lenname,pure,clt) = _1 in
24369 let nm = P.clt2mcode nm clt in
24370 let lenname =
24371 match lenname with
24372 Ast.AnyLen -> Ast0.AnyListLen
24373 | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
24374 | Ast.CstLen n -> Ast0.CstListLen n in
24375 Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
24376 # 24377 "parser_cocci_menhir.ml"
24377 in
24378 _menhir_env.MenhirLib.EngineTypes.stack <- {
24379 MenhirLib.EngineTypes.state = _menhir_s;
24380 MenhirLib.EngineTypes.semv = Obj.repr _v;
24381 MenhirLib.EngineTypes.startp = _startpos;
24382 MenhirLib.EngineTypes.endp = _endpos;
24383 MenhirLib.EngineTypes.next = _menhir_stack;
24384 });
24385 (fun _menhir_env ->
24386 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24387 let {
24388 MenhirLib.EngineTypes.state = _menhir_s;
24389 MenhirLib.EngineTypes.semv = _1;
24390 MenhirLib.EngineTypes.startp = _startpos__1_;
24391 MenhirLib.EngineTypes.endp = _endpos__1_;
24392 MenhirLib.EngineTypes.next = _menhir_stack;
24393 } = _menhir_stack in
24394 let _1 : 'tv_name_opt_decl = Obj.magic _1 in
24395 let _startpos = _startpos__1_ in
24396 let _endpos = _endpos__1_ in
24397 let _v : 'tv_one_dec_name_opt_decl_ =
24398 # 1740 "parser_cocci_menhir.mly"
24399 ( _1 )
24400 # 24401 "parser_cocci_menhir.ml"
24401 in
24402 _menhir_env.MenhirLib.EngineTypes.stack <- {
24403 MenhirLib.EngineTypes.state = _menhir_s;
24404 MenhirLib.EngineTypes.semv = Obj.repr _v;
24405 MenhirLib.EngineTypes.startp = _startpos;
24406 MenhirLib.EngineTypes.endp = _endpos;
24407 MenhirLib.EngineTypes.next = _menhir_stack;
24408 });
24409 (fun _menhir_env ->
24410 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24411 let {
24412 MenhirLib.EngineTypes.state = _menhir_s;
24413 MenhirLib.EngineTypes.semv = _1;
24414 MenhirLib.EngineTypes.startp = _startpos__1_;
24415 MenhirLib.EngineTypes.endp = _endpos__1_;
24416 MenhirLib.EngineTypes.next = _menhir_stack;
24417 } = _menhir_stack in
24418 let _1 : (
24419 # 69 "parser_cocci_menhir.mly"
24420 (Parse_aux.list_info)
24421 # 24422 "parser_cocci_menhir.ml"
24422 ) = Obj.magic _1 in
24423 let _startpos = _startpos__1_ in
24424 let _endpos = _endpos__1_ in
24425 let _v : 'tv_one_dec_name_opt_decl_ =
24426 # 1742 "parser_cocci_menhir.mly"
24427 ( let (nm,lenname,pure,clt) = _1 in
24428 let nm = P.clt2mcode nm clt in
24429 let lenname =
24430 match lenname with
24431 Ast.AnyLen -> Ast0.AnyListLen
24432 | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
24433 | Ast.CstLen n -> Ast0.CstListLen n in
24434 Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
24435 # 24436 "parser_cocci_menhir.ml"
24436 in
24437 _menhir_env.MenhirLib.EngineTypes.stack <- {
24438 MenhirLib.EngineTypes.state = _menhir_s;
24439 MenhirLib.EngineTypes.semv = Obj.repr _v;
24440 MenhirLib.EngineTypes.startp = _startpos;
24441 MenhirLib.EngineTypes.endp = _endpos;
24442 MenhirLib.EngineTypes.next = _menhir_stack;
24443 });
24444 (fun _menhir_env ->
24445 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24446 let {
24447 MenhirLib.EngineTypes.semv = pv;
24448 MenhirLib.EngineTypes.startp = _startpos_pv_;
24449 MenhirLib.EngineTypes.endp = _endpos_pv_;
24450 MenhirLib.EngineTypes.next = {
24451 MenhirLib.EngineTypes.state = _menhir_s;
24452 MenhirLib.EngineTypes.semv = t;
24453 MenhirLib.EngineTypes.startp = _startpos_t_;
24454 MenhirLib.EngineTypes.endp = _endpos_t_;
24455 MenhirLib.EngineTypes.next = _menhir_stack;
24456 };
24457 } = _menhir_stack in
24458 let pv : (
24459 # 110 "parser_cocci_menhir.mly"
24460 (Data.clt)
24461 # 24462 "parser_cocci_menhir.ml"
24462 ) = Obj.magic pv in
24463 let t : 'tv_ctype = Obj.magic t in
24464 let _startpos = _startpos_t_ in
24465 let _endpos = _endpos_pv_ in
24466 let _v : 'tv_one_decl_var =
24467 # 1091 "parser_cocci_menhir.mly"
24468 ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) )
24469 # 24470 "parser_cocci_menhir.ml"
24470 in
24471 _menhir_env.MenhirLib.EngineTypes.stack <- {
24472 MenhirLib.EngineTypes.state = _menhir_s;
24473 MenhirLib.EngineTypes.semv = Obj.repr _v;
24474 MenhirLib.EngineTypes.startp = _startpos;
24475 MenhirLib.EngineTypes.endp = _endpos;
24476 MenhirLib.EngineTypes.next = _menhir_stack;
24477 });
24478 (fun _menhir_env ->
24479 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24480 let {
24481 MenhirLib.EngineTypes.state = _menhir_s;
24482 MenhirLib.EngineTypes.semv = _1;
24483 MenhirLib.EngineTypes.startp = _startpos__1_;
24484 MenhirLib.EngineTypes.endp = _endpos__1_;
24485 MenhirLib.EngineTypes.next = _menhir_stack;
24486 } = _menhir_stack in
24487 let _1 : (
24488 # 68 "parser_cocci_menhir.mly"
24489 (Parse_aux.info)
24490 # 24491 "parser_cocci_menhir.ml"
24491 ) = Obj.magic _1 in
24492 let _startpos = _startpos__1_ in
24493 let _endpos = _endpos__1_ in
24494 let _v : 'tv_one_decl_var =
24495 # 1092 "parser_cocci_menhir.mly"
24496 ( P.meta_decl _1 )
24497 # 24498 "parser_cocci_menhir.ml"
24498 in
24499 _menhir_env.MenhirLib.EngineTypes.stack <- {
24500 MenhirLib.EngineTypes.state = _menhir_s;
24501 MenhirLib.EngineTypes.semv = Obj.repr _v;
24502 MenhirLib.EngineTypes.startp = _startpos;
24503 MenhirLib.EngineTypes.endp = _endpos;
24504 MenhirLib.EngineTypes.next = _menhir_stack;
24505 });
24506 (fun _menhir_env ->
24507 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24508 let {
24509 MenhirLib.EngineTypes.semv = pv;
24510 MenhirLib.EngineTypes.startp = _startpos_pv_;
24511 MenhirLib.EngineTypes.endp = _endpos_pv_;
24512 MenhirLib.EngineTypes.next = {
24513 MenhirLib.EngineTypes.semv = d;
24514 MenhirLib.EngineTypes.startp = _startpos_d_;
24515 MenhirLib.EngineTypes.endp = _endpos_d_;
24516 MenhirLib.EngineTypes.next = {
24517 MenhirLib.EngineTypes.state = _menhir_s;
24518 MenhirLib.EngineTypes.semv = t;
24519 MenhirLib.EngineTypes.startp = _startpos_t_;
24520 MenhirLib.EngineTypes.endp = _endpos_t_;
24521 MenhirLib.EngineTypes.next = _menhir_stack;
24522 };
24523 };
24524 } = _menhir_stack in
24525 let pv : (
24526 # 110 "parser_cocci_menhir.mly"
24527 (Data.clt)
24528 # 24529 "parser_cocci_menhir.ml"
24529 ) = Obj.magic pv in
24530 let d : 'tv_d_ident = Obj.magic d in
24531 let t : 'tv_ctype = Obj.magic t in
24532 let _startpos = _startpos_t_ in
24533 let _endpos = _endpos_pv_ in
24534 let _v : 'tv_one_decl_var = let s =
24535
24536 # 39 "standard.mly"
24537 ( None )
24538 # 24539 "parser_cocci_menhir.ml"
24539
24540 in
24541
24542 # 1094 "parser_cocci_menhir.mly"
24543 ( let (id,fn) = d in
24544 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
24545 # 24546 "parser_cocci_menhir.ml"
24546 in
24547 _menhir_env.MenhirLib.EngineTypes.stack <- {
24548 MenhirLib.EngineTypes.state = _menhir_s;
24549 MenhirLib.EngineTypes.semv = Obj.repr _v;
24550 MenhirLib.EngineTypes.startp = _startpos;
24551 MenhirLib.EngineTypes.endp = _endpos;
24552 MenhirLib.EngineTypes.next = _menhir_stack;
24553 });
24554 (fun _menhir_env ->
24555 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24556 let {
24557 MenhirLib.EngineTypes.semv = pv;
24558 MenhirLib.EngineTypes.startp = _startpos_pv_;
24559 MenhirLib.EngineTypes.endp = _endpos_pv_;
24560 MenhirLib.EngineTypes.next = {
24561 MenhirLib.EngineTypes.semv = d;
24562 MenhirLib.EngineTypes.startp = _startpos_d_;
24563 MenhirLib.EngineTypes.endp = _endpos_d_;
24564 MenhirLib.EngineTypes.next = {
24565 MenhirLib.EngineTypes.semv = t;
24566 MenhirLib.EngineTypes.startp = _startpos_t_;
24567 MenhirLib.EngineTypes.endp = _endpos_t_;
24568 MenhirLib.EngineTypes.next = {
24569 MenhirLib.EngineTypes.state = _menhir_s;
24570 MenhirLib.EngineTypes.semv = x0;
24571 MenhirLib.EngineTypes.startp = _startpos_x0_;
24572 MenhirLib.EngineTypes.endp = _endpos_x0_;
24573 MenhirLib.EngineTypes.next = _menhir_stack;
24574 };
24575 };
24576 };
24577 } = _menhir_stack in
24578 let pv : (
24579 # 110 "parser_cocci_menhir.mly"
24580 (Data.clt)
24581 # 24582 "parser_cocci_menhir.ml"
24582 ) = Obj.magic pv in
24583 let d : 'tv_d_ident = Obj.magic d in
24584 let t : 'tv_ctype = Obj.magic t in
24585 let x0 : 'tv_storage = Obj.magic x0 in
24586 let _startpos = _startpos_x0_ in
24587 let _endpos = _endpos_pv_ in
24588 let _v : 'tv_one_decl_var = let s =
24589 let x = x0 in
24590
24591 # 41 "standard.mly"
24592 ( Some x )
24593 # 24594 "parser_cocci_menhir.ml"
24594
24595 in
24596
24597 # 1094 "parser_cocci_menhir.mly"
24598 ( let (id,fn) = d in
24599 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
24600 # 24601 "parser_cocci_menhir.ml"
24601 in
24602 _menhir_env.MenhirLib.EngineTypes.stack <- {
24603 MenhirLib.EngineTypes.state = _menhir_s;
24604 MenhirLib.EngineTypes.semv = Obj.repr _v;
24605 MenhirLib.EngineTypes.startp = _startpos;
24606 MenhirLib.EngineTypes.endp = _endpos;
24607 MenhirLib.EngineTypes.next = _menhir_stack;
24608 });
24609 (fun _menhir_env ->
24610 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24611 let {
24612 MenhirLib.EngineTypes.state = _menhir_s;
24613 MenhirLib.EngineTypes.semv = f;
24614 MenhirLib.EngineTypes.startp = _startpos_f_;
24615 MenhirLib.EngineTypes.endp = _endpos_f_;
24616 MenhirLib.EngineTypes.next = _menhir_stack;
24617 } = _menhir_stack in
24618 let f : 'tv_funproto = Obj.magic f in
24619 let _startpos = _startpos_f_ in
24620 let _endpos = _endpos_f_ in
24621 let _v : 'tv_one_decl_var =
24622 # 1096 "parser_cocci_menhir.mly"
24623 ( f )
24624 # 24625 "parser_cocci_menhir.ml"
24625 in
24626 _menhir_env.MenhirLib.EngineTypes.stack <- {
24627 MenhirLib.EngineTypes.state = _menhir_s;
24628 MenhirLib.EngineTypes.semv = Obj.repr _v;
24629 MenhirLib.EngineTypes.startp = _startpos;
24630 MenhirLib.EngineTypes.endp = _endpos;
24631 MenhirLib.EngineTypes.next = _menhir_stack;
24632 });
24633 (fun _menhir_env ->
24634 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24635 let {
24636 MenhirLib.EngineTypes.semv = pv;
24637 MenhirLib.EngineTypes.startp = _startpos_pv_;
24638 MenhirLib.EngineTypes.endp = _endpos_pv_;
24639 MenhirLib.EngineTypes.next = {
24640 MenhirLib.EngineTypes.semv = e;
24641 MenhirLib.EngineTypes.startp = _startpos_e_;
24642 MenhirLib.EngineTypes.endp = _endpos_e_;
24643 MenhirLib.EngineTypes.next = {
24644 MenhirLib.EngineTypes.semv = q;
24645 MenhirLib.EngineTypes.startp = _startpos_q_;
24646 MenhirLib.EngineTypes.endp = _endpos_q_;
24647 MenhirLib.EngineTypes.next = {
24648 MenhirLib.EngineTypes.semv = d;
24649 MenhirLib.EngineTypes.startp = _startpos_d_;
24650 MenhirLib.EngineTypes.endp = _endpos_d_;
24651 MenhirLib.EngineTypes.next = {
24652 MenhirLib.EngineTypes.state = _menhir_s;
24653 MenhirLib.EngineTypes.semv = t;
24654 MenhirLib.EngineTypes.startp = _startpos_t_;
24655 MenhirLib.EngineTypes.endp = _endpos_t_;
24656 MenhirLib.EngineTypes.next = _menhir_stack;
24657 };
24658 };
24659 };
24660 };
24661 } = _menhir_stack in
24662 let pv : (
24663 # 110 "parser_cocci_menhir.mly"
24664 (Data.clt)
24665 # 24666 "parser_cocci_menhir.ml"
24666 ) = Obj.magic pv in
24667 let e : 'tv_initialize = Obj.magic e in
24668 let q : (
24669 # 110 "parser_cocci_menhir.mly"
24670 (Data.clt)
24671 # 24672 "parser_cocci_menhir.ml"
24672 ) = Obj.magic q in
24673 let d : 'tv_d_ident = Obj.magic d in
24674 let t : 'tv_ctype = Obj.magic t in
24675 let _startpos = _startpos_t_ in
24676 let _endpos = _endpos_pv_ in
24677 let _v : 'tv_one_decl_var = let s =
24678
24679 # 39 "standard.mly"
24680 ( None )
24681 # 24682 "parser_cocci_menhir.ml"
24682
24683 in
24684
24685 # 1098 "parser_cocci_menhir.mly"
24686 ( let (id,fn) = d in
24687 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
24688 # 24689 "parser_cocci_menhir.ml"
24689 in
24690 _menhir_env.MenhirLib.EngineTypes.stack <- {
24691 MenhirLib.EngineTypes.state = _menhir_s;
24692 MenhirLib.EngineTypes.semv = Obj.repr _v;
24693 MenhirLib.EngineTypes.startp = _startpos;
24694 MenhirLib.EngineTypes.endp = _endpos;
24695 MenhirLib.EngineTypes.next = _menhir_stack;
24696 });
24697 (fun _menhir_env ->
24698 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24699 let {
24700 MenhirLib.EngineTypes.semv = pv;
24701 MenhirLib.EngineTypes.startp = _startpos_pv_;
24702 MenhirLib.EngineTypes.endp = _endpos_pv_;
24703 MenhirLib.EngineTypes.next = {
24704 MenhirLib.EngineTypes.semv = e;
24705 MenhirLib.EngineTypes.startp = _startpos_e_;
24706 MenhirLib.EngineTypes.endp = _endpos_e_;
24707 MenhirLib.EngineTypes.next = {
24708 MenhirLib.EngineTypes.semv = q;
24709 MenhirLib.EngineTypes.startp = _startpos_q_;
24710 MenhirLib.EngineTypes.endp = _endpos_q_;
24711 MenhirLib.EngineTypes.next = {
24712 MenhirLib.EngineTypes.semv = d;
24713 MenhirLib.EngineTypes.startp = _startpos_d_;
24714 MenhirLib.EngineTypes.endp = _endpos_d_;
24715 MenhirLib.EngineTypes.next = {
24716 MenhirLib.EngineTypes.semv = t;
24717 MenhirLib.EngineTypes.startp = _startpos_t_;
24718 MenhirLib.EngineTypes.endp = _endpos_t_;
24719 MenhirLib.EngineTypes.next = {
24720 MenhirLib.EngineTypes.state = _menhir_s;
24721 MenhirLib.EngineTypes.semv = x0;
24722 MenhirLib.EngineTypes.startp = _startpos_x0_;
24723 MenhirLib.EngineTypes.endp = _endpos_x0_;
24724 MenhirLib.EngineTypes.next = _menhir_stack;
24725 };
24726 };
24727 };
24728 };
24729 };
24730 } = _menhir_stack in
24731 let pv : (
24732 # 110 "parser_cocci_menhir.mly"
24733 (Data.clt)
24734 # 24735 "parser_cocci_menhir.ml"
24735 ) = Obj.magic pv in
24736 let e : 'tv_initialize = Obj.magic e in
24737 let q : (
24738 # 110 "parser_cocci_menhir.mly"
24739 (Data.clt)
24740 # 24741 "parser_cocci_menhir.ml"
24741 ) = Obj.magic q in
24742 let d : 'tv_d_ident = Obj.magic d in
24743 let t : 'tv_ctype = Obj.magic t in
24744 let x0 : 'tv_storage = Obj.magic x0 in
24745 let _startpos = _startpos_x0_ in
24746 let _endpos = _endpos_pv_ in
24747 let _v : 'tv_one_decl_var = let s =
24748 let x = x0 in
24749
24750 # 41 "standard.mly"
24751 ( Some x )
24752 # 24753 "parser_cocci_menhir.ml"
24753
24754 in
24755
24756 # 1098 "parser_cocci_menhir.mly"
24757 ( let (id,fn) = d in
24758 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
24759 # 24760 "parser_cocci_menhir.ml"
24760 in
24761 _menhir_env.MenhirLib.EngineTypes.stack <- {
24762 MenhirLib.EngineTypes.state = _menhir_s;
24763 MenhirLib.EngineTypes.semv = Obj.repr _v;
24764 MenhirLib.EngineTypes.startp = _startpos;
24765 MenhirLib.EngineTypes.endp = _endpos;
24766 MenhirLib.EngineTypes.next = _menhir_stack;
24767 });
24768 (fun _menhir_env ->
24769 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24770 let {
24771 MenhirLib.EngineTypes.semv = pv;
24772 MenhirLib.EngineTypes.startp = _startpos_pv_;
24773 MenhirLib.EngineTypes.endp = _endpos_pv_;
24774 MenhirLib.EngineTypes.next = {
24775 MenhirLib.EngineTypes.semv = d;
24776 MenhirLib.EngineTypes.startp = _startpos_d_;
24777 MenhirLib.EngineTypes.endp = _endpos_d_;
24778 MenhirLib.EngineTypes.next = {
24779 MenhirLib.EngineTypes.state = _menhir_s;
24780 MenhirLib.EngineTypes.semv = i;
24781 MenhirLib.EngineTypes.startp = _startpos_i_;
24782 MenhirLib.EngineTypes.endp = _endpos_i_;
24783 MenhirLib.EngineTypes.next = _menhir_stack;
24784 };
24785 };
24786 } = _menhir_stack in
24787 let pv : (
24788 # 110 "parser_cocci_menhir.mly"
24789 (Data.clt)
24790 # 24791 "parser_cocci_menhir.ml"
24791 ) = Obj.magic pv in
24792 let d : 'tv_d_ident = Obj.magic d in
24793 let i : 'tv_pure_ident = Obj.magic i in
24794 let _startpos = _startpos_i_ in
24795 let _endpos = _endpos_pv_ in
24796 let _v : 'tv_one_decl_var = let cv =
24797
24798 # 39 "standard.mly"
24799 ( None )
24800 # 24801 "parser_cocci_menhir.ml"
24801
24802 in
24803 let s =
24804
24805 # 39 "standard.mly"
24806 ( None )
24807 # 24808 "parser_cocci_menhir.ml"
24808
24809 in
24810
24811 # 1103 "parser_cocci_menhir.mly"
24812 ( let (id,fn) = d in
24813 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
24814 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
24815 # 24816 "parser_cocci_menhir.ml"
24816 in
24817 _menhir_env.MenhirLib.EngineTypes.stack <- {
24818 MenhirLib.EngineTypes.state = _menhir_s;
24819 MenhirLib.EngineTypes.semv = Obj.repr _v;
24820 MenhirLib.EngineTypes.startp = _startpos;
24821 MenhirLib.EngineTypes.endp = _endpos;
24822 MenhirLib.EngineTypes.next = _menhir_stack;
24823 });
24824 (fun _menhir_env ->
24825 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24826 let {
24827 MenhirLib.EngineTypes.semv = pv;
24828 MenhirLib.EngineTypes.startp = _startpos_pv_;
24829 MenhirLib.EngineTypes.endp = _endpos_pv_;
24830 MenhirLib.EngineTypes.next = {
24831 MenhirLib.EngineTypes.semv = d;
24832 MenhirLib.EngineTypes.startp = _startpos_d_;
24833 MenhirLib.EngineTypes.endp = _endpos_d_;
24834 MenhirLib.EngineTypes.next = {
24835 MenhirLib.EngineTypes.semv = i;
24836 MenhirLib.EngineTypes.startp = _startpos_i_;
24837 MenhirLib.EngineTypes.endp = _endpos_i_;
24838 MenhirLib.EngineTypes.next = {
24839 MenhirLib.EngineTypes.state = _menhir_s;
24840 MenhirLib.EngineTypes.semv = x0;
24841 MenhirLib.EngineTypes.startp = _startpos_x0_;
24842 MenhirLib.EngineTypes.endp = _endpos_x0_;
24843 MenhirLib.EngineTypes.next = _menhir_stack;
24844 };
24845 };
24846 };
24847 } = _menhir_stack in
24848 let pv : (
24849 # 110 "parser_cocci_menhir.mly"
24850 (Data.clt)
24851 # 24852 "parser_cocci_menhir.ml"
24852 ) = Obj.magic pv in
24853 let d : 'tv_d_ident = Obj.magic d in
24854 let i : 'tv_pure_ident = Obj.magic i in
24855 let x0 : 'tv_const_vol = Obj.magic x0 in
24856 let _startpos = _startpos_x0_ in
24857 let _endpos = _endpos_pv_ in
24858 let _v : 'tv_one_decl_var = let cv =
24859 let x = x0 in
24860
24861 # 41 "standard.mly"
24862 ( Some x )
24863 # 24864 "parser_cocci_menhir.ml"
24864
24865 in
24866 let s =
24867
24868 # 39 "standard.mly"
24869 ( None )
24870 # 24871 "parser_cocci_menhir.ml"
24871
24872 in
24873
24874 # 1103 "parser_cocci_menhir.mly"
24875 ( let (id,fn) = d in
24876 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
24877 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
24878 # 24879 "parser_cocci_menhir.ml"
24879 in
24880 _menhir_env.MenhirLib.EngineTypes.stack <- {
24881 MenhirLib.EngineTypes.state = _menhir_s;
24882 MenhirLib.EngineTypes.semv = Obj.repr _v;
24883 MenhirLib.EngineTypes.startp = _startpos;
24884 MenhirLib.EngineTypes.endp = _endpos;
24885 MenhirLib.EngineTypes.next = _menhir_stack;
24886 });
24887 (fun _menhir_env ->
24888 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24889 let {
24890 MenhirLib.EngineTypes.semv = pv;
24891 MenhirLib.EngineTypes.startp = _startpos_pv_;
24892 MenhirLib.EngineTypes.endp = _endpos_pv_;
24893 MenhirLib.EngineTypes.next = {
24894 MenhirLib.EngineTypes.semv = d;
24895 MenhirLib.EngineTypes.startp = _startpos_d_;
24896 MenhirLib.EngineTypes.endp = _endpos_d_;
24897 MenhirLib.EngineTypes.next = {
24898 MenhirLib.EngineTypes.semv = i;
24899 MenhirLib.EngineTypes.startp = _startpos_i_;
24900 MenhirLib.EngineTypes.endp = _endpos_i_;
24901 MenhirLib.EngineTypes.next = {
24902 MenhirLib.EngineTypes.state = _menhir_s;
24903 MenhirLib.EngineTypes.semv = x0;
24904 MenhirLib.EngineTypes.startp = _startpos_x0_;
24905 MenhirLib.EngineTypes.endp = _endpos_x0_;
24906 MenhirLib.EngineTypes.next = _menhir_stack;
24907 };
24908 };
24909 };
24910 } = _menhir_stack in
24911 let pv : (
24912 # 110 "parser_cocci_menhir.mly"
24913 (Data.clt)
24914 # 24915 "parser_cocci_menhir.ml"
24915 ) = Obj.magic pv in
24916 let d : 'tv_d_ident = Obj.magic d in
24917 let i : 'tv_pure_ident = Obj.magic i in
24918 let x0 : 'tv_storage = Obj.magic x0 in
24919 let _startpos = _startpos_x0_ in
24920 let _endpos = _endpos_pv_ in
24921 let _v : 'tv_one_decl_var = let cv =
24922
24923 # 39 "standard.mly"
24924 ( None )
24925 # 24926 "parser_cocci_menhir.ml"
24926
24927 in
24928 let s =
24929 let x = x0 in
24930
24931 # 41 "standard.mly"
24932 ( Some x )
24933 # 24934 "parser_cocci_menhir.ml"
24934
24935 in
24936
24937 # 1103 "parser_cocci_menhir.mly"
24938 ( let (id,fn) = d in
24939 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
24940 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
24941 # 24942 "parser_cocci_menhir.ml"
24942 in
24943 _menhir_env.MenhirLib.EngineTypes.stack <- {
24944 MenhirLib.EngineTypes.state = _menhir_s;
24945 MenhirLib.EngineTypes.semv = Obj.repr _v;
24946 MenhirLib.EngineTypes.startp = _startpos;
24947 MenhirLib.EngineTypes.endp = _endpos;
24948 MenhirLib.EngineTypes.next = _menhir_stack;
24949 });
24950 (fun _menhir_env ->
24951 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24952 let {
24953 MenhirLib.EngineTypes.semv = pv;
24954 MenhirLib.EngineTypes.startp = _startpos_pv_;
24955 MenhirLib.EngineTypes.endp = _endpos_pv_;
24956 MenhirLib.EngineTypes.next = {
24957 MenhirLib.EngineTypes.semv = d;
24958 MenhirLib.EngineTypes.startp = _startpos_d_;
24959 MenhirLib.EngineTypes.endp = _endpos_d_;
24960 MenhirLib.EngineTypes.next = {
24961 MenhirLib.EngineTypes.semv = i;
24962 MenhirLib.EngineTypes.startp = _startpos_i_;
24963 MenhirLib.EngineTypes.endp = _endpos_i_;
24964 MenhirLib.EngineTypes.next = {
24965 MenhirLib.EngineTypes.semv = x1;
24966 MenhirLib.EngineTypes.startp = _startpos_x1_;
24967 MenhirLib.EngineTypes.endp = _endpos_x1_;
24968 MenhirLib.EngineTypes.next = {
24969 MenhirLib.EngineTypes.state = _menhir_s;
24970 MenhirLib.EngineTypes.semv = x0;
24971 MenhirLib.EngineTypes.startp = _startpos_x0_;
24972 MenhirLib.EngineTypes.endp = _endpos_x0_;
24973 MenhirLib.EngineTypes.next = _menhir_stack;
24974 };
24975 };
24976 };
24977 };
24978 } = _menhir_stack in
24979 let pv : (
24980 # 110 "parser_cocci_menhir.mly"
24981 (Data.clt)
24982 # 24983 "parser_cocci_menhir.ml"
24983 ) = Obj.magic pv in
24984 let d : 'tv_d_ident = Obj.magic d in
24985 let i : 'tv_pure_ident = Obj.magic i in
24986 let x1 : 'tv_const_vol = Obj.magic x1 in
24987 let x0 : 'tv_storage = Obj.magic x0 in
24988 let _startpos = _startpos_x0_ in
24989 let _endpos = _endpos_pv_ in
24990 let _v : 'tv_one_decl_var = let cv =
24991 let x = x1 in
24992
24993 # 41 "standard.mly"
24994 ( Some x )
24995 # 24996 "parser_cocci_menhir.ml"
24996
24997 in
24998 let s =
24999 let x = x0 in
25000
25001 # 41 "standard.mly"
25002 ( Some x )
25003 # 25004 "parser_cocci_menhir.ml"
25004
25005 in
25006
25007 # 1103 "parser_cocci_menhir.mly"
25008 ( let (id,fn) = d in
25009 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
25010 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
25011 # 25012 "parser_cocci_menhir.ml"
25012 in
25013 _menhir_env.MenhirLib.EngineTypes.stack <- {
25014 MenhirLib.EngineTypes.state = _menhir_s;
25015 MenhirLib.EngineTypes.semv = Obj.repr _v;
25016 MenhirLib.EngineTypes.startp = _startpos;
25017 MenhirLib.EngineTypes.endp = _endpos;
25018 MenhirLib.EngineTypes.next = _menhir_stack;
25019 });
25020 (fun _menhir_env ->
25021 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25022 let {
25023 MenhirLib.EngineTypes.semv = pv;
25024 MenhirLib.EngineTypes.startp = _startpos_pv_;
25025 MenhirLib.EngineTypes.endp = _endpos_pv_;
25026 MenhirLib.EngineTypes.next = {
25027 MenhirLib.EngineTypes.semv = e;
25028 MenhirLib.EngineTypes.startp = _startpos_e_;
25029 MenhirLib.EngineTypes.endp = _endpos_e_;
25030 MenhirLib.EngineTypes.next = {
25031 MenhirLib.EngineTypes.semv = q;
25032 MenhirLib.EngineTypes.startp = _startpos_q_;
25033 MenhirLib.EngineTypes.endp = _endpos_q_;
25034 MenhirLib.EngineTypes.next = {
25035 MenhirLib.EngineTypes.semv = d;
25036 MenhirLib.EngineTypes.startp = _startpos_d_;
25037 MenhirLib.EngineTypes.endp = _endpos_d_;
25038 MenhirLib.EngineTypes.next = {
25039 MenhirLib.EngineTypes.state = _menhir_s;
25040 MenhirLib.EngineTypes.semv = i;
25041 MenhirLib.EngineTypes.startp = _startpos_i_;
25042 MenhirLib.EngineTypes.endp = _endpos_i_;
25043 MenhirLib.EngineTypes.next = _menhir_stack;
25044 };
25045 };
25046 };
25047 };
25048 } = _menhir_stack in
25049 let pv : (
25050 # 110 "parser_cocci_menhir.mly"
25051 (Data.clt)
25052 # 25053 "parser_cocci_menhir.ml"
25053 ) = Obj.magic pv in
25054 let e : 'tv_initialize = Obj.magic e in
25055 let q : (
25056 # 110 "parser_cocci_menhir.mly"
25057 (Data.clt)
25058 # 25059 "parser_cocci_menhir.ml"
25059 ) = Obj.magic q in
25060 let d : 'tv_d_ident = Obj.magic d in
25061 let i : 'tv_pure_ident = Obj.magic i in
25062 let _startpos = _startpos_i_ in
25063 let _endpos = _endpos_pv_ in
25064 let _v : 'tv_one_decl_var = let cv =
25065
25066 # 39 "standard.mly"
25067 ( None )
25068 # 25069 "parser_cocci_menhir.ml"
25069
25070 in
25071 let s =
25072
25073 # 39 "standard.mly"
25074 ( None )
25075 # 25076 "parser_cocci_menhir.ml"
25076
25077 in
25078
25079 # 1108 "parser_cocci_menhir.mly"
25080 ( let (id,fn) = d in
25081 !Data.add_type_name (P.id2name i);
25082 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
25083 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
25084 P.clt2mcode ";" pv)) )
25085 # 25086 "parser_cocci_menhir.ml"
25086 in
25087 _menhir_env.MenhirLib.EngineTypes.stack <- {
25088 MenhirLib.EngineTypes.state = _menhir_s;
25089 MenhirLib.EngineTypes.semv = Obj.repr _v;
25090 MenhirLib.EngineTypes.startp = _startpos;
25091 MenhirLib.EngineTypes.endp = _endpos;
25092 MenhirLib.EngineTypes.next = _menhir_stack;
25093 });
25094 (fun _menhir_env ->
25095 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25096 let {
25097 MenhirLib.EngineTypes.semv = pv;
25098 MenhirLib.EngineTypes.startp = _startpos_pv_;
25099 MenhirLib.EngineTypes.endp = _endpos_pv_;
25100 MenhirLib.EngineTypes.next = {
25101 MenhirLib.EngineTypes.semv = e;
25102 MenhirLib.EngineTypes.startp = _startpos_e_;
25103 MenhirLib.EngineTypes.endp = _endpos_e_;
25104 MenhirLib.EngineTypes.next = {
25105 MenhirLib.EngineTypes.semv = q;
25106 MenhirLib.EngineTypes.startp = _startpos_q_;
25107 MenhirLib.EngineTypes.endp = _endpos_q_;
25108 MenhirLib.EngineTypes.next = {
25109 MenhirLib.EngineTypes.semv = d;
25110 MenhirLib.EngineTypes.startp = _startpos_d_;
25111 MenhirLib.EngineTypes.endp = _endpos_d_;
25112 MenhirLib.EngineTypes.next = {
25113 MenhirLib.EngineTypes.semv = i;
25114 MenhirLib.EngineTypes.startp = _startpos_i_;
25115 MenhirLib.EngineTypes.endp = _endpos_i_;
25116 MenhirLib.EngineTypes.next = {
25117 MenhirLib.EngineTypes.state = _menhir_s;
25118 MenhirLib.EngineTypes.semv = x0;
25119 MenhirLib.EngineTypes.startp = _startpos_x0_;
25120 MenhirLib.EngineTypes.endp = _endpos_x0_;
25121 MenhirLib.EngineTypes.next = _menhir_stack;
25122 };
25123 };
25124 };
25125 };
25126 };
25127 } = _menhir_stack in
25128 let pv : (
25129 # 110 "parser_cocci_menhir.mly"
25130 (Data.clt)
25131 # 25132 "parser_cocci_menhir.ml"
25132 ) = Obj.magic pv in
25133 let e : 'tv_initialize = Obj.magic e in
25134 let q : (
25135 # 110 "parser_cocci_menhir.mly"
25136 (Data.clt)
25137 # 25138 "parser_cocci_menhir.ml"
25138 ) = Obj.magic q in
25139 let d : 'tv_d_ident = Obj.magic d in
25140 let i : 'tv_pure_ident = Obj.magic i in
25141 let x0 : 'tv_const_vol = Obj.magic x0 in
25142 let _startpos = _startpos_x0_ in
25143 let _endpos = _endpos_pv_ in
25144 let _v : 'tv_one_decl_var = let cv =
25145 let x = x0 in
25146
25147 # 41 "standard.mly"
25148 ( Some x )
25149 # 25150 "parser_cocci_menhir.ml"
25150
25151 in
25152 let s =
25153
25154 # 39 "standard.mly"
25155 ( None )
25156 # 25157 "parser_cocci_menhir.ml"
25157
25158 in
25159
25160 # 1108 "parser_cocci_menhir.mly"
25161 ( let (id,fn) = d in
25162 !Data.add_type_name (P.id2name i);
25163 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
25164 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
25165 P.clt2mcode ";" pv)) )
25166 # 25167 "parser_cocci_menhir.ml"
25167 in
25168 _menhir_env.MenhirLib.EngineTypes.stack <- {
25169 MenhirLib.EngineTypes.state = _menhir_s;
25170 MenhirLib.EngineTypes.semv = Obj.repr _v;
25171 MenhirLib.EngineTypes.startp = _startpos;
25172 MenhirLib.EngineTypes.endp = _endpos;
25173 MenhirLib.EngineTypes.next = _menhir_stack;
25174 });
25175 (fun _menhir_env ->
25176 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25177 let {
25178 MenhirLib.EngineTypes.semv = pv;
25179 MenhirLib.EngineTypes.startp = _startpos_pv_;
25180 MenhirLib.EngineTypes.endp = _endpos_pv_;
25181 MenhirLib.EngineTypes.next = {
25182 MenhirLib.EngineTypes.semv = e;
25183 MenhirLib.EngineTypes.startp = _startpos_e_;
25184 MenhirLib.EngineTypes.endp = _endpos_e_;
25185 MenhirLib.EngineTypes.next = {
25186 MenhirLib.EngineTypes.semv = q;
25187 MenhirLib.EngineTypes.startp = _startpos_q_;
25188 MenhirLib.EngineTypes.endp = _endpos_q_;
25189 MenhirLib.EngineTypes.next = {
25190 MenhirLib.EngineTypes.semv = d;
25191 MenhirLib.EngineTypes.startp = _startpos_d_;
25192 MenhirLib.EngineTypes.endp = _endpos_d_;
25193 MenhirLib.EngineTypes.next = {
25194 MenhirLib.EngineTypes.semv = i;
25195 MenhirLib.EngineTypes.startp = _startpos_i_;
25196 MenhirLib.EngineTypes.endp = _endpos_i_;
25197 MenhirLib.EngineTypes.next = {
25198 MenhirLib.EngineTypes.state = _menhir_s;
25199 MenhirLib.EngineTypes.semv = x0;
25200 MenhirLib.EngineTypes.startp = _startpos_x0_;
25201 MenhirLib.EngineTypes.endp = _endpos_x0_;
25202 MenhirLib.EngineTypes.next = _menhir_stack;
25203 };
25204 };
25205 };
25206 };
25207 };
25208 } = _menhir_stack in
25209 let pv : (
25210 # 110 "parser_cocci_menhir.mly"
25211 (Data.clt)
25212 # 25213 "parser_cocci_menhir.ml"
25213 ) = Obj.magic pv in
25214 let e : 'tv_initialize = Obj.magic e in
25215 let q : (
25216 # 110 "parser_cocci_menhir.mly"
25217 (Data.clt)
25218 # 25219 "parser_cocci_menhir.ml"
25219 ) = Obj.magic q in
25220 let d : 'tv_d_ident = Obj.magic d in
25221 let i : 'tv_pure_ident = Obj.magic i in
25222 let x0 : 'tv_storage = Obj.magic x0 in
25223 let _startpos = _startpos_x0_ in
25224 let _endpos = _endpos_pv_ in
25225 let _v : 'tv_one_decl_var = let cv =
25226
25227 # 39 "standard.mly"
25228 ( None )
25229 # 25230 "parser_cocci_menhir.ml"
25230
25231 in
25232 let s =
25233 let x = x0 in
25234
25235 # 41 "standard.mly"
25236 ( Some x )
25237 # 25238 "parser_cocci_menhir.ml"
25238
25239 in
25240
25241 # 1108 "parser_cocci_menhir.mly"
25242 ( let (id,fn) = d in
25243 !Data.add_type_name (P.id2name i);
25244 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
25245 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
25246 P.clt2mcode ";" pv)) )
25247 # 25248 "parser_cocci_menhir.ml"
25248 in
25249 _menhir_env.MenhirLib.EngineTypes.stack <- {
25250 MenhirLib.EngineTypes.state = _menhir_s;
25251 MenhirLib.EngineTypes.semv = Obj.repr _v;
25252 MenhirLib.EngineTypes.startp = _startpos;
25253 MenhirLib.EngineTypes.endp = _endpos;
25254 MenhirLib.EngineTypes.next = _menhir_stack;
25255 });
25256 (fun _menhir_env ->
25257 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25258 let {
25259 MenhirLib.EngineTypes.semv = pv;
25260 MenhirLib.EngineTypes.startp = _startpos_pv_;
25261 MenhirLib.EngineTypes.endp = _endpos_pv_;
25262 MenhirLib.EngineTypes.next = {
25263 MenhirLib.EngineTypes.semv = e;
25264 MenhirLib.EngineTypes.startp = _startpos_e_;
25265 MenhirLib.EngineTypes.endp = _endpos_e_;
25266 MenhirLib.EngineTypes.next = {
25267 MenhirLib.EngineTypes.semv = q;
25268 MenhirLib.EngineTypes.startp = _startpos_q_;
25269 MenhirLib.EngineTypes.endp = _endpos_q_;
25270 MenhirLib.EngineTypes.next = {
25271 MenhirLib.EngineTypes.semv = d;
25272 MenhirLib.EngineTypes.startp = _startpos_d_;
25273 MenhirLib.EngineTypes.endp = _endpos_d_;
25274 MenhirLib.EngineTypes.next = {
25275 MenhirLib.EngineTypes.semv = i;
25276 MenhirLib.EngineTypes.startp = _startpos_i_;
25277 MenhirLib.EngineTypes.endp = _endpos_i_;
25278 MenhirLib.EngineTypes.next = {
25279 MenhirLib.EngineTypes.semv = x1;
25280 MenhirLib.EngineTypes.startp = _startpos_x1_;
25281 MenhirLib.EngineTypes.endp = _endpos_x1_;
25282 MenhirLib.EngineTypes.next = {
25283 MenhirLib.EngineTypes.state = _menhir_s;
25284 MenhirLib.EngineTypes.semv = x0;
25285 MenhirLib.EngineTypes.startp = _startpos_x0_;
25286 MenhirLib.EngineTypes.endp = _endpos_x0_;
25287 MenhirLib.EngineTypes.next = _menhir_stack;
25288 };
25289 };
25290 };
25291 };
25292 };
25293 };
25294 } = _menhir_stack in
25295 let pv : (
25296 # 110 "parser_cocci_menhir.mly"
25297 (Data.clt)
25298 # 25299 "parser_cocci_menhir.ml"
25299 ) = Obj.magic pv in
25300 let e : 'tv_initialize = Obj.magic e in
25301 let q : (
25302 # 110 "parser_cocci_menhir.mly"
25303 (Data.clt)
25304 # 25305 "parser_cocci_menhir.ml"
25305 ) = Obj.magic q in
25306 let d : 'tv_d_ident = Obj.magic d in
25307 let i : 'tv_pure_ident = Obj.magic i in
25308 let x1 : 'tv_const_vol = Obj.magic x1 in
25309 let x0 : 'tv_storage = Obj.magic x0 in
25310 let _startpos = _startpos_x0_ in
25311 let _endpos = _endpos_pv_ in
25312 let _v : 'tv_one_decl_var = let cv =
25313 let x = x1 in
25314
25315 # 41 "standard.mly"
25316 ( Some x )
25317 # 25318 "parser_cocci_menhir.ml"
25318
25319 in
25320 let s =
25321 let x = x0 in
25322
25323 # 41 "standard.mly"
25324 ( Some x )
25325 # 25326 "parser_cocci_menhir.ml"
25326
25327 in
25328
25329 # 1108 "parser_cocci_menhir.mly"
25330 ( let (id,fn) = d in
25331 !Data.add_type_name (P.id2name i);
25332 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
25333 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
25334 P.clt2mcode ";" pv)) )
25335 # 25336 "parser_cocci_menhir.ml"
25336 in
25337 _menhir_env.MenhirLib.EngineTypes.stack <- {
25338 MenhirLib.EngineTypes.state = _menhir_s;
25339 MenhirLib.EngineTypes.semv = Obj.repr _v;
25340 MenhirLib.EngineTypes.startp = _startpos;
25341 MenhirLib.EngineTypes.endp = _endpos;
25342 MenhirLib.EngineTypes.next = _menhir_stack;
25343 });
25344 (fun _menhir_env ->
25345 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25346 let {
25347 MenhirLib.EngineTypes.semv = pv;
25348 MenhirLib.EngineTypes.startp = _startpos_pv_;
25349 MenhirLib.EngineTypes.endp = _endpos_pv_;
25350 MenhirLib.EngineTypes.next = {
25351 MenhirLib.EngineTypes.semv = rp2;
25352 MenhirLib.EngineTypes.startp = _startpos_rp2_;
25353 MenhirLib.EngineTypes.endp = _endpos_rp2_;
25354 MenhirLib.EngineTypes.next = {
25355 MenhirLib.EngineTypes.semv = p;
25356 MenhirLib.EngineTypes.startp = _startpos_p_;
25357 MenhirLib.EngineTypes.endp = _endpos_p_;
25358 MenhirLib.EngineTypes.next = {
25359 MenhirLib.EngineTypes.semv = lp2;
25360 MenhirLib.EngineTypes.startp = _startpos_lp2_;
25361 MenhirLib.EngineTypes.endp = _endpos_lp2_;
25362 MenhirLib.EngineTypes.next = {
25363 MenhirLib.EngineTypes.semv = rp1;
25364 MenhirLib.EngineTypes.startp = _startpos_rp1_;
25365 MenhirLib.EngineTypes.endp = _endpos_rp1_;
25366 MenhirLib.EngineTypes.next = {
25367 MenhirLib.EngineTypes.semv = d;
25368 MenhirLib.EngineTypes.startp = _startpos_d_;
25369 MenhirLib.EngineTypes.endp = _endpos_d_;
25370 MenhirLib.EngineTypes.next = {
25371 MenhirLib.EngineTypes.semv = st;
25372 MenhirLib.EngineTypes.startp = _startpos_st_;
25373 MenhirLib.EngineTypes.endp = _endpos_st_;
25374 MenhirLib.EngineTypes.next = {
25375 MenhirLib.EngineTypes.semv = lp1;
25376 MenhirLib.EngineTypes.startp = _startpos_lp1_;
25377 MenhirLib.EngineTypes.endp = _endpos_lp1_;
25378 MenhirLib.EngineTypes.next = {
25379 MenhirLib.EngineTypes.state = _menhir_s;
25380 MenhirLib.EngineTypes.semv = t;
25381 MenhirLib.EngineTypes.startp = _startpos_t_;
25382 MenhirLib.EngineTypes.endp = _endpos_t_;
25383 MenhirLib.EngineTypes.next = _menhir_stack;
25384 };
25385 };
25386 };
25387 };
25388 };
25389 };
25390 };
25391 };
25392 } = _menhir_stack in
25393 let pv : (
25394 # 110 "parser_cocci_menhir.mly"
25395 (Data.clt)
25396 # 25397 "parser_cocci_menhir.ml"
25397 ) = Obj.magic pv in
25398 let rp2 : (
25399 # 80 "parser_cocci_menhir.mly"
25400 (Data.clt)
25401 # 25402 "parser_cocci_menhir.ml"
25402 ) = Obj.magic rp2 in
25403 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
25404 let lp2 : (
25405 # 79 "parser_cocci_menhir.mly"
25406 (Data.clt)
25407 # 25408 "parser_cocci_menhir.ml"
25408 ) = Obj.magic lp2 in
25409 let rp1 : (
25410 # 80 "parser_cocci_menhir.mly"
25411 (Data.clt)
25412 # 25413 "parser_cocci_menhir.ml"
25413 ) = Obj.magic rp1 in
25414 let d : 'tv_d_ident = Obj.magic d in
25415 let st : (
25416 # 102 "parser_cocci_menhir.mly"
25417 (Data.clt)
25418 # 25419 "parser_cocci_menhir.ml"
25419 ) = Obj.magic st in
25420 let lp1 : (
25421 # 79 "parser_cocci_menhir.mly"
25422 (Data.clt)
25423 # 25424 "parser_cocci_menhir.ml"
25424 ) = Obj.magic lp1 in
25425 let t : 'tv_ctype = Obj.magic t in
25426 let _startpos = _startpos_t_ in
25427 let _endpos = _endpos_pv_ in
25428 let _v : 'tv_one_decl_var = let s =
25429
25430 # 39 "standard.mly"
25431 ( None )
25432 # 25433 "parser_cocci_menhir.ml"
25433
25434 in
25435
25436 # 1118 "parser_cocci_menhir.mly"
25437 ( let (id,fn) = d in
25438 let t =
25439 Ast0.wrap
25440 (Ast0.FunctionPointer
25441 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
25442 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
25443 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
25444 # 25445 "parser_cocci_menhir.ml"
25445 in
25446 _menhir_env.MenhirLib.EngineTypes.stack <- {
25447 MenhirLib.EngineTypes.state = _menhir_s;
25448 MenhirLib.EngineTypes.semv = Obj.repr _v;
25449 MenhirLib.EngineTypes.startp = _startpos;
25450 MenhirLib.EngineTypes.endp = _endpos;
25451 MenhirLib.EngineTypes.next = _menhir_stack;
25452 });
25453 (fun _menhir_env ->
25454 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25455 let {
25456 MenhirLib.EngineTypes.semv = pv;
25457 MenhirLib.EngineTypes.startp = _startpos_pv_;
25458 MenhirLib.EngineTypes.endp = _endpos_pv_;
25459 MenhirLib.EngineTypes.next = {
25460 MenhirLib.EngineTypes.semv = rp2;
25461 MenhirLib.EngineTypes.startp = _startpos_rp2_;
25462 MenhirLib.EngineTypes.endp = _endpos_rp2_;
25463 MenhirLib.EngineTypes.next = {
25464 MenhirLib.EngineTypes.semv = p;
25465 MenhirLib.EngineTypes.startp = _startpos_p_;
25466 MenhirLib.EngineTypes.endp = _endpos_p_;
25467 MenhirLib.EngineTypes.next = {
25468 MenhirLib.EngineTypes.semv = lp2;
25469 MenhirLib.EngineTypes.startp = _startpos_lp2_;
25470 MenhirLib.EngineTypes.endp = _endpos_lp2_;
25471 MenhirLib.EngineTypes.next = {
25472 MenhirLib.EngineTypes.semv = rp1;
25473 MenhirLib.EngineTypes.startp = _startpos_rp1_;
25474 MenhirLib.EngineTypes.endp = _endpos_rp1_;
25475 MenhirLib.EngineTypes.next = {
25476 MenhirLib.EngineTypes.semv = d;
25477 MenhirLib.EngineTypes.startp = _startpos_d_;
25478 MenhirLib.EngineTypes.endp = _endpos_d_;
25479 MenhirLib.EngineTypes.next = {
25480 MenhirLib.EngineTypes.semv = st;
25481 MenhirLib.EngineTypes.startp = _startpos_st_;
25482 MenhirLib.EngineTypes.endp = _endpos_st_;
25483 MenhirLib.EngineTypes.next = {
25484 MenhirLib.EngineTypes.semv = lp1;
25485 MenhirLib.EngineTypes.startp = _startpos_lp1_;
25486 MenhirLib.EngineTypes.endp = _endpos_lp1_;
25487 MenhirLib.EngineTypes.next = {
25488 MenhirLib.EngineTypes.semv = t;
25489 MenhirLib.EngineTypes.startp = _startpos_t_;
25490 MenhirLib.EngineTypes.endp = _endpos_t_;
25491 MenhirLib.EngineTypes.next = {
25492 MenhirLib.EngineTypes.state = _menhir_s;
25493 MenhirLib.EngineTypes.semv = x0;
25494 MenhirLib.EngineTypes.startp = _startpos_x0_;
25495 MenhirLib.EngineTypes.endp = _endpos_x0_;
25496 MenhirLib.EngineTypes.next = _menhir_stack;
25497 };
25498 };
25499 };
25500 };
25501 };
25502 };
25503 };
25504 };
25505 };
25506 } = _menhir_stack in
25507 let pv : (
25508 # 110 "parser_cocci_menhir.mly"
25509 (Data.clt)
25510 # 25511 "parser_cocci_menhir.ml"
25511 ) = Obj.magic pv in
25512 let rp2 : (
25513 # 80 "parser_cocci_menhir.mly"
25514 (Data.clt)
25515 # 25516 "parser_cocci_menhir.ml"
25516 ) = Obj.magic rp2 in
25517 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
25518 let lp2 : (
25519 # 79 "parser_cocci_menhir.mly"
25520 (Data.clt)
25521 # 25522 "parser_cocci_menhir.ml"
25522 ) = Obj.magic lp2 in
25523 let rp1 : (
25524 # 80 "parser_cocci_menhir.mly"
25525 (Data.clt)
25526 # 25527 "parser_cocci_menhir.ml"
25527 ) = Obj.magic rp1 in
25528 let d : 'tv_d_ident = Obj.magic d in
25529 let st : (
25530 # 102 "parser_cocci_menhir.mly"
25531 (Data.clt)
25532 # 25533 "parser_cocci_menhir.ml"
25533 ) = Obj.magic st in
25534 let lp1 : (
25535 # 79 "parser_cocci_menhir.mly"
25536 (Data.clt)
25537 # 25538 "parser_cocci_menhir.ml"
25538 ) = Obj.magic lp1 in
25539 let t : 'tv_ctype = Obj.magic t in
25540 let x0 : 'tv_storage = Obj.magic x0 in
25541 let _startpos = _startpos_x0_ in
25542 let _endpos = _endpos_pv_ in
25543 let _v : 'tv_one_decl_var = let s =
25544 let x = x0 in
25545
25546 # 41 "standard.mly"
25547 ( Some x )
25548 # 25549 "parser_cocci_menhir.ml"
25549
25550 in
25551
25552 # 1118 "parser_cocci_menhir.mly"
25553 ( let (id,fn) = d in
25554 let t =
25555 Ast0.wrap
25556 (Ast0.FunctionPointer
25557 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
25558 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
25559 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
25560 # 25561 "parser_cocci_menhir.ml"
25561 in
25562 _menhir_env.MenhirLib.EngineTypes.stack <- {
25563 MenhirLib.EngineTypes.state = _menhir_s;
25564 MenhirLib.EngineTypes.semv = Obj.repr _v;
25565 MenhirLib.EngineTypes.startp = _startpos;
25566 MenhirLib.EngineTypes.endp = _endpos;
25567 MenhirLib.EngineTypes.next = _menhir_stack;
25568 });
25569 (fun _menhir_env ->
25570 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25571 let {
25572 MenhirLib.EngineTypes.semv = _5;
25573 MenhirLib.EngineTypes.startp = _startpos__5_;
25574 MenhirLib.EngineTypes.endp = _endpos__5_;
25575 MenhirLib.EngineTypes.next = {
25576 MenhirLib.EngineTypes.semv = _4;
25577 MenhirLib.EngineTypes.startp = _startpos__4_;
25578 MenhirLib.EngineTypes.endp = _endpos__4_;
25579 MenhirLib.EngineTypes.next = {
25580 MenhirLib.EngineTypes.semv = _3;
25581 MenhirLib.EngineTypes.startp = _startpos__3_;
25582 MenhirLib.EngineTypes.endp = _endpos__3_;
25583 MenhirLib.EngineTypes.next = {
25584 MenhirLib.EngineTypes.semv = _2;
25585 MenhirLib.EngineTypes.startp = _startpos__2_;
25586 MenhirLib.EngineTypes.endp = _endpos__2_;
25587 MenhirLib.EngineTypes.next = {
25588 MenhirLib.EngineTypes.state = _menhir_s;
25589 MenhirLib.EngineTypes.semv = _1;
25590 MenhirLib.EngineTypes.startp = _startpos__1_;
25591 MenhirLib.EngineTypes.endp = _endpos__1_;
25592 MenhirLib.EngineTypes.next = _menhir_stack;
25593 };
25594 };
25595 };
25596 };
25597 } = _menhir_stack in
25598 let _5 : (
25599 # 110 "parser_cocci_menhir.mly"
25600 (Data.clt)
25601 # 25602 "parser_cocci_menhir.ml"
25602 ) = Obj.magic _5 in
25603 let _4 : (
25604 # 80 "parser_cocci_menhir.mly"
25605 (Data.clt)
25606 # 25607 "parser_cocci_menhir.ml"
25607 ) = Obj.magic _4 in
25608 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
25609 let _2 : (
25610 # 79 "parser_cocci_menhir.mly"
25611 (Data.clt)
25612 # 25613 "parser_cocci_menhir.ml"
25613 ) = Obj.magic _2 in
25614 let _1 : 'tv_decl_ident = Obj.magic _1 in
25615 let _startpos = _startpos__1_ in
25616 let _endpos = _endpos__5_ in
25617 let _v : 'tv_one_decl_var =
25618 # 1126 "parser_cocci_menhir.mly"
25619 ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
25620 P.clt2mcode ")" _4,P.clt2mcode ";" _5)) )
25621 # 25622 "parser_cocci_menhir.ml"
25622 in
25623 _menhir_env.MenhirLib.EngineTypes.stack <- {
25624 MenhirLib.EngineTypes.state = _menhir_s;
25625 MenhirLib.EngineTypes.semv = Obj.repr _v;
25626 MenhirLib.EngineTypes.startp = _startpos;
25627 MenhirLib.EngineTypes.endp = _endpos;
25628 MenhirLib.EngineTypes.next = _menhir_stack;
25629 });
25630 (fun _menhir_env ->
25631 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25632 let {
25633 MenhirLib.EngineTypes.semv = pv;
25634 MenhirLib.EngineTypes.startp = _startpos_pv_;
25635 MenhirLib.EngineTypes.endp = _endpos_pv_;
25636 MenhirLib.EngineTypes.next = {
25637 MenhirLib.EngineTypes.semv = e;
25638 MenhirLib.EngineTypes.startp = _startpos_e_;
25639 MenhirLib.EngineTypes.endp = _endpos_e_;
25640 MenhirLib.EngineTypes.next = {
25641 MenhirLib.EngineTypes.semv = q;
25642 MenhirLib.EngineTypes.startp = _startpos_q_;
25643 MenhirLib.EngineTypes.endp = _endpos_q_;
25644 MenhirLib.EngineTypes.next = {
25645 MenhirLib.EngineTypes.semv = rp2;
25646 MenhirLib.EngineTypes.startp = _startpos_rp2_;
25647 MenhirLib.EngineTypes.endp = _endpos_rp2_;
25648 MenhirLib.EngineTypes.next = {
25649 MenhirLib.EngineTypes.semv = p;
25650 MenhirLib.EngineTypes.startp = _startpos_p_;
25651 MenhirLib.EngineTypes.endp = _endpos_p_;
25652 MenhirLib.EngineTypes.next = {
25653 MenhirLib.EngineTypes.semv = lp2;
25654 MenhirLib.EngineTypes.startp = _startpos_lp2_;
25655 MenhirLib.EngineTypes.endp = _endpos_lp2_;
25656 MenhirLib.EngineTypes.next = {
25657 MenhirLib.EngineTypes.semv = rp1;
25658 MenhirLib.EngineTypes.startp = _startpos_rp1_;
25659 MenhirLib.EngineTypes.endp = _endpos_rp1_;
25660 MenhirLib.EngineTypes.next = {
25661 MenhirLib.EngineTypes.semv = d;
25662 MenhirLib.EngineTypes.startp = _startpos_d_;
25663 MenhirLib.EngineTypes.endp = _endpos_d_;
25664 MenhirLib.EngineTypes.next = {
25665 MenhirLib.EngineTypes.semv = st;
25666 MenhirLib.EngineTypes.startp = _startpos_st_;
25667 MenhirLib.EngineTypes.endp = _endpos_st_;
25668 MenhirLib.EngineTypes.next = {
25669 MenhirLib.EngineTypes.semv = lp1;
25670 MenhirLib.EngineTypes.startp = _startpos_lp1_;
25671 MenhirLib.EngineTypes.endp = _endpos_lp1_;
25672 MenhirLib.EngineTypes.next = {
25673 MenhirLib.EngineTypes.state = _menhir_s;
25674 MenhirLib.EngineTypes.semv = t;
25675 MenhirLib.EngineTypes.startp = _startpos_t_;
25676 MenhirLib.EngineTypes.endp = _endpos_t_;
25677 MenhirLib.EngineTypes.next = _menhir_stack;
25678 };
25679 };
25680 };
25681 };
25682 };
25683 };
25684 };
25685 };
25686 };
25687 };
25688 } = _menhir_stack in
25689 let pv : (
25690 # 110 "parser_cocci_menhir.mly"
25691 (Data.clt)
25692 # 25693 "parser_cocci_menhir.ml"
25693 ) = Obj.magic pv in
25694 let e : 'tv_initialize = Obj.magic e in
25695 let q : (
25696 # 110 "parser_cocci_menhir.mly"
25697 (Data.clt)
25698 # 25699 "parser_cocci_menhir.ml"
25699 ) = Obj.magic q in
25700 let rp2 : (
25701 # 80 "parser_cocci_menhir.mly"
25702 (Data.clt)
25703 # 25704 "parser_cocci_menhir.ml"
25704 ) = Obj.magic rp2 in
25705 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
25706 let lp2 : (
25707 # 79 "parser_cocci_menhir.mly"
25708 (Data.clt)
25709 # 25710 "parser_cocci_menhir.ml"
25710 ) = Obj.magic lp2 in
25711 let rp1 : (
25712 # 80 "parser_cocci_menhir.mly"
25713 (Data.clt)
25714 # 25715 "parser_cocci_menhir.ml"
25715 ) = Obj.magic rp1 in
25716 let d : 'tv_d_ident = Obj.magic d in
25717 let st : (
25718 # 102 "parser_cocci_menhir.mly"
25719 (Data.clt)
25720 # 25721 "parser_cocci_menhir.ml"
25721 ) = Obj.magic st in
25722 let lp1 : (
25723 # 79 "parser_cocci_menhir.mly"
25724 (Data.clt)
25725 # 25726 "parser_cocci_menhir.ml"
25726 ) = Obj.magic lp1 in
25727 let t : 'tv_ctype = Obj.magic t in
25728 let _startpos = _startpos_t_ in
25729 let _endpos = _endpos_pv_ in
25730 let _v : 'tv_one_decl_var = let s =
25731
25732 # 39 "standard.mly"
25733 ( None )
25734 # 25735 "parser_cocci_menhir.ml"
25735
25736 in
25737
25738 # 1132 "parser_cocci_menhir.mly"
25739 ( let (id,fn) = d in
25740 let t =
25741 Ast0.wrap
25742 (Ast0.FunctionPointer
25743 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
25744 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
25745 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
25746 # 25747 "parser_cocci_menhir.ml"
25747 in
25748 _menhir_env.MenhirLib.EngineTypes.stack <- {
25749 MenhirLib.EngineTypes.state = _menhir_s;
25750 MenhirLib.EngineTypes.semv = Obj.repr _v;
25751 MenhirLib.EngineTypes.startp = _startpos;
25752 MenhirLib.EngineTypes.endp = _endpos;
25753 MenhirLib.EngineTypes.next = _menhir_stack;
25754 });
25755 (fun _menhir_env ->
25756 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25757 let {
25758 MenhirLib.EngineTypes.semv = pv;
25759 MenhirLib.EngineTypes.startp = _startpos_pv_;
25760 MenhirLib.EngineTypes.endp = _endpos_pv_;
25761 MenhirLib.EngineTypes.next = {
25762 MenhirLib.EngineTypes.semv = e;
25763 MenhirLib.EngineTypes.startp = _startpos_e_;
25764 MenhirLib.EngineTypes.endp = _endpos_e_;
25765 MenhirLib.EngineTypes.next = {
25766 MenhirLib.EngineTypes.semv = q;
25767 MenhirLib.EngineTypes.startp = _startpos_q_;
25768 MenhirLib.EngineTypes.endp = _endpos_q_;
25769 MenhirLib.EngineTypes.next = {
25770 MenhirLib.EngineTypes.semv = rp2;
25771 MenhirLib.EngineTypes.startp = _startpos_rp2_;
25772 MenhirLib.EngineTypes.endp = _endpos_rp2_;
25773 MenhirLib.EngineTypes.next = {
25774 MenhirLib.EngineTypes.semv = p;
25775 MenhirLib.EngineTypes.startp = _startpos_p_;
25776 MenhirLib.EngineTypes.endp = _endpos_p_;
25777 MenhirLib.EngineTypes.next = {
25778 MenhirLib.EngineTypes.semv = lp2;
25779 MenhirLib.EngineTypes.startp = _startpos_lp2_;
25780 MenhirLib.EngineTypes.endp = _endpos_lp2_;
25781 MenhirLib.EngineTypes.next = {
25782 MenhirLib.EngineTypes.semv = rp1;
25783 MenhirLib.EngineTypes.startp = _startpos_rp1_;
25784 MenhirLib.EngineTypes.endp = _endpos_rp1_;
25785 MenhirLib.EngineTypes.next = {
25786 MenhirLib.EngineTypes.semv = d;
25787 MenhirLib.EngineTypes.startp = _startpos_d_;
25788 MenhirLib.EngineTypes.endp = _endpos_d_;
25789 MenhirLib.EngineTypes.next = {
25790 MenhirLib.EngineTypes.semv = st;
25791 MenhirLib.EngineTypes.startp = _startpos_st_;
25792 MenhirLib.EngineTypes.endp = _endpos_st_;
25793 MenhirLib.EngineTypes.next = {
25794 MenhirLib.EngineTypes.semv = lp1;
25795 MenhirLib.EngineTypes.startp = _startpos_lp1_;
25796 MenhirLib.EngineTypes.endp = _endpos_lp1_;
25797 MenhirLib.EngineTypes.next = {
25798 MenhirLib.EngineTypes.semv = t;
25799 MenhirLib.EngineTypes.startp = _startpos_t_;
25800 MenhirLib.EngineTypes.endp = _endpos_t_;
25801 MenhirLib.EngineTypes.next = {
25802 MenhirLib.EngineTypes.state = _menhir_s;
25803 MenhirLib.EngineTypes.semv = x0;
25804 MenhirLib.EngineTypes.startp = _startpos_x0_;
25805 MenhirLib.EngineTypes.endp = _endpos_x0_;
25806 MenhirLib.EngineTypes.next = _menhir_stack;
25807 };
25808 };
25809 };
25810 };
25811 };
25812 };
25813 };
25814 };
25815 };
25816 };
25817 };
25818 } = _menhir_stack in
25819 let pv : (
25820 # 110 "parser_cocci_menhir.mly"
25821 (Data.clt)
25822 # 25823 "parser_cocci_menhir.ml"
25823 ) = Obj.magic pv in
25824 let e : 'tv_initialize = Obj.magic e in
25825 let q : (
25826 # 110 "parser_cocci_menhir.mly"
25827 (Data.clt)
25828 # 25829 "parser_cocci_menhir.ml"
25829 ) = Obj.magic q in
25830 let rp2 : (
25831 # 80 "parser_cocci_menhir.mly"
25832 (Data.clt)
25833 # 25834 "parser_cocci_menhir.ml"
25834 ) = Obj.magic rp2 in
25835 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
25836 let lp2 : (
25837 # 79 "parser_cocci_menhir.mly"
25838 (Data.clt)
25839 # 25840 "parser_cocci_menhir.ml"
25840 ) = Obj.magic lp2 in
25841 let rp1 : (
25842 # 80 "parser_cocci_menhir.mly"
25843 (Data.clt)
25844 # 25845 "parser_cocci_menhir.ml"
25845 ) = Obj.magic rp1 in
25846 let d : 'tv_d_ident = Obj.magic d in
25847 let st : (
25848 # 102 "parser_cocci_menhir.mly"
25849 (Data.clt)
25850 # 25851 "parser_cocci_menhir.ml"
25851 ) = Obj.magic st in
25852 let lp1 : (
25853 # 79 "parser_cocci_menhir.mly"
25854 (Data.clt)
25855 # 25856 "parser_cocci_menhir.ml"
25856 ) = Obj.magic lp1 in
25857 let t : 'tv_ctype = Obj.magic t in
25858 let x0 : 'tv_storage = Obj.magic x0 in
25859 let _startpos = _startpos_x0_ in
25860 let _endpos = _endpos_pv_ in
25861 let _v : 'tv_one_decl_var = let s =
25862 let x = x0 in
25863
25864 # 41 "standard.mly"
25865 ( Some x )
25866 # 25867 "parser_cocci_menhir.ml"
25867
25868 in
25869
25870 # 1132 "parser_cocci_menhir.mly"
25871 ( let (id,fn) = d in
25872 let t =
25873 Ast0.wrap
25874 (Ast0.FunctionPointer
25875 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
25876 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
25877 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
25878 # 25879 "parser_cocci_menhir.ml"
25879 in
25880 _menhir_env.MenhirLib.EngineTypes.stack <- {
25881 MenhirLib.EngineTypes.state = _menhir_s;
25882 MenhirLib.EngineTypes.semv = Obj.repr _v;
25883 MenhirLib.EngineTypes.startp = _startpos;
25884 MenhirLib.EngineTypes.endp = _endpos;
25885 MenhirLib.EngineTypes.next = _menhir_stack;
25886 });
25887 (fun _menhir_env ->
25888 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25889 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
25890 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
25891 let _endpos = _startpos in
25892 let _v : 'tv_option_TLocal_ =
25893 # 29 "standard.mly"
25894 ( None )
25895 # 25896 "parser_cocci_menhir.ml"
25896 in
25897 _menhir_env.MenhirLib.EngineTypes.stack <- {
25898 MenhirLib.EngineTypes.state = _menhir_s;
25899 MenhirLib.EngineTypes.semv = Obj.repr _v;
25900 MenhirLib.EngineTypes.startp = _startpos;
25901 MenhirLib.EngineTypes.endp = _endpos;
25902 MenhirLib.EngineTypes.next = _menhir_stack;
25903 });
25904 (fun _menhir_env ->
25905 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25906 let {
25907 MenhirLib.EngineTypes.state = _menhir_s;
25908 MenhirLib.EngineTypes.semv = x;
25909 MenhirLib.EngineTypes.startp = _startpos_x_;
25910 MenhirLib.EngineTypes.endp = _endpos_x_;
25911 MenhirLib.EngineTypes.next = _menhir_stack;
25912 } = _menhir_stack in
25913 let x : unit = Obj.magic x in
25914 let _startpos = _startpos_x_ in
25915 let _endpos = _endpos_x_ in
25916 let _v : 'tv_option_TLocal_ =
25917 # 31 "standard.mly"
25918 ( Some x )
25919 # 25920 "parser_cocci_menhir.ml"
25920 in
25921 _menhir_env.MenhirLib.EngineTypes.stack <- {
25922 MenhirLib.EngineTypes.state = _menhir_s;
25923 MenhirLib.EngineTypes.semv = Obj.repr _v;
25924 MenhirLib.EngineTypes.startp = _startpos;
25925 MenhirLib.EngineTypes.endp = _endpos;
25926 MenhirLib.EngineTypes.next = _menhir_stack;
25927 });
25928 (fun _menhir_env ->
25929 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25930 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
25931 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
25932 let _endpos = _startpos in
25933 let _v : 'tv_option_TPosAny_ =
25934 # 29 "standard.mly"
25935 ( None )
25936 # 25937 "parser_cocci_menhir.ml"
25937 in
25938 _menhir_env.MenhirLib.EngineTypes.stack <- {
25939 MenhirLib.EngineTypes.state = _menhir_s;
25940 MenhirLib.EngineTypes.semv = Obj.repr _v;
25941 MenhirLib.EngineTypes.startp = _startpos;
25942 MenhirLib.EngineTypes.endp = _endpos;
25943 MenhirLib.EngineTypes.next = _menhir_stack;
25944 });
25945 (fun _menhir_env ->
25946 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25947 let {
25948 MenhirLib.EngineTypes.state = _menhir_s;
25949 MenhirLib.EngineTypes.semv = x;
25950 MenhirLib.EngineTypes.startp = _startpos_x_;
25951 MenhirLib.EngineTypes.endp = _endpos_x_;
25952 MenhirLib.EngineTypes.next = _menhir_stack;
25953 } = _menhir_stack in
25954 let x : unit = Obj.magic x in
25955 let _startpos = _startpos_x_ in
25956 let _endpos = _endpos_x_ in
25957 let _v : 'tv_option_TPosAny_ =
25958 # 31 "standard.mly"
25959 ( Some x )
25960 # 25961 "parser_cocci_menhir.ml"
25961 in
25962 _menhir_env.MenhirLib.EngineTypes.stack <- {
25963 MenhirLib.EngineTypes.state = _menhir_s;
25964 MenhirLib.EngineTypes.semv = Obj.repr _v;
25965 MenhirLib.EngineTypes.startp = _startpos;
25966 MenhirLib.EngineTypes.endp = _endpos;
25967 MenhirLib.EngineTypes.next = _menhir_stack;
25968 });
25969 (fun _menhir_env ->
25970 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25971 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
25972 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
25973 let _endpos = _startpos in
25974 let _v : 'tv_option_eexpr_ =
25975 # 29 "standard.mly"
25976 ( None )
25977 # 25978 "parser_cocci_menhir.ml"
25978 in
25979 _menhir_env.MenhirLib.EngineTypes.stack <- {
25980 MenhirLib.EngineTypes.state = _menhir_s;
25981 MenhirLib.EngineTypes.semv = Obj.repr _v;
25982 MenhirLib.EngineTypes.startp = _startpos;
25983 MenhirLib.EngineTypes.endp = _endpos;
25984 MenhirLib.EngineTypes.next = _menhir_stack;
25985 });
25986 (fun _menhir_env ->
25987 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25988 let {
25989 MenhirLib.EngineTypes.state = _menhir_s;
25990 MenhirLib.EngineTypes.semv = x;
25991 MenhirLib.EngineTypes.startp = _startpos_x_;
25992 MenhirLib.EngineTypes.endp = _endpos_x_;
25993 MenhirLib.EngineTypes.next = _menhir_stack;
25994 } = _menhir_stack in
25995 let x : 'tv_eexpr = Obj.magic x in
25996 let _startpos = _startpos_x_ in
25997 let _endpos = _endpos_x_ in
25998 let _v : 'tv_option_eexpr_ =
25999 # 31 "standard.mly"
26000 ( Some x )
26001 # 26002 "parser_cocci_menhir.ml"
26002 in
26003 _menhir_env.MenhirLib.EngineTypes.stack <- {
26004 MenhirLib.EngineTypes.state = _menhir_s;
26005 MenhirLib.EngineTypes.semv = Obj.repr _v;
26006 MenhirLib.EngineTypes.startp = _startpos;
26007 MenhirLib.EngineTypes.endp = _endpos;
26008 MenhirLib.EngineTypes.next = _menhir_stack;
26009 });
26010 (fun _menhir_env ->
26011 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26012 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
26013 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
26014 let _endpos = _startpos in
26015 let _v : 'tv_option_not_ceq_or_sub_ =
26016 # 29 "standard.mly"
26017 ( None )
26018 # 26019 "parser_cocci_menhir.ml"
26019 in
26020 _menhir_env.MenhirLib.EngineTypes.stack <- {
26021 MenhirLib.EngineTypes.state = _menhir_s;
26022 MenhirLib.EngineTypes.semv = Obj.repr _v;
26023 MenhirLib.EngineTypes.startp = _startpos;
26024 MenhirLib.EngineTypes.endp = _endpos;
26025 MenhirLib.EngineTypes.next = _menhir_stack;
26026 });
26027 (fun _menhir_env ->
26028 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26029 let {
26030 MenhirLib.EngineTypes.state = _menhir_s;
26031 MenhirLib.EngineTypes.semv = x;
26032 MenhirLib.EngineTypes.startp = _startpos_x_;
26033 MenhirLib.EngineTypes.endp = _endpos_x_;
26034 MenhirLib.EngineTypes.next = _menhir_stack;
26035 } = _menhir_stack in
26036 let x : 'tv_not_ceq_or_sub = Obj.magic x in
26037 let _startpos = _startpos_x_ in
26038 let _endpos = _endpos_x_ in
26039 let _v : 'tv_option_not_ceq_or_sub_ =
26040 # 31 "standard.mly"
26041 ( Some x )
26042 # 26043 "parser_cocci_menhir.ml"
26043 in
26044 _menhir_env.MenhirLib.EngineTypes.stack <- {
26045 MenhirLib.EngineTypes.state = _menhir_s;
26046 MenhirLib.EngineTypes.semv = Obj.repr _v;
26047 MenhirLib.EngineTypes.startp = _startpos;
26048 MenhirLib.EngineTypes.endp = _endpos;
26049 MenhirLib.EngineTypes.next = _menhir_stack;
26050 });
26051 (fun _menhir_env ->
26052 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26053 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
26054 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
26055 let _endpos = _startpos in
26056 let _v : 'tv_option_re_or_not_eqe_or_sub_ =
26057 # 29 "standard.mly"
26058 ( None )
26059 # 26060 "parser_cocci_menhir.ml"
26060 in
26061 _menhir_env.MenhirLib.EngineTypes.stack <- {
26062 MenhirLib.EngineTypes.state = _menhir_s;
26063 MenhirLib.EngineTypes.semv = Obj.repr _v;
26064 MenhirLib.EngineTypes.startp = _startpos;
26065 MenhirLib.EngineTypes.endp = _endpos;
26066 MenhirLib.EngineTypes.next = _menhir_stack;
26067 });
26068 (fun _menhir_env ->
26069 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26070 let {
26071 MenhirLib.EngineTypes.state = _menhir_s;
26072 MenhirLib.EngineTypes.semv = x;
26073 MenhirLib.EngineTypes.startp = _startpos_x_;
26074 MenhirLib.EngineTypes.endp = _endpos_x_;
26075 MenhirLib.EngineTypes.next = _menhir_stack;
26076 } = _menhir_stack in
26077 let x : 'tv_re_or_not_eqe_or_sub = Obj.magic x in
26078 let _startpos = _startpos_x_ in
26079 let _endpos = _endpos_x_ in
26080 let _v : 'tv_option_re_or_not_eqe_or_sub_ =
26081 # 31 "standard.mly"
26082 ( Some x )
26083 # 26084 "parser_cocci_menhir.ml"
26084 in
26085 _menhir_env.MenhirLib.EngineTypes.stack <- {
26086 MenhirLib.EngineTypes.state = _menhir_s;
26087 MenhirLib.EngineTypes.semv = Obj.repr _v;
26088 MenhirLib.EngineTypes.startp = _startpos;
26089 MenhirLib.EngineTypes.endp = _endpos;
26090 MenhirLib.EngineTypes.next = _menhir_stack;
26091 });
26092 (fun _menhir_env ->
26093 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26094 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
26095 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
26096 let _endpos = _startpos in
26097 let _v : 'tv_option_re_or_not_eqid_ =
26098 # 29 "standard.mly"
26099 ( None )
26100 # 26101 "parser_cocci_menhir.ml"
26101 in
26102 _menhir_env.MenhirLib.EngineTypes.stack <- {
26103 MenhirLib.EngineTypes.state = _menhir_s;
26104 MenhirLib.EngineTypes.semv = Obj.repr _v;
26105 MenhirLib.EngineTypes.startp = _startpos;
26106 MenhirLib.EngineTypes.endp = _endpos;
26107 MenhirLib.EngineTypes.next = _menhir_stack;
26108 });
26109 (fun _menhir_env ->
26110 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26111 let {
26112 MenhirLib.EngineTypes.state = _menhir_s;
26113 MenhirLib.EngineTypes.semv = x;
26114 MenhirLib.EngineTypes.startp = _startpos_x_;
26115 MenhirLib.EngineTypes.endp = _endpos_x_;
26116 MenhirLib.EngineTypes.next = _menhir_stack;
26117 } = _menhir_stack in
26118 let x : 'tv_re_or_not_eqid = Obj.magic x in
26119 let _startpos = _startpos_x_ in
26120 let _endpos = _endpos_x_ in
26121 let _v : 'tv_option_re_or_not_eqid_ =
26122 # 31 "standard.mly"
26123 ( Some x )
26124 # 26125 "parser_cocci_menhir.ml"
26125 in
26126 _menhir_env.MenhirLib.EngineTypes.stack <- {
26127 MenhirLib.EngineTypes.state = _menhir_s;
26128 MenhirLib.EngineTypes.semv = Obj.repr _v;
26129 MenhirLib.EngineTypes.startp = _startpos;
26130 MenhirLib.EngineTypes.endp = _endpos;
26131 MenhirLib.EngineTypes.next = _menhir_stack;
26132 });
26133 (fun _menhir_env ->
26134 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26135 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
26136 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
26137 let _endpos = _startpos in
26138 let _v : 'tv_plus_after_dots =
26139 # 1905 "parser_cocci_menhir.mly"
26140 ([])
26141 # 26142 "parser_cocci_menhir.ml"
26142 in
26143 _menhir_env.MenhirLib.EngineTypes.stack <- {
26144 MenhirLib.EngineTypes.state = _menhir_s;
26145 MenhirLib.EngineTypes.semv = Obj.repr _v;
26146 MenhirLib.EngineTypes.startp = _startpos;
26147 MenhirLib.EngineTypes.endp = _endpos;
26148 MenhirLib.EngineTypes.next = _menhir_stack;
26149 });
26150 (fun _menhir_env ->
26151 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26152 let {
26153 MenhirLib.EngineTypes.semv = _2;
26154 MenhirLib.EngineTypes.startp = _startpos__2_;
26155 MenhirLib.EngineTypes.endp = _endpos__2_;
26156 MenhirLib.EngineTypes.next = {
26157 MenhirLib.EngineTypes.state = _menhir_s;
26158 MenhirLib.EngineTypes.startp = _startpos__1_;
26159 MenhirLib.EngineTypes.endp = _endpos__1_;
26160 MenhirLib.EngineTypes.next = _menhir_stack;
26161 };
26162 } = _menhir_stack in
26163 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
26164 let _startpos = _startpos__1_ in
26165 let _endpos = _endpos__2_ in
26166 let _v : 'tv_plus_after_dots =
26167 # 1906 "parser_cocci_menhir.mly"
26168 (_2)
26169 # 26170 "parser_cocci_menhir.ml"
26170 in
26171 _menhir_env.MenhirLib.EngineTypes.stack <- {
26172 MenhirLib.EngineTypes.state = _menhir_s;
26173 MenhirLib.EngineTypes.semv = Obj.repr _v;
26174 MenhirLib.EngineTypes.startp = _startpos;
26175 MenhirLib.EngineTypes.endp = _endpos;
26176 MenhirLib.EngineTypes.next = _menhir_stack;
26177 });
26178 (fun _menhir_env ->
26179 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26180 let {
26181 MenhirLib.EngineTypes.semv = _2;
26182 MenhirLib.EngineTypes.startp = _startpos__2_;
26183 MenhirLib.EngineTypes.endp = _endpos__2_;
26184 MenhirLib.EngineTypes.next = {
26185 MenhirLib.EngineTypes.state = _menhir_s;
26186 MenhirLib.EngineTypes.semv = _1;
26187 MenhirLib.EngineTypes.startp = _startpos__1_;
26188 MenhirLib.EngineTypes.endp = _endpos__1_;
26189 MenhirLib.EngineTypes.next = _menhir_stack;
26190 };
26191 } = _menhir_stack in
26192 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
26193 let _1 : 'tv_expr = Obj.magic _1 in
26194 let _startpos = _startpos__1_ in
26195 let _endpos = _endpos__2_ in
26196 let _v : 'tv_plus_after_dots =
26197 # 1908 "parser_cocci_menhir.mly"
26198 ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
26199 # 26200 "parser_cocci_menhir.ml"
26200 in
26201 _menhir_env.MenhirLib.EngineTypes.stack <- {
26202 MenhirLib.EngineTypes.state = _menhir_s;
26203 MenhirLib.EngineTypes.semv = Obj.repr _v;
26204 MenhirLib.EngineTypes.startp = _startpos;
26205 MenhirLib.EngineTypes.endp = _endpos;
26206 MenhirLib.EngineTypes.next = _menhir_stack;
26207 });
26208 (fun _menhir_env ->
26209 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26210 let {
26211 MenhirLib.EngineTypes.semv = _2;
26212 MenhirLib.EngineTypes.startp = _startpos__2_;
26213 MenhirLib.EngineTypes.endp = _endpos__2_;
26214 MenhirLib.EngineTypes.next = {
26215 MenhirLib.EngineTypes.state = _menhir_s;
26216 MenhirLib.EngineTypes.semv = _1;
26217 MenhirLib.EngineTypes.startp = _startpos__1_;
26218 MenhirLib.EngineTypes.endp = _endpos__1_;
26219 MenhirLib.EngineTypes.next = _menhir_stack;
26220 };
26221 } = _menhir_stack in
26222 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
26223 let _1 : 'tv_fundecl = Obj.magic _1 in
26224 let _startpos = _startpos__1_ in
26225 let _endpos = _endpos__2_ in
26226 let _v : 'tv_plus_after_dots =
26227 # 1909 "parser_cocci_menhir.mly"
26228 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
26229 # 26230 "parser_cocci_menhir.ml"
26230 in
26231 _menhir_env.MenhirLib.EngineTypes.stack <- {
26232 MenhirLib.EngineTypes.state = _menhir_s;
26233 MenhirLib.EngineTypes.semv = Obj.repr _v;
26234 MenhirLib.EngineTypes.startp = _startpos;
26235 MenhirLib.EngineTypes.endp = _endpos;
26236 MenhirLib.EngineTypes.next = _menhir_stack;
26237 });
26238 (fun _menhir_env ->
26239 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26240 let {
26241 MenhirLib.EngineTypes.semv = _2;
26242 MenhirLib.EngineTypes.startp = _startpos__2_;
26243 MenhirLib.EngineTypes.endp = _endpos__2_;
26244 MenhirLib.EngineTypes.next = {
26245 MenhirLib.EngineTypes.state = _menhir_s;
26246 MenhirLib.EngineTypes.semv = _1;
26247 MenhirLib.EngineTypes.startp = _startpos__1_;
26248 MenhirLib.EngineTypes.endp = _endpos__1_;
26249 MenhirLib.EngineTypes.next = _menhir_stack;
26250 };
26251 } = _menhir_stack in
26252 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
26253 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
26254 let _startpos = _startpos__1_ in
26255 let _endpos = _endpos__2_ in
26256 let _v : 'tv_plus_after_dots =
26257 # 1911 "parser_cocci_menhir.mly"
26258 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
26259 # 26260 "parser_cocci_menhir.ml"
26260 in
26261 _menhir_env.MenhirLib.EngineTypes.stack <- {
26262 MenhirLib.EngineTypes.state = _menhir_s;
26263 MenhirLib.EngineTypes.semv = Obj.repr _v;
26264 MenhirLib.EngineTypes.startp = _startpos;
26265 MenhirLib.EngineTypes.endp = _endpos;
26266 MenhirLib.EngineTypes.next = _menhir_stack;
26267 });
26268 (fun _menhir_env ->
26269 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26270 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
26271 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
26272 let _endpos = _startpos in
26273 let _v : 'tv_plus_after_exp =
26274 # 1901 "parser_cocci_menhir.mly"
26275 ([])
26276 # 26277 "parser_cocci_menhir.ml"
26277 in
26278 _menhir_env.MenhirLib.EngineTypes.stack <- {
26279 MenhirLib.EngineTypes.state = _menhir_s;
26280 MenhirLib.EngineTypes.semv = Obj.repr _v;
26281 MenhirLib.EngineTypes.startp = _startpos;
26282 MenhirLib.EngineTypes.endp = _endpos;
26283 MenhirLib.EngineTypes.next = _menhir_stack;
26284 });
26285 (fun _menhir_env ->
26286 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26287 let {
26288 MenhirLib.EngineTypes.semv = _2;
26289 MenhirLib.EngineTypes.startp = _startpos__2_;
26290 MenhirLib.EngineTypes.endp = _endpos__2_;
26291 MenhirLib.EngineTypes.next = {
26292 MenhirLib.EngineTypes.state = _menhir_s;
26293 MenhirLib.EngineTypes.semv = _1;
26294 MenhirLib.EngineTypes.startp = _startpos__1_;
26295 MenhirLib.EngineTypes.endp = _endpos__1_;
26296 MenhirLib.EngineTypes.next = _menhir_stack;
26297 };
26298 } = _menhir_stack in
26299 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
26300 let _1 : 'tv_stm_dots = Obj.magic _1 in
26301 let _startpos = _startpos__1_ in
26302 let _endpos = _endpos__2_ in
26303 let _v : 'tv_plus_after_exp =
26304 # 1902 "parser_cocci_menhir.mly"
26305 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
26306 # 26307 "parser_cocci_menhir.ml"
26307 in
26308 _menhir_env.MenhirLib.EngineTypes.stack <- {
26309 MenhirLib.EngineTypes.state = _menhir_s;
26310 MenhirLib.EngineTypes.semv = Obj.repr _v;
26311 MenhirLib.EngineTypes.startp = _startpos;
26312 MenhirLib.EngineTypes.endp = _endpos;
26313 MenhirLib.EngineTypes.next = _menhir_stack;
26314 });
26315 (fun _menhir_env ->
26316 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26317 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
26318 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
26319 let _endpos = _startpos in
26320 let _v : 'tv_plus_after_stm =
26321 # 1914 "parser_cocci_menhir.mly"
26322 ([])
26323 # 26324 "parser_cocci_menhir.ml"
26324 in
26325 _menhir_env.MenhirLib.EngineTypes.stack <- {
26326 MenhirLib.EngineTypes.state = _menhir_s;
26327 MenhirLib.EngineTypes.semv = Obj.repr _v;
26328 MenhirLib.EngineTypes.startp = _startpos;
26329 MenhirLib.EngineTypes.endp = _endpos;
26330 MenhirLib.EngineTypes.next = _menhir_stack;
26331 });
26332 (fun _menhir_env ->
26333 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26334 let {
26335 MenhirLib.EngineTypes.semv = _2;
26336 MenhirLib.EngineTypes.startp = _startpos__2_;
26337 MenhirLib.EngineTypes.endp = _endpos__2_;
26338 MenhirLib.EngineTypes.next = {
26339 MenhirLib.EngineTypes.state = _menhir_s;
26340 MenhirLib.EngineTypes.semv = _1;
26341 MenhirLib.EngineTypes.startp = _startpos__1_;
26342 MenhirLib.EngineTypes.endp = _endpos__1_;
26343 MenhirLib.EngineTypes.next = _menhir_stack;
26344 };
26345 } = _menhir_stack in
26346 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
26347 let _1 : 'tv_stm_dots = Obj.magic _1 in
26348 let _startpos = _startpos__1_ in
26349 let _endpos = _endpos__2_ in
26350 let _v : 'tv_plus_after_stm =
26351 # 1915 "parser_cocci_menhir.mly"
26352 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
26353 # 26354 "parser_cocci_menhir.ml"
26354 in
26355 _menhir_env.MenhirLib.EngineTypes.stack <- {
26356 MenhirLib.EngineTypes.state = _menhir_s;
26357 MenhirLib.EngineTypes.semv = Obj.repr _v;
26358 MenhirLib.EngineTypes.startp = _startpos;
26359 MenhirLib.EngineTypes.endp = _endpos;
26360 MenhirLib.EngineTypes.next = _menhir_stack;
26361 });
26362 (fun _menhir_env ->
26363 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26364 let {
26365 MenhirLib.EngineTypes.semv = _2;
26366 MenhirLib.EngineTypes.startp = _startpos__2_;
26367 MenhirLib.EngineTypes.endp = _endpos__2_;
26368 MenhirLib.EngineTypes.next = {
26369 MenhirLib.EngineTypes.state = _menhir_s;
26370 MenhirLib.EngineTypes.semv = _1;
26371 MenhirLib.EngineTypes.startp = _startpos__1_;
26372 MenhirLib.EngineTypes.endp = _endpos__1_;
26373 MenhirLib.EngineTypes.next = _menhir_stack;
26374 };
26375 } = _menhir_stack in
26376 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
26377 let _1 : 'tv_fundecl = Obj.magic _1 in
26378 let _startpos = _startpos__1_ in
26379 let _endpos = _endpos__2_ in
26380 let _v : 'tv_plus_after_stm =
26381 # 1916 "parser_cocci_menhir.mly"
26382 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
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 = _2;
26396 MenhirLib.EngineTypes.startp = _startpos__2_;
26397 MenhirLib.EngineTypes.endp = _endpos__2_;
26398 MenhirLib.EngineTypes.next = {
26399 MenhirLib.EngineTypes.state = _menhir_s;
26400 MenhirLib.EngineTypes.semv = _1;
26401 MenhirLib.EngineTypes.startp = _startpos__1_;
26402 MenhirLib.EngineTypes.endp = _endpos__1_;
26403 MenhirLib.EngineTypes.next = _menhir_stack;
26404 };
26405 } = _menhir_stack in
26406 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
26407 let _1 : 'tv_decl_statement = Obj.magic _1 in
26408 let _startpos = _startpos__1_ in
26409 let _endpos = _endpos__2_ in
26410 let _v : 'tv_plus_after_stm =
26411 # 1918 "parser_cocci_menhir.mly"
26412 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
26413 # 26414 "parser_cocci_menhir.ml"
26414 in
26415 _menhir_env.MenhirLib.EngineTypes.stack <- {
26416 MenhirLib.EngineTypes.state = _menhir_s;
26417 MenhirLib.EngineTypes.semv = Obj.repr _v;
26418 MenhirLib.EngineTypes.startp = _startpos;
26419 MenhirLib.EngineTypes.endp = _endpos;
26420 MenhirLib.EngineTypes.next = _menhir_stack;
26421 });
26422 (fun _menhir_env ->
26423 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26424 let {
26425 MenhirLib.EngineTypes.semv = b;
26426 MenhirLib.EngineTypes.startp = _startpos_b_;
26427 MenhirLib.EngineTypes.endp = _endpos_b_;
26428 MenhirLib.EngineTypes.next = {
26429 MenhirLib.EngineTypes.state = _menhir_s;
26430 MenhirLib.EngineTypes.semv = f;
26431 MenhirLib.EngineTypes.startp = _startpos_f_;
26432 MenhirLib.EngineTypes.endp = _endpos_f_;
26433 MenhirLib.EngineTypes.next = _menhir_stack;
26434 };
26435 } = _menhir_stack in
26436 let b : 'tv_loption_plus_start_ = Obj.magic b in
26437 let f : 'tv_loption_filespec_ = Obj.magic f in
26438 let _startpos = _startpos_f_ in
26439 let _endpos = _endpos_b_ in
26440 let _v : 'tv_plus_body =
26441 # 713 "parser_cocci_menhir.mly"
26442 ( Top_level.top_level (f@b(*@ew*)) )
26443 # 26444 "parser_cocci_menhir.ml"
26444 in
26445 _menhir_env.MenhirLib.EngineTypes.stack <- {
26446 MenhirLib.EngineTypes.state = _menhir_s;
26447 MenhirLib.EngineTypes.semv = Obj.repr _v;
26448 MenhirLib.EngineTypes.startp = _startpos;
26449 MenhirLib.EngineTypes.endp = _endpos;
26450 MenhirLib.EngineTypes.next = _menhir_stack;
26451 });
26452 (fun _menhir_env ->
26453 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26454 let {
26455 MenhirLib.EngineTypes.semv = b;
26456 MenhirLib.EngineTypes.startp = _startpos_b_;
26457 MenhirLib.EngineTypes.endp = _endpos_b_;
26458 MenhirLib.EngineTypes.next = {
26459 MenhirLib.EngineTypes.state = _menhir_s;
26460 MenhirLib.EngineTypes.semv = f;
26461 MenhirLib.EngineTypes.startp = _startpos_f_;
26462 MenhirLib.EngineTypes.endp = _endpos_f_;
26463 MenhirLib.EngineTypes.next = _menhir_stack;
26464 };
26465 } = _menhir_stack in
26466 let b : 'tv_top_eexpr = Obj.magic b in
26467 let f : 'tv_loption_filespec_ = Obj.magic f in
26468 let _startpos = _startpos_f_ in
26469 let _endpos = _endpos_b_ in
26470 let _v : 'tv_plus_exp_body =
26471 # 727 "parser_cocci_menhir.mly"
26472 ( Top_level.top_level (f@[b](*@ew*)) )
26473 # 26474 "parser_cocci_menhir.ml"
26474 in
26475 _menhir_env.MenhirLib.EngineTypes.stack <- {
26476 MenhirLib.EngineTypes.state = _menhir_s;
26477 MenhirLib.EngineTypes.semv = Obj.repr _v;
26478 MenhirLib.EngineTypes.startp = _startpos;
26479 MenhirLib.EngineTypes.endp = _endpos;
26480 MenhirLib.EngineTypes.next = _menhir_stack;
26481 });
26482 (fun _menhir_env ->
26483 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26484 let {
26485 MenhirLib.EngineTypes.startp = _startpos__2_;
26486 MenhirLib.EngineTypes.endp = _endpos__2_;
26487 MenhirLib.EngineTypes.next = {
26488 MenhirLib.EngineTypes.state = _menhir_s;
26489 MenhirLib.EngineTypes.semv = _1;
26490 MenhirLib.EngineTypes.startp = _startpos__1_;
26491 MenhirLib.EngineTypes.endp = _endpos__1_;
26492 MenhirLib.EngineTypes.next = _menhir_stack;
26493 };
26494 } = _menhir_stack in
26495 let _1 : 'tv_plus_exp_body = Obj.magic _1 in
26496 let _startpos = _startpos__1_ in
26497 let _endpos = _endpos__2_ in
26498 let _v : (
26499 # 148 "parser_cocci_menhir.mly"
26500 (Ast0_cocci.rule)
26501 # 26502 "parser_cocci_menhir.ml"
26502 ) =
26503 # 184 "parser_cocci_menhir.mly"
26504 ( _1 )
26505 # 26506 "parser_cocci_menhir.ml"
26506 in
26507 _menhir_env.MenhirLib.EngineTypes.stack <- {
26508 MenhirLib.EngineTypes.state = _menhir_s;
26509 MenhirLib.EngineTypes.semv = Obj.repr _v;
26510 MenhirLib.EngineTypes.startp = _startpos;
26511 MenhirLib.EngineTypes.endp = _endpos;
26512 MenhirLib.EngineTypes.next = _menhir_stack;
26513 });
26514 (fun _menhir_env ->
26515 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26516 let {
26517 MenhirLib.EngineTypes.startp = _startpos__2_;
26518 MenhirLib.EngineTypes.endp = _endpos__2_;
26519 MenhirLib.EngineTypes.next = {
26520 MenhirLib.EngineTypes.state = _menhir_s;
26521 MenhirLib.EngineTypes.semv = p;
26522 MenhirLib.EngineTypes.startp = _startpos_p_;
26523 MenhirLib.EngineTypes.endp = _endpos_p_;
26524 MenhirLib.EngineTypes.next = _menhir_stack;
26525 };
26526 } = _menhir_stack in
26527 let p : 'tv_plus_exp_body = Obj.magic p in
26528 let _startpos = _startpos_p_ in
26529 let _endpos = _endpos__2_ in
26530 let _v : (
26531 # 148 "parser_cocci_menhir.mly"
26532 (Ast0_cocci.rule)
26533 # 26534 "parser_cocci_menhir.ml"
26534 ) =
26535 # 184 "parser_cocci_menhir.mly"
26536 ( p )
26537 # 26538 "parser_cocci_menhir.ml"
26538 in
26539 _menhir_env.MenhirLib.EngineTypes.stack <- {
26540 MenhirLib.EngineTypes.state = _menhir_s;
26541 MenhirLib.EngineTypes.semv = Obj.repr _v;
26542 MenhirLib.EngineTypes.startp = _startpos;
26543 MenhirLib.EngineTypes.endp = _endpos;
26544 MenhirLib.EngineTypes.next = _menhir_stack;
26545 });
26546 (fun _menhir_env ->
26547 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26548 let {
26549 MenhirLib.EngineTypes.startp = _startpos__2_;
26550 MenhirLib.EngineTypes.endp = _endpos__2_;
26551 MenhirLib.EngineTypes.next = {
26552 MenhirLib.EngineTypes.state = _menhir_s;
26553 MenhirLib.EngineTypes.semv = p;
26554 MenhirLib.EngineTypes.startp = _startpos_p_;
26555 MenhirLib.EngineTypes.endp = _endpos_p_;
26556 MenhirLib.EngineTypes.next = _menhir_stack;
26557 };
26558 } = _menhir_stack in
26559 let p : 'tv_plus_exp_body = Obj.magic p in
26560 let _startpos = _startpos_p_ in
26561 let _endpos = _endpos__2_ in
26562 let _v : (
26563 # 148 "parser_cocci_menhir.mly"
26564 (Ast0_cocci.rule)
26565 # 26566 "parser_cocci_menhir.ml"
26566 ) =
26567 # 185 "parser_cocci_menhir.mly"
26568 ( p )
26569 # 26570 "parser_cocci_menhir.ml"
26570 in
26571 _menhir_env.MenhirLib.EngineTypes.stack <- {
26572 MenhirLib.EngineTypes.state = _menhir_s;
26573 MenhirLib.EngineTypes.semv = Obj.repr _v;
26574 MenhirLib.EngineTypes.startp = _startpos;
26575 MenhirLib.EngineTypes.endp = _endpos;
26576 MenhirLib.EngineTypes.next = _menhir_stack;
26577 });
26578 (fun _menhir_env ->
26579 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26580 let {
26581 MenhirLib.EngineTypes.startp = _startpos__2_;
26582 MenhirLib.EngineTypes.endp = _endpos__2_;
26583 MenhirLib.EngineTypes.next = {
26584 MenhirLib.EngineTypes.state = _menhir_s;
26585 MenhirLib.EngineTypes.semv = _1;
26586 MenhirLib.EngineTypes.startp = _startpos__1_;
26587 MenhirLib.EngineTypes.endp = _endpos__1_;
26588 MenhirLib.EngineTypes.next = _menhir_stack;
26589 };
26590 } = _menhir_stack in
26591 let _1 : 'tv_plus_body = Obj.magic _1 in
26592 let _startpos = _startpos__1_ in
26593 let _endpos = _endpos__2_ in
26594 let _v : (
26595 # 145 "parser_cocci_menhir.mly"
26596 (Ast0_cocci.rule)
26597 # 26598 "parser_cocci_menhir.ml"
26598 ) =
26599 # 180 "parser_cocci_menhir.mly"
26600 ( _1 )
26601 # 26602 "parser_cocci_menhir.ml"
26602 in
26603 _menhir_env.MenhirLib.EngineTypes.stack <- {
26604 MenhirLib.EngineTypes.state = _menhir_s;
26605 MenhirLib.EngineTypes.semv = Obj.repr _v;
26606 MenhirLib.EngineTypes.startp = _startpos;
26607 MenhirLib.EngineTypes.endp = _endpos;
26608 MenhirLib.EngineTypes.next = _menhir_stack;
26609 });
26610 (fun _menhir_env ->
26611 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26612 let {
26613 MenhirLib.EngineTypes.startp = _startpos__2_;
26614 MenhirLib.EngineTypes.endp = _endpos__2_;
26615 MenhirLib.EngineTypes.next = {
26616 MenhirLib.EngineTypes.state = _menhir_s;
26617 MenhirLib.EngineTypes.semv = p;
26618 MenhirLib.EngineTypes.startp = _startpos_p_;
26619 MenhirLib.EngineTypes.endp = _endpos_p_;
26620 MenhirLib.EngineTypes.next = _menhir_stack;
26621 };
26622 } = _menhir_stack in
26623 let p : 'tv_plus_body = Obj.magic p in
26624 let _startpos = _startpos_p_ in
26625 let _endpos = _endpos__2_ in
26626 let _v : (
26627 # 145 "parser_cocci_menhir.mly"
26628 (Ast0_cocci.rule)
26629 # 26630 "parser_cocci_menhir.ml"
26630 ) =
26631 # 180 "parser_cocci_menhir.mly"
26632 ( p )
26633 # 26634 "parser_cocci_menhir.ml"
26634 in
26635 _menhir_env.MenhirLib.EngineTypes.stack <- {
26636 MenhirLib.EngineTypes.state = _menhir_s;
26637 MenhirLib.EngineTypes.semv = Obj.repr _v;
26638 MenhirLib.EngineTypes.startp = _startpos;
26639 MenhirLib.EngineTypes.endp = _endpos;
26640 MenhirLib.EngineTypes.next = _menhir_stack;
26641 });
26642 (fun _menhir_env ->
26643 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26644 let {
26645 MenhirLib.EngineTypes.startp = _startpos__2_;
26646 MenhirLib.EngineTypes.endp = _endpos__2_;
26647 MenhirLib.EngineTypes.next = {
26648 MenhirLib.EngineTypes.state = _menhir_s;
26649 MenhirLib.EngineTypes.semv = p;
26650 MenhirLib.EngineTypes.startp = _startpos_p_;
26651 MenhirLib.EngineTypes.endp = _endpos_p_;
26652 MenhirLib.EngineTypes.next = _menhir_stack;
26653 };
26654 } = _menhir_stack in
26655 let p : 'tv_plus_body = Obj.magic p in
26656 let _startpos = _startpos_p_ in
26657 let _endpos = _endpos__2_ in
26658 let _v : (
26659 # 145 "parser_cocci_menhir.mly"
26660 (Ast0_cocci.rule)
26661 # 26662 "parser_cocci_menhir.ml"
26662 ) =
26663 # 181 "parser_cocci_menhir.mly"
26664 ( p )
26665 # 26666 "parser_cocci_menhir.ml"
26666 in
26667 _menhir_env.MenhirLib.EngineTypes.stack <- {
26668 MenhirLib.EngineTypes.state = _menhir_s;
26669 MenhirLib.EngineTypes.semv = Obj.repr _v;
26670 MenhirLib.EngineTypes.startp = _startpos;
26671 MenhirLib.EngineTypes.endp = _endpos;
26672 MenhirLib.EngineTypes.next = _menhir_stack;
26673 });
26674 (fun _menhir_env ->
26675 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26676 let {
26677 MenhirLib.EngineTypes.state = _menhir_s;
26678 MenhirLib.EngineTypes.semv = _1;
26679 MenhirLib.EngineTypes.startp = _startpos__1_;
26680 MenhirLib.EngineTypes.endp = _endpos__1_;
26681 MenhirLib.EngineTypes.next = _menhir_stack;
26682 } = _menhir_stack in
26683 let _1 : 'tv_ctype = Obj.magic _1 in
26684 let _startpos = _startpos__1_ in
26685 let _endpos = _endpos__1_ in
26686 let _v : 'tv_plus_start =
26687 # 1890 "parser_cocci_menhir.mly"
26688 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
26689 # 26690 "parser_cocci_menhir.ml"
26690 in
26691 _menhir_env.MenhirLib.EngineTypes.stack <- {
26692 MenhirLib.EngineTypes.state = _menhir_s;
26693 MenhirLib.EngineTypes.semv = Obj.repr _v;
26694 MenhirLib.EngineTypes.startp = _startpos;
26695 MenhirLib.EngineTypes.endp = _endpos;
26696 MenhirLib.EngineTypes.next = _menhir_stack;
26697 });
26698 (fun _menhir_env ->
26699 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26700 let {
26701 MenhirLib.EngineTypes.state = _menhir_s;
26702 MenhirLib.EngineTypes.semv = _1;
26703 MenhirLib.EngineTypes.startp = _startpos__1_;
26704 MenhirLib.EngineTypes.endp = _endpos__1_;
26705 MenhirLib.EngineTypes.next = _menhir_stack;
26706 } = _menhir_stack in
26707 let _1 : 'tv_top_init = Obj.magic _1 in
26708 let _startpos = _startpos__1_ in
26709 let _endpos = _endpos__1_ in
26710 let _v : 'tv_plus_start =
26711 # 1891 "parser_cocci_menhir.mly"
26712 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
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.semv = _2;
26726 MenhirLib.EngineTypes.startp = _startpos__2_;
26727 MenhirLib.EngineTypes.endp = _endpos__2_;
26728 MenhirLib.EngineTypes.next = {
26729 MenhirLib.EngineTypes.state = _menhir_s;
26730 MenhirLib.EngineTypes.semv = _1;
26731 MenhirLib.EngineTypes.startp = _startpos__1_;
26732 MenhirLib.EngineTypes.endp = _endpos__1_;
26733 MenhirLib.EngineTypes.next = _menhir_stack;
26734 };
26735 } = _menhir_stack in
26736 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
26737 let _1 : 'tv_stm_dots = Obj.magic _1 in
26738 let _startpos = _startpos__1_ in
26739 let _endpos = _endpos__2_ in
26740 let _v : 'tv_plus_start =
26741 # 1893 "parser_cocci_menhir.mly"
26742 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
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 = _2;
26756 MenhirLib.EngineTypes.startp = _startpos__2_;
26757 MenhirLib.EngineTypes.endp = _endpos__2_;
26758 MenhirLib.EngineTypes.next = {
26759 MenhirLib.EngineTypes.state = _menhir_s;
26760 MenhirLib.EngineTypes.semv = _1;
26761 MenhirLib.EngineTypes.startp = _startpos__1_;
26762 MenhirLib.EngineTypes.endp = _endpos__1_;
26763 MenhirLib.EngineTypes.next = _menhir_stack;
26764 };
26765 } = _menhir_stack in
26766 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
26767 let _1 : 'tv_expr = Obj.magic _1 in
26768 let _startpos = _startpos__1_ in
26769 let _endpos = _endpos__2_ in
26770 let _v : 'tv_plus_start =
26771 # 1895 "parser_cocci_menhir.mly"
26772 ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
26773 # 26774 "parser_cocci_menhir.ml"
26774 in
26775 _menhir_env.MenhirLib.EngineTypes.stack <- {
26776 MenhirLib.EngineTypes.state = _menhir_s;
26777 MenhirLib.EngineTypes.semv = Obj.repr _v;
26778 MenhirLib.EngineTypes.startp = _startpos;
26779 MenhirLib.EngineTypes.endp = _endpos;
26780 MenhirLib.EngineTypes.next = _menhir_stack;
26781 });
26782 (fun _menhir_env ->
26783 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26784 let {
26785 MenhirLib.EngineTypes.semv = _2;
26786 MenhirLib.EngineTypes.startp = _startpos__2_;
26787 MenhirLib.EngineTypes.endp = _endpos__2_;
26788 MenhirLib.EngineTypes.next = {
26789 MenhirLib.EngineTypes.state = _menhir_s;
26790 MenhirLib.EngineTypes.semv = _1;
26791 MenhirLib.EngineTypes.startp = _startpos__1_;
26792 MenhirLib.EngineTypes.endp = _endpos__1_;
26793 MenhirLib.EngineTypes.next = _menhir_stack;
26794 };
26795 } = _menhir_stack in
26796 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
26797 let _1 : 'tv_fundecl = Obj.magic _1 in
26798 let _startpos = _startpos__1_ in
26799 let _endpos = _endpos__2_ in
26800 let _v : 'tv_plus_start =
26801 # 1896 "parser_cocci_menhir.mly"
26802 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
26803 # 26804 "parser_cocci_menhir.ml"
26804 in
26805 _menhir_env.MenhirLib.EngineTypes.stack <- {
26806 MenhirLib.EngineTypes.state = _menhir_s;
26807 MenhirLib.EngineTypes.semv = Obj.repr _v;
26808 MenhirLib.EngineTypes.startp = _startpos;
26809 MenhirLib.EngineTypes.endp = _endpos;
26810 MenhirLib.EngineTypes.next = _menhir_stack;
26811 });
26812 (fun _menhir_env ->
26813 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26814 let {
26815 MenhirLib.EngineTypes.semv = _2;
26816 MenhirLib.EngineTypes.startp = _startpos__2_;
26817 MenhirLib.EngineTypes.endp = _endpos__2_;
26818 MenhirLib.EngineTypes.next = {
26819 MenhirLib.EngineTypes.state = _menhir_s;
26820 MenhirLib.EngineTypes.semv = _1;
26821 MenhirLib.EngineTypes.startp = _startpos__1_;
26822 MenhirLib.EngineTypes.endp = _endpos__1_;
26823 MenhirLib.EngineTypes.next = _menhir_stack;
26824 };
26825 } = _menhir_stack in
26826 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
26827 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
26828 let _startpos = _startpos__1_ in
26829 let _endpos = _endpos__2_ in
26830 let _v : 'tv_plus_start =
26831 # 1898 "parser_cocci_menhir.mly"
26832 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
26833 # 26834 "parser_cocci_menhir.ml"
26834 in
26835 _menhir_env.MenhirLib.EngineTypes.stack <- {
26836 MenhirLib.EngineTypes.state = _menhir_s;
26837 MenhirLib.EngineTypes.semv = Obj.repr _v;
26838 MenhirLib.EngineTypes.startp = _startpos;
26839 MenhirLib.EngineTypes.endp = _endpos;
26840 MenhirLib.EngineTypes.next = _menhir_stack;
26841 });
26842 (fun _menhir_env ->
26843 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26844 let {
26845 MenhirLib.EngineTypes.state = _menhir_s;
26846 MenhirLib.EngineTypes.semv = _1;
26847 MenhirLib.EngineTypes.startp = _startpos__1_;
26848 MenhirLib.EngineTypes.endp = _endpos__1_;
26849 MenhirLib.EngineTypes.next = _menhir_stack;
26850 } = _menhir_stack in
26851 let _1 : (
26852 # 49 "parser_cocci_menhir.mly"
26853 (string)
26854 # 26855 "parser_cocci_menhir.ml"
26855 ) = Obj.magic _1 in
26856 let _startpos = _startpos__1_ in
26857 let _endpos = _endpos__1_ in
26858 let _v : 'tv_pnrule =
26859 # 235 "parser_cocci_menhir.mly"
26860 ( Ast.Dep _1 )
26861 # 26862 "parser_cocci_menhir.ml"
26862 in
26863 _menhir_env.MenhirLib.EngineTypes.stack <- {
26864 MenhirLib.EngineTypes.state = _menhir_s;
26865 MenhirLib.EngineTypes.semv = Obj.repr _v;
26866 MenhirLib.EngineTypes.startp = _startpos;
26867 MenhirLib.EngineTypes.endp = _endpos;
26868 MenhirLib.EngineTypes.next = _menhir_stack;
26869 });
26870 (fun _menhir_env ->
26871 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26872 let {
26873 MenhirLib.EngineTypes.semv = _2;
26874 MenhirLib.EngineTypes.startp = _startpos__2_;
26875 MenhirLib.EngineTypes.endp = _endpos__2_;
26876 MenhirLib.EngineTypes.next = {
26877 MenhirLib.EngineTypes.state = _menhir_s;
26878 MenhirLib.EngineTypes.startp = _startpos__1_;
26879 MenhirLib.EngineTypes.endp = _endpos__1_;
26880 MenhirLib.EngineTypes.next = _menhir_stack;
26881 };
26882 } = _menhir_stack in
26883 let _2 : (
26884 # 49 "parser_cocci_menhir.mly"
26885 (string)
26886 # 26887 "parser_cocci_menhir.ml"
26887 ) = Obj.magic _2 in
26888 let _startpos = _startpos__1_ in
26889 let _endpos = _endpos__2_ in
26890 let _v : 'tv_pnrule =
26891 # 236 "parser_cocci_menhir.mly"
26892 ( Ast.AntiDep _2 )
26893 # 26894 "parser_cocci_menhir.ml"
26894 in
26895 _menhir_env.MenhirLib.EngineTypes.stack <- {
26896 MenhirLib.EngineTypes.state = _menhir_s;
26897 MenhirLib.EngineTypes.semv = Obj.repr _v;
26898 MenhirLib.EngineTypes.startp = _startpos;
26899 MenhirLib.EngineTypes.endp = _endpos;
26900 MenhirLib.EngineTypes.next = _menhir_stack;
26901 });
26902 (fun _menhir_env ->
26903 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26904 let {
26905 MenhirLib.EngineTypes.semv = _2;
26906 MenhirLib.EngineTypes.startp = _startpos__2_;
26907 MenhirLib.EngineTypes.endp = _endpos__2_;
26908 MenhirLib.EngineTypes.next = {
26909 MenhirLib.EngineTypes.state = _menhir_s;
26910 MenhirLib.EngineTypes.startp = _startpos__1_;
26911 MenhirLib.EngineTypes.endp = _endpos__1_;
26912 MenhirLib.EngineTypes.next = _menhir_stack;
26913 };
26914 } = _menhir_stack in
26915 let _2 : (
26916 # 49 "parser_cocci_menhir.mly"
26917 (string)
26918 # 26919 "parser_cocci_menhir.ml"
26919 ) = Obj.magic _2 in
26920 let _startpos = _startpos__1_ in
26921 let _endpos = _endpos__2_ in
26922 let _v : 'tv_pnrule =
26923 # 237 "parser_cocci_menhir.mly"
26924 ( Ast.EverDep _2 )
26925 # 26926 "parser_cocci_menhir.ml"
26926 in
26927 _menhir_env.MenhirLib.EngineTypes.stack <- {
26928 MenhirLib.EngineTypes.state = _menhir_s;
26929 MenhirLib.EngineTypes.semv = Obj.repr _v;
26930 MenhirLib.EngineTypes.startp = _startpos;
26931 MenhirLib.EngineTypes.endp = _endpos;
26932 MenhirLib.EngineTypes.next = _menhir_stack;
26933 });
26934 (fun _menhir_env ->
26935 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26936 let {
26937 MenhirLib.EngineTypes.semv = _2;
26938 MenhirLib.EngineTypes.startp = _startpos__2_;
26939 MenhirLib.EngineTypes.endp = _endpos__2_;
26940 MenhirLib.EngineTypes.next = {
26941 MenhirLib.EngineTypes.state = _menhir_s;
26942 MenhirLib.EngineTypes.startp = _startpos__1_;
26943 MenhirLib.EngineTypes.endp = _endpos__1_;
26944 MenhirLib.EngineTypes.next = _menhir_stack;
26945 };
26946 } = _menhir_stack in
26947 let _2 : (
26948 # 49 "parser_cocci_menhir.mly"
26949 (string)
26950 # 26951 "parser_cocci_menhir.ml"
26951 ) = Obj.magic _2 in
26952 let _startpos = _startpos__1_ in
26953 let _endpos = _endpos__2_ in
26954 let _v : 'tv_pnrule =
26955 # 238 "parser_cocci_menhir.mly"
26956 ( Ast.NeverDep _2 )
26957 # 26958 "parser_cocci_menhir.ml"
26958 in
26959 _menhir_env.MenhirLib.EngineTypes.stack <- {
26960 MenhirLib.EngineTypes.state = _menhir_s;
26961 MenhirLib.EngineTypes.semv = Obj.repr _v;
26962 MenhirLib.EngineTypes.startp = _startpos;
26963 MenhirLib.EngineTypes.endp = _endpos;
26964 MenhirLib.EngineTypes.next = _menhir_stack;
26965 });
26966 (fun _menhir_env ->
26967 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26968 let {
26969 MenhirLib.EngineTypes.startp = _startpos__3_;
26970 MenhirLib.EngineTypes.endp = _endpos__3_;
26971 MenhirLib.EngineTypes.next = {
26972 MenhirLib.EngineTypes.semv = _2;
26973 MenhirLib.EngineTypes.startp = _startpos__2_;
26974 MenhirLib.EngineTypes.endp = _endpos__2_;
26975 MenhirLib.EngineTypes.next = {
26976 MenhirLib.EngineTypes.state = _menhir_s;
26977 MenhirLib.EngineTypes.startp = _startpos__1_;
26978 MenhirLib.EngineTypes.endp = _endpos__1_;
26979 MenhirLib.EngineTypes.next = _menhir_stack;
26980 };
26981 };
26982 } = _menhir_stack in
26983 let _2 : 'tv_dep = Obj.magic _2 in
26984 let _startpos = _startpos__1_ in
26985 let _endpos = _endpos__3_ in
26986 let _v : 'tv_pnrule =
26987 # 239 "parser_cocci_menhir.mly"
26988 ( _2 )
26989 # 26990 "parser_cocci_menhir.ml"
26990 in
26991 _menhir_env.MenhirLib.EngineTypes.stack <- {
26992 MenhirLib.EngineTypes.state = _menhir_s;
26993 MenhirLib.EngineTypes.semv = Obj.repr _v;
26994 MenhirLib.EngineTypes.startp = _startpos;
26995 MenhirLib.EngineTypes.endp = _endpos;
26996 MenhirLib.EngineTypes.next = _menhir_stack;
26997 });
26998 (fun _menhir_env ->
26999 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27000 let {
27001 MenhirLib.EngineTypes.state = _menhir_s;
27002 MenhirLib.EngineTypes.semv = _1;
27003 MenhirLib.EngineTypes.startp = _startpos__1_;
27004 MenhirLib.EngineTypes.endp = _endpos__1_;
27005 MenhirLib.EngineTypes.next = _menhir_stack;
27006 } = _menhir_stack in
27007 let _1 : 'tv_primary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
27008 let _startpos = _startpos__1_ in
27009 let _endpos = _endpos__1_ in
27010 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
27011 # 1386 "parser_cocci_menhir.mly"
27012 ( _1 )
27013 # 27014 "parser_cocci_menhir.ml"
27014 in
27015 _menhir_env.MenhirLib.EngineTypes.stack <- {
27016 MenhirLib.EngineTypes.state = _menhir_s;
27017 MenhirLib.EngineTypes.semv = Obj.repr _v;
27018 MenhirLib.EngineTypes.startp = _startpos;
27019 MenhirLib.EngineTypes.endp = _endpos;
27020 MenhirLib.EngineTypes.next = _menhir_stack;
27021 });
27022 (fun _menhir_env ->
27023 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27024 let {
27025 MenhirLib.EngineTypes.semv = _4;
27026 MenhirLib.EngineTypes.startp = _startpos__4_;
27027 MenhirLib.EngineTypes.endp = _endpos__4_;
27028 MenhirLib.EngineTypes.next = {
27029 MenhirLib.EngineTypes.semv = _3;
27030 MenhirLib.EngineTypes.startp = _startpos__3_;
27031 MenhirLib.EngineTypes.endp = _endpos__3_;
27032 MenhirLib.EngineTypes.next = {
27033 MenhirLib.EngineTypes.semv = _2;
27034 MenhirLib.EngineTypes.startp = _startpos__2_;
27035 MenhirLib.EngineTypes.endp = _endpos__2_;
27036 MenhirLib.EngineTypes.next = {
27037 MenhirLib.EngineTypes.state = _menhir_s;
27038 MenhirLib.EngineTypes.semv = _1;
27039 MenhirLib.EngineTypes.startp = _startpos__1_;
27040 MenhirLib.EngineTypes.endp = _endpos__1_;
27041 MenhirLib.EngineTypes.next = _menhir_stack;
27042 };
27043 };
27044 };
27045 } = _menhir_stack in
27046 let _4 : (
27047 # 105 "parser_cocci_menhir.mly"
27048 (Data.clt)
27049 # 27050 "parser_cocci_menhir.ml"
27050 ) = Obj.magic _4 in
27051 let _3 : 'tv_eexpr = Obj.magic _3 in
27052 let _2 : (
27053 # 105 "parser_cocci_menhir.mly"
27054 (Data.clt)
27055 # 27056 "parser_cocci_menhir.ml"
27056 ) = Obj.magic _2 in
27057 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
27058 let _startpos = _startpos__1_ in
27059 let _endpos = _endpos__4_ in
27060 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
27061 # 1388 "parser_cocci_menhir.mly"
27062 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
27063 P.clt2mcode "]" _4)) )
27064 # 27065 "parser_cocci_menhir.ml"
27065 in
27066 _menhir_env.MenhirLib.EngineTypes.stack <- {
27067 MenhirLib.EngineTypes.state = _menhir_s;
27068 MenhirLib.EngineTypes.semv = Obj.repr _v;
27069 MenhirLib.EngineTypes.startp = _startpos;
27070 MenhirLib.EngineTypes.endp = _endpos;
27071 MenhirLib.EngineTypes.next = _menhir_stack;
27072 });
27073 (fun _menhir_env ->
27074 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27075 let {
27076 MenhirLib.EngineTypes.semv = _3;
27077 MenhirLib.EngineTypes.startp = _startpos__3_;
27078 MenhirLib.EngineTypes.endp = _endpos__3_;
27079 MenhirLib.EngineTypes.next = {
27080 MenhirLib.EngineTypes.semv = _2;
27081 MenhirLib.EngineTypes.startp = _startpos__2_;
27082 MenhirLib.EngineTypes.endp = _endpos__2_;
27083 MenhirLib.EngineTypes.next = {
27084 MenhirLib.EngineTypes.state = _menhir_s;
27085 MenhirLib.EngineTypes.semv = _1;
27086 MenhirLib.EngineTypes.startp = _startpos__1_;
27087 MenhirLib.EngineTypes.endp = _endpos__1_;
27088 MenhirLib.EngineTypes.next = _menhir_stack;
27089 };
27090 };
27091 } = _menhir_stack in
27092 let _3 : 'tv_ident = Obj.magic _3 in
27093 let _2 : (
27094 # 110 "parser_cocci_menhir.mly"
27095 (Data.clt)
27096 # 27097 "parser_cocci_menhir.ml"
27097 ) = Obj.magic _2 in
27098 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
27099 let _startpos = _startpos__1_ in
27100 let _endpos = _endpos__3_ in
27101 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
27102 # 1391 "parser_cocci_menhir.mly"
27103 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
27104 # 27105 "parser_cocci_menhir.ml"
27105 in
27106 _menhir_env.MenhirLib.EngineTypes.stack <- {
27107 MenhirLib.EngineTypes.state = _menhir_s;
27108 MenhirLib.EngineTypes.semv = Obj.repr _v;
27109 MenhirLib.EngineTypes.startp = _startpos;
27110 MenhirLib.EngineTypes.endp = _endpos;
27111 MenhirLib.EngineTypes.next = _menhir_stack;
27112 });
27113 (fun _menhir_env ->
27114 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27115 let {
27116 MenhirLib.EngineTypes.semv = _3;
27117 MenhirLib.EngineTypes.startp = _startpos__3_;
27118 MenhirLib.EngineTypes.endp = _endpos__3_;
27119 MenhirLib.EngineTypes.next = {
27120 MenhirLib.EngineTypes.semv = _2;
27121 MenhirLib.EngineTypes.startp = _startpos__2_;
27122 MenhirLib.EngineTypes.endp = _endpos__2_;
27123 MenhirLib.EngineTypes.next = {
27124 MenhirLib.EngineTypes.state = _menhir_s;
27125 MenhirLib.EngineTypes.semv = _1;
27126 MenhirLib.EngineTypes.startp = _startpos__1_;
27127 MenhirLib.EngineTypes.endp = _endpos__1_;
27128 MenhirLib.EngineTypes.next = _menhir_stack;
27129 };
27130 };
27131 } = _menhir_stack in
27132 let _3 : 'tv_ident = Obj.magic _3 in
27133 let _2 : (
27134 # 107 "parser_cocci_menhir.mly"
27135 (Data.clt)
27136 # 27137 "parser_cocci_menhir.ml"
27137 ) = Obj.magic _2 in
27138 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
27139 let _startpos = _startpos__1_ in
27140 let _endpos = _endpos__3_ in
27141 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
27142 # 1393 "parser_cocci_menhir.mly"
27143 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
27144 _3)) )
27145 # 27146 "parser_cocci_menhir.ml"
27146 in
27147 _menhir_env.MenhirLib.EngineTypes.stack <- {
27148 MenhirLib.EngineTypes.state = _menhir_s;
27149 MenhirLib.EngineTypes.semv = Obj.repr _v;
27150 MenhirLib.EngineTypes.startp = _startpos;
27151 MenhirLib.EngineTypes.endp = _endpos;
27152 MenhirLib.EngineTypes.next = _menhir_stack;
27153 });
27154 (fun _menhir_env ->
27155 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27156 let {
27157 MenhirLib.EngineTypes.semv = _2;
27158 MenhirLib.EngineTypes.startp = _startpos__2_;
27159 MenhirLib.EngineTypes.endp = _endpos__2_;
27160 MenhirLib.EngineTypes.next = {
27161 MenhirLib.EngineTypes.state = _menhir_s;
27162 MenhirLib.EngineTypes.semv = _1;
27163 MenhirLib.EngineTypes.startp = _startpos__1_;
27164 MenhirLib.EngineTypes.endp = _endpos__1_;
27165 MenhirLib.EngineTypes.next = _menhir_stack;
27166 };
27167 } = _menhir_stack in
27168 let _2 : (
27169 # 88 "parser_cocci_menhir.mly"
27170 (Data.clt)
27171 # 27172 "parser_cocci_menhir.ml"
27172 ) = Obj.magic _2 in
27173 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
27174 let _startpos = _startpos__1_ in
27175 let _endpos = _endpos__2_ in
27176 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
27177 # 1396 "parser_cocci_menhir.mly"
27178 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
27179 # 27180 "parser_cocci_menhir.ml"
27180 in
27181 _menhir_env.MenhirLib.EngineTypes.stack <- {
27182 MenhirLib.EngineTypes.state = _menhir_s;
27183 MenhirLib.EngineTypes.semv = Obj.repr _v;
27184 MenhirLib.EngineTypes.startp = _startpos;
27185 MenhirLib.EngineTypes.endp = _endpos;
27186 MenhirLib.EngineTypes.next = _menhir_stack;
27187 });
27188 (fun _menhir_env ->
27189 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27190 let {
27191 MenhirLib.EngineTypes.semv = _2;
27192 MenhirLib.EngineTypes.startp = _startpos__2_;
27193 MenhirLib.EngineTypes.endp = _endpos__2_;
27194 MenhirLib.EngineTypes.next = {
27195 MenhirLib.EngineTypes.state = _menhir_s;
27196 MenhirLib.EngineTypes.semv = _1;
27197 MenhirLib.EngineTypes.startp = _startpos__1_;
27198 MenhirLib.EngineTypes.endp = _endpos__1_;
27199 MenhirLib.EngineTypes.next = _menhir_stack;
27200 };
27201 } = _menhir_stack in
27202 let _2 : (
27203 # 88 "parser_cocci_menhir.mly"
27204 (Data.clt)
27205 # 27206 "parser_cocci_menhir.ml"
27206 ) = Obj.magic _2 in
27207 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
27208 let _startpos = _startpos__1_ in
27209 let _endpos = _endpos__2_ in
27210 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
27211 # 1398 "parser_cocci_menhir.mly"
27212 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
27213 # 27214 "parser_cocci_menhir.ml"
27214 in
27215 _menhir_env.MenhirLib.EngineTypes.stack <- {
27216 MenhirLib.EngineTypes.state = _menhir_s;
27217 MenhirLib.EngineTypes.semv = Obj.repr _v;
27218 MenhirLib.EngineTypes.startp = _startpos;
27219 MenhirLib.EngineTypes.endp = _endpos;
27220 MenhirLib.EngineTypes.next = _menhir_stack;
27221 });
27222 (fun _menhir_env ->
27223 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27224 let {
27225 MenhirLib.EngineTypes.semv = _4;
27226 MenhirLib.EngineTypes.startp = _startpos__4_;
27227 MenhirLib.EngineTypes.endp = _endpos__4_;
27228 MenhirLib.EngineTypes.next = {
27229 MenhirLib.EngineTypes.semv = _3;
27230 MenhirLib.EngineTypes.startp = _startpos__3_;
27231 MenhirLib.EngineTypes.endp = _endpos__3_;
27232 MenhirLib.EngineTypes.next = {
27233 MenhirLib.EngineTypes.semv = _2;
27234 MenhirLib.EngineTypes.startp = _startpos__2_;
27235 MenhirLib.EngineTypes.endp = _endpos__2_;
27236 MenhirLib.EngineTypes.next = {
27237 MenhirLib.EngineTypes.state = _menhir_s;
27238 MenhirLib.EngineTypes.semv = _1;
27239 MenhirLib.EngineTypes.startp = _startpos__1_;
27240 MenhirLib.EngineTypes.endp = _endpos__1_;
27241 MenhirLib.EngineTypes.next = _menhir_stack;
27242 };
27243 };
27244 };
27245 } = _menhir_stack in
27246 let _4 : (
27247 # 80 "parser_cocci_menhir.mly"
27248 (Data.clt)
27249 # 27250 "parser_cocci_menhir.ml"
27250 ) = Obj.magic _4 in
27251 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
27252 let _2 : (
27253 # 79 "parser_cocci_menhir.mly"
27254 (Data.clt)
27255 # 27256 "parser_cocci_menhir.ml"
27256 ) = Obj.magic _2 in
27257 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
27258 let _startpos = _startpos__1_ in
27259 let _endpos = _endpos__4_ in
27260 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
27261 # 1400 "parser_cocci_menhir.mly"
27262 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
27263 _3,
27264 P.clt2mcode ")" _4)) )
27265 # 27266 "parser_cocci_menhir.ml"
27266 in
27267 _menhir_env.MenhirLib.EngineTypes.stack <- {
27268 MenhirLib.EngineTypes.state = _menhir_s;
27269 MenhirLib.EngineTypes.semv = Obj.repr _v;
27270 MenhirLib.EngineTypes.startp = _startpos;
27271 MenhirLib.EngineTypes.endp = _endpos;
27272 MenhirLib.EngineTypes.next = _menhir_stack;
27273 });
27274 (fun _menhir_env ->
27275 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27276 let {
27277 MenhirLib.EngineTypes.state = _menhir_s;
27278 MenhirLib.EngineTypes.semv = _1;
27279 MenhirLib.EngineTypes.startp = _startpos__1_;
27280 MenhirLib.EngineTypes.endp = _endpos__1_;
27281 MenhirLib.EngineTypes.next = _menhir_stack;
27282 } = _menhir_stack in
27283 let _1 : 'tv_primary_expr_eexpr_invalid_ = Obj.magic _1 in
27284 let _startpos = _startpos__1_ in
27285 let _endpos = _endpos__1_ in
27286 let _v : 'tv_postfix_expr_eexpr_invalid_ =
27287 # 1386 "parser_cocci_menhir.mly"
27288 ( _1 )
27289 # 27290 "parser_cocci_menhir.ml"
27290 in
27291 _menhir_env.MenhirLib.EngineTypes.stack <- {
27292 MenhirLib.EngineTypes.state = _menhir_s;
27293 MenhirLib.EngineTypes.semv = Obj.repr _v;
27294 MenhirLib.EngineTypes.startp = _startpos;
27295 MenhirLib.EngineTypes.endp = _endpos;
27296 MenhirLib.EngineTypes.next = _menhir_stack;
27297 });
27298 (fun _menhir_env ->
27299 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27300 let {
27301 MenhirLib.EngineTypes.semv = _4;
27302 MenhirLib.EngineTypes.startp = _startpos__4_;
27303 MenhirLib.EngineTypes.endp = _endpos__4_;
27304 MenhirLib.EngineTypes.next = {
27305 MenhirLib.EngineTypes.semv = _3;
27306 MenhirLib.EngineTypes.startp = _startpos__3_;
27307 MenhirLib.EngineTypes.endp = _endpos__3_;
27308 MenhirLib.EngineTypes.next = {
27309 MenhirLib.EngineTypes.semv = _2;
27310 MenhirLib.EngineTypes.startp = _startpos__2_;
27311 MenhirLib.EngineTypes.endp = _endpos__2_;
27312 MenhirLib.EngineTypes.next = {
27313 MenhirLib.EngineTypes.state = _menhir_s;
27314 MenhirLib.EngineTypes.semv = _1;
27315 MenhirLib.EngineTypes.startp = _startpos__1_;
27316 MenhirLib.EngineTypes.endp = _endpos__1_;
27317 MenhirLib.EngineTypes.next = _menhir_stack;
27318 };
27319 };
27320 };
27321 } = _menhir_stack in
27322 let _4 : (
27323 # 105 "parser_cocci_menhir.mly"
27324 (Data.clt)
27325 # 27326 "parser_cocci_menhir.ml"
27326 ) = Obj.magic _4 in
27327 let _3 : 'tv_eexpr = Obj.magic _3 in
27328 let _2 : (
27329 # 105 "parser_cocci_menhir.mly"
27330 (Data.clt)
27331 # 27332 "parser_cocci_menhir.ml"
27332 ) = Obj.magic _2 in
27333 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
27334 let _startpos = _startpos__1_ in
27335 let _endpos = _endpos__4_ in
27336 let _v : 'tv_postfix_expr_eexpr_invalid_ =
27337 # 1388 "parser_cocci_menhir.mly"
27338 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
27339 P.clt2mcode "]" _4)) )
27340 # 27341 "parser_cocci_menhir.ml"
27341 in
27342 _menhir_env.MenhirLib.EngineTypes.stack <- {
27343 MenhirLib.EngineTypes.state = _menhir_s;
27344 MenhirLib.EngineTypes.semv = Obj.repr _v;
27345 MenhirLib.EngineTypes.startp = _startpos;
27346 MenhirLib.EngineTypes.endp = _endpos;
27347 MenhirLib.EngineTypes.next = _menhir_stack;
27348 });
27349 (fun _menhir_env ->
27350 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27351 let {
27352 MenhirLib.EngineTypes.semv = _3;
27353 MenhirLib.EngineTypes.startp = _startpos__3_;
27354 MenhirLib.EngineTypes.endp = _endpos__3_;
27355 MenhirLib.EngineTypes.next = {
27356 MenhirLib.EngineTypes.semv = _2;
27357 MenhirLib.EngineTypes.startp = _startpos__2_;
27358 MenhirLib.EngineTypes.endp = _endpos__2_;
27359 MenhirLib.EngineTypes.next = {
27360 MenhirLib.EngineTypes.state = _menhir_s;
27361 MenhirLib.EngineTypes.semv = _1;
27362 MenhirLib.EngineTypes.startp = _startpos__1_;
27363 MenhirLib.EngineTypes.endp = _endpos__1_;
27364 MenhirLib.EngineTypes.next = _menhir_stack;
27365 };
27366 };
27367 } = _menhir_stack in
27368 let _3 : 'tv_ident = Obj.magic _3 in
27369 let _2 : (
27370 # 110 "parser_cocci_menhir.mly"
27371 (Data.clt)
27372 # 27373 "parser_cocci_menhir.ml"
27373 ) = Obj.magic _2 in
27374 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
27375 let _startpos = _startpos__1_ in
27376 let _endpos = _endpos__3_ in
27377 let _v : 'tv_postfix_expr_eexpr_invalid_ =
27378 # 1391 "parser_cocci_menhir.mly"
27379 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
27380 # 27381 "parser_cocci_menhir.ml"
27381 in
27382 _menhir_env.MenhirLib.EngineTypes.stack <- {
27383 MenhirLib.EngineTypes.state = _menhir_s;
27384 MenhirLib.EngineTypes.semv = Obj.repr _v;
27385 MenhirLib.EngineTypes.startp = _startpos;
27386 MenhirLib.EngineTypes.endp = _endpos;
27387 MenhirLib.EngineTypes.next = _menhir_stack;
27388 });
27389 (fun _menhir_env ->
27390 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27391 let {
27392 MenhirLib.EngineTypes.semv = _3;
27393 MenhirLib.EngineTypes.startp = _startpos__3_;
27394 MenhirLib.EngineTypes.endp = _endpos__3_;
27395 MenhirLib.EngineTypes.next = {
27396 MenhirLib.EngineTypes.semv = _2;
27397 MenhirLib.EngineTypes.startp = _startpos__2_;
27398 MenhirLib.EngineTypes.endp = _endpos__2_;
27399 MenhirLib.EngineTypes.next = {
27400 MenhirLib.EngineTypes.state = _menhir_s;
27401 MenhirLib.EngineTypes.semv = _1;
27402 MenhirLib.EngineTypes.startp = _startpos__1_;
27403 MenhirLib.EngineTypes.endp = _endpos__1_;
27404 MenhirLib.EngineTypes.next = _menhir_stack;
27405 };
27406 };
27407 } = _menhir_stack in
27408 let _3 : 'tv_ident = Obj.magic _3 in
27409 let _2 : (
27410 # 107 "parser_cocci_menhir.mly"
27411 (Data.clt)
27412 # 27413 "parser_cocci_menhir.ml"
27413 ) = Obj.magic _2 in
27414 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
27415 let _startpos = _startpos__1_ in
27416 let _endpos = _endpos__3_ in
27417 let _v : 'tv_postfix_expr_eexpr_invalid_ =
27418 # 1393 "parser_cocci_menhir.mly"
27419 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
27420 _3)) )
27421 # 27422 "parser_cocci_menhir.ml"
27422 in
27423 _menhir_env.MenhirLib.EngineTypes.stack <- {
27424 MenhirLib.EngineTypes.state = _menhir_s;
27425 MenhirLib.EngineTypes.semv = Obj.repr _v;
27426 MenhirLib.EngineTypes.startp = _startpos;
27427 MenhirLib.EngineTypes.endp = _endpos;
27428 MenhirLib.EngineTypes.next = _menhir_stack;
27429 });
27430 (fun _menhir_env ->
27431 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27432 let {
27433 MenhirLib.EngineTypes.semv = _2;
27434 MenhirLib.EngineTypes.startp = _startpos__2_;
27435 MenhirLib.EngineTypes.endp = _endpos__2_;
27436 MenhirLib.EngineTypes.next = {
27437 MenhirLib.EngineTypes.state = _menhir_s;
27438 MenhirLib.EngineTypes.semv = _1;
27439 MenhirLib.EngineTypes.startp = _startpos__1_;
27440 MenhirLib.EngineTypes.endp = _endpos__1_;
27441 MenhirLib.EngineTypes.next = _menhir_stack;
27442 };
27443 } = _menhir_stack in
27444 let _2 : (
27445 # 88 "parser_cocci_menhir.mly"
27446 (Data.clt)
27447 # 27448 "parser_cocci_menhir.ml"
27448 ) = Obj.magic _2 in
27449 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
27450 let _startpos = _startpos__1_ in
27451 let _endpos = _endpos__2_ in
27452 let _v : 'tv_postfix_expr_eexpr_invalid_ =
27453 # 1396 "parser_cocci_menhir.mly"
27454 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
27455 # 27456 "parser_cocci_menhir.ml"
27456 in
27457 _menhir_env.MenhirLib.EngineTypes.stack <- {
27458 MenhirLib.EngineTypes.state = _menhir_s;
27459 MenhirLib.EngineTypes.semv = Obj.repr _v;
27460 MenhirLib.EngineTypes.startp = _startpos;
27461 MenhirLib.EngineTypes.endp = _endpos;
27462 MenhirLib.EngineTypes.next = _menhir_stack;
27463 });
27464 (fun _menhir_env ->
27465 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27466 let {
27467 MenhirLib.EngineTypes.semv = _2;
27468 MenhirLib.EngineTypes.startp = _startpos__2_;
27469 MenhirLib.EngineTypes.endp = _endpos__2_;
27470 MenhirLib.EngineTypes.next = {
27471 MenhirLib.EngineTypes.state = _menhir_s;
27472 MenhirLib.EngineTypes.semv = _1;
27473 MenhirLib.EngineTypes.startp = _startpos__1_;
27474 MenhirLib.EngineTypes.endp = _endpos__1_;
27475 MenhirLib.EngineTypes.next = _menhir_stack;
27476 };
27477 } = _menhir_stack in
27478 let _2 : (
27479 # 88 "parser_cocci_menhir.mly"
27480 (Data.clt)
27481 # 27482 "parser_cocci_menhir.ml"
27482 ) = Obj.magic _2 in
27483 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
27484 let _startpos = _startpos__1_ in
27485 let _endpos = _endpos__2_ in
27486 let _v : 'tv_postfix_expr_eexpr_invalid_ =
27487 # 1398 "parser_cocci_menhir.mly"
27488 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
27489 # 27490 "parser_cocci_menhir.ml"
27490 in
27491 _menhir_env.MenhirLib.EngineTypes.stack <- {
27492 MenhirLib.EngineTypes.state = _menhir_s;
27493 MenhirLib.EngineTypes.semv = Obj.repr _v;
27494 MenhirLib.EngineTypes.startp = _startpos;
27495 MenhirLib.EngineTypes.endp = _endpos;
27496 MenhirLib.EngineTypes.next = _menhir_stack;
27497 });
27498 (fun _menhir_env ->
27499 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27500 let {
27501 MenhirLib.EngineTypes.semv = _4;
27502 MenhirLib.EngineTypes.startp = _startpos__4_;
27503 MenhirLib.EngineTypes.endp = _endpos__4_;
27504 MenhirLib.EngineTypes.next = {
27505 MenhirLib.EngineTypes.semv = _3;
27506 MenhirLib.EngineTypes.startp = _startpos__3_;
27507 MenhirLib.EngineTypes.endp = _endpos__3_;
27508 MenhirLib.EngineTypes.next = {
27509 MenhirLib.EngineTypes.semv = _2;
27510 MenhirLib.EngineTypes.startp = _startpos__2_;
27511 MenhirLib.EngineTypes.endp = _endpos__2_;
27512 MenhirLib.EngineTypes.next = {
27513 MenhirLib.EngineTypes.state = _menhir_s;
27514 MenhirLib.EngineTypes.semv = _1;
27515 MenhirLib.EngineTypes.startp = _startpos__1_;
27516 MenhirLib.EngineTypes.endp = _endpos__1_;
27517 MenhirLib.EngineTypes.next = _menhir_stack;
27518 };
27519 };
27520 };
27521 } = _menhir_stack in
27522 let _4 : (
27523 # 80 "parser_cocci_menhir.mly"
27524 (Data.clt)
27525 # 27526 "parser_cocci_menhir.ml"
27526 ) = Obj.magic _4 in
27527 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
27528 let _2 : (
27529 # 79 "parser_cocci_menhir.mly"
27530 (Data.clt)
27531 # 27532 "parser_cocci_menhir.ml"
27532 ) = Obj.magic _2 in
27533 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
27534 let _startpos = _startpos__1_ in
27535 let _endpos = _endpos__4_ in
27536 let _v : 'tv_postfix_expr_eexpr_invalid_ =
27537 # 1400 "parser_cocci_menhir.mly"
27538 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
27539 _3,
27540 P.clt2mcode ")" _4)) )
27541 # 27542 "parser_cocci_menhir.ml"
27542 in
27543 _menhir_env.MenhirLib.EngineTypes.stack <- {
27544 MenhirLib.EngineTypes.state = _menhir_s;
27545 MenhirLib.EngineTypes.semv = Obj.repr _v;
27546 MenhirLib.EngineTypes.startp = _startpos;
27547 MenhirLib.EngineTypes.endp = _endpos;
27548 MenhirLib.EngineTypes.next = _menhir_stack;
27549 });
27550 (fun _menhir_env ->
27551 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27552 let {
27553 MenhirLib.EngineTypes.state = _menhir_s;
27554 MenhirLib.EngineTypes.semv = _1;
27555 MenhirLib.EngineTypes.startp = _startpos__1_;
27556 MenhirLib.EngineTypes.endp = _endpos__1_;
27557 MenhirLib.EngineTypes.next = _menhir_stack;
27558 } = _menhir_stack in
27559 let _1 : 'tv_primary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
27560 let _startpos = _startpos__1_ in
27561 let _endpos = _endpos__1_ in
27562 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
27563 # 1386 "parser_cocci_menhir.mly"
27564 ( _1 )
27565 # 27566 "parser_cocci_menhir.ml"
27566 in
27567 _menhir_env.MenhirLib.EngineTypes.stack <- {
27568 MenhirLib.EngineTypes.state = _menhir_s;
27569 MenhirLib.EngineTypes.semv = Obj.repr _v;
27570 MenhirLib.EngineTypes.startp = _startpos;
27571 MenhirLib.EngineTypes.endp = _endpos;
27572 MenhirLib.EngineTypes.next = _menhir_stack;
27573 });
27574 (fun _menhir_env ->
27575 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27576 let {
27577 MenhirLib.EngineTypes.semv = _4;
27578 MenhirLib.EngineTypes.startp = _startpos__4_;
27579 MenhirLib.EngineTypes.endp = _endpos__4_;
27580 MenhirLib.EngineTypes.next = {
27581 MenhirLib.EngineTypes.semv = _3;
27582 MenhirLib.EngineTypes.startp = _startpos__3_;
27583 MenhirLib.EngineTypes.endp = _endpos__3_;
27584 MenhirLib.EngineTypes.next = {
27585 MenhirLib.EngineTypes.semv = _2;
27586 MenhirLib.EngineTypes.startp = _startpos__2_;
27587 MenhirLib.EngineTypes.endp = _endpos__2_;
27588 MenhirLib.EngineTypes.next = {
27589 MenhirLib.EngineTypes.state = _menhir_s;
27590 MenhirLib.EngineTypes.semv = _1;
27591 MenhirLib.EngineTypes.startp = _startpos__1_;
27592 MenhirLib.EngineTypes.endp = _endpos__1_;
27593 MenhirLib.EngineTypes.next = _menhir_stack;
27594 };
27595 };
27596 };
27597 } = _menhir_stack in
27598 let _4 : (
27599 # 105 "parser_cocci_menhir.mly"
27600 (Data.clt)
27601 # 27602 "parser_cocci_menhir.ml"
27602 ) = Obj.magic _4 in
27603 let _3 : 'tv_eexpr = Obj.magic _3 in
27604 let _2 : (
27605 # 105 "parser_cocci_menhir.mly"
27606 (Data.clt)
27607 # 27608 "parser_cocci_menhir.ml"
27608 ) = Obj.magic _2 in
27609 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
27610 let _startpos = _startpos__1_ in
27611 let _endpos = _endpos__4_ in
27612 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
27613 # 1388 "parser_cocci_menhir.mly"
27614 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
27615 P.clt2mcode "]" _4)) )
27616 # 27617 "parser_cocci_menhir.ml"
27617 in
27618 _menhir_env.MenhirLib.EngineTypes.stack <- {
27619 MenhirLib.EngineTypes.state = _menhir_s;
27620 MenhirLib.EngineTypes.semv = Obj.repr _v;
27621 MenhirLib.EngineTypes.startp = _startpos;
27622 MenhirLib.EngineTypes.endp = _endpos;
27623 MenhirLib.EngineTypes.next = _menhir_stack;
27624 });
27625 (fun _menhir_env ->
27626 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27627 let {
27628 MenhirLib.EngineTypes.semv = _3;
27629 MenhirLib.EngineTypes.startp = _startpos__3_;
27630 MenhirLib.EngineTypes.endp = _endpos__3_;
27631 MenhirLib.EngineTypes.next = {
27632 MenhirLib.EngineTypes.semv = _2;
27633 MenhirLib.EngineTypes.startp = _startpos__2_;
27634 MenhirLib.EngineTypes.endp = _endpos__2_;
27635 MenhirLib.EngineTypes.next = {
27636 MenhirLib.EngineTypes.state = _menhir_s;
27637 MenhirLib.EngineTypes.semv = _1;
27638 MenhirLib.EngineTypes.startp = _startpos__1_;
27639 MenhirLib.EngineTypes.endp = _endpos__1_;
27640 MenhirLib.EngineTypes.next = _menhir_stack;
27641 };
27642 };
27643 } = _menhir_stack in
27644 let _3 : 'tv_ident = Obj.magic _3 in
27645 let _2 : (
27646 # 110 "parser_cocci_menhir.mly"
27647 (Data.clt)
27648 # 27649 "parser_cocci_menhir.ml"
27649 ) = Obj.magic _2 in
27650 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
27651 let _startpos = _startpos__1_ in
27652 let _endpos = _endpos__3_ in
27653 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
27654 # 1391 "parser_cocci_menhir.mly"
27655 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
27656 # 27657 "parser_cocci_menhir.ml"
27657 in
27658 _menhir_env.MenhirLib.EngineTypes.stack <- {
27659 MenhirLib.EngineTypes.state = _menhir_s;
27660 MenhirLib.EngineTypes.semv = Obj.repr _v;
27661 MenhirLib.EngineTypes.startp = _startpos;
27662 MenhirLib.EngineTypes.endp = _endpos;
27663 MenhirLib.EngineTypes.next = _menhir_stack;
27664 });
27665 (fun _menhir_env ->
27666 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27667 let {
27668 MenhirLib.EngineTypes.semv = _3;
27669 MenhirLib.EngineTypes.startp = _startpos__3_;
27670 MenhirLib.EngineTypes.endp = _endpos__3_;
27671 MenhirLib.EngineTypes.next = {
27672 MenhirLib.EngineTypes.semv = _2;
27673 MenhirLib.EngineTypes.startp = _startpos__2_;
27674 MenhirLib.EngineTypes.endp = _endpos__2_;
27675 MenhirLib.EngineTypes.next = {
27676 MenhirLib.EngineTypes.state = _menhir_s;
27677 MenhirLib.EngineTypes.semv = _1;
27678 MenhirLib.EngineTypes.startp = _startpos__1_;
27679 MenhirLib.EngineTypes.endp = _endpos__1_;
27680 MenhirLib.EngineTypes.next = _menhir_stack;
27681 };
27682 };
27683 } = _menhir_stack in
27684 let _3 : 'tv_ident = Obj.magic _3 in
27685 let _2 : (
27686 # 107 "parser_cocci_menhir.mly"
27687 (Data.clt)
27688 # 27689 "parser_cocci_menhir.ml"
27689 ) = Obj.magic _2 in
27690 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
27691 let _startpos = _startpos__1_ in
27692 let _endpos = _endpos__3_ in
27693 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
27694 # 1393 "parser_cocci_menhir.mly"
27695 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
27696 _3)) )
27697 # 27698 "parser_cocci_menhir.ml"
27698 in
27699 _menhir_env.MenhirLib.EngineTypes.stack <- {
27700 MenhirLib.EngineTypes.state = _menhir_s;
27701 MenhirLib.EngineTypes.semv = Obj.repr _v;
27702 MenhirLib.EngineTypes.startp = _startpos;
27703 MenhirLib.EngineTypes.endp = _endpos;
27704 MenhirLib.EngineTypes.next = _menhir_stack;
27705 });
27706 (fun _menhir_env ->
27707 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27708 let {
27709 MenhirLib.EngineTypes.semv = _2;
27710 MenhirLib.EngineTypes.startp = _startpos__2_;
27711 MenhirLib.EngineTypes.endp = _endpos__2_;
27712 MenhirLib.EngineTypes.next = {
27713 MenhirLib.EngineTypes.state = _menhir_s;
27714 MenhirLib.EngineTypes.semv = _1;
27715 MenhirLib.EngineTypes.startp = _startpos__1_;
27716 MenhirLib.EngineTypes.endp = _endpos__1_;
27717 MenhirLib.EngineTypes.next = _menhir_stack;
27718 };
27719 } = _menhir_stack in
27720 let _2 : (
27721 # 88 "parser_cocci_menhir.mly"
27722 (Data.clt)
27723 # 27724 "parser_cocci_menhir.ml"
27724 ) = Obj.magic _2 in
27725 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
27726 let _startpos = _startpos__1_ in
27727 let _endpos = _endpos__2_ in
27728 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
27729 # 1396 "parser_cocci_menhir.mly"
27730 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
27731 # 27732 "parser_cocci_menhir.ml"
27732 in
27733 _menhir_env.MenhirLib.EngineTypes.stack <- {
27734 MenhirLib.EngineTypes.state = _menhir_s;
27735 MenhirLib.EngineTypes.semv = Obj.repr _v;
27736 MenhirLib.EngineTypes.startp = _startpos;
27737 MenhirLib.EngineTypes.endp = _endpos;
27738 MenhirLib.EngineTypes.next = _menhir_stack;
27739 });
27740 (fun _menhir_env ->
27741 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27742 let {
27743 MenhirLib.EngineTypes.semv = _2;
27744 MenhirLib.EngineTypes.startp = _startpos__2_;
27745 MenhirLib.EngineTypes.endp = _endpos__2_;
27746 MenhirLib.EngineTypes.next = {
27747 MenhirLib.EngineTypes.state = _menhir_s;
27748 MenhirLib.EngineTypes.semv = _1;
27749 MenhirLib.EngineTypes.startp = _startpos__1_;
27750 MenhirLib.EngineTypes.endp = _endpos__1_;
27751 MenhirLib.EngineTypes.next = _menhir_stack;
27752 };
27753 } = _menhir_stack in
27754 let _2 : (
27755 # 88 "parser_cocci_menhir.mly"
27756 (Data.clt)
27757 # 27758 "parser_cocci_menhir.ml"
27758 ) = Obj.magic _2 in
27759 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
27760 let _startpos = _startpos__1_ in
27761 let _endpos = _endpos__2_ in
27762 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
27763 # 1398 "parser_cocci_menhir.mly"
27764 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
27765 # 27766 "parser_cocci_menhir.ml"
27766 in
27767 _menhir_env.MenhirLib.EngineTypes.stack <- {
27768 MenhirLib.EngineTypes.state = _menhir_s;
27769 MenhirLib.EngineTypes.semv = Obj.repr _v;
27770 MenhirLib.EngineTypes.startp = _startpos;
27771 MenhirLib.EngineTypes.endp = _endpos;
27772 MenhirLib.EngineTypes.next = _menhir_stack;
27773 });
27774 (fun _menhir_env ->
27775 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27776 let {
27777 MenhirLib.EngineTypes.semv = _4;
27778 MenhirLib.EngineTypes.startp = _startpos__4_;
27779 MenhirLib.EngineTypes.endp = _endpos__4_;
27780 MenhirLib.EngineTypes.next = {
27781 MenhirLib.EngineTypes.semv = _3;
27782 MenhirLib.EngineTypes.startp = _startpos__3_;
27783 MenhirLib.EngineTypes.endp = _endpos__3_;
27784 MenhirLib.EngineTypes.next = {
27785 MenhirLib.EngineTypes.semv = _2;
27786 MenhirLib.EngineTypes.startp = _startpos__2_;
27787 MenhirLib.EngineTypes.endp = _endpos__2_;
27788 MenhirLib.EngineTypes.next = {
27789 MenhirLib.EngineTypes.state = _menhir_s;
27790 MenhirLib.EngineTypes.semv = _1;
27791 MenhirLib.EngineTypes.startp = _startpos__1_;
27792 MenhirLib.EngineTypes.endp = _endpos__1_;
27793 MenhirLib.EngineTypes.next = _menhir_stack;
27794 };
27795 };
27796 };
27797 } = _menhir_stack in
27798 let _4 : (
27799 # 80 "parser_cocci_menhir.mly"
27800 (Data.clt)
27801 # 27802 "parser_cocci_menhir.ml"
27802 ) = Obj.magic _4 in
27803 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
27804 let _2 : (
27805 # 79 "parser_cocci_menhir.mly"
27806 (Data.clt)
27807 # 27808 "parser_cocci_menhir.ml"
27808 ) = Obj.magic _2 in
27809 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
27810 let _startpos = _startpos__1_ in
27811 let _endpos = _endpos__4_ in
27812 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
27813 # 1400 "parser_cocci_menhir.mly"
27814 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
27815 _3,
27816 P.clt2mcode ")" _4)) )
27817 # 27818 "parser_cocci_menhir.ml"
27818 in
27819 _menhir_env.MenhirLib.EngineTypes.stack <- {
27820 MenhirLib.EngineTypes.state = _menhir_s;
27821 MenhirLib.EngineTypes.semv = Obj.repr _v;
27822 MenhirLib.EngineTypes.startp = _startpos;
27823 MenhirLib.EngineTypes.endp = _endpos;
27824 MenhirLib.EngineTypes.next = _menhir_stack;
27825 });
27826 (fun _menhir_env ->
27827 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27828 let {
27829 MenhirLib.EngineTypes.state = _menhir_s;
27830 MenhirLib.EngineTypes.semv = _1;
27831 MenhirLib.EngineTypes.startp = _startpos__1_;
27832 MenhirLib.EngineTypes.endp = _endpos__1_;
27833 MenhirLib.EngineTypes.next = _menhir_stack;
27834 } = _menhir_stack in
27835 let _1 : 'tv_primary_expr_expr_invalid_ = Obj.magic _1 in
27836 let _startpos = _startpos__1_ in
27837 let _endpos = _endpos__1_ in
27838 let _v : 'tv_postfix_expr_expr_invalid_ =
27839 # 1386 "parser_cocci_menhir.mly"
27840 ( _1 )
27841 # 27842 "parser_cocci_menhir.ml"
27842 in
27843 _menhir_env.MenhirLib.EngineTypes.stack <- {
27844 MenhirLib.EngineTypes.state = _menhir_s;
27845 MenhirLib.EngineTypes.semv = Obj.repr _v;
27846 MenhirLib.EngineTypes.startp = _startpos;
27847 MenhirLib.EngineTypes.endp = _endpos;
27848 MenhirLib.EngineTypes.next = _menhir_stack;
27849 });
27850 (fun _menhir_env ->
27851 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27852 let {
27853 MenhirLib.EngineTypes.semv = _4;
27854 MenhirLib.EngineTypes.startp = _startpos__4_;
27855 MenhirLib.EngineTypes.endp = _endpos__4_;
27856 MenhirLib.EngineTypes.next = {
27857 MenhirLib.EngineTypes.semv = _3;
27858 MenhirLib.EngineTypes.startp = _startpos__3_;
27859 MenhirLib.EngineTypes.endp = _endpos__3_;
27860 MenhirLib.EngineTypes.next = {
27861 MenhirLib.EngineTypes.semv = _2;
27862 MenhirLib.EngineTypes.startp = _startpos__2_;
27863 MenhirLib.EngineTypes.endp = _endpos__2_;
27864 MenhirLib.EngineTypes.next = {
27865 MenhirLib.EngineTypes.state = _menhir_s;
27866 MenhirLib.EngineTypes.semv = _1;
27867 MenhirLib.EngineTypes.startp = _startpos__1_;
27868 MenhirLib.EngineTypes.endp = _endpos__1_;
27869 MenhirLib.EngineTypes.next = _menhir_stack;
27870 };
27871 };
27872 };
27873 } = _menhir_stack in
27874 let _4 : (
27875 # 105 "parser_cocci_menhir.mly"
27876 (Data.clt)
27877 # 27878 "parser_cocci_menhir.ml"
27878 ) = Obj.magic _4 in
27879 let _3 : 'tv_eexpr = Obj.magic _3 in
27880 let _2 : (
27881 # 105 "parser_cocci_menhir.mly"
27882 (Data.clt)
27883 # 27884 "parser_cocci_menhir.ml"
27884 ) = Obj.magic _2 in
27885 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
27886 let _startpos = _startpos__1_ in
27887 let _endpos = _endpos__4_ in
27888 let _v : 'tv_postfix_expr_expr_invalid_ =
27889 # 1388 "parser_cocci_menhir.mly"
27890 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
27891 P.clt2mcode "]" _4)) )
27892 # 27893 "parser_cocci_menhir.ml"
27893 in
27894 _menhir_env.MenhirLib.EngineTypes.stack <- {
27895 MenhirLib.EngineTypes.state = _menhir_s;
27896 MenhirLib.EngineTypes.semv = Obj.repr _v;
27897 MenhirLib.EngineTypes.startp = _startpos;
27898 MenhirLib.EngineTypes.endp = _endpos;
27899 MenhirLib.EngineTypes.next = _menhir_stack;
27900 });
27901 (fun _menhir_env ->
27902 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27903 let {
27904 MenhirLib.EngineTypes.semv = _3;
27905 MenhirLib.EngineTypes.startp = _startpos__3_;
27906 MenhirLib.EngineTypes.endp = _endpos__3_;
27907 MenhirLib.EngineTypes.next = {
27908 MenhirLib.EngineTypes.semv = _2;
27909 MenhirLib.EngineTypes.startp = _startpos__2_;
27910 MenhirLib.EngineTypes.endp = _endpos__2_;
27911 MenhirLib.EngineTypes.next = {
27912 MenhirLib.EngineTypes.state = _menhir_s;
27913 MenhirLib.EngineTypes.semv = _1;
27914 MenhirLib.EngineTypes.startp = _startpos__1_;
27915 MenhirLib.EngineTypes.endp = _endpos__1_;
27916 MenhirLib.EngineTypes.next = _menhir_stack;
27917 };
27918 };
27919 } = _menhir_stack in
27920 let _3 : 'tv_ident = Obj.magic _3 in
27921 let _2 : (
27922 # 110 "parser_cocci_menhir.mly"
27923 (Data.clt)
27924 # 27925 "parser_cocci_menhir.ml"
27925 ) = Obj.magic _2 in
27926 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
27927 let _startpos = _startpos__1_ in
27928 let _endpos = _endpos__3_ in
27929 let _v : 'tv_postfix_expr_expr_invalid_ =
27930 # 1391 "parser_cocci_menhir.mly"
27931 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
27932 # 27933 "parser_cocci_menhir.ml"
27933 in
27934 _menhir_env.MenhirLib.EngineTypes.stack <- {
27935 MenhirLib.EngineTypes.state = _menhir_s;
27936 MenhirLib.EngineTypes.semv = Obj.repr _v;
27937 MenhirLib.EngineTypes.startp = _startpos;
27938 MenhirLib.EngineTypes.endp = _endpos;
27939 MenhirLib.EngineTypes.next = _menhir_stack;
27940 });
27941 (fun _menhir_env ->
27942 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27943 let {
27944 MenhirLib.EngineTypes.semv = _3;
27945 MenhirLib.EngineTypes.startp = _startpos__3_;
27946 MenhirLib.EngineTypes.endp = _endpos__3_;
27947 MenhirLib.EngineTypes.next = {
27948 MenhirLib.EngineTypes.semv = _2;
27949 MenhirLib.EngineTypes.startp = _startpos__2_;
27950 MenhirLib.EngineTypes.endp = _endpos__2_;
27951 MenhirLib.EngineTypes.next = {
27952 MenhirLib.EngineTypes.state = _menhir_s;
27953 MenhirLib.EngineTypes.semv = _1;
27954 MenhirLib.EngineTypes.startp = _startpos__1_;
27955 MenhirLib.EngineTypes.endp = _endpos__1_;
27956 MenhirLib.EngineTypes.next = _menhir_stack;
27957 };
27958 };
27959 } = _menhir_stack in
27960 let _3 : 'tv_ident = Obj.magic _3 in
27961 let _2 : (
27962 # 107 "parser_cocci_menhir.mly"
27963 (Data.clt)
27964 # 27965 "parser_cocci_menhir.ml"
27965 ) = Obj.magic _2 in
27966 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
27967 let _startpos = _startpos__1_ in
27968 let _endpos = _endpos__3_ in
27969 let _v : 'tv_postfix_expr_expr_invalid_ =
27970 # 1393 "parser_cocci_menhir.mly"
27971 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
27972 _3)) )
27973 # 27974 "parser_cocci_menhir.ml"
27974 in
27975 _menhir_env.MenhirLib.EngineTypes.stack <- {
27976 MenhirLib.EngineTypes.state = _menhir_s;
27977 MenhirLib.EngineTypes.semv = Obj.repr _v;
27978 MenhirLib.EngineTypes.startp = _startpos;
27979 MenhirLib.EngineTypes.endp = _endpos;
27980 MenhirLib.EngineTypes.next = _menhir_stack;
27981 });
27982 (fun _menhir_env ->
27983 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27984 let {
27985 MenhirLib.EngineTypes.semv = _2;
27986 MenhirLib.EngineTypes.startp = _startpos__2_;
27987 MenhirLib.EngineTypes.endp = _endpos__2_;
27988 MenhirLib.EngineTypes.next = {
27989 MenhirLib.EngineTypes.state = _menhir_s;
27990 MenhirLib.EngineTypes.semv = _1;
27991 MenhirLib.EngineTypes.startp = _startpos__1_;
27992 MenhirLib.EngineTypes.endp = _endpos__1_;
27993 MenhirLib.EngineTypes.next = _menhir_stack;
27994 };
27995 } = _menhir_stack in
27996 let _2 : (
27997 # 88 "parser_cocci_menhir.mly"
27998 (Data.clt)
27999 # 28000 "parser_cocci_menhir.ml"
28000 ) = Obj.magic _2 in
28001 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
28002 let _startpos = _startpos__1_ in
28003 let _endpos = _endpos__2_ in
28004 let _v : 'tv_postfix_expr_expr_invalid_ =
28005 # 1396 "parser_cocci_menhir.mly"
28006 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
28007 # 28008 "parser_cocci_menhir.ml"
28008 in
28009 _menhir_env.MenhirLib.EngineTypes.stack <- {
28010 MenhirLib.EngineTypes.state = _menhir_s;
28011 MenhirLib.EngineTypes.semv = Obj.repr _v;
28012 MenhirLib.EngineTypes.startp = _startpos;
28013 MenhirLib.EngineTypes.endp = _endpos;
28014 MenhirLib.EngineTypes.next = _menhir_stack;
28015 });
28016 (fun _menhir_env ->
28017 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28018 let {
28019 MenhirLib.EngineTypes.semv = _2;
28020 MenhirLib.EngineTypes.startp = _startpos__2_;
28021 MenhirLib.EngineTypes.endp = _endpos__2_;
28022 MenhirLib.EngineTypes.next = {
28023 MenhirLib.EngineTypes.state = _menhir_s;
28024 MenhirLib.EngineTypes.semv = _1;
28025 MenhirLib.EngineTypes.startp = _startpos__1_;
28026 MenhirLib.EngineTypes.endp = _endpos__1_;
28027 MenhirLib.EngineTypes.next = _menhir_stack;
28028 };
28029 } = _menhir_stack in
28030 let _2 : (
28031 # 88 "parser_cocci_menhir.mly"
28032 (Data.clt)
28033 # 28034 "parser_cocci_menhir.ml"
28034 ) = Obj.magic _2 in
28035 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
28036 let _startpos = _startpos__1_ in
28037 let _endpos = _endpos__2_ in
28038 let _v : 'tv_postfix_expr_expr_invalid_ =
28039 # 1398 "parser_cocci_menhir.mly"
28040 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
28041 # 28042 "parser_cocci_menhir.ml"
28042 in
28043 _menhir_env.MenhirLib.EngineTypes.stack <- {
28044 MenhirLib.EngineTypes.state = _menhir_s;
28045 MenhirLib.EngineTypes.semv = Obj.repr _v;
28046 MenhirLib.EngineTypes.startp = _startpos;
28047 MenhirLib.EngineTypes.endp = _endpos;
28048 MenhirLib.EngineTypes.next = _menhir_stack;
28049 });
28050 (fun _menhir_env ->
28051 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28052 let {
28053 MenhirLib.EngineTypes.semv = _4;
28054 MenhirLib.EngineTypes.startp = _startpos__4_;
28055 MenhirLib.EngineTypes.endp = _endpos__4_;
28056 MenhirLib.EngineTypes.next = {
28057 MenhirLib.EngineTypes.semv = _3;
28058 MenhirLib.EngineTypes.startp = _startpos__3_;
28059 MenhirLib.EngineTypes.endp = _endpos__3_;
28060 MenhirLib.EngineTypes.next = {
28061 MenhirLib.EngineTypes.semv = _2;
28062 MenhirLib.EngineTypes.startp = _startpos__2_;
28063 MenhirLib.EngineTypes.endp = _endpos__2_;
28064 MenhirLib.EngineTypes.next = {
28065 MenhirLib.EngineTypes.state = _menhir_s;
28066 MenhirLib.EngineTypes.semv = _1;
28067 MenhirLib.EngineTypes.startp = _startpos__1_;
28068 MenhirLib.EngineTypes.endp = _endpos__1_;
28069 MenhirLib.EngineTypes.next = _menhir_stack;
28070 };
28071 };
28072 };
28073 } = _menhir_stack in
28074 let _4 : (
28075 # 80 "parser_cocci_menhir.mly"
28076 (Data.clt)
28077 # 28078 "parser_cocci_menhir.ml"
28078 ) = Obj.magic _4 in
28079 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
28080 let _2 : (
28081 # 79 "parser_cocci_menhir.mly"
28082 (Data.clt)
28083 # 28084 "parser_cocci_menhir.ml"
28084 ) = Obj.magic _2 in
28085 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
28086 let _startpos = _startpos__1_ in
28087 let _endpos = _endpos__4_ in
28088 let _v : 'tv_postfix_expr_expr_invalid_ =
28089 # 1400 "parser_cocci_menhir.mly"
28090 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
28091 _3,
28092 P.clt2mcode ")" _4)) )
28093 # 28094 "parser_cocci_menhir.ml"
28094 in
28095 _menhir_env.MenhirLib.EngineTypes.stack <- {
28096 MenhirLib.EngineTypes.state = _menhir_s;
28097 MenhirLib.EngineTypes.semv = Obj.repr _v;
28098 MenhirLib.EngineTypes.startp = _startpos;
28099 MenhirLib.EngineTypes.endp = _endpos;
28100 MenhirLib.EngineTypes.next = _menhir_stack;
28101 });
28102 (fun _menhir_env ->
28103 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28104 let {
28105 MenhirLib.EngineTypes.state = _menhir_s;
28106 MenhirLib.EngineTypes.semv = _1;
28107 MenhirLib.EngineTypes.startp = _startpos__1_;
28108 MenhirLib.EngineTypes.endp = _endpos__1_;
28109 MenhirLib.EngineTypes.next = _menhir_stack;
28110 } = _menhir_stack in
28111 let _1 : 'tv_func_ident = Obj.magic _1 in
28112 let _startpos = _startpos__1_ in
28113 let _endpos = _endpos__1_ in
28114 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
28115 # 1405 "parser_cocci_menhir.mly"
28116 ( Ast0.wrap(Ast0.Ident(_1)) )
28117 # 28118 "parser_cocci_menhir.ml"
28118 in
28119 _menhir_env.MenhirLib.EngineTypes.stack <- {
28120 MenhirLib.EngineTypes.state = _menhir_s;
28121 MenhirLib.EngineTypes.semv = Obj.repr _v;
28122 MenhirLib.EngineTypes.startp = _startpos;
28123 MenhirLib.EngineTypes.endp = _endpos;
28124 MenhirLib.EngineTypes.next = _menhir_stack;
28125 });
28126 (fun _menhir_env ->
28127 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28128 let {
28129 MenhirLib.EngineTypes.state = _menhir_s;
28130 MenhirLib.EngineTypes.semv = _1;
28131 MenhirLib.EngineTypes.startp = _startpos__1_;
28132 MenhirLib.EngineTypes.endp = _endpos__1_;
28133 MenhirLib.EngineTypes.next = _menhir_stack;
28134 } = _menhir_stack in
28135 let _1 : (
28136 # 90 "parser_cocci_menhir.mly"
28137 (string * Data.clt)
28138 # 28139 "parser_cocci_menhir.ml"
28139 ) = Obj.magic _1 in
28140 let _startpos = _startpos__1_ in
28141 let _endpos = _endpos__1_ in
28142 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
28143 # 1407 "parser_cocci_menhir.mly"
28144 ( let (x,clt) = _1 in
28145 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
28146 # 28147 "parser_cocci_menhir.ml"
28147 in
28148 _menhir_env.MenhirLib.EngineTypes.stack <- {
28149 MenhirLib.EngineTypes.state = _menhir_s;
28150 MenhirLib.EngineTypes.semv = Obj.repr _v;
28151 MenhirLib.EngineTypes.startp = _startpos;
28152 MenhirLib.EngineTypes.endp = _endpos;
28153 MenhirLib.EngineTypes.next = _menhir_stack;
28154 });
28155 (fun _menhir_env ->
28156 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28157 let {
28158 MenhirLib.EngineTypes.state = _menhir_s;
28159 MenhirLib.EngineTypes.semv = _1;
28160 MenhirLib.EngineTypes.startp = _startpos__1_;
28161 MenhirLib.EngineTypes.endp = _endpos__1_;
28162 MenhirLib.EngineTypes.next = _menhir_stack;
28163 } = _menhir_stack in
28164 let _1 : (
28165 # 90 "parser_cocci_menhir.mly"
28166 (string * Data.clt)
28167 # 28168 "parser_cocci_menhir.ml"
28168 ) = Obj.magic _1 in
28169 let _startpos = _startpos__1_ in
28170 let _endpos = _endpos__1_ in
28171 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
28172 # 1410 "parser_cocci_menhir.mly"
28173 ( let (x,clt) = _1 in
28174 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
28175 # 28176 "parser_cocci_menhir.ml"
28176 in
28177 _menhir_env.MenhirLib.EngineTypes.stack <- {
28178 MenhirLib.EngineTypes.state = _menhir_s;
28179 MenhirLib.EngineTypes.semv = Obj.repr _v;
28180 MenhirLib.EngineTypes.startp = _startpos;
28181 MenhirLib.EngineTypes.endp = _endpos;
28182 MenhirLib.EngineTypes.next = _menhir_stack;
28183 });
28184 (fun _menhir_env ->
28185 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28186 let {
28187 MenhirLib.EngineTypes.state = _menhir_s;
28188 MenhirLib.EngineTypes.semv = _1;
28189 MenhirLib.EngineTypes.startp = _startpos__1_;
28190 MenhirLib.EngineTypes.endp = _endpos__1_;
28191 MenhirLib.EngineTypes.next = _menhir_stack;
28192 } = _menhir_stack in
28193 let _1 : (
28194 # 90 "parser_cocci_menhir.mly"
28195 (string * Data.clt)
28196 # 28197 "parser_cocci_menhir.ml"
28197 ) = Obj.magic _1 in
28198 let _startpos = _startpos__1_ in
28199 let _endpos = _endpos__1_ in
28200 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
28201 # 1413 "parser_cocci_menhir.mly"
28202 ( let (x,clt) = _1 in
28203 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
28204 # 28205 "parser_cocci_menhir.ml"
28205 in
28206 _menhir_env.MenhirLib.EngineTypes.stack <- {
28207 MenhirLib.EngineTypes.state = _menhir_s;
28208 MenhirLib.EngineTypes.semv = Obj.repr _v;
28209 MenhirLib.EngineTypes.startp = _startpos;
28210 MenhirLib.EngineTypes.endp = _endpos;
28211 MenhirLib.EngineTypes.next = _menhir_stack;
28212 });
28213 (fun _menhir_env ->
28214 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28215 let {
28216 MenhirLib.EngineTypes.state = _menhir_s;
28217 MenhirLib.EngineTypes.semv = _1;
28218 MenhirLib.EngineTypes.startp = _startpos__1_;
28219 MenhirLib.EngineTypes.endp = _endpos__1_;
28220 MenhirLib.EngineTypes.next = _menhir_stack;
28221 } = _menhir_stack in
28222 let _1 : (
28223 # 90 "parser_cocci_menhir.mly"
28224 (string * Data.clt)
28225 # 28226 "parser_cocci_menhir.ml"
28226 ) = Obj.magic _1 in
28227 let _startpos = _startpos__1_ in
28228 let _endpos = _endpos__1_ in
28229 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
28230 # 1416 "parser_cocci_menhir.mly"
28231 ( let (x,clt) = _1 in
28232 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
28233 # 28234 "parser_cocci_menhir.ml"
28234 in
28235 _menhir_env.MenhirLib.EngineTypes.stack <- {
28236 MenhirLib.EngineTypes.state = _menhir_s;
28237 MenhirLib.EngineTypes.semv = Obj.repr _v;
28238 MenhirLib.EngineTypes.startp = _startpos;
28239 MenhirLib.EngineTypes.endp = _endpos;
28240 MenhirLib.EngineTypes.next = _menhir_stack;
28241 });
28242 (fun _menhir_env ->
28243 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28244 let {
28245 MenhirLib.EngineTypes.state = _menhir_s;
28246 MenhirLib.EngineTypes.semv = _1;
28247 MenhirLib.EngineTypes.startp = _startpos__1_;
28248 MenhirLib.EngineTypes.endp = _endpos__1_;
28249 MenhirLib.EngineTypes.next = _menhir_stack;
28250 } = _menhir_stack in
28251 let _1 : (
28252 # 70 "parser_cocci_menhir.mly"
28253 (Parse_aux.typed_expinfo)
28254 # 28255 "parser_cocci_menhir.ml"
28255 ) = Obj.magic _1 in
28256 let _startpos = _startpos__1_ in
28257 let _endpos = _endpos__1_ in
28258 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
28259 # 1419 "parser_cocci_menhir.mly"
28260 ( let (nm,constraints,pure,ty,clt) = _1 in
28261 Ast0.wrap
28262 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
28263 # 28264 "parser_cocci_menhir.ml"
28264 in
28265 _menhir_env.MenhirLib.EngineTypes.stack <- {
28266 MenhirLib.EngineTypes.state = _menhir_s;
28267 MenhirLib.EngineTypes.semv = Obj.repr _v;
28268 MenhirLib.EngineTypes.startp = _startpos;
28269 MenhirLib.EngineTypes.endp = _endpos;
28270 MenhirLib.EngineTypes.next = _menhir_stack;
28271 });
28272 (fun _menhir_env ->
28273 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28274 let {
28275 MenhirLib.EngineTypes.state = _menhir_s;
28276 MenhirLib.EngineTypes.semv = _1;
28277 MenhirLib.EngineTypes.startp = _startpos__1_;
28278 MenhirLib.EngineTypes.endp = _endpos__1_;
28279 MenhirLib.EngineTypes.next = _menhir_stack;
28280 } = _menhir_stack in
28281 let _1 : (
28282 # 66 "parser_cocci_menhir.mly"
28283 (Parse_aux.expinfo)
28284 # 28285 "parser_cocci_menhir.ml"
28285 ) = Obj.magic _1 in
28286 let _startpos = _startpos__1_ in
28287 let _endpos = _endpos__1_ in
28288 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
28289 # 1423 "parser_cocci_menhir.mly"
28290 ( let (nm,constraints,pure,clt) = _1 in
28291 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
28292 # 28293 "parser_cocci_menhir.ml"
28293 in
28294 _menhir_env.MenhirLib.EngineTypes.stack <- {
28295 MenhirLib.EngineTypes.state = _menhir_s;
28296 MenhirLib.EngineTypes.semv = Obj.repr _v;
28297 MenhirLib.EngineTypes.startp = _startpos;
28298 MenhirLib.EngineTypes.endp = _endpos;
28299 MenhirLib.EngineTypes.next = _menhir_stack;
28300 });
28301 (fun _menhir_env ->
28302 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28303 let {
28304 MenhirLib.EngineTypes.state = _menhir_s;
28305 MenhirLib.EngineTypes.semv = _1;
28306 MenhirLib.EngineTypes.startp = _startpos__1_;
28307 MenhirLib.EngineTypes.endp = _endpos__1_;
28308 MenhirLib.EngineTypes.next = _menhir_stack;
28309 } = _menhir_stack in
28310 let _1 : (
28311 # 70 "parser_cocci_menhir.mly"
28312 (Parse_aux.typed_expinfo)
28313 # 28314 "parser_cocci_menhir.ml"
28314 ) = Obj.magic _1 in
28315 let _startpos = _startpos__1_ in
28316 let _endpos = _endpos__1_ in
28317 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
28318 # 1426 "parser_cocci_menhir.mly"
28319 ( let (nm,constraints,pure,ty,clt) = _1 in
28320 Ast0.wrap
28321 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
28322 # 28323 "parser_cocci_menhir.ml"
28323 in
28324 _menhir_env.MenhirLib.EngineTypes.stack <- {
28325 MenhirLib.EngineTypes.state = _menhir_s;
28326 MenhirLib.EngineTypes.semv = Obj.repr _v;
28327 MenhirLib.EngineTypes.startp = _startpos;
28328 MenhirLib.EngineTypes.endp = _endpos;
28329 MenhirLib.EngineTypes.next = _menhir_stack;
28330 });
28331 (fun _menhir_env ->
28332 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28333 let {
28334 MenhirLib.EngineTypes.state = _menhir_s;
28335 MenhirLib.EngineTypes.semv = _1;
28336 MenhirLib.EngineTypes.startp = _startpos__1_;
28337 MenhirLib.EngineTypes.endp = _endpos__1_;
28338 MenhirLib.EngineTypes.next = _menhir_stack;
28339 } = _menhir_stack in
28340 let _1 : (
28341 # 70 "parser_cocci_menhir.mly"
28342 (Parse_aux.typed_expinfo)
28343 # 28344 "parser_cocci_menhir.ml"
28344 ) = Obj.magic _1 in
28345 let _startpos = _startpos__1_ in
28346 let _endpos = _endpos__1_ in
28347 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
28348 # 1430 "parser_cocci_menhir.mly"
28349 ( let (nm,constraints,pure,ty,clt) = _1 in
28350 Ast0.wrap
28351 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
28352 # 28353 "parser_cocci_menhir.ml"
28353 in
28354 _menhir_env.MenhirLib.EngineTypes.stack <- {
28355 MenhirLib.EngineTypes.state = _menhir_s;
28356 MenhirLib.EngineTypes.semv = Obj.repr _v;
28357 MenhirLib.EngineTypes.startp = _startpos;
28358 MenhirLib.EngineTypes.endp = _endpos;
28359 MenhirLib.EngineTypes.next = _menhir_stack;
28360 });
28361 (fun _menhir_env ->
28362 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28363 let {
28364 MenhirLib.EngineTypes.state = _menhir_s;
28365 MenhirLib.EngineTypes.semv = _1;
28366 MenhirLib.EngineTypes.startp = _startpos__1_;
28367 MenhirLib.EngineTypes.endp = _endpos__1_;
28368 MenhirLib.EngineTypes.next = _menhir_stack;
28369 } = _menhir_stack in
28370 let _1 : (
28371 # 70 "parser_cocci_menhir.mly"
28372 (Parse_aux.typed_expinfo)
28373 # 28374 "parser_cocci_menhir.ml"
28374 ) = Obj.magic _1 in
28375 let _startpos = _startpos__1_ in
28376 let _endpos = _endpos__1_ in
28377 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
28378 # 1434 "parser_cocci_menhir.mly"
28379 ( let (nm,constraints,pure,ty,clt) = _1 in
28380 Ast0.wrap
28381 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
28382 # 28383 "parser_cocci_menhir.ml"
28383 in
28384 _menhir_env.MenhirLib.EngineTypes.stack <- {
28385 MenhirLib.EngineTypes.state = _menhir_s;
28386 MenhirLib.EngineTypes.semv = Obj.repr _v;
28387 MenhirLib.EngineTypes.startp = _startpos;
28388 MenhirLib.EngineTypes.endp = _endpos;
28389 MenhirLib.EngineTypes.next = _menhir_stack;
28390 });
28391 (fun _menhir_env ->
28392 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28393 let {
28394 MenhirLib.EngineTypes.semv = _3;
28395 MenhirLib.EngineTypes.startp = _startpos__3_;
28396 MenhirLib.EngineTypes.endp = _endpos__3_;
28397 MenhirLib.EngineTypes.next = {
28398 MenhirLib.EngineTypes.semv = _2;
28399 MenhirLib.EngineTypes.startp = _startpos__2_;
28400 MenhirLib.EngineTypes.endp = _endpos__2_;
28401 MenhirLib.EngineTypes.next = {
28402 MenhirLib.EngineTypes.state = _menhir_s;
28403 MenhirLib.EngineTypes.semv = _1;
28404 MenhirLib.EngineTypes.startp = _startpos__1_;
28405 MenhirLib.EngineTypes.endp = _endpos__1_;
28406 MenhirLib.EngineTypes.next = _menhir_stack;
28407 };
28408 };
28409 } = _menhir_stack in
28410 let _3 : (
28411 # 80 "parser_cocci_menhir.mly"
28412 (Data.clt)
28413 # 28414 "parser_cocci_menhir.ml"
28414 ) = Obj.magic _3 in
28415 let _2 : 'tv_eexpr = Obj.magic _2 in
28416 let _1 : (
28417 # 79 "parser_cocci_menhir.mly"
28418 (Data.clt)
28419 # 28420 "parser_cocci_menhir.ml"
28420 ) = Obj.magic _1 in
28421 let _startpos = _startpos__1_ in
28422 let _endpos = _endpos__3_ in
28423 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
28424 # 1438 "parser_cocci_menhir.mly"
28425 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
28426 P.clt2mcode ")" _3)) )
28427 # 28428 "parser_cocci_menhir.ml"
28428 in
28429 _menhir_env.MenhirLib.EngineTypes.stack <- {
28430 MenhirLib.EngineTypes.state = _menhir_s;
28431 MenhirLib.EngineTypes.semv = Obj.repr _v;
28432 MenhirLib.EngineTypes.startp = _startpos;
28433 MenhirLib.EngineTypes.endp = _endpos;
28434 MenhirLib.EngineTypes.next = _menhir_stack;
28435 });
28436 (fun _menhir_env ->
28437 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28438 let {
28439 MenhirLib.EngineTypes.semv = _3;
28440 MenhirLib.EngineTypes.startp = _startpos__3_;
28441 MenhirLib.EngineTypes.endp = _endpos__3_;
28442 MenhirLib.EngineTypes.next = {
28443 MenhirLib.EngineTypes.semv = _2;
28444 MenhirLib.EngineTypes.startp = _startpos__2_;
28445 MenhirLib.EngineTypes.endp = _endpos__2_;
28446 MenhirLib.EngineTypes.next = {
28447 MenhirLib.EngineTypes.state = _menhir_s;
28448 MenhirLib.EngineTypes.semv = _1;
28449 MenhirLib.EngineTypes.startp = _startpos__1_;
28450 MenhirLib.EngineTypes.endp = _endpos__1_;
28451 MenhirLib.EngineTypes.next = _menhir_stack;
28452 };
28453 };
28454 } = _menhir_stack in
28455 let _3 : (
28456 # 80 "parser_cocci_menhir.mly"
28457 (Data.clt)
28458 # 28459 "parser_cocci_menhir.ml"
28459 ) = Obj.magic _3 in
28460 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
28461 let _1 : (
28462 # 79 "parser_cocci_menhir.mly"
28463 (Data.clt)
28464 # 28465 "parser_cocci_menhir.ml"
28465 ) = Obj.magic _1 in
28466 let _startpos = _startpos__1_ in
28467 let _endpos = _endpos__3_ in
28468 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
28469 # 1441 "parser_cocci_menhir.mly"
28470 ( let (mids,code) = _2 in
28471 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
28472 code, mids,
28473 P.clt2mcode ")" _3)) )
28474 # 28475 "parser_cocci_menhir.ml"
28475 in
28476 _menhir_env.MenhirLib.EngineTypes.stack <- {
28477 MenhirLib.EngineTypes.state = _menhir_s;
28478 MenhirLib.EngineTypes.semv = Obj.repr _v;
28479 MenhirLib.EngineTypes.startp = _startpos;
28480 MenhirLib.EngineTypes.endp = _endpos;
28481 MenhirLib.EngineTypes.next = _menhir_stack;
28482 });
28483 (fun _menhir_env ->
28484 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28485 let {
28486 MenhirLib.EngineTypes.state = _menhir_s;
28487 MenhirLib.EngineTypes.semv = _1;
28488 MenhirLib.EngineTypes.startp = _startpos__1_;
28489 MenhirLib.EngineTypes.endp = _endpos__1_;
28490 MenhirLib.EngineTypes.next = _menhir_stack;
28491 } = _menhir_stack in
28492 let _1 : 'tv_dot_expressions = Obj.magic _1 in
28493 let _startpos = _startpos__1_ in
28494 let _endpos = _endpos__1_ in
28495 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
28496 # 1445 "parser_cocci_menhir.mly"
28497 ( _1 )
28498 # 28499 "parser_cocci_menhir.ml"
28499 in
28500 _menhir_env.MenhirLib.EngineTypes.stack <- {
28501 MenhirLib.EngineTypes.state = _menhir_s;
28502 MenhirLib.EngineTypes.semv = Obj.repr _v;
28503 MenhirLib.EngineTypes.startp = _startpos;
28504 MenhirLib.EngineTypes.endp = _endpos;
28505 MenhirLib.EngineTypes.next = _menhir_stack;
28506 });
28507 (fun _menhir_env ->
28508 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28509 let {
28510 MenhirLib.EngineTypes.state = _menhir_s;
28511 MenhirLib.EngineTypes.semv = _1;
28512 MenhirLib.EngineTypes.startp = _startpos__1_;
28513 MenhirLib.EngineTypes.endp = _endpos__1_;
28514 MenhirLib.EngineTypes.next = _menhir_stack;
28515 } = _menhir_stack in
28516 let _1 : 'tv_func_ident = Obj.magic _1 in
28517 let _startpos = _startpos__1_ in
28518 let _endpos = _endpos__1_ in
28519 let _v : 'tv_primary_expr_eexpr_invalid_ =
28520 # 1405 "parser_cocci_menhir.mly"
28521 ( Ast0.wrap(Ast0.Ident(_1)) )
28522 # 28523 "parser_cocci_menhir.ml"
28523 in
28524 _menhir_env.MenhirLib.EngineTypes.stack <- {
28525 MenhirLib.EngineTypes.state = _menhir_s;
28526 MenhirLib.EngineTypes.semv = Obj.repr _v;
28527 MenhirLib.EngineTypes.startp = _startpos;
28528 MenhirLib.EngineTypes.endp = _endpos;
28529 MenhirLib.EngineTypes.next = _menhir_stack;
28530 });
28531 (fun _menhir_env ->
28532 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28533 let {
28534 MenhirLib.EngineTypes.state = _menhir_s;
28535 MenhirLib.EngineTypes.semv = _1;
28536 MenhirLib.EngineTypes.startp = _startpos__1_;
28537 MenhirLib.EngineTypes.endp = _endpos__1_;
28538 MenhirLib.EngineTypes.next = _menhir_stack;
28539 } = _menhir_stack in
28540 let _1 : (
28541 # 90 "parser_cocci_menhir.mly"
28542 (string * Data.clt)
28543 # 28544 "parser_cocci_menhir.ml"
28544 ) = Obj.magic _1 in
28545 let _startpos = _startpos__1_ in
28546 let _endpos = _endpos__1_ in
28547 let _v : 'tv_primary_expr_eexpr_invalid_ =
28548 # 1407 "parser_cocci_menhir.mly"
28549 ( let (x,clt) = _1 in
28550 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
28551 # 28552 "parser_cocci_menhir.ml"
28552 in
28553 _menhir_env.MenhirLib.EngineTypes.stack <- {
28554 MenhirLib.EngineTypes.state = _menhir_s;
28555 MenhirLib.EngineTypes.semv = Obj.repr _v;
28556 MenhirLib.EngineTypes.startp = _startpos;
28557 MenhirLib.EngineTypes.endp = _endpos;
28558 MenhirLib.EngineTypes.next = _menhir_stack;
28559 });
28560 (fun _menhir_env ->
28561 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28562 let {
28563 MenhirLib.EngineTypes.state = _menhir_s;
28564 MenhirLib.EngineTypes.semv = _1;
28565 MenhirLib.EngineTypes.startp = _startpos__1_;
28566 MenhirLib.EngineTypes.endp = _endpos__1_;
28567 MenhirLib.EngineTypes.next = _menhir_stack;
28568 } = _menhir_stack in
28569 let _1 : (
28570 # 90 "parser_cocci_menhir.mly"
28571 (string * Data.clt)
28572 # 28573 "parser_cocci_menhir.ml"
28573 ) = Obj.magic _1 in
28574 let _startpos = _startpos__1_ in
28575 let _endpos = _endpos__1_ in
28576 let _v : 'tv_primary_expr_eexpr_invalid_ =
28577 # 1410 "parser_cocci_menhir.mly"
28578 ( let (x,clt) = _1 in
28579 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
28580 # 28581 "parser_cocci_menhir.ml"
28581 in
28582 _menhir_env.MenhirLib.EngineTypes.stack <- {
28583 MenhirLib.EngineTypes.state = _menhir_s;
28584 MenhirLib.EngineTypes.semv = Obj.repr _v;
28585 MenhirLib.EngineTypes.startp = _startpos;
28586 MenhirLib.EngineTypes.endp = _endpos;
28587 MenhirLib.EngineTypes.next = _menhir_stack;
28588 });
28589 (fun _menhir_env ->
28590 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28591 let {
28592 MenhirLib.EngineTypes.state = _menhir_s;
28593 MenhirLib.EngineTypes.semv = _1;
28594 MenhirLib.EngineTypes.startp = _startpos__1_;
28595 MenhirLib.EngineTypes.endp = _endpos__1_;
28596 MenhirLib.EngineTypes.next = _menhir_stack;
28597 } = _menhir_stack in
28598 let _1 : (
28599 # 90 "parser_cocci_menhir.mly"
28600 (string * Data.clt)
28601 # 28602 "parser_cocci_menhir.ml"
28602 ) = Obj.magic _1 in
28603 let _startpos = _startpos__1_ in
28604 let _endpos = _endpos__1_ in
28605 let _v : 'tv_primary_expr_eexpr_invalid_ =
28606 # 1413 "parser_cocci_menhir.mly"
28607 ( let (x,clt) = _1 in
28608 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
28609 # 28610 "parser_cocci_menhir.ml"
28610 in
28611 _menhir_env.MenhirLib.EngineTypes.stack <- {
28612 MenhirLib.EngineTypes.state = _menhir_s;
28613 MenhirLib.EngineTypes.semv = Obj.repr _v;
28614 MenhirLib.EngineTypes.startp = _startpos;
28615 MenhirLib.EngineTypes.endp = _endpos;
28616 MenhirLib.EngineTypes.next = _menhir_stack;
28617 });
28618 (fun _menhir_env ->
28619 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28620 let {
28621 MenhirLib.EngineTypes.state = _menhir_s;
28622 MenhirLib.EngineTypes.semv = _1;
28623 MenhirLib.EngineTypes.startp = _startpos__1_;
28624 MenhirLib.EngineTypes.endp = _endpos__1_;
28625 MenhirLib.EngineTypes.next = _menhir_stack;
28626 } = _menhir_stack in
28627 let _1 : (
28628 # 90 "parser_cocci_menhir.mly"
28629 (string * Data.clt)
28630 # 28631 "parser_cocci_menhir.ml"
28631 ) = Obj.magic _1 in
28632 let _startpos = _startpos__1_ in
28633 let _endpos = _endpos__1_ in
28634 let _v : 'tv_primary_expr_eexpr_invalid_ =
28635 # 1416 "parser_cocci_menhir.mly"
28636 ( let (x,clt) = _1 in
28637 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
28638 # 28639 "parser_cocci_menhir.ml"
28639 in
28640 _menhir_env.MenhirLib.EngineTypes.stack <- {
28641 MenhirLib.EngineTypes.state = _menhir_s;
28642 MenhirLib.EngineTypes.semv = Obj.repr _v;
28643 MenhirLib.EngineTypes.startp = _startpos;
28644 MenhirLib.EngineTypes.endp = _endpos;
28645 MenhirLib.EngineTypes.next = _menhir_stack;
28646 });
28647 (fun _menhir_env ->
28648 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28649 let {
28650 MenhirLib.EngineTypes.state = _menhir_s;
28651 MenhirLib.EngineTypes.semv = _1;
28652 MenhirLib.EngineTypes.startp = _startpos__1_;
28653 MenhirLib.EngineTypes.endp = _endpos__1_;
28654 MenhirLib.EngineTypes.next = _menhir_stack;
28655 } = _menhir_stack in
28656 let _1 : (
28657 # 70 "parser_cocci_menhir.mly"
28658 (Parse_aux.typed_expinfo)
28659 # 28660 "parser_cocci_menhir.ml"
28660 ) = Obj.magic _1 in
28661 let _startpos = _startpos__1_ in
28662 let _endpos = _endpos__1_ in
28663 let _v : 'tv_primary_expr_eexpr_invalid_ =
28664 # 1419 "parser_cocci_menhir.mly"
28665 ( let (nm,constraints,pure,ty,clt) = _1 in
28666 Ast0.wrap
28667 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
28668 # 28669 "parser_cocci_menhir.ml"
28669 in
28670 _menhir_env.MenhirLib.EngineTypes.stack <- {
28671 MenhirLib.EngineTypes.state = _menhir_s;
28672 MenhirLib.EngineTypes.semv = Obj.repr _v;
28673 MenhirLib.EngineTypes.startp = _startpos;
28674 MenhirLib.EngineTypes.endp = _endpos;
28675 MenhirLib.EngineTypes.next = _menhir_stack;
28676 });
28677 (fun _menhir_env ->
28678 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28679 let {
28680 MenhirLib.EngineTypes.state = _menhir_s;
28681 MenhirLib.EngineTypes.semv = _1;
28682 MenhirLib.EngineTypes.startp = _startpos__1_;
28683 MenhirLib.EngineTypes.endp = _endpos__1_;
28684 MenhirLib.EngineTypes.next = _menhir_stack;
28685 } = _menhir_stack in
28686 let _1 : (
28687 # 66 "parser_cocci_menhir.mly"
28688 (Parse_aux.expinfo)
28689 # 28690 "parser_cocci_menhir.ml"
28690 ) = Obj.magic _1 in
28691 let _startpos = _startpos__1_ in
28692 let _endpos = _endpos__1_ in
28693 let _v : 'tv_primary_expr_eexpr_invalid_ =
28694 # 1423 "parser_cocci_menhir.mly"
28695 ( let (nm,constraints,pure,clt) = _1 in
28696 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
28697 # 28698 "parser_cocci_menhir.ml"
28698 in
28699 _menhir_env.MenhirLib.EngineTypes.stack <- {
28700 MenhirLib.EngineTypes.state = _menhir_s;
28701 MenhirLib.EngineTypes.semv = Obj.repr _v;
28702 MenhirLib.EngineTypes.startp = _startpos;
28703 MenhirLib.EngineTypes.endp = _endpos;
28704 MenhirLib.EngineTypes.next = _menhir_stack;
28705 });
28706 (fun _menhir_env ->
28707 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28708 let {
28709 MenhirLib.EngineTypes.state = _menhir_s;
28710 MenhirLib.EngineTypes.semv = _1;
28711 MenhirLib.EngineTypes.startp = _startpos__1_;
28712 MenhirLib.EngineTypes.endp = _endpos__1_;
28713 MenhirLib.EngineTypes.next = _menhir_stack;
28714 } = _menhir_stack in
28715 let _1 : (
28716 # 70 "parser_cocci_menhir.mly"
28717 (Parse_aux.typed_expinfo)
28718 # 28719 "parser_cocci_menhir.ml"
28719 ) = Obj.magic _1 in
28720 let _startpos = _startpos__1_ in
28721 let _endpos = _endpos__1_ in
28722 let _v : 'tv_primary_expr_eexpr_invalid_ =
28723 # 1426 "parser_cocci_menhir.mly"
28724 ( let (nm,constraints,pure,ty,clt) = _1 in
28725 Ast0.wrap
28726 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
28727 # 28728 "parser_cocci_menhir.ml"
28728 in
28729 _menhir_env.MenhirLib.EngineTypes.stack <- {
28730 MenhirLib.EngineTypes.state = _menhir_s;
28731 MenhirLib.EngineTypes.semv = Obj.repr _v;
28732 MenhirLib.EngineTypes.startp = _startpos;
28733 MenhirLib.EngineTypes.endp = _endpos;
28734 MenhirLib.EngineTypes.next = _menhir_stack;
28735 });
28736 (fun _menhir_env ->
28737 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28738 let {
28739 MenhirLib.EngineTypes.state = _menhir_s;
28740 MenhirLib.EngineTypes.semv = _1;
28741 MenhirLib.EngineTypes.startp = _startpos__1_;
28742 MenhirLib.EngineTypes.endp = _endpos__1_;
28743 MenhirLib.EngineTypes.next = _menhir_stack;
28744 } = _menhir_stack in
28745 let _1 : (
28746 # 70 "parser_cocci_menhir.mly"
28747 (Parse_aux.typed_expinfo)
28748 # 28749 "parser_cocci_menhir.ml"
28749 ) = Obj.magic _1 in
28750 let _startpos = _startpos__1_ in
28751 let _endpos = _endpos__1_ in
28752 let _v : 'tv_primary_expr_eexpr_invalid_ =
28753 # 1430 "parser_cocci_menhir.mly"
28754 ( let (nm,constraints,pure,ty,clt) = _1 in
28755 Ast0.wrap
28756 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
28757 # 28758 "parser_cocci_menhir.ml"
28758 in
28759 _menhir_env.MenhirLib.EngineTypes.stack <- {
28760 MenhirLib.EngineTypes.state = _menhir_s;
28761 MenhirLib.EngineTypes.semv = Obj.repr _v;
28762 MenhirLib.EngineTypes.startp = _startpos;
28763 MenhirLib.EngineTypes.endp = _endpos;
28764 MenhirLib.EngineTypes.next = _menhir_stack;
28765 });
28766 (fun _menhir_env ->
28767 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28768 let {
28769 MenhirLib.EngineTypes.state = _menhir_s;
28770 MenhirLib.EngineTypes.semv = _1;
28771 MenhirLib.EngineTypes.startp = _startpos__1_;
28772 MenhirLib.EngineTypes.endp = _endpos__1_;
28773 MenhirLib.EngineTypes.next = _menhir_stack;
28774 } = _menhir_stack in
28775 let _1 : (
28776 # 70 "parser_cocci_menhir.mly"
28777 (Parse_aux.typed_expinfo)
28778 # 28779 "parser_cocci_menhir.ml"
28779 ) = Obj.magic _1 in
28780 let _startpos = _startpos__1_ in
28781 let _endpos = _endpos__1_ in
28782 let _v : 'tv_primary_expr_eexpr_invalid_ =
28783 # 1434 "parser_cocci_menhir.mly"
28784 ( let (nm,constraints,pure,ty,clt) = _1 in
28785 Ast0.wrap
28786 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
28787 # 28788 "parser_cocci_menhir.ml"
28788 in
28789 _menhir_env.MenhirLib.EngineTypes.stack <- {
28790 MenhirLib.EngineTypes.state = _menhir_s;
28791 MenhirLib.EngineTypes.semv = Obj.repr _v;
28792 MenhirLib.EngineTypes.startp = _startpos;
28793 MenhirLib.EngineTypes.endp = _endpos;
28794 MenhirLib.EngineTypes.next = _menhir_stack;
28795 });
28796 (fun _menhir_env ->
28797 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28798 let {
28799 MenhirLib.EngineTypes.semv = _3;
28800 MenhirLib.EngineTypes.startp = _startpos__3_;
28801 MenhirLib.EngineTypes.endp = _endpos__3_;
28802 MenhirLib.EngineTypes.next = {
28803 MenhirLib.EngineTypes.semv = _2;
28804 MenhirLib.EngineTypes.startp = _startpos__2_;
28805 MenhirLib.EngineTypes.endp = _endpos__2_;
28806 MenhirLib.EngineTypes.next = {
28807 MenhirLib.EngineTypes.state = _menhir_s;
28808 MenhirLib.EngineTypes.semv = _1;
28809 MenhirLib.EngineTypes.startp = _startpos__1_;
28810 MenhirLib.EngineTypes.endp = _endpos__1_;
28811 MenhirLib.EngineTypes.next = _menhir_stack;
28812 };
28813 };
28814 } = _menhir_stack in
28815 let _3 : (
28816 # 80 "parser_cocci_menhir.mly"
28817 (Data.clt)
28818 # 28819 "parser_cocci_menhir.ml"
28819 ) = Obj.magic _3 in
28820 let _2 : 'tv_eexpr = Obj.magic _2 in
28821 let _1 : (
28822 # 79 "parser_cocci_menhir.mly"
28823 (Data.clt)
28824 # 28825 "parser_cocci_menhir.ml"
28825 ) = Obj.magic _1 in
28826 let _startpos = _startpos__1_ in
28827 let _endpos = _endpos__3_ in
28828 let _v : 'tv_primary_expr_eexpr_invalid_ =
28829 # 1438 "parser_cocci_menhir.mly"
28830 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
28831 P.clt2mcode ")" _3)) )
28832 # 28833 "parser_cocci_menhir.ml"
28833 in
28834 _menhir_env.MenhirLib.EngineTypes.stack <- {
28835 MenhirLib.EngineTypes.state = _menhir_s;
28836 MenhirLib.EngineTypes.semv = Obj.repr _v;
28837 MenhirLib.EngineTypes.startp = _startpos;
28838 MenhirLib.EngineTypes.endp = _endpos;
28839 MenhirLib.EngineTypes.next = _menhir_stack;
28840 });
28841 (fun _menhir_env ->
28842 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28843 let {
28844 MenhirLib.EngineTypes.semv = _3;
28845 MenhirLib.EngineTypes.startp = _startpos__3_;
28846 MenhirLib.EngineTypes.endp = _endpos__3_;
28847 MenhirLib.EngineTypes.next = {
28848 MenhirLib.EngineTypes.semv = _2;
28849 MenhirLib.EngineTypes.startp = _startpos__2_;
28850 MenhirLib.EngineTypes.endp = _endpos__2_;
28851 MenhirLib.EngineTypes.next = {
28852 MenhirLib.EngineTypes.state = _menhir_s;
28853 MenhirLib.EngineTypes.semv = _1;
28854 MenhirLib.EngineTypes.startp = _startpos__1_;
28855 MenhirLib.EngineTypes.endp = _endpos__1_;
28856 MenhirLib.EngineTypes.next = _menhir_stack;
28857 };
28858 };
28859 } = _menhir_stack in
28860 let _3 : (
28861 # 80 "parser_cocci_menhir.mly"
28862 (Data.clt)
28863 # 28864 "parser_cocci_menhir.ml"
28864 ) = Obj.magic _3 in
28865 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
28866 let _1 : (
28867 # 79 "parser_cocci_menhir.mly"
28868 (Data.clt)
28869 # 28870 "parser_cocci_menhir.ml"
28870 ) = Obj.magic _1 in
28871 let _startpos = _startpos__1_ in
28872 let _endpos = _endpos__3_ in
28873 let _v : 'tv_primary_expr_eexpr_invalid_ =
28874 # 1441 "parser_cocci_menhir.mly"
28875 ( let (mids,code) = _2 in
28876 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
28877 code, mids,
28878 P.clt2mcode ")" _3)) )
28879 # 28880 "parser_cocci_menhir.ml"
28880 in
28881 _menhir_env.MenhirLib.EngineTypes.stack <- {
28882 MenhirLib.EngineTypes.state = _menhir_s;
28883 MenhirLib.EngineTypes.semv = Obj.repr _v;
28884 MenhirLib.EngineTypes.startp = _startpos;
28885 MenhirLib.EngineTypes.endp = _endpos;
28886 MenhirLib.EngineTypes.next = _menhir_stack;
28887 });
28888 (fun _menhir_env ->
28889 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28890 let {
28891 MenhirLib.EngineTypes.state = _menhir_s;
28892 MenhirLib.EngineTypes.semv = _1;
28893 MenhirLib.EngineTypes.startp = _startpos__1_;
28894 MenhirLib.EngineTypes.endp = _endpos__1_;
28895 MenhirLib.EngineTypes.next = _menhir_stack;
28896 } = _menhir_stack in
28897 let _1 : 'tv_invalid = Obj.magic _1 in
28898 let _startpos = _startpos__1_ in
28899 let _endpos = _endpos__1_ in
28900 let _v : 'tv_primary_expr_eexpr_invalid_ =
28901 # 1445 "parser_cocci_menhir.mly"
28902 ( _1 )
28903 # 28904 "parser_cocci_menhir.ml"
28904 in
28905 _menhir_env.MenhirLib.EngineTypes.stack <- {
28906 MenhirLib.EngineTypes.state = _menhir_s;
28907 MenhirLib.EngineTypes.semv = Obj.repr _v;
28908 MenhirLib.EngineTypes.startp = _startpos;
28909 MenhirLib.EngineTypes.endp = _endpos;
28910 MenhirLib.EngineTypes.next = _menhir_stack;
28911 });
28912 (fun _menhir_env ->
28913 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28914 let {
28915 MenhirLib.EngineTypes.state = _menhir_s;
28916 MenhirLib.EngineTypes.semv = _1;
28917 MenhirLib.EngineTypes.startp = _startpos__1_;
28918 MenhirLib.EngineTypes.endp = _endpos__1_;
28919 MenhirLib.EngineTypes.next = _menhir_stack;
28920 } = _menhir_stack in
28921 let _1 : 'tv_func_ident = Obj.magic _1 in
28922 let _startpos = _startpos__1_ in
28923 let _endpos = _endpos__1_ in
28924 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
28925 # 1405 "parser_cocci_menhir.mly"
28926 ( Ast0.wrap(Ast0.Ident(_1)) )
28927 # 28928 "parser_cocci_menhir.ml"
28928 in
28929 _menhir_env.MenhirLib.EngineTypes.stack <- {
28930 MenhirLib.EngineTypes.state = _menhir_s;
28931 MenhirLib.EngineTypes.semv = Obj.repr _v;
28932 MenhirLib.EngineTypes.startp = _startpos;
28933 MenhirLib.EngineTypes.endp = _endpos;
28934 MenhirLib.EngineTypes.next = _menhir_stack;
28935 });
28936 (fun _menhir_env ->
28937 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28938 let {
28939 MenhirLib.EngineTypes.state = _menhir_s;
28940 MenhirLib.EngineTypes.semv = _1;
28941 MenhirLib.EngineTypes.startp = _startpos__1_;
28942 MenhirLib.EngineTypes.endp = _endpos__1_;
28943 MenhirLib.EngineTypes.next = _menhir_stack;
28944 } = _menhir_stack in
28945 let _1 : (
28946 # 90 "parser_cocci_menhir.mly"
28947 (string * Data.clt)
28948 # 28949 "parser_cocci_menhir.ml"
28949 ) = Obj.magic _1 in
28950 let _startpos = _startpos__1_ in
28951 let _endpos = _endpos__1_ in
28952 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
28953 # 1407 "parser_cocci_menhir.mly"
28954 ( let (x,clt) = _1 in
28955 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
28956 # 28957 "parser_cocci_menhir.ml"
28957 in
28958 _menhir_env.MenhirLib.EngineTypes.stack <- {
28959 MenhirLib.EngineTypes.state = _menhir_s;
28960 MenhirLib.EngineTypes.semv = Obj.repr _v;
28961 MenhirLib.EngineTypes.startp = _startpos;
28962 MenhirLib.EngineTypes.endp = _endpos;
28963 MenhirLib.EngineTypes.next = _menhir_stack;
28964 });
28965 (fun _menhir_env ->
28966 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28967 let {
28968 MenhirLib.EngineTypes.state = _menhir_s;
28969 MenhirLib.EngineTypes.semv = _1;
28970 MenhirLib.EngineTypes.startp = _startpos__1_;
28971 MenhirLib.EngineTypes.endp = _endpos__1_;
28972 MenhirLib.EngineTypes.next = _menhir_stack;
28973 } = _menhir_stack in
28974 let _1 : (
28975 # 90 "parser_cocci_menhir.mly"
28976 (string * Data.clt)
28977 # 28978 "parser_cocci_menhir.ml"
28978 ) = Obj.magic _1 in
28979 let _startpos = _startpos__1_ in
28980 let _endpos = _endpos__1_ in
28981 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
28982 # 1410 "parser_cocci_menhir.mly"
28983 ( let (x,clt) = _1 in
28984 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
28985 # 28986 "parser_cocci_menhir.ml"
28986 in
28987 _menhir_env.MenhirLib.EngineTypes.stack <- {
28988 MenhirLib.EngineTypes.state = _menhir_s;
28989 MenhirLib.EngineTypes.semv = Obj.repr _v;
28990 MenhirLib.EngineTypes.startp = _startpos;
28991 MenhirLib.EngineTypes.endp = _endpos;
28992 MenhirLib.EngineTypes.next = _menhir_stack;
28993 });
28994 (fun _menhir_env ->
28995 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28996 let {
28997 MenhirLib.EngineTypes.state = _menhir_s;
28998 MenhirLib.EngineTypes.semv = _1;
28999 MenhirLib.EngineTypes.startp = _startpos__1_;
29000 MenhirLib.EngineTypes.endp = _endpos__1_;
29001 MenhirLib.EngineTypes.next = _menhir_stack;
29002 } = _menhir_stack in
29003 let _1 : (
29004 # 90 "parser_cocci_menhir.mly"
29005 (string * Data.clt)
29006 # 29007 "parser_cocci_menhir.ml"
29007 ) = Obj.magic _1 in
29008 let _startpos = _startpos__1_ in
29009 let _endpos = _endpos__1_ in
29010 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
29011 # 1413 "parser_cocci_menhir.mly"
29012 ( let (x,clt) = _1 in
29013 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
29014 # 29015 "parser_cocci_menhir.ml"
29015 in
29016 _menhir_env.MenhirLib.EngineTypes.stack <- {
29017 MenhirLib.EngineTypes.state = _menhir_s;
29018 MenhirLib.EngineTypes.semv = Obj.repr _v;
29019 MenhirLib.EngineTypes.startp = _startpos;
29020 MenhirLib.EngineTypes.endp = _endpos;
29021 MenhirLib.EngineTypes.next = _menhir_stack;
29022 });
29023 (fun _menhir_env ->
29024 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29025 let {
29026 MenhirLib.EngineTypes.state = _menhir_s;
29027 MenhirLib.EngineTypes.semv = _1;
29028 MenhirLib.EngineTypes.startp = _startpos__1_;
29029 MenhirLib.EngineTypes.endp = _endpos__1_;
29030 MenhirLib.EngineTypes.next = _menhir_stack;
29031 } = _menhir_stack in
29032 let _1 : (
29033 # 90 "parser_cocci_menhir.mly"
29034 (string * Data.clt)
29035 # 29036 "parser_cocci_menhir.ml"
29036 ) = Obj.magic _1 in
29037 let _startpos = _startpos__1_ in
29038 let _endpos = _endpos__1_ in
29039 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
29040 # 1416 "parser_cocci_menhir.mly"
29041 ( let (x,clt) = _1 in
29042 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
29043 # 29044 "parser_cocci_menhir.ml"
29044 in
29045 _menhir_env.MenhirLib.EngineTypes.stack <- {
29046 MenhirLib.EngineTypes.state = _menhir_s;
29047 MenhirLib.EngineTypes.semv = Obj.repr _v;
29048 MenhirLib.EngineTypes.startp = _startpos;
29049 MenhirLib.EngineTypes.endp = _endpos;
29050 MenhirLib.EngineTypes.next = _menhir_stack;
29051 });
29052 (fun _menhir_env ->
29053 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29054 let {
29055 MenhirLib.EngineTypes.state = _menhir_s;
29056 MenhirLib.EngineTypes.semv = _1;
29057 MenhirLib.EngineTypes.startp = _startpos__1_;
29058 MenhirLib.EngineTypes.endp = _endpos__1_;
29059 MenhirLib.EngineTypes.next = _menhir_stack;
29060 } = _menhir_stack in
29061 let _1 : (
29062 # 70 "parser_cocci_menhir.mly"
29063 (Parse_aux.typed_expinfo)
29064 # 29065 "parser_cocci_menhir.ml"
29065 ) = Obj.magic _1 in
29066 let _startpos = _startpos__1_ in
29067 let _endpos = _endpos__1_ in
29068 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
29069 # 1419 "parser_cocci_menhir.mly"
29070 ( let (nm,constraints,pure,ty,clt) = _1 in
29071 Ast0.wrap
29072 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
29073 # 29074 "parser_cocci_menhir.ml"
29074 in
29075 _menhir_env.MenhirLib.EngineTypes.stack <- {
29076 MenhirLib.EngineTypes.state = _menhir_s;
29077 MenhirLib.EngineTypes.semv = Obj.repr _v;
29078 MenhirLib.EngineTypes.startp = _startpos;
29079 MenhirLib.EngineTypes.endp = _endpos;
29080 MenhirLib.EngineTypes.next = _menhir_stack;
29081 });
29082 (fun _menhir_env ->
29083 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29084 let {
29085 MenhirLib.EngineTypes.state = _menhir_s;
29086 MenhirLib.EngineTypes.semv = _1;
29087 MenhirLib.EngineTypes.startp = _startpos__1_;
29088 MenhirLib.EngineTypes.endp = _endpos__1_;
29089 MenhirLib.EngineTypes.next = _menhir_stack;
29090 } = _menhir_stack in
29091 let _1 : (
29092 # 66 "parser_cocci_menhir.mly"
29093 (Parse_aux.expinfo)
29094 # 29095 "parser_cocci_menhir.ml"
29095 ) = Obj.magic _1 in
29096 let _startpos = _startpos__1_ in
29097 let _endpos = _endpos__1_ in
29098 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
29099 # 1423 "parser_cocci_menhir.mly"
29100 ( let (nm,constraints,pure,clt) = _1 in
29101 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
29102 # 29103 "parser_cocci_menhir.ml"
29103 in
29104 _menhir_env.MenhirLib.EngineTypes.stack <- {
29105 MenhirLib.EngineTypes.state = _menhir_s;
29106 MenhirLib.EngineTypes.semv = Obj.repr _v;
29107 MenhirLib.EngineTypes.startp = _startpos;
29108 MenhirLib.EngineTypes.endp = _endpos;
29109 MenhirLib.EngineTypes.next = _menhir_stack;
29110 });
29111 (fun _menhir_env ->
29112 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29113 let {
29114 MenhirLib.EngineTypes.state = _menhir_s;
29115 MenhirLib.EngineTypes.semv = _1;
29116 MenhirLib.EngineTypes.startp = _startpos__1_;
29117 MenhirLib.EngineTypes.endp = _endpos__1_;
29118 MenhirLib.EngineTypes.next = _menhir_stack;
29119 } = _menhir_stack in
29120 let _1 : (
29121 # 70 "parser_cocci_menhir.mly"
29122 (Parse_aux.typed_expinfo)
29123 # 29124 "parser_cocci_menhir.ml"
29124 ) = Obj.magic _1 in
29125 let _startpos = _startpos__1_ in
29126 let _endpos = _endpos__1_ in
29127 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
29128 # 1426 "parser_cocci_menhir.mly"
29129 ( let (nm,constraints,pure,ty,clt) = _1 in
29130 Ast0.wrap
29131 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
29132 # 29133 "parser_cocci_menhir.ml"
29133 in
29134 _menhir_env.MenhirLib.EngineTypes.stack <- {
29135 MenhirLib.EngineTypes.state = _menhir_s;
29136 MenhirLib.EngineTypes.semv = Obj.repr _v;
29137 MenhirLib.EngineTypes.startp = _startpos;
29138 MenhirLib.EngineTypes.endp = _endpos;
29139 MenhirLib.EngineTypes.next = _menhir_stack;
29140 });
29141 (fun _menhir_env ->
29142 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29143 let {
29144 MenhirLib.EngineTypes.state = _menhir_s;
29145 MenhirLib.EngineTypes.semv = _1;
29146 MenhirLib.EngineTypes.startp = _startpos__1_;
29147 MenhirLib.EngineTypes.endp = _endpos__1_;
29148 MenhirLib.EngineTypes.next = _menhir_stack;
29149 } = _menhir_stack in
29150 let _1 : (
29151 # 70 "parser_cocci_menhir.mly"
29152 (Parse_aux.typed_expinfo)
29153 # 29154 "parser_cocci_menhir.ml"
29154 ) = Obj.magic _1 in
29155 let _startpos = _startpos__1_ in
29156 let _endpos = _endpos__1_ in
29157 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
29158 # 1430 "parser_cocci_menhir.mly"
29159 ( let (nm,constraints,pure,ty,clt) = _1 in
29160 Ast0.wrap
29161 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
29162 # 29163 "parser_cocci_menhir.ml"
29163 in
29164 _menhir_env.MenhirLib.EngineTypes.stack <- {
29165 MenhirLib.EngineTypes.state = _menhir_s;
29166 MenhirLib.EngineTypes.semv = Obj.repr _v;
29167 MenhirLib.EngineTypes.startp = _startpos;
29168 MenhirLib.EngineTypes.endp = _endpos;
29169 MenhirLib.EngineTypes.next = _menhir_stack;
29170 });
29171 (fun _menhir_env ->
29172 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29173 let {
29174 MenhirLib.EngineTypes.state = _menhir_s;
29175 MenhirLib.EngineTypes.semv = _1;
29176 MenhirLib.EngineTypes.startp = _startpos__1_;
29177 MenhirLib.EngineTypes.endp = _endpos__1_;
29178 MenhirLib.EngineTypes.next = _menhir_stack;
29179 } = _menhir_stack in
29180 let _1 : (
29181 # 70 "parser_cocci_menhir.mly"
29182 (Parse_aux.typed_expinfo)
29183 # 29184 "parser_cocci_menhir.ml"
29184 ) = Obj.magic _1 in
29185 let _startpos = _startpos__1_ in
29186 let _endpos = _endpos__1_ in
29187 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
29188 # 1434 "parser_cocci_menhir.mly"
29189 ( let (nm,constraints,pure,ty,clt) = _1 in
29190 Ast0.wrap
29191 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
29192 # 29193 "parser_cocci_menhir.ml"
29193 in
29194 _menhir_env.MenhirLib.EngineTypes.stack <- {
29195 MenhirLib.EngineTypes.state = _menhir_s;
29196 MenhirLib.EngineTypes.semv = Obj.repr _v;
29197 MenhirLib.EngineTypes.startp = _startpos;
29198 MenhirLib.EngineTypes.endp = _endpos;
29199 MenhirLib.EngineTypes.next = _menhir_stack;
29200 });
29201 (fun _menhir_env ->
29202 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29203 let {
29204 MenhirLib.EngineTypes.semv = _3;
29205 MenhirLib.EngineTypes.startp = _startpos__3_;
29206 MenhirLib.EngineTypes.endp = _endpos__3_;
29207 MenhirLib.EngineTypes.next = {
29208 MenhirLib.EngineTypes.semv = _2;
29209 MenhirLib.EngineTypes.startp = _startpos__2_;
29210 MenhirLib.EngineTypes.endp = _endpos__2_;
29211 MenhirLib.EngineTypes.next = {
29212 MenhirLib.EngineTypes.state = _menhir_s;
29213 MenhirLib.EngineTypes.semv = _1;
29214 MenhirLib.EngineTypes.startp = _startpos__1_;
29215 MenhirLib.EngineTypes.endp = _endpos__1_;
29216 MenhirLib.EngineTypes.next = _menhir_stack;
29217 };
29218 };
29219 } = _menhir_stack in
29220 let _3 : (
29221 # 80 "parser_cocci_menhir.mly"
29222 (Data.clt)
29223 # 29224 "parser_cocci_menhir.ml"
29224 ) = Obj.magic _3 in
29225 let _2 : 'tv_eexpr = Obj.magic _2 in
29226 let _1 : (
29227 # 79 "parser_cocci_menhir.mly"
29228 (Data.clt)
29229 # 29230 "parser_cocci_menhir.ml"
29230 ) = Obj.magic _1 in
29231 let _startpos = _startpos__1_ in
29232 let _endpos = _endpos__3_ in
29233 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
29234 # 1438 "parser_cocci_menhir.mly"
29235 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
29236 P.clt2mcode ")" _3)) )
29237 # 29238 "parser_cocci_menhir.ml"
29238 in
29239 _menhir_env.MenhirLib.EngineTypes.stack <- {
29240 MenhirLib.EngineTypes.state = _menhir_s;
29241 MenhirLib.EngineTypes.semv = Obj.repr _v;
29242 MenhirLib.EngineTypes.startp = _startpos;
29243 MenhirLib.EngineTypes.endp = _endpos;
29244 MenhirLib.EngineTypes.next = _menhir_stack;
29245 });
29246 (fun _menhir_env ->
29247 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29248 let {
29249 MenhirLib.EngineTypes.semv = _3;
29250 MenhirLib.EngineTypes.startp = _startpos__3_;
29251 MenhirLib.EngineTypes.endp = _endpos__3_;
29252 MenhirLib.EngineTypes.next = {
29253 MenhirLib.EngineTypes.semv = _2;
29254 MenhirLib.EngineTypes.startp = _startpos__2_;
29255 MenhirLib.EngineTypes.endp = _endpos__2_;
29256 MenhirLib.EngineTypes.next = {
29257 MenhirLib.EngineTypes.state = _menhir_s;
29258 MenhirLib.EngineTypes.semv = _1;
29259 MenhirLib.EngineTypes.startp = _startpos__1_;
29260 MenhirLib.EngineTypes.endp = _endpos__1_;
29261 MenhirLib.EngineTypes.next = _menhir_stack;
29262 };
29263 };
29264 } = _menhir_stack in
29265 let _3 : (
29266 # 80 "parser_cocci_menhir.mly"
29267 (Data.clt)
29268 # 29269 "parser_cocci_menhir.ml"
29269 ) = Obj.magic _3 in
29270 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
29271 let _1 : (
29272 # 79 "parser_cocci_menhir.mly"
29273 (Data.clt)
29274 # 29275 "parser_cocci_menhir.ml"
29275 ) = Obj.magic _1 in
29276 let _startpos = _startpos__1_ in
29277 let _endpos = _endpos__3_ in
29278 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
29279 # 1441 "parser_cocci_menhir.mly"
29280 ( let (mids,code) = _2 in
29281 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
29282 code, mids,
29283 P.clt2mcode ")" _3)) )
29284 # 29285 "parser_cocci_menhir.ml"
29285 in
29286 _menhir_env.MenhirLib.EngineTypes.stack <- {
29287 MenhirLib.EngineTypes.state = _menhir_s;
29288 MenhirLib.EngineTypes.semv = Obj.repr _v;
29289 MenhirLib.EngineTypes.startp = _startpos;
29290 MenhirLib.EngineTypes.endp = _endpos;
29291 MenhirLib.EngineTypes.next = _menhir_stack;
29292 });
29293 (fun _menhir_env ->
29294 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29295 let {
29296 MenhirLib.EngineTypes.state = _menhir_s;
29297 MenhirLib.EngineTypes.semv = _1;
29298 MenhirLib.EngineTypes.startp = _startpos__1_;
29299 MenhirLib.EngineTypes.endp = _endpos__1_;
29300 MenhirLib.EngineTypes.next = _menhir_stack;
29301 } = _menhir_stack in
29302 let _1 : 'tv_nest_expressions = Obj.magic _1 in
29303 let _startpos = _startpos__1_ in
29304 let _endpos = _endpos__1_ in
29305 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
29306 # 1445 "parser_cocci_menhir.mly"
29307 ( _1 )
29308 # 29309 "parser_cocci_menhir.ml"
29309 in
29310 _menhir_env.MenhirLib.EngineTypes.stack <- {
29311 MenhirLib.EngineTypes.state = _menhir_s;
29312 MenhirLib.EngineTypes.semv = Obj.repr _v;
29313 MenhirLib.EngineTypes.startp = _startpos;
29314 MenhirLib.EngineTypes.endp = _endpos;
29315 MenhirLib.EngineTypes.next = _menhir_stack;
29316 });
29317 (fun _menhir_env ->
29318 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29319 let {
29320 MenhirLib.EngineTypes.state = _menhir_s;
29321 MenhirLib.EngineTypes.semv = _1;
29322 MenhirLib.EngineTypes.startp = _startpos__1_;
29323 MenhirLib.EngineTypes.endp = _endpos__1_;
29324 MenhirLib.EngineTypes.next = _menhir_stack;
29325 } = _menhir_stack in
29326 let _1 : 'tv_func_ident = Obj.magic _1 in
29327 let _startpos = _startpos__1_ in
29328 let _endpos = _endpos__1_ in
29329 let _v : 'tv_primary_expr_expr_invalid_ =
29330 # 1405 "parser_cocci_menhir.mly"
29331 ( Ast0.wrap(Ast0.Ident(_1)) )
29332 # 29333 "parser_cocci_menhir.ml"
29333 in
29334 _menhir_env.MenhirLib.EngineTypes.stack <- {
29335 MenhirLib.EngineTypes.state = _menhir_s;
29336 MenhirLib.EngineTypes.semv = Obj.repr _v;
29337 MenhirLib.EngineTypes.startp = _startpos;
29338 MenhirLib.EngineTypes.endp = _endpos;
29339 MenhirLib.EngineTypes.next = _menhir_stack;
29340 });
29341 (fun _menhir_env ->
29342 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29343 let {
29344 MenhirLib.EngineTypes.state = _menhir_s;
29345 MenhirLib.EngineTypes.semv = _1;
29346 MenhirLib.EngineTypes.startp = _startpos__1_;
29347 MenhirLib.EngineTypes.endp = _endpos__1_;
29348 MenhirLib.EngineTypes.next = _menhir_stack;
29349 } = _menhir_stack in
29350 let _1 : (
29351 # 90 "parser_cocci_menhir.mly"
29352 (string * Data.clt)
29353 # 29354 "parser_cocci_menhir.ml"
29354 ) = Obj.magic _1 in
29355 let _startpos = _startpos__1_ in
29356 let _endpos = _endpos__1_ in
29357 let _v : 'tv_primary_expr_expr_invalid_ =
29358 # 1407 "parser_cocci_menhir.mly"
29359 ( let (x,clt) = _1 in
29360 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
29361 # 29362 "parser_cocci_menhir.ml"
29362 in
29363 _menhir_env.MenhirLib.EngineTypes.stack <- {
29364 MenhirLib.EngineTypes.state = _menhir_s;
29365 MenhirLib.EngineTypes.semv = Obj.repr _v;
29366 MenhirLib.EngineTypes.startp = _startpos;
29367 MenhirLib.EngineTypes.endp = _endpos;
29368 MenhirLib.EngineTypes.next = _menhir_stack;
29369 });
29370 (fun _menhir_env ->
29371 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29372 let {
29373 MenhirLib.EngineTypes.state = _menhir_s;
29374 MenhirLib.EngineTypes.semv = _1;
29375 MenhirLib.EngineTypes.startp = _startpos__1_;
29376 MenhirLib.EngineTypes.endp = _endpos__1_;
29377 MenhirLib.EngineTypes.next = _menhir_stack;
29378 } = _menhir_stack in
29379 let _1 : (
29380 # 90 "parser_cocci_menhir.mly"
29381 (string * Data.clt)
29382 # 29383 "parser_cocci_menhir.ml"
29383 ) = Obj.magic _1 in
29384 let _startpos = _startpos__1_ in
29385 let _endpos = _endpos__1_ in
29386 let _v : 'tv_primary_expr_expr_invalid_ =
29387 # 1410 "parser_cocci_menhir.mly"
29388 ( let (x,clt) = _1 in
29389 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
29390 # 29391 "parser_cocci_menhir.ml"
29391 in
29392 _menhir_env.MenhirLib.EngineTypes.stack <- {
29393 MenhirLib.EngineTypes.state = _menhir_s;
29394 MenhirLib.EngineTypes.semv = Obj.repr _v;
29395 MenhirLib.EngineTypes.startp = _startpos;
29396 MenhirLib.EngineTypes.endp = _endpos;
29397 MenhirLib.EngineTypes.next = _menhir_stack;
29398 });
29399 (fun _menhir_env ->
29400 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29401 let {
29402 MenhirLib.EngineTypes.state = _menhir_s;
29403 MenhirLib.EngineTypes.semv = _1;
29404 MenhirLib.EngineTypes.startp = _startpos__1_;
29405 MenhirLib.EngineTypes.endp = _endpos__1_;
29406 MenhirLib.EngineTypes.next = _menhir_stack;
29407 } = _menhir_stack in
29408 let _1 : (
29409 # 90 "parser_cocci_menhir.mly"
29410 (string * Data.clt)
29411 # 29412 "parser_cocci_menhir.ml"
29412 ) = Obj.magic _1 in
29413 let _startpos = _startpos__1_ in
29414 let _endpos = _endpos__1_ in
29415 let _v : 'tv_primary_expr_expr_invalid_ =
29416 # 1413 "parser_cocci_menhir.mly"
29417 ( let (x,clt) = _1 in
29418 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
29419 # 29420 "parser_cocci_menhir.ml"
29420 in
29421 _menhir_env.MenhirLib.EngineTypes.stack <- {
29422 MenhirLib.EngineTypes.state = _menhir_s;
29423 MenhirLib.EngineTypes.semv = Obj.repr _v;
29424 MenhirLib.EngineTypes.startp = _startpos;
29425 MenhirLib.EngineTypes.endp = _endpos;
29426 MenhirLib.EngineTypes.next = _menhir_stack;
29427 });
29428 (fun _menhir_env ->
29429 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29430 let {
29431 MenhirLib.EngineTypes.state = _menhir_s;
29432 MenhirLib.EngineTypes.semv = _1;
29433 MenhirLib.EngineTypes.startp = _startpos__1_;
29434 MenhirLib.EngineTypes.endp = _endpos__1_;
29435 MenhirLib.EngineTypes.next = _menhir_stack;
29436 } = _menhir_stack in
29437 let _1 : (
29438 # 90 "parser_cocci_menhir.mly"
29439 (string * Data.clt)
29440 # 29441 "parser_cocci_menhir.ml"
29441 ) = Obj.magic _1 in
29442 let _startpos = _startpos__1_ in
29443 let _endpos = _endpos__1_ in
29444 let _v : 'tv_primary_expr_expr_invalid_ =
29445 # 1416 "parser_cocci_menhir.mly"
29446 ( let (x,clt) = _1 in
29447 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
29448 # 29449 "parser_cocci_menhir.ml"
29449 in
29450 _menhir_env.MenhirLib.EngineTypes.stack <- {
29451 MenhirLib.EngineTypes.state = _menhir_s;
29452 MenhirLib.EngineTypes.semv = Obj.repr _v;
29453 MenhirLib.EngineTypes.startp = _startpos;
29454 MenhirLib.EngineTypes.endp = _endpos;
29455 MenhirLib.EngineTypes.next = _menhir_stack;
29456 });
29457 (fun _menhir_env ->
29458 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29459 let {
29460 MenhirLib.EngineTypes.state = _menhir_s;
29461 MenhirLib.EngineTypes.semv = _1;
29462 MenhirLib.EngineTypes.startp = _startpos__1_;
29463 MenhirLib.EngineTypes.endp = _endpos__1_;
29464 MenhirLib.EngineTypes.next = _menhir_stack;
29465 } = _menhir_stack in
29466 let _1 : (
29467 # 70 "parser_cocci_menhir.mly"
29468 (Parse_aux.typed_expinfo)
29469 # 29470 "parser_cocci_menhir.ml"
29470 ) = Obj.magic _1 in
29471 let _startpos = _startpos__1_ in
29472 let _endpos = _endpos__1_ in
29473 let _v : 'tv_primary_expr_expr_invalid_ =
29474 # 1419 "parser_cocci_menhir.mly"
29475 ( let (nm,constraints,pure,ty,clt) = _1 in
29476 Ast0.wrap
29477 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
29478 # 29479 "parser_cocci_menhir.ml"
29479 in
29480 _menhir_env.MenhirLib.EngineTypes.stack <- {
29481 MenhirLib.EngineTypes.state = _menhir_s;
29482 MenhirLib.EngineTypes.semv = Obj.repr _v;
29483 MenhirLib.EngineTypes.startp = _startpos;
29484 MenhirLib.EngineTypes.endp = _endpos;
29485 MenhirLib.EngineTypes.next = _menhir_stack;
29486 });
29487 (fun _menhir_env ->
29488 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29489 let {
29490 MenhirLib.EngineTypes.state = _menhir_s;
29491 MenhirLib.EngineTypes.semv = _1;
29492 MenhirLib.EngineTypes.startp = _startpos__1_;
29493 MenhirLib.EngineTypes.endp = _endpos__1_;
29494 MenhirLib.EngineTypes.next = _menhir_stack;
29495 } = _menhir_stack in
29496 let _1 : (
29497 # 66 "parser_cocci_menhir.mly"
29498 (Parse_aux.expinfo)
29499 # 29500 "parser_cocci_menhir.ml"
29500 ) = Obj.magic _1 in
29501 let _startpos = _startpos__1_ in
29502 let _endpos = _endpos__1_ in
29503 let _v : 'tv_primary_expr_expr_invalid_ =
29504 # 1423 "parser_cocci_menhir.mly"
29505 ( let (nm,constraints,pure,clt) = _1 in
29506 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
29507 # 29508 "parser_cocci_menhir.ml"
29508 in
29509 _menhir_env.MenhirLib.EngineTypes.stack <- {
29510 MenhirLib.EngineTypes.state = _menhir_s;
29511 MenhirLib.EngineTypes.semv = Obj.repr _v;
29512 MenhirLib.EngineTypes.startp = _startpos;
29513 MenhirLib.EngineTypes.endp = _endpos;
29514 MenhirLib.EngineTypes.next = _menhir_stack;
29515 });
29516 (fun _menhir_env ->
29517 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29518 let {
29519 MenhirLib.EngineTypes.state = _menhir_s;
29520 MenhirLib.EngineTypes.semv = _1;
29521 MenhirLib.EngineTypes.startp = _startpos__1_;
29522 MenhirLib.EngineTypes.endp = _endpos__1_;
29523 MenhirLib.EngineTypes.next = _menhir_stack;
29524 } = _menhir_stack in
29525 let _1 : (
29526 # 70 "parser_cocci_menhir.mly"
29527 (Parse_aux.typed_expinfo)
29528 # 29529 "parser_cocci_menhir.ml"
29529 ) = Obj.magic _1 in
29530 let _startpos = _startpos__1_ in
29531 let _endpos = _endpos__1_ in
29532 let _v : 'tv_primary_expr_expr_invalid_ =
29533 # 1426 "parser_cocci_menhir.mly"
29534 ( let (nm,constraints,pure,ty,clt) = _1 in
29535 Ast0.wrap
29536 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
29537 # 29538 "parser_cocci_menhir.ml"
29538 in
29539 _menhir_env.MenhirLib.EngineTypes.stack <- {
29540 MenhirLib.EngineTypes.state = _menhir_s;
29541 MenhirLib.EngineTypes.semv = Obj.repr _v;
29542 MenhirLib.EngineTypes.startp = _startpos;
29543 MenhirLib.EngineTypes.endp = _endpos;
29544 MenhirLib.EngineTypes.next = _menhir_stack;
29545 });
29546 (fun _menhir_env ->
29547 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29548 let {
29549 MenhirLib.EngineTypes.state = _menhir_s;
29550 MenhirLib.EngineTypes.semv = _1;
29551 MenhirLib.EngineTypes.startp = _startpos__1_;
29552 MenhirLib.EngineTypes.endp = _endpos__1_;
29553 MenhirLib.EngineTypes.next = _menhir_stack;
29554 } = _menhir_stack in
29555 let _1 : (
29556 # 70 "parser_cocci_menhir.mly"
29557 (Parse_aux.typed_expinfo)
29558 # 29559 "parser_cocci_menhir.ml"
29559 ) = Obj.magic _1 in
29560 let _startpos = _startpos__1_ in
29561 let _endpos = _endpos__1_ in
29562 let _v : 'tv_primary_expr_expr_invalid_ =
29563 # 1430 "parser_cocci_menhir.mly"
29564 ( let (nm,constraints,pure,ty,clt) = _1 in
29565 Ast0.wrap
29566 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
29567 # 29568 "parser_cocci_menhir.ml"
29568 in
29569 _menhir_env.MenhirLib.EngineTypes.stack <- {
29570 MenhirLib.EngineTypes.state = _menhir_s;
29571 MenhirLib.EngineTypes.semv = Obj.repr _v;
29572 MenhirLib.EngineTypes.startp = _startpos;
29573 MenhirLib.EngineTypes.endp = _endpos;
29574 MenhirLib.EngineTypes.next = _menhir_stack;
29575 });
29576 (fun _menhir_env ->
29577 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29578 let {
29579 MenhirLib.EngineTypes.state = _menhir_s;
29580 MenhirLib.EngineTypes.semv = _1;
29581 MenhirLib.EngineTypes.startp = _startpos__1_;
29582 MenhirLib.EngineTypes.endp = _endpos__1_;
29583 MenhirLib.EngineTypes.next = _menhir_stack;
29584 } = _menhir_stack in
29585 let _1 : (
29586 # 70 "parser_cocci_menhir.mly"
29587 (Parse_aux.typed_expinfo)
29588 # 29589 "parser_cocci_menhir.ml"
29589 ) = Obj.magic _1 in
29590 let _startpos = _startpos__1_ in
29591 let _endpos = _endpos__1_ in
29592 let _v : 'tv_primary_expr_expr_invalid_ =
29593 # 1434 "parser_cocci_menhir.mly"
29594 ( let (nm,constraints,pure,ty,clt) = _1 in
29595 Ast0.wrap
29596 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
29597 # 29598 "parser_cocci_menhir.ml"
29598 in
29599 _menhir_env.MenhirLib.EngineTypes.stack <- {
29600 MenhirLib.EngineTypes.state = _menhir_s;
29601 MenhirLib.EngineTypes.semv = Obj.repr _v;
29602 MenhirLib.EngineTypes.startp = _startpos;
29603 MenhirLib.EngineTypes.endp = _endpos;
29604 MenhirLib.EngineTypes.next = _menhir_stack;
29605 });
29606 (fun _menhir_env ->
29607 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29608 let {
29609 MenhirLib.EngineTypes.semv = _3;
29610 MenhirLib.EngineTypes.startp = _startpos__3_;
29611 MenhirLib.EngineTypes.endp = _endpos__3_;
29612 MenhirLib.EngineTypes.next = {
29613 MenhirLib.EngineTypes.semv = _2;
29614 MenhirLib.EngineTypes.startp = _startpos__2_;
29615 MenhirLib.EngineTypes.endp = _endpos__2_;
29616 MenhirLib.EngineTypes.next = {
29617 MenhirLib.EngineTypes.state = _menhir_s;
29618 MenhirLib.EngineTypes.semv = _1;
29619 MenhirLib.EngineTypes.startp = _startpos__1_;
29620 MenhirLib.EngineTypes.endp = _endpos__1_;
29621 MenhirLib.EngineTypes.next = _menhir_stack;
29622 };
29623 };
29624 } = _menhir_stack in
29625 let _3 : (
29626 # 80 "parser_cocci_menhir.mly"
29627 (Data.clt)
29628 # 29629 "parser_cocci_menhir.ml"
29629 ) = Obj.magic _3 in
29630 let _2 : 'tv_eexpr = Obj.magic _2 in
29631 let _1 : (
29632 # 79 "parser_cocci_menhir.mly"
29633 (Data.clt)
29634 # 29635 "parser_cocci_menhir.ml"
29635 ) = Obj.magic _1 in
29636 let _startpos = _startpos__1_ in
29637 let _endpos = _endpos__3_ in
29638 let _v : 'tv_primary_expr_expr_invalid_ =
29639 # 1438 "parser_cocci_menhir.mly"
29640 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
29641 P.clt2mcode ")" _3)) )
29642 # 29643 "parser_cocci_menhir.ml"
29643 in
29644 _menhir_env.MenhirLib.EngineTypes.stack <- {
29645 MenhirLib.EngineTypes.state = _menhir_s;
29646 MenhirLib.EngineTypes.semv = Obj.repr _v;
29647 MenhirLib.EngineTypes.startp = _startpos;
29648 MenhirLib.EngineTypes.endp = _endpos;
29649 MenhirLib.EngineTypes.next = _menhir_stack;
29650 });
29651 (fun _menhir_env ->
29652 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29653 let {
29654 MenhirLib.EngineTypes.semv = _3;
29655 MenhirLib.EngineTypes.startp = _startpos__3_;
29656 MenhirLib.EngineTypes.endp = _endpos__3_;
29657 MenhirLib.EngineTypes.next = {
29658 MenhirLib.EngineTypes.semv = _2;
29659 MenhirLib.EngineTypes.startp = _startpos__2_;
29660 MenhirLib.EngineTypes.endp = _endpos__2_;
29661 MenhirLib.EngineTypes.next = {
29662 MenhirLib.EngineTypes.state = _menhir_s;
29663 MenhirLib.EngineTypes.semv = _1;
29664 MenhirLib.EngineTypes.startp = _startpos__1_;
29665 MenhirLib.EngineTypes.endp = _endpos__1_;
29666 MenhirLib.EngineTypes.next = _menhir_stack;
29667 };
29668 };
29669 } = _menhir_stack in
29670 let _3 : (
29671 # 80 "parser_cocci_menhir.mly"
29672 (Data.clt)
29673 # 29674 "parser_cocci_menhir.ml"
29674 ) = Obj.magic _3 in
29675 let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in
29676 let _1 : (
29677 # 79 "parser_cocci_menhir.mly"
29678 (Data.clt)
29679 # 29680 "parser_cocci_menhir.ml"
29680 ) = Obj.magic _1 in
29681 let _startpos = _startpos__1_ in
29682 let _endpos = _endpos__3_ in
29683 let _v : 'tv_primary_expr_expr_invalid_ =
29684 # 1441 "parser_cocci_menhir.mly"
29685 ( let (mids,code) = _2 in
29686 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
29687 code, mids,
29688 P.clt2mcode ")" _3)) )
29689 # 29690 "parser_cocci_menhir.ml"
29690 in
29691 _menhir_env.MenhirLib.EngineTypes.stack <- {
29692 MenhirLib.EngineTypes.state = _menhir_s;
29693 MenhirLib.EngineTypes.semv = Obj.repr _v;
29694 MenhirLib.EngineTypes.startp = _startpos;
29695 MenhirLib.EngineTypes.endp = _endpos;
29696 MenhirLib.EngineTypes.next = _menhir_stack;
29697 });
29698 (fun _menhir_env ->
29699 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29700 let {
29701 MenhirLib.EngineTypes.state = _menhir_s;
29702 MenhirLib.EngineTypes.semv = _1;
29703 MenhirLib.EngineTypes.startp = _startpos__1_;
29704 MenhirLib.EngineTypes.endp = _endpos__1_;
29705 MenhirLib.EngineTypes.next = _menhir_stack;
29706 } = _menhir_stack in
29707 let _1 : 'tv_invalid = Obj.magic _1 in
29708 let _startpos = _startpos__1_ in
29709 let _endpos = _endpos__1_ in
29710 let _v : 'tv_primary_expr_expr_invalid_ =
29711 # 1445 "parser_cocci_menhir.mly"
29712 ( _1 )
29713 # 29714 "parser_cocci_menhir.ml"
29714 in
29715 _menhir_env.MenhirLib.EngineTypes.stack <- {
29716 MenhirLib.EngineTypes.state = _menhir_s;
29717 MenhirLib.EngineTypes.semv = Obj.repr _v;
29718 MenhirLib.EngineTypes.startp = _startpos;
29719 MenhirLib.EngineTypes.endp = _endpos;
29720 MenhirLib.EngineTypes.next = _menhir_stack;
29721 });
29722 (fun _menhir_env ->
29723 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29724 let {
29725 MenhirLib.EngineTypes.state = _menhir_s;
29726 MenhirLib.EngineTypes.startp = _startpos__1_;
29727 MenhirLib.EngineTypes.endp = _endpos__1_;
29728 MenhirLib.EngineTypes.next = _menhir_stack;
29729 } = _menhir_stack in
29730 let _startpos = _startpos__1_ in
29731 let _endpos = _endpos__1_ in
29732 let _v : 'tv_pure =
29733 # 195 "parser_cocci_menhir.mly"
29734 ( Ast0.Pure )
29735 # 29736 "parser_cocci_menhir.ml"
29736 in
29737 _menhir_env.MenhirLib.EngineTypes.stack <- {
29738 MenhirLib.EngineTypes.state = _menhir_s;
29739 MenhirLib.EngineTypes.semv = Obj.repr _v;
29740 MenhirLib.EngineTypes.startp = _startpos;
29741 MenhirLib.EngineTypes.endp = _endpos;
29742 MenhirLib.EngineTypes.next = _menhir_stack;
29743 });
29744 (fun _menhir_env ->
29745 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29746 let {
29747 MenhirLib.EngineTypes.state = _menhir_s;
29748 MenhirLib.EngineTypes.startp = _startpos__1_;
29749 MenhirLib.EngineTypes.endp = _endpos__1_;
29750 MenhirLib.EngineTypes.next = _menhir_stack;
29751 } = _menhir_stack in
29752 let _startpos = _startpos__1_ in
29753 let _endpos = _endpos__1_ in
29754 let _v : 'tv_pure =
29755 # 196 "parser_cocci_menhir.mly"
29756 ( Ast0.Context )
29757 # 29758 "parser_cocci_menhir.ml"
29758 in
29759 _menhir_env.MenhirLib.EngineTypes.stack <- {
29760 MenhirLib.EngineTypes.state = _menhir_s;
29761 MenhirLib.EngineTypes.semv = Obj.repr _v;
29762 MenhirLib.EngineTypes.startp = _startpos;
29763 MenhirLib.EngineTypes.endp = _endpos;
29764 MenhirLib.EngineTypes.next = _menhir_stack;
29765 });
29766 (fun _menhir_env ->
29767 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29768 let {
29769 MenhirLib.EngineTypes.startp = _startpos__2_;
29770 MenhirLib.EngineTypes.endp = _endpos__2_;
29771 MenhirLib.EngineTypes.next = {
29772 MenhirLib.EngineTypes.state = _menhir_s;
29773 MenhirLib.EngineTypes.startp = _startpos__1_;
29774 MenhirLib.EngineTypes.endp = _endpos__1_;
29775 MenhirLib.EngineTypes.next = _menhir_stack;
29776 };
29777 } = _menhir_stack in
29778 let _startpos = _startpos__1_ in
29779 let _endpos = _endpos__2_ in
29780 let _v : 'tv_pure =
29781 # 197 "parser_cocci_menhir.mly"
29782 ( Ast0.PureContext )
29783 # 29784 "parser_cocci_menhir.ml"
29784 in
29785 _menhir_env.MenhirLib.EngineTypes.stack <- {
29786 MenhirLib.EngineTypes.state = _menhir_s;
29787 MenhirLib.EngineTypes.semv = Obj.repr _v;
29788 MenhirLib.EngineTypes.startp = _startpos;
29789 MenhirLib.EngineTypes.endp = _endpos;
29790 MenhirLib.EngineTypes.next = _menhir_stack;
29791 });
29792 (fun _menhir_env ->
29793 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29794 let {
29795 MenhirLib.EngineTypes.startp = _startpos__2_;
29796 MenhirLib.EngineTypes.endp = _endpos__2_;
29797 MenhirLib.EngineTypes.next = {
29798 MenhirLib.EngineTypes.state = _menhir_s;
29799 MenhirLib.EngineTypes.startp = _startpos__1_;
29800 MenhirLib.EngineTypes.endp = _endpos__1_;
29801 MenhirLib.EngineTypes.next = _menhir_stack;
29802 };
29803 } = _menhir_stack in
29804 let _startpos = _startpos__1_ in
29805 let _endpos = _endpos__2_ in
29806 let _v : 'tv_pure =
29807 # 198 "parser_cocci_menhir.mly"
29808 ( Ast0.PureContext )
29809 # 29810 "parser_cocci_menhir.ml"
29810 in
29811 _menhir_env.MenhirLib.EngineTypes.stack <- {
29812 MenhirLib.EngineTypes.state = _menhir_s;
29813 MenhirLib.EngineTypes.semv = Obj.repr _v;
29814 MenhirLib.EngineTypes.startp = _startpos;
29815 MenhirLib.EngineTypes.endp = _endpos;
29816 MenhirLib.EngineTypes.next = _menhir_stack;
29817 });
29818 (fun _menhir_env ->
29819 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29820 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
29821 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
29822 let _endpos = _startpos in
29823 let _v : 'tv_pure =
29824 # 199 "parser_cocci_menhir.mly"
29825 ( Ast0.Impure )
29826 # 29827 "parser_cocci_menhir.ml"
29827 in
29828 _menhir_env.MenhirLib.EngineTypes.stack <- {
29829 MenhirLib.EngineTypes.state = _menhir_s;
29830 MenhirLib.EngineTypes.semv = Obj.repr _v;
29831 MenhirLib.EngineTypes.startp = _startpos;
29832 MenhirLib.EngineTypes.endp = _endpos;
29833 MenhirLib.EngineTypes.next = _menhir_stack;
29834 });
29835 (fun _menhir_env ->
29836 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29837 let {
29838 MenhirLib.EngineTypes.state = _menhir_s;
29839 MenhirLib.EngineTypes.semv = _1;
29840 MenhirLib.EngineTypes.startp = _startpos__1_;
29841 MenhirLib.EngineTypes.endp = _endpos__1_;
29842 MenhirLib.EngineTypes.next = _menhir_stack;
29843 } = _menhir_stack in
29844 let _1 : (
29845 # 61 "parser_cocci_menhir.mly"
29846 (string * Data.clt)
29847 # 29848 "parser_cocci_menhir.ml"
29848 ) = Obj.magic _1 in
29849 let _startpos = _startpos__1_ in
29850 let _endpos = _endpos__1_ in
29851 let _v : 'tv_pure_ident =
29852 # 1459 "parser_cocci_menhir.mly"
29853 ( _1 )
29854 # 29855 "parser_cocci_menhir.ml"
29855 in
29856 _menhir_env.MenhirLib.EngineTypes.stack <- {
29857 MenhirLib.EngineTypes.state = _menhir_s;
29858 MenhirLib.EngineTypes.semv = Obj.repr _v;
29859 MenhirLib.EngineTypes.startp = _startpos;
29860 MenhirLib.EngineTypes.endp = _endpos;
29861 MenhirLib.EngineTypes.next = _menhir_stack;
29862 });
29863 (fun _menhir_env ->
29864 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29865 let {
29866 MenhirLib.EngineTypes.state = _menhir_s;
29867 MenhirLib.EngineTypes.startp = _startpos__1_;
29868 MenhirLib.EngineTypes.endp = _endpos__1_;
29869 MenhirLib.EngineTypes.next = _menhir_stack;
29870 } = _menhir_stack in
29871 let _startpos = _startpos__1_ in
29872 let _endpos = _endpos__1_ in
29873 let _v : 'tv_pure_ident_kwd =
29874 # 1462 "parser_cocci_menhir.mly"
29875 ( "identifier" )
29876 # 29877 "parser_cocci_menhir.ml"
29877 in
29878 _menhir_env.MenhirLib.EngineTypes.stack <- {
29879 MenhirLib.EngineTypes.state = _menhir_s;
29880 MenhirLib.EngineTypes.semv = Obj.repr _v;
29881 MenhirLib.EngineTypes.startp = _startpos;
29882 MenhirLib.EngineTypes.endp = _endpos;
29883 MenhirLib.EngineTypes.next = _menhir_stack;
29884 });
29885 (fun _menhir_env ->
29886 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29887 let {
29888 MenhirLib.EngineTypes.state = _menhir_s;
29889 MenhirLib.EngineTypes.startp = _startpos__1_;
29890 MenhirLib.EngineTypes.endp = _endpos__1_;
29891 MenhirLib.EngineTypes.next = _menhir_stack;
29892 } = _menhir_stack in
29893 let _startpos = _startpos__1_ in
29894 let _endpos = _endpos__1_ in
29895 let _v : 'tv_pure_ident_kwd =
29896 # 1463 "parser_cocci_menhir.mly"
29897 ( "expression" )
29898 # 29899 "parser_cocci_menhir.ml"
29899 in
29900 _menhir_env.MenhirLib.EngineTypes.stack <- {
29901 MenhirLib.EngineTypes.state = _menhir_s;
29902 MenhirLib.EngineTypes.semv = Obj.repr _v;
29903 MenhirLib.EngineTypes.startp = _startpos;
29904 MenhirLib.EngineTypes.endp = _endpos;
29905 MenhirLib.EngineTypes.next = _menhir_stack;
29906 });
29907 (fun _menhir_env ->
29908 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29909 let {
29910 MenhirLib.EngineTypes.state = _menhir_s;
29911 MenhirLib.EngineTypes.startp = _startpos__1_;
29912 MenhirLib.EngineTypes.endp = _endpos__1_;
29913 MenhirLib.EngineTypes.next = _menhir_stack;
29914 } = _menhir_stack in
29915 let _startpos = _startpos__1_ in
29916 let _endpos = _endpos__1_ in
29917 let _v : 'tv_pure_ident_kwd =
29918 # 1464 "parser_cocci_menhir.mly"
29919 ( "statement" )
29920 # 29921 "parser_cocci_menhir.ml"
29921 in
29922 _menhir_env.MenhirLib.EngineTypes.stack <- {
29923 MenhirLib.EngineTypes.state = _menhir_s;
29924 MenhirLib.EngineTypes.semv = Obj.repr _v;
29925 MenhirLib.EngineTypes.startp = _startpos;
29926 MenhirLib.EngineTypes.endp = _endpos;
29927 MenhirLib.EngineTypes.next = _menhir_stack;
29928 });
29929 (fun _menhir_env ->
29930 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29931 let {
29932 MenhirLib.EngineTypes.state = _menhir_s;
29933 MenhirLib.EngineTypes.startp = _startpos__1_;
29934 MenhirLib.EngineTypes.endp = _endpos__1_;
29935 MenhirLib.EngineTypes.next = _menhir_stack;
29936 } = _menhir_stack in
29937 let _startpos = _startpos__1_ in
29938 let _endpos = _endpos__1_ in
29939 let _v : 'tv_pure_ident_kwd =
29940 # 1465 "parser_cocci_menhir.mly"
29941 ( "function" )
29942 # 29943 "parser_cocci_menhir.ml"
29943 in
29944 _menhir_env.MenhirLib.EngineTypes.stack <- {
29945 MenhirLib.EngineTypes.state = _menhir_s;
29946 MenhirLib.EngineTypes.semv = Obj.repr _v;
29947 MenhirLib.EngineTypes.startp = _startpos;
29948 MenhirLib.EngineTypes.endp = _endpos;
29949 MenhirLib.EngineTypes.next = _menhir_stack;
29950 });
29951 (fun _menhir_env ->
29952 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29953 let {
29954 MenhirLib.EngineTypes.state = _menhir_s;
29955 MenhirLib.EngineTypes.startp = _startpos__1_;
29956 MenhirLib.EngineTypes.endp = _endpos__1_;
29957 MenhirLib.EngineTypes.next = _menhir_stack;
29958 } = _menhir_stack in
29959 let _startpos = _startpos__1_ in
29960 let _endpos = _endpos__1_ in
29961 let _v : 'tv_pure_ident_kwd =
29962 # 1466 "parser_cocci_menhir.mly"
29963 ( "local" )
29964 # 29965 "parser_cocci_menhir.ml"
29965 in
29966 _menhir_env.MenhirLib.EngineTypes.stack <- {
29967 MenhirLib.EngineTypes.state = _menhir_s;
29968 MenhirLib.EngineTypes.semv = Obj.repr _v;
29969 MenhirLib.EngineTypes.startp = _startpos;
29970 MenhirLib.EngineTypes.endp = _endpos;
29971 MenhirLib.EngineTypes.next = _menhir_stack;
29972 });
29973 (fun _menhir_env ->
29974 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29975 let {
29976 MenhirLib.EngineTypes.state = _menhir_s;
29977 MenhirLib.EngineTypes.startp = _startpos__1_;
29978 MenhirLib.EngineTypes.endp = _endpos__1_;
29979 MenhirLib.EngineTypes.next = _menhir_stack;
29980 } = _menhir_stack in
29981 let _startpos = _startpos__1_ in
29982 let _endpos = _endpos__1_ in
29983 let _v : 'tv_pure_ident_kwd =
29984 # 1467 "parser_cocci_menhir.mly"
29985 ( "type" )
29986 # 29987 "parser_cocci_menhir.ml"
29987 in
29988 _menhir_env.MenhirLib.EngineTypes.stack <- {
29989 MenhirLib.EngineTypes.state = _menhir_s;
29990 MenhirLib.EngineTypes.semv = Obj.repr _v;
29991 MenhirLib.EngineTypes.startp = _startpos;
29992 MenhirLib.EngineTypes.endp = _endpos;
29993 MenhirLib.EngineTypes.next = _menhir_stack;
29994 });
29995 (fun _menhir_env ->
29996 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29997 let {
29998 MenhirLib.EngineTypes.state = _menhir_s;
29999 MenhirLib.EngineTypes.startp = _startpos__1_;
30000 MenhirLib.EngineTypes.endp = _endpos__1_;
30001 MenhirLib.EngineTypes.next = _menhir_stack;
30002 } = _menhir_stack in
30003 let _startpos = _startpos__1_ in
30004 let _endpos = _endpos__1_ in
30005 let _v : 'tv_pure_ident_kwd =
30006 # 1468 "parser_cocci_menhir.mly"
30007 ( "parameter" )
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.startp = _startpos__1_;
30022 MenhirLib.EngineTypes.endp = _endpos__1_;
30023 MenhirLib.EngineTypes.next = _menhir_stack;
30024 } = _menhir_stack in
30025 let _startpos = _startpos__1_ in
30026 let _endpos = _endpos__1_ in
30027 let _v : 'tv_pure_ident_kwd =
30028 # 1469 "parser_cocci_menhir.mly"
30029 ( "idexpression" )
30030 # 30031 "parser_cocci_menhir.ml"
30031 in
30032 _menhir_env.MenhirLib.EngineTypes.stack <- {
30033 MenhirLib.EngineTypes.state = _menhir_s;
30034 MenhirLib.EngineTypes.semv = Obj.repr _v;
30035 MenhirLib.EngineTypes.startp = _startpos;
30036 MenhirLib.EngineTypes.endp = _endpos;
30037 MenhirLib.EngineTypes.next = _menhir_stack;
30038 });
30039 (fun _menhir_env ->
30040 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30041 let {
30042 MenhirLib.EngineTypes.state = _menhir_s;
30043 MenhirLib.EngineTypes.startp = _startpos__1_;
30044 MenhirLib.EngineTypes.endp = _endpos__1_;
30045 MenhirLib.EngineTypes.next = _menhir_stack;
30046 } = _menhir_stack in
30047 let _startpos = _startpos__1_ in
30048 let _endpos = _endpos__1_ in
30049 let _v : 'tv_pure_ident_kwd =
30050 # 1470 "parser_cocci_menhir.mly"
30051 ( "initialiser" )
30052 # 30053 "parser_cocci_menhir.ml"
30053 in
30054 _menhir_env.MenhirLib.EngineTypes.stack <- {
30055 MenhirLib.EngineTypes.state = _menhir_s;
30056 MenhirLib.EngineTypes.semv = Obj.repr _v;
30057 MenhirLib.EngineTypes.startp = _startpos;
30058 MenhirLib.EngineTypes.endp = _endpos;
30059 MenhirLib.EngineTypes.next = _menhir_stack;
30060 });
30061 (fun _menhir_env ->
30062 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30063 let {
30064 MenhirLib.EngineTypes.state = _menhir_s;
30065 MenhirLib.EngineTypes.startp = _startpos__1_;
30066 MenhirLib.EngineTypes.endp = _endpos__1_;
30067 MenhirLib.EngineTypes.next = _menhir_stack;
30068 } = _menhir_stack in
30069 let _startpos = _startpos__1_ in
30070 let _endpos = _endpos__1_ in
30071 let _v : 'tv_pure_ident_kwd =
30072 # 1471 "parser_cocci_menhir.mly"
30073 ( "list" )
30074 # 30075 "parser_cocci_menhir.ml"
30075 in
30076 _menhir_env.MenhirLib.EngineTypes.stack <- {
30077 MenhirLib.EngineTypes.state = _menhir_s;
30078 MenhirLib.EngineTypes.semv = Obj.repr _v;
30079 MenhirLib.EngineTypes.startp = _startpos;
30080 MenhirLib.EngineTypes.endp = _endpos;
30081 MenhirLib.EngineTypes.next = _menhir_stack;
30082 });
30083 (fun _menhir_env ->
30084 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30085 let {
30086 MenhirLib.EngineTypes.state = _menhir_s;
30087 MenhirLib.EngineTypes.startp = _startpos__1_;
30088 MenhirLib.EngineTypes.endp = _endpos__1_;
30089 MenhirLib.EngineTypes.next = _menhir_stack;
30090 } = _menhir_stack in
30091 let _startpos = _startpos__1_ in
30092 let _endpos = _endpos__1_ in
30093 let _v : 'tv_pure_ident_kwd =
30094 # 1472 "parser_cocci_menhir.mly"
30095 ( "fresh" )
30096 # 30097 "parser_cocci_menhir.ml"
30097 in
30098 _menhir_env.MenhirLib.EngineTypes.stack <- {
30099 MenhirLib.EngineTypes.state = _menhir_s;
30100 MenhirLib.EngineTypes.semv = Obj.repr _v;
30101 MenhirLib.EngineTypes.startp = _startpos;
30102 MenhirLib.EngineTypes.endp = _endpos;
30103 MenhirLib.EngineTypes.next = _menhir_stack;
30104 });
30105 (fun _menhir_env ->
30106 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30107 let {
30108 MenhirLib.EngineTypes.state = _menhir_s;
30109 MenhirLib.EngineTypes.startp = _startpos__1_;
30110 MenhirLib.EngineTypes.endp = _endpos__1_;
30111 MenhirLib.EngineTypes.next = _menhir_stack;
30112 } = _menhir_stack in
30113 let _startpos = _startpos__1_ in
30114 let _endpos = _endpos__1_ in
30115 let _v : 'tv_pure_ident_kwd =
30116 # 1473 "parser_cocci_menhir.mly"
30117 ( "constant" )
30118 # 30119 "parser_cocci_menhir.ml"
30119 in
30120 _menhir_env.MenhirLib.EngineTypes.stack <- {
30121 MenhirLib.EngineTypes.state = _menhir_s;
30122 MenhirLib.EngineTypes.semv = Obj.repr _v;
30123 MenhirLib.EngineTypes.startp = _startpos;
30124 MenhirLib.EngineTypes.endp = _endpos;
30125 MenhirLib.EngineTypes.next = _menhir_stack;
30126 });
30127 (fun _menhir_env ->
30128 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30129 let {
30130 MenhirLib.EngineTypes.state = _menhir_s;
30131 MenhirLib.EngineTypes.startp = _startpos__1_;
30132 MenhirLib.EngineTypes.endp = _endpos__1_;
30133 MenhirLib.EngineTypes.next = _menhir_stack;
30134 } = _menhir_stack in
30135 let _startpos = _startpos__1_ in
30136 let _endpos = _endpos__1_ in
30137 let _v : 'tv_pure_ident_kwd =
30138 # 1474 "parser_cocci_menhir.mly"
30139 ( "error" )
30140 # 30141 "parser_cocci_menhir.ml"
30141 in
30142 _menhir_env.MenhirLib.EngineTypes.stack <- {
30143 MenhirLib.EngineTypes.state = _menhir_s;
30144 MenhirLib.EngineTypes.semv = Obj.repr _v;
30145 MenhirLib.EngineTypes.startp = _startpos;
30146 MenhirLib.EngineTypes.endp = _endpos;
30147 MenhirLib.EngineTypes.next = _menhir_stack;
30148 });
30149 (fun _menhir_env ->
30150 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30151 let {
30152 MenhirLib.EngineTypes.state = _menhir_s;
30153 MenhirLib.EngineTypes.startp = _startpos__1_;
30154 MenhirLib.EngineTypes.endp = _endpos__1_;
30155 MenhirLib.EngineTypes.next = _menhir_stack;
30156 } = _menhir_stack in
30157 let _startpos = _startpos__1_ in
30158 let _endpos = _endpos__1_ in
30159 let _v : 'tv_pure_ident_kwd =
30160 # 1475 "parser_cocci_menhir.mly"
30161 ( "words" )
30162 # 30163 "parser_cocci_menhir.ml"
30163 in
30164 _menhir_env.MenhirLib.EngineTypes.stack <- {
30165 MenhirLib.EngineTypes.state = _menhir_s;
30166 MenhirLib.EngineTypes.semv = Obj.repr _v;
30167 MenhirLib.EngineTypes.startp = _startpos;
30168 MenhirLib.EngineTypes.endp = _endpos;
30169 MenhirLib.EngineTypes.next = _menhir_stack;
30170 });
30171 (fun _menhir_env ->
30172 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30173 let {
30174 MenhirLib.EngineTypes.state = _menhir_s;
30175 MenhirLib.EngineTypes.startp = _startpos__1_;
30176 MenhirLib.EngineTypes.endp = _endpos__1_;
30177 MenhirLib.EngineTypes.next = _menhir_stack;
30178 } = _menhir_stack in
30179 let _startpos = _startpos__1_ in
30180 let _endpos = _endpos__1_ in
30181 let _v : 'tv_pure_ident_kwd =
30182 # 1476 "parser_cocci_menhir.mly"
30183 ( "pure" )
30184 # 30185 "parser_cocci_menhir.ml"
30185 in
30186 _menhir_env.MenhirLib.EngineTypes.stack <- {
30187 MenhirLib.EngineTypes.state = _menhir_s;
30188 MenhirLib.EngineTypes.semv = Obj.repr _v;
30189 MenhirLib.EngineTypes.startp = _startpos;
30190 MenhirLib.EngineTypes.endp = _endpos;
30191 MenhirLib.EngineTypes.next = _menhir_stack;
30192 });
30193 (fun _menhir_env ->
30194 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30195 let {
30196 MenhirLib.EngineTypes.state = _menhir_s;
30197 MenhirLib.EngineTypes.startp = _startpos__1_;
30198 MenhirLib.EngineTypes.endp = _endpos__1_;
30199 MenhirLib.EngineTypes.next = _menhir_stack;
30200 } = _menhir_stack in
30201 let _startpos = _startpos__1_ in
30202 let _endpos = _endpos__1_ in
30203 let _v : 'tv_pure_ident_kwd =
30204 # 1477 "parser_cocci_menhir.mly"
30205 ( "context" )
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.state = _menhir_s;
30219 MenhirLib.EngineTypes.startp = _startpos__1_;
30220 MenhirLib.EngineTypes.endp = _endpos__1_;
30221 MenhirLib.EngineTypes.next = _menhir_stack;
30222 } = _menhir_stack in
30223 let _startpos = _startpos__1_ in
30224 let _endpos = _endpos__1_ in
30225 let _v : 'tv_pure_ident_kwd =
30226 # 1478 "parser_cocci_menhir.mly"
30227 ( "generated" )
30228 # 30229 "parser_cocci_menhir.ml"
30229 in
30230 _menhir_env.MenhirLib.EngineTypes.stack <- {
30231 MenhirLib.EngineTypes.state = _menhir_s;
30232 MenhirLib.EngineTypes.semv = Obj.repr _v;
30233 MenhirLib.EngineTypes.startp = _startpos;
30234 MenhirLib.EngineTypes.endp = _endpos;
30235 MenhirLib.EngineTypes.next = _menhir_stack;
30236 });
30237 (fun _menhir_env ->
30238 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30239 let {
30240 MenhirLib.EngineTypes.state = _menhir_s;
30241 MenhirLib.EngineTypes.startp = _startpos__1_;
30242 MenhirLib.EngineTypes.endp = _endpos__1_;
30243 MenhirLib.EngineTypes.next = _menhir_stack;
30244 } = _menhir_stack in
30245 let _startpos = _startpos__1_ in
30246 let _endpos = _endpos__1_ in
30247 let _v : 'tv_pure_ident_kwd =
30248 # 1479 "parser_cocci_menhir.mly"
30249 ( "typedef" )
30250 # 30251 "parser_cocci_menhir.ml"
30251 in
30252 _menhir_env.MenhirLib.EngineTypes.stack <- {
30253 MenhirLib.EngineTypes.state = _menhir_s;
30254 MenhirLib.EngineTypes.semv = Obj.repr _v;
30255 MenhirLib.EngineTypes.startp = _startpos;
30256 MenhirLib.EngineTypes.endp = _endpos;
30257 MenhirLib.EngineTypes.next = _menhir_stack;
30258 });
30259 (fun _menhir_env ->
30260 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30261 let {
30262 MenhirLib.EngineTypes.state = _menhir_s;
30263 MenhirLib.EngineTypes.startp = _startpos__1_;
30264 MenhirLib.EngineTypes.endp = _endpos__1_;
30265 MenhirLib.EngineTypes.next = _menhir_stack;
30266 } = _menhir_stack in
30267 let _startpos = _startpos__1_ in
30268 let _endpos = _endpos__1_ in
30269 let _v : 'tv_pure_ident_kwd =
30270 # 1480 "parser_cocci_menhir.mly"
30271 ( "declarer" )
30272 # 30273 "parser_cocci_menhir.ml"
30273 in
30274 _menhir_env.MenhirLib.EngineTypes.stack <- {
30275 MenhirLib.EngineTypes.state = _menhir_s;
30276 MenhirLib.EngineTypes.semv = Obj.repr _v;
30277 MenhirLib.EngineTypes.startp = _startpos;
30278 MenhirLib.EngineTypes.endp = _endpos;
30279 MenhirLib.EngineTypes.next = _menhir_stack;
30280 });
30281 (fun _menhir_env ->
30282 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30283 let {
30284 MenhirLib.EngineTypes.state = _menhir_s;
30285 MenhirLib.EngineTypes.startp = _startpos__1_;
30286 MenhirLib.EngineTypes.endp = _endpos__1_;
30287 MenhirLib.EngineTypes.next = _menhir_stack;
30288 } = _menhir_stack in
30289 let _startpos = _startpos__1_ in
30290 let _endpos = _endpos__1_ in
30291 let _v : 'tv_pure_ident_kwd =
30292 # 1481 "parser_cocci_menhir.mly"
30293 ( "iterator" )
30294 # 30295 "parser_cocci_menhir.ml"
30295 in
30296 _menhir_env.MenhirLib.EngineTypes.stack <- {
30297 MenhirLib.EngineTypes.state = _menhir_s;
30298 MenhirLib.EngineTypes.semv = Obj.repr _v;
30299 MenhirLib.EngineTypes.startp = _startpos;
30300 MenhirLib.EngineTypes.endp = _endpos;
30301 MenhirLib.EngineTypes.next = _menhir_stack;
30302 });
30303 (fun _menhir_env ->
30304 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30305 let {
30306 MenhirLib.EngineTypes.state = _menhir_s;
30307 MenhirLib.EngineTypes.startp = _startpos__1_;
30308 MenhirLib.EngineTypes.endp = _endpos__1_;
30309 MenhirLib.EngineTypes.next = _menhir_stack;
30310 } = _menhir_stack in
30311 let _startpos = _startpos__1_ in
30312 let _endpos = _endpos__1_ in
30313 let _v : 'tv_pure_ident_kwd =
30314 # 1482 "parser_cocci_menhir.mly"
30315 ( "name" )
30316 # 30317 "parser_cocci_menhir.ml"
30317 in
30318 _menhir_env.MenhirLib.EngineTypes.stack <- {
30319 MenhirLib.EngineTypes.state = _menhir_s;
30320 MenhirLib.EngineTypes.semv = Obj.repr _v;
30321 MenhirLib.EngineTypes.startp = _startpos;
30322 MenhirLib.EngineTypes.endp = _endpos;
30323 MenhirLib.EngineTypes.next = _menhir_stack;
30324 });
30325 (fun _menhir_env ->
30326 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30327 let {
30328 MenhirLib.EngineTypes.state = _menhir_s;
30329 MenhirLib.EngineTypes.startp = _startpos__1_;
30330 MenhirLib.EngineTypes.endp = _endpos__1_;
30331 MenhirLib.EngineTypes.next = _menhir_stack;
30332 } = _menhir_stack in
30333 let _startpos = _startpos__1_ in
30334 let _endpos = _endpos__1_ in
30335 let _v : 'tv_pure_ident_kwd =
30336 # 1483 "parser_cocci_menhir.mly"
30337 ( "position" )
30338 # 30339 "parser_cocci_menhir.ml"
30339 in
30340 _menhir_env.MenhirLib.EngineTypes.stack <- {
30341 MenhirLib.EngineTypes.state = _menhir_s;
30342 MenhirLib.EngineTypes.semv = Obj.repr _v;
30343 MenhirLib.EngineTypes.startp = _startpos;
30344 MenhirLib.EngineTypes.endp = _endpos;
30345 MenhirLib.EngineTypes.next = _menhir_stack;
30346 });
30347 (fun _menhir_env ->
30348 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30349 let {
30350 MenhirLib.EngineTypes.state = _menhir_s;
30351 MenhirLib.EngineTypes.semv = _1;
30352 MenhirLib.EngineTypes.startp = _startpos__1_;
30353 MenhirLib.EngineTypes.endp = _endpos__1_;
30354 MenhirLib.EngineTypes.next = _menhir_stack;
30355 } = _menhir_stack in
30356 let _1 : 'tv_pure_ident = Obj.magic _1 in
30357 let _startpos = _startpos__1_ in
30358 let _endpos = _endpos__1_ in
30359 let _v : 'tv_pure_ident_or_meta_ident =
30360 # 1490 "parser_cocci_menhir.mly"
30361 ( (None,P.id2name _1) )
30362 # 30363 "parser_cocci_menhir.ml"
30363 in
30364 _menhir_env.MenhirLib.EngineTypes.stack <- {
30365 MenhirLib.EngineTypes.state = _menhir_s;
30366 MenhirLib.EngineTypes.semv = Obj.repr _v;
30367 MenhirLib.EngineTypes.startp = _startpos;
30368 MenhirLib.EngineTypes.endp = _endpos;
30369 MenhirLib.EngineTypes.next = _menhir_stack;
30370 });
30371 (fun _menhir_env ->
30372 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30373 let {
30374 MenhirLib.EngineTypes.state = _menhir_s;
30375 MenhirLib.EngineTypes.semv = _1;
30376 MenhirLib.EngineTypes.startp = _startpos__1_;
30377 MenhirLib.EngineTypes.endp = _endpos__1_;
30378 MenhirLib.EngineTypes.next = _menhir_stack;
30379 } = _menhir_stack in
30380 let _1 : 'tv_pure_ident_kwd = Obj.magic _1 in
30381 let _startpos = _startpos__1_ in
30382 let _endpos = _endpos__1_ in
30383 let _v : 'tv_pure_ident_or_meta_ident =
30384 # 1491 "parser_cocci_menhir.mly"
30385 ( (None,_1) )
30386 # 30387 "parser_cocci_menhir.ml"
30387 in
30388 _menhir_env.MenhirLib.EngineTypes.stack <- {
30389 MenhirLib.EngineTypes.state = _menhir_s;
30390 MenhirLib.EngineTypes.semv = Obj.repr _v;
30391 MenhirLib.EngineTypes.startp = _startpos;
30392 MenhirLib.EngineTypes.endp = _endpos;
30393 MenhirLib.EngineTypes.next = _menhir_stack;
30394 });
30395 (fun _menhir_env ->
30396 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30397 let {
30398 MenhirLib.EngineTypes.state = _menhir_s;
30399 MenhirLib.EngineTypes.semv = _1;
30400 MenhirLib.EngineTypes.startp = _startpos__1_;
30401 MenhirLib.EngineTypes.endp = _endpos__1_;
30402 MenhirLib.EngineTypes.next = _menhir_stack;
30403 } = _menhir_stack in
30404 let _1 : 'tv_meta_ident = Obj.magic _1 in
30405 let _startpos = _startpos__1_ in
30406 let _endpos = _endpos__1_ in
30407 let _v : 'tv_pure_ident_or_meta_ident =
30408 # 1492 "parser_cocci_menhir.mly"
30409 ( _1 )
30410 # 30411 "parser_cocci_menhir.ml"
30411 in
30412 _menhir_env.MenhirLib.EngineTypes.stack <- {
30413 MenhirLib.EngineTypes.state = _menhir_s;
30414 MenhirLib.EngineTypes.semv = Obj.repr _v;
30415 MenhirLib.EngineTypes.startp = _startpos;
30416 MenhirLib.EngineTypes.endp = _endpos;
30417 MenhirLib.EngineTypes.next = _menhir_stack;
30418 });
30419 (fun _menhir_env ->
30420 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30421 let {
30422 MenhirLib.EngineTypes.semv = optc;
30423 MenhirLib.EngineTypes.startp = _startpos_optc_;
30424 MenhirLib.EngineTypes.endp = _endpos_optc_;
30425 MenhirLib.EngineTypes.next = {
30426 MenhirLib.EngineTypes.state = _menhir_s;
30427 MenhirLib.EngineTypes.semv = i;
30428 MenhirLib.EngineTypes.startp = _startpos_i_;
30429 MenhirLib.EngineTypes.endp = _endpos_i_;
30430 MenhirLib.EngineTypes.next = _menhir_stack;
30431 };
30432 } = _menhir_stack in
30433 let optc : 'tv_option_not_ceq_or_sub_ = Obj.magic optc in
30434 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
30435 let _startpos = _startpos_i_ in
30436 let _endpos = _endpos_optc_ in
30437 let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ =
30438 # 1518 "parser_cocci_menhir.mly"
30439 (
30440 match optc with
30441 None -> (i, Ast0.NoConstraint)
30442 | Some c -> (i, c)
30443 )
30444 # 30445 "parser_cocci_menhir.ml"
30445 in
30446 _menhir_env.MenhirLib.EngineTypes.stack <- {
30447 MenhirLib.EngineTypes.state = _menhir_s;
30448 MenhirLib.EngineTypes.semv = Obj.repr _v;
30449 MenhirLib.EngineTypes.startp = _startpos;
30450 MenhirLib.EngineTypes.endp = _endpos;
30451 MenhirLib.EngineTypes.next = _menhir_stack;
30452 });
30453 (fun _menhir_env ->
30454 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30455 let {
30456 MenhirLib.EngineTypes.semv = optc;
30457 MenhirLib.EngineTypes.startp = _startpos_optc_;
30458 MenhirLib.EngineTypes.endp = _endpos_optc_;
30459 MenhirLib.EngineTypes.next = {
30460 MenhirLib.EngineTypes.state = _menhir_s;
30461 MenhirLib.EngineTypes.semv = i;
30462 MenhirLib.EngineTypes.startp = _startpos_i_;
30463 MenhirLib.EngineTypes.endp = _endpos_i_;
30464 MenhirLib.EngineTypes.next = _menhir_stack;
30465 };
30466 } = _menhir_stack in
30467 let optc : 'tv_option_re_or_not_eqe_or_sub_ = Obj.magic optc in
30468 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
30469 let _startpos = _startpos_i_ in
30470 let _endpos = _endpos_optc_ in
30471 let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ =
30472 # 1518 "parser_cocci_menhir.mly"
30473 (
30474 match optc with
30475 None -> (i, Ast0.NoConstraint)
30476 | Some c -> (i, c)
30477 )
30478 # 30479 "parser_cocci_menhir.ml"
30479 in
30480 _menhir_env.MenhirLib.EngineTypes.stack <- {
30481 MenhirLib.EngineTypes.state = _menhir_s;
30482 MenhirLib.EngineTypes.semv = Obj.repr _v;
30483 MenhirLib.EngineTypes.startp = _startpos;
30484 MenhirLib.EngineTypes.endp = _endpos;
30485 MenhirLib.EngineTypes.next = _menhir_stack;
30486 });
30487 (fun _menhir_env ->
30488 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30489 let {
30490 MenhirLib.EngineTypes.semv = c;
30491 MenhirLib.EngineTypes.startp = _startpos_c_;
30492 MenhirLib.EngineTypes.endp = _endpos_c_;
30493 MenhirLib.EngineTypes.next = {
30494 MenhirLib.EngineTypes.state = _menhir_s;
30495 MenhirLib.EngineTypes.semv = i;
30496 MenhirLib.EngineTypes.startp = _startpos_i_;
30497 MenhirLib.EngineTypes.endp = _endpos_i_;
30498 MenhirLib.EngineTypes.next = _menhir_stack;
30499 };
30500 } = _menhir_stack in
30501 let c : 'tv_option_re_or_not_eqid_ = Obj.magic c in
30502 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
30503 let _startpos = _startpos_i_ in
30504 let _endpos = _endpos_c_ in
30505 let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ =
30506 # 1536 "parser_cocci_menhir.mly"
30507 (
30508 match c with
30509 None -> (i, Ast.IdNoConstraint)
30510 | Some constraint_ -> (i,constraint_)
30511 )
30512 # 30513 "parser_cocci_menhir.ml"
30513 in
30514 _menhir_env.MenhirLib.EngineTypes.stack <- {
30515 MenhirLib.EngineTypes.state = _menhir_s;
30516 MenhirLib.EngineTypes.semv = Obj.repr _v;
30517 MenhirLib.EngineTypes.startp = _startpos;
30518 MenhirLib.EngineTypes.endp = _endpos;
30519 MenhirLib.EngineTypes.next = _menhir_stack;
30520 });
30521 (fun _menhir_env ->
30522 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30523 let {
30524 MenhirLib.EngineTypes.semv = c;
30525 MenhirLib.EngineTypes.startp = _startpos_c_;
30526 MenhirLib.EngineTypes.endp = _endpos_c_;
30527 MenhirLib.EngineTypes.next = {
30528 MenhirLib.EngineTypes.state = _menhir_s;
30529 MenhirLib.EngineTypes.semv = i;
30530 MenhirLib.EngineTypes.startp = _startpos_i_;
30531 MenhirLib.EngineTypes.endp = _endpos_i_;
30532 MenhirLib.EngineTypes.next = _menhir_stack;
30533 };
30534 } = _menhir_stack in
30535 let c : 'tv_option_re_or_not_eqid_ = Obj.magic c in
30536 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
30537 let _startpos = _startpos_i_ in
30538 let _endpos = _endpos_c_ in
30539 let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ =
30540 # 1526 "parser_cocci_menhir.mly"
30541 (
30542 Common.Left
30543 (match c with
30544 None -> (i, Ast.IdNoConstraint)
30545 | Some constraint_ -> (i,constraint_))
30546 )
30547 # 30548 "parser_cocci_menhir.ml"
30548 in
30549 _menhir_env.MenhirLib.EngineTypes.stack <- {
30550 MenhirLib.EngineTypes.state = _menhir_s;
30551 MenhirLib.EngineTypes.semv = Obj.repr _v;
30552 MenhirLib.EngineTypes.startp = _startpos;
30553 MenhirLib.EngineTypes.endp = _endpos;
30554 MenhirLib.EngineTypes.next = _menhir_stack;
30555 });
30556 (fun _menhir_env ->
30557 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30558 let {
30559 MenhirLib.EngineTypes.semv = _3;
30560 MenhirLib.EngineTypes.startp = _startpos__3_;
30561 MenhirLib.EngineTypes.endp = _endpos__3_;
30562 MenhirLib.EngineTypes.next = {
30563 MenhirLib.EngineTypes.startp = _startpos__2_;
30564 MenhirLib.EngineTypes.endp = _endpos__2_;
30565 MenhirLib.EngineTypes.next = {
30566 MenhirLib.EngineTypes.state = _menhir_s;
30567 MenhirLib.EngineTypes.startp = _startpos__1_;
30568 MenhirLib.EngineTypes.endp = _endpos__1_;
30569 MenhirLib.EngineTypes.next = _menhir_stack;
30570 };
30571 };
30572 } = _menhir_stack in
30573 let _3 : 'tv_pure_ident = Obj.magic _3 in
30574 let _startpos = _startpos__1_ in
30575 let _endpos = _endpos__3_ in
30576 let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ =
30577 # 1532 "parser_cocci_menhir.mly"
30578 ( Common.Right (P.id2name _3) )
30579 # 30580 "parser_cocci_menhir.ml"
30580 in
30581 _menhir_env.MenhirLib.EngineTypes.stack <- {
30582 MenhirLib.EngineTypes.state = _menhir_s;
30583 MenhirLib.EngineTypes.semv = Obj.repr _v;
30584 MenhirLib.EngineTypes.startp = _startpos;
30585 MenhirLib.EngineTypes.endp = _endpos;
30586 MenhirLib.EngineTypes.next = _menhir_stack;
30587 });
30588 (fun _menhir_env ->
30589 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30590 let {
30591 MenhirLib.EngineTypes.state = _menhir_s;
30592 MenhirLib.EngineTypes.semv = _1;
30593 MenhirLib.EngineTypes.startp = _startpos__1_;
30594 MenhirLib.EngineTypes.endp = _endpos__1_;
30595 MenhirLib.EngineTypes.next = _menhir_stack;
30596 } = _menhir_stack in
30597 let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
30598 let _startpos = _startpos__1_ in
30599 let _endpos = _endpos__1_ in
30600 let _v : 'tv_pure_ident_or_meta_ident_with_seed =
30601 # 1495 "parser_cocci_menhir.mly"
30602 ( (_1,Ast.NoVal) )
30603 # 30604 "parser_cocci_menhir.ml"
30604 in
30605 _menhir_env.MenhirLib.EngineTypes.stack <- {
30606 MenhirLib.EngineTypes.state = _menhir_s;
30607 MenhirLib.EngineTypes.semv = Obj.repr _v;
30608 MenhirLib.EngineTypes.startp = _startpos;
30609 MenhirLib.EngineTypes.endp = _endpos;
30610 MenhirLib.EngineTypes.next = _menhir_stack;
30611 });
30612 (fun _menhir_env ->
30613 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30614 let {
30615 MenhirLib.EngineTypes.semv = _3;
30616 MenhirLib.EngineTypes.startp = _startpos__3_;
30617 MenhirLib.EngineTypes.endp = _endpos__3_;
30618 MenhirLib.EngineTypes.next = {
30619 MenhirLib.EngineTypes.startp = _startpos__2_;
30620 MenhirLib.EngineTypes.endp = _endpos__2_;
30621 MenhirLib.EngineTypes.next = {
30622 MenhirLib.EngineTypes.state = _menhir_s;
30623 MenhirLib.EngineTypes.semv = _1;
30624 MenhirLib.EngineTypes.startp = _startpos__1_;
30625 MenhirLib.EngineTypes.endp = _endpos__1_;
30626 MenhirLib.EngineTypes.next = _menhir_stack;
30627 };
30628 };
30629 } = _menhir_stack in
30630 let _3 : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic _3 in
30631 let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
30632 let _startpos = _startpos__1_ in
30633 let _endpos = _endpos__3_ in
30634 let _v : 'tv_pure_ident_or_meta_ident_with_seed =
30635 # 1498 "parser_cocci_menhir.mly"
30636 ( match _3 with
30637 [Ast.SeedString s] -> (_1,Ast.StringSeed s)
30638 | _ -> (_1,Ast.ListSeed _3) )
30639 # 30640 "parser_cocci_menhir.ml"
30640 in
30641 _menhir_env.MenhirLib.EngineTypes.stack <- {
30642 MenhirLib.EngineTypes.state = _menhir_s;
30643 MenhirLib.EngineTypes.semv = Obj.repr _v;
30644 MenhirLib.EngineTypes.startp = _startpos;
30645 MenhirLib.EngineTypes.endp = _endpos;
30646 MenhirLib.EngineTypes.next = _menhir_stack;
30647 });
30648 (fun _menhir_env ->
30649 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30650 let {
30651 MenhirLib.EngineTypes.semv = l;
30652 MenhirLib.EngineTypes.startp = _startpos_l_;
30653 MenhirLib.EngineTypes.endp = _endpos_l_;
30654 MenhirLib.EngineTypes.next = {
30655 MenhirLib.EngineTypes.state = _menhir_s;
30656 MenhirLib.EngineTypes.semv = i;
30657 MenhirLib.EngineTypes.startp = _startpos_i_;
30658 MenhirLib.EngineTypes.endp = _endpos_i_;
30659 MenhirLib.EngineTypes.next = _menhir_stack;
30660 };
30661 } = _menhir_stack in
30662 let l : 'tv_loption_not_pos_ = Obj.magic l in
30663 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
30664 let _startpos = _startpos_i_ in
30665 let _endpos = _endpos_l_ in
30666 let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ =
30667 # 1512 "parser_cocci_menhir.mly"
30668 (
30669 (i, l)
30670 )
30671 # 30672 "parser_cocci_menhir.ml"
30672 in
30673 _menhir_env.MenhirLib.EngineTypes.stack <- {
30674 MenhirLib.EngineTypes.state = _menhir_s;
30675 MenhirLib.EngineTypes.semv = Obj.repr _v;
30676 MenhirLib.EngineTypes.startp = _startpos;
30677 MenhirLib.EngineTypes.endp = _endpos;
30678 MenhirLib.EngineTypes.next = _menhir_stack;
30679 });
30680 (fun _menhir_env ->
30681 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30682 let {
30683 MenhirLib.EngineTypes.state = _menhir_s;
30684 MenhirLib.EngineTypes.semv = re;
30685 MenhirLib.EngineTypes.startp = _startpos_re_;
30686 MenhirLib.EngineTypes.endp = _endpos_re_;
30687 MenhirLib.EngineTypes.next = _menhir_stack;
30688 } = _menhir_stack in
30689 let re : 'tv_regexp_eqid = Obj.magic re in
30690 let _startpos = _startpos_re_ in
30691 let _endpos = _endpos_re_ in
30692 let _v : 'tv_re_or_not_eqe_or_sub =
30693 # 1597 "parser_cocci_menhir.mly"
30694 (Ast0.NotIdCstrt re)
30695 # 30696 "parser_cocci_menhir.ml"
30696 in
30697 _menhir_env.MenhirLib.EngineTypes.stack <- {
30698 MenhirLib.EngineTypes.state = _menhir_s;
30699 MenhirLib.EngineTypes.semv = Obj.repr _v;
30700 MenhirLib.EngineTypes.startp = _startpos;
30701 MenhirLib.EngineTypes.endp = _endpos;
30702 MenhirLib.EngineTypes.next = _menhir_stack;
30703 });
30704 (fun _menhir_env ->
30705 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30706 let {
30707 MenhirLib.EngineTypes.state = _menhir_s;
30708 MenhirLib.EngineTypes.semv = ne;
30709 MenhirLib.EngineTypes.startp = _startpos_ne_;
30710 MenhirLib.EngineTypes.endp = _endpos_ne_;
30711 MenhirLib.EngineTypes.next = _menhir_stack;
30712 } = _menhir_stack in
30713 let ne : 'tv_not_eqe = Obj.magic ne in
30714 let _startpos = _startpos_ne_ in
30715 let _endpos = _endpos_ne_ in
30716 let _v : 'tv_re_or_not_eqe_or_sub =
30717 # 1598 "parser_cocci_menhir.mly"
30718 (Ast0.NotExpCstrt ne)
30719 # 30720 "parser_cocci_menhir.ml"
30720 in
30721 _menhir_env.MenhirLib.EngineTypes.stack <- {
30722 MenhirLib.EngineTypes.state = _menhir_s;
30723 MenhirLib.EngineTypes.semv = Obj.repr _v;
30724 MenhirLib.EngineTypes.startp = _startpos;
30725 MenhirLib.EngineTypes.endp = _endpos;
30726 MenhirLib.EngineTypes.next = _menhir_stack;
30727 });
30728 (fun _menhir_env ->
30729 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30730 let {
30731 MenhirLib.EngineTypes.state = _menhir_s;
30732 MenhirLib.EngineTypes.semv = s;
30733 MenhirLib.EngineTypes.startp = _startpos_s_;
30734 MenhirLib.EngineTypes.endp = _endpos_s_;
30735 MenhirLib.EngineTypes.next = _menhir_stack;
30736 } = _menhir_stack in
30737 let s : 'tv_sub = Obj.magic s in
30738 let _startpos = _startpos_s_ in
30739 let _endpos = _endpos_s_ in
30740 let _v : 'tv_re_or_not_eqe_or_sub =
30741 # 1599 "parser_cocci_menhir.mly"
30742 (Ast0.SubExpCstrt s)
30743 # 30744 "parser_cocci_menhir.ml"
30744 in
30745 _menhir_env.MenhirLib.EngineTypes.stack <- {
30746 MenhirLib.EngineTypes.state = _menhir_s;
30747 MenhirLib.EngineTypes.semv = Obj.repr _v;
30748 MenhirLib.EngineTypes.startp = _startpos;
30749 MenhirLib.EngineTypes.endp = _endpos;
30750 MenhirLib.EngineTypes.next = _menhir_stack;
30751 });
30752 (fun _menhir_env ->
30753 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30754 let {
30755 MenhirLib.EngineTypes.state = _menhir_s;
30756 MenhirLib.EngineTypes.semv = re;
30757 MenhirLib.EngineTypes.startp = _startpos_re_;
30758 MenhirLib.EngineTypes.endp = _endpos_re_;
30759 MenhirLib.EngineTypes.next = _menhir_stack;
30760 } = _menhir_stack in
30761 let re : 'tv_regexp_eqid = Obj.magic re in
30762 let _startpos = _startpos_re_ in
30763 let _endpos = _endpos_re_ in
30764 let _v : 'tv_re_or_not_eqid =
30765 # 1543 "parser_cocci_menhir.mly"
30766 (Ast.IdRegExpConstraint re)
30767 # 30768 "parser_cocci_menhir.ml"
30768 in
30769 _menhir_env.MenhirLib.EngineTypes.stack <- {
30770 MenhirLib.EngineTypes.state = _menhir_s;
30771 MenhirLib.EngineTypes.semv = Obj.repr _v;
30772 MenhirLib.EngineTypes.startp = _startpos;
30773 MenhirLib.EngineTypes.endp = _endpos;
30774 MenhirLib.EngineTypes.next = _menhir_stack;
30775 });
30776 (fun _menhir_env ->
30777 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30778 let {
30779 MenhirLib.EngineTypes.state = _menhir_s;
30780 MenhirLib.EngineTypes.semv = ne;
30781 MenhirLib.EngineTypes.startp = _startpos_ne_;
30782 MenhirLib.EngineTypes.endp = _endpos_ne_;
30783 MenhirLib.EngineTypes.next = _menhir_stack;
30784 } = _menhir_stack in
30785 let ne : 'tv_not_eqid = Obj.magic ne in
30786 let _startpos = _startpos_ne_ in
30787 let _endpos = _endpos_ne_ in
30788 let _v : 'tv_re_or_not_eqid =
30789 # 1544 "parser_cocci_menhir.mly"
30790 (ne)
30791 # 30792 "parser_cocci_menhir.ml"
30792 in
30793 _menhir_env.MenhirLib.EngineTypes.stack <- {
30794 MenhirLib.EngineTypes.state = _menhir_s;
30795 MenhirLib.EngineTypes.semv = Obj.repr _v;
30796 MenhirLib.EngineTypes.startp = _startpos;
30797 MenhirLib.EngineTypes.endp = _endpos;
30798 MenhirLib.EngineTypes.next = _menhir_stack;
30799 });
30800 (fun _menhir_env ->
30801 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30802 let {
30803 MenhirLib.EngineTypes.semv = re;
30804 MenhirLib.EngineTypes.startp = _startpos_re_;
30805 MenhirLib.EngineTypes.endp = _endpos_re_;
30806 MenhirLib.EngineTypes.next = {
30807 MenhirLib.EngineTypes.state = _menhir_s;
30808 MenhirLib.EngineTypes.startp = _startpos__1_;
30809 MenhirLib.EngineTypes.endp = _endpos__1_;
30810 MenhirLib.EngineTypes.next = _menhir_stack;
30811 };
30812 } = _menhir_stack in
30813 let re : (
30814 # 90 "parser_cocci_menhir.mly"
30815 (string * Data.clt)
30816 # 30817 "parser_cocci_menhir.ml"
30817 ) = Obj.magic re in
30818 let _startpos = _startpos__1_ in
30819 let _endpos = _endpos_re_ in
30820 let _v : 'tv_regexp_eqid =
30821 # 1548 "parser_cocci_menhir.mly"
30822 ( (if !Data.in_iso
30823 then failwith "constraints not allowed in iso file");
30824 (if !Data.in_generating
30825 then failwith "constraints not allowed in a generated rule file");
30826 let (s,_) = re in Ast.IdRegExp (s,Str.regexp s)
30827 )
30828 # 30829 "parser_cocci_menhir.ml"
30829 in
30830 _menhir_env.MenhirLib.EngineTypes.stack <- {
30831 MenhirLib.EngineTypes.state = _menhir_s;
30832 MenhirLib.EngineTypes.semv = Obj.repr _v;
30833 MenhirLib.EngineTypes.startp = _startpos;
30834 MenhirLib.EngineTypes.endp = _endpos;
30835 MenhirLib.EngineTypes.next = _menhir_stack;
30836 });
30837 (fun _menhir_env ->
30838 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30839 let {
30840 MenhirLib.EngineTypes.semv = re;
30841 MenhirLib.EngineTypes.startp = _startpos_re_;
30842 MenhirLib.EngineTypes.endp = _endpos_re_;
30843 MenhirLib.EngineTypes.next = {
30844 MenhirLib.EngineTypes.state = _menhir_s;
30845 MenhirLib.EngineTypes.startp = _startpos__1_;
30846 MenhirLib.EngineTypes.endp = _endpos__1_;
30847 MenhirLib.EngineTypes.next = _menhir_stack;
30848 };
30849 } = _menhir_stack in
30850 let re : (
30851 # 90 "parser_cocci_menhir.mly"
30852 (string * Data.clt)
30853 # 30854 "parser_cocci_menhir.ml"
30854 ) = Obj.magic re in
30855 let _startpos = _startpos__1_ in
30856 let _endpos = _endpos_re_ in
30857 let _v : 'tv_regexp_eqid =
30858 # 1555 "parser_cocci_menhir.mly"
30859 ( (if !Data.in_iso
30860 then failwith "constraints not allowed in iso file");
30861 (if !Data.in_generating
30862 then failwith "constraints not allowed in a generated rule file");
30863 let (s,_) = re in Ast.IdNotRegExp (s,Str.regexp s)
30864 )
30865 # 30866 "parser_cocci_menhir.ml"
30866 in
30867 _menhir_env.MenhirLib.EngineTypes.stack <- {
30868 MenhirLib.EngineTypes.state = _menhir_s;
30869 MenhirLib.EngineTypes.semv = Obj.repr _v;
30870 MenhirLib.EngineTypes.startp = _startpos;
30871 MenhirLib.EngineTypes.endp = _endpos;
30872 MenhirLib.EngineTypes.next = _menhir_stack;
30873 });
30874 (fun _menhir_env ->
30875 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30876 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
30877 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
30878 let _endpos = _startpos in
30879 let _v : (
30880 # 136 "parser_cocci_menhir.mly"
30881 (unit)
30882 # 30883 "parser_cocci_menhir.ml"
30883 ) =
30884 # 177 "parser_cocci_menhir.mly"
30885 ( )
30886 # 30887 "parser_cocci_menhir.ml"
30887 in
30888 _menhir_env.MenhirLib.EngineTypes.stack <- {
30889 MenhirLib.EngineTypes.state = _menhir_s;
30890 MenhirLib.EngineTypes.semv = Obj.repr _v;
30891 MenhirLib.EngineTypes.startp = _startpos;
30892 MenhirLib.EngineTypes.endp = _endpos;
30893 MenhirLib.EngineTypes.next = _menhir_stack;
30894 });
30895 (fun _menhir_env ->
30896 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30897 let {
30898 MenhirLib.EngineTypes.state = _menhir_s;
30899 MenhirLib.EngineTypes.semv = _1;
30900 MenhirLib.EngineTypes.startp = _startpos__1_;
30901 MenhirLib.EngineTypes.endp = _endpos__1_;
30902 MenhirLib.EngineTypes.next = _menhir_stack;
30903 } = _menhir_stack in
30904 let _1 : 'tv_one_decl_var = Obj.magic _1 in
30905 let _startpos = _startpos__1_ in
30906 let _endpos = _endpos__1_ in
30907 let _v : 'tv_rule_elem_statement =
30908 # 987 "parser_cocci_menhir.mly"
30909 ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) )
30910 # 30911 "parser_cocci_menhir.ml"
30911 in
30912 _menhir_env.MenhirLib.EngineTypes.stack <- {
30913 MenhirLib.EngineTypes.state = _menhir_s;
30914 MenhirLib.EngineTypes.semv = Obj.repr _v;
30915 MenhirLib.EngineTypes.startp = _startpos;
30916 MenhirLib.EngineTypes.endp = _endpos;
30917 MenhirLib.EngineTypes.next = _menhir_stack;
30918 });
30919 (fun _menhir_env ->
30920 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30921 let {
30922 MenhirLib.EngineTypes.semv = _2;
30923 MenhirLib.EngineTypes.startp = _startpos__2_;
30924 MenhirLib.EngineTypes.endp = _endpos__2_;
30925 MenhirLib.EngineTypes.next = {
30926 MenhirLib.EngineTypes.state = _menhir_s;
30927 MenhirLib.EngineTypes.semv = _1;
30928 MenhirLib.EngineTypes.startp = _startpos__1_;
30929 MenhirLib.EngineTypes.endp = _endpos__1_;
30930 MenhirLib.EngineTypes.next = _menhir_stack;
30931 };
30932 } = _menhir_stack in
30933 let _2 : (
30934 # 110 "parser_cocci_menhir.mly"
30935 (Data.clt)
30936 # 30937 "parser_cocci_menhir.ml"
30937 ) = Obj.magic _2 in
30938 let _1 : 'tv_expr = Obj.magic _1 in
30939 let _startpos = _startpos__1_ in
30940 let _endpos = _endpos__2_ in
30941 let _v : 'tv_rule_elem_statement =
30942 # 988 "parser_cocci_menhir.mly"
30943 ( P.exp_stm _1 _2 )
30944 # 30945 "parser_cocci_menhir.ml"
30945 in
30946 _menhir_env.MenhirLib.EngineTypes.stack <- {
30947 MenhirLib.EngineTypes.state = _menhir_s;
30948 MenhirLib.EngineTypes.semv = Obj.repr _v;
30949 MenhirLib.EngineTypes.startp = _startpos;
30950 MenhirLib.EngineTypes.endp = _endpos;
30951 MenhirLib.EngineTypes.next = _menhir_stack;
30952 });
30953 (fun _menhir_env ->
30954 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30955 let {
30956 MenhirLib.EngineTypes.semv = _3;
30957 MenhirLib.EngineTypes.startp = _startpos__3_;
30958 MenhirLib.EngineTypes.endp = _endpos__3_;
30959 MenhirLib.EngineTypes.next = {
30960 MenhirLib.EngineTypes.semv = _2;
30961 MenhirLib.EngineTypes.startp = _startpos__2_;
30962 MenhirLib.EngineTypes.endp = _endpos__2_;
30963 MenhirLib.EngineTypes.next = {
30964 MenhirLib.EngineTypes.state = _menhir_s;
30965 MenhirLib.EngineTypes.semv = _1;
30966 MenhirLib.EngineTypes.startp = _startpos__1_;
30967 MenhirLib.EngineTypes.endp = _endpos__1_;
30968 MenhirLib.EngineTypes.next = _menhir_stack;
30969 };
30970 };
30971 } = _menhir_stack in
30972 let _3 : (
30973 # 110 "parser_cocci_menhir.mly"
30974 (Data.clt)
30975 # 30976 "parser_cocci_menhir.ml"
30976 ) = Obj.magic _3 in
30977 let _2 : 'tv_eexpr = Obj.magic _2 in
30978 let _1 : (
30979 # 59 "parser_cocci_menhir.mly"
30980 (Data.clt)
30981 # 30982 "parser_cocci_menhir.ml"
30982 ) = Obj.magic _1 in
30983 let _startpos = _startpos__1_ in
30984 let _endpos = _endpos__3_ in
30985 let _v : 'tv_rule_elem_statement =
30986 # 989 "parser_cocci_menhir.mly"
30987 ( P.ret_exp _1 _2 _3 )
30988 # 30989 "parser_cocci_menhir.ml"
30989 in
30990 _menhir_env.MenhirLib.EngineTypes.stack <- {
30991 MenhirLib.EngineTypes.state = _menhir_s;
30992 MenhirLib.EngineTypes.semv = Obj.repr _v;
30993 MenhirLib.EngineTypes.startp = _startpos;
30994 MenhirLib.EngineTypes.endp = _endpos;
30995 MenhirLib.EngineTypes.next = _menhir_stack;
30996 });
30997 (fun _menhir_env ->
30998 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30999 let {
31000 MenhirLib.EngineTypes.semv = _2;
31001 MenhirLib.EngineTypes.startp = _startpos__2_;
31002 MenhirLib.EngineTypes.endp = _endpos__2_;
31003 MenhirLib.EngineTypes.next = {
31004 MenhirLib.EngineTypes.state = _menhir_s;
31005 MenhirLib.EngineTypes.semv = _1;
31006 MenhirLib.EngineTypes.startp = _startpos__1_;
31007 MenhirLib.EngineTypes.endp = _endpos__1_;
31008 MenhirLib.EngineTypes.next = _menhir_stack;
31009 };
31010 } = _menhir_stack in
31011 let _2 : (
31012 # 110 "parser_cocci_menhir.mly"
31013 (Data.clt)
31014 # 31015 "parser_cocci_menhir.ml"
31015 ) = Obj.magic _2 in
31016 let _1 : (
31017 # 59 "parser_cocci_menhir.mly"
31018 (Data.clt)
31019 # 31020 "parser_cocci_menhir.ml"
31020 ) = Obj.magic _1 in
31021 let _startpos = _startpos__1_ in
31022 let _endpos = _endpos__2_ in
31023 let _v : 'tv_rule_elem_statement =
31024 # 990 "parser_cocci_menhir.mly"
31025 ( P.ret _1 _2 )
31026 # 31027 "parser_cocci_menhir.ml"
31027 in
31028 _menhir_env.MenhirLib.EngineTypes.stack <- {
31029 MenhirLib.EngineTypes.state = _menhir_s;
31030 MenhirLib.EngineTypes.semv = Obj.repr _v;
31031 MenhirLib.EngineTypes.startp = _startpos;
31032 MenhirLib.EngineTypes.endp = _endpos;
31033 MenhirLib.EngineTypes.next = _menhir_stack;
31034 });
31035 (fun _menhir_env ->
31036 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31037 let {
31038 MenhirLib.EngineTypes.semv = _2;
31039 MenhirLib.EngineTypes.startp = _startpos__2_;
31040 MenhirLib.EngineTypes.endp = _endpos__2_;
31041 MenhirLib.EngineTypes.next = {
31042 MenhirLib.EngineTypes.state = _menhir_s;
31043 MenhirLib.EngineTypes.semv = _1;
31044 MenhirLib.EngineTypes.startp = _startpos__1_;
31045 MenhirLib.EngineTypes.endp = _endpos__1_;
31046 MenhirLib.EngineTypes.next = _menhir_stack;
31047 };
31048 } = _menhir_stack in
31049 let _2 : (
31050 # 110 "parser_cocci_menhir.mly"
31051 (Data.clt)
31052 # 31053 "parser_cocci_menhir.ml"
31053 ) = Obj.magic _2 in
31054 let _1 : (
31055 # 60 "parser_cocci_menhir.mly"
31056 (Data.clt)
31057 # 31058 "parser_cocci_menhir.ml"
31058 ) = Obj.magic _1 in
31059 let _startpos = _startpos__1_ in
31060 let _endpos = _endpos__2_ in
31061 let _v : 'tv_rule_elem_statement =
31062 # 991 "parser_cocci_menhir.mly"
31063 ( P.break _1 _2 )
31064 # 31065 "parser_cocci_menhir.ml"
31065 in
31066 _menhir_env.MenhirLib.EngineTypes.stack <- {
31067 MenhirLib.EngineTypes.state = _menhir_s;
31068 MenhirLib.EngineTypes.semv = Obj.repr _v;
31069 MenhirLib.EngineTypes.startp = _startpos;
31070 MenhirLib.EngineTypes.endp = _endpos;
31071 MenhirLib.EngineTypes.next = _menhir_stack;
31072 });
31073 (fun _menhir_env ->
31074 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31075 let {
31076 MenhirLib.EngineTypes.semv = _2;
31077 MenhirLib.EngineTypes.startp = _startpos__2_;
31078 MenhirLib.EngineTypes.endp = _endpos__2_;
31079 MenhirLib.EngineTypes.next = {
31080 MenhirLib.EngineTypes.state = _menhir_s;
31081 MenhirLib.EngineTypes.semv = _1;
31082 MenhirLib.EngineTypes.startp = _startpos__1_;
31083 MenhirLib.EngineTypes.endp = _endpos__1_;
31084 MenhirLib.EngineTypes.next = _menhir_stack;
31085 };
31086 } = _menhir_stack in
31087 let _2 : (
31088 # 110 "parser_cocci_menhir.mly"
31089 (Data.clt)
31090 # 31091 "parser_cocci_menhir.ml"
31091 ) = Obj.magic _2 in
31092 let _1 : (
31093 # 60 "parser_cocci_menhir.mly"
31094 (Data.clt)
31095 # 31096 "parser_cocci_menhir.ml"
31096 ) = Obj.magic _1 in
31097 let _startpos = _startpos__1_ in
31098 let _endpos = _endpos__2_ in
31099 let _v : 'tv_rule_elem_statement =
31100 # 992 "parser_cocci_menhir.mly"
31101 ( P.cont _1 _2 )
31102 # 31103 "parser_cocci_menhir.ml"
31103 in
31104 _menhir_env.MenhirLib.EngineTypes.stack <- {
31105 MenhirLib.EngineTypes.state = _menhir_s;
31106 MenhirLib.EngineTypes.semv = Obj.repr _v;
31107 MenhirLib.EngineTypes.startp = _startpos;
31108 MenhirLib.EngineTypes.endp = _endpos;
31109 MenhirLib.EngineTypes.next = _menhir_stack;
31110 });
31111 (fun _menhir_env ->
31112 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31113 let {
31114 MenhirLib.EngineTypes.semv = _3;
31115 MenhirLib.EngineTypes.startp = _startpos__3_;
31116 MenhirLib.EngineTypes.endp = _endpos__3_;
31117 MenhirLib.EngineTypes.next = {
31118 MenhirLib.EngineTypes.semv = _2;
31119 MenhirLib.EngineTypes.startp = _startpos__2_;
31120 MenhirLib.EngineTypes.endp = _endpos__2_;
31121 MenhirLib.EngineTypes.next = {
31122 MenhirLib.EngineTypes.state = _menhir_s;
31123 MenhirLib.EngineTypes.semv = _1;
31124 MenhirLib.EngineTypes.startp = _startpos__1_;
31125 MenhirLib.EngineTypes.endp = _endpos__1_;
31126 MenhirLib.EngineTypes.next = _menhir_stack;
31127 };
31128 };
31129 } = _menhir_stack in
31130 let _3 : (
31131 # 80 "parser_cocci_menhir.mly"
31132 (Data.clt)
31133 # 31134 "parser_cocci_menhir.ml"
31134 ) = Obj.magic _3 in
31135 let _2 : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = Obj.magic _2 in
31136 let _1 : (
31137 # 79 "parser_cocci_menhir.mly"
31138 (Data.clt)
31139 # 31140 "parser_cocci_menhir.ml"
31140 ) = Obj.magic _1 in
31141 let _startpos = _startpos__1_ in
31142 let _endpos = _endpos__3_ in
31143 let _v : 'tv_rule_elem_statement =
31144 # 994 "parser_cocci_menhir.mly"
31145 ( let (mids,code) = _2 in
31146 Ast0.wrap
31147 (Ast0.Disj(P.clt2mcode "(" _1,
31148 List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
31149 mids, P.clt2mcode ")" _3)) )
31150 # 31151 "parser_cocci_menhir.ml"
31151 in
31152 _menhir_env.MenhirLib.EngineTypes.stack <- {
31153 MenhirLib.EngineTypes.state = _menhir_s;
31154 MenhirLib.EngineTypes.semv = Obj.repr _v;
31155 MenhirLib.EngineTypes.startp = _startpos;
31156 MenhirLib.EngineTypes.endp = _endpos;
31157 MenhirLib.EngineTypes.next = _menhir_stack;
31158 });
31159 (fun _menhir_env ->
31160 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31161 let {
31162 MenhirLib.EngineTypes.startp = _startpos__7_;
31163 MenhirLib.EngineTypes.endp = _endpos__7_;
31164 MenhirLib.EngineTypes.next = {
31165 MenhirLib.EngineTypes.semv = ee;
31166 MenhirLib.EngineTypes.startp = _startpos_ee_;
31167 MenhirLib.EngineTypes.endp = _endpos_ee_;
31168 MenhirLib.EngineTypes.next = {
31169 MenhirLib.EngineTypes.semv = e;
31170 MenhirLib.EngineTypes.startp = _startpos_e_;
31171 MenhirLib.EngineTypes.endp = _endpos_e_;
31172 MenhirLib.EngineTypes.next = {
31173 MenhirLib.EngineTypes.semv = a;
31174 MenhirLib.EngineTypes.startp = _startpos_a_;
31175 MenhirLib.EngineTypes.endp = _endpos_a_;
31176 MenhirLib.EngineTypes.next = {
31177 MenhirLib.EngineTypes.semv = i;
31178 MenhirLib.EngineTypes.startp = _startpos_i_;
31179 MenhirLib.EngineTypes.endp = _endpos_i_;
31180 MenhirLib.EngineTypes.next = {
31181 MenhirLib.EngineTypes.semv = d;
31182 MenhirLib.EngineTypes.startp = _startpos_d_;
31183 MenhirLib.EngineTypes.endp = _endpos_d_;
31184 MenhirLib.EngineTypes.next = {
31185 MenhirLib.EngineTypes.state = _menhir_s;
31186 MenhirLib.EngineTypes.startp = _startpos__1_;
31187 MenhirLib.EngineTypes.endp = _endpos__1_;
31188 MenhirLib.EngineTypes.next = _menhir_stack;
31189 };
31190 };
31191 };
31192 };
31193 };
31194 };
31195 } = _menhir_stack in
31196 let ee : 'tv_is_expression = Obj.magic ee in
31197 let e : 'tv_exists = Obj.magic e in
31198 let a : 'tv_loption_disable_ = Obj.magic a in
31199 let i : 'tv_loption_choose_iso_ = Obj.magic i in
31200 let d : 'tv_depends = Obj.magic d in
31201 let _startpos = _startpos__1_ in
31202 let _endpos = _endpos__7_ in
31203 let _v : (
31204 # 158 "parser_cocci_menhir.mly"
31205 (Ast_cocci.rulename)
31206 # 31207 "parser_cocci_menhir.ml"
31207 ) = let nm =
31208
31209 # 39 "standard.mly"
31210 ( None )
31211 # 31212 "parser_cocci_menhir.ml"
31212
31213 in
31214
31215 # 207 "parser_cocci_menhir.mly"
31216 ( P.make_cocci_rule_name_result nm d i a e ee )
31217 # 31218 "parser_cocci_menhir.ml"
31218 in
31219 _menhir_env.MenhirLib.EngineTypes.stack <- {
31220 MenhirLib.EngineTypes.state = _menhir_s;
31221 MenhirLib.EngineTypes.semv = Obj.repr _v;
31222 MenhirLib.EngineTypes.startp = _startpos;
31223 MenhirLib.EngineTypes.endp = _endpos;
31224 MenhirLib.EngineTypes.next = _menhir_stack;
31225 });
31226 (fun _menhir_env ->
31227 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31228 let {
31229 MenhirLib.EngineTypes.startp = _startpos__8_;
31230 MenhirLib.EngineTypes.endp = _endpos__8_;
31231 MenhirLib.EngineTypes.next = {
31232 MenhirLib.EngineTypes.semv = ee;
31233 MenhirLib.EngineTypes.startp = _startpos_ee_;
31234 MenhirLib.EngineTypes.endp = _endpos_ee_;
31235 MenhirLib.EngineTypes.next = {
31236 MenhirLib.EngineTypes.semv = e;
31237 MenhirLib.EngineTypes.startp = _startpos_e_;
31238 MenhirLib.EngineTypes.endp = _endpos_e_;
31239 MenhirLib.EngineTypes.next = {
31240 MenhirLib.EngineTypes.semv = a;
31241 MenhirLib.EngineTypes.startp = _startpos_a_;
31242 MenhirLib.EngineTypes.endp = _endpos_a_;
31243 MenhirLib.EngineTypes.next = {
31244 MenhirLib.EngineTypes.semv = i;
31245 MenhirLib.EngineTypes.startp = _startpos_i_;
31246 MenhirLib.EngineTypes.endp = _endpos_i_;
31247 MenhirLib.EngineTypes.next = {
31248 MenhirLib.EngineTypes.semv = d;
31249 MenhirLib.EngineTypes.startp = _startpos_d_;
31250 MenhirLib.EngineTypes.endp = _endpos_d_;
31251 MenhirLib.EngineTypes.next = {
31252 MenhirLib.EngineTypes.startp = _startpos__2_;
31253 MenhirLib.EngineTypes.endp = _endpos__2_;
31254 MenhirLib.EngineTypes.next = {
31255 MenhirLib.EngineTypes.state = _menhir_s;
31256 MenhirLib.EngineTypes.semv = x0;
31257 MenhirLib.EngineTypes.startp = _startpos_x0_;
31258 MenhirLib.EngineTypes.endp = _endpos_x0_;
31259 MenhirLib.EngineTypes.next = _menhir_stack;
31260 };
31261 };
31262 };
31263 };
31264 };
31265 };
31266 };
31267 } = _menhir_stack in
31268 let ee : 'tv_is_expression = Obj.magic ee in
31269 let e : 'tv_exists = Obj.magic e in
31270 let a : 'tv_loption_disable_ = Obj.magic a in
31271 let i : 'tv_loption_choose_iso_ = Obj.magic i in
31272 let d : 'tv_depends = Obj.magic d in
31273 let x0 : 'tv_pure_ident = Obj.magic x0 in
31274 let _startpos = _startpos_x0_ in
31275 let _endpos = _endpos__8_ in
31276 let _v : (
31277 # 158 "parser_cocci_menhir.mly"
31278 (Ast_cocci.rulename)
31279 # 31280 "parser_cocci_menhir.ml"
31280 ) = let nm =
31281 let x = x0 in
31282
31283 # 41 "standard.mly"
31284 ( Some x )
31285 # 31286 "parser_cocci_menhir.ml"
31286
31287 in
31288
31289 # 207 "parser_cocci_menhir.mly"
31290 ( P.make_cocci_rule_name_result nm d i a e ee )
31291 # 31292 "parser_cocci_menhir.ml"
31292 in
31293 _menhir_env.MenhirLib.EngineTypes.stack <- {
31294 MenhirLib.EngineTypes.state = _menhir_s;
31295 MenhirLib.EngineTypes.semv = Obj.repr _v;
31296 MenhirLib.EngineTypes.startp = _startpos;
31297 MenhirLib.EngineTypes.endp = _endpos;
31298 MenhirLib.EngineTypes.next = _menhir_stack;
31299 });
31300 (fun _menhir_env ->
31301 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31302 let {
31303 MenhirLib.EngineTypes.startp = _startpos__8_;
31304 MenhirLib.EngineTypes.endp = _endpos__8_;
31305 MenhirLib.EngineTypes.next = {
31306 MenhirLib.EngineTypes.semv = ee;
31307 MenhirLib.EngineTypes.startp = _startpos_ee_;
31308 MenhirLib.EngineTypes.endp = _endpos_ee_;
31309 MenhirLib.EngineTypes.next = {
31310 MenhirLib.EngineTypes.semv = e;
31311 MenhirLib.EngineTypes.startp = _startpos_e_;
31312 MenhirLib.EngineTypes.endp = _endpos_e_;
31313 MenhirLib.EngineTypes.next = {
31314 MenhirLib.EngineTypes.semv = a;
31315 MenhirLib.EngineTypes.startp = _startpos_a_;
31316 MenhirLib.EngineTypes.endp = _endpos_a_;
31317 MenhirLib.EngineTypes.next = {
31318 MenhirLib.EngineTypes.semv = i;
31319 MenhirLib.EngineTypes.startp = _startpos_i_;
31320 MenhirLib.EngineTypes.endp = _endpos_i_;
31321 MenhirLib.EngineTypes.next = {
31322 MenhirLib.EngineTypes.semv = d;
31323 MenhirLib.EngineTypes.startp = _startpos_d_;
31324 MenhirLib.EngineTypes.endp = _endpos_d_;
31325 MenhirLib.EngineTypes.next = {
31326 MenhirLib.EngineTypes.startp = _startpos__2_;
31327 MenhirLib.EngineTypes.endp = _endpos__2_;
31328 MenhirLib.EngineTypes.next = {
31329 MenhirLib.EngineTypes.state = _menhir_s;
31330 MenhirLib.EngineTypes.startp = _startpos__1_;
31331 MenhirLib.EngineTypes.endp = _endpos__1_;
31332 MenhirLib.EngineTypes.next = _menhir_stack;
31333 };
31334 };
31335 };
31336 };
31337 };
31338 };
31339 };
31340 } = _menhir_stack in
31341 let ee : 'tv_is_expression = Obj.magic ee in
31342 let e : 'tv_exists = Obj.magic e in
31343 let a : 'tv_loption_disable_ = Obj.magic a in
31344 let i : 'tv_loption_choose_iso_ = Obj.magic i in
31345 let d : 'tv_depends = Obj.magic d in
31346 let _startpos = _startpos__1_ in
31347 let _endpos = _endpos__8_ in
31348 let _v : (
31349 # 158 "parser_cocci_menhir.mly"
31350 (Ast_cocci.rulename)
31351 # 31352 "parser_cocci_menhir.ml"
31352 ) =
31353 # 212 "parser_cocci_menhir.mly"
31354 ( P.make_generated_rule_name_result None d i a e ee )
31355 # 31356 "parser_cocci_menhir.ml"
31356 in
31357 _menhir_env.MenhirLib.EngineTypes.stack <- {
31358 MenhirLib.EngineTypes.state = _menhir_s;
31359 MenhirLib.EngineTypes.semv = Obj.repr _v;
31360 MenhirLib.EngineTypes.startp = _startpos;
31361 MenhirLib.EngineTypes.endp = _endpos;
31362 MenhirLib.EngineTypes.next = _menhir_stack;
31363 });
31364 (fun _menhir_env ->
31365 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31366 let {
31367 MenhirLib.EngineTypes.startp = _startpos__5_;
31368 MenhirLib.EngineTypes.endp = _endpos__5_;
31369 MenhirLib.EngineTypes.next = {
31370 MenhirLib.EngineTypes.semv = d;
31371 MenhirLib.EngineTypes.startp = _startpos_d_;
31372 MenhirLib.EngineTypes.endp = _endpos_d_;
31373 MenhirLib.EngineTypes.next = {
31374 MenhirLib.EngineTypes.semv = lang;
31375 MenhirLib.EngineTypes.startp = _startpos_lang_;
31376 MenhirLib.EngineTypes.endp = _endpos_lang_;
31377 MenhirLib.EngineTypes.next = {
31378 MenhirLib.EngineTypes.startp = _startpos__2_;
31379 MenhirLib.EngineTypes.endp = _endpos__2_;
31380 MenhirLib.EngineTypes.next = {
31381 MenhirLib.EngineTypes.state = _menhir_s;
31382 MenhirLib.EngineTypes.startp = _startpos__1_;
31383 MenhirLib.EngineTypes.endp = _endpos__1_;
31384 MenhirLib.EngineTypes.next = _menhir_stack;
31385 };
31386 };
31387 };
31388 };
31389 } = _menhir_stack in
31390 let d : 'tv_depends = Obj.magic d in
31391 let lang : 'tv_pure_ident = Obj.magic lang in
31392 let _startpos = _startpos__1_ in
31393 let _endpos = _endpos__5_ in
31394 let _v : (
31395 # 158 "parser_cocci_menhir.mly"
31396 (Ast_cocci.rulename)
31397 # 31398 "parser_cocci_menhir.ml"
31398 ) = let nm =
31399
31400 # 39 "standard.mly"
31401 ( None )
31402 # 31403 "parser_cocci_menhir.ml"
31403
31404 in
31405
31406 # 214 "parser_cocci_menhir.mly"
31407 ( P.make_script_rule_name_result lang nm d )
31408 # 31409 "parser_cocci_menhir.ml"
31409 in
31410 _menhir_env.MenhirLib.EngineTypes.stack <- {
31411 MenhirLib.EngineTypes.state = _menhir_s;
31412 MenhirLib.EngineTypes.semv = Obj.repr _v;
31413 MenhirLib.EngineTypes.startp = _startpos;
31414 MenhirLib.EngineTypes.endp = _endpos;
31415 MenhirLib.EngineTypes.next = _menhir_stack;
31416 });
31417 (fun _menhir_env ->
31418 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31419 let {
31420 MenhirLib.EngineTypes.startp = _startpos__6_;
31421 MenhirLib.EngineTypes.endp = _endpos__6_;
31422 MenhirLib.EngineTypes.next = {
31423 MenhirLib.EngineTypes.semv = d;
31424 MenhirLib.EngineTypes.startp = _startpos_d_;
31425 MenhirLib.EngineTypes.endp = _endpos_d_;
31426 MenhirLib.EngineTypes.next = {
31427 MenhirLib.EngineTypes.semv = x0;
31428 MenhirLib.EngineTypes.startp = _startpos_x0_;
31429 MenhirLib.EngineTypes.endp = _endpos_x0_;
31430 MenhirLib.EngineTypes.next = {
31431 MenhirLib.EngineTypes.semv = lang;
31432 MenhirLib.EngineTypes.startp = _startpos_lang_;
31433 MenhirLib.EngineTypes.endp = _endpos_lang_;
31434 MenhirLib.EngineTypes.next = {
31435 MenhirLib.EngineTypes.startp = _startpos__2_;
31436 MenhirLib.EngineTypes.endp = _endpos__2_;
31437 MenhirLib.EngineTypes.next = {
31438 MenhirLib.EngineTypes.state = _menhir_s;
31439 MenhirLib.EngineTypes.startp = _startpos__1_;
31440 MenhirLib.EngineTypes.endp = _endpos__1_;
31441 MenhirLib.EngineTypes.next = _menhir_stack;
31442 };
31443 };
31444 };
31445 };
31446 };
31447 } = _menhir_stack in
31448 let d : 'tv_depends = Obj.magic d in
31449 let x0 : 'tv_pure_ident = Obj.magic x0 in
31450 let lang : 'tv_pure_ident = Obj.magic lang in
31451 let _startpos = _startpos__1_ in
31452 let _endpos = _endpos__6_ in
31453 let _v : (
31454 # 158 "parser_cocci_menhir.mly"
31455 (Ast_cocci.rulename)
31456 # 31457 "parser_cocci_menhir.ml"
31457 ) = let nm =
31458 let x = x0 in
31459
31460 # 41 "standard.mly"
31461 ( Some x )
31462 # 31463 "parser_cocci_menhir.ml"
31463
31464 in
31465
31466 # 214 "parser_cocci_menhir.mly"
31467 ( P.make_script_rule_name_result lang nm d )
31468 # 31469 "parser_cocci_menhir.ml"
31469 in
31470 _menhir_env.MenhirLib.EngineTypes.stack <- {
31471 MenhirLib.EngineTypes.state = _menhir_s;
31472 MenhirLib.EngineTypes.semv = Obj.repr _v;
31473 MenhirLib.EngineTypes.startp = _startpos;
31474 MenhirLib.EngineTypes.endp = _endpos;
31475 MenhirLib.EngineTypes.next = _menhir_stack;
31476 });
31477 (fun _menhir_env ->
31478 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31479 let {
31480 MenhirLib.EngineTypes.startp = _startpos__5_;
31481 MenhirLib.EngineTypes.endp = _endpos__5_;
31482 MenhirLib.EngineTypes.next = {
31483 MenhirLib.EngineTypes.semv = d;
31484 MenhirLib.EngineTypes.startp = _startpos_d_;
31485 MenhirLib.EngineTypes.endp = _endpos_d_;
31486 MenhirLib.EngineTypes.next = {
31487 MenhirLib.EngineTypes.semv = lang;
31488 MenhirLib.EngineTypes.startp = _startpos_lang_;
31489 MenhirLib.EngineTypes.endp = _endpos_lang_;
31490 MenhirLib.EngineTypes.next = {
31491 MenhirLib.EngineTypes.startp = _startpos__2_;
31492 MenhirLib.EngineTypes.endp = _endpos__2_;
31493 MenhirLib.EngineTypes.next = {
31494 MenhirLib.EngineTypes.state = _menhir_s;
31495 MenhirLib.EngineTypes.startp = _startpos__1_;
31496 MenhirLib.EngineTypes.endp = _endpos__1_;
31497 MenhirLib.EngineTypes.next = _menhir_stack;
31498 };
31499 };
31500 };
31501 };
31502 } = _menhir_stack in
31503 let d : 'tv_depends = Obj.magic d in
31504 let lang : 'tv_pure_ident = Obj.magic lang in
31505 let _startpos = _startpos__1_ in
31506 let _endpos = _endpos__5_ in
31507 let _v : (
31508 # 158 "parser_cocci_menhir.mly"
31509 (Ast_cocci.rulename)
31510 # 31511 "parser_cocci_menhir.ml"
31511 ) =
31512 # 216 "parser_cocci_menhir.mly"
31513 ( P.make_initial_script_rule_name_result lang d )
31514 # 31515 "parser_cocci_menhir.ml"
31515 in
31516 _menhir_env.MenhirLib.EngineTypes.stack <- {
31517 MenhirLib.EngineTypes.state = _menhir_s;
31518 MenhirLib.EngineTypes.semv = Obj.repr _v;
31519 MenhirLib.EngineTypes.startp = _startpos;
31520 MenhirLib.EngineTypes.endp = _endpos;
31521 MenhirLib.EngineTypes.next = _menhir_stack;
31522 });
31523 (fun _menhir_env ->
31524 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31525 let {
31526 MenhirLib.EngineTypes.startp = _startpos__5_;
31527 MenhirLib.EngineTypes.endp = _endpos__5_;
31528 MenhirLib.EngineTypes.next = {
31529 MenhirLib.EngineTypes.semv = d;
31530 MenhirLib.EngineTypes.startp = _startpos_d_;
31531 MenhirLib.EngineTypes.endp = _endpos_d_;
31532 MenhirLib.EngineTypes.next = {
31533 MenhirLib.EngineTypes.semv = lang;
31534 MenhirLib.EngineTypes.startp = _startpos_lang_;
31535 MenhirLib.EngineTypes.endp = _endpos_lang_;
31536 MenhirLib.EngineTypes.next = {
31537 MenhirLib.EngineTypes.startp = _startpos__2_;
31538 MenhirLib.EngineTypes.endp = _endpos__2_;
31539 MenhirLib.EngineTypes.next = {
31540 MenhirLib.EngineTypes.state = _menhir_s;
31541 MenhirLib.EngineTypes.startp = _startpos__1_;
31542 MenhirLib.EngineTypes.endp = _endpos__1_;
31543 MenhirLib.EngineTypes.next = _menhir_stack;
31544 };
31545 };
31546 };
31547 };
31548 } = _menhir_stack in
31549 let d : 'tv_depends = Obj.magic d in
31550 let lang : 'tv_pure_ident = Obj.magic lang in
31551 let _startpos = _startpos__1_ in
31552 let _endpos = _endpos__5_ in
31553 let _v : (
31554 # 158 "parser_cocci_menhir.mly"
31555 (Ast_cocci.rulename)
31556 # 31557 "parser_cocci_menhir.ml"
31557 ) =
31558 # 218 "parser_cocci_menhir.mly"
31559 ( P.make_final_script_rule_name_result lang d )
31560 # 31561 "parser_cocci_menhir.ml"
31561 in
31562 _menhir_env.MenhirLib.EngineTypes.stack <- {
31563 MenhirLib.EngineTypes.state = _menhir_s;
31564 MenhirLib.EngineTypes.semv = Obj.repr _v;
31565 MenhirLib.EngineTypes.startp = _startpos;
31566 MenhirLib.EngineTypes.endp = _endpos;
31567 MenhirLib.EngineTypes.next = _menhir_stack;
31568 });
31569 (fun _menhir_env ->
31570 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31571 let {
31572 MenhirLib.EngineTypes.startp = _startpos__2_;
31573 MenhirLib.EngineTypes.endp = _endpos__2_;
31574 MenhirLib.EngineTypes.next = {
31575 MenhirLib.EngineTypes.state = _menhir_s;
31576 MenhirLib.EngineTypes.semv = py;
31577 MenhirLib.EngineTypes.startp = _startpos_py_;
31578 MenhirLib.EngineTypes.endp = _endpos_py_;
31579 MenhirLib.EngineTypes.next = _menhir_stack;
31580 };
31581 } = _menhir_stack in
31582 let py : 'tv_pure_ident = Obj.magic py in
31583 let _startpos = _startpos_py_ in
31584 let _endpos = _endpos__2_ in
31585 let _v : (
31586 # 164 "parser_cocci_menhir.mly"
31587 ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
31588 # 31589 "parser_cocci_menhir.ml"
31589 ) =
31590 # 2089 "parser_cocci_menhir.mly"
31591 ( ((Some (P.id2name py), None), None) )
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.startp = _startpos__3_;
31605 MenhirLib.EngineTypes.endp = _endpos__3_;
31606 MenhirLib.EngineTypes.next = {
31607 MenhirLib.EngineTypes.semv = _2;
31608 MenhirLib.EngineTypes.startp = _startpos__2_;
31609 MenhirLib.EngineTypes.endp = _endpos__2_;
31610 MenhirLib.EngineTypes.next = {
31611 MenhirLib.EngineTypes.state = _menhir_s;
31612 MenhirLib.EngineTypes.semv = py;
31613 MenhirLib.EngineTypes.startp = _startpos_py_;
31614 MenhirLib.EngineTypes.endp = _endpos_py_;
31615 MenhirLib.EngineTypes.next = _menhir_stack;
31616 };
31617 };
31618 } = _menhir_stack in
31619 let _2 : 'tv_script_name_decl = Obj.magic _2 in
31620 let py : 'tv_pure_ident = Obj.magic py in
31621 let _startpos = _startpos_py_ in
31622 let _endpos = _endpos__3_ in
31623 let _v : (
31624 # 164 "parser_cocci_menhir.mly"
31625 ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
31626 # 31627 "parser_cocci_menhir.ml"
31627 ) =
31628 # 2091 "parser_cocci_menhir.mly"
31629 ( ((Some (P.id2name py), None), Some _2) )
31630 # 31631 "parser_cocci_menhir.ml"
31631 in
31632 _menhir_env.MenhirLib.EngineTypes.stack <- {
31633 MenhirLib.EngineTypes.state = _menhir_s;
31634 MenhirLib.EngineTypes.semv = Obj.repr _v;
31635 MenhirLib.EngineTypes.startp = _startpos;
31636 MenhirLib.EngineTypes.endp = _endpos;
31637 MenhirLib.EngineTypes.next = _menhir_stack;
31638 });
31639 (fun _menhir_env ->
31640 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31641 let {
31642 MenhirLib.EngineTypes.startp = _startpos__7_;
31643 MenhirLib.EngineTypes.endp = _endpos__7_;
31644 MenhirLib.EngineTypes.next = {
31645 MenhirLib.EngineTypes.semv = _6;
31646 MenhirLib.EngineTypes.startp = _startpos__6_;
31647 MenhirLib.EngineTypes.endp = _endpos__6_;
31648 MenhirLib.EngineTypes.next = {
31649 MenhirLib.EngineTypes.startp = _startpos__5_;
31650 MenhirLib.EngineTypes.endp = _endpos__5_;
31651 MenhirLib.EngineTypes.next = {
31652 MenhirLib.EngineTypes.semv = ast;
31653 MenhirLib.EngineTypes.startp = _startpos_ast_;
31654 MenhirLib.EngineTypes.endp = _endpos_ast_;
31655 MenhirLib.EngineTypes.next = {
31656 MenhirLib.EngineTypes.startp = _startpos__3_;
31657 MenhirLib.EngineTypes.endp = _endpos__3_;
31658 MenhirLib.EngineTypes.next = {
31659 MenhirLib.EngineTypes.startp = _startpos__2_;
31660 MenhirLib.EngineTypes.endp = _endpos__2_;
31661 MenhirLib.EngineTypes.next = {
31662 MenhirLib.EngineTypes.state = _menhir_s;
31663 MenhirLib.EngineTypes.startp = _startpos__1_;
31664 MenhirLib.EngineTypes.endp = _endpos__1_;
31665 MenhirLib.EngineTypes.next = _menhir_stack;
31666 };
31667 };
31668 };
31669 };
31670 };
31671 };
31672 } = _menhir_stack in
31673 let _6 : 'tv_script_name_decl = Obj.magic _6 in
31674 let ast : 'tv_pure_ident = Obj.magic ast in
31675 let _startpos = _startpos__1_ in
31676 let _endpos = _endpos__7_ in
31677 let _v : (
31678 # 164 "parser_cocci_menhir.mly"
31679 ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
31680 # 31681 "parser_cocci_menhir.ml"
31681 ) =
31682 # 2093 "parser_cocci_menhir.mly"
31683 ( ((None, Some (P.id2name ast)), Some _6) )
31684 # 31685 "parser_cocci_menhir.ml"
31685 in
31686 _menhir_env.MenhirLib.EngineTypes.stack <- {
31687 MenhirLib.EngineTypes.state = _menhir_s;
31688 MenhirLib.EngineTypes.semv = Obj.repr _v;
31689 MenhirLib.EngineTypes.startp = _startpos;
31690 MenhirLib.EngineTypes.endp = _endpos;
31691 MenhirLib.EngineTypes.next = _menhir_stack;
31692 });
31693 (fun _menhir_env ->
31694 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31695 let {
31696 MenhirLib.EngineTypes.startp = _startpos__7_;
31697 MenhirLib.EngineTypes.endp = _endpos__7_;
31698 MenhirLib.EngineTypes.next = {
31699 MenhirLib.EngineTypes.semv = _6;
31700 MenhirLib.EngineTypes.startp = _startpos__6_;
31701 MenhirLib.EngineTypes.endp = _endpos__6_;
31702 MenhirLib.EngineTypes.next = {
31703 MenhirLib.EngineTypes.startp = _startpos__5_;
31704 MenhirLib.EngineTypes.endp = _endpos__5_;
31705 MenhirLib.EngineTypes.next = {
31706 MenhirLib.EngineTypes.startp = _startpos__4_;
31707 MenhirLib.EngineTypes.endp = _endpos__4_;
31708 MenhirLib.EngineTypes.next = {
31709 MenhirLib.EngineTypes.startp = _startpos__3_;
31710 MenhirLib.EngineTypes.endp = _endpos__3_;
31711 MenhirLib.EngineTypes.next = {
31712 MenhirLib.EngineTypes.semv = str;
31713 MenhirLib.EngineTypes.startp = _startpos_str_;
31714 MenhirLib.EngineTypes.endp = _endpos_str_;
31715 MenhirLib.EngineTypes.next = {
31716 MenhirLib.EngineTypes.state = _menhir_s;
31717 MenhirLib.EngineTypes.startp = _startpos__1_;
31718 MenhirLib.EngineTypes.endp = _endpos__1_;
31719 MenhirLib.EngineTypes.next = _menhir_stack;
31720 };
31721 };
31722 };
31723 };
31724 };
31725 };
31726 } = _menhir_stack in
31727 let _6 : 'tv_script_name_decl = Obj.magic _6 in
31728 let str : 'tv_pure_ident = Obj.magic str in
31729 let _startpos = _startpos__1_ in
31730 let _endpos = _endpos__7_ in
31731 let _v : (
31732 # 164 "parser_cocci_menhir.mly"
31733 ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
31734 # 31735 "parser_cocci_menhir.ml"
31735 ) =
31736 # 2095 "parser_cocci_menhir.mly"
31737 ( ((Some (P.id2name str), None), Some _6) )
31738 # 31739 "parser_cocci_menhir.ml"
31739 in
31740 _menhir_env.MenhirLib.EngineTypes.stack <- {
31741 MenhirLib.EngineTypes.state = _menhir_s;
31742 MenhirLib.EngineTypes.semv = Obj.repr _v;
31743 MenhirLib.EngineTypes.startp = _startpos;
31744 MenhirLib.EngineTypes.endp = _endpos;
31745 MenhirLib.EngineTypes.next = _menhir_stack;
31746 });
31747 (fun _menhir_env ->
31748 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31749 let {
31750 MenhirLib.EngineTypes.startp = _startpos__7_;
31751 MenhirLib.EngineTypes.endp = _endpos__7_;
31752 MenhirLib.EngineTypes.next = {
31753 MenhirLib.EngineTypes.semv = _6;
31754 MenhirLib.EngineTypes.startp = _startpos__6_;
31755 MenhirLib.EngineTypes.endp = _endpos__6_;
31756 MenhirLib.EngineTypes.next = {
31757 MenhirLib.EngineTypes.startp = _startpos__5_;
31758 MenhirLib.EngineTypes.endp = _endpos__5_;
31759 MenhirLib.EngineTypes.next = {
31760 MenhirLib.EngineTypes.semv = ast;
31761 MenhirLib.EngineTypes.startp = _startpos_ast_;
31762 MenhirLib.EngineTypes.endp = _endpos_ast_;
31763 MenhirLib.EngineTypes.next = {
31764 MenhirLib.EngineTypes.startp = _startpos__3_;
31765 MenhirLib.EngineTypes.endp = _endpos__3_;
31766 MenhirLib.EngineTypes.next = {
31767 MenhirLib.EngineTypes.semv = str;
31768 MenhirLib.EngineTypes.startp = _startpos_str_;
31769 MenhirLib.EngineTypes.endp = _endpos_str_;
31770 MenhirLib.EngineTypes.next = {
31771 MenhirLib.EngineTypes.state = _menhir_s;
31772 MenhirLib.EngineTypes.startp = _startpos__1_;
31773 MenhirLib.EngineTypes.endp = _endpos__1_;
31774 MenhirLib.EngineTypes.next = _menhir_stack;
31775 };
31776 };
31777 };
31778 };
31779 };
31780 };
31781 } = _menhir_stack in
31782 let _6 : 'tv_script_name_decl = Obj.magic _6 in
31783 let ast : 'tv_pure_ident = Obj.magic ast in
31784 let str : 'tv_pure_ident = Obj.magic str in
31785 let _startpos = _startpos__1_ in
31786 let _endpos = _endpos__7_ in
31787 let _v : (
31788 # 164 "parser_cocci_menhir.mly"
31789 ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
31790 # 31791 "parser_cocci_menhir.ml"
31791 ) =
31792 # 2097 "parser_cocci_menhir.mly"
31793 ( ((Some (P.id2name str), Some (P.id2name ast)), Some _6) )
31794 # 31795 "parser_cocci_menhir.ml"
31795 in
31796 _menhir_env.MenhirLib.EngineTypes.stack <- {
31797 MenhirLib.EngineTypes.state = _menhir_s;
31798 MenhirLib.EngineTypes.semv = Obj.repr _v;
31799 MenhirLib.EngineTypes.startp = _startpos;
31800 MenhirLib.EngineTypes.endp = _endpos;
31801 MenhirLib.EngineTypes.next = _menhir_stack;
31802 });
31803 (fun _menhir_env ->
31804 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31805 let {
31806 MenhirLib.EngineTypes.semv = cocci;
31807 MenhirLib.EngineTypes.startp = _startpos_cocci_;
31808 MenhirLib.EngineTypes.endp = _endpos_cocci_;
31809 MenhirLib.EngineTypes.next = {
31810 MenhirLib.EngineTypes.startp = _startpos__3_;
31811 MenhirLib.EngineTypes.endp = _endpos__3_;
31812 MenhirLib.EngineTypes.next = {
31813 MenhirLib.EngineTypes.semv = _2;
31814 MenhirLib.EngineTypes.startp = _startpos__2_;
31815 MenhirLib.EngineTypes.endp = _endpos__2_;
31816 MenhirLib.EngineTypes.next = {
31817 MenhirLib.EngineTypes.state = _menhir_s;
31818 MenhirLib.EngineTypes.startp = _startpos__1_;
31819 MenhirLib.EngineTypes.endp = _endpos__1_;
31820 MenhirLib.EngineTypes.next = _menhir_stack;
31821 };
31822 };
31823 };
31824 } = _menhir_stack in
31825 let cocci : 'tv_pure_ident = Obj.magic cocci in
31826 let _2 : (
31827 # 49 "parser_cocci_menhir.mly"
31828 (string)
31829 # 31830 "parser_cocci_menhir.ml"
31830 ) = Obj.magic _2 in
31831 let _startpos = _startpos__1_ in
31832 let _endpos = _endpos_cocci_ in
31833 let _v : 'tv_script_name_decl =
31834 # 2101 "parser_cocci_menhir.mly"
31835 ( let nm = P.id2name cocci in
31836 let mv = Parse_aux.lookup _2 nm in
31837 ((_2, nm), mv) )
31838 # 31839 "parser_cocci_menhir.ml"
31839 in
31840 _menhir_env.MenhirLib.EngineTypes.stack <- {
31841 MenhirLib.EngineTypes.state = _menhir_s;
31842 MenhirLib.EngineTypes.semv = Obj.repr _v;
31843 MenhirLib.EngineTypes.startp = _startpos;
31844 MenhirLib.EngineTypes.endp = _endpos;
31845 MenhirLib.EngineTypes.next = _menhir_stack;
31846 });
31847 (fun _menhir_env ->
31848 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31849 let {
31850 MenhirLib.EngineTypes.semv = cocci;
31851 MenhirLib.EngineTypes.startp = _startpos_cocci_;
31852 MenhirLib.EngineTypes.endp = _endpos_cocci_;
31853 MenhirLib.EngineTypes.next = {
31854 MenhirLib.EngineTypes.startp = _startpos__3_;
31855 MenhirLib.EngineTypes.endp = _endpos__3_;
31856 MenhirLib.EngineTypes.next = {
31857 MenhirLib.EngineTypes.startp = _startpos__2_;
31858 MenhirLib.EngineTypes.endp = _endpos__2_;
31859 MenhirLib.EngineTypes.next = {
31860 MenhirLib.EngineTypes.state = _menhir_s;
31861 MenhirLib.EngineTypes.startp = _startpos__1_;
31862 MenhirLib.EngineTypes.endp = _endpos__1_;
31863 MenhirLib.EngineTypes.next = _menhir_stack;
31864 };
31865 };
31866 };
31867 } = _menhir_stack in
31868 let cocci : 'tv_pure_ident = Obj.magic cocci in
31869 let _startpos = _startpos__1_ in
31870 let _endpos = _endpos_cocci_ in
31871 let _v : 'tv_script_name_decl =
31872 # 2105 "parser_cocci_menhir.mly"
31873 ( let nm = P.id2name cocci in
31874 let name = ("virtual", nm) in
31875 let mv = Ast.MetaIdDecl(Ast.NONE,name) in
31876 (name,mv) )
31877 # 31878 "parser_cocci_menhir.ml"
31878 in
31879 _menhir_env.MenhirLib.EngineTypes.stack <- {
31880 MenhirLib.EngineTypes.state = _menhir_s;
31881 MenhirLib.EngineTypes.semv = Obj.repr _v;
31882 MenhirLib.EngineTypes.startp = _startpos;
31883 MenhirLib.EngineTypes.endp = _endpos;
31884 MenhirLib.EngineTypes.next = _menhir_stack;
31885 });
31886 (fun _menhir_env ->
31887 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31888 let {
31889 MenhirLib.EngineTypes.state = _menhir_s;
31890 MenhirLib.EngineTypes.semv = _1;
31891 MenhirLib.EngineTypes.startp = _startpos__1_;
31892 MenhirLib.EngineTypes.endp = _endpos__1_;
31893 MenhirLib.EngineTypes.next = _menhir_stack;
31894 } = _menhir_stack in
31895 let _1 : (
31896 # 90 "parser_cocci_menhir.mly"
31897 (string * Data.clt)
31898 # 31899 "parser_cocci_menhir.ml"
31899 ) = Obj.magic _1 in
31900 let _startpos = _startpos__1_ in
31901 let _endpos = _endpos__1_ in
31902 let _v : 'tv_seed_elem =
31903 # 1503 "parser_cocci_menhir.mly"
31904 ( let (x,_) = _1 in Ast.SeedString x )
31905 # 31906 "parser_cocci_menhir.ml"
31906 in
31907 _menhir_env.MenhirLib.EngineTypes.stack <- {
31908 MenhirLib.EngineTypes.state = _menhir_s;
31909 MenhirLib.EngineTypes.semv = Obj.repr _v;
31910 MenhirLib.EngineTypes.startp = _startpos;
31911 MenhirLib.EngineTypes.endp = _endpos;
31912 MenhirLib.EngineTypes.next = _menhir_stack;
31913 });
31914 (fun _menhir_env ->
31915 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31916 let {
31917 MenhirLib.EngineTypes.state = _menhir_s;
31918 MenhirLib.EngineTypes.semv = _1;
31919 MenhirLib.EngineTypes.startp = _startpos__1_;
31920 MenhirLib.EngineTypes.endp = _endpos__1_;
31921 MenhirLib.EngineTypes.next = _menhir_stack;
31922 } = _menhir_stack in
31923 let _1 : (
31924 # 64 "parser_cocci_menhir.mly"
31925 (Parse_aux.idinfo)
31926 # 31927 "parser_cocci_menhir.ml"
31927 ) = Obj.magic _1 in
31928 let _startpos = _startpos__1_ in
31929 let _endpos = _endpos__1_ in
31930 let _v : 'tv_seed_elem =
31931 # 1504 "parser_cocci_menhir.mly"
31932 ( let (x,_,_,_) = _1 in Ast.SeedId x )
31933 # 31934 "parser_cocci_menhir.ml"
31934 in
31935 _menhir_env.MenhirLib.EngineTypes.stack <- {
31936 MenhirLib.EngineTypes.state = _menhir_s;
31937 MenhirLib.EngineTypes.semv = Obj.repr _v;
31938 MenhirLib.EngineTypes.startp = _startpos;
31939 MenhirLib.EngineTypes.endp = _endpos;
31940 MenhirLib.EngineTypes.next = _menhir_stack;
31941 });
31942 (fun _menhir_env ->
31943 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31944 let {
31945 MenhirLib.EngineTypes.semv = _3;
31946 MenhirLib.EngineTypes.startp = _startpos__3_;
31947 MenhirLib.EngineTypes.endp = _endpos__3_;
31948 MenhirLib.EngineTypes.next = {
31949 MenhirLib.EngineTypes.startp = _startpos__2_;
31950 MenhirLib.EngineTypes.endp = _endpos__2_;
31951 MenhirLib.EngineTypes.next = {
31952 MenhirLib.EngineTypes.state = _menhir_s;
31953 MenhirLib.EngineTypes.semv = _1;
31954 MenhirLib.EngineTypes.startp = _startpos__1_;
31955 MenhirLib.EngineTypes.endp = _endpos__1_;
31956 MenhirLib.EngineTypes.next = _menhir_stack;
31957 };
31958 };
31959 } = _menhir_stack in
31960 let _3 : 'tv_pure_ident = Obj.magic _3 in
31961 let _1 : (
31962 # 49 "parser_cocci_menhir.mly"
31963 (string)
31964 # 31965 "parser_cocci_menhir.ml"
31965 ) = Obj.magic _1 in
31966 let _startpos = _startpos__1_ in
31967 let _endpos = _endpos__3_ in
31968 let _v : 'tv_seed_elem =
31969 # 1506 "parser_cocci_menhir.mly"
31970 ( let nm = (_1,P.id2name _3) in
31971 P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm));
31972 Ast.SeedId nm )
31973 # 31974 "parser_cocci_menhir.ml"
31974 in
31975 _menhir_env.MenhirLib.EngineTypes.stack <- {
31976 MenhirLib.EngineTypes.state = _menhir_s;
31977 MenhirLib.EngineTypes.semv = Obj.repr _v;
31978 MenhirLib.EngineTypes.startp = _startpos;
31979 MenhirLib.EngineTypes.endp = _endpos;
31980 MenhirLib.EngineTypes.next = _menhir_stack;
31981 });
31982 (fun _menhir_env ->
31983 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31984 let {
31985 MenhirLib.EngineTypes.state = _menhir_s;
31986 MenhirLib.EngineTypes.semv = x;
31987 MenhirLib.EngineTypes.startp = _startpos_x_;
31988 MenhirLib.EngineTypes.endp = _endpos_x_;
31989 MenhirLib.EngineTypes.next = _menhir_stack;
31990 } = _menhir_stack in
31991 let x : (
31992 # 90 "parser_cocci_menhir.mly"
31993 (string * Data.clt)
31994 # 31995 "parser_cocci_menhir.ml"
31995 ) = Obj.magic x in
31996 let _startpos = _startpos_x_ in
31997 let _endpos = _endpos_x_ in
31998 let _v : 'tv_separated_nonempty_list_TComma_TString_ =
31999 # 144 "standard.mly"
32000 ( [ x ] )
32001 # 32002 "parser_cocci_menhir.ml"
32002 in
32003 _menhir_env.MenhirLib.EngineTypes.stack <- {
32004 MenhirLib.EngineTypes.state = _menhir_s;
32005 MenhirLib.EngineTypes.semv = Obj.repr _v;
32006 MenhirLib.EngineTypes.startp = _startpos;
32007 MenhirLib.EngineTypes.endp = _endpos;
32008 MenhirLib.EngineTypes.next = _menhir_stack;
32009 });
32010 (fun _menhir_env ->
32011 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32012 let {
32013 MenhirLib.EngineTypes.semv = xs;
32014 MenhirLib.EngineTypes.startp = _startpos_xs_;
32015 MenhirLib.EngineTypes.endp = _endpos_xs_;
32016 MenhirLib.EngineTypes.next = {
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 = x;
32022 MenhirLib.EngineTypes.startp = _startpos_x_;
32023 MenhirLib.EngineTypes.endp = _endpos_x_;
32024 MenhirLib.EngineTypes.next = _menhir_stack;
32025 };
32026 };
32027 } = _menhir_stack in
32028 let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in
32029 let x : (
32030 # 90 "parser_cocci_menhir.mly"
32031 (string * Data.clt)
32032 # 32033 "parser_cocci_menhir.ml"
32033 ) = Obj.magic x in
32034 let _startpos = _startpos_x_ in
32035 let _endpos = _endpos_xs_ in
32036 let _v : 'tv_separated_nonempty_list_TComma_TString_ =
32037 # 146 "standard.mly"
32038 ( x :: xs )
32039 # 32040 "parser_cocci_menhir.ml"
32040 in
32041 _menhir_env.MenhirLib.EngineTypes.stack <- {
32042 MenhirLib.EngineTypes.state = _menhir_s;
32043 MenhirLib.EngineTypes.semv = Obj.repr _v;
32044 MenhirLib.EngineTypes.startp = _startpos;
32045 MenhirLib.EngineTypes.endp = _endpos;
32046 MenhirLib.EngineTypes.next = _menhir_stack;
32047 });
32048 (fun _menhir_env ->
32049 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32050 let {
32051 MenhirLib.EngineTypes.state = _menhir_s;
32052 MenhirLib.EngineTypes.semv = x;
32053 MenhirLib.EngineTypes.startp = _startpos_x_;
32054 MenhirLib.EngineTypes.endp = _endpos_x_;
32055 MenhirLib.EngineTypes.next = _menhir_stack;
32056 } = _menhir_stack in
32057 let x : 'tv_any_strict = Obj.magic x in
32058 let _startpos = _startpos_x_ in
32059 let _endpos = _endpos_x_ in
32060 let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
32061 # 144 "standard.mly"
32062 ( [ x ] )
32063 # 32064 "parser_cocci_menhir.ml"
32064 in
32065 _menhir_env.MenhirLib.EngineTypes.stack <- {
32066 MenhirLib.EngineTypes.state = _menhir_s;
32067 MenhirLib.EngineTypes.semv = Obj.repr _v;
32068 MenhirLib.EngineTypes.startp = _startpos;
32069 MenhirLib.EngineTypes.endp = _endpos;
32070 MenhirLib.EngineTypes.next = _menhir_stack;
32071 });
32072 (fun _menhir_env ->
32073 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32074 let {
32075 MenhirLib.EngineTypes.semv = xs;
32076 MenhirLib.EngineTypes.startp = _startpos_xs_;
32077 MenhirLib.EngineTypes.endp = _endpos_xs_;
32078 MenhirLib.EngineTypes.next = {
32079 MenhirLib.EngineTypes.startp = _startpos__2_;
32080 MenhirLib.EngineTypes.endp = _endpos__2_;
32081 MenhirLib.EngineTypes.next = {
32082 MenhirLib.EngineTypes.state = _menhir_s;
32083 MenhirLib.EngineTypes.semv = x;
32084 MenhirLib.EngineTypes.startp = _startpos_x_;
32085 MenhirLib.EngineTypes.endp = _endpos_x_;
32086 MenhirLib.EngineTypes.next = _menhir_stack;
32087 };
32088 };
32089 } = _menhir_stack in
32090 let xs : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic xs in
32091 let x : 'tv_any_strict = Obj.magic x in
32092 let _startpos = _startpos_x_ in
32093 let _endpos = _endpos_xs_ in
32094 let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
32095 # 146 "standard.mly"
32096 ( x :: xs )
32097 # 32098 "parser_cocci_menhir.ml"
32098 in
32099 _menhir_env.MenhirLib.EngineTypes.stack <- {
32100 MenhirLib.EngineTypes.state = _menhir_s;
32101 MenhirLib.EngineTypes.semv = Obj.repr _v;
32102 MenhirLib.EngineTypes.startp = _startpos;
32103 MenhirLib.EngineTypes.endp = _endpos;
32104 MenhirLib.EngineTypes.next = _menhir_stack;
32105 });
32106 (fun _menhir_env ->
32107 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32108 let {
32109 MenhirLib.EngineTypes.state = _menhir_s;
32110 MenhirLib.EngineTypes.semv = x;
32111 MenhirLib.EngineTypes.startp = _startpos_x_;
32112 MenhirLib.EngineTypes.endp = _endpos_x_;
32113 MenhirLib.EngineTypes.next = _menhir_stack;
32114 } = _menhir_stack in
32115 let x : 'tv_ctype = Obj.magic x in
32116 let _startpos = _startpos_x_ in
32117 let _endpos = _endpos_x_ in
32118 let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
32119 # 144 "standard.mly"
32120 ( [ x ] )
32121 # 32122 "parser_cocci_menhir.ml"
32122 in
32123 _menhir_env.MenhirLib.EngineTypes.stack <- {
32124 MenhirLib.EngineTypes.state = _menhir_s;
32125 MenhirLib.EngineTypes.semv = Obj.repr _v;
32126 MenhirLib.EngineTypes.startp = _startpos;
32127 MenhirLib.EngineTypes.endp = _endpos;
32128 MenhirLib.EngineTypes.next = _menhir_stack;
32129 });
32130 (fun _menhir_env ->
32131 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32132 let {
32133 MenhirLib.EngineTypes.semv = xs;
32134 MenhirLib.EngineTypes.startp = _startpos_xs_;
32135 MenhirLib.EngineTypes.endp = _endpos_xs_;
32136 MenhirLib.EngineTypes.next = {
32137 MenhirLib.EngineTypes.startp = _startpos__2_;
32138 MenhirLib.EngineTypes.endp = _endpos__2_;
32139 MenhirLib.EngineTypes.next = {
32140 MenhirLib.EngineTypes.state = _menhir_s;
32141 MenhirLib.EngineTypes.semv = x;
32142 MenhirLib.EngineTypes.startp = _startpos_x_;
32143 MenhirLib.EngineTypes.endp = _endpos_x_;
32144 MenhirLib.EngineTypes.next = _menhir_stack;
32145 };
32146 };
32147 } = _menhir_stack in
32148 let xs : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic xs in
32149 let x : 'tv_ctype = Obj.magic x in
32150 let _startpos = _startpos_x_ in
32151 let _endpos = _endpos_xs_ in
32152 let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
32153 # 146 "standard.mly"
32154 ( x :: xs )
32155 # 32156 "parser_cocci_menhir.ml"
32156 in
32157 _menhir_env.MenhirLib.EngineTypes.stack <- {
32158 MenhirLib.EngineTypes.state = _menhir_s;
32159 MenhirLib.EngineTypes.semv = Obj.repr _v;
32160 MenhirLib.EngineTypes.startp = _startpos;
32161 MenhirLib.EngineTypes.endp = _endpos;
32162 MenhirLib.EngineTypes.next = _menhir_stack;
32163 });
32164 (fun _menhir_env ->
32165 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32166 let {
32167 MenhirLib.EngineTypes.state = _menhir_s;
32168 MenhirLib.EngineTypes.semv = x;
32169 MenhirLib.EngineTypes.startp = _startpos_x_;
32170 MenhirLib.EngineTypes.endp = _endpos_x_;
32171 MenhirLib.EngineTypes.next = _menhir_stack;
32172 } = _menhir_stack in
32173 let x : 'tv_d_ident = Obj.magic x in
32174 let _startpos = _startpos_x_ in
32175 let _endpos = _endpos_x_ in
32176 let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
32177 # 144 "standard.mly"
32178 ( [ x ] )
32179 # 32180 "parser_cocci_menhir.ml"
32180 in
32181 _menhir_env.MenhirLib.EngineTypes.stack <- {
32182 MenhirLib.EngineTypes.state = _menhir_s;
32183 MenhirLib.EngineTypes.semv = Obj.repr _v;
32184 MenhirLib.EngineTypes.startp = _startpos;
32185 MenhirLib.EngineTypes.endp = _endpos;
32186 MenhirLib.EngineTypes.next = _menhir_stack;
32187 });
32188 (fun _menhir_env ->
32189 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32190 let {
32191 MenhirLib.EngineTypes.semv = xs;
32192 MenhirLib.EngineTypes.startp = _startpos_xs_;
32193 MenhirLib.EngineTypes.endp = _endpos_xs_;
32194 MenhirLib.EngineTypes.next = {
32195 MenhirLib.EngineTypes.startp = _startpos__2_;
32196 MenhirLib.EngineTypes.endp = _endpos__2_;
32197 MenhirLib.EngineTypes.next = {
32198 MenhirLib.EngineTypes.state = _menhir_s;
32199 MenhirLib.EngineTypes.semv = x;
32200 MenhirLib.EngineTypes.startp = _startpos_x_;
32201 MenhirLib.EngineTypes.endp = _endpos_x_;
32202 MenhirLib.EngineTypes.next = _menhir_stack;
32203 };
32204 };
32205 } = _menhir_stack in
32206 let xs : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic xs in
32207 let x : 'tv_d_ident = Obj.magic x in
32208 let _startpos = _startpos_x_ in
32209 let _endpos = _endpos_xs_ in
32210 let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
32211 # 146 "standard.mly"
32212 ( x :: xs )
32213 # 32214 "parser_cocci_menhir.ml"
32214 in
32215 _menhir_env.MenhirLib.EngineTypes.stack <- {
32216 MenhirLib.EngineTypes.state = _menhir_s;
32217 MenhirLib.EngineTypes.semv = Obj.repr _v;
32218 MenhirLib.EngineTypes.startp = _startpos;
32219 MenhirLib.EngineTypes.endp = _endpos;
32220 MenhirLib.EngineTypes.next = _menhir_stack;
32221 });
32222 (fun _menhir_env ->
32223 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32224 let {
32225 MenhirLib.EngineTypes.state = _menhir_s;
32226 MenhirLib.EngineTypes.semv = x;
32227 MenhirLib.EngineTypes.startp = _startpos_x_;
32228 MenhirLib.EngineTypes.endp = _endpos_x_;
32229 MenhirLib.EngineTypes.next = _menhir_stack;
32230 } = _menhir_stack in
32231 let x : 'tv_ident_or_const = Obj.magic x in
32232 let _startpos = _startpos_x_ in
32233 let _endpos = _endpos_x_ in
32234 let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
32235 # 144 "standard.mly"
32236 ( [ x ] )
32237 # 32238 "parser_cocci_menhir.ml"
32238 in
32239 _menhir_env.MenhirLib.EngineTypes.stack <- {
32240 MenhirLib.EngineTypes.state = _menhir_s;
32241 MenhirLib.EngineTypes.semv = Obj.repr _v;
32242 MenhirLib.EngineTypes.startp = _startpos;
32243 MenhirLib.EngineTypes.endp = _endpos;
32244 MenhirLib.EngineTypes.next = _menhir_stack;
32245 });
32246 (fun _menhir_env ->
32247 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32248 let {
32249 MenhirLib.EngineTypes.semv = xs;
32250 MenhirLib.EngineTypes.startp = _startpos_xs_;
32251 MenhirLib.EngineTypes.endp = _endpos_xs_;
32252 MenhirLib.EngineTypes.next = {
32253 MenhirLib.EngineTypes.startp = _startpos__2_;
32254 MenhirLib.EngineTypes.endp = _endpos__2_;
32255 MenhirLib.EngineTypes.next = {
32256 MenhirLib.EngineTypes.state = _menhir_s;
32257 MenhirLib.EngineTypes.semv = x;
32258 MenhirLib.EngineTypes.startp = _startpos_x_;
32259 MenhirLib.EngineTypes.endp = _endpos_x_;
32260 MenhirLib.EngineTypes.next = _menhir_stack;
32261 };
32262 };
32263 } = _menhir_stack in
32264 let xs : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic xs in
32265 let x : 'tv_ident_or_const = Obj.magic x in
32266 let _startpos = _startpos_x_ in
32267 let _endpos = _endpos_xs_ in
32268 let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
32269 # 146 "standard.mly"
32270 ( x :: xs )
32271 # 32272 "parser_cocci_menhir.ml"
32272 in
32273 _menhir_env.MenhirLib.EngineTypes.stack <- {
32274 MenhirLib.EngineTypes.state = _menhir_s;
32275 MenhirLib.EngineTypes.semv = Obj.repr _v;
32276 MenhirLib.EngineTypes.startp = _startpos;
32277 MenhirLib.EngineTypes.endp = _endpos;
32278 MenhirLib.EngineTypes.next = _menhir_stack;
32279 });
32280 (fun _menhir_env ->
32281 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32282 let {
32283 MenhirLib.EngineTypes.state = _menhir_s;
32284 MenhirLib.EngineTypes.semv = x;
32285 MenhirLib.EngineTypes.startp = _startpos_x_;
32286 MenhirLib.EngineTypes.endp = _endpos_x_;
32287 MenhirLib.EngineTypes.next = _menhir_stack;
32288 } = _menhir_stack in
32289 let x : 'tv_meta_ident = Obj.magic x in
32290 let _startpos = _startpos_x_ in
32291 let _endpos = _endpos_x_ in
32292 let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
32293 # 144 "standard.mly"
32294 ( [ x ] )
32295 # 32296 "parser_cocci_menhir.ml"
32296 in
32297 _menhir_env.MenhirLib.EngineTypes.stack <- {
32298 MenhirLib.EngineTypes.state = _menhir_s;
32299 MenhirLib.EngineTypes.semv = Obj.repr _v;
32300 MenhirLib.EngineTypes.startp = _startpos;
32301 MenhirLib.EngineTypes.endp = _endpos;
32302 MenhirLib.EngineTypes.next = _menhir_stack;
32303 });
32304 (fun _menhir_env ->
32305 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32306 let {
32307 MenhirLib.EngineTypes.semv = xs;
32308 MenhirLib.EngineTypes.startp = _startpos_xs_;
32309 MenhirLib.EngineTypes.endp = _endpos_xs_;
32310 MenhirLib.EngineTypes.next = {
32311 MenhirLib.EngineTypes.startp = _startpos__2_;
32312 MenhirLib.EngineTypes.endp = _endpos__2_;
32313 MenhirLib.EngineTypes.next = {
32314 MenhirLib.EngineTypes.state = _menhir_s;
32315 MenhirLib.EngineTypes.semv = x;
32316 MenhirLib.EngineTypes.startp = _startpos_x_;
32317 MenhirLib.EngineTypes.endp = _endpos_x_;
32318 MenhirLib.EngineTypes.next = _menhir_stack;
32319 };
32320 };
32321 } = _menhir_stack in
32322 let xs : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic xs in
32323 let x : 'tv_meta_ident = Obj.magic x in
32324 let _startpos = _startpos_x_ in
32325 let _endpos = _endpos_xs_ in
32326 let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
32327 # 146 "standard.mly"
32328 ( x :: xs )
32329 # 32330 "parser_cocci_menhir.ml"
32330 in
32331 _menhir_env.MenhirLib.EngineTypes.stack <- {
32332 MenhirLib.EngineTypes.state = _menhir_s;
32333 MenhirLib.EngineTypes.semv = Obj.repr _v;
32334 MenhirLib.EngineTypes.startp = _startpos;
32335 MenhirLib.EngineTypes.endp = _endpos;
32336 MenhirLib.EngineTypes.next = _menhir_stack;
32337 });
32338 (fun _menhir_env ->
32339 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32340 let {
32341 MenhirLib.EngineTypes.state = _menhir_s;
32342 MenhirLib.EngineTypes.semv = x;
32343 MenhirLib.EngineTypes.startp = _startpos_x_;
32344 MenhirLib.EngineTypes.endp = _endpos_x_;
32345 MenhirLib.EngineTypes.next = _menhir_stack;
32346 } = _menhir_stack in
32347 let x : 'tv_pure_ident = Obj.magic x in
32348 let _startpos = _startpos_x_ in
32349 let _endpos = _endpos_x_ in
32350 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
32351 # 144 "standard.mly"
32352 ( [ x ] )
32353 # 32354 "parser_cocci_menhir.ml"
32354 in
32355 _menhir_env.MenhirLib.EngineTypes.stack <- {
32356 MenhirLib.EngineTypes.state = _menhir_s;
32357 MenhirLib.EngineTypes.semv = Obj.repr _v;
32358 MenhirLib.EngineTypes.startp = _startpos;
32359 MenhirLib.EngineTypes.endp = _endpos;
32360 MenhirLib.EngineTypes.next = _menhir_stack;
32361 });
32362 (fun _menhir_env ->
32363 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32364 let {
32365 MenhirLib.EngineTypes.semv = xs;
32366 MenhirLib.EngineTypes.startp = _startpos_xs_;
32367 MenhirLib.EngineTypes.endp = _endpos_xs_;
32368 MenhirLib.EngineTypes.next = {
32369 MenhirLib.EngineTypes.startp = _startpos__2_;
32370 MenhirLib.EngineTypes.endp = _endpos__2_;
32371 MenhirLib.EngineTypes.next = {
32372 MenhirLib.EngineTypes.state = _menhir_s;
32373 MenhirLib.EngineTypes.semv = x;
32374 MenhirLib.EngineTypes.startp = _startpos_x_;
32375 MenhirLib.EngineTypes.endp = _endpos_x_;
32376 MenhirLib.EngineTypes.next = _menhir_stack;
32377 };
32378 };
32379 } = _menhir_stack in
32380 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic xs in
32381 let x : 'tv_pure_ident = Obj.magic x in
32382 let _startpos = _startpos_x_ in
32383 let _endpos = _endpos_xs_ in
32384 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
32385 # 146 "standard.mly"
32386 ( x :: xs )
32387 # 32388 "parser_cocci_menhir.ml"
32388 in
32389 _menhir_env.MenhirLib.EngineTypes.stack <- {
32390 MenhirLib.EngineTypes.state = _menhir_s;
32391 MenhirLib.EngineTypes.semv = Obj.repr _v;
32392 MenhirLib.EngineTypes.startp = _startpos;
32393 MenhirLib.EngineTypes.endp = _endpos;
32394 MenhirLib.EngineTypes.next = _menhir_stack;
32395 });
32396 (fun _menhir_env ->
32397 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32398 let {
32399 MenhirLib.EngineTypes.state = _menhir_s;
32400 MenhirLib.EngineTypes.semv = x;
32401 MenhirLib.EngineTypes.startp = _startpos_x_;
32402 MenhirLib.EngineTypes.endp = _endpos_x_;
32403 MenhirLib.EngineTypes.next = _menhir_stack;
32404 } = _menhir_stack in
32405 let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
32406 let _startpos = _startpos_x_ in
32407 let _endpos = _endpos_x_ in
32408 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
32409 # 144 "standard.mly"
32410 ( [ x ] )
32411 # 32412 "parser_cocci_menhir.ml"
32412 in
32413 _menhir_env.MenhirLib.EngineTypes.stack <- {
32414 MenhirLib.EngineTypes.state = _menhir_s;
32415 MenhirLib.EngineTypes.semv = Obj.repr _v;
32416 MenhirLib.EngineTypes.startp = _startpos;
32417 MenhirLib.EngineTypes.endp = _endpos;
32418 MenhirLib.EngineTypes.next = _menhir_stack;
32419 });
32420 (fun _menhir_env ->
32421 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32422 let {
32423 MenhirLib.EngineTypes.semv = xs;
32424 MenhirLib.EngineTypes.startp = _startpos_xs_;
32425 MenhirLib.EngineTypes.endp = _endpos_xs_;
32426 MenhirLib.EngineTypes.next = {
32427 MenhirLib.EngineTypes.startp = _startpos__2_;
32428 MenhirLib.EngineTypes.endp = _endpos__2_;
32429 MenhirLib.EngineTypes.next = {
32430 MenhirLib.EngineTypes.state = _menhir_s;
32431 MenhirLib.EngineTypes.semv = x;
32432 MenhirLib.EngineTypes.startp = _startpos_x_;
32433 MenhirLib.EngineTypes.endp = _endpos_x_;
32434 MenhirLib.EngineTypes.next = _menhir_stack;
32435 };
32436 };
32437 } = _menhir_stack in
32438 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic xs in
32439 let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
32440 let _startpos = _startpos_x_ in
32441 let _endpos = _endpos_xs_ in
32442 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
32443 # 146 "standard.mly"
32444 ( x :: xs )
32445 # 32446 "parser_cocci_menhir.ml"
32446 in
32447 _menhir_env.MenhirLib.EngineTypes.stack <- {
32448 MenhirLib.EngineTypes.state = _menhir_s;
32449 MenhirLib.EngineTypes.semv = Obj.repr _v;
32450 MenhirLib.EngineTypes.startp = _startpos;
32451 MenhirLib.EngineTypes.endp = _endpos;
32452 MenhirLib.EngineTypes.next = _menhir_stack;
32453 });
32454 (fun _menhir_env ->
32455 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32456 let {
32457 MenhirLib.EngineTypes.state = _menhir_s;
32458 MenhirLib.EngineTypes.semv = x;
32459 MenhirLib.EngineTypes.startp = _startpos_x_;
32460 MenhirLib.EngineTypes.endp = _endpos_x_;
32461 MenhirLib.EngineTypes.next = _menhir_stack;
32462 } = _menhir_stack in
32463 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = Obj.magic x in
32464 let _startpos = _startpos_x_ in
32465 let _endpos = _endpos_x_ in
32466 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
32467 # 144 "standard.mly"
32468 ( [ x ] )
32469 # 32470 "parser_cocci_menhir.ml"
32470 in
32471 _menhir_env.MenhirLib.EngineTypes.stack <- {
32472 MenhirLib.EngineTypes.state = _menhir_s;
32473 MenhirLib.EngineTypes.semv = Obj.repr _v;
32474 MenhirLib.EngineTypes.startp = _startpos;
32475 MenhirLib.EngineTypes.endp = _endpos;
32476 MenhirLib.EngineTypes.next = _menhir_stack;
32477 });
32478 (fun _menhir_env ->
32479 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32480 let {
32481 MenhirLib.EngineTypes.semv = xs;
32482 MenhirLib.EngineTypes.startp = _startpos_xs_;
32483 MenhirLib.EngineTypes.endp = _endpos_xs_;
32484 MenhirLib.EngineTypes.next = {
32485 MenhirLib.EngineTypes.startp = _startpos__2_;
32486 MenhirLib.EngineTypes.endp = _endpos__2_;
32487 MenhirLib.EngineTypes.next = {
32488 MenhirLib.EngineTypes.state = _menhir_s;
32489 MenhirLib.EngineTypes.semv = x;
32490 MenhirLib.EngineTypes.startp = _startpos_x_;
32491 MenhirLib.EngineTypes.endp = _endpos_x_;
32492 MenhirLib.EngineTypes.next = _menhir_stack;
32493 };
32494 };
32495 } = _menhir_stack in
32496 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic xs in
32497 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = Obj.magic x in
32498 let _startpos = _startpos_x_ in
32499 let _endpos = _endpos_xs_ in
32500 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
32501 # 146 "standard.mly"
32502 ( x :: xs )
32503 # 32504 "parser_cocci_menhir.ml"
32504 in
32505 _menhir_env.MenhirLib.EngineTypes.stack <- {
32506 MenhirLib.EngineTypes.state = _menhir_s;
32507 MenhirLib.EngineTypes.semv = Obj.repr _v;
32508 MenhirLib.EngineTypes.startp = _startpos;
32509 MenhirLib.EngineTypes.endp = _endpos;
32510 MenhirLib.EngineTypes.next = _menhir_stack;
32511 });
32512 (fun _menhir_env ->
32513 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32514 let {
32515 MenhirLib.EngineTypes.state = _menhir_s;
32516 MenhirLib.EngineTypes.semv = x;
32517 MenhirLib.EngineTypes.startp = _startpos_x_;
32518 MenhirLib.EngineTypes.endp = _endpos_x_;
32519 MenhirLib.EngineTypes.next = _menhir_stack;
32520 } = _menhir_stack in
32521 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = Obj.magic x in
32522 let _startpos = _startpos_x_ in
32523 let _endpos = _endpos_x_ in
32524 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
32525 # 144 "standard.mly"
32526 ( [ x ] )
32527 # 32528 "parser_cocci_menhir.ml"
32528 in
32529 _menhir_env.MenhirLib.EngineTypes.stack <- {
32530 MenhirLib.EngineTypes.state = _menhir_s;
32531 MenhirLib.EngineTypes.semv = Obj.repr _v;
32532 MenhirLib.EngineTypes.startp = _startpos;
32533 MenhirLib.EngineTypes.endp = _endpos;
32534 MenhirLib.EngineTypes.next = _menhir_stack;
32535 });
32536 (fun _menhir_env ->
32537 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32538 let {
32539 MenhirLib.EngineTypes.semv = xs;
32540 MenhirLib.EngineTypes.startp = _startpos_xs_;
32541 MenhirLib.EngineTypes.endp = _endpos_xs_;
32542 MenhirLib.EngineTypes.next = {
32543 MenhirLib.EngineTypes.startp = _startpos__2_;
32544 MenhirLib.EngineTypes.endp = _endpos__2_;
32545 MenhirLib.EngineTypes.next = {
32546 MenhirLib.EngineTypes.state = _menhir_s;
32547 MenhirLib.EngineTypes.semv = x;
32548 MenhirLib.EngineTypes.startp = _startpos_x_;
32549 MenhirLib.EngineTypes.endp = _endpos_x_;
32550 MenhirLib.EngineTypes.next = _menhir_stack;
32551 };
32552 };
32553 } = _menhir_stack in
32554 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic xs in
32555 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = Obj.magic x in
32556 let _startpos = _startpos_x_ in
32557 let _endpos = _endpos_xs_ in
32558 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
32559 # 146 "standard.mly"
32560 ( x :: xs )
32561 # 32562 "parser_cocci_menhir.ml"
32562 in
32563 _menhir_env.MenhirLib.EngineTypes.stack <- {
32564 MenhirLib.EngineTypes.state = _menhir_s;
32565 MenhirLib.EngineTypes.semv = Obj.repr _v;
32566 MenhirLib.EngineTypes.startp = _startpos;
32567 MenhirLib.EngineTypes.endp = _endpos;
32568 MenhirLib.EngineTypes.next = _menhir_stack;
32569 });
32570 (fun _menhir_env ->
32571 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32572 let {
32573 MenhirLib.EngineTypes.state = _menhir_s;
32574 MenhirLib.EngineTypes.semv = x;
32575 MenhirLib.EngineTypes.startp = _startpos_x_;
32576 MenhirLib.EngineTypes.endp = _endpos_x_;
32577 MenhirLib.EngineTypes.next = _menhir_stack;
32578 } = _menhir_stack in
32579 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
32580 let _startpos = _startpos_x_ in
32581 let _endpos = _endpos_x_ in
32582 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
32583 # 144 "standard.mly"
32584 ( [ x ] )
32585 # 32586 "parser_cocci_menhir.ml"
32586 in
32587 _menhir_env.MenhirLib.EngineTypes.stack <- {
32588 MenhirLib.EngineTypes.state = _menhir_s;
32589 MenhirLib.EngineTypes.semv = Obj.repr _v;
32590 MenhirLib.EngineTypes.startp = _startpos;
32591 MenhirLib.EngineTypes.endp = _endpos;
32592 MenhirLib.EngineTypes.next = _menhir_stack;
32593 });
32594 (fun _menhir_env ->
32595 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32596 let {
32597 MenhirLib.EngineTypes.semv = xs;
32598 MenhirLib.EngineTypes.startp = _startpos_xs_;
32599 MenhirLib.EngineTypes.endp = _endpos_xs_;
32600 MenhirLib.EngineTypes.next = {
32601 MenhirLib.EngineTypes.startp = _startpos__2_;
32602 MenhirLib.EngineTypes.endp = _endpos__2_;
32603 MenhirLib.EngineTypes.next = {
32604 MenhirLib.EngineTypes.state = _menhir_s;
32605 MenhirLib.EngineTypes.semv = x;
32606 MenhirLib.EngineTypes.startp = _startpos_x_;
32607 MenhirLib.EngineTypes.endp = _endpos_x_;
32608 MenhirLib.EngineTypes.next = _menhir_stack;
32609 };
32610 };
32611 } = _menhir_stack in
32612 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic xs in
32613 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
32614 let _startpos = _startpos_x_ in
32615 let _endpos = _endpos_xs_ in
32616 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
32617 # 146 "standard.mly"
32618 ( x :: xs )
32619 # 32620 "parser_cocci_menhir.ml"
32620 in
32621 _menhir_env.MenhirLib.EngineTypes.stack <- {
32622 MenhirLib.EngineTypes.state = _menhir_s;
32623 MenhirLib.EngineTypes.semv = Obj.repr _v;
32624 MenhirLib.EngineTypes.startp = _startpos;
32625 MenhirLib.EngineTypes.endp = _endpos;
32626 MenhirLib.EngineTypes.next = _menhir_stack;
32627 });
32628 (fun _menhir_env ->
32629 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32630 let {
32631 MenhirLib.EngineTypes.state = _menhir_s;
32632 MenhirLib.EngineTypes.semv = x;
32633 MenhirLib.EngineTypes.startp = _startpos_x_;
32634 MenhirLib.EngineTypes.endp = _endpos_x_;
32635 MenhirLib.EngineTypes.next = _menhir_stack;
32636 } = _menhir_stack in
32637 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in
32638 let _startpos = _startpos_x_ in
32639 let _endpos = _endpos_x_ in
32640 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
32641 # 144 "standard.mly"
32642 ( [ x ] )
32643 # 32644 "parser_cocci_menhir.ml"
32644 in
32645 _menhir_env.MenhirLib.EngineTypes.stack <- {
32646 MenhirLib.EngineTypes.state = _menhir_s;
32647 MenhirLib.EngineTypes.semv = Obj.repr _v;
32648 MenhirLib.EngineTypes.startp = _startpos;
32649 MenhirLib.EngineTypes.endp = _endpos;
32650 MenhirLib.EngineTypes.next = _menhir_stack;
32651 });
32652 (fun _menhir_env ->
32653 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32654 let {
32655 MenhirLib.EngineTypes.semv = xs;
32656 MenhirLib.EngineTypes.startp = _startpos_xs_;
32657 MenhirLib.EngineTypes.endp = _endpos_xs_;
32658 MenhirLib.EngineTypes.next = {
32659 MenhirLib.EngineTypes.startp = _startpos__2_;
32660 MenhirLib.EngineTypes.endp = _endpos__2_;
32661 MenhirLib.EngineTypes.next = {
32662 MenhirLib.EngineTypes.state = _menhir_s;
32663 MenhirLib.EngineTypes.semv = x;
32664 MenhirLib.EngineTypes.startp = _startpos_x_;
32665 MenhirLib.EngineTypes.endp = _endpos_x_;
32666 MenhirLib.EngineTypes.next = _menhir_stack;
32667 };
32668 };
32669 } = _menhir_stack in
32670 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic xs in
32671 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in
32672 let _startpos = _startpos_x_ in
32673 let _endpos = _endpos_xs_ in
32674 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
32675 # 146 "standard.mly"
32676 ( x :: xs )
32677 # 32678 "parser_cocci_menhir.ml"
32678 in
32679 _menhir_env.MenhirLib.EngineTypes.stack <- {
32680 MenhirLib.EngineTypes.state = _menhir_s;
32681 MenhirLib.EngineTypes.semv = Obj.repr _v;
32682 MenhirLib.EngineTypes.startp = _startpos;
32683 MenhirLib.EngineTypes.endp = _endpos;
32684 MenhirLib.EngineTypes.next = _menhir_stack;
32685 });
32686 (fun _menhir_env ->
32687 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32688 let {
32689 MenhirLib.EngineTypes.state = _menhir_s;
32690 MenhirLib.EngineTypes.semv = x;
32691 MenhirLib.EngineTypes.startp = _startpos_x_;
32692 MenhirLib.EngineTypes.endp = _endpos_x_;
32693 MenhirLib.EngineTypes.next = _menhir_stack;
32694 } = _menhir_stack in
32695 let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
32696 let _startpos = _startpos_x_ in
32697 let _endpos = _endpos_x_ in
32698 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
32699 # 144 "standard.mly"
32700 ( [ x ] )
32701 # 32702 "parser_cocci_menhir.ml"
32702 in
32703 _menhir_env.MenhirLib.EngineTypes.stack <- {
32704 MenhirLib.EngineTypes.state = _menhir_s;
32705 MenhirLib.EngineTypes.semv = Obj.repr _v;
32706 MenhirLib.EngineTypes.startp = _startpos;
32707 MenhirLib.EngineTypes.endp = _endpos;
32708 MenhirLib.EngineTypes.next = _menhir_stack;
32709 });
32710 (fun _menhir_env ->
32711 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32712 let {
32713 MenhirLib.EngineTypes.semv = xs;
32714 MenhirLib.EngineTypes.startp = _startpos_xs_;
32715 MenhirLib.EngineTypes.endp = _endpos_xs_;
32716 MenhirLib.EngineTypes.next = {
32717 MenhirLib.EngineTypes.startp = _startpos__2_;
32718 MenhirLib.EngineTypes.endp = _endpos__2_;
32719 MenhirLib.EngineTypes.next = {
32720 MenhirLib.EngineTypes.state = _menhir_s;
32721 MenhirLib.EngineTypes.semv = x;
32722 MenhirLib.EngineTypes.startp = _startpos_x_;
32723 MenhirLib.EngineTypes.endp = _endpos_x_;
32724 MenhirLib.EngineTypes.next = _menhir_stack;
32725 };
32726 };
32727 } = _menhir_stack in
32728 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic xs in
32729 let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
32730 let _startpos = _startpos_x_ in
32731 let _endpos = _endpos_xs_ in
32732 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
32733 # 146 "standard.mly"
32734 ( x :: xs )
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.state = _menhir_s;
32748 MenhirLib.EngineTypes.semv = x;
32749 MenhirLib.EngineTypes.startp = _startpos_x_;
32750 MenhirLib.EngineTypes.endp = _endpos_x_;
32751 MenhirLib.EngineTypes.next = _menhir_stack;
32752 } = _menhir_stack in
32753 let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
32754 let _startpos = _startpos_x_ in
32755 let _endpos = _endpos_x_ in
32756 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
32757 # 144 "standard.mly"
32758 ( [ x ] )
32759 # 32760 "parser_cocci_menhir.ml"
32760 in
32761 _menhir_env.MenhirLib.EngineTypes.stack <- {
32762 MenhirLib.EngineTypes.state = _menhir_s;
32763 MenhirLib.EngineTypes.semv = Obj.repr _v;
32764 MenhirLib.EngineTypes.startp = _startpos;
32765 MenhirLib.EngineTypes.endp = _endpos;
32766 MenhirLib.EngineTypes.next = _menhir_stack;
32767 });
32768 (fun _menhir_env ->
32769 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32770 let {
32771 MenhirLib.EngineTypes.semv = xs;
32772 MenhirLib.EngineTypes.startp = _startpos_xs_;
32773 MenhirLib.EngineTypes.endp = _endpos_xs_;
32774 MenhirLib.EngineTypes.next = {
32775 MenhirLib.EngineTypes.startp = _startpos__2_;
32776 MenhirLib.EngineTypes.endp = _endpos__2_;
32777 MenhirLib.EngineTypes.next = {
32778 MenhirLib.EngineTypes.state = _menhir_s;
32779 MenhirLib.EngineTypes.semv = x;
32780 MenhirLib.EngineTypes.startp = _startpos_x_;
32781 MenhirLib.EngineTypes.endp = _endpos_x_;
32782 MenhirLib.EngineTypes.next = _menhir_stack;
32783 };
32784 };
32785 } = _menhir_stack in
32786 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic xs in
32787 let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
32788 let _startpos = _startpos_x_ in
32789 let _endpos = _endpos_xs_ in
32790 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
32791 # 146 "standard.mly"
32792 ( x :: xs )
32793 # 32794 "parser_cocci_menhir.ml"
32794 in
32795 _menhir_env.MenhirLib.EngineTypes.stack <- {
32796 MenhirLib.EngineTypes.state = _menhir_s;
32797 MenhirLib.EngineTypes.semv = Obj.repr _v;
32798 MenhirLib.EngineTypes.startp = _startpos;
32799 MenhirLib.EngineTypes.endp = _endpos;
32800 MenhirLib.EngineTypes.next = _menhir_stack;
32801 });
32802 (fun _menhir_env ->
32803 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32804 let {
32805 MenhirLib.EngineTypes.state = _menhir_s;
32806 MenhirLib.EngineTypes.semv = x;
32807 MenhirLib.EngineTypes.startp = _startpos_x_;
32808 MenhirLib.EngineTypes.endp = _endpos_x_;
32809 MenhirLib.EngineTypes.next = _menhir_stack;
32810 } = _menhir_stack in
32811 let x : 'tv_typedef_ident = Obj.magic x in
32812 let _startpos = _startpos_x_ in
32813 let _endpos = _endpos_x_ in
32814 let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
32815 # 144 "standard.mly"
32816 ( [ x ] )
32817 # 32818 "parser_cocci_menhir.ml"
32818 in
32819 _menhir_env.MenhirLib.EngineTypes.stack <- {
32820 MenhirLib.EngineTypes.state = _menhir_s;
32821 MenhirLib.EngineTypes.semv = Obj.repr _v;
32822 MenhirLib.EngineTypes.startp = _startpos;
32823 MenhirLib.EngineTypes.endp = _endpos;
32824 MenhirLib.EngineTypes.next = _menhir_stack;
32825 });
32826 (fun _menhir_env ->
32827 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32828 let {
32829 MenhirLib.EngineTypes.semv = xs;
32830 MenhirLib.EngineTypes.startp = _startpos_xs_;
32831 MenhirLib.EngineTypes.endp = _endpos_xs_;
32832 MenhirLib.EngineTypes.next = {
32833 MenhirLib.EngineTypes.startp = _startpos__2_;
32834 MenhirLib.EngineTypes.endp = _endpos__2_;
32835 MenhirLib.EngineTypes.next = {
32836 MenhirLib.EngineTypes.state = _menhir_s;
32837 MenhirLib.EngineTypes.semv = x;
32838 MenhirLib.EngineTypes.startp = _startpos_x_;
32839 MenhirLib.EngineTypes.endp = _endpos_x_;
32840 MenhirLib.EngineTypes.next = _menhir_stack;
32841 };
32842 };
32843 } = _menhir_stack in
32844 let xs : 'tv_separated_nonempty_list_TComma_typedef_ident_ = Obj.magic xs in
32845 let x : 'tv_typedef_ident = Obj.magic x in
32846 let _startpos = _startpos_x_ in
32847 let _endpos = _endpos_xs_ in
32848 let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
32849 # 146 "standard.mly"
32850 ( x :: xs )
32851 # 32852 "parser_cocci_menhir.ml"
32852 in
32853 _menhir_env.MenhirLib.EngineTypes.stack <- {
32854 MenhirLib.EngineTypes.state = _menhir_s;
32855 MenhirLib.EngineTypes.semv = Obj.repr _v;
32856 MenhirLib.EngineTypes.startp = _startpos;
32857 MenhirLib.EngineTypes.endp = _endpos;
32858 MenhirLib.EngineTypes.next = _menhir_stack;
32859 });
32860 (fun _menhir_env ->
32861 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32862 let {
32863 MenhirLib.EngineTypes.state = _menhir_s;
32864 MenhirLib.EngineTypes.semv = x;
32865 MenhirLib.EngineTypes.startp = _startpos_x_;
32866 MenhirLib.EngineTypes.endp = _endpos_x_;
32867 MenhirLib.EngineTypes.next = _menhir_stack;
32868 } = _menhir_stack in
32869 let x : 'tv_seed_elem = Obj.magic x in
32870 let _startpos = _startpos_x_ in
32871 let _endpos = _endpos_x_ in
32872 let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ =
32873 # 144 "standard.mly"
32874 ( [ x ] )
32875 # 32876 "parser_cocci_menhir.ml"
32876 in
32877 _menhir_env.MenhirLib.EngineTypes.stack <- {
32878 MenhirLib.EngineTypes.state = _menhir_s;
32879 MenhirLib.EngineTypes.semv = Obj.repr _v;
32880 MenhirLib.EngineTypes.startp = _startpos;
32881 MenhirLib.EngineTypes.endp = _endpos;
32882 MenhirLib.EngineTypes.next = _menhir_stack;
32883 });
32884 (fun _menhir_env ->
32885 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32886 let {
32887 MenhirLib.EngineTypes.semv = xs;
32888 MenhirLib.EngineTypes.startp = _startpos_xs_;
32889 MenhirLib.EngineTypes.endp = _endpos_xs_;
32890 MenhirLib.EngineTypes.next = {
32891 MenhirLib.EngineTypes.startp = _startpos__2_;
32892 MenhirLib.EngineTypes.endp = _endpos__2_;
32893 MenhirLib.EngineTypes.next = {
32894 MenhirLib.EngineTypes.state = _menhir_s;
32895 MenhirLib.EngineTypes.semv = x;
32896 MenhirLib.EngineTypes.startp = _startpos_x_;
32897 MenhirLib.EngineTypes.endp = _endpos_x_;
32898 MenhirLib.EngineTypes.next = _menhir_stack;
32899 };
32900 };
32901 } = _menhir_stack in
32902 let xs : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic xs in
32903 let x : 'tv_seed_elem = Obj.magic x in
32904 let _startpos = _startpos_x_ in
32905 let _endpos = _endpos_xs_ in
32906 let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ =
32907 # 146 "standard.mly"
32908 ( x :: xs )
32909 # 32910 "parser_cocci_menhir.ml"
32910 in
32911 _menhir_env.MenhirLib.EngineTypes.stack <- {
32912 MenhirLib.EngineTypes.state = _menhir_s;
32913 MenhirLib.EngineTypes.semv = Obj.repr _v;
32914 MenhirLib.EngineTypes.startp = _startpos;
32915 MenhirLib.EngineTypes.endp = _endpos;
32916 MenhirLib.EngineTypes.next = _menhir_stack;
32917 });
32918 (fun _menhir_env ->
32919 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32920 let {
32921 MenhirLib.EngineTypes.state = _menhir_s;
32922 MenhirLib.EngineTypes.semv = _1;
32923 MenhirLib.EngineTypes.startp = _startpos__1_;
32924 MenhirLib.EngineTypes.endp = _endpos__1_;
32925 MenhirLib.EngineTypes.next = _menhir_stack;
32926 } = _menhir_stack in
32927 let _1 : 'tv_statement = Obj.magic _1 in
32928 let _startpos = _startpos__1_ in
32929 let _endpos = _endpos__1_ in
32930 let _v : 'tv_single_statement =
32931 # 1002 "parser_cocci_menhir.mly"
32932 ( _1 )
32933 # 32934 "parser_cocci_menhir.ml"
32934 in
32935 _menhir_env.MenhirLib.EngineTypes.stack <- {
32936 MenhirLib.EngineTypes.state = _menhir_s;
32937 MenhirLib.EngineTypes.semv = Obj.repr _v;
32938 MenhirLib.EngineTypes.startp = _startpos;
32939 MenhirLib.EngineTypes.endp = _endpos;
32940 MenhirLib.EngineTypes.next = _menhir_stack;
32941 });
32942 (fun _menhir_env ->
32943 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32944 let {
32945 MenhirLib.EngineTypes.semv = _3;
32946 MenhirLib.EngineTypes.startp = _startpos__3_;
32947 MenhirLib.EngineTypes.endp = _endpos__3_;
32948 MenhirLib.EngineTypes.next = {
32949 MenhirLib.EngineTypes.semv = _2;
32950 MenhirLib.EngineTypes.startp = _startpos__2_;
32951 MenhirLib.EngineTypes.endp = _endpos__2_;
32952 MenhirLib.EngineTypes.next = {
32953 MenhirLib.EngineTypes.state = _menhir_s;
32954 MenhirLib.EngineTypes.semv = _1;
32955 MenhirLib.EngineTypes.startp = _startpos__1_;
32956 MenhirLib.EngineTypes.endp = _endpos__1_;
32957 MenhirLib.EngineTypes.next = _menhir_stack;
32958 };
32959 };
32960 } = _menhir_stack in
32961 let _3 : (
32962 # 80 "parser_cocci_menhir.mly"
32963 (Data.clt)
32964 # 32965 "parser_cocci_menhir.ml"
32965 ) = Obj.magic _3 in
32966 let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in
32967 let _1 : (
32968 # 79 "parser_cocci_menhir.mly"
32969 (Data.clt)
32970 # 32971 "parser_cocci_menhir.ml"
32971 ) = Obj.magic _1 in
32972 let _startpos = _startpos__1_ in
32973 let _endpos = _endpos__3_ in
32974 let _v : 'tv_single_statement =
32975 # 1006 "parser_cocci_menhir.mly"
32976 ( let (mids,code) = _2 in
32977 Ast0.wrap
32978 (Ast0.Disj(P.clt2mcode "(" _1,
32979 List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
32980 mids, P.clt2mcode ")" _3)) )
32981 # 32982 "parser_cocci_menhir.ml"
32982 in
32983 _menhir_env.MenhirLib.EngineTypes.stack <- {
32984 MenhirLib.EngineTypes.state = _menhir_s;
32985 MenhirLib.EngineTypes.semv = Obj.repr _v;
32986 MenhirLib.EngineTypes.startp = _startpos;
32987 MenhirLib.EngineTypes.endp = _endpos;
32988 MenhirLib.EngineTypes.next = _menhir_stack;
32989 });
32990 (fun _menhir_env ->
32991 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32992 let {
32993 MenhirLib.EngineTypes.state = _menhir_s;
32994 MenhirLib.EngineTypes.semv = _1;
32995 MenhirLib.EngineTypes.startp = _startpos__1_;
32996 MenhirLib.EngineTypes.endp = _endpos__1_;
32997 MenhirLib.EngineTypes.next = _menhir_stack;
32998 } = _menhir_stack in
32999 let _1 : 'tv_includes = Obj.magic _1 in
33000 let _startpos = _startpos__1_ in
33001 let _endpos = _endpos__1_ in
33002 let _v : 'tv_statement =
33003 # 929 "parser_cocci_menhir.mly"
33004 ( _1 )
33005 # 33006 "parser_cocci_menhir.ml"
33006 in
33007 _menhir_env.MenhirLib.EngineTypes.stack <- {
33008 MenhirLib.EngineTypes.state = _menhir_s;
33009 MenhirLib.EngineTypes.semv = Obj.repr _v;
33010 MenhirLib.EngineTypes.startp = _startpos;
33011 MenhirLib.EngineTypes.endp = _endpos;
33012 MenhirLib.EngineTypes.next = _menhir_stack;
33013 });
33014 (fun _menhir_env ->
33015 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33016 let {
33017 MenhirLib.EngineTypes.state = _menhir_s;
33018 MenhirLib.EngineTypes.semv = _1;
33019 MenhirLib.EngineTypes.startp = _startpos__1_;
33020 MenhirLib.EngineTypes.endp = _endpos__1_;
33021 MenhirLib.EngineTypes.next = _menhir_stack;
33022 } = _menhir_stack in
33023 let _1 : (
33024 # 67 "parser_cocci_menhir.mly"
33025 (Parse_aux.info)
33026 # 33027 "parser_cocci_menhir.ml"
33027 ) = Obj.magic _1 in
33028 let _startpos = _startpos__1_ in
33029 let _endpos = _endpos__1_ in
33030 let _v : 'tv_statement =
33031 # 931 "parser_cocci_menhir.mly"
33032 ( P.meta_stm _1 )
33033 # 33034 "parser_cocci_menhir.ml"
33034 in
33035 _menhir_env.MenhirLib.EngineTypes.stack <- {
33036 MenhirLib.EngineTypes.state = _menhir_s;
33037 MenhirLib.EngineTypes.semv = Obj.repr _v;
33038 MenhirLib.EngineTypes.startp = _startpos;
33039 MenhirLib.EngineTypes.endp = _endpos;
33040 MenhirLib.EngineTypes.next = _menhir_stack;
33041 });
33042 (fun _menhir_env ->
33043 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33044 let {
33045 MenhirLib.EngineTypes.semv = _2;
33046 MenhirLib.EngineTypes.startp = _startpos__2_;
33047 MenhirLib.EngineTypes.endp = _endpos__2_;
33048 MenhirLib.EngineTypes.next = {
33049 MenhirLib.EngineTypes.state = _menhir_s;
33050 MenhirLib.EngineTypes.semv = _1;
33051 MenhirLib.EngineTypes.startp = _startpos__1_;
33052 MenhirLib.EngineTypes.endp = _endpos__1_;
33053 MenhirLib.EngineTypes.next = _menhir_stack;
33054 };
33055 } = _menhir_stack in
33056 let _2 : (
33057 # 110 "parser_cocci_menhir.mly"
33058 (Data.clt)
33059 # 33060 "parser_cocci_menhir.ml"
33060 ) = Obj.magic _2 in
33061 let _1 : 'tv_expr = Obj.magic _1 in
33062 let _startpos = _startpos__1_ in
33063 let _endpos = _endpos__2_ in
33064 let _v : 'tv_statement =
33065 # 933 "parser_cocci_menhir.mly"
33066 ( P.exp_stm _1 _2 )
33067 # 33068 "parser_cocci_menhir.ml"
33068 in
33069 _menhir_env.MenhirLib.EngineTypes.stack <- {
33070 MenhirLib.EngineTypes.state = _menhir_s;
33071 MenhirLib.EngineTypes.semv = Obj.repr _v;
33072 MenhirLib.EngineTypes.startp = _startpos;
33073 MenhirLib.EngineTypes.endp = _endpos;
33074 MenhirLib.EngineTypes.next = _menhir_stack;
33075 });
33076 (fun _menhir_env ->
33077 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33078 let {
33079 MenhirLib.EngineTypes.semv = _5;
33080 MenhirLib.EngineTypes.startp = _startpos__5_;
33081 MenhirLib.EngineTypes.endp = _endpos__5_;
33082 MenhirLib.EngineTypes.next = {
33083 MenhirLib.EngineTypes.semv = _4;
33084 MenhirLib.EngineTypes.startp = _startpos__4_;
33085 MenhirLib.EngineTypes.endp = _endpos__4_;
33086 MenhirLib.EngineTypes.next = {
33087 MenhirLib.EngineTypes.semv = _3;
33088 MenhirLib.EngineTypes.startp = _startpos__3_;
33089 MenhirLib.EngineTypes.endp = _endpos__3_;
33090 MenhirLib.EngineTypes.next = {
33091 MenhirLib.EngineTypes.semv = _2;
33092 MenhirLib.EngineTypes.startp = _startpos__2_;
33093 MenhirLib.EngineTypes.endp = _endpos__2_;
33094 MenhirLib.EngineTypes.next = {
33095 MenhirLib.EngineTypes.state = _menhir_s;
33096 MenhirLib.EngineTypes.semv = _1;
33097 MenhirLib.EngineTypes.startp = _startpos__1_;
33098 MenhirLib.EngineTypes.endp = _endpos__1_;
33099 MenhirLib.EngineTypes.next = _menhir_stack;
33100 };
33101 };
33102 };
33103 };
33104 } = _menhir_stack in
33105 let _5 : 'tv_single_statement = Obj.magic _5 in
33106 let _4 : (
33107 # 80 "parser_cocci_menhir.mly"
33108 (Data.clt)
33109 # 33110 "parser_cocci_menhir.ml"
33110 ) = Obj.magic _4 in
33111 let _3 : 'tv_eexpr = Obj.magic _3 in
33112 let _2 : (
33113 # 79 "parser_cocci_menhir.mly"
33114 (Data.clt)
33115 # 33116 "parser_cocci_menhir.ml"
33116 ) = Obj.magic _2 in
33117 let _1 : (
33118 # 59 "parser_cocci_menhir.mly"
33119 (Data.clt)
33120 # 33121 "parser_cocci_menhir.ml"
33121 ) = Obj.magic _1 in
33122 let _startpos = _startpos__1_ in
33123 let _endpos = _endpos__5_ in
33124 let _v : 'tv_statement =
33125 # 935 "parser_cocci_menhir.mly"
33126 ( P.ifthen _1 _2 _3 _4 _5 )
33127 # 33128 "parser_cocci_menhir.ml"
33128 in
33129 _menhir_env.MenhirLib.EngineTypes.stack <- {
33130 MenhirLib.EngineTypes.state = _menhir_s;
33131 MenhirLib.EngineTypes.semv = Obj.repr _v;
33132 MenhirLib.EngineTypes.startp = _startpos;
33133 MenhirLib.EngineTypes.endp = _endpos;
33134 MenhirLib.EngineTypes.next = _menhir_stack;
33135 });
33136 (fun _menhir_env ->
33137 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33138 let {
33139 MenhirLib.EngineTypes.semv = _7;
33140 MenhirLib.EngineTypes.startp = _startpos__7_;
33141 MenhirLib.EngineTypes.endp = _endpos__7_;
33142 MenhirLib.EngineTypes.next = {
33143 MenhirLib.EngineTypes.semv = _6;
33144 MenhirLib.EngineTypes.startp = _startpos__6_;
33145 MenhirLib.EngineTypes.endp = _endpos__6_;
33146 MenhirLib.EngineTypes.next = {
33147 MenhirLib.EngineTypes.semv = _5;
33148 MenhirLib.EngineTypes.startp = _startpos__5_;
33149 MenhirLib.EngineTypes.endp = _endpos__5_;
33150 MenhirLib.EngineTypes.next = {
33151 MenhirLib.EngineTypes.semv = _4;
33152 MenhirLib.EngineTypes.startp = _startpos__4_;
33153 MenhirLib.EngineTypes.endp = _endpos__4_;
33154 MenhirLib.EngineTypes.next = {
33155 MenhirLib.EngineTypes.semv = _3;
33156 MenhirLib.EngineTypes.startp = _startpos__3_;
33157 MenhirLib.EngineTypes.endp = _endpos__3_;
33158 MenhirLib.EngineTypes.next = {
33159 MenhirLib.EngineTypes.semv = _2;
33160 MenhirLib.EngineTypes.startp = _startpos__2_;
33161 MenhirLib.EngineTypes.endp = _endpos__2_;
33162 MenhirLib.EngineTypes.next = {
33163 MenhirLib.EngineTypes.state = _menhir_s;
33164 MenhirLib.EngineTypes.semv = _1;
33165 MenhirLib.EngineTypes.startp = _startpos__1_;
33166 MenhirLib.EngineTypes.endp = _endpos__1_;
33167 MenhirLib.EngineTypes.next = _menhir_stack;
33168 };
33169 };
33170 };
33171 };
33172 };
33173 };
33174 } = _menhir_stack in
33175 let _7 : 'tv_single_statement = Obj.magic _7 in
33176 let _6 : (
33177 # 59 "parser_cocci_menhir.mly"
33178 (Data.clt)
33179 # 33180 "parser_cocci_menhir.ml"
33180 ) = Obj.magic _6 in
33181 let _5 : 'tv_single_statement = Obj.magic _5 in
33182 let _4 : (
33183 # 80 "parser_cocci_menhir.mly"
33184 (Data.clt)
33185 # 33186 "parser_cocci_menhir.ml"
33186 ) = Obj.magic _4 in
33187 let _3 : 'tv_eexpr = Obj.magic _3 in
33188 let _2 : (
33189 # 79 "parser_cocci_menhir.mly"
33190 (Data.clt)
33191 # 33192 "parser_cocci_menhir.ml"
33192 ) = Obj.magic _2 in
33193 let _1 : (
33194 # 59 "parser_cocci_menhir.mly"
33195 (Data.clt)
33196 # 33197 "parser_cocci_menhir.ml"
33197 ) = Obj.magic _1 in
33198 let _startpos = _startpos__1_ in
33199 let _endpos = _endpos__7_ in
33200 let _v : 'tv_statement =
33201 # 937 "parser_cocci_menhir.mly"
33202 ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 )
33203 # 33204 "parser_cocci_menhir.ml"
33204 in
33205 _menhir_env.MenhirLib.EngineTypes.stack <- {
33206 MenhirLib.EngineTypes.state = _menhir_s;
33207 MenhirLib.EngineTypes.semv = Obj.repr _v;
33208 MenhirLib.EngineTypes.startp = _startpos;
33209 MenhirLib.EngineTypes.endp = _endpos;
33210 MenhirLib.EngineTypes.next = _menhir_stack;
33211 });
33212 (fun _menhir_env ->
33213 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33214 let {
33215 MenhirLib.EngineTypes.semv = _9;
33216 MenhirLib.EngineTypes.startp = _startpos__9_;
33217 MenhirLib.EngineTypes.endp = _endpos__9_;
33218 MenhirLib.EngineTypes.next = {
33219 MenhirLib.EngineTypes.semv = _8;
33220 MenhirLib.EngineTypes.startp = _startpos__8_;
33221 MenhirLib.EngineTypes.endp = _endpos__8_;
33222 MenhirLib.EngineTypes.next = {
33223 MenhirLib.EngineTypes.semv = _7;
33224 MenhirLib.EngineTypes.startp = _startpos__7_;
33225 MenhirLib.EngineTypes.endp = _endpos__7_;
33226 MenhirLib.EngineTypes.next = {
33227 MenhirLib.EngineTypes.semv = _6;
33228 MenhirLib.EngineTypes.startp = _startpos__6_;
33229 MenhirLib.EngineTypes.endp = _endpos__6_;
33230 MenhirLib.EngineTypes.next = {
33231 MenhirLib.EngineTypes.semv = _5;
33232 MenhirLib.EngineTypes.startp = _startpos__5_;
33233 MenhirLib.EngineTypes.endp = _endpos__5_;
33234 MenhirLib.EngineTypes.next = {
33235 MenhirLib.EngineTypes.semv = _4;
33236 MenhirLib.EngineTypes.startp = _startpos__4_;
33237 MenhirLib.EngineTypes.endp = _endpos__4_;
33238 MenhirLib.EngineTypes.next = {
33239 MenhirLib.EngineTypes.semv = _3;
33240 MenhirLib.EngineTypes.startp = _startpos__3_;
33241 MenhirLib.EngineTypes.endp = _endpos__3_;
33242 MenhirLib.EngineTypes.next = {
33243 MenhirLib.EngineTypes.semv = _2;
33244 MenhirLib.EngineTypes.startp = _startpos__2_;
33245 MenhirLib.EngineTypes.endp = _endpos__2_;
33246 MenhirLib.EngineTypes.next = {
33247 MenhirLib.EngineTypes.state = _menhir_s;
33248 MenhirLib.EngineTypes.semv = _1;
33249 MenhirLib.EngineTypes.startp = _startpos__1_;
33250 MenhirLib.EngineTypes.endp = _endpos__1_;
33251 MenhirLib.EngineTypes.next = _menhir_stack;
33252 };
33253 };
33254 };
33255 };
33256 };
33257 };
33258 };
33259 };
33260 } = _menhir_stack in
33261 let _9 : 'tv_single_statement = Obj.magic _9 in
33262 let _8 : (
33263 # 80 "parser_cocci_menhir.mly"
33264 (Data.clt)
33265 # 33266 "parser_cocci_menhir.ml"
33266 ) = Obj.magic _8 in
33267 let _7 : 'tv_option_eexpr_ = Obj.magic _7 in
33268 let _6 : (
33269 # 110 "parser_cocci_menhir.mly"
33270 (Data.clt)
33271 # 33272 "parser_cocci_menhir.ml"
33272 ) = Obj.magic _6 in
33273 let _5 : 'tv_option_eexpr_ = Obj.magic _5 in
33274 let _4 : (
33275 # 110 "parser_cocci_menhir.mly"
33276 (Data.clt)
33277 # 33278 "parser_cocci_menhir.ml"
33278 ) = Obj.magic _4 in
33279 let _3 : 'tv_option_eexpr_ = Obj.magic _3 in
33280 let _2 : (
33281 # 79 "parser_cocci_menhir.mly"
33282 (Data.clt)
33283 # 33284 "parser_cocci_menhir.ml"
33284 ) = Obj.magic _2 in
33285 let _1 : (
33286 # 59 "parser_cocci_menhir.mly"
33287 (Data.clt)
33288 # 33289 "parser_cocci_menhir.ml"
33289 ) = Obj.magic _1 in
33290 let _startpos = _startpos__1_ in
33291 let _endpos = _endpos__9_ in
33292 let _v : 'tv_statement =
33293 # 940 "parser_cocci_menhir.mly"
33294 ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 )
33295 # 33296 "parser_cocci_menhir.ml"
33296 in
33297 _menhir_env.MenhirLib.EngineTypes.stack <- {
33298 MenhirLib.EngineTypes.state = _menhir_s;
33299 MenhirLib.EngineTypes.semv = Obj.repr _v;
33300 MenhirLib.EngineTypes.startp = _startpos;
33301 MenhirLib.EngineTypes.endp = _endpos;
33302 MenhirLib.EngineTypes.next = _menhir_stack;
33303 });
33304 (fun _menhir_env ->
33305 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33306 let {
33307 MenhirLib.EngineTypes.semv = _5;
33308 MenhirLib.EngineTypes.startp = _startpos__5_;
33309 MenhirLib.EngineTypes.endp = _endpos__5_;
33310 MenhirLib.EngineTypes.next = {
33311 MenhirLib.EngineTypes.semv = _4;
33312 MenhirLib.EngineTypes.startp = _startpos__4_;
33313 MenhirLib.EngineTypes.endp = _endpos__4_;
33314 MenhirLib.EngineTypes.next = {
33315 MenhirLib.EngineTypes.semv = _3;
33316 MenhirLib.EngineTypes.startp = _startpos__3_;
33317 MenhirLib.EngineTypes.endp = _endpos__3_;
33318 MenhirLib.EngineTypes.next = {
33319 MenhirLib.EngineTypes.semv = _2;
33320 MenhirLib.EngineTypes.startp = _startpos__2_;
33321 MenhirLib.EngineTypes.endp = _endpos__2_;
33322 MenhirLib.EngineTypes.next = {
33323 MenhirLib.EngineTypes.state = _menhir_s;
33324 MenhirLib.EngineTypes.semv = _1;
33325 MenhirLib.EngineTypes.startp = _startpos__1_;
33326 MenhirLib.EngineTypes.endp = _endpos__1_;
33327 MenhirLib.EngineTypes.next = _menhir_stack;
33328 };
33329 };
33330 };
33331 };
33332 } = _menhir_stack in
33333 let _5 : 'tv_single_statement = Obj.magic _5 in
33334 let _4 : (
33335 # 80 "parser_cocci_menhir.mly"
33336 (Data.clt)
33337 # 33338 "parser_cocci_menhir.ml"
33338 ) = Obj.magic _4 in
33339 let _3 : 'tv_eexpr = Obj.magic _3 in
33340 let _2 : (
33341 # 79 "parser_cocci_menhir.mly"
33342 (Data.clt)
33343 # 33344 "parser_cocci_menhir.ml"
33344 ) = Obj.magic _2 in
33345 let _1 : (
33346 # 59 "parser_cocci_menhir.mly"
33347 (Data.clt)
33348 # 33349 "parser_cocci_menhir.ml"
33349 ) = Obj.magic _1 in
33350 let _startpos = _startpos__1_ in
33351 let _endpos = _endpos__5_ in
33352 let _v : 'tv_statement =
33353 # 942 "parser_cocci_menhir.mly"
33354 ( P.whileloop _1 _2 _3 _4 _5 )
33355 # 33356 "parser_cocci_menhir.ml"
33356 in
33357 _menhir_env.MenhirLib.EngineTypes.stack <- {
33358 MenhirLib.EngineTypes.state = _menhir_s;
33359 MenhirLib.EngineTypes.semv = Obj.repr _v;
33360 MenhirLib.EngineTypes.startp = _startpos;
33361 MenhirLib.EngineTypes.endp = _endpos;
33362 MenhirLib.EngineTypes.next = _menhir_stack;
33363 });
33364 (fun _menhir_env ->
33365 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33366 let {
33367 MenhirLib.EngineTypes.semv = _7;
33368 MenhirLib.EngineTypes.startp = _startpos__7_;
33369 MenhirLib.EngineTypes.endp = _endpos__7_;
33370 MenhirLib.EngineTypes.next = {
33371 MenhirLib.EngineTypes.semv = _6;
33372 MenhirLib.EngineTypes.startp = _startpos__6_;
33373 MenhirLib.EngineTypes.endp = _endpos__6_;
33374 MenhirLib.EngineTypes.next = {
33375 MenhirLib.EngineTypes.semv = _5;
33376 MenhirLib.EngineTypes.startp = _startpos__5_;
33377 MenhirLib.EngineTypes.endp = _endpos__5_;
33378 MenhirLib.EngineTypes.next = {
33379 MenhirLib.EngineTypes.semv = _4;
33380 MenhirLib.EngineTypes.startp = _startpos__4_;
33381 MenhirLib.EngineTypes.endp = _endpos__4_;
33382 MenhirLib.EngineTypes.next = {
33383 MenhirLib.EngineTypes.semv = _3;
33384 MenhirLib.EngineTypes.startp = _startpos__3_;
33385 MenhirLib.EngineTypes.endp = _endpos__3_;
33386 MenhirLib.EngineTypes.next = {
33387 MenhirLib.EngineTypes.semv = _2;
33388 MenhirLib.EngineTypes.startp = _startpos__2_;
33389 MenhirLib.EngineTypes.endp = _endpos__2_;
33390 MenhirLib.EngineTypes.next = {
33391 MenhirLib.EngineTypes.state = _menhir_s;
33392 MenhirLib.EngineTypes.semv = _1;
33393 MenhirLib.EngineTypes.startp = _startpos__1_;
33394 MenhirLib.EngineTypes.endp = _endpos__1_;
33395 MenhirLib.EngineTypes.next = _menhir_stack;
33396 };
33397 };
33398 };
33399 };
33400 };
33401 };
33402 } = _menhir_stack in
33403 let _7 : (
33404 # 110 "parser_cocci_menhir.mly"
33405 (Data.clt)
33406 # 33407 "parser_cocci_menhir.ml"
33407 ) = Obj.magic _7 in
33408 let _6 : (
33409 # 80 "parser_cocci_menhir.mly"
33410 (Data.clt)
33411 # 33412 "parser_cocci_menhir.ml"
33412 ) = Obj.magic _6 in
33413 let _5 : 'tv_eexpr = Obj.magic _5 in
33414 let _4 : (
33415 # 79 "parser_cocci_menhir.mly"
33416 (Data.clt)
33417 # 33418 "parser_cocci_menhir.ml"
33418 ) = Obj.magic _4 in
33419 let _3 : (
33420 # 59 "parser_cocci_menhir.mly"
33421 (Data.clt)
33422 # 33423 "parser_cocci_menhir.ml"
33423 ) = Obj.magic _3 in
33424 let _2 : 'tv_single_statement = Obj.magic _2 in
33425 let _1 : (
33426 # 59 "parser_cocci_menhir.mly"
33427 (Data.clt)
33428 # 33429 "parser_cocci_menhir.ml"
33429 ) = Obj.magic _1 in
33430 let _startpos = _startpos__1_ in
33431 let _endpos = _endpos__7_ in
33432 let _v : 'tv_statement =
33433 # 944 "parser_cocci_menhir.mly"
33434 ( P.doloop _1 _2 _3 _4 _5 _6 _7 )
33435 # 33436 "parser_cocci_menhir.ml"
33436 in
33437 _menhir_env.MenhirLib.EngineTypes.stack <- {
33438 MenhirLib.EngineTypes.state = _menhir_s;
33439 MenhirLib.EngineTypes.semv = Obj.repr _v;
33440 MenhirLib.EngineTypes.startp = _startpos;
33441 MenhirLib.EngineTypes.endp = _endpos;
33442 MenhirLib.EngineTypes.next = _menhir_stack;
33443 });
33444 (fun _menhir_env ->
33445 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33446 let {
33447 MenhirLib.EngineTypes.semv = _5;
33448 MenhirLib.EngineTypes.startp = _startpos__5_;
33449 MenhirLib.EngineTypes.endp = _endpos__5_;
33450 MenhirLib.EngineTypes.next = {
33451 MenhirLib.EngineTypes.semv = _4;
33452 MenhirLib.EngineTypes.startp = _startpos__4_;
33453 MenhirLib.EngineTypes.endp = _endpos__4_;
33454 MenhirLib.EngineTypes.next = {
33455 MenhirLib.EngineTypes.semv = _3;
33456 MenhirLib.EngineTypes.startp = _startpos__3_;
33457 MenhirLib.EngineTypes.endp = _endpos__3_;
33458 MenhirLib.EngineTypes.next = {
33459 MenhirLib.EngineTypes.semv = _2;
33460 MenhirLib.EngineTypes.startp = _startpos__2_;
33461 MenhirLib.EngineTypes.endp = _endpos__2_;
33462 MenhirLib.EngineTypes.next = {
33463 MenhirLib.EngineTypes.state = _menhir_s;
33464 MenhirLib.EngineTypes.semv = _1;
33465 MenhirLib.EngineTypes.startp = _startpos__1_;
33466 MenhirLib.EngineTypes.endp = _endpos__1_;
33467 MenhirLib.EngineTypes.next = _menhir_stack;
33468 };
33469 };
33470 };
33471 };
33472 } = _menhir_stack in
33473 let _5 : 'tv_single_statement = Obj.magic _5 in
33474 let _4 : (
33475 # 80 "parser_cocci_menhir.mly"
33476 (Data.clt)
33477 # 33478 "parser_cocci_menhir.ml"
33478 ) = Obj.magic _4 in
33479 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
33480 let _2 : (
33481 # 79 "parser_cocci_menhir.mly"
33482 (Data.clt)
33483 # 33484 "parser_cocci_menhir.ml"
33484 ) = Obj.magic _2 in
33485 let _1 : 'tv_iter_ident = Obj.magic _1 in
33486 let _startpos = _startpos__1_ in
33487 let _endpos = _endpos__5_ in
33488 let _v : 'tv_statement =
33489 # 946 "parser_cocci_menhir.mly"
33490 ( P.iterator _1 _2 _3 _4 _5 )
33491 # 33492 "parser_cocci_menhir.ml"
33492 in
33493 _menhir_env.MenhirLib.EngineTypes.stack <- {
33494 MenhirLib.EngineTypes.state = _menhir_s;
33495 MenhirLib.EngineTypes.semv = Obj.repr _v;
33496 MenhirLib.EngineTypes.startp = _startpos;
33497 MenhirLib.EngineTypes.endp = _endpos;
33498 MenhirLib.EngineTypes.next = _menhir_stack;
33499 });
33500 (fun _menhir_env ->
33501 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33502 let {
33503 MenhirLib.EngineTypes.semv = _8;
33504 MenhirLib.EngineTypes.startp = _startpos__8_;
33505 MenhirLib.EngineTypes.endp = _endpos__8_;
33506 MenhirLib.EngineTypes.next = {
33507 MenhirLib.EngineTypes.semv = _7;
33508 MenhirLib.EngineTypes.startp = _startpos__7_;
33509 MenhirLib.EngineTypes.endp = _endpos__7_;
33510 MenhirLib.EngineTypes.next = {
33511 MenhirLib.EngineTypes.semv = _6;
33512 MenhirLib.EngineTypes.startp = _startpos__6_;
33513 MenhirLib.EngineTypes.endp = _endpos__6_;
33514 MenhirLib.EngineTypes.next = {
33515 MenhirLib.EngineTypes.semv = _5;
33516 MenhirLib.EngineTypes.startp = _startpos__5_;
33517 MenhirLib.EngineTypes.endp = _endpos__5_;
33518 MenhirLib.EngineTypes.next = {
33519 MenhirLib.EngineTypes.semv = _4;
33520 MenhirLib.EngineTypes.startp = _startpos__4_;
33521 MenhirLib.EngineTypes.endp = _endpos__4_;
33522 MenhirLib.EngineTypes.next = {
33523 MenhirLib.EngineTypes.semv = _3;
33524 MenhirLib.EngineTypes.startp = _startpos__3_;
33525 MenhirLib.EngineTypes.endp = _endpos__3_;
33526 MenhirLib.EngineTypes.next = {
33527 MenhirLib.EngineTypes.semv = _2;
33528 MenhirLib.EngineTypes.startp = _startpos__2_;
33529 MenhirLib.EngineTypes.endp = _endpos__2_;
33530 MenhirLib.EngineTypes.next = {
33531 MenhirLib.EngineTypes.state = _menhir_s;
33532 MenhirLib.EngineTypes.semv = _1;
33533 MenhirLib.EngineTypes.startp = _startpos__1_;
33534 MenhirLib.EngineTypes.endp = _endpos__1_;
33535 MenhirLib.EngineTypes.next = _menhir_stack;
33536 };
33537 };
33538 };
33539 };
33540 };
33541 };
33542 };
33543 } = _menhir_stack in
33544 let _8 : (
33545 # 104 "parser_cocci_menhir.mly"
33546 (Data.clt)
33547 # 33548 "parser_cocci_menhir.ml"
33548 ) = Obj.magic _8 in
33549 let _7 : 'tv_list_case_line_ = Obj.magic _7 in
33550 let _6 : 'tv_list_decl_var_ = Obj.magic _6 in
33551 let _5 : (
33552 # 104 "parser_cocci_menhir.mly"
33553 (Data.clt)
33554 # 33555 "parser_cocci_menhir.ml"
33555 ) = Obj.magic _5 in
33556 let _4 : (
33557 # 80 "parser_cocci_menhir.mly"
33558 (Data.clt)
33559 # 33560 "parser_cocci_menhir.ml"
33560 ) = Obj.magic _4 in
33561 let _3 : 'tv_eexpr = Obj.magic _3 in
33562 let _2 : (
33563 # 79 "parser_cocci_menhir.mly"
33564 (Data.clt)
33565 # 33566 "parser_cocci_menhir.ml"
33566 ) = Obj.magic _2 in
33567 let _1 : (
33568 # 59 "parser_cocci_menhir.mly"
33569 (Data.clt)
33570 # 33571 "parser_cocci_menhir.ml"
33571 ) = Obj.magic _1 in
33572 let _startpos = _startpos__1_ in
33573 let _endpos = _endpos__8_ in
33574 let _v : 'tv_statement =
33575 # 948 "parser_cocci_menhir.mly"
33576 ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 )
33577 # 33578 "parser_cocci_menhir.ml"
33578 in
33579 _menhir_env.MenhirLib.EngineTypes.stack <- {
33580 MenhirLib.EngineTypes.state = _menhir_s;
33581 MenhirLib.EngineTypes.semv = Obj.repr _v;
33582 MenhirLib.EngineTypes.startp = _startpos;
33583 MenhirLib.EngineTypes.endp = _endpos;
33584 MenhirLib.EngineTypes.next = _menhir_stack;
33585 });
33586 (fun _menhir_env ->
33587 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33588 let {
33589 MenhirLib.EngineTypes.semv = _3;
33590 MenhirLib.EngineTypes.startp = _startpos__3_;
33591 MenhirLib.EngineTypes.endp = _endpos__3_;
33592 MenhirLib.EngineTypes.next = {
33593 MenhirLib.EngineTypes.semv = _2;
33594 MenhirLib.EngineTypes.startp = _startpos__2_;
33595 MenhirLib.EngineTypes.endp = _endpos__2_;
33596 MenhirLib.EngineTypes.next = {
33597 MenhirLib.EngineTypes.state = _menhir_s;
33598 MenhirLib.EngineTypes.semv = _1;
33599 MenhirLib.EngineTypes.startp = _startpos__1_;
33600 MenhirLib.EngineTypes.endp = _endpos__1_;
33601 MenhirLib.EngineTypes.next = _menhir_stack;
33602 };
33603 };
33604 } = _menhir_stack in
33605 let _3 : (
33606 # 110 "parser_cocci_menhir.mly"
33607 (Data.clt)
33608 # 33609 "parser_cocci_menhir.ml"
33609 ) = Obj.magic _3 in
33610 let _2 : 'tv_eexpr = Obj.magic _2 in
33611 let _1 : (
33612 # 59 "parser_cocci_menhir.mly"
33613 (Data.clt)
33614 # 33615 "parser_cocci_menhir.ml"
33615 ) = Obj.magic _1 in
33616 let _startpos = _startpos__1_ in
33617 let _endpos = _endpos__3_ in
33618 let _v : 'tv_statement =
33619 # 949 "parser_cocci_menhir.mly"
33620 ( P.ret_exp _1 _2 _3 )
33621 # 33622 "parser_cocci_menhir.ml"
33622 in
33623 _menhir_env.MenhirLib.EngineTypes.stack <- {
33624 MenhirLib.EngineTypes.state = _menhir_s;
33625 MenhirLib.EngineTypes.semv = Obj.repr _v;
33626 MenhirLib.EngineTypes.startp = _startpos;
33627 MenhirLib.EngineTypes.endp = _endpos;
33628 MenhirLib.EngineTypes.next = _menhir_stack;
33629 });
33630 (fun _menhir_env ->
33631 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33632 let {
33633 MenhirLib.EngineTypes.semv = _2;
33634 MenhirLib.EngineTypes.startp = _startpos__2_;
33635 MenhirLib.EngineTypes.endp = _endpos__2_;
33636 MenhirLib.EngineTypes.next = {
33637 MenhirLib.EngineTypes.state = _menhir_s;
33638 MenhirLib.EngineTypes.semv = _1;
33639 MenhirLib.EngineTypes.startp = _startpos__1_;
33640 MenhirLib.EngineTypes.endp = _endpos__1_;
33641 MenhirLib.EngineTypes.next = _menhir_stack;
33642 };
33643 } = _menhir_stack in
33644 let _2 : (
33645 # 110 "parser_cocci_menhir.mly"
33646 (Data.clt)
33647 # 33648 "parser_cocci_menhir.ml"
33648 ) = Obj.magic _2 in
33649 let _1 : (
33650 # 59 "parser_cocci_menhir.mly"
33651 (Data.clt)
33652 # 33653 "parser_cocci_menhir.ml"
33653 ) = Obj.magic _1 in
33654 let _startpos = _startpos__1_ in
33655 let _endpos = _endpos__2_ in
33656 let _v : 'tv_statement =
33657 # 950 "parser_cocci_menhir.mly"
33658 ( P.ret _1 _2 )
33659 # 33660 "parser_cocci_menhir.ml"
33660 in
33661 _menhir_env.MenhirLib.EngineTypes.stack <- {
33662 MenhirLib.EngineTypes.state = _menhir_s;
33663 MenhirLib.EngineTypes.semv = Obj.repr _v;
33664 MenhirLib.EngineTypes.startp = _startpos;
33665 MenhirLib.EngineTypes.endp = _endpos;
33666 MenhirLib.EngineTypes.next = _menhir_stack;
33667 });
33668 (fun _menhir_env ->
33669 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33670 let {
33671 MenhirLib.EngineTypes.semv = _2;
33672 MenhirLib.EngineTypes.startp = _startpos__2_;
33673 MenhirLib.EngineTypes.endp = _endpos__2_;
33674 MenhirLib.EngineTypes.next = {
33675 MenhirLib.EngineTypes.state = _menhir_s;
33676 MenhirLib.EngineTypes.semv = _1;
33677 MenhirLib.EngineTypes.startp = _startpos__1_;
33678 MenhirLib.EngineTypes.endp = _endpos__1_;
33679 MenhirLib.EngineTypes.next = _menhir_stack;
33680 };
33681 } = _menhir_stack in
33682 let _2 : (
33683 # 110 "parser_cocci_menhir.mly"
33684 (Data.clt)
33685 # 33686 "parser_cocci_menhir.ml"
33686 ) = Obj.magic _2 in
33687 let _1 : (
33688 # 60 "parser_cocci_menhir.mly"
33689 (Data.clt)
33690 # 33691 "parser_cocci_menhir.ml"
33691 ) = Obj.magic _1 in
33692 let _startpos = _startpos__1_ in
33693 let _endpos = _endpos__2_ in
33694 let _v : 'tv_statement =
33695 # 951 "parser_cocci_menhir.mly"
33696 ( P.break _1 _2 )
33697 # 33698 "parser_cocci_menhir.ml"
33698 in
33699 _menhir_env.MenhirLib.EngineTypes.stack <- {
33700 MenhirLib.EngineTypes.state = _menhir_s;
33701 MenhirLib.EngineTypes.semv = Obj.repr _v;
33702 MenhirLib.EngineTypes.startp = _startpos;
33703 MenhirLib.EngineTypes.endp = _endpos;
33704 MenhirLib.EngineTypes.next = _menhir_stack;
33705 });
33706 (fun _menhir_env ->
33707 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33708 let {
33709 MenhirLib.EngineTypes.semv = _2;
33710 MenhirLib.EngineTypes.startp = _startpos__2_;
33711 MenhirLib.EngineTypes.endp = _endpos__2_;
33712 MenhirLib.EngineTypes.next = {
33713 MenhirLib.EngineTypes.state = _menhir_s;
33714 MenhirLib.EngineTypes.semv = _1;
33715 MenhirLib.EngineTypes.startp = _startpos__1_;
33716 MenhirLib.EngineTypes.endp = _endpos__1_;
33717 MenhirLib.EngineTypes.next = _menhir_stack;
33718 };
33719 } = _menhir_stack in
33720 let _2 : (
33721 # 110 "parser_cocci_menhir.mly"
33722 (Data.clt)
33723 # 33724 "parser_cocci_menhir.ml"
33724 ) = Obj.magic _2 in
33725 let _1 : (
33726 # 60 "parser_cocci_menhir.mly"
33727 (Data.clt)
33728 # 33729 "parser_cocci_menhir.ml"
33729 ) = Obj.magic _1 in
33730 let _startpos = _startpos__1_ in
33731 let _endpos = _endpos__2_ in
33732 let _v : 'tv_statement =
33733 # 952 "parser_cocci_menhir.mly"
33734 ( P.cont _1 _2 )
33735 # 33736 "parser_cocci_menhir.ml"
33736 in
33737 _menhir_env.MenhirLib.EngineTypes.stack <- {
33738 MenhirLib.EngineTypes.state = _menhir_s;
33739 MenhirLib.EngineTypes.semv = Obj.repr _v;
33740 MenhirLib.EngineTypes.startp = _startpos;
33741 MenhirLib.EngineTypes.endp = _endpos;
33742 MenhirLib.EngineTypes.next = _menhir_stack;
33743 });
33744 (fun _menhir_env ->
33745 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33746 let {
33747 MenhirLib.EngineTypes.semv = _2;
33748 MenhirLib.EngineTypes.startp = _startpos__2_;
33749 MenhirLib.EngineTypes.endp = _endpos__2_;
33750 MenhirLib.EngineTypes.next = {
33751 MenhirLib.EngineTypes.state = _menhir_s;
33752 MenhirLib.EngineTypes.semv = _1;
33753 MenhirLib.EngineTypes.startp = _startpos__1_;
33754 MenhirLib.EngineTypes.endp = _endpos__1_;
33755 MenhirLib.EngineTypes.next = _menhir_stack;
33756 };
33757 } = _menhir_stack in
33758 let _2 : (
33759 # 79 "parser_cocci_menhir.mly"
33760 (Data.clt)
33761 # 33762 "parser_cocci_menhir.ml"
33762 ) = Obj.magic _2 in
33763 let _1 : 'tv_ident = Obj.magic _1 in
33764 let _startpos = _startpos__1_ in
33765 let _endpos = _endpos__2_ in
33766 let _v : 'tv_statement =
33767 # 953 "parser_cocci_menhir.mly"
33768 ( P.label _1 _2 )
33769 # 33770 "parser_cocci_menhir.ml"
33770 in
33771 _menhir_env.MenhirLib.EngineTypes.stack <- {
33772 MenhirLib.EngineTypes.state = _menhir_s;
33773 MenhirLib.EngineTypes.semv = Obj.repr _v;
33774 MenhirLib.EngineTypes.startp = _startpos;
33775 MenhirLib.EngineTypes.endp = _endpos;
33776 MenhirLib.EngineTypes.next = _menhir_stack;
33777 });
33778 (fun _menhir_env ->
33779 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33780 let {
33781 MenhirLib.EngineTypes.semv = _3;
33782 MenhirLib.EngineTypes.startp = _startpos__3_;
33783 MenhirLib.EngineTypes.endp = _endpos__3_;
33784 MenhirLib.EngineTypes.next = {
33785 MenhirLib.EngineTypes.semv = _2;
33786 MenhirLib.EngineTypes.startp = _startpos__2_;
33787 MenhirLib.EngineTypes.endp = _endpos__2_;
33788 MenhirLib.EngineTypes.next = {
33789 MenhirLib.EngineTypes.state = _menhir_s;
33790 MenhirLib.EngineTypes.semv = _1;
33791 MenhirLib.EngineTypes.startp = _startpos__1_;
33792 MenhirLib.EngineTypes.endp = _endpos__1_;
33793 MenhirLib.EngineTypes.next = _menhir_stack;
33794 };
33795 };
33796 } = _menhir_stack in
33797 let _3 : (
33798 # 110 "parser_cocci_menhir.mly"
33799 (Data.clt)
33800 # 33801 "parser_cocci_menhir.ml"
33801 ) = Obj.magic _3 in
33802 let _2 : 'tv_ident = Obj.magic _2 in
33803 let _1 : (
33804 # 60 "parser_cocci_menhir.mly"
33805 (Data.clt)
33806 # 33807 "parser_cocci_menhir.ml"
33807 ) = Obj.magic _1 in
33808 let _startpos = _startpos__1_ in
33809 let _endpos = _endpos__3_ in
33810 let _v : 'tv_statement =
33811 # 954 "parser_cocci_menhir.mly"
33812 ( P.goto _1 _2 _3 )
33813 # 33814 "parser_cocci_menhir.ml"
33814 in
33815 _menhir_env.MenhirLib.EngineTypes.stack <- {
33816 MenhirLib.EngineTypes.state = _menhir_s;
33817 MenhirLib.EngineTypes.semv = Obj.repr _v;
33818 MenhirLib.EngineTypes.startp = _startpos;
33819 MenhirLib.EngineTypes.endp = _endpos;
33820 MenhirLib.EngineTypes.next = _menhir_stack;
33821 });
33822 (fun _menhir_env ->
33823 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33824 let {
33825 MenhirLib.EngineTypes.semv = _3;
33826 MenhirLib.EngineTypes.startp = _startpos__3_;
33827 MenhirLib.EngineTypes.endp = _endpos__3_;
33828 MenhirLib.EngineTypes.next = {
33829 MenhirLib.EngineTypes.semv = _2;
33830 MenhirLib.EngineTypes.startp = _startpos__2_;
33831 MenhirLib.EngineTypes.endp = _endpos__2_;
33832 MenhirLib.EngineTypes.next = {
33833 MenhirLib.EngineTypes.state = _menhir_s;
33834 MenhirLib.EngineTypes.semv = _1;
33835 MenhirLib.EngineTypes.startp = _startpos__1_;
33836 MenhirLib.EngineTypes.endp = _endpos__1_;
33837 MenhirLib.EngineTypes.next = _menhir_stack;
33838 };
33839 };
33840 } = _menhir_stack in
33841 let _3 : (
33842 # 104 "parser_cocci_menhir.mly"
33843 (Data.clt)
33844 # 33845 "parser_cocci_menhir.ml"
33845 ) = Obj.magic _3 in
33846 let _2 : 'tv_fun_start = Obj.magic _2 in
33847 let _1 : (
33848 # 104 "parser_cocci_menhir.mly"
33849 (Data.clt)
33850 # 33851 "parser_cocci_menhir.ml"
33851 ) = Obj.magic _1 in
33852 let _startpos = _startpos__1_ in
33853 let _endpos = _endpos__3_ in
33854 let _v : 'tv_statement =
33855 # 956 "parser_cocci_menhir.mly"
33856 ( P.seq _1 _2 _3 )
33857 # 33858 "parser_cocci_menhir.ml"
33858 in
33859 _menhir_env.MenhirLib.EngineTypes.stack <- {
33860 MenhirLib.EngineTypes.state = _menhir_s;
33861 MenhirLib.EngineTypes.semv = Obj.repr _v;
33862 MenhirLib.EngineTypes.startp = _startpos;
33863 MenhirLib.EngineTypes.endp = _endpos;
33864 MenhirLib.EngineTypes.next = _menhir_stack;
33865 });
33866 (fun _menhir_env ->
33867 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33868 let {
33869 MenhirLib.EngineTypes.semv = w;
33870 MenhirLib.EngineTypes.startp = _startpos_w_;
33871 MenhirLib.EngineTypes.endp = _endpos_w_;
33872 MenhirLib.EngineTypes.next = {
33873 MenhirLib.EngineTypes.state = _menhir_s;
33874 MenhirLib.EngineTypes.semv = _1;
33875 MenhirLib.EngineTypes.startp = _startpos__1_;
33876 MenhirLib.EngineTypes.endp = _endpos__1_;
33877 MenhirLib.EngineTypes.next = _menhir_stack;
33878 };
33879 } = _menhir_stack in
33880 let w : 'tv_list_whenppdecs_ = Obj.magic w in
33881 let _1 : (
33882 # 76 "parser_cocci_menhir.mly"
33883 (Data.clt)
33884 # 33885 "parser_cocci_menhir.ml"
33885 ) = Obj.magic _1 in
33886 let _startpos = _startpos__1_ in
33887 let _endpos = _endpos_w_ in
33888 let _v : 'tv_stm_dots =
33889 # 960 "parser_cocci_menhir.mly"
33890 ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) )
33891 # 33892 "parser_cocci_menhir.ml"
33892 in
33893 _menhir_env.MenhirLib.EngineTypes.stack <- {
33894 MenhirLib.EngineTypes.state = _menhir_s;
33895 MenhirLib.EngineTypes.semv = Obj.repr _v;
33896 MenhirLib.EngineTypes.startp = _startpos;
33897 MenhirLib.EngineTypes.endp = _endpos;
33898 MenhirLib.EngineTypes.next = _menhir_stack;
33899 });
33900 (fun _menhir_env ->
33901 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33902 let {
33903 MenhirLib.EngineTypes.semv = c;
33904 MenhirLib.EngineTypes.startp = _startpos_c_;
33905 MenhirLib.EngineTypes.endp = _endpos_c_;
33906 MenhirLib.EngineTypes.next = {
33907 MenhirLib.EngineTypes.semv = b;
33908 MenhirLib.EngineTypes.startp = _startpos_b_;
33909 MenhirLib.EngineTypes.endp = _endpos_b_;
33910 MenhirLib.EngineTypes.next = {
33911 MenhirLib.EngineTypes.semv = w;
33912 MenhirLib.EngineTypes.startp = _startpos_w_;
33913 MenhirLib.EngineTypes.endp = _endpos_w_;
33914 MenhirLib.EngineTypes.next = {
33915 MenhirLib.EngineTypes.state = _menhir_s;
33916 MenhirLib.EngineTypes.semv = _1;
33917 MenhirLib.EngineTypes.startp = _startpos__1_;
33918 MenhirLib.EngineTypes.endp = _endpos__1_;
33919 MenhirLib.EngineTypes.next = _menhir_stack;
33920 };
33921 };
33922 };
33923 } = _menhir_stack in
33924 let c : (
33925 # 76 "parser_cocci_menhir.mly"
33926 (Data.clt)
33927 # 33928 "parser_cocci_menhir.ml"
33928 ) = Obj.magic c in
33929 let b : 'tv_nest_start = Obj.magic b in
33930 let w : 'tv_list_whenppdecs_ = Obj.magic w in
33931 let _1 : (
33932 # 76 "parser_cocci_menhir.mly"
33933 (Data.clt)
33934 # 33935 "parser_cocci_menhir.ml"
33935 ) = Obj.magic _1 in
33936 let _startpos = _startpos__1_ in
33937 let _endpos = _endpos_c_ in
33938 let _v : 'tv_stm_dots =
33939 # 962 "parser_cocci_menhir.mly"
33940 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b,
33941 P.clt2mcode "...>" c, List.concat w, false)) )
33942 # 33943 "parser_cocci_menhir.ml"
33943 in
33944 _menhir_env.MenhirLib.EngineTypes.stack <- {
33945 MenhirLib.EngineTypes.state = _menhir_s;
33946 MenhirLib.EngineTypes.semv = Obj.repr _v;
33947 MenhirLib.EngineTypes.startp = _startpos;
33948 MenhirLib.EngineTypes.endp = _endpos;
33949 MenhirLib.EngineTypes.next = _menhir_stack;
33950 });
33951 (fun _menhir_env ->
33952 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33953 let {
33954 MenhirLib.EngineTypes.semv = c;
33955 MenhirLib.EngineTypes.startp = _startpos_c_;
33956 MenhirLib.EngineTypes.endp = _endpos_c_;
33957 MenhirLib.EngineTypes.next = {
33958 MenhirLib.EngineTypes.semv = b;
33959 MenhirLib.EngineTypes.startp = _startpos_b_;
33960 MenhirLib.EngineTypes.endp = _endpos_b_;
33961 MenhirLib.EngineTypes.next = {
33962 MenhirLib.EngineTypes.semv = w;
33963 MenhirLib.EngineTypes.startp = _startpos_w_;
33964 MenhirLib.EngineTypes.endp = _endpos_w_;
33965 MenhirLib.EngineTypes.next = {
33966 MenhirLib.EngineTypes.state = _menhir_s;
33967 MenhirLib.EngineTypes.semv = _1;
33968 MenhirLib.EngineTypes.startp = _startpos__1_;
33969 MenhirLib.EngineTypes.endp = _endpos__1_;
33970 MenhirLib.EngineTypes.next = _menhir_stack;
33971 };
33972 };
33973 };
33974 } = _menhir_stack in
33975 let c : (
33976 # 76 "parser_cocci_menhir.mly"
33977 (Data.clt)
33978 # 33979 "parser_cocci_menhir.ml"
33979 ) = Obj.magic c in
33980 let b : 'tv_nest_start = Obj.magic b in
33981 let w : 'tv_list_whenppdecs_ = Obj.magic w in
33982 let _1 : (
33983 # 76 "parser_cocci_menhir.mly"
33984 (Data.clt)
33985 # 33986 "parser_cocci_menhir.ml"
33986 ) = Obj.magic _1 in
33987 let _startpos = _startpos__1_ in
33988 let _endpos = _endpos_c_ in
33989 let _v : 'tv_stm_dots =
33990 # 965 "parser_cocci_menhir.mly"
33991 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b,
33992 P.clt2mcode "...+>" c, List.concat w, true)) )
33993 # 33994 "parser_cocci_menhir.ml"
33994 in
33995 _menhir_env.MenhirLib.EngineTypes.stack <- {
33996 MenhirLib.EngineTypes.state = _menhir_s;
33997 MenhirLib.EngineTypes.semv = Obj.repr _v;
33998 MenhirLib.EngineTypes.startp = _startpos;
33999 MenhirLib.EngineTypes.endp = _endpos;
34000 MenhirLib.EngineTypes.next = _menhir_stack;
34001 });
34002 (fun _menhir_env ->
34003 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34004 let {
34005 MenhirLib.EngineTypes.state = _menhir_s;
34006 MenhirLib.EngineTypes.semv = s;
34007 MenhirLib.EngineTypes.startp = _startpos_s_;
34008 MenhirLib.EngineTypes.endp = _endpos_s_;
34009 MenhirLib.EngineTypes.next = _menhir_stack;
34010 } = _menhir_stack in
34011 let s : (
34012 # 55 "parser_cocci_menhir.mly"
34013 (Data.clt)
34014 # 34015 "parser_cocci_menhir.ml"
34015 ) = Obj.magic s in
34016 let _startpos = _startpos_s_ in
34017 let _endpos = _endpos_s_ in
34018 let _v : 'tv_storage =
34019 # 891 "parser_cocci_menhir.mly"
34020 ( P.clt2mcode Ast.Static s )
34021 # 34022 "parser_cocci_menhir.ml"
34022 in
34023 _menhir_env.MenhirLib.EngineTypes.stack <- {
34024 MenhirLib.EngineTypes.state = _menhir_s;
34025 MenhirLib.EngineTypes.semv = Obj.repr _v;
34026 MenhirLib.EngineTypes.startp = _startpos;
34027 MenhirLib.EngineTypes.endp = _endpos;
34028 MenhirLib.EngineTypes.next = _menhir_stack;
34029 });
34030 (fun _menhir_env ->
34031 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34032 let {
34033 MenhirLib.EngineTypes.state = _menhir_s;
34034 MenhirLib.EngineTypes.semv = s;
34035 MenhirLib.EngineTypes.startp = _startpos_s_;
34036 MenhirLib.EngineTypes.endp = _endpos_s_;
34037 MenhirLib.EngineTypes.next = _menhir_stack;
34038 } = _menhir_stack in
34039 let s : (
34040 # 55 "parser_cocci_menhir.mly"
34041 (Data.clt)
34042 # 34043 "parser_cocci_menhir.ml"
34043 ) = Obj.magic s in
34044 let _startpos = _startpos_s_ in
34045 let _endpos = _endpos_s_ in
34046 let _v : 'tv_storage =
34047 # 892 "parser_cocci_menhir.mly"
34048 ( P.clt2mcode Ast.Auto s )
34049 # 34050 "parser_cocci_menhir.ml"
34050 in
34051 _menhir_env.MenhirLib.EngineTypes.stack <- {
34052 MenhirLib.EngineTypes.state = _menhir_s;
34053 MenhirLib.EngineTypes.semv = Obj.repr _v;
34054 MenhirLib.EngineTypes.startp = _startpos;
34055 MenhirLib.EngineTypes.endp = _endpos;
34056 MenhirLib.EngineTypes.next = _menhir_stack;
34057 });
34058 (fun _menhir_env ->
34059 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34060 let {
34061 MenhirLib.EngineTypes.state = _menhir_s;
34062 MenhirLib.EngineTypes.semv = s;
34063 MenhirLib.EngineTypes.startp = _startpos_s_;
34064 MenhirLib.EngineTypes.endp = _endpos_s_;
34065 MenhirLib.EngineTypes.next = _menhir_stack;
34066 } = _menhir_stack in
34067 let s : (
34068 # 55 "parser_cocci_menhir.mly"
34069 (Data.clt)
34070 # 34071 "parser_cocci_menhir.ml"
34071 ) = Obj.magic s in
34072 let _startpos = _startpos_s_ in
34073 let _endpos = _endpos_s_ in
34074 let _v : 'tv_storage =
34075 # 893 "parser_cocci_menhir.mly"
34076 ( P.clt2mcode Ast.Register s )
34077 # 34078 "parser_cocci_menhir.ml"
34078 in
34079 _menhir_env.MenhirLib.EngineTypes.stack <- {
34080 MenhirLib.EngineTypes.state = _menhir_s;
34081 MenhirLib.EngineTypes.semv = Obj.repr _v;
34082 MenhirLib.EngineTypes.startp = _startpos;
34083 MenhirLib.EngineTypes.endp = _endpos;
34084 MenhirLib.EngineTypes.next = _menhir_stack;
34085 });
34086 (fun _menhir_env ->
34087 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34088 let {
34089 MenhirLib.EngineTypes.state = _menhir_s;
34090 MenhirLib.EngineTypes.semv = s;
34091 MenhirLib.EngineTypes.startp = _startpos_s_;
34092 MenhirLib.EngineTypes.endp = _endpos_s_;
34093 MenhirLib.EngineTypes.next = _menhir_stack;
34094 } = _menhir_stack in
34095 let s : (
34096 # 55 "parser_cocci_menhir.mly"
34097 (Data.clt)
34098 # 34099 "parser_cocci_menhir.ml"
34099 ) = Obj.magic s in
34100 let _startpos = _startpos_s_ in
34101 let _endpos = _endpos_s_ in
34102 let _v : 'tv_storage =
34103 # 894 "parser_cocci_menhir.mly"
34104 ( P.clt2mcode Ast.Extern s )
34105 # 34106 "parser_cocci_menhir.ml"
34106 in
34107 _menhir_env.MenhirLib.EngineTypes.stack <- {
34108 MenhirLib.EngineTypes.state = _menhir_s;
34109 MenhirLib.EngineTypes.semv = Obj.repr _v;
34110 MenhirLib.EngineTypes.startp = _startpos;
34111 MenhirLib.EngineTypes.endp = _endpos;
34112 MenhirLib.EngineTypes.next = _menhir_stack;
34113 });
34114 (fun _menhir_env ->
34115 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34116 let {
34117 MenhirLib.EngineTypes.state = _menhir_s;
34118 MenhirLib.EngineTypes.startp = _startpos__1_;
34119 MenhirLib.EngineTypes.endp = _endpos__1_;
34120 MenhirLib.EngineTypes.next = _menhir_stack;
34121 } = _menhir_stack in
34122 let _startpos = _startpos__1_ in
34123 let _endpos = _endpos__1_ in
34124 let _v : 'tv_struct_decl =
34125 # 625 "parser_cocci_menhir.mly"
34126 ( [] )
34127 # 34128 "parser_cocci_menhir.ml"
34128 in
34129 _menhir_env.MenhirLib.EngineTypes.stack <- {
34130 MenhirLib.EngineTypes.state = _menhir_s;
34131 MenhirLib.EngineTypes.semv = Obj.repr _v;
34132 MenhirLib.EngineTypes.startp = _startpos;
34133 MenhirLib.EngineTypes.endp = _endpos;
34134 MenhirLib.EngineTypes.next = _menhir_stack;
34135 });
34136 (fun _menhir_env ->
34137 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34138 let {
34139 MenhirLib.EngineTypes.state = _menhir_s;
34140 MenhirLib.EngineTypes.semv = _1;
34141 MenhirLib.EngineTypes.startp = _startpos__1_;
34142 MenhirLib.EngineTypes.endp = _endpos__1_;
34143 MenhirLib.EngineTypes.next = _menhir_stack;
34144 } = _menhir_stack in
34145 let _1 : 'tv_struct_decl_one = Obj.magic _1 in
34146 let _startpos = _startpos__1_ in
34147 let _endpos = _endpos__1_ in
34148 let _v : 'tv_struct_decl =
34149 # 626 "parser_cocci_menhir.mly"
34150 ( [_1] )
34151 # 34152 "parser_cocci_menhir.ml"
34152 in
34153 _menhir_env.MenhirLib.EngineTypes.stack <- {
34154 MenhirLib.EngineTypes.state = _menhir_s;
34155 MenhirLib.EngineTypes.semv = Obj.repr _v;
34156 MenhirLib.EngineTypes.startp = _startpos;
34157 MenhirLib.EngineTypes.endp = _endpos;
34158 MenhirLib.EngineTypes.next = _menhir_stack;
34159 });
34160 (fun _menhir_env ->
34161 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34162 let {
34163 MenhirLib.EngineTypes.state = _menhir_s;
34164 MenhirLib.EngineTypes.semv = _1;
34165 MenhirLib.EngineTypes.startp = _startpos__1_;
34166 MenhirLib.EngineTypes.endp = _endpos__1_;
34167 MenhirLib.EngineTypes.next = _menhir_stack;
34168 } = _menhir_stack in
34169 let _1 : 'tv_struct_decl_list_start = Obj.magic _1 in
34170 let _startpos = _startpos__1_ in
34171 let _endpos = _endpos__1_ in
34172 let _v : 'tv_struct_decl_list =
34173 # 648 "parser_cocci_menhir.mly"
34174 ( Ast0.wrap(Ast0.DOTS(_1)) )
34175 # 34176 "parser_cocci_menhir.ml"
34176 in
34177 _menhir_env.MenhirLib.EngineTypes.stack <- {
34178 MenhirLib.EngineTypes.state = _menhir_s;
34179 MenhirLib.EngineTypes.semv = Obj.repr _v;
34180 MenhirLib.EngineTypes.startp = _startpos;
34181 MenhirLib.EngineTypes.endp = _endpos;
34182 MenhirLib.EngineTypes.next = _menhir_stack;
34183 });
34184 (fun _menhir_env ->
34185 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34186 let {
34187 MenhirLib.EngineTypes.state = _menhir_s;
34188 MenhirLib.EngineTypes.semv = _1;
34189 MenhirLib.EngineTypes.startp = _startpos__1_;
34190 MenhirLib.EngineTypes.endp = _endpos__1_;
34191 MenhirLib.EngineTypes.next = _menhir_stack;
34192 } = _menhir_stack in
34193 let _1 : 'tv_struct_decl = Obj.magic _1 in
34194 let _startpos = _startpos__1_ in
34195 let _endpos = _endpos__1_ in
34196 let _v : 'tv_struct_decl_list_start =
34197 # 651 "parser_cocci_menhir.mly"
34198 ( _1 )
34199 # 34200 "parser_cocci_menhir.ml"
34200 in
34201 _menhir_env.MenhirLib.EngineTypes.stack <- {
34202 MenhirLib.EngineTypes.state = _menhir_s;
34203 MenhirLib.EngineTypes.semv = Obj.repr _v;
34204 MenhirLib.EngineTypes.startp = _startpos;
34205 MenhirLib.EngineTypes.endp = _endpos;
34206 MenhirLib.EngineTypes.next = _menhir_stack;
34207 });
34208 (fun _menhir_env ->
34209 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34210 let {
34211 MenhirLib.EngineTypes.semv = _2;
34212 MenhirLib.EngineTypes.startp = _startpos__2_;
34213 MenhirLib.EngineTypes.endp = _endpos__2_;
34214 MenhirLib.EngineTypes.next = {
34215 MenhirLib.EngineTypes.state = _menhir_s;
34216 MenhirLib.EngineTypes.semv = _1;
34217 MenhirLib.EngineTypes.startp = _startpos__1_;
34218 MenhirLib.EngineTypes.endp = _endpos__1_;
34219 MenhirLib.EngineTypes.next = _menhir_stack;
34220 };
34221 } = _menhir_stack in
34222 let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
34223 let _1 : 'tv_struct_decl = Obj.magic _1 in
34224 let _startpos = _startpos__1_ in
34225 let _endpos = _endpos__2_ in
34226 let _v : 'tv_struct_decl_list_start =
34227 # 652 "parser_cocci_menhir.mly"
34228 ( _1@_2 )
34229 # 34230 "parser_cocci_menhir.ml"
34230 in
34231 _menhir_env.MenhirLib.EngineTypes.stack <- {
34232 MenhirLib.EngineTypes.state = _menhir_s;
34233 MenhirLib.EngineTypes.semv = Obj.repr _v;
34234 MenhirLib.EngineTypes.startp = _startpos;
34235 MenhirLib.EngineTypes.endp = _endpos;
34236 MenhirLib.EngineTypes.next = _menhir_stack;
34237 });
34238 (fun _menhir_env ->
34239 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34240 let {
34241 MenhirLib.EngineTypes.semv = r;
34242 MenhirLib.EngineTypes.startp = _startpos_r_;
34243 MenhirLib.EngineTypes.endp = _endpos_r_;
34244 MenhirLib.EngineTypes.next = {
34245 MenhirLib.EngineTypes.state = _menhir_s;
34246 MenhirLib.EngineTypes.semv = d;
34247 MenhirLib.EngineTypes.startp = _startpos_d_;
34248 MenhirLib.EngineTypes.endp = _endpos_d_;
34249 MenhirLib.EngineTypes.next = _menhir_stack;
34250 };
34251 } = _menhir_stack in
34252 let r : 'tv_continue_struct_decl_list = Obj.magic r in
34253 let d : 'tv_edots_when_TEllipsis_struct_decl_one_ = Obj.magic d in
34254 let _startpos = _startpos_d_ in
34255 let _endpos = _endpos_r_ in
34256 let _v : 'tv_struct_decl_list_start =
34257 # 654 "parser_cocci_menhir.mly"
34258 ( (P.mkddots_one "..." d)::r )
34259 # 34260 "parser_cocci_menhir.ml"
34260 in
34261 _menhir_env.MenhirLib.EngineTypes.stack <- {
34262 MenhirLib.EngineTypes.state = _menhir_s;
34263 MenhirLib.EngineTypes.semv = Obj.repr _v;
34264 MenhirLib.EngineTypes.startp = _startpos;
34265 MenhirLib.EngineTypes.endp = _endpos;
34266 MenhirLib.EngineTypes.next = _menhir_stack;
34267 });
34268 (fun _menhir_env ->
34269 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34270 let {
34271 MenhirLib.EngineTypes.state = _menhir_s;
34272 MenhirLib.EngineTypes.semv = _1;
34273 MenhirLib.EngineTypes.startp = _startpos__1_;
34274 MenhirLib.EngineTypes.endp = _endpos__1_;
34275 MenhirLib.EngineTypes.next = _menhir_stack;
34276 } = _menhir_stack in
34277 let _1 : (
34278 # 68 "parser_cocci_menhir.mly"
34279 (Parse_aux.info)
34280 # 34281 "parser_cocci_menhir.ml"
34281 ) = Obj.magic _1 in
34282 let _startpos = _startpos__1_ in
34283 let _endpos = _endpos__1_ in
34284 let _v : 'tv_struct_decl_one =
34285 # 629 "parser_cocci_menhir.mly"
34286 ( P.meta_field _1 )
34287 # 34288 "parser_cocci_menhir.ml"
34288 in
34289 _menhir_env.MenhirLib.EngineTypes.stack <- {
34290 MenhirLib.EngineTypes.state = _menhir_s;
34291 MenhirLib.EngineTypes.semv = Obj.repr _v;
34292 MenhirLib.EngineTypes.startp = _startpos;
34293 MenhirLib.EngineTypes.endp = _endpos;
34294 MenhirLib.EngineTypes.next = _menhir_stack;
34295 });
34296 (fun _menhir_env ->
34297 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34298 let {
34299 MenhirLib.EngineTypes.semv = pv;
34300 MenhirLib.EngineTypes.startp = _startpos_pv_;
34301 MenhirLib.EngineTypes.endp = _endpos_pv_;
34302 MenhirLib.EngineTypes.next = {
34303 MenhirLib.EngineTypes.semv = d;
34304 MenhirLib.EngineTypes.startp = _startpos_d_;
34305 MenhirLib.EngineTypes.endp = _endpos_d_;
34306 MenhirLib.EngineTypes.next = {
34307 MenhirLib.EngineTypes.state = _menhir_s;
34308 MenhirLib.EngineTypes.semv = t;
34309 MenhirLib.EngineTypes.startp = _startpos_t_;
34310 MenhirLib.EngineTypes.endp = _endpos_t_;
34311 MenhirLib.EngineTypes.next = _menhir_stack;
34312 };
34313 };
34314 } = _menhir_stack in
34315 let pv : (
34316 # 110 "parser_cocci_menhir.mly"
34317 (Data.clt)
34318 # 34319 "parser_cocci_menhir.ml"
34319 ) = Obj.magic pv in
34320 let d : 'tv_d_ident = Obj.magic d in
34321 let t : 'tv_ctype = Obj.magic t in
34322 let _startpos = _startpos_t_ in
34323 let _endpos = _endpos_pv_ in
34324 let _v : 'tv_struct_decl_one =
34325 # 631 "parser_cocci_menhir.mly"
34326 ( let (id,fn) = d in
34327 Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) )
34328 # 34329 "parser_cocci_menhir.ml"
34329 in
34330 _menhir_env.MenhirLib.EngineTypes.stack <- {
34331 MenhirLib.EngineTypes.state = _menhir_s;
34332 MenhirLib.EngineTypes.semv = Obj.repr _v;
34333 MenhirLib.EngineTypes.startp = _startpos;
34334 MenhirLib.EngineTypes.endp = _endpos;
34335 MenhirLib.EngineTypes.next = _menhir_stack;
34336 });
34337 (fun _menhir_env ->
34338 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34339 let {
34340 MenhirLib.EngineTypes.semv = pv;
34341 MenhirLib.EngineTypes.startp = _startpos_pv_;
34342 MenhirLib.EngineTypes.endp = _endpos_pv_;
34343 MenhirLib.EngineTypes.next = {
34344 MenhirLib.EngineTypes.semv = rp2;
34345 MenhirLib.EngineTypes.startp = _startpos_rp2_;
34346 MenhirLib.EngineTypes.endp = _endpos_rp2_;
34347 MenhirLib.EngineTypes.next = {
34348 MenhirLib.EngineTypes.semv = p;
34349 MenhirLib.EngineTypes.startp = _startpos_p_;
34350 MenhirLib.EngineTypes.endp = _endpos_p_;
34351 MenhirLib.EngineTypes.next = {
34352 MenhirLib.EngineTypes.semv = lp2;
34353 MenhirLib.EngineTypes.startp = _startpos_lp2_;
34354 MenhirLib.EngineTypes.endp = _endpos_lp2_;
34355 MenhirLib.EngineTypes.next = {
34356 MenhirLib.EngineTypes.semv = rp1;
34357 MenhirLib.EngineTypes.startp = _startpos_rp1_;
34358 MenhirLib.EngineTypes.endp = _endpos_rp1_;
34359 MenhirLib.EngineTypes.next = {
34360 MenhirLib.EngineTypes.semv = d;
34361 MenhirLib.EngineTypes.startp = _startpos_d_;
34362 MenhirLib.EngineTypes.endp = _endpos_d_;
34363 MenhirLib.EngineTypes.next = {
34364 MenhirLib.EngineTypes.semv = st;
34365 MenhirLib.EngineTypes.startp = _startpos_st_;
34366 MenhirLib.EngineTypes.endp = _endpos_st_;
34367 MenhirLib.EngineTypes.next = {
34368 MenhirLib.EngineTypes.semv = lp1;
34369 MenhirLib.EngineTypes.startp = _startpos_lp1_;
34370 MenhirLib.EngineTypes.endp = _endpos_lp1_;
34371 MenhirLib.EngineTypes.next = {
34372 MenhirLib.EngineTypes.state = _menhir_s;
34373 MenhirLib.EngineTypes.semv = t;
34374 MenhirLib.EngineTypes.startp = _startpos_t_;
34375 MenhirLib.EngineTypes.endp = _endpos_t_;
34376 MenhirLib.EngineTypes.next = _menhir_stack;
34377 };
34378 };
34379 };
34380 };
34381 };
34382 };
34383 };
34384 };
34385 } = _menhir_stack in
34386 let pv : (
34387 # 110 "parser_cocci_menhir.mly"
34388 (Data.clt)
34389 # 34390 "parser_cocci_menhir.ml"
34390 ) = Obj.magic pv in
34391 let rp2 : (
34392 # 80 "parser_cocci_menhir.mly"
34393 (Data.clt)
34394 # 34395 "parser_cocci_menhir.ml"
34395 ) = Obj.magic rp2 in
34396 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
34397 let lp2 : (
34398 # 79 "parser_cocci_menhir.mly"
34399 (Data.clt)
34400 # 34401 "parser_cocci_menhir.ml"
34401 ) = Obj.magic lp2 in
34402 let rp1 : (
34403 # 80 "parser_cocci_menhir.mly"
34404 (Data.clt)
34405 # 34406 "parser_cocci_menhir.ml"
34406 ) = Obj.magic rp1 in
34407 let d : 'tv_d_ident = Obj.magic d in
34408 let st : (
34409 # 102 "parser_cocci_menhir.mly"
34410 (Data.clt)
34411 # 34412 "parser_cocci_menhir.ml"
34412 ) = Obj.magic st in
34413 let lp1 : (
34414 # 79 "parser_cocci_menhir.mly"
34415 (Data.clt)
34416 # 34417 "parser_cocci_menhir.ml"
34417 ) = Obj.magic lp1 in
34418 let t : 'tv_ctype = Obj.magic t in
34419 let _startpos = _startpos_t_ in
34420 let _endpos = _endpos_pv_ in
34421 let _v : 'tv_struct_decl_one =
34422 # 635 "parser_cocci_menhir.mly"
34423 ( let (id,fn) = d in
34424 let t =
34425 Ast0.wrap
34426 (Ast0.FunctionPointer
34427 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
34428 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
34429 Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) )
34430 # 34431 "parser_cocci_menhir.ml"
34431 in
34432 _menhir_env.MenhirLib.EngineTypes.stack <- {
34433 MenhirLib.EngineTypes.state = _menhir_s;
34434 MenhirLib.EngineTypes.semv = Obj.repr _v;
34435 MenhirLib.EngineTypes.startp = _startpos;
34436 MenhirLib.EngineTypes.endp = _endpos;
34437 MenhirLib.EngineTypes.next = _menhir_stack;
34438 });
34439 (fun _menhir_env ->
34440 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34441 let {
34442 MenhirLib.EngineTypes.semv = pv;
34443 MenhirLib.EngineTypes.startp = _startpos_pv_;
34444 MenhirLib.EngineTypes.endp = _endpos_pv_;
34445 MenhirLib.EngineTypes.next = {
34446 MenhirLib.EngineTypes.semv = d;
34447 MenhirLib.EngineTypes.startp = _startpos_d_;
34448 MenhirLib.EngineTypes.endp = _endpos_d_;
34449 MenhirLib.EngineTypes.next = {
34450 MenhirLib.EngineTypes.state = _menhir_s;
34451 MenhirLib.EngineTypes.semv = i;
34452 MenhirLib.EngineTypes.startp = _startpos_i_;
34453 MenhirLib.EngineTypes.endp = _endpos_i_;
34454 MenhirLib.EngineTypes.next = _menhir_stack;
34455 };
34456 };
34457 } = _menhir_stack in
34458 let pv : (
34459 # 110 "parser_cocci_menhir.mly"
34460 (Data.clt)
34461 # 34462 "parser_cocci_menhir.ml"
34462 ) = Obj.magic pv in
34463 let d : 'tv_d_ident = Obj.magic d in
34464 let i : 'tv_pure_ident = Obj.magic i in
34465 let _startpos = _startpos_i_ in
34466 let _endpos = _endpos_pv_ in
34467 let _v : 'tv_struct_decl_one = let cv =
34468
34469 # 39 "standard.mly"
34470 ( None )
34471 # 34472 "parser_cocci_menhir.ml"
34472
34473 in
34474
34475 # 643 "parser_cocci_menhir.mly"
34476 ( let (id,fn) = d in
34477 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
34478 Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv)) )
34479 # 34480 "parser_cocci_menhir.ml"
34480 in
34481 _menhir_env.MenhirLib.EngineTypes.stack <- {
34482 MenhirLib.EngineTypes.state = _menhir_s;
34483 MenhirLib.EngineTypes.semv = Obj.repr _v;
34484 MenhirLib.EngineTypes.startp = _startpos;
34485 MenhirLib.EngineTypes.endp = _endpos;
34486 MenhirLib.EngineTypes.next = _menhir_stack;
34487 });
34488 (fun _menhir_env ->
34489 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34490 let {
34491 MenhirLib.EngineTypes.semv = pv;
34492 MenhirLib.EngineTypes.startp = _startpos_pv_;
34493 MenhirLib.EngineTypes.endp = _endpos_pv_;
34494 MenhirLib.EngineTypes.next = {
34495 MenhirLib.EngineTypes.semv = d;
34496 MenhirLib.EngineTypes.startp = _startpos_d_;
34497 MenhirLib.EngineTypes.endp = _endpos_d_;
34498 MenhirLib.EngineTypes.next = {
34499 MenhirLib.EngineTypes.semv = i;
34500 MenhirLib.EngineTypes.startp = _startpos_i_;
34501 MenhirLib.EngineTypes.endp = _endpos_i_;
34502 MenhirLib.EngineTypes.next = {
34503 MenhirLib.EngineTypes.state = _menhir_s;
34504 MenhirLib.EngineTypes.semv = x0;
34505 MenhirLib.EngineTypes.startp = _startpos_x0_;
34506 MenhirLib.EngineTypes.endp = _endpos_x0_;
34507 MenhirLib.EngineTypes.next = _menhir_stack;
34508 };
34509 };
34510 };
34511 } = _menhir_stack in
34512 let pv : (
34513 # 110 "parser_cocci_menhir.mly"
34514 (Data.clt)
34515 # 34516 "parser_cocci_menhir.ml"
34516 ) = Obj.magic pv in
34517 let d : 'tv_d_ident = Obj.magic d in
34518 let i : 'tv_pure_ident = Obj.magic i in
34519 let x0 : 'tv_const_vol = Obj.magic x0 in
34520 let _startpos = _startpos_x0_ in
34521 let _endpos = _endpos_pv_ in
34522 let _v : 'tv_struct_decl_one = let cv =
34523 let x = x0 in
34524
34525 # 41 "standard.mly"
34526 ( Some x )
34527 # 34528 "parser_cocci_menhir.ml"
34528
34529 in
34530
34531 # 643 "parser_cocci_menhir.mly"
34532 ( let (id,fn) = d in
34533 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
34534 Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv)) )
34535 # 34536 "parser_cocci_menhir.ml"
34536 in
34537 _menhir_env.MenhirLib.EngineTypes.stack <- {
34538 MenhirLib.EngineTypes.state = _menhir_s;
34539 MenhirLib.EngineTypes.semv = Obj.repr _v;
34540 MenhirLib.EngineTypes.startp = _startpos;
34541 MenhirLib.EngineTypes.endp = _endpos;
34542 MenhirLib.EngineTypes.next = _menhir_stack;
34543 });
34544 (fun _menhir_env ->
34545 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34546 let {
34547 MenhirLib.EngineTypes.state = _menhir_s;
34548 MenhirLib.EngineTypes.semv = s;
34549 MenhirLib.EngineTypes.startp = _startpos_s_;
34550 MenhirLib.EngineTypes.endp = _endpos_s_;
34551 MenhirLib.EngineTypes.next = _menhir_stack;
34552 } = _menhir_stack in
34553 let s : (
34554 # 52 "parser_cocci_menhir.mly"
34555 (Data.clt)
34556 # 34557 "parser_cocci_menhir.ml"
34557 ) = Obj.magic s in
34558 let _startpos = _startpos_s_ in
34559 let _endpos = _endpos_s_ in
34560 let _v : 'tv_struct_or_union =
34561 # 621 "parser_cocci_menhir.mly"
34562 ( P.clt2mcode Ast.Struct s )
34563 # 34564 "parser_cocci_menhir.ml"
34564 in
34565 _menhir_env.MenhirLib.EngineTypes.stack <- {
34566 MenhirLib.EngineTypes.state = _menhir_s;
34567 MenhirLib.EngineTypes.semv = Obj.repr _v;
34568 MenhirLib.EngineTypes.startp = _startpos;
34569 MenhirLib.EngineTypes.endp = _endpos;
34570 MenhirLib.EngineTypes.next = _menhir_stack;
34571 });
34572 (fun _menhir_env ->
34573 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34574 let {
34575 MenhirLib.EngineTypes.state = _menhir_s;
34576 MenhirLib.EngineTypes.semv = u;
34577 MenhirLib.EngineTypes.startp = _startpos_u_;
34578 MenhirLib.EngineTypes.endp = _endpos_u_;
34579 MenhirLib.EngineTypes.next = _menhir_stack;
34580 } = _menhir_stack in
34581 let u : (
34582 # 52 "parser_cocci_menhir.mly"
34583 (Data.clt)
34584 # 34585 "parser_cocci_menhir.ml"
34585 ) = Obj.magic u in
34586 let _startpos = _startpos_u_ in
34587 let _endpos = _endpos_u_ in
34588 let _v : 'tv_struct_or_union =
34589 # 622 "parser_cocci_menhir.mly"
34590 ( P.clt2mcode Ast.Union u )
34591 # 34592 "parser_cocci_menhir.ml"
34592 in
34593 _menhir_env.MenhirLib.EngineTypes.stack <- {
34594 MenhirLib.EngineTypes.state = _menhir_s;
34595 MenhirLib.EngineTypes.semv = Obj.repr _v;
34596 MenhirLib.EngineTypes.startp = _startpos;
34597 MenhirLib.EngineTypes.endp = _endpos;
34598 MenhirLib.EngineTypes.next = _menhir_stack;
34599 });
34600 (fun _menhir_env ->
34601 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34602 let {
34603 MenhirLib.EngineTypes.semv = i;
34604 MenhirLib.EngineTypes.startp = _startpos_i_;
34605 MenhirLib.EngineTypes.endp = _endpos_i_;
34606 MenhirLib.EngineTypes.next = {
34607 MenhirLib.EngineTypes.state = _menhir_s;
34608 MenhirLib.EngineTypes.startp = _startpos__1_;
34609 MenhirLib.EngineTypes.endp = _endpos__1_;
34610 MenhirLib.EngineTypes.next = _menhir_stack;
34611 };
34612 } = _menhir_stack in
34613 let i : 'tv_meta_ident = Obj.magic i in
34614 let _startpos = _startpos__1_ in
34615 let _endpos = _endpos_i_ in
34616 let _v : 'tv_sub =
34617 # 1643 "parser_cocci_menhir.mly"
34618 ( (if !Data.in_iso
34619 then failwith "constraints not allowed in iso file");
34620 (if !Data.in_generating
34621 then failwith "constraints not allowed in a generated rule file");
34622 let i =
34623 P.check_inherited_constraint i
34624 (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)) in
34625 [i] )
34626 # 34627 "parser_cocci_menhir.ml"
34627 in
34628 _menhir_env.MenhirLib.EngineTypes.stack <- {
34629 MenhirLib.EngineTypes.state = _menhir_s;
34630 MenhirLib.EngineTypes.semv = Obj.repr _v;
34631 MenhirLib.EngineTypes.startp = _startpos;
34632 MenhirLib.EngineTypes.endp = _endpos;
34633 MenhirLib.EngineTypes.next = _menhir_stack;
34634 });
34635 (fun _menhir_env ->
34636 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34637 let {
34638 MenhirLib.EngineTypes.startp = _startpos__4_;
34639 MenhirLib.EngineTypes.endp = _endpos__4_;
34640 MenhirLib.EngineTypes.next = {
34641 MenhirLib.EngineTypes.semv = l;
34642 MenhirLib.EngineTypes.startp = _startpos_l_;
34643 MenhirLib.EngineTypes.endp = _endpos_l_;
34644 MenhirLib.EngineTypes.next = {
34645 MenhirLib.EngineTypes.startp = _startpos__2_;
34646 MenhirLib.EngineTypes.endp = _endpos__2_;
34647 MenhirLib.EngineTypes.next = {
34648 MenhirLib.EngineTypes.state = _menhir_s;
34649 MenhirLib.EngineTypes.startp = _startpos__1_;
34650 MenhirLib.EngineTypes.endp = _endpos__1_;
34651 MenhirLib.EngineTypes.next = _menhir_stack;
34652 };
34653 };
34654 };
34655 } = _menhir_stack in
34656 let l : 'tv_comma_list_meta_ident_ = Obj.magic l in
34657 let _startpos = _startpos__1_ in
34658 let _endpos = _endpos__4_ in
34659 let _v : 'tv_sub =
34660 # 1652 "parser_cocci_menhir.mly"
34661 ( (if !Data.in_iso
34662 then failwith "constraints not allowed in iso file");
34663 (if !Data.in_generating
34664 then failwith "constraints not allowed in a generated rule file");
34665 List.map
34666 (function i ->
34667 P.check_inherited_constraint i
34668 (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)))
34669 l)
34670 # 34671 "parser_cocci_menhir.ml"
34671 in
34672 _menhir_env.MenhirLib.EngineTypes.stack <- {
34673 MenhirLib.EngineTypes.state = _menhir_s;
34674 MenhirLib.EngineTypes.semv = Obj.repr _v;
34675 MenhirLib.EngineTypes.startp = _startpos;
34676 MenhirLib.EngineTypes.endp = _endpos;
34677 MenhirLib.EngineTypes.next = _menhir_stack;
34678 });
34679 (fun _menhir_env ->
34680 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34681 let {
34682 MenhirLib.EngineTypes.state = _menhir_s;
34683 MenhirLib.EngineTypes.semv = _1;
34684 MenhirLib.EngineTypes.startp = _startpos__1_;
34685 MenhirLib.EngineTypes.endp = _endpos__1_;
34686 MenhirLib.EngineTypes.next = _menhir_stack;
34687 } = _menhir_stack in
34688 let _1 : 'tv_eexpr = Obj.magic _1 in
34689 let _startpos = _startpos__1_ in
34690 let _endpos = _endpos__1_ in
34691 let _v : 'tv_top_eexpr =
34692 # 1271 "parser_cocci_menhir.mly"
34693 ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) )
34694 # 34695 "parser_cocci_menhir.ml"
34695 in
34696 _menhir_env.MenhirLib.EngineTypes.stack <- {
34697 MenhirLib.EngineTypes.state = _menhir_s;
34698 MenhirLib.EngineTypes.semv = Obj.repr _v;
34699 MenhirLib.EngineTypes.startp = _startpos;
34700 MenhirLib.EngineTypes.endp = _endpos;
34701 MenhirLib.EngineTypes.next = _menhir_stack;
34702 });
34703 (fun _menhir_env ->
34704 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34705 let {
34706 MenhirLib.EngineTypes.semv = _3;
34707 MenhirLib.EngineTypes.startp = _startpos__3_;
34708 MenhirLib.EngineTypes.endp = _endpos__3_;
34709 MenhirLib.EngineTypes.next = {
34710 MenhirLib.EngineTypes.semv = _2;
34711 MenhirLib.EngineTypes.startp = _startpos__2_;
34712 MenhirLib.EngineTypes.endp = _endpos__2_;
34713 MenhirLib.EngineTypes.next = {
34714 MenhirLib.EngineTypes.state = _menhir_s;
34715 MenhirLib.EngineTypes.semv = _1;
34716 MenhirLib.EngineTypes.startp = _startpos__1_;
34717 MenhirLib.EngineTypes.endp = _endpos__1_;
34718 MenhirLib.EngineTypes.next = _menhir_stack;
34719 };
34720 };
34721 } = _menhir_stack in
34722 let _3 : (
34723 # 104 "parser_cocci_menhir.mly"
34724 (Data.clt)
34725 # 34726 "parser_cocci_menhir.ml"
34726 ) = Obj.magic _3 in
34727 let _2 : 'tv_initialize_list = Obj.magic _2 in
34728 let _1 : (
34729 # 104 "parser_cocci_menhir.mly"
34730 (Data.clt)
34731 # 34732 "parser_cocci_menhir.ml"
34732 ) = Obj.magic _1 in
34733 let _startpos = _startpos__1_ in
34734 let _endpos = _endpos__3_ in
34735 let _v : 'tv_top_init =
34736 # 1878 "parser_cocci_menhir.mly"
34737 ( if P.struct_initializer _2
34738 then
34739 let il = P.drop_dot_commas _2 in
34740 Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
34741 else
34742 Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
34743 # 34744 "parser_cocci_menhir.ml"
34744 in
34745 _menhir_env.MenhirLib.EngineTypes.stack <- {
34746 MenhirLib.EngineTypes.state = _menhir_s;
34747 MenhirLib.EngineTypes.semv = Obj.repr _v;
34748 MenhirLib.EngineTypes.startp = _startpos;
34749 MenhirLib.EngineTypes.endp = _endpos;
34750 MenhirLib.EngineTypes.next = _menhir_stack;
34751 });
34752 (fun _menhir_env ->
34753 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34754 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
34755 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
34756 let _endpos = _startpos in
34757 let _v : 'tv_toplevel_after_dots =
34758 # 1866 "parser_cocci_menhir.mly"
34759 ([])
34760 # 34761 "parser_cocci_menhir.ml"
34761 in
34762 _menhir_env.MenhirLib.EngineTypes.stack <- {
34763 MenhirLib.EngineTypes.state = _menhir_s;
34764 MenhirLib.EngineTypes.semv = Obj.repr _v;
34765 MenhirLib.EngineTypes.startp = _startpos;
34766 MenhirLib.EngineTypes.endp = _endpos;
34767 MenhirLib.EngineTypes.next = _menhir_stack;
34768 });
34769 (fun _menhir_env ->
34770 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34771 let {
34772 MenhirLib.EngineTypes.semv = _2;
34773 MenhirLib.EngineTypes.startp = _startpos__2_;
34774 MenhirLib.EngineTypes.endp = _endpos__2_;
34775 MenhirLib.EngineTypes.next = {
34776 MenhirLib.EngineTypes.state = _menhir_s;
34777 MenhirLib.EngineTypes.startp = _startpos__1_;
34778 MenhirLib.EngineTypes.endp = _endpos__1_;
34779 MenhirLib.EngineTypes.next = _menhir_stack;
34780 };
34781 } = _menhir_stack in
34782 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
34783 let _startpos = _startpos__1_ in
34784 let _endpos = _endpos__2_ in
34785 let _v : 'tv_toplevel_after_dots =
34786 # 1867 "parser_cocci_menhir.mly"
34787 (_2)
34788 # 34789 "parser_cocci_menhir.ml"
34789 in
34790 _menhir_env.MenhirLib.EngineTypes.stack <- {
34791 MenhirLib.EngineTypes.state = _menhir_s;
34792 MenhirLib.EngineTypes.semv = Obj.repr _v;
34793 MenhirLib.EngineTypes.startp = _startpos;
34794 MenhirLib.EngineTypes.endp = _endpos;
34795 MenhirLib.EngineTypes.next = _menhir_stack;
34796 });
34797 (fun _menhir_env ->
34798 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34799 let {
34800 MenhirLib.EngineTypes.semv = _2;
34801 MenhirLib.EngineTypes.startp = _startpos__2_;
34802 MenhirLib.EngineTypes.endp = _endpos__2_;
34803 MenhirLib.EngineTypes.next = {
34804 MenhirLib.EngineTypes.state = _menhir_s;
34805 MenhirLib.EngineTypes.semv = _1;
34806 MenhirLib.EngineTypes.startp = _startpos__1_;
34807 MenhirLib.EngineTypes.endp = _endpos__1_;
34808 MenhirLib.EngineTypes.next = _menhir_stack;
34809 };
34810 } = _menhir_stack in
34811 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
34812 let _1 : 'tv_expr = Obj.magic _1 in
34813 let _startpos = _startpos__1_ in
34814 let _endpos = _endpos__2_ in
34815 let _v : 'tv_toplevel_after_dots =
34816 # 1868 "parser_cocci_menhir.mly"
34817 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
34818 # 34819 "parser_cocci_menhir.ml"
34819 in
34820 _menhir_env.MenhirLib.EngineTypes.stack <- {
34821 MenhirLib.EngineTypes.state = _menhir_s;
34822 MenhirLib.EngineTypes.semv = Obj.repr _v;
34823 MenhirLib.EngineTypes.startp = _startpos;
34824 MenhirLib.EngineTypes.endp = _endpos;
34825 MenhirLib.EngineTypes.next = _menhir_stack;
34826 });
34827 (fun _menhir_env ->
34828 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34829 let {
34830 MenhirLib.EngineTypes.semv = _2;
34831 MenhirLib.EngineTypes.startp = _startpos__2_;
34832 MenhirLib.EngineTypes.endp = _endpos__2_;
34833 MenhirLib.EngineTypes.next = {
34834 MenhirLib.EngineTypes.state = _menhir_s;
34835 MenhirLib.EngineTypes.semv = _1;
34836 MenhirLib.EngineTypes.startp = _startpos__1_;
34837 MenhirLib.EngineTypes.endp = _endpos__1_;
34838 MenhirLib.EngineTypes.next = _menhir_stack;
34839 };
34840 } = _menhir_stack in
34841 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
34842 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
34843 let _startpos = _startpos__1_ in
34844 let _endpos = _endpos__2_ in
34845 let _v : 'tv_toplevel_after_dots =
34846 # 1869 "parser_cocci_menhir.mly"
34847 (_1@_2)
34848 # 34849 "parser_cocci_menhir.ml"
34849 in
34850 _menhir_env.MenhirLib.EngineTypes.stack <- {
34851 MenhirLib.EngineTypes.state = _menhir_s;
34852 MenhirLib.EngineTypes.semv = Obj.repr _v;
34853 MenhirLib.EngineTypes.startp = _startpos;
34854 MenhirLib.EngineTypes.endp = _endpos;
34855 MenhirLib.EngineTypes.next = _menhir_stack;
34856 });
34857 (fun _menhir_env ->
34858 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34859 let {
34860 MenhirLib.EngineTypes.semv = _2;
34861 MenhirLib.EngineTypes.startp = _startpos__2_;
34862 MenhirLib.EngineTypes.endp = _endpos__2_;
34863 MenhirLib.EngineTypes.next = {
34864 MenhirLib.EngineTypes.state = _menhir_s;
34865 MenhirLib.EngineTypes.startp = _startpos__1_;
34866 MenhirLib.EngineTypes.endp = _endpos__1_;
34867 MenhirLib.EngineTypes.next = _menhir_stack;
34868 };
34869 } = _menhir_stack in
34870 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
34871 let _startpos = _startpos__1_ in
34872 let _endpos = _endpos__2_ in
34873 let _v : 'tv_toplevel_after_dots_init =
34874 # 1857 "parser_cocci_menhir.mly"
34875 (_2)
34876 # 34877 "parser_cocci_menhir.ml"
34877 in
34878 _menhir_env.MenhirLib.EngineTypes.stack <- {
34879 MenhirLib.EngineTypes.state = _menhir_s;
34880 MenhirLib.EngineTypes.semv = Obj.repr _v;
34881 MenhirLib.EngineTypes.startp = _startpos;
34882 MenhirLib.EngineTypes.endp = _endpos;
34883 MenhirLib.EngineTypes.next = _menhir_stack;
34884 });
34885 (fun _menhir_env ->
34886 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34887 let {
34888 MenhirLib.EngineTypes.semv = _2;
34889 MenhirLib.EngineTypes.startp = _startpos__2_;
34890 MenhirLib.EngineTypes.endp = _endpos__2_;
34891 MenhirLib.EngineTypes.next = {
34892 MenhirLib.EngineTypes.state = _menhir_s;
34893 MenhirLib.EngineTypes.semv = _1;
34894 MenhirLib.EngineTypes.startp = _startpos__1_;
34895 MenhirLib.EngineTypes.endp = _endpos__1_;
34896 MenhirLib.EngineTypes.next = _menhir_stack;
34897 };
34898 } = _menhir_stack in
34899 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
34900 let _1 : 'tv_expr = Obj.magic _1 in
34901 let _startpos = _startpos__1_ in
34902 let _endpos = _endpos__2_ in
34903 let _v : 'tv_toplevel_after_dots_init =
34904 # 1858 "parser_cocci_menhir.mly"
34905 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
34906 # 34907 "parser_cocci_menhir.ml"
34907 in
34908 _menhir_env.MenhirLib.EngineTypes.stack <- {
34909 MenhirLib.EngineTypes.state = _menhir_s;
34910 MenhirLib.EngineTypes.semv = Obj.repr _v;
34911 MenhirLib.EngineTypes.startp = _startpos;
34912 MenhirLib.EngineTypes.endp = _endpos;
34913 MenhirLib.EngineTypes.next = _menhir_stack;
34914 });
34915 (fun _menhir_env ->
34916 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34917 let {
34918 MenhirLib.EngineTypes.semv = _2;
34919 MenhirLib.EngineTypes.startp = _startpos__2_;
34920 MenhirLib.EngineTypes.endp = _endpos__2_;
34921 MenhirLib.EngineTypes.next = {
34922 MenhirLib.EngineTypes.state = _menhir_s;
34923 MenhirLib.EngineTypes.semv = _1;
34924 MenhirLib.EngineTypes.startp = _startpos__1_;
34925 MenhirLib.EngineTypes.endp = _endpos__1_;
34926 MenhirLib.EngineTypes.next = _menhir_stack;
34927 };
34928 } = _menhir_stack in
34929 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
34930 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
34931 let _startpos = _startpos__1_ in
34932 let _endpos = _endpos__2_ in
34933 let _v : 'tv_toplevel_after_dots_init =
34934 # 1859 "parser_cocci_menhir.mly"
34935 (_1@_2)
34936 # 34937 "parser_cocci_menhir.ml"
34937 in
34938 _menhir_env.MenhirLib.EngineTypes.stack <- {
34939 MenhirLib.EngineTypes.state = _menhir_s;
34940 MenhirLib.EngineTypes.semv = Obj.repr _v;
34941 MenhirLib.EngineTypes.startp = _startpos;
34942 MenhirLib.EngineTypes.endp = _endpos;
34943 MenhirLib.EngineTypes.next = _menhir_stack;
34944 });
34945 (fun _menhir_env ->
34946 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34947 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
34948 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
34949 let _endpos = _startpos in
34950 let _v : 'tv_toplevel_after_exp =
34951 # 1862 "parser_cocci_menhir.mly"
34952 ([])
34953 # 34954 "parser_cocci_menhir.ml"
34954 in
34955 _menhir_env.MenhirLib.EngineTypes.stack <- {
34956 MenhirLib.EngineTypes.state = _menhir_s;
34957 MenhirLib.EngineTypes.semv = Obj.repr _v;
34958 MenhirLib.EngineTypes.startp = _startpos;
34959 MenhirLib.EngineTypes.endp = _endpos;
34960 MenhirLib.EngineTypes.next = _menhir_stack;
34961 });
34962 (fun _menhir_env ->
34963 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34964 let {
34965 MenhirLib.EngineTypes.semv = _2;
34966 MenhirLib.EngineTypes.startp = _startpos__2_;
34967 MenhirLib.EngineTypes.endp = _endpos__2_;
34968 MenhirLib.EngineTypes.next = {
34969 MenhirLib.EngineTypes.state = _menhir_s;
34970 MenhirLib.EngineTypes.semv = _1;
34971 MenhirLib.EngineTypes.startp = _startpos__1_;
34972 MenhirLib.EngineTypes.endp = _endpos__1_;
34973 MenhirLib.EngineTypes.next = _menhir_stack;
34974 };
34975 } = _menhir_stack in
34976 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
34977 let _1 : 'tv_stm_dots = Obj.magic _1 in
34978 let _startpos = _startpos__1_ in
34979 let _endpos = _endpos__2_ in
34980 let _v : 'tv_toplevel_after_exp =
34981 # 1863 "parser_cocci_menhir.mly"
34982 (_1::_2)
34983 # 34984 "parser_cocci_menhir.ml"
34984 in
34985 _menhir_env.MenhirLib.EngineTypes.stack <- {
34986 MenhirLib.EngineTypes.state = _menhir_s;
34987 MenhirLib.EngineTypes.semv = Obj.repr _v;
34988 MenhirLib.EngineTypes.startp = _startpos;
34989 MenhirLib.EngineTypes.endp = _endpos;
34990 MenhirLib.EngineTypes.next = _menhir_stack;
34991 });
34992 (fun _menhir_env ->
34993 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34994 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
34995 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
34996 let _endpos = _startpos in
34997 let _v : 'tv_toplevel_after_stm =
34998 # 1872 "parser_cocci_menhir.mly"
34999 ([])
35000 # 35001 "parser_cocci_menhir.ml"
35001 in
35002 _menhir_env.MenhirLib.EngineTypes.stack <- {
35003 MenhirLib.EngineTypes.state = _menhir_s;
35004 MenhirLib.EngineTypes.semv = Obj.repr _v;
35005 MenhirLib.EngineTypes.startp = _startpos;
35006 MenhirLib.EngineTypes.endp = _endpos;
35007 MenhirLib.EngineTypes.next = _menhir_stack;
35008 });
35009 (fun _menhir_env ->
35010 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35011 let {
35012 MenhirLib.EngineTypes.semv = _2;
35013 MenhirLib.EngineTypes.startp = _startpos__2_;
35014 MenhirLib.EngineTypes.endp = _endpos__2_;
35015 MenhirLib.EngineTypes.next = {
35016 MenhirLib.EngineTypes.state = _menhir_s;
35017 MenhirLib.EngineTypes.semv = _1;
35018 MenhirLib.EngineTypes.startp = _startpos__1_;
35019 MenhirLib.EngineTypes.endp = _endpos__1_;
35020 MenhirLib.EngineTypes.next = _menhir_stack;
35021 };
35022 } = _menhir_stack in
35023 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
35024 let _1 : 'tv_stm_dots = Obj.magic _1 in
35025 let _startpos = _startpos__1_ in
35026 let _endpos = _endpos__2_ in
35027 let _v : 'tv_toplevel_after_stm =
35028 # 1873 "parser_cocci_menhir.mly"
35029 (_1::_2)
35030 # 35031 "parser_cocci_menhir.ml"
35031 in
35032 _menhir_env.MenhirLib.EngineTypes.stack <- {
35033 MenhirLib.EngineTypes.state = _menhir_s;
35034 MenhirLib.EngineTypes.semv = Obj.repr _v;
35035 MenhirLib.EngineTypes.startp = _startpos;
35036 MenhirLib.EngineTypes.endp = _endpos;
35037 MenhirLib.EngineTypes.next = _menhir_stack;
35038 });
35039 (fun _menhir_env ->
35040 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35041 let {
35042 MenhirLib.EngineTypes.semv = _2;
35043 MenhirLib.EngineTypes.startp = _startpos__2_;
35044 MenhirLib.EngineTypes.endp = _endpos__2_;
35045 MenhirLib.EngineTypes.next = {
35046 MenhirLib.EngineTypes.state = _menhir_s;
35047 MenhirLib.EngineTypes.semv = _1;
35048 MenhirLib.EngineTypes.startp = _startpos__1_;
35049 MenhirLib.EngineTypes.endp = _endpos__1_;
35050 MenhirLib.EngineTypes.next = _menhir_stack;
35051 };
35052 } = _menhir_stack in
35053 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
35054 let _1 : 'tv_decl_statement = Obj.magic _1 in
35055 let _startpos = _startpos__1_ in
35056 let _endpos = _endpos__2_ in
35057 let _v : 'tv_toplevel_after_stm =
35058 # 1874 "parser_cocci_menhir.mly"
35059 (_1@_2)
35060 # 35061 "parser_cocci_menhir.ml"
35061 in
35062 _menhir_env.MenhirLib.EngineTypes.stack <- {
35063 MenhirLib.EngineTypes.state = _menhir_s;
35064 MenhirLib.EngineTypes.semv = Obj.repr _v;
35065 MenhirLib.EngineTypes.startp = _startpos;
35066 MenhirLib.EngineTypes.endp = _endpos;
35067 MenhirLib.EngineTypes.next = _menhir_stack;
35068 });
35069 (fun _menhir_env ->
35070 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35071 let {
35072 MenhirLib.EngineTypes.semv = _2;
35073 MenhirLib.EngineTypes.startp = _startpos__2_;
35074 MenhirLib.EngineTypes.endp = _endpos__2_;
35075 MenhirLib.EngineTypes.next = {
35076 MenhirLib.EngineTypes.state = _menhir_s;
35077 MenhirLib.EngineTypes.semv = _1;
35078 MenhirLib.EngineTypes.startp = _startpos__1_;
35079 MenhirLib.EngineTypes.endp = _endpos__1_;
35080 MenhirLib.EngineTypes.next = _menhir_stack;
35081 };
35082 } = _menhir_stack in
35083 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
35084 let _1 : 'tv_stm_dots = Obj.magic _1 in
35085 let _startpos = _startpos__1_ in
35086 let _endpos = _endpos__2_ in
35087 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
35088 # 1852 "parser_cocci_menhir.mly"
35089 ( _1::_2 )
35090 # 35091 "parser_cocci_menhir.ml"
35091 in
35092 _menhir_env.MenhirLib.EngineTypes.stack <- {
35093 MenhirLib.EngineTypes.state = _menhir_s;
35094 MenhirLib.EngineTypes.semv = Obj.repr _v;
35095 MenhirLib.EngineTypes.startp = _startpos;
35096 MenhirLib.EngineTypes.endp = _endpos;
35097 MenhirLib.EngineTypes.next = _menhir_stack;
35098 });
35099 (fun _menhir_env ->
35100 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35101 let {
35102 MenhirLib.EngineTypes.semv = _2;
35103 MenhirLib.EngineTypes.startp = _startpos__2_;
35104 MenhirLib.EngineTypes.endp = _endpos__2_;
35105 MenhirLib.EngineTypes.next = {
35106 MenhirLib.EngineTypes.state = _menhir_s;
35107 MenhirLib.EngineTypes.semv = _1;
35108 MenhirLib.EngineTypes.startp = _startpos__1_;
35109 MenhirLib.EngineTypes.endp = _endpos__1_;
35110 MenhirLib.EngineTypes.next = _menhir_stack;
35111 };
35112 } = _menhir_stack in
35113 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
35114 let _1 : 'tv_expr = Obj.magic _1 in
35115 let _startpos = _startpos__1_ in
35116 let _endpos = _endpos__2_ in
35117 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
35118 # 1853 "parser_cocci_menhir.mly"
35119 ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
35120 # 35121 "parser_cocci_menhir.ml"
35121 in
35122 _menhir_env.MenhirLib.EngineTypes.stack <- {
35123 MenhirLib.EngineTypes.state = _menhir_s;
35124 MenhirLib.EngineTypes.semv = Obj.repr _v;
35125 MenhirLib.EngineTypes.startp = _startpos;
35126 MenhirLib.EngineTypes.endp = _endpos;
35127 MenhirLib.EngineTypes.next = _menhir_stack;
35128 });
35129 (fun _menhir_env ->
35130 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35131 let {
35132 MenhirLib.EngineTypes.semv = _2;
35133 MenhirLib.EngineTypes.startp = _startpos__2_;
35134 MenhirLib.EngineTypes.endp = _endpos__2_;
35135 MenhirLib.EngineTypes.next = {
35136 MenhirLib.EngineTypes.state = _menhir_s;
35137 MenhirLib.EngineTypes.semv = _1;
35138 MenhirLib.EngineTypes.startp = _startpos__1_;
35139 MenhirLib.EngineTypes.endp = _endpos__1_;
35140 MenhirLib.EngineTypes.next = _menhir_stack;
35141 };
35142 } = _menhir_stack in
35143 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
35144 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
35145 let _startpos = _startpos__1_ in
35146 let _endpos = _endpos__2_ in
35147 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
35148 # 1854 "parser_cocci_menhir.mly"
35149 ( _1@_2 )
35150 # 35151 "parser_cocci_menhir.ml"
35151 in
35152 _menhir_env.MenhirLib.EngineTypes.stack <- {
35153 MenhirLib.EngineTypes.state = _menhir_s;
35154 MenhirLib.EngineTypes.semv = Obj.repr _v;
35155 MenhirLib.EngineTypes.startp = _startpos;
35156 MenhirLib.EngineTypes.endp = _endpos;
35157 MenhirLib.EngineTypes.next = _menhir_stack;
35158 });
35159 (fun _menhir_env ->
35160 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35161 let {
35162 MenhirLib.EngineTypes.semv = b;
35163 MenhirLib.EngineTypes.startp = _startpos_b_;
35164 MenhirLib.EngineTypes.endp = _endpos_b_;
35165 MenhirLib.EngineTypes.next = {
35166 MenhirLib.EngineTypes.semv = w0;
35167 MenhirLib.EngineTypes.startp = _startpos_w0_;
35168 MenhirLib.EngineTypes.endp = _endpos_w0_;
35169 MenhirLib.EngineTypes.next = {
35170 MenhirLib.EngineTypes.state = _menhir_s;
35171 MenhirLib.EngineTypes.semv = a0;
35172 MenhirLib.EngineTypes.startp = _startpos_a0_;
35173 MenhirLib.EngineTypes.endp = _endpos_a0_;
35174 MenhirLib.EngineTypes.next = _menhir_stack;
35175 };
35176 };
35177 } = _menhir_stack in
35178 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
35179 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
35180 let a0 : (
35181 # 76 "parser_cocci_menhir.mly"
35182 (Data.clt)
35183 # 35184 "parser_cocci_menhir.ml"
35184 ) = Obj.magic a0 in
35185 let _startpos = _startpos_a0_ in
35186 let _endpos = _endpos_b_ in
35187 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
35188 let w = w0 in
35189 let a = a0 in
35190
35191 # 970 "parser_cocci_menhir.mly"
35192 ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) )
35193 # 35194 "parser_cocci_menhir.ml"
35194
35195 in
35196
35197 # 1845 "parser_cocci_menhir.mly"
35198 ( a::b )
35199 # 35200 "parser_cocci_menhir.ml"
35200 in
35201 _menhir_env.MenhirLib.EngineTypes.stack <- {
35202 MenhirLib.EngineTypes.state = _menhir_s;
35203 MenhirLib.EngineTypes.semv = Obj.repr _v;
35204 MenhirLib.EngineTypes.startp = _startpos;
35205 MenhirLib.EngineTypes.endp = _endpos;
35206 MenhirLib.EngineTypes.next = _menhir_stack;
35207 });
35208 (fun _menhir_env ->
35209 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35210 let {
35211 MenhirLib.EngineTypes.semv = b;
35212 MenhirLib.EngineTypes.startp = _startpos_b_;
35213 MenhirLib.EngineTypes.endp = _endpos_b_;
35214 MenhirLib.EngineTypes.next = {
35215 MenhirLib.EngineTypes.semv = c0;
35216 MenhirLib.EngineTypes.startp = _startpos_c0_;
35217 MenhirLib.EngineTypes.endp = _endpos_c0_;
35218 MenhirLib.EngineTypes.next = {
35219 MenhirLib.EngineTypes.semv = b0;
35220 MenhirLib.EngineTypes.startp = _startpos_b0_;
35221 MenhirLib.EngineTypes.endp = _endpos_b0_;
35222 MenhirLib.EngineTypes.next = {
35223 MenhirLib.EngineTypes.semv = w0;
35224 MenhirLib.EngineTypes.startp = _startpos_w0_;
35225 MenhirLib.EngineTypes.endp = _endpos_w0_;
35226 MenhirLib.EngineTypes.next = {
35227 MenhirLib.EngineTypes.state = _menhir_s;
35228 MenhirLib.EngineTypes.semv = a0;
35229 MenhirLib.EngineTypes.startp = _startpos_a0_;
35230 MenhirLib.EngineTypes.endp = _endpos_a0_;
35231 MenhirLib.EngineTypes.next = _menhir_stack;
35232 };
35233 };
35234 };
35235 };
35236 } = _menhir_stack in
35237 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
35238 let c0 : (
35239 # 76 "parser_cocci_menhir.mly"
35240 (Data.clt)
35241 # 35242 "parser_cocci_menhir.ml"
35242 ) = Obj.magic c0 in
35243 let b0 : 'tv_nest_start = Obj.magic b0 in
35244 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
35245 let a0 : (
35246 # 76 "parser_cocci_menhir.mly"
35247 (Data.clt)
35248 # 35249 "parser_cocci_menhir.ml"
35249 ) = Obj.magic a0 in
35250 let _startpos = _startpos_a0_ in
35251 let _endpos = _endpos_b_ in
35252 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
35253 let c = c0 in
35254 let b = b0 in
35255 let w = w0 in
35256 let a = a0 in
35257
35258 # 974 "parser_cocci_menhir.mly"
35259 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
35260 P.clt2mcode "...>" c, List.concat w, false)) )
35261 # 35262 "parser_cocci_menhir.ml"
35262
35263 in
35264
35265 # 1846 "parser_cocci_menhir.mly"
35266 ( a::b )
35267 # 35268 "parser_cocci_menhir.ml"
35268 in
35269 _menhir_env.MenhirLib.EngineTypes.stack <- {
35270 MenhirLib.EngineTypes.state = _menhir_s;
35271 MenhirLib.EngineTypes.semv = Obj.repr _v;
35272 MenhirLib.EngineTypes.startp = _startpos;
35273 MenhirLib.EngineTypes.endp = _endpos;
35274 MenhirLib.EngineTypes.next = _menhir_stack;
35275 });
35276 (fun _menhir_env ->
35277 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35278 let {
35279 MenhirLib.EngineTypes.semv = b;
35280 MenhirLib.EngineTypes.startp = _startpos_b_;
35281 MenhirLib.EngineTypes.endp = _endpos_b_;
35282 MenhirLib.EngineTypes.next = {
35283 MenhirLib.EngineTypes.semv = c0;
35284 MenhirLib.EngineTypes.startp = _startpos_c0_;
35285 MenhirLib.EngineTypes.endp = _endpos_c0_;
35286 MenhirLib.EngineTypes.next = {
35287 MenhirLib.EngineTypes.semv = b0;
35288 MenhirLib.EngineTypes.startp = _startpos_b0_;
35289 MenhirLib.EngineTypes.endp = _endpos_b0_;
35290 MenhirLib.EngineTypes.next = {
35291 MenhirLib.EngineTypes.semv = w0;
35292 MenhirLib.EngineTypes.startp = _startpos_w0_;
35293 MenhirLib.EngineTypes.endp = _endpos_w0_;
35294 MenhirLib.EngineTypes.next = {
35295 MenhirLib.EngineTypes.state = _menhir_s;
35296 MenhirLib.EngineTypes.semv = a0;
35297 MenhirLib.EngineTypes.startp = _startpos_a0_;
35298 MenhirLib.EngineTypes.endp = _endpos_a0_;
35299 MenhirLib.EngineTypes.next = _menhir_stack;
35300 };
35301 };
35302 };
35303 };
35304 } = _menhir_stack in
35305 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
35306 let c0 : (
35307 # 76 "parser_cocci_menhir.mly"
35308 (Data.clt)
35309 # 35310 "parser_cocci_menhir.ml"
35310 ) = Obj.magic c0 in
35311 let b0 : 'tv_nest_start = Obj.magic b0 in
35312 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
35313 let a0 : (
35314 # 76 "parser_cocci_menhir.mly"
35315 (Data.clt)
35316 # 35317 "parser_cocci_menhir.ml"
35317 ) = Obj.magic a0 in
35318 let _startpos = _startpos_a0_ in
35319 let _endpos = _endpos_b_ in
35320 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
35321 let c = c0 in
35322 let b = b0 in
35323 let w = w0 in
35324 let a = a0 in
35325
35326 # 977 "parser_cocci_menhir.mly"
35327 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
35328 P.clt2mcode "...+>" c, List.concat w, true)) )
35329 # 35330 "parser_cocci_menhir.ml"
35330
35331 in
35332
35333 # 1846 "parser_cocci_menhir.mly"
35334 ( a::b )
35335 # 35336 "parser_cocci_menhir.ml"
35336 in
35337 _menhir_env.MenhirLib.EngineTypes.stack <- {
35338 MenhirLib.EngineTypes.state = _menhir_s;
35339 MenhirLib.EngineTypes.semv = Obj.repr _v;
35340 MenhirLib.EngineTypes.startp = _startpos;
35341 MenhirLib.EngineTypes.endp = _endpos;
35342 MenhirLib.EngineTypes.next = _menhir_stack;
35343 });
35344 (fun _menhir_env ->
35345 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35346 let {
35347 MenhirLib.EngineTypes.semv = c0;
35348 MenhirLib.EngineTypes.startp = _startpos_c0_;
35349 MenhirLib.EngineTypes.endp = _endpos_c0_;
35350 MenhirLib.EngineTypes.next = {
35351 MenhirLib.EngineTypes.semv = b0;
35352 MenhirLib.EngineTypes.startp = _startpos_b0_;
35353 MenhirLib.EngineTypes.endp = _endpos_b0_;
35354 MenhirLib.EngineTypes.next = {
35355 MenhirLib.EngineTypes.semv = w0;
35356 MenhirLib.EngineTypes.startp = _startpos_w0_;
35357 MenhirLib.EngineTypes.endp = _endpos_w0_;
35358 MenhirLib.EngineTypes.next = {
35359 MenhirLib.EngineTypes.state = _menhir_s;
35360 MenhirLib.EngineTypes.semv = a0;
35361 MenhirLib.EngineTypes.startp = _startpos_a0_;
35362 MenhirLib.EngineTypes.endp = _endpos_a0_;
35363 MenhirLib.EngineTypes.next = _menhir_stack;
35364 };
35365 };
35366 };
35367 } = _menhir_stack in
35368 let c0 : (
35369 # 76 "parser_cocci_menhir.mly"
35370 (Data.clt)
35371 # 35372 "parser_cocci_menhir.ml"
35372 ) = Obj.magic c0 in
35373 let b0 : 'tv_nest_start = Obj.magic b0 in
35374 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
35375 let a0 : (
35376 # 76 "parser_cocci_menhir.mly"
35377 (Data.clt)
35378 # 35379 "parser_cocci_menhir.ml"
35379 ) = Obj.magic a0 in
35380 let _startpos = _startpos_a0_ in
35381 let _endpos = _endpos_c0_ in
35382 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
35383 let c = c0 in
35384 let b = b0 in
35385 let w = w0 in
35386 let a = a0 in
35387
35388 # 974 "parser_cocci_menhir.mly"
35389 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
35390 P.clt2mcode "...>" c, List.concat w, false)) )
35391 # 35392 "parser_cocci_menhir.ml"
35392
35393 in
35394
35395 # 1847 "parser_cocci_menhir.mly"
35396 ( [a] )
35397 # 35398 "parser_cocci_menhir.ml"
35398 in
35399 _menhir_env.MenhirLib.EngineTypes.stack <- {
35400 MenhirLib.EngineTypes.state = _menhir_s;
35401 MenhirLib.EngineTypes.semv = Obj.repr _v;
35402 MenhirLib.EngineTypes.startp = _startpos;
35403 MenhirLib.EngineTypes.endp = _endpos;
35404 MenhirLib.EngineTypes.next = _menhir_stack;
35405 });
35406 (fun _menhir_env ->
35407 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35408 let {
35409 MenhirLib.EngineTypes.semv = c0;
35410 MenhirLib.EngineTypes.startp = _startpos_c0_;
35411 MenhirLib.EngineTypes.endp = _endpos_c0_;
35412 MenhirLib.EngineTypes.next = {
35413 MenhirLib.EngineTypes.semv = b0;
35414 MenhirLib.EngineTypes.startp = _startpos_b0_;
35415 MenhirLib.EngineTypes.endp = _endpos_b0_;
35416 MenhirLib.EngineTypes.next = {
35417 MenhirLib.EngineTypes.semv = w0;
35418 MenhirLib.EngineTypes.startp = _startpos_w0_;
35419 MenhirLib.EngineTypes.endp = _endpos_w0_;
35420 MenhirLib.EngineTypes.next = {
35421 MenhirLib.EngineTypes.state = _menhir_s;
35422 MenhirLib.EngineTypes.semv = a0;
35423 MenhirLib.EngineTypes.startp = _startpos_a0_;
35424 MenhirLib.EngineTypes.endp = _endpos_a0_;
35425 MenhirLib.EngineTypes.next = _menhir_stack;
35426 };
35427 };
35428 };
35429 } = _menhir_stack in
35430 let c0 : (
35431 # 76 "parser_cocci_menhir.mly"
35432 (Data.clt)
35433 # 35434 "parser_cocci_menhir.ml"
35434 ) = Obj.magic c0 in
35435 let b0 : 'tv_nest_start = Obj.magic b0 in
35436 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
35437 let a0 : (
35438 # 76 "parser_cocci_menhir.mly"
35439 (Data.clt)
35440 # 35441 "parser_cocci_menhir.ml"
35441 ) = Obj.magic a0 in
35442 let _startpos = _startpos_a0_ in
35443 let _endpos = _endpos_c0_ in
35444 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
35445 let c = c0 in
35446 let b = b0 in
35447 let w = w0 in
35448 let a = a0 in
35449
35450 # 977 "parser_cocci_menhir.mly"
35451 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
35452 P.clt2mcode "...+>" c, List.concat w, true)) )
35453 # 35454 "parser_cocci_menhir.ml"
35454
35455 in
35456
35457 # 1847 "parser_cocci_menhir.mly"
35458 ( [a] )
35459 # 35460 "parser_cocci_menhir.ml"
35460 in
35461 _menhir_env.MenhirLib.EngineTypes.stack <- {
35462 MenhirLib.EngineTypes.state = _menhir_s;
35463 MenhirLib.EngineTypes.semv = Obj.repr _v;
35464 MenhirLib.EngineTypes.startp = _startpos;
35465 MenhirLib.EngineTypes.endp = _endpos;
35466 MenhirLib.EngineTypes.next = _menhir_stack;
35467 });
35468 (fun _menhir_env ->
35469 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35470 let {
35471 MenhirLib.EngineTypes.semv = _2;
35472 MenhirLib.EngineTypes.startp = _startpos__2_;
35473 MenhirLib.EngineTypes.endp = _endpos__2_;
35474 MenhirLib.EngineTypes.next = {
35475 MenhirLib.EngineTypes.state = _menhir_s;
35476 MenhirLib.EngineTypes.semv = _1;
35477 MenhirLib.EngineTypes.startp = _startpos__1_;
35478 MenhirLib.EngineTypes.endp = _endpos__1_;
35479 MenhirLib.EngineTypes.next = _menhir_stack;
35480 };
35481 } = _menhir_stack in
35482 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
35483 let _1 : 'tv_expr = Obj.magic _1 in
35484 let _startpos = _startpos__1_ in
35485 let _endpos = _endpos__2_ in
35486 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
35487 # 1848 "parser_cocci_menhir.mly"
35488 ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
35489 # 35490 "parser_cocci_menhir.ml"
35490 in
35491 _menhir_env.MenhirLib.EngineTypes.stack <- {
35492 MenhirLib.EngineTypes.state = _menhir_s;
35493 MenhirLib.EngineTypes.semv = Obj.repr _v;
35494 MenhirLib.EngineTypes.startp = _startpos;
35495 MenhirLib.EngineTypes.endp = _endpos;
35496 MenhirLib.EngineTypes.next = _menhir_stack;
35497 });
35498 (fun _menhir_env ->
35499 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35500 let {
35501 MenhirLib.EngineTypes.semv = _2;
35502 MenhirLib.EngineTypes.startp = _startpos__2_;
35503 MenhirLib.EngineTypes.endp = _endpos__2_;
35504 MenhirLib.EngineTypes.next = {
35505 MenhirLib.EngineTypes.state = _menhir_s;
35506 MenhirLib.EngineTypes.semv = _1;
35507 MenhirLib.EngineTypes.startp = _startpos__1_;
35508 MenhirLib.EngineTypes.endp = _endpos__1_;
35509 MenhirLib.EngineTypes.next = _menhir_stack;
35510 };
35511 } = _menhir_stack in
35512 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
35513 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
35514 let _startpos = _startpos__1_ in
35515 let _endpos = _endpos__2_ in
35516 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
35517 # 1849 "parser_cocci_menhir.mly"
35518 ( _1@_2 )
35519 # 35520 "parser_cocci_menhir.ml"
35520 in
35521 _menhir_env.MenhirLib.EngineTypes.stack <- {
35522 MenhirLib.EngineTypes.state = _menhir_s;
35523 MenhirLib.EngineTypes.semv = Obj.repr _v;
35524 MenhirLib.EngineTypes.startp = _startpos;
35525 MenhirLib.EngineTypes.endp = _endpos;
35526 MenhirLib.EngineTypes.next = _menhir_stack;
35527 });
35528 (fun _menhir_env ->
35529 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35530 let {
35531 MenhirLib.EngineTypes.semv = m;
35532 MenhirLib.EngineTypes.startp = _startpos_m_;
35533 MenhirLib.EngineTypes.endp = _endpos_m_;
35534 MenhirLib.EngineTypes.next = {
35535 MenhirLib.EngineTypes.semv = ty00;
35536 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35537 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35538 MenhirLib.EngineTypes.next = {
35539 MenhirLib.EngineTypes.state = _menhir_s;
35540 MenhirLib.EngineTypes.semv = r0;
35541 MenhirLib.EngineTypes.startp = _startpos_r0_;
35542 MenhirLib.EngineTypes.endp = _endpos_r0_;
35543 MenhirLib.EngineTypes.next = _menhir_stack;
35544 };
35545 };
35546 } = _menhir_stack in
35547 let m : 'tv_list_TMul_ = Obj.magic m in
35548 let ty00 : (
35549 # 51 "parser_cocci_menhir.mly"
35550 (Data.clt)
35551 # 35552 "parser_cocci_menhir.ml"
35552 ) = Obj.magic ty00 in
35553 let r0 : (
35554 # 53 "parser_cocci_menhir.mly"
35555 (Data.clt)
35556 # 35557 "parser_cocci_menhir.ml"
35557 ) = Obj.magic r0 in
35558 let _startpos = _startpos_r0_ in
35559 let _endpos = _endpos_m_ in
35560 let _v : 'tv_typedef_ctype = let ty =
35561 let ty0 = ty00 in
35562 let r = r0 in
35563 let ty =
35564 let ty = ty0 in
35565
35566 # 534 "parser_cocci_menhir.mly"
35567 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
35568 # 35569 "parser_cocci_menhir.ml"
35569
35570 in
35571
35572 # 591 "parser_cocci_menhir.mly"
35573 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
35574 # 35575 "parser_cocci_menhir.ml"
35575
35576 in
35577 let cv =
35578
35579 # 39 "standard.mly"
35580 ( None )
35581 # 35582 "parser_cocci_menhir.ml"
35582
35583 in
35584
35585 # 612 "parser_cocci_menhir.mly"
35586 ( P.pointerify (P.make_cv cv ty) m )
35587 # 35588 "parser_cocci_menhir.ml"
35588 in
35589 _menhir_env.MenhirLib.EngineTypes.stack <- {
35590 MenhirLib.EngineTypes.state = _menhir_s;
35591 MenhirLib.EngineTypes.semv = Obj.repr _v;
35592 MenhirLib.EngineTypes.startp = _startpos;
35593 MenhirLib.EngineTypes.endp = _endpos;
35594 MenhirLib.EngineTypes.next = _menhir_stack;
35595 });
35596 (fun _menhir_env ->
35597 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35598 let {
35599 MenhirLib.EngineTypes.semv = m;
35600 MenhirLib.EngineTypes.startp = _startpos_m_;
35601 MenhirLib.EngineTypes.endp = _endpos_m_;
35602 MenhirLib.EngineTypes.next = {
35603 MenhirLib.EngineTypes.semv = ty00;
35604 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35605 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35606 MenhirLib.EngineTypes.next = {
35607 MenhirLib.EngineTypes.state = _menhir_s;
35608 MenhirLib.EngineTypes.semv = r0;
35609 MenhirLib.EngineTypes.startp = _startpos_r0_;
35610 MenhirLib.EngineTypes.endp = _endpos_r0_;
35611 MenhirLib.EngineTypes.next = _menhir_stack;
35612 };
35613 };
35614 } = _menhir_stack in
35615 let m : 'tv_list_TMul_ = Obj.magic m in
35616 let ty00 : (
35617 # 51 "parser_cocci_menhir.mly"
35618 (Data.clt)
35619 # 35620 "parser_cocci_menhir.ml"
35620 ) = Obj.magic ty00 in
35621 let r0 : (
35622 # 53 "parser_cocci_menhir.mly"
35623 (Data.clt)
35624 # 35625 "parser_cocci_menhir.ml"
35625 ) = Obj.magic r0 in
35626 let _startpos = _startpos_r0_ in
35627 let _endpos = _endpos_m_ in
35628 let _v : 'tv_typedef_ctype = let ty =
35629 let ty0 = ty00 in
35630 let r = r0 in
35631 let ty =
35632 let ty = ty0 in
35633
35634 # 536 "parser_cocci_menhir.mly"
35635 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
35636 # 35637 "parser_cocci_menhir.ml"
35637
35638 in
35639
35640 # 591 "parser_cocci_menhir.mly"
35641 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
35642 # 35643 "parser_cocci_menhir.ml"
35643
35644 in
35645 let cv =
35646
35647 # 39 "standard.mly"
35648 ( None )
35649 # 35650 "parser_cocci_menhir.ml"
35650
35651 in
35652
35653 # 612 "parser_cocci_menhir.mly"
35654 ( P.pointerify (P.make_cv cv ty) m )
35655 # 35656 "parser_cocci_menhir.ml"
35656 in
35657 _menhir_env.MenhirLib.EngineTypes.stack <- {
35658 MenhirLib.EngineTypes.state = _menhir_s;
35659 MenhirLib.EngineTypes.semv = Obj.repr _v;
35660 MenhirLib.EngineTypes.startp = _startpos;
35661 MenhirLib.EngineTypes.endp = _endpos;
35662 MenhirLib.EngineTypes.next = _menhir_stack;
35663 });
35664 (fun _menhir_env ->
35665 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35666 let {
35667 MenhirLib.EngineTypes.semv = m;
35668 MenhirLib.EngineTypes.startp = _startpos_m_;
35669 MenhirLib.EngineTypes.endp = _endpos_m_;
35670 MenhirLib.EngineTypes.next = {
35671 MenhirLib.EngineTypes.semv = ty00;
35672 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35673 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35674 MenhirLib.EngineTypes.next = {
35675 MenhirLib.EngineTypes.state = _menhir_s;
35676 MenhirLib.EngineTypes.semv = r0;
35677 MenhirLib.EngineTypes.startp = _startpos_r0_;
35678 MenhirLib.EngineTypes.endp = _endpos_r0_;
35679 MenhirLib.EngineTypes.next = _menhir_stack;
35680 };
35681 };
35682 } = _menhir_stack in
35683 let m : 'tv_list_TMul_ = Obj.magic m in
35684 let ty00 : (
35685 # 51 "parser_cocci_menhir.mly"
35686 (Data.clt)
35687 # 35688 "parser_cocci_menhir.ml"
35688 ) = Obj.magic ty00 in
35689 let r0 : (
35690 # 53 "parser_cocci_menhir.mly"
35691 (Data.clt)
35692 # 35693 "parser_cocci_menhir.ml"
35693 ) = Obj.magic r0 in
35694 let _startpos = _startpos_r0_ in
35695 let _endpos = _endpos_m_ in
35696 let _v : 'tv_typedef_ctype = let ty =
35697 let ty0 = ty00 in
35698 let r = r0 in
35699 let ty =
35700 let ty = ty0 in
35701
35702 # 538 "parser_cocci_menhir.mly"
35703 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
35704 # 35705 "parser_cocci_menhir.ml"
35705
35706 in
35707
35708 # 591 "parser_cocci_menhir.mly"
35709 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
35710 # 35711 "parser_cocci_menhir.ml"
35711
35712 in
35713 let cv =
35714
35715 # 39 "standard.mly"
35716 ( None )
35717 # 35718 "parser_cocci_menhir.ml"
35718
35719 in
35720
35721 # 612 "parser_cocci_menhir.mly"
35722 ( P.pointerify (P.make_cv cv ty) m )
35723 # 35724 "parser_cocci_menhir.ml"
35724 in
35725 _menhir_env.MenhirLib.EngineTypes.stack <- {
35726 MenhirLib.EngineTypes.state = _menhir_s;
35727 MenhirLib.EngineTypes.semv = Obj.repr _v;
35728 MenhirLib.EngineTypes.startp = _startpos;
35729 MenhirLib.EngineTypes.endp = _endpos;
35730 MenhirLib.EngineTypes.next = _menhir_stack;
35731 });
35732 (fun _menhir_env ->
35733 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35734 let {
35735 MenhirLib.EngineTypes.semv = m;
35736 MenhirLib.EngineTypes.startp = _startpos_m_;
35737 MenhirLib.EngineTypes.endp = _endpos_m_;
35738 MenhirLib.EngineTypes.next = {
35739 MenhirLib.EngineTypes.semv = p00;
35740 MenhirLib.EngineTypes.startp = _startpos_p00_;
35741 MenhirLib.EngineTypes.endp = _endpos_p00_;
35742 MenhirLib.EngineTypes.next = {
35743 MenhirLib.EngineTypes.state = _menhir_s;
35744 MenhirLib.EngineTypes.semv = r0;
35745 MenhirLib.EngineTypes.startp = _startpos_r0_;
35746 MenhirLib.EngineTypes.endp = _endpos_r0_;
35747 MenhirLib.EngineTypes.next = _menhir_stack;
35748 };
35749 };
35750 } = _menhir_stack in
35751 let m : 'tv_list_TMul_ = Obj.magic m in
35752 let p00 : (
35753 # 67 "parser_cocci_menhir.mly"
35754 (Parse_aux.info)
35755 # 35756 "parser_cocci_menhir.ml"
35756 ) = Obj.magic p00 in
35757 let r0 : (
35758 # 53 "parser_cocci_menhir.mly"
35759 (Data.clt)
35760 # 35761 "parser_cocci_menhir.ml"
35761 ) = Obj.magic r0 in
35762 let _startpos = _startpos_r0_ in
35763 let _endpos = _endpos_m_ in
35764 let _v : 'tv_typedef_ctype = let ty =
35765 let p0 = p00 in
35766 let r = r0 in
35767 let ty =
35768 let p = p0 in
35769
35770 # 540 "parser_cocci_menhir.mly"
35771 ( let (nm,pure,clt) = p in
35772 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
35773 # 35774 "parser_cocci_menhir.ml"
35774
35775 in
35776
35777 # 591 "parser_cocci_menhir.mly"
35778 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
35779 # 35780 "parser_cocci_menhir.ml"
35780
35781 in
35782 let cv =
35783
35784 # 39 "standard.mly"
35785 ( None )
35786 # 35787 "parser_cocci_menhir.ml"
35787
35788 in
35789
35790 # 612 "parser_cocci_menhir.mly"
35791 ( P.pointerify (P.make_cv cv ty) m )
35792 # 35793 "parser_cocci_menhir.ml"
35793 in
35794 _menhir_env.MenhirLib.EngineTypes.stack <- {
35795 MenhirLib.EngineTypes.state = _menhir_s;
35796 MenhirLib.EngineTypes.semv = Obj.repr _v;
35797 MenhirLib.EngineTypes.startp = _startpos;
35798 MenhirLib.EngineTypes.endp = _endpos;
35799 MenhirLib.EngineTypes.next = _menhir_stack;
35800 });
35801 (fun _menhir_env ->
35802 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35803 let {
35804 MenhirLib.EngineTypes.semv = m;
35805 MenhirLib.EngineTypes.startp = _startpos_m_;
35806 MenhirLib.EngineTypes.endp = _endpos_m_;
35807 MenhirLib.EngineTypes.next = {
35808 MenhirLib.EngineTypes.semv = p00;
35809 MenhirLib.EngineTypes.startp = _startpos_p00_;
35810 MenhirLib.EngineTypes.endp = _endpos_p00_;
35811 MenhirLib.EngineTypes.next = {
35812 MenhirLib.EngineTypes.startp = _startpos__3_;
35813 MenhirLib.EngineTypes.endp = _endpos__3_;
35814 MenhirLib.EngineTypes.next = {
35815 MenhirLib.EngineTypes.semv = r00;
35816 MenhirLib.EngineTypes.startp = _startpos_r00_;
35817 MenhirLib.EngineTypes.endp = _endpos_r00_;
35818 MenhirLib.EngineTypes.next = {
35819 MenhirLib.EngineTypes.state = _menhir_s;
35820 MenhirLib.EngineTypes.semv = r1;
35821 MenhirLib.EngineTypes.startp = _startpos_r1_;
35822 MenhirLib.EngineTypes.endp = _endpos_r1_;
35823 MenhirLib.EngineTypes.next = _menhir_stack;
35824 };
35825 };
35826 };
35827 };
35828 } = _menhir_stack in
35829 let m : 'tv_list_TMul_ = Obj.magic m in
35830 let p00 : (
35831 # 61 "parser_cocci_menhir.mly"
35832 (string * Data.clt)
35833 # 35834 "parser_cocci_menhir.ml"
35834 ) = Obj.magic p00 in
35835 let r00 : (
35836 # 49 "parser_cocci_menhir.mly"
35837 (string)
35838 # 35839 "parser_cocci_menhir.ml"
35839 ) = Obj.magic r00 in
35840 let r1 : (
35841 # 53 "parser_cocci_menhir.mly"
35842 (Data.clt)
35843 # 35844 "parser_cocci_menhir.ml"
35844 ) = Obj.magic r1 in
35845 let _startpos = _startpos_r1_ in
35846 let _endpos = _endpos_m_ in
35847 let _v : 'tv_typedef_ctype = let ty =
35848 let p0 = p00 in
35849 let r0 = r00 in
35850 let r = r1 in
35851 let ty =
35852 let p = p0 in
35853 let r = r0 in
35854
35855 # 543 "parser_cocci_menhir.mly"
35856 ( let nm = (r,P.id2name p) in
35857 (* this is only possible when we are in a metavar decl. Otherwise,
35858 it will be represented already as a MetaType *)
35859 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
35860 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
35861 Ast0.Impure (*will be ignored*))) )
35862 # 35863 "parser_cocci_menhir.ml"
35863
35864 in
35865
35866 # 591 "parser_cocci_menhir.mly"
35867 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
35868 # 35869 "parser_cocci_menhir.ml"
35869
35870 in
35871 let cv =
35872
35873 # 39 "standard.mly"
35874 ( None )
35875 # 35876 "parser_cocci_menhir.ml"
35876
35877 in
35878
35879 # 612 "parser_cocci_menhir.mly"
35880 ( P.pointerify (P.make_cv cv ty) m )
35881 # 35882 "parser_cocci_menhir.ml"
35882 in
35883 _menhir_env.MenhirLib.EngineTypes.stack <- {
35884 MenhirLib.EngineTypes.state = _menhir_s;
35885 MenhirLib.EngineTypes.semv = Obj.repr _v;
35886 MenhirLib.EngineTypes.startp = _startpos;
35887 MenhirLib.EngineTypes.endp = _endpos;
35888 MenhirLib.EngineTypes.next = _menhir_stack;
35889 });
35890 (fun _menhir_env ->
35891 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35892 let {
35893 MenhirLib.EngineTypes.semv = m;
35894 MenhirLib.EngineTypes.startp = _startpos_m_;
35895 MenhirLib.EngineTypes.endp = _endpos_m_;
35896 MenhirLib.EngineTypes.next = {
35897 MenhirLib.EngineTypes.semv = ty00;
35898 MenhirLib.EngineTypes.startp = _startpos_ty00_;
35899 MenhirLib.EngineTypes.endp = _endpos_ty00_;
35900 MenhirLib.EngineTypes.next = {
35901 MenhirLib.EngineTypes.state = _menhir_s;
35902 MenhirLib.EngineTypes.semv = r0;
35903 MenhirLib.EngineTypes.startp = _startpos_r0_;
35904 MenhirLib.EngineTypes.endp = _endpos_r0_;
35905 MenhirLib.EngineTypes.next = _menhir_stack;
35906 };
35907 };
35908 } = _menhir_stack in
35909 let m : 'tv_list_TMul_ = Obj.magic m in
35910 let ty00 : (
35911 # 51 "parser_cocci_menhir.mly"
35912 (Data.clt)
35913 # 35914 "parser_cocci_menhir.ml"
35914 ) = Obj.magic ty00 in
35915 let r0 : (
35916 # 53 "parser_cocci_menhir.mly"
35917 (Data.clt)
35918 # 35919 "parser_cocci_menhir.ml"
35919 ) = Obj.magic r0 in
35920 let _startpos = _startpos_r0_ in
35921 let _endpos = _endpos_m_ in
35922 let _v : 'tv_typedef_ctype = let ty =
35923 let ty0 = ty00 in
35924 let r = r0 in
35925 let ty =
35926 let ty = ty0 in
35927
35928 # 550 "parser_cocci_menhir.mly"
35929 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
35930 # 35931 "parser_cocci_menhir.ml"
35931
35932 in
35933
35934 # 591 "parser_cocci_menhir.mly"
35935 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
35936 # 35937 "parser_cocci_menhir.ml"
35937
35938 in
35939 let cv =
35940
35941 # 39 "standard.mly"
35942 ( None )
35943 # 35944 "parser_cocci_menhir.ml"
35944
35945 in
35946
35947 # 612 "parser_cocci_menhir.mly"
35948 ( P.pointerify (P.make_cv cv ty) m )
35949 # 35950 "parser_cocci_menhir.ml"
35950 in
35951 _menhir_env.MenhirLib.EngineTypes.stack <- {
35952 MenhirLib.EngineTypes.state = _menhir_s;
35953 MenhirLib.EngineTypes.semv = Obj.repr _v;
35954 MenhirLib.EngineTypes.startp = _startpos;
35955 MenhirLib.EngineTypes.endp = _endpos;
35956 MenhirLib.EngineTypes.next = _menhir_stack;
35957 });
35958 (fun _menhir_env ->
35959 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35960 let {
35961 MenhirLib.EngineTypes.semv = m;
35962 MenhirLib.EngineTypes.startp = _startpos_m_;
35963 MenhirLib.EngineTypes.endp = _endpos_m_;
35964 MenhirLib.EngineTypes.next = {
35965 MenhirLib.EngineTypes.semv = ty200;
35966 MenhirLib.EngineTypes.startp = _startpos_ty200_;
35967 MenhirLib.EngineTypes.endp = _endpos_ty200_;
35968 MenhirLib.EngineTypes.next = {
35969 MenhirLib.EngineTypes.semv = ty100;
35970 MenhirLib.EngineTypes.startp = _startpos_ty100_;
35971 MenhirLib.EngineTypes.endp = _endpos_ty100_;
35972 MenhirLib.EngineTypes.next = {
35973 MenhirLib.EngineTypes.state = _menhir_s;
35974 MenhirLib.EngineTypes.semv = r0;
35975 MenhirLib.EngineTypes.startp = _startpos_r0_;
35976 MenhirLib.EngineTypes.endp = _endpos_r0_;
35977 MenhirLib.EngineTypes.next = _menhir_stack;
35978 };
35979 };
35980 };
35981 } = _menhir_stack in
35982 let m : 'tv_list_TMul_ = Obj.magic m in
35983 let ty200 : (
35984 # 51 "parser_cocci_menhir.mly"
35985 (Data.clt)
35986 # 35987 "parser_cocci_menhir.ml"
35987 ) = Obj.magic ty200 in
35988 let ty100 : (
35989 # 51 "parser_cocci_menhir.mly"
35990 (Data.clt)
35991 # 35992 "parser_cocci_menhir.ml"
35992 ) = Obj.magic ty100 in
35993 let r0 : (
35994 # 53 "parser_cocci_menhir.mly"
35995 (Data.clt)
35996 # 35997 "parser_cocci_menhir.ml"
35997 ) = Obj.magic r0 in
35998 let _startpos = _startpos_r0_ in
35999 let _endpos = _endpos_m_ in
36000 let _v : 'tv_typedef_ctype = let ty =
36001 let ty20 = ty200 in
36002 let ty10 = ty100 in
36003 let r = r0 in
36004 let ty =
36005 let ty2 = ty20 in
36006 let ty1 = ty10 in
36007
36008 # 552 "parser_cocci_menhir.mly"
36009 ( Ast0.wrap
36010 (Ast0.BaseType
36011 (Ast.LongLongType,
36012 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
36013 # 36014 "parser_cocci_menhir.ml"
36014
36015 in
36016
36017 # 591 "parser_cocci_menhir.mly"
36018 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
36019 # 36020 "parser_cocci_menhir.ml"
36020
36021 in
36022 let cv =
36023
36024 # 39 "standard.mly"
36025 ( None )
36026 # 36027 "parser_cocci_menhir.ml"
36027
36028 in
36029
36030 # 612 "parser_cocci_menhir.mly"
36031 ( P.pointerify (P.make_cv cv ty) m )
36032 # 36033 "parser_cocci_menhir.ml"
36033 in
36034 _menhir_env.MenhirLib.EngineTypes.stack <- {
36035 MenhirLib.EngineTypes.state = _menhir_s;
36036 MenhirLib.EngineTypes.semv = Obj.repr _v;
36037 MenhirLib.EngineTypes.startp = _startpos;
36038 MenhirLib.EngineTypes.endp = _endpos;
36039 MenhirLib.EngineTypes.next = _menhir_stack;
36040 });
36041 (fun _menhir_env ->
36042 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36043 let {
36044 MenhirLib.EngineTypes.semv = m;
36045 MenhirLib.EngineTypes.startp = _startpos_m_;
36046 MenhirLib.EngineTypes.endp = _endpos_m_;
36047 MenhirLib.EngineTypes.next = {
36048 MenhirLib.EngineTypes.semv = ty00;
36049 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36050 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36051 MenhirLib.EngineTypes.next = {
36052 MenhirLib.EngineTypes.state = _menhir_s;
36053 MenhirLib.EngineTypes.semv = r0;
36054 MenhirLib.EngineTypes.startp = _startpos_r0_;
36055 MenhirLib.EngineTypes.endp = _endpos_r0_;
36056 MenhirLib.EngineTypes.next = _menhir_stack;
36057 };
36058 };
36059 } = _menhir_stack in
36060 let m : 'tv_list_TMul_ = Obj.magic m in
36061 let ty00 : (
36062 # 51 "parser_cocci_menhir.mly"
36063 (Data.clt)
36064 # 36065 "parser_cocci_menhir.ml"
36065 ) = Obj.magic ty00 in
36066 let r0 : (
36067 # 53 "parser_cocci_menhir.mly"
36068 (Data.clt)
36069 # 36070 "parser_cocci_menhir.ml"
36070 ) = Obj.magic r0 in
36071 let _startpos = _startpos_r0_ in
36072 let _endpos = _endpos_m_ in
36073 let _v : 'tv_typedef_ctype = let ty =
36074 let ty0 = ty00 in
36075 let r = r0 in
36076 let ty =
36077 let ty = ty0 in
36078
36079 # 534 "parser_cocci_menhir.mly"
36080 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
36081 # 36082 "parser_cocci_menhir.ml"
36082
36083 in
36084
36085 # 593 "parser_cocci_menhir.mly"
36086 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
36087 # 36088 "parser_cocci_menhir.ml"
36088
36089 in
36090 let cv =
36091
36092 # 39 "standard.mly"
36093 ( None )
36094 # 36095 "parser_cocci_menhir.ml"
36095
36096 in
36097
36098 # 612 "parser_cocci_menhir.mly"
36099 ( P.pointerify (P.make_cv cv ty) m )
36100 # 36101 "parser_cocci_menhir.ml"
36101 in
36102 _menhir_env.MenhirLib.EngineTypes.stack <- {
36103 MenhirLib.EngineTypes.state = _menhir_s;
36104 MenhirLib.EngineTypes.semv = Obj.repr _v;
36105 MenhirLib.EngineTypes.startp = _startpos;
36106 MenhirLib.EngineTypes.endp = _endpos;
36107 MenhirLib.EngineTypes.next = _menhir_stack;
36108 });
36109 (fun _menhir_env ->
36110 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36111 let {
36112 MenhirLib.EngineTypes.semv = m;
36113 MenhirLib.EngineTypes.startp = _startpos_m_;
36114 MenhirLib.EngineTypes.endp = _endpos_m_;
36115 MenhirLib.EngineTypes.next = {
36116 MenhirLib.EngineTypes.semv = ty00;
36117 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36118 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36119 MenhirLib.EngineTypes.next = {
36120 MenhirLib.EngineTypes.state = _menhir_s;
36121 MenhirLib.EngineTypes.semv = r0;
36122 MenhirLib.EngineTypes.startp = _startpos_r0_;
36123 MenhirLib.EngineTypes.endp = _endpos_r0_;
36124 MenhirLib.EngineTypes.next = _menhir_stack;
36125 };
36126 };
36127 } = _menhir_stack in
36128 let m : 'tv_list_TMul_ = Obj.magic m in
36129 let ty00 : (
36130 # 51 "parser_cocci_menhir.mly"
36131 (Data.clt)
36132 # 36133 "parser_cocci_menhir.ml"
36133 ) = Obj.magic ty00 in
36134 let r0 : (
36135 # 53 "parser_cocci_menhir.mly"
36136 (Data.clt)
36137 # 36138 "parser_cocci_menhir.ml"
36138 ) = Obj.magic r0 in
36139 let _startpos = _startpos_r0_ in
36140 let _endpos = _endpos_m_ in
36141 let _v : 'tv_typedef_ctype = let ty =
36142 let ty0 = ty00 in
36143 let r = r0 in
36144 let ty =
36145 let ty = ty0 in
36146
36147 # 536 "parser_cocci_menhir.mly"
36148 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
36149 # 36150 "parser_cocci_menhir.ml"
36150
36151 in
36152
36153 # 593 "parser_cocci_menhir.mly"
36154 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
36155 # 36156 "parser_cocci_menhir.ml"
36156
36157 in
36158 let cv =
36159
36160 # 39 "standard.mly"
36161 ( None )
36162 # 36163 "parser_cocci_menhir.ml"
36163
36164 in
36165
36166 # 612 "parser_cocci_menhir.mly"
36167 ( P.pointerify (P.make_cv cv ty) m )
36168 # 36169 "parser_cocci_menhir.ml"
36169 in
36170 _menhir_env.MenhirLib.EngineTypes.stack <- {
36171 MenhirLib.EngineTypes.state = _menhir_s;
36172 MenhirLib.EngineTypes.semv = Obj.repr _v;
36173 MenhirLib.EngineTypes.startp = _startpos;
36174 MenhirLib.EngineTypes.endp = _endpos;
36175 MenhirLib.EngineTypes.next = _menhir_stack;
36176 });
36177 (fun _menhir_env ->
36178 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36179 let {
36180 MenhirLib.EngineTypes.semv = m;
36181 MenhirLib.EngineTypes.startp = _startpos_m_;
36182 MenhirLib.EngineTypes.endp = _endpos_m_;
36183 MenhirLib.EngineTypes.next = {
36184 MenhirLib.EngineTypes.semv = ty00;
36185 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36186 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36187 MenhirLib.EngineTypes.next = {
36188 MenhirLib.EngineTypes.state = _menhir_s;
36189 MenhirLib.EngineTypes.semv = r0;
36190 MenhirLib.EngineTypes.startp = _startpos_r0_;
36191 MenhirLib.EngineTypes.endp = _endpos_r0_;
36192 MenhirLib.EngineTypes.next = _menhir_stack;
36193 };
36194 };
36195 } = _menhir_stack in
36196 let m : 'tv_list_TMul_ = Obj.magic m in
36197 let ty00 : (
36198 # 51 "parser_cocci_menhir.mly"
36199 (Data.clt)
36200 # 36201 "parser_cocci_menhir.ml"
36201 ) = Obj.magic ty00 in
36202 let r0 : (
36203 # 53 "parser_cocci_menhir.mly"
36204 (Data.clt)
36205 # 36206 "parser_cocci_menhir.ml"
36206 ) = Obj.magic r0 in
36207 let _startpos = _startpos_r0_ in
36208 let _endpos = _endpos_m_ in
36209 let _v : 'tv_typedef_ctype = let ty =
36210 let ty0 = ty00 in
36211 let r = r0 in
36212 let ty =
36213 let ty = ty0 in
36214
36215 # 538 "parser_cocci_menhir.mly"
36216 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
36217 # 36218 "parser_cocci_menhir.ml"
36218
36219 in
36220
36221 # 593 "parser_cocci_menhir.mly"
36222 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
36223 # 36224 "parser_cocci_menhir.ml"
36224
36225 in
36226 let cv =
36227
36228 # 39 "standard.mly"
36229 ( None )
36230 # 36231 "parser_cocci_menhir.ml"
36231
36232 in
36233
36234 # 612 "parser_cocci_menhir.mly"
36235 ( P.pointerify (P.make_cv cv ty) m )
36236 # 36237 "parser_cocci_menhir.ml"
36237 in
36238 _menhir_env.MenhirLib.EngineTypes.stack <- {
36239 MenhirLib.EngineTypes.state = _menhir_s;
36240 MenhirLib.EngineTypes.semv = Obj.repr _v;
36241 MenhirLib.EngineTypes.startp = _startpos;
36242 MenhirLib.EngineTypes.endp = _endpos;
36243 MenhirLib.EngineTypes.next = _menhir_stack;
36244 });
36245 (fun _menhir_env ->
36246 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36247 let {
36248 MenhirLib.EngineTypes.semv = m;
36249 MenhirLib.EngineTypes.startp = _startpos_m_;
36250 MenhirLib.EngineTypes.endp = _endpos_m_;
36251 MenhirLib.EngineTypes.next = {
36252 MenhirLib.EngineTypes.semv = p00;
36253 MenhirLib.EngineTypes.startp = _startpos_p00_;
36254 MenhirLib.EngineTypes.endp = _endpos_p00_;
36255 MenhirLib.EngineTypes.next = {
36256 MenhirLib.EngineTypes.state = _menhir_s;
36257 MenhirLib.EngineTypes.semv = r0;
36258 MenhirLib.EngineTypes.startp = _startpos_r0_;
36259 MenhirLib.EngineTypes.endp = _endpos_r0_;
36260 MenhirLib.EngineTypes.next = _menhir_stack;
36261 };
36262 };
36263 } = _menhir_stack in
36264 let m : 'tv_list_TMul_ = Obj.magic m in
36265 let p00 : (
36266 # 67 "parser_cocci_menhir.mly"
36267 (Parse_aux.info)
36268 # 36269 "parser_cocci_menhir.ml"
36269 ) = Obj.magic p00 in
36270 let r0 : (
36271 # 53 "parser_cocci_menhir.mly"
36272 (Data.clt)
36273 # 36274 "parser_cocci_menhir.ml"
36274 ) = Obj.magic r0 in
36275 let _startpos = _startpos_r0_ in
36276 let _endpos = _endpos_m_ in
36277 let _v : 'tv_typedef_ctype = let ty =
36278 let p0 = p00 in
36279 let r = r0 in
36280 let ty =
36281 let p = p0 in
36282
36283 # 540 "parser_cocci_menhir.mly"
36284 ( let (nm,pure,clt) = p in
36285 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
36286 # 36287 "parser_cocci_menhir.ml"
36287
36288 in
36289
36290 # 593 "parser_cocci_menhir.mly"
36291 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
36292 # 36293 "parser_cocci_menhir.ml"
36293
36294 in
36295 let cv =
36296
36297 # 39 "standard.mly"
36298 ( None )
36299 # 36300 "parser_cocci_menhir.ml"
36300
36301 in
36302
36303 # 612 "parser_cocci_menhir.mly"
36304 ( P.pointerify (P.make_cv cv ty) m )
36305 # 36306 "parser_cocci_menhir.ml"
36306 in
36307 _menhir_env.MenhirLib.EngineTypes.stack <- {
36308 MenhirLib.EngineTypes.state = _menhir_s;
36309 MenhirLib.EngineTypes.semv = Obj.repr _v;
36310 MenhirLib.EngineTypes.startp = _startpos;
36311 MenhirLib.EngineTypes.endp = _endpos;
36312 MenhirLib.EngineTypes.next = _menhir_stack;
36313 });
36314 (fun _menhir_env ->
36315 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36316 let {
36317 MenhirLib.EngineTypes.semv = m;
36318 MenhirLib.EngineTypes.startp = _startpos_m_;
36319 MenhirLib.EngineTypes.endp = _endpos_m_;
36320 MenhirLib.EngineTypes.next = {
36321 MenhirLib.EngineTypes.semv = p00;
36322 MenhirLib.EngineTypes.startp = _startpos_p00_;
36323 MenhirLib.EngineTypes.endp = _endpos_p00_;
36324 MenhirLib.EngineTypes.next = {
36325 MenhirLib.EngineTypes.startp = _startpos__3_;
36326 MenhirLib.EngineTypes.endp = _endpos__3_;
36327 MenhirLib.EngineTypes.next = {
36328 MenhirLib.EngineTypes.semv = r00;
36329 MenhirLib.EngineTypes.startp = _startpos_r00_;
36330 MenhirLib.EngineTypes.endp = _endpos_r00_;
36331 MenhirLib.EngineTypes.next = {
36332 MenhirLib.EngineTypes.state = _menhir_s;
36333 MenhirLib.EngineTypes.semv = r1;
36334 MenhirLib.EngineTypes.startp = _startpos_r1_;
36335 MenhirLib.EngineTypes.endp = _endpos_r1_;
36336 MenhirLib.EngineTypes.next = _menhir_stack;
36337 };
36338 };
36339 };
36340 };
36341 } = _menhir_stack in
36342 let m : 'tv_list_TMul_ = Obj.magic m in
36343 let p00 : (
36344 # 61 "parser_cocci_menhir.mly"
36345 (string * Data.clt)
36346 # 36347 "parser_cocci_menhir.ml"
36347 ) = Obj.magic p00 in
36348 let r00 : (
36349 # 49 "parser_cocci_menhir.mly"
36350 (string)
36351 # 36352 "parser_cocci_menhir.ml"
36352 ) = Obj.magic r00 in
36353 let r1 : (
36354 # 53 "parser_cocci_menhir.mly"
36355 (Data.clt)
36356 # 36357 "parser_cocci_menhir.ml"
36357 ) = Obj.magic r1 in
36358 let _startpos = _startpos_r1_ in
36359 let _endpos = _endpos_m_ in
36360 let _v : 'tv_typedef_ctype = let ty =
36361 let p0 = p00 in
36362 let r0 = r00 in
36363 let r = r1 in
36364 let ty =
36365 let p = p0 in
36366 let r = r0 in
36367
36368 # 543 "parser_cocci_menhir.mly"
36369 ( let nm = (r,P.id2name p) in
36370 (* this is only possible when we are in a metavar decl. Otherwise,
36371 it will be represented already as a MetaType *)
36372 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
36373 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
36374 Ast0.Impure (*will be ignored*))) )
36375 # 36376 "parser_cocci_menhir.ml"
36376
36377 in
36378
36379 # 593 "parser_cocci_menhir.mly"
36380 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
36381 # 36382 "parser_cocci_menhir.ml"
36382
36383 in
36384 let cv =
36385
36386 # 39 "standard.mly"
36387 ( None )
36388 # 36389 "parser_cocci_menhir.ml"
36389
36390 in
36391
36392 # 612 "parser_cocci_menhir.mly"
36393 ( P.pointerify (P.make_cv cv ty) m )
36394 # 36395 "parser_cocci_menhir.ml"
36395 in
36396 _menhir_env.MenhirLib.EngineTypes.stack <- {
36397 MenhirLib.EngineTypes.state = _menhir_s;
36398 MenhirLib.EngineTypes.semv = Obj.repr _v;
36399 MenhirLib.EngineTypes.startp = _startpos;
36400 MenhirLib.EngineTypes.endp = _endpos;
36401 MenhirLib.EngineTypes.next = _menhir_stack;
36402 });
36403 (fun _menhir_env ->
36404 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36405 let {
36406 MenhirLib.EngineTypes.semv = m;
36407 MenhirLib.EngineTypes.startp = _startpos_m_;
36408 MenhirLib.EngineTypes.endp = _endpos_m_;
36409 MenhirLib.EngineTypes.next = {
36410 MenhirLib.EngineTypes.semv = ty00;
36411 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36412 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36413 MenhirLib.EngineTypes.next = {
36414 MenhirLib.EngineTypes.state = _menhir_s;
36415 MenhirLib.EngineTypes.semv = r0;
36416 MenhirLib.EngineTypes.startp = _startpos_r0_;
36417 MenhirLib.EngineTypes.endp = _endpos_r0_;
36418 MenhirLib.EngineTypes.next = _menhir_stack;
36419 };
36420 };
36421 } = _menhir_stack in
36422 let m : 'tv_list_TMul_ = Obj.magic m in
36423 let ty00 : (
36424 # 51 "parser_cocci_menhir.mly"
36425 (Data.clt)
36426 # 36427 "parser_cocci_menhir.ml"
36427 ) = Obj.magic ty00 in
36428 let r0 : (
36429 # 53 "parser_cocci_menhir.mly"
36430 (Data.clt)
36431 # 36432 "parser_cocci_menhir.ml"
36432 ) = Obj.magic r0 in
36433 let _startpos = _startpos_r0_ in
36434 let _endpos = _endpos_m_ in
36435 let _v : 'tv_typedef_ctype = let ty =
36436 let ty0 = ty00 in
36437 let r = r0 in
36438 let ty =
36439 let ty = ty0 in
36440
36441 # 550 "parser_cocci_menhir.mly"
36442 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
36443 # 36444 "parser_cocci_menhir.ml"
36444
36445 in
36446
36447 # 593 "parser_cocci_menhir.mly"
36448 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
36449 # 36450 "parser_cocci_menhir.ml"
36450
36451 in
36452 let cv =
36453
36454 # 39 "standard.mly"
36455 ( None )
36456 # 36457 "parser_cocci_menhir.ml"
36457
36458 in
36459
36460 # 612 "parser_cocci_menhir.mly"
36461 ( P.pointerify (P.make_cv cv ty) m )
36462 # 36463 "parser_cocci_menhir.ml"
36463 in
36464 _menhir_env.MenhirLib.EngineTypes.stack <- {
36465 MenhirLib.EngineTypes.state = _menhir_s;
36466 MenhirLib.EngineTypes.semv = Obj.repr _v;
36467 MenhirLib.EngineTypes.startp = _startpos;
36468 MenhirLib.EngineTypes.endp = _endpos;
36469 MenhirLib.EngineTypes.next = _menhir_stack;
36470 });
36471 (fun _menhir_env ->
36472 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36473 let {
36474 MenhirLib.EngineTypes.semv = m;
36475 MenhirLib.EngineTypes.startp = _startpos_m_;
36476 MenhirLib.EngineTypes.endp = _endpos_m_;
36477 MenhirLib.EngineTypes.next = {
36478 MenhirLib.EngineTypes.semv = ty200;
36479 MenhirLib.EngineTypes.startp = _startpos_ty200_;
36480 MenhirLib.EngineTypes.endp = _endpos_ty200_;
36481 MenhirLib.EngineTypes.next = {
36482 MenhirLib.EngineTypes.semv = ty100;
36483 MenhirLib.EngineTypes.startp = _startpos_ty100_;
36484 MenhirLib.EngineTypes.endp = _endpos_ty100_;
36485 MenhirLib.EngineTypes.next = {
36486 MenhirLib.EngineTypes.state = _menhir_s;
36487 MenhirLib.EngineTypes.semv = r0;
36488 MenhirLib.EngineTypes.startp = _startpos_r0_;
36489 MenhirLib.EngineTypes.endp = _endpos_r0_;
36490 MenhirLib.EngineTypes.next = _menhir_stack;
36491 };
36492 };
36493 };
36494 } = _menhir_stack in
36495 let m : 'tv_list_TMul_ = Obj.magic m in
36496 let ty200 : (
36497 # 51 "parser_cocci_menhir.mly"
36498 (Data.clt)
36499 # 36500 "parser_cocci_menhir.ml"
36500 ) = Obj.magic ty200 in
36501 let ty100 : (
36502 # 51 "parser_cocci_menhir.mly"
36503 (Data.clt)
36504 # 36505 "parser_cocci_menhir.ml"
36505 ) = Obj.magic ty100 in
36506 let r0 : (
36507 # 53 "parser_cocci_menhir.mly"
36508 (Data.clt)
36509 # 36510 "parser_cocci_menhir.ml"
36510 ) = Obj.magic r0 in
36511 let _startpos = _startpos_r0_ in
36512 let _endpos = _endpos_m_ in
36513 let _v : 'tv_typedef_ctype = let ty =
36514 let ty20 = ty200 in
36515 let ty10 = ty100 in
36516 let r = r0 in
36517 let ty =
36518 let ty2 = ty20 in
36519 let ty1 = ty10 in
36520
36521 # 552 "parser_cocci_menhir.mly"
36522 ( Ast0.wrap
36523 (Ast0.BaseType
36524 (Ast.LongLongType,
36525 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
36526 # 36527 "parser_cocci_menhir.ml"
36527
36528 in
36529
36530 # 593 "parser_cocci_menhir.mly"
36531 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
36532 # 36533 "parser_cocci_menhir.ml"
36533
36534 in
36535 let cv =
36536
36537 # 39 "standard.mly"
36538 ( None )
36539 # 36540 "parser_cocci_menhir.ml"
36540
36541 in
36542
36543 # 612 "parser_cocci_menhir.mly"
36544 ( P.pointerify (P.make_cv cv ty) m )
36545 # 36546 "parser_cocci_menhir.ml"
36546 in
36547 _menhir_env.MenhirLib.EngineTypes.stack <- {
36548 MenhirLib.EngineTypes.state = _menhir_s;
36549 MenhirLib.EngineTypes.semv = Obj.repr _v;
36550 MenhirLib.EngineTypes.startp = _startpos;
36551 MenhirLib.EngineTypes.endp = _endpos;
36552 MenhirLib.EngineTypes.next = _menhir_stack;
36553 });
36554 (fun _menhir_env ->
36555 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36556 let {
36557 MenhirLib.EngineTypes.semv = m;
36558 MenhirLib.EngineTypes.startp = _startpos_m_;
36559 MenhirLib.EngineTypes.endp = _endpos_m_;
36560 MenhirLib.EngineTypes.next = {
36561 MenhirLib.EngineTypes.state = _menhir_s;
36562 MenhirLib.EngineTypes.semv = ty00;
36563 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36564 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36565 MenhirLib.EngineTypes.next = _menhir_stack;
36566 };
36567 } = _menhir_stack in
36568 let m : 'tv_list_TMul_ = Obj.magic m in
36569 let ty00 : (
36570 # 51 "parser_cocci_menhir.mly"
36571 (Data.clt)
36572 # 36573 "parser_cocci_menhir.ml"
36573 ) = Obj.magic ty00 in
36574 let _startpos = _startpos_ty00_ in
36575 let _endpos = _endpos_m_ in
36576 let _v : 'tv_typedef_ctype = let ty =
36577 let ty0 = ty00 in
36578 let ty =
36579 let ty = ty0 in
36580
36581 # 534 "parser_cocci_menhir.mly"
36582 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
36583 # 36584 "parser_cocci_menhir.ml"
36584
36585 in
36586
36587 # 594 "parser_cocci_menhir.mly"
36588 ( ty )
36589 # 36590 "parser_cocci_menhir.ml"
36590
36591 in
36592 let cv =
36593
36594 # 39 "standard.mly"
36595 ( None )
36596 # 36597 "parser_cocci_menhir.ml"
36597
36598 in
36599
36600 # 612 "parser_cocci_menhir.mly"
36601 ( P.pointerify (P.make_cv cv ty) m )
36602 # 36603 "parser_cocci_menhir.ml"
36603 in
36604 _menhir_env.MenhirLib.EngineTypes.stack <- {
36605 MenhirLib.EngineTypes.state = _menhir_s;
36606 MenhirLib.EngineTypes.semv = Obj.repr _v;
36607 MenhirLib.EngineTypes.startp = _startpos;
36608 MenhirLib.EngineTypes.endp = _endpos;
36609 MenhirLib.EngineTypes.next = _menhir_stack;
36610 });
36611 (fun _menhir_env ->
36612 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36613 let {
36614 MenhirLib.EngineTypes.semv = m;
36615 MenhirLib.EngineTypes.startp = _startpos_m_;
36616 MenhirLib.EngineTypes.endp = _endpos_m_;
36617 MenhirLib.EngineTypes.next = {
36618 MenhirLib.EngineTypes.state = _menhir_s;
36619 MenhirLib.EngineTypes.semv = ty00;
36620 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36621 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36622 MenhirLib.EngineTypes.next = _menhir_stack;
36623 };
36624 } = _menhir_stack in
36625 let m : 'tv_list_TMul_ = Obj.magic m in
36626 let ty00 : (
36627 # 51 "parser_cocci_menhir.mly"
36628 (Data.clt)
36629 # 36630 "parser_cocci_menhir.ml"
36630 ) = Obj.magic ty00 in
36631 let _startpos = _startpos_ty00_ in
36632 let _endpos = _endpos_m_ in
36633 let _v : 'tv_typedef_ctype = let ty =
36634 let ty0 = ty00 in
36635 let ty =
36636 let ty = ty0 in
36637
36638 # 536 "parser_cocci_menhir.mly"
36639 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
36640 # 36641 "parser_cocci_menhir.ml"
36641
36642 in
36643
36644 # 594 "parser_cocci_menhir.mly"
36645 ( ty )
36646 # 36647 "parser_cocci_menhir.ml"
36647
36648 in
36649 let cv =
36650
36651 # 39 "standard.mly"
36652 ( None )
36653 # 36654 "parser_cocci_menhir.ml"
36654
36655 in
36656
36657 # 612 "parser_cocci_menhir.mly"
36658 ( P.pointerify (P.make_cv cv ty) m )
36659 # 36660 "parser_cocci_menhir.ml"
36660 in
36661 _menhir_env.MenhirLib.EngineTypes.stack <- {
36662 MenhirLib.EngineTypes.state = _menhir_s;
36663 MenhirLib.EngineTypes.semv = Obj.repr _v;
36664 MenhirLib.EngineTypes.startp = _startpos;
36665 MenhirLib.EngineTypes.endp = _endpos;
36666 MenhirLib.EngineTypes.next = _menhir_stack;
36667 });
36668 (fun _menhir_env ->
36669 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36670 let {
36671 MenhirLib.EngineTypes.semv = m;
36672 MenhirLib.EngineTypes.startp = _startpos_m_;
36673 MenhirLib.EngineTypes.endp = _endpos_m_;
36674 MenhirLib.EngineTypes.next = {
36675 MenhirLib.EngineTypes.state = _menhir_s;
36676 MenhirLib.EngineTypes.semv = ty00;
36677 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36678 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36679 MenhirLib.EngineTypes.next = _menhir_stack;
36680 };
36681 } = _menhir_stack in
36682 let m : 'tv_list_TMul_ = Obj.magic m in
36683 let ty00 : (
36684 # 51 "parser_cocci_menhir.mly"
36685 (Data.clt)
36686 # 36687 "parser_cocci_menhir.ml"
36687 ) = Obj.magic ty00 in
36688 let _startpos = _startpos_ty00_ in
36689 let _endpos = _endpos_m_ in
36690 let _v : 'tv_typedef_ctype = let ty =
36691 let ty0 = ty00 in
36692 let ty =
36693 let ty = ty0 in
36694
36695 # 538 "parser_cocci_menhir.mly"
36696 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
36697 # 36698 "parser_cocci_menhir.ml"
36698
36699 in
36700
36701 # 594 "parser_cocci_menhir.mly"
36702 ( ty )
36703 # 36704 "parser_cocci_menhir.ml"
36704
36705 in
36706 let cv =
36707
36708 # 39 "standard.mly"
36709 ( None )
36710 # 36711 "parser_cocci_menhir.ml"
36711
36712 in
36713
36714 # 612 "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.state = _menhir_s;
36733 MenhirLib.EngineTypes.semv = p00;
36734 MenhirLib.EngineTypes.startp = _startpos_p00_;
36735 MenhirLib.EngineTypes.endp = _endpos_p00_;
36736 MenhirLib.EngineTypes.next = _menhir_stack;
36737 };
36738 } = _menhir_stack in
36739 let m : 'tv_list_TMul_ = Obj.magic m in
36740 let p00 : (
36741 # 67 "parser_cocci_menhir.mly"
36742 (Parse_aux.info)
36743 # 36744 "parser_cocci_menhir.ml"
36744 ) = Obj.magic p00 in
36745 let _startpos = _startpos_p00_ in
36746 let _endpos = _endpos_m_ in
36747 let _v : 'tv_typedef_ctype = let ty =
36748 let p0 = p00 in
36749 let ty =
36750 let p = p0 in
36751
36752 # 540 "parser_cocci_menhir.mly"
36753 ( let (nm,pure,clt) = p in
36754 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
36755 # 36756 "parser_cocci_menhir.ml"
36756
36757 in
36758
36759 # 594 "parser_cocci_menhir.mly"
36760 ( ty )
36761 # 36762 "parser_cocci_menhir.ml"
36762
36763 in
36764 let cv =
36765
36766 # 39 "standard.mly"
36767 ( None )
36768 # 36769 "parser_cocci_menhir.ml"
36769
36770 in
36771
36772 # 612 "parser_cocci_menhir.mly"
36773 ( P.pointerify (P.make_cv cv ty) m )
36774 # 36775 "parser_cocci_menhir.ml"
36775 in
36776 _menhir_env.MenhirLib.EngineTypes.stack <- {
36777 MenhirLib.EngineTypes.state = _menhir_s;
36778 MenhirLib.EngineTypes.semv = Obj.repr _v;
36779 MenhirLib.EngineTypes.startp = _startpos;
36780 MenhirLib.EngineTypes.endp = _endpos;
36781 MenhirLib.EngineTypes.next = _menhir_stack;
36782 });
36783 (fun _menhir_env ->
36784 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36785 let {
36786 MenhirLib.EngineTypes.semv = m;
36787 MenhirLib.EngineTypes.startp = _startpos_m_;
36788 MenhirLib.EngineTypes.endp = _endpos_m_;
36789 MenhirLib.EngineTypes.next = {
36790 MenhirLib.EngineTypes.semv = p00;
36791 MenhirLib.EngineTypes.startp = _startpos_p00_;
36792 MenhirLib.EngineTypes.endp = _endpos_p00_;
36793 MenhirLib.EngineTypes.next = {
36794 MenhirLib.EngineTypes.startp = _startpos__2_;
36795 MenhirLib.EngineTypes.endp = _endpos__2_;
36796 MenhirLib.EngineTypes.next = {
36797 MenhirLib.EngineTypes.state = _menhir_s;
36798 MenhirLib.EngineTypes.semv = r00;
36799 MenhirLib.EngineTypes.startp = _startpos_r00_;
36800 MenhirLib.EngineTypes.endp = _endpos_r00_;
36801 MenhirLib.EngineTypes.next = _menhir_stack;
36802 };
36803 };
36804 };
36805 } = _menhir_stack in
36806 let m : 'tv_list_TMul_ = Obj.magic m in
36807 let p00 : (
36808 # 61 "parser_cocci_menhir.mly"
36809 (string * Data.clt)
36810 # 36811 "parser_cocci_menhir.ml"
36811 ) = Obj.magic p00 in
36812 let r00 : (
36813 # 49 "parser_cocci_menhir.mly"
36814 (string)
36815 # 36816 "parser_cocci_menhir.ml"
36816 ) = Obj.magic r00 in
36817 let _startpos = _startpos_r00_ in
36818 let _endpos = _endpos_m_ in
36819 let _v : 'tv_typedef_ctype = let ty =
36820 let p0 = p00 in
36821 let r0 = r00 in
36822 let ty =
36823 let p = p0 in
36824 let r = r0 in
36825
36826 # 543 "parser_cocci_menhir.mly"
36827 ( let nm = (r,P.id2name p) in
36828 (* this is only possible when we are in a metavar decl. Otherwise,
36829 it will be represented already as a MetaType *)
36830 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
36831 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
36832 Ast0.Impure (*will be ignored*))) )
36833 # 36834 "parser_cocci_menhir.ml"
36834
36835 in
36836
36837 # 594 "parser_cocci_menhir.mly"
36838 ( ty )
36839 # 36840 "parser_cocci_menhir.ml"
36840
36841 in
36842 let cv =
36843
36844 # 39 "standard.mly"
36845 ( None )
36846 # 36847 "parser_cocci_menhir.ml"
36847
36848 in
36849
36850 # 612 "parser_cocci_menhir.mly"
36851 ( P.pointerify (P.make_cv cv ty) m )
36852 # 36853 "parser_cocci_menhir.ml"
36853 in
36854 _menhir_env.MenhirLib.EngineTypes.stack <- {
36855 MenhirLib.EngineTypes.state = _menhir_s;
36856 MenhirLib.EngineTypes.semv = Obj.repr _v;
36857 MenhirLib.EngineTypes.startp = _startpos;
36858 MenhirLib.EngineTypes.endp = _endpos;
36859 MenhirLib.EngineTypes.next = _menhir_stack;
36860 });
36861 (fun _menhir_env ->
36862 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36863 let {
36864 MenhirLib.EngineTypes.semv = m;
36865 MenhirLib.EngineTypes.startp = _startpos_m_;
36866 MenhirLib.EngineTypes.endp = _endpos_m_;
36867 MenhirLib.EngineTypes.next = {
36868 MenhirLib.EngineTypes.state = _menhir_s;
36869 MenhirLib.EngineTypes.semv = ty00;
36870 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36871 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36872 MenhirLib.EngineTypes.next = _menhir_stack;
36873 };
36874 } = _menhir_stack in
36875 let m : 'tv_list_TMul_ = Obj.magic m in
36876 let ty00 : (
36877 # 51 "parser_cocci_menhir.mly"
36878 (Data.clt)
36879 # 36880 "parser_cocci_menhir.ml"
36880 ) = Obj.magic ty00 in
36881 let _startpos = _startpos_ty00_ in
36882 let _endpos = _endpos_m_ in
36883 let _v : 'tv_typedef_ctype = let ty =
36884 let ty0 = ty00 in
36885 let ty =
36886 let ty = ty0 in
36887
36888 # 550 "parser_cocci_menhir.mly"
36889 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
36890 # 36891 "parser_cocci_menhir.ml"
36891
36892 in
36893
36894 # 594 "parser_cocci_menhir.mly"
36895 ( ty )
36896 # 36897 "parser_cocci_menhir.ml"
36897
36898 in
36899 let cv =
36900
36901 # 39 "standard.mly"
36902 ( None )
36903 # 36904 "parser_cocci_menhir.ml"
36904
36905 in
36906
36907 # 612 "parser_cocci_menhir.mly"
36908 ( P.pointerify (P.make_cv cv ty) m )
36909 # 36910 "parser_cocci_menhir.ml"
36910 in
36911 _menhir_env.MenhirLib.EngineTypes.stack <- {
36912 MenhirLib.EngineTypes.state = _menhir_s;
36913 MenhirLib.EngineTypes.semv = Obj.repr _v;
36914 MenhirLib.EngineTypes.startp = _startpos;
36915 MenhirLib.EngineTypes.endp = _endpos;
36916 MenhirLib.EngineTypes.next = _menhir_stack;
36917 });
36918 (fun _menhir_env ->
36919 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36920 let {
36921 MenhirLib.EngineTypes.semv = m;
36922 MenhirLib.EngineTypes.startp = _startpos_m_;
36923 MenhirLib.EngineTypes.endp = _endpos_m_;
36924 MenhirLib.EngineTypes.next = {
36925 MenhirLib.EngineTypes.semv = ty200;
36926 MenhirLib.EngineTypes.startp = _startpos_ty200_;
36927 MenhirLib.EngineTypes.endp = _endpos_ty200_;
36928 MenhirLib.EngineTypes.next = {
36929 MenhirLib.EngineTypes.state = _menhir_s;
36930 MenhirLib.EngineTypes.semv = ty100;
36931 MenhirLib.EngineTypes.startp = _startpos_ty100_;
36932 MenhirLib.EngineTypes.endp = _endpos_ty100_;
36933 MenhirLib.EngineTypes.next = _menhir_stack;
36934 };
36935 };
36936 } = _menhir_stack in
36937 let m : 'tv_list_TMul_ = Obj.magic m in
36938 let ty200 : (
36939 # 51 "parser_cocci_menhir.mly"
36940 (Data.clt)
36941 # 36942 "parser_cocci_menhir.ml"
36942 ) = Obj.magic ty200 in
36943 let ty100 : (
36944 # 51 "parser_cocci_menhir.mly"
36945 (Data.clt)
36946 # 36947 "parser_cocci_menhir.ml"
36947 ) = Obj.magic ty100 in
36948 let _startpos = _startpos_ty100_ in
36949 let _endpos = _endpos_m_ in
36950 let _v : 'tv_typedef_ctype = let ty =
36951 let ty20 = ty200 in
36952 let ty10 = ty100 in
36953 let ty =
36954 let ty2 = ty20 in
36955 let ty1 = ty10 in
36956
36957 # 552 "parser_cocci_menhir.mly"
36958 ( Ast0.wrap
36959 (Ast0.BaseType
36960 (Ast.LongLongType,
36961 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
36962 # 36963 "parser_cocci_menhir.ml"
36963
36964 in
36965
36966 # 594 "parser_cocci_menhir.mly"
36967 ( ty )
36968 # 36969 "parser_cocci_menhir.ml"
36969
36970 in
36971 let cv =
36972
36973 # 39 "standard.mly"
36974 ( None )
36975 # 36976 "parser_cocci_menhir.ml"
36976
36977 in
36978
36979 # 612 "parser_cocci_menhir.mly"
36980 ( P.pointerify (P.make_cv cv ty) m )
36981 # 36982 "parser_cocci_menhir.ml"
36982 in
36983 _menhir_env.MenhirLib.EngineTypes.stack <- {
36984 MenhirLib.EngineTypes.state = _menhir_s;
36985 MenhirLib.EngineTypes.semv = Obj.repr _v;
36986 MenhirLib.EngineTypes.startp = _startpos;
36987 MenhirLib.EngineTypes.endp = _endpos;
36988 MenhirLib.EngineTypes.next = _menhir_stack;
36989 });
36990 (fun _menhir_env ->
36991 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36992 let {
36993 MenhirLib.EngineTypes.semv = m;
36994 MenhirLib.EngineTypes.startp = _startpos_m_;
36995 MenhirLib.EngineTypes.endp = _endpos_m_;
36996 MenhirLib.EngineTypes.next = {
36997 MenhirLib.EngineTypes.state = _menhir_s;
36998 MenhirLib.EngineTypes.semv = ty00;
36999 MenhirLib.EngineTypes.startp = _startpos_ty00_;
37000 MenhirLib.EngineTypes.endp = _endpos_ty00_;
37001 MenhirLib.EngineTypes.next = _menhir_stack;
37002 };
37003 } = _menhir_stack in
37004 let m : 'tv_list_TMul_ = Obj.magic m in
37005 let ty00 : (
37006 # 52 "parser_cocci_menhir.mly"
37007 (Data.clt)
37008 # 37009 "parser_cocci_menhir.ml"
37009 ) = Obj.magic ty00 in
37010 let _startpos = _startpos_ty00_ in
37011 let _endpos = _endpos_m_ in
37012 let _v : 'tv_typedef_ctype = let ty =
37013 let ty0 = ty00 in
37014 let ty =
37015 let ty = ty0 in
37016
37017 # 560 "parser_cocci_menhir.mly"
37018 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
37019 # 37020 "parser_cocci_menhir.ml"
37020
37021 in
37022
37023 # 595 "parser_cocci_menhir.mly"
37024 ( ty )
37025 # 37026 "parser_cocci_menhir.ml"
37026
37027 in
37028 let cv =
37029
37030 # 39 "standard.mly"
37031 ( None )
37032 # 37033 "parser_cocci_menhir.ml"
37033
37034 in
37035
37036 # 612 "parser_cocci_menhir.mly"
37037 ( P.pointerify (P.make_cv cv ty) m )
37038 # 37039 "parser_cocci_menhir.ml"
37039 in
37040 _menhir_env.MenhirLib.EngineTypes.stack <- {
37041 MenhirLib.EngineTypes.state = _menhir_s;
37042 MenhirLib.EngineTypes.semv = Obj.repr _v;
37043 MenhirLib.EngineTypes.startp = _startpos;
37044 MenhirLib.EngineTypes.endp = _endpos;
37045 MenhirLib.EngineTypes.next = _menhir_stack;
37046 });
37047 (fun _menhir_env ->
37048 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37049 let {
37050 MenhirLib.EngineTypes.semv = m;
37051 MenhirLib.EngineTypes.startp = _startpos_m_;
37052 MenhirLib.EngineTypes.endp = _endpos_m_;
37053 MenhirLib.EngineTypes.next = {
37054 MenhirLib.EngineTypes.state = _menhir_s;
37055 MenhirLib.EngineTypes.semv = ty00;
37056 MenhirLib.EngineTypes.startp = _startpos_ty00_;
37057 MenhirLib.EngineTypes.endp = _endpos_ty00_;
37058 MenhirLib.EngineTypes.next = _menhir_stack;
37059 };
37060 } = _menhir_stack in
37061 let m : 'tv_list_TMul_ = Obj.magic m in
37062 let ty00 : (
37063 # 51 "parser_cocci_menhir.mly"
37064 (Data.clt)
37065 # 37066 "parser_cocci_menhir.ml"
37066 ) = Obj.magic ty00 in
37067 let _startpos = _startpos_ty00_ in
37068 let _endpos = _endpos_m_ in
37069 let _v : 'tv_typedef_ctype = let ty =
37070 let ty0 = ty00 in
37071 let ty =
37072 let ty = ty0 in
37073
37074 # 562 "parser_cocci_menhir.mly"
37075 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
37076 # 37077 "parser_cocci_menhir.ml"
37077
37078 in
37079
37080 # 595 "parser_cocci_menhir.mly"
37081 ( ty )
37082 # 37083 "parser_cocci_menhir.ml"
37083
37084 in
37085 let cv =
37086
37087 # 39 "standard.mly"
37088 ( None )
37089 # 37090 "parser_cocci_menhir.ml"
37090
37091 in
37092
37093 # 612 "parser_cocci_menhir.mly"
37094 ( P.pointerify (P.make_cv cv ty) m )
37095 # 37096 "parser_cocci_menhir.ml"
37096 in
37097 _menhir_env.MenhirLib.EngineTypes.stack <- {
37098 MenhirLib.EngineTypes.state = _menhir_s;
37099 MenhirLib.EngineTypes.semv = Obj.repr _v;
37100 MenhirLib.EngineTypes.startp = _startpos;
37101 MenhirLib.EngineTypes.endp = _endpos;
37102 MenhirLib.EngineTypes.next = _menhir_stack;
37103 });
37104 (fun _menhir_env ->
37105 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37106 let {
37107 MenhirLib.EngineTypes.semv = m;
37108 MenhirLib.EngineTypes.startp = _startpos_m_;
37109 MenhirLib.EngineTypes.endp = _endpos_m_;
37110 MenhirLib.EngineTypes.next = {
37111 MenhirLib.EngineTypes.state = _menhir_s;
37112 MenhirLib.EngineTypes.semv = ty00;
37113 MenhirLib.EngineTypes.startp = _startpos_ty00_;
37114 MenhirLib.EngineTypes.endp = _endpos_ty00_;
37115 MenhirLib.EngineTypes.next = _menhir_stack;
37116 };
37117 } = _menhir_stack in
37118 let m : 'tv_list_TMul_ = Obj.magic m in
37119 let ty00 : (
37120 # 51 "parser_cocci_menhir.mly"
37121 (Data.clt)
37122 # 37123 "parser_cocci_menhir.ml"
37123 ) = Obj.magic ty00 in
37124 let _startpos = _startpos_ty00_ in
37125 let _endpos = _endpos_m_ in
37126 let _v : 'tv_typedef_ctype = let ty =
37127 let ty0 = ty00 in
37128 let ty =
37129 let ty = ty0 in
37130
37131 # 564 "parser_cocci_menhir.mly"
37132 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
37133 # 37134 "parser_cocci_menhir.ml"
37134
37135 in
37136
37137 # 595 "parser_cocci_menhir.mly"
37138 ( ty )
37139 # 37140 "parser_cocci_menhir.ml"
37140
37141 in
37142 let cv =
37143
37144 # 39 "standard.mly"
37145 ( None )
37146 # 37147 "parser_cocci_menhir.ml"
37147
37148 in
37149
37150 # 612 "parser_cocci_menhir.mly"
37151 ( P.pointerify (P.make_cv cv ty) m )
37152 # 37153 "parser_cocci_menhir.ml"
37153 in
37154 _menhir_env.MenhirLib.EngineTypes.stack <- {
37155 MenhirLib.EngineTypes.state = _menhir_s;
37156 MenhirLib.EngineTypes.semv = Obj.repr _v;
37157 MenhirLib.EngineTypes.startp = _startpos;
37158 MenhirLib.EngineTypes.endp = _endpos;
37159 MenhirLib.EngineTypes.next = _menhir_stack;
37160 });
37161 (fun _menhir_env ->
37162 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37163 let {
37164 MenhirLib.EngineTypes.semv = m;
37165 MenhirLib.EngineTypes.startp = _startpos_m_;
37166 MenhirLib.EngineTypes.endp = _endpos_m_;
37167 MenhirLib.EngineTypes.next = {
37168 MenhirLib.EngineTypes.semv = i00;
37169 MenhirLib.EngineTypes.startp = _startpos_i00_;
37170 MenhirLib.EngineTypes.endp = _endpos_i00_;
37171 MenhirLib.EngineTypes.next = {
37172 MenhirLib.EngineTypes.state = _menhir_s;
37173 MenhirLib.EngineTypes.semv = s00;
37174 MenhirLib.EngineTypes.startp = _startpos_s00_;
37175 MenhirLib.EngineTypes.endp = _endpos_s00_;
37176 MenhirLib.EngineTypes.next = _menhir_stack;
37177 };
37178 };
37179 } = _menhir_stack in
37180 let m : 'tv_list_TMul_ = Obj.magic m in
37181 let i00 : 'tv_ident = Obj.magic i00 in
37182 let s00 : (
37183 # 52 "parser_cocci_menhir.mly"
37184 (Data.clt)
37185 # 37186 "parser_cocci_menhir.ml"
37186 ) = Obj.magic s00 in
37187 let _startpos = _startpos_s00_ in
37188 let _endpos = _endpos_m_ in
37189 let _v : 'tv_typedef_ctype = let ty =
37190 let i0 = i00 in
37191 let s0 = s00 in
37192 let ty =
37193 let i = i0 in
37194 let s = s0 in
37195
37196 # 566 "parser_cocci_menhir.mly"
37197 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
37198 # 37199 "parser_cocci_menhir.ml"
37199
37200 in
37201
37202 # 595 "parser_cocci_menhir.mly"
37203 ( ty )
37204 # 37205 "parser_cocci_menhir.ml"
37205
37206 in
37207 let cv =
37208
37209 # 39 "standard.mly"
37210 ( None )
37211 # 37212 "parser_cocci_menhir.ml"
37212
37213 in
37214
37215 # 612 "parser_cocci_menhir.mly"
37216 ( P.pointerify (P.make_cv cv ty) m )
37217 # 37218 "parser_cocci_menhir.ml"
37218 in
37219 _menhir_env.MenhirLib.EngineTypes.stack <- {
37220 MenhirLib.EngineTypes.state = _menhir_s;
37221 MenhirLib.EngineTypes.semv = Obj.repr _v;
37222 MenhirLib.EngineTypes.startp = _startpos;
37223 MenhirLib.EngineTypes.endp = _endpos;
37224 MenhirLib.EngineTypes.next = _menhir_stack;
37225 });
37226 (fun _menhir_env ->
37227 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37228 let {
37229 MenhirLib.EngineTypes.semv = m;
37230 MenhirLib.EngineTypes.startp = _startpos_m_;
37231 MenhirLib.EngineTypes.endp = _endpos_m_;
37232 MenhirLib.EngineTypes.next = {
37233 MenhirLib.EngineTypes.semv = r00;
37234 MenhirLib.EngineTypes.startp = _startpos_r00_;
37235 MenhirLib.EngineTypes.endp = _endpos_r00_;
37236 MenhirLib.EngineTypes.next = {
37237 MenhirLib.EngineTypes.semv = ids00;
37238 MenhirLib.EngineTypes.startp = _startpos_ids00_;
37239 MenhirLib.EngineTypes.endp = _endpos_ids00_;
37240 MenhirLib.EngineTypes.next = {
37241 MenhirLib.EngineTypes.semv = l00;
37242 MenhirLib.EngineTypes.startp = _startpos_l00_;
37243 MenhirLib.EngineTypes.endp = _endpos_l00_;
37244 MenhirLib.EngineTypes.next = {
37245 MenhirLib.EngineTypes.state = _menhir_s;
37246 MenhirLib.EngineTypes.semv = s00;
37247 MenhirLib.EngineTypes.startp = _startpos_s00_;
37248 MenhirLib.EngineTypes.endp = _endpos_s00_;
37249 MenhirLib.EngineTypes.next = _menhir_stack;
37250 };
37251 };
37252 };
37253 };
37254 } = _menhir_stack in
37255 let m : 'tv_list_TMul_ = Obj.magic m in
37256 let r00 : (
37257 # 104 "parser_cocci_menhir.mly"
37258 (Data.clt)
37259 # 37260 "parser_cocci_menhir.ml"
37260 ) = Obj.magic r00 in
37261 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
37262 let l00 : (
37263 # 104 "parser_cocci_menhir.mly"
37264 (Data.clt)
37265 # 37266 "parser_cocci_menhir.ml"
37266 ) = Obj.magic l00 in
37267 let s00 : (
37268 # 52 "parser_cocci_menhir.mly"
37269 (Data.clt)
37270 # 37271 "parser_cocci_menhir.ml"
37271 ) = Obj.magic s00 in
37272 let _startpos = _startpos_s00_ in
37273 let _endpos = _endpos_m_ in
37274 let _v : 'tv_typedef_ctype = let ty =
37275 let r0 = r00 in
37276 let ids0 = ids00 in
37277 let l0 = l00 in
37278 let s0 = s00 in
37279 let ty =
37280 let r = r0 in
37281 let ids = ids0 in
37282 let l = l0 in
37283 let s = s0 in
37284 let i =
37285
37286 # 39 "standard.mly"
37287 ( None )
37288 # 37289 "parser_cocci_menhir.ml"
37289
37290 in
37291
37292 # 568 "parser_cocci_menhir.mly"
37293 ( (if i = None && !Data.in_iso
37294 then failwith "enums must be named in the iso file");
37295 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
37296 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
37297 # 37298 "parser_cocci_menhir.ml"
37298
37299 in
37300
37301 # 595 "parser_cocci_menhir.mly"
37302 ( ty )
37303 # 37304 "parser_cocci_menhir.ml"
37304
37305 in
37306 let cv =
37307
37308 # 39 "standard.mly"
37309 ( None )
37310 # 37311 "parser_cocci_menhir.ml"
37311
37312 in
37313
37314 # 612 "parser_cocci_menhir.mly"
37315 ( P.pointerify (P.make_cv cv ty) m )
37316 # 37317 "parser_cocci_menhir.ml"
37317 in
37318 _menhir_env.MenhirLib.EngineTypes.stack <- {
37319 MenhirLib.EngineTypes.state = _menhir_s;
37320 MenhirLib.EngineTypes.semv = Obj.repr _v;
37321 MenhirLib.EngineTypes.startp = _startpos;
37322 MenhirLib.EngineTypes.endp = _endpos;
37323 MenhirLib.EngineTypes.next = _menhir_stack;
37324 });
37325 (fun _menhir_env ->
37326 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37327 let {
37328 MenhirLib.EngineTypes.semv = m;
37329 MenhirLib.EngineTypes.startp = _startpos_m_;
37330 MenhirLib.EngineTypes.endp = _endpos_m_;
37331 MenhirLib.EngineTypes.next = {
37332 MenhirLib.EngineTypes.semv = r00;
37333 MenhirLib.EngineTypes.startp = _startpos_r00_;
37334 MenhirLib.EngineTypes.endp = _endpos_r00_;
37335 MenhirLib.EngineTypes.next = {
37336 MenhirLib.EngineTypes.semv = ids00;
37337 MenhirLib.EngineTypes.startp = _startpos_ids00_;
37338 MenhirLib.EngineTypes.endp = _endpos_ids00_;
37339 MenhirLib.EngineTypes.next = {
37340 MenhirLib.EngineTypes.semv = l00;
37341 MenhirLib.EngineTypes.startp = _startpos_l00_;
37342 MenhirLib.EngineTypes.endp = _endpos_l00_;
37343 MenhirLib.EngineTypes.next = {
37344 MenhirLib.EngineTypes.semv = x000;
37345 MenhirLib.EngineTypes.startp = _startpos_x000_;
37346 MenhirLib.EngineTypes.endp = _endpos_x000_;
37347 MenhirLib.EngineTypes.next = {
37348 MenhirLib.EngineTypes.state = _menhir_s;
37349 MenhirLib.EngineTypes.semv = s00;
37350 MenhirLib.EngineTypes.startp = _startpos_s00_;
37351 MenhirLib.EngineTypes.endp = _endpos_s00_;
37352 MenhirLib.EngineTypes.next = _menhir_stack;
37353 };
37354 };
37355 };
37356 };
37357 };
37358 } = _menhir_stack in
37359 let m : 'tv_list_TMul_ = Obj.magic m in
37360 let r00 : (
37361 # 104 "parser_cocci_menhir.mly"
37362 (Data.clt)
37363 # 37364 "parser_cocci_menhir.ml"
37364 ) = Obj.magic r00 in
37365 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
37366 let l00 : (
37367 # 104 "parser_cocci_menhir.mly"
37368 (Data.clt)
37369 # 37370 "parser_cocci_menhir.ml"
37370 ) = Obj.magic l00 in
37371 let x000 : 'tv_ident = Obj.magic x000 in
37372 let s00 : (
37373 # 52 "parser_cocci_menhir.mly"
37374 (Data.clt)
37375 # 37376 "parser_cocci_menhir.ml"
37376 ) = Obj.magic s00 in
37377 let _startpos = _startpos_s00_ in
37378 let _endpos = _endpos_m_ in
37379 let _v : 'tv_typedef_ctype = let ty =
37380 let r0 = r00 in
37381 let ids0 = ids00 in
37382 let l0 = l00 in
37383 let x00 = x000 in
37384 let s0 = s00 in
37385 let ty =
37386 let r = r0 in
37387 let ids = ids0 in
37388 let l = l0 in
37389 let x0 = x00 in
37390 let s = s0 in
37391 let i =
37392 let x = x0 in
37393
37394 # 41 "standard.mly"
37395 ( Some x )
37396 # 37397 "parser_cocci_menhir.ml"
37397
37398 in
37399
37400 # 568 "parser_cocci_menhir.mly"
37401 ( (if i = None && !Data.in_iso
37402 then failwith "enums must be named in the iso file");
37403 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
37404 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
37405 # 37406 "parser_cocci_menhir.ml"
37406
37407 in
37408
37409 # 595 "parser_cocci_menhir.mly"
37410 ( ty )
37411 # 37412 "parser_cocci_menhir.ml"
37412
37413 in
37414 let cv =
37415
37416 # 39 "standard.mly"
37417 ( None )
37418 # 37419 "parser_cocci_menhir.ml"
37419
37420 in
37421
37422 # 612 "parser_cocci_menhir.mly"
37423 ( P.pointerify (P.make_cv cv ty) m )
37424 # 37425 "parser_cocci_menhir.ml"
37425 in
37426 _menhir_env.MenhirLib.EngineTypes.stack <- {
37427 MenhirLib.EngineTypes.state = _menhir_s;
37428 MenhirLib.EngineTypes.semv = Obj.repr _v;
37429 MenhirLib.EngineTypes.startp = _startpos;
37430 MenhirLib.EngineTypes.endp = _endpos;
37431 MenhirLib.EngineTypes.next = _menhir_stack;
37432 });
37433 (fun _menhir_env ->
37434 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37435 let {
37436 MenhirLib.EngineTypes.semv = m;
37437 MenhirLib.EngineTypes.startp = _startpos_m_;
37438 MenhirLib.EngineTypes.endp = _endpos_m_;
37439 MenhirLib.EngineTypes.next = {
37440 MenhirLib.EngineTypes.semv = i00;
37441 MenhirLib.EngineTypes.startp = _startpos_i00_;
37442 MenhirLib.EngineTypes.endp = _endpos_i00_;
37443 MenhirLib.EngineTypes.next = {
37444 MenhirLib.EngineTypes.state = _menhir_s;
37445 MenhirLib.EngineTypes.semv = s00;
37446 MenhirLib.EngineTypes.startp = _startpos_s00_;
37447 MenhirLib.EngineTypes.endp = _endpos_s00_;
37448 MenhirLib.EngineTypes.next = _menhir_stack;
37449 };
37450 };
37451 } = _menhir_stack in
37452 let m : 'tv_list_TMul_ = Obj.magic m in
37453 let i00 : 'tv_ident = Obj.magic i00 in
37454 let s00 : 'tv_struct_or_union = Obj.magic s00 in
37455 let _startpos = _startpos_s00_ in
37456 let _endpos = _endpos_m_ in
37457 let _v : 'tv_typedef_ctype = let ty =
37458 let i0 = i00 in
37459 let s0 = s00 in
37460 let ty =
37461 let i = i0 in
37462 let s = s0 in
37463
37464 # 573 "parser_cocci_menhir.mly"
37465 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
37466 # 37467 "parser_cocci_menhir.ml"
37467
37468 in
37469
37470 # 595 "parser_cocci_menhir.mly"
37471 ( ty )
37472 # 37473 "parser_cocci_menhir.ml"
37473
37474 in
37475 let cv =
37476
37477 # 39 "standard.mly"
37478 ( None )
37479 # 37480 "parser_cocci_menhir.ml"
37480
37481 in
37482
37483 # 612 "parser_cocci_menhir.mly"
37484 ( P.pointerify (P.make_cv cv ty) m )
37485 # 37486 "parser_cocci_menhir.ml"
37486 in
37487 _menhir_env.MenhirLib.EngineTypes.stack <- {
37488 MenhirLib.EngineTypes.state = _menhir_s;
37489 MenhirLib.EngineTypes.semv = Obj.repr _v;
37490 MenhirLib.EngineTypes.startp = _startpos;
37491 MenhirLib.EngineTypes.endp = _endpos;
37492 MenhirLib.EngineTypes.next = _menhir_stack;
37493 });
37494 (fun _menhir_env ->
37495 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37496 let {
37497 MenhirLib.EngineTypes.semv = m;
37498 MenhirLib.EngineTypes.startp = _startpos_m_;
37499 MenhirLib.EngineTypes.endp = _endpos_m_;
37500 MenhirLib.EngineTypes.next = {
37501 MenhirLib.EngineTypes.semv = r00;
37502 MenhirLib.EngineTypes.startp = _startpos_r00_;
37503 MenhirLib.EngineTypes.endp = _endpos_r00_;
37504 MenhirLib.EngineTypes.next = {
37505 MenhirLib.EngineTypes.semv = d00;
37506 MenhirLib.EngineTypes.startp = _startpos_d00_;
37507 MenhirLib.EngineTypes.endp = _endpos_d00_;
37508 MenhirLib.EngineTypes.next = {
37509 MenhirLib.EngineTypes.semv = l00;
37510 MenhirLib.EngineTypes.startp = _startpos_l00_;
37511 MenhirLib.EngineTypes.endp = _endpos_l00_;
37512 MenhirLib.EngineTypes.next = {
37513 MenhirLib.EngineTypes.state = _menhir_s;
37514 MenhirLib.EngineTypes.semv = s00;
37515 MenhirLib.EngineTypes.startp = _startpos_s00_;
37516 MenhirLib.EngineTypes.endp = _endpos_s00_;
37517 MenhirLib.EngineTypes.next = _menhir_stack;
37518 };
37519 };
37520 };
37521 };
37522 } = _menhir_stack in
37523 let m : 'tv_list_TMul_ = Obj.magic m in
37524 let r00 : (
37525 # 104 "parser_cocci_menhir.mly"
37526 (Data.clt)
37527 # 37528 "parser_cocci_menhir.ml"
37528 ) = Obj.magic r00 in
37529 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
37530 let l00 : (
37531 # 104 "parser_cocci_menhir.mly"
37532 (Data.clt)
37533 # 37534 "parser_cocci_menhir.ml"
37534 ) = Obj.magic l00 in
37535 let s00 : 'tv_struct_or_union = Obj.magic s00 in
37536 let _startpos = _startpos_s00_ in
37537 let _endpos = _endpos_m_ in
37538 let _v : 'tv_typedef_ctype = let ty =
37539 let r0 = r00 in
37540 let d0 = d00 in
37541 let l0 = l00 in
37542 let s0 = s00 in
37543 let ty =
37544 let r = r0 in
37545 let d = d0 in
37546 let l = l0 in
37547 let s = s0 in
37548 let i =
37549
37550 # 39 "standard.mly"
37551 ( None )
37552 # 37553 "parser_cocci_menhir.ml"
37553
37554 in
37555
37556 # 576 "parser_cocci_menhir.mly"
37557 ( (if i = None && !Data.in_iso
37558 then failwith "structures must be named in the iso file");
37559 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
37560 P.clt2mcode "{" l,
37561 d, P.clt2mcode "}" r)) )
37562 # 37563 "parser_cocci_menhir.ml"
37563
37564 in
37565
37566 # 595 "parser_cocci_menhir.mly"
37567 ( ty )
37568 # 37569 "parser_cocci_menhir.ml"
37569
37570 in
37571 let cv =
37572
37573 # 39 "standard.mly"
37574 ( None )
37575 # 37576 "parser_cocci_menhir.ml"
37576
37577 in
37578
37579 # 612 "parser_cocci_menhir.mly"
37580 ( P.pointerify (P.make_cv cv ty) m )
37581 # 37582 "parser_cocci_menhir.ml"
37582 in
37583 _menhir_env.MenhirLib.EngineTypes.stack <- {
37584 MenhirLib.EngineTypes.state = _menhir_s;
37585 MenhirLib.EngineTypes.semv = Obj.repr _v;
37586 MenhirLib.EngineTypes.startp = _startpos;
37587 MenhirLib.EngineTypes.endp = _endpos;
37588 MenhirLib.EngineTypes.next = _menhir_stack;
37589 });
37590 (fun _menhir_env ->
37591 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37592 let {
37593 MenhirLib.EngineTypes.semv = m;
37594 MenhirLib.EngineTypes.startp = _startpos_m_;
37595 MenhirLib.EngineTypes.endp = _endpos_m_;
37596 MenhirLib.EngineTypes.next = {
37597 MenhirLib.EngineTypes.semv = r00;
37598 MenhirLib.EngineTypes.startp = _startpos_r00_;
37599 MenhirLib.EngineTypes.endp = _endpos_r00_;
37600 MenhirLib.EngineTypes.next = {
37601 MenhirLib.EngineTypes.semv = d00;
37602 MenhirLib.EngineTypes.startp = _startpos_d00_;
37603 MenhirLib.EngineTypes.endp = _endpos_d00_;
37604 MenhirLib.EngineTypes.next = {
37605 MenhirLib.EngineTypes.semv = l00;
37606 MenhirLib.EngineTypes.startp = _startpos_l00_;
37607 MenhirLib.EngineTypes.endp = _endpos_l00_;
37608 MenhirLib.EngineTypes.next = {
37609 MenhirLib.EngineTypes.semv = x000;
37610 MenhirLib.EngineTypes.startp = _startpos_x000_;
37611 MenhirLib.EngineTypes.endp = _endpos_x000_;
37612 MenhirLib.EngineTypes.next = {
37613 MenhirLib.EngineTypes.state = _menhir_s;
37614 MenhirLib.EngineTypes.semv = s00;
37615 MenhirLib.EngineTypes.startp = _startpos_s00_;
37616 MenhirLib.EngineTypes.endp = _endpos_s00_;
37617 MenhirLib.EngineTypes.next = _menhir_stack;
37618 };
37619 };
37620 };
37621 };
37622 };
37623 } = _menhir_stack in
37624 let m : 'tv_list_TMul_ = Obj.magic m in
37625 let r00 : (
37626 # 104 "parser_cocci_menhir.mly"
37627 (Data.clt)
37628 # 37629 "parser_cocci_menhir.ml"
37629 ) = Obj.magic r00 in
37630 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
37631 let l00 : (
37632 # 104 "parser_cocci_menhir.mly"
37633 (Data.clt)
37634 # 37635 "parser_cocci_menhir.ml"
37635 ) = Obj.magic l00 in
37636 let x000 : 'tv_ident = Obj.magic x000 in
37637 let s00 : 'tv_struct_or_union = Obj.magic s00 in
37638 let _startpos = _startpos_s00_ in
37639 let _endpos = _endpos_m_ in
37640 let _v : 'tv_typedef_ctype = let ty =
37641 let r0 = r00 in
37642 let d0 = d00 in
37643 let l0 = l00 in
37644 let x00 = x000 in
37645 let s0 = s00 in
37646 let ty =
37647 let r = r0 in
37648 let d = d0 in
37649 let l = l0 in
37650 let x0 = x00 in
37651 let s = s0 in
37652 let i =
37653 let x = x0 in
37654
37655 # 41 "standard.mly"
37656 ( Some x )
37657 # 37658 "parser_cocci_menhir.ml"
37658
37659 in
37660
37661 # 576 "parser_cocci_menhir.mly"
37662 ( (if i = None && !Data.in_iso
37663 then failwith "structures must be named in the iso file");
37664 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
37665 P.clt2mcode "{" l,
37666 d, P.clt2mcode "}" r)) )
37667 # 37668 "parser_cocci_menhir.ml"
37668
37669 in
37670
37671 # 595 "parser_cocci_menhir.mly"
37672 ( ty )
37673 # 37674 "parser_cocci_menhir.ml"
37674
37675 in
37676 let cv =
37677
37678 # 39 "standard.mly"
37679 ( None )
37680 # 37681 "parser_cocci_menhir.ml"
37681
37682 in
37683
37684 # 612 "parser_cocci_menhir.mly"
37685 ( P.pointerify (P.make_cv cv ty) m )
37686 # 37687 "parser_cocci_menhir.ml"
37687 in
37688 _menhir_env.MenhirLib.EngineTypes.stack <- {
37689 MenhirLib.EngineTypes.state = _menhir_s;
37690 MenhirLib.EngineTypes.semv = Obj.repr _v;
37691 MenhirLib.EngineTypes.startp = _startpos;
37692 MenhirLib.EngineTypes.endp = _endpos;
37693 MenhirLib.EngineTypes.next = _menhir_stack;
37694 });
37695 (fun _menhir_env ->
37696 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37697 let {
37698 MenhirLib.EngineTypes.semv = m;
37699 MenhirLib.EngineTypes.startp = _startpos_m_;
37700 MenhirLib.EngineTypes.endp = _endpos_m_;
37701 MenhirLib.EngineTypes.next = {
37702 MenhirLib.EngineTypes.semv = r00;
37703 MenhirLib.EngineTypes.startp = _startpos_r00_;
37704 MenhirLib.EngineTypes.endp = _endpos_r00_;
37705 MenhirLib.EngineTypes.next = {
37706 MenhirLib.EngineTypes.semv = d00;
37707 MenhirLib.EngineTypes.startp = _startpos_d00_;
37708 MenhirLib.EngineTypes.endp = _endpos_d00_;
37709 MenhirLib.EngineTypes.next = {
37710 MenhirLib.EngineTypes.semv = l00;
37711 MenhirLib.EngineTypes.startp = _startpos_l00_;
37712 MenhirLib.EngineTypes.endp = _endpos_l00_;
37713 MenhirLib.EngineTypes.next = {
37714 MenhirLib.EngineTypes.state = _menhir_s;
37715 MenhirLib.EngineTypes.semv = s00;
37716 MenhirLib.EngineTypes.startp = _startpos_s00_;
37717 MenhirLib.EngineTypes.endp = _endpos_s00_;
37718 MenhirLib.EngineTypes.next = _menhir_stack;
37719 };
37720 };
37721 };
37722 };
37723 } = _menhir_stack in
37724 let m : 'tv_list_TMul_ = Obj.magic m in
37725 let r00 : (
37726 # 104 "parser_cocci_menhir.mly"
37727 (Data.clt)
37728 # 37729 "parser_cocci_menhir.ml"
37729 ) = Obj.magic r00 in
37730 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
37731 let l00 : (
37732 # 104 "parser_cocci_menhir.mly"
37733 (Data.clt)
37734 # 37735 "parser_cocci_menhir.ml"
37735 ) = Obj.magic l00 in
37736 let s00 : (
37737 # 67 "parser_cocci_menhir.mly"
37738 (Parse_aux.info)
37739 # 37740 "parser_cocci_menhir.ml"
37740 ) = Obj.magic s00 in
37741 let _startpos = _startpos_s00_ in
37742 let _endpos = _endpos_m_ in
37743 let _v : 'tv_typedef_ctype = let ty =
37744 let r0 = r00 in
37745 let d0 = d00 in
37746 let l0 = l00 in
37747 let s0 = s00 in
37748 let ty =
37749 let r = r0 in
37750 let d = d0 in
37751 let l = l0 in
37752 let s = s0 in
37753
37754 # 582 "parser_cocci_menhir.mly"
37755 ( let (nm,pure,clt) = s in
37756 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
37757 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
37758 # 37759 "parser_cocci_menhir.ml"
37759
37760 in
37761
37762 # 595 "parser_cocci_menhir.mly"
37763 ( ty )
37764 # 37765 "parser_cocci_menhir.ml"
37765
37766 in
37767 let cv =
37768
37769 # 39 "standard.mly"
37770 ( None )
37771 # 37772 "parser_cocci_menhir.ml"
37772
37773 in
37774
37775 # 612 "parser_cocci_menhir.mly"
37776 ( P.pointerify (P.make_cv cv ty) m )
37777 # 37778 "parser_cocci_menhir.ml"
37778 in
37779 _menhir_env.MenhirLib.EngineTypes.stack <- {
37780 MenhirLib.EngineTypes.state = _menhir_s;
37781 MenhirLib.EngineTypes.semv = Obj.repr _v;
37782 MenhirLib.EngineTypes.startp = _startpos;
37783 MenhirLib.EngineTypes.endp = _endpos;
37784 MenhirLib.EngineTypes.next = _menhir_stack;
37785 });
37786 (fun _menhir_env ->
37787 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37788 let {
37789 MenhirLib.EngineTypes.semv = m;
37790 MenhirLib.EngineTypes.startp = _startpos_m_;
37791 MenhirLib.EngineTypes.endp = _endpos_m_;
37792 MenhirLib.EngineTypes.next = {
37793 MenhirLib.EngineTypes.state = _menhir_s;
37794 MenhirLib.EngineTypes.semv = p00;
37795 MenhirLib.EngineTypes.startp = _startpos_p00_;
37796 MenhirLib.EngineTypes.endp = _endpos_p00_;
37797 MenhirLib.EngineTypes.next = _menhir_stack;
37798 };
37799 } = _menhir_stack in
37800 let m : 'tv_list_TMul_ = Obj.magic m in
37801 let p00 : (
37802 # 61 "parser_cocci_menhir.mly"
37803 (string * Data.clt)
37804 # 37805 "parser_cocci_menhir.ml"
37805 ) = Obj.magic p00 in
37806 let _startpos = _startpos_p00_ in
37807 let _endpos = _endpos_m_ in
37808 let _v : 'tv_typedef_ctype = let ty =
37809 let p0 = p00 in
37810 let ty =
37811 let p = p0 in
37812
37813 # 586 "parser_cocci_menhir.mly"
37814 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
37815 # 37816 "parser_cocci_menhir.ml"
37816
37817 in
37818
37819 # 595 "parser_cocci_menhir.mly"
37820 ( ty )
37821 # 37822 "parser_cocci_menhir.ml"
37822
37823 in
37824 let cv =
37825
37826 # 39 "standard.mly"
37827 ( None )
37828 # 37829 "parser_cocci_menhir.ml"
37829
37830 in
37831
37832 # 612 "parser_cocci_menhir.mly"
37833 ( P.pointerify (P.make_cv cv ty) m )
37834 # 37835 "parser_cocci_menhir.ml"
37835 in
37836 _menhir_env.MenhirLib.EngineTypes.stack <- {
37837 MenhirLib.EngineTypes.state = _menhir_s;
37838 MenhirLib.EngineTypes.semv = Obj.repr _v;
37839 MenhirLib.EngineTypes.startp = _startpos;
37840 MenhirLib.EngineTypes.endp = _endpos;
37841 MenhirLib.EngineTypes.next = _menhir_stack;
37842 });
37843 (fun _menhir_env ->
37844 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37845 let {
37846 MenhirLib.EngineTypes.semv = m;
37847 MenhirLib.EngineTypes.startp = _startpos_m_;
37848 MenhirLib.EngineTypes.endp = _endpos_m_;
37849 MenhirLib.EngineTypes.next = {
37850 MenhirLib.EngineTypes.semv = ty00;
37851 MenhirLib.EngineTypes.startp = _startpos_ty00_;
37852 MenhirLib.EngineTypes.endp = _endpos_ty00_;
37853 MenhirLib.EngineTypes.next = {
37854 MenhirLib.EngineTypes.semv = r0;
37855 MenhirLib.EngineTypes.startp = _startpos_r0_;
37856 MenhirLib.EngineTypes.endp = _endpos_r0_;
37857 MenhirLib.EngineTypes.next = {
37858 MenhirLib.EngineTypes.state = _menhir_s;
37859 MenhirLib.EngineTypes.semv = x0;
37860 MenhirLib.EngineTypes.startp = _startpos_x0_;
37861 MenhirLib.EngineTypes.endp = _endpos_x0_;
37862 MenhirLib.EngineTypes.next = _menhir_stack;
37863 };
37864 };
37865 };
37866 } = _menhir_stack in
37867 let m : 'tv_list_TMul_ = Obj.magic m in
37868 let ty00 : (
37869 # 51 "parser_cocci_menhir.mly"
37870 (Data.clt)
37871 # 37872 "parser_cocci_menhir.ml"
37872 ) = Obj.magic ty00 in
37873 let r0 : (
37874 # 53 "parser_cocci_menhir.mly"
37875 (Data.clt)
37876 # 37877 "parser_cocci_menhir.ml"
37877 ) = Obj.magic r0 in
37878 let x0 : 'tv_const_vol = Obj.magic x0 in
37879 let _startpos = _startpos_x0_ in
37880 let _endpos = _endpos_m_ in
37881 let _v : 'tv_typedef_ctype = let ty =
37882 let ty0 = ty00 in
37883 let r = r0 in
37884 let ty =
37885 let ty = ty0 in
37886
37887 # 534 "parser_cocci_menhir.mly"
37888 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
37889 # 37890 "parser_cocci_menhir.ml"
37890
37891 in
37892
37893 # 591 "parser_cocci_menhir.mly"
37894 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
37895 # 37896 "parser_cocci_menhir.ml"
37896
37897 in
37898 let cv =
37899 let x = x0 in
37900
37901 # 41 "standard.mly"
37902 ( Some x )
37903 # 37904 "parser_cocci_menhir.ml"
37904
37905 in
37906
37907 # 612 "parser_cocci_menhir.mly"
37908 ( P.pointerify (P.make_cv cv ty) m )
37909 # 37910 "parser_cocci_menhir.ml"
37910 in
37911 _menhir_env.MenhirLib.EngineTypes.stack <- {
37912 MenhirLib.EngineTypes.state = _menhir_s;
37913 MenhirLib.EngineTypes.semv = Obj.repr _v;
37914 MenhirLib.EngineTypes.startp = _startpos;
37915 MenhirLib.EngineTypes.endp = _endpos;
37916 MenhirLib.EngineTypes.next = _menhir_stack;
37917 });
37918 (fun _menhir_env ->
37919 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37920 let {
37921 MenhirLib.EngineTypes.semv = m;
37922 MenhirLib.EngineTypes.startp = _startpos_m_;
37923 MenhirLib.EngineTypes.endp = _endpos_m_;
37924 MenhirLib.EngineTypes.next = {
37925 MenhirLib.EngineTypes.semv = ty00;
37926 MenhirLib.EngineTypes.startp = _startpos_ty00_;
37927 MenhirLib.EngineTypes.endp = _endpos_ty00_;
37928 MenhirLib.EngineTypes.next = {
37929 MenhirLib.EngineTypes.semv = r0;
37930 MenhirLib.EngineTypes.startp = _startpos_r0_;
37931 MenhirLib.EngineTypes.endp = _endpos_r0_;
37932 MenhirLib.EngineTypes.next = {
37933 MenhirLib.EngineTypes.state = _menhir_s;
37934 MenhirLib.EngineTypes.semv = x0;
37935 MenhirLib.EngineTypes.startp = _startpos_x0_;
37936 MenhirLib.EngineTypes.endp = _endpos_x0_;
37937 MenhirLib.EngineTypes.next = _menhir_stack;
37938 };
37939 };
37940 };
37941 } = _menhir_stack in
37942 let m : 'tv_list_TMul_ = Obj.magic m in
37943 let ty00 : (
37944 # 51 "parser_cocci_menhir.mly"
37945 (Data.clt)
37946 # 37947 "parser_cocci_menhir.ml"
37947 ) = Obj.magic ty00 in
37948 let r0 : (
37949 # 53 "parser_cocci_menhir.mly"
37950 (Data.clt)
37951 # 37952 "parser_cocci_menhir.ml"
37952 ) = Obj.magic r0 in
37953 let x0 : 'tv_const_vol = Obj.magic x0 in
37954 let _startpos = _startpos_x0_ in
37955 let _endpos = _endpos_m_ in
37956 let _v : 'tv_typedef_ctype = let ty =
37957 let ty0 = ty00 in
37958 let r = r0 in
37959 let ty =
37960 let ty = ty0 in
37961
37962 # 536 "parser_cocci_menhir.mly"
37963 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
37964 # 37965 "parser_cocci_menhir.ml"
37965
37966 in
37967
37968 # 591 "parser_cocci_menhir.mly"
37969 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
37970 # 37971 "parser_cocci_menhir.ml"
37971
37972 in
37973 let cv =
37974 let x = x0 in
37975
37976 # 41 "standard.mly"
37977 ( Some x )
37978 # 37979 "parser_cocci_menhir.ml"
37979
37980 in
37981
37982 # 612 "parser_cocci_menhir.mly"
37983 ( P.pointerify (P.make_cv cv ty) m )
37984 # 37985 "parser_cocci_menhir.ml"
37985 in
37986 _menhir_env.MenhirLib.EngineTypes.stack <- {
37987 MenhirLib.EngineTypes.state = _menhir_s;
37988 MenhirLib.EngineTypes.semv = Obj.repr _v;
37989 MenhirLib.EngineTypes.startp = _startpos;
37990 MenhirLib.EngineTypes.endp = _endpos;
37991 MenhirLib.EngineTypes.next = _menhir_stack;
37992 });
37993 (fun _menhir_env ->
37994 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37995 let {
37996 MenhirLib.EngineTypes.semv = m;
37997 MenhirLib.EngineTypes.startp = _startpos_m_;
37998 MenhirLib.EngineTypes.endp = _endpos_m_;
37999 MenhirLib.EngineTypes.next = {
38000 MenhirLib.EngineTypes.semv = ty00;
38001 MenhirLib.EngineTypes.startp = _startpos_ty00_;
38002 MenhirLib.EngineTypes.endp = _endpos_ty00_;
38003 MenhirLib.EngineTypes.next = {
38004 MenhirLib.EngineTypes.semv = r0;
38005 MenhirLib.EngineTypes.startp = _startpos_r0_;
38006 MenhirLib.EngineTypes.endp = _endpos_r0_;
38007 MenhirLib.EngineTypes.next = {
38008 MenhirLib.EngineTypes.state = _menhir_s;
38009 MenhirLib.EngineTypes.semv = x0;
38010 MenhirLib.EngineTypes.startp = _startpos_x0_;
38011 MenhirLib.EngineTypes.endp = _endpos_x0_;
38012 MenhirLib.EngineTypes.next = _menhir_stack;
38013 };
38014 };
38015 };
38016 } = _menhir_stack in
38017 let m : 'tv_list_TMul_ = Obj.magic m in
38018 let ty00 : (
38019 # 51 "parser_cocci_menhir.mly"
38020 (Data.clt)
38021 # 38022 "parser_cocci_menhir.ml"
38022 ) = Obj.magic ty00 in
38023 let r0 : (
38024 # 53 "parser_cocci_menhir.mly"
38025 (Data.clt)
38026 # 38027 "parser_cocci_menhir.ml"
38027 ) = Obj.magic r0 in
38028 let x0 : 'tv_const_vol = Obj.magic x0 in
38029 let _startpos = _startpos_x0_ in
38030 let _endpos = _endpos_m_ in
38031 let _v : 'tv_typedef_ctype = let ty =
38032 let ty0 = ty00 in
38033 let r = r0 in
38034 let ty =
38035 let ty = ty0 in
38036
38037 # 538 "parser_cocci_menhir.mly"
38038 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
38039 # 38040 "parser_cocci_menhir.ml"
38040
38041 in
38042
38043 # 591 "parser_cocci_menhir.mly"
38044 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
38045 # 38046 "parser_cocci_menhir.ml"
38046
38047 in
38048 let cv =
38049 let x = x0 in
38050
38051 # 41 "standard.mly"
38052 ( Some x )
38053 # 38054 "parser_cocci_menhir.ml"
38054
38055 in
38056
38057 # 612 "parser_cocci_menhir.mly"
38058 ( P.pointerify (P.make_cv cv ty) m )
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 = m;
38072 MenhirLib.EngineTypes.startp = _startpos_m_;
38073 MenhirLib.EngineTypes.endp = _endpos_m_;
38074 MenhirLib.EngineTypes.next = {
38075 MenhirLib.EngineTypes.semv = p00;
38076 MenhirLib.EngineTypes.startp = _startpos_p00_;
38077 MenhirLib.EngineTypes.endp = _endpos_p00_;
38078 MenhirLib.EngineTypes.next = {
38079 MenhirLib.EngineTypes.semv = r0;
38080 MenhirLib.EngineTypes.startp = _startpos_r0_;
38081 MenhirLib.EngineTypes.endp = _endpos_r0_;
38082 MenhirLib.EngineTypes.next = {
38083 MenhirLib.EngineTypes.state = _menhir_s;
38084 MenhirLib.EngineTypes.semv = x0;
38085 MenhirLib.EngineTypes.startp = _startpos_x0_;
38086 MenhirLib.EngineTypes.endp = _endpos_x0_;
38087 MenhirLib.EngineTypes.next = _menhir_stack;
38088 };
38089 };
38090 };
38091 } = _menhir_stack in
38092 let m : 'tv_list_TMul_ = Obj.magic m in
38093 let p00 : (
38094 # 67 "parser_cocci_menhir.mly"
38095 (Parse_aux.info)
38096 # 38097 "parser_cocci_menhir.ml"
38097 ) = Obj.magic p00 in
38098 let r0 : (
38099 # 53 "parser_cocci_menhir.mly"
38100 (Data.clt)
38101 # 38102 "parser_cocci_menhir.ml"
38102 ) = Obj.magic r0 in
38103 let x0 : 'tv_const_vol = Obj.magic x0 in
38104 let _startpos = _startpos_x0_ in
38105 let _endpos = _endpos_m_ in
38106 let _v : 'tv_typedef_ctype = let ty =
38107 let p0 = p00 in
38108 let r = r0 in
38109 let ty =
38110 let p = p0 in
38111
38112 # 540 "parser_cocci_menhir.mly"
38113 ( let (nm,pure,clt) = p in
38114 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
38115 # 38116 "parser_cocci_menhir.ml"
38116
38117 in
38118
38119 # 591 "parser_cocci_menhir.mly"
38120 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
38121 # 38122 "parser_cocci_menhir.ml"
38122
38123 in
38124 let cv =
38125 let x = x0 in
38126
38127 # 41 "standard.mly"
38128 ( Some x )
38129 # 38130 "parser_cocci_menhir.ml"
38130
38131 in
38132
38133 # 612 "parser_cocci_menhir.mly"
38134 ( P.pointerify (P.make_cv cv ty) m )
38135 # 38136 "parser_cocci_menhir.ml"
38136 in
38137 _menhir_env.MenhirLib.EngineTypes.stack <- {
38138 MenhirLib.EngineTypes.state = _menhir_s;
38139 MenhirLib.EngineTypes.semv = Obj.repr _v;
38140 MenhirLib.EngineTypes.startp = _startpos;
38141 MenhirLib.EngineTypes.endp = _endpos;
38142 MenhirLib.EngineTypes.next = _menhir_stack;
38143 });
38144 (fun _menhir_env ->
38145 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38146 let {
38147 MenhirLib.EngineTypes.semv = m;
38148 MenhirLib.EngineTypes.startp = _startpos_m_;
38149 MenhirLib.EngineTypes.endp = _endpos_m_;
38150 MenhirLib.EngineTypes.next = {
38151 MenhirLib.EngineTypes.semv = p00;
38152 MenhirLib.EngineTypes.startp = _startpos_p00_;
38153 MenhirLib.EngineTypes.endp = _endpos_p00_;
38154 MenhirLib.EngineTypes.next = {
38155 MenhirLib.EngineTypes.startp = _startpos__4_;
38156 MenhirLib.EngineTypes.endp = _endpos__4_;
38157 MenhirLib.EngineTypes.next = {
38158 MenhirLib.EngineTypes.semv = r00;
38159 MenhirLib.EngineTypes.startp = _startpos_r00_;
38160 MenhirLib.EngineTypes.endp = _endpos_r00_;
38161 MenhirLib.EngineTypes.next = {
38162 MenhirLib.EngineTypes.semv = r1;
38163 MenhirLib.EngineTypes.startp = _startpos_r1_;
38164 MenhirLib.EngineTypes.endp = _endpos_r1_;
38165 MenhirLib.EngineTypes.next = {
38166 MenhirLib.EngineTypes.state = _menhir_s;
38167 MenhirLib.EngineTypes.semv = x0;
38168 MenhirLib.EngineTypes.startp = _startpos_x0_;
38169 MenhirLib.EngineTypes.endp = _endpos_x0_;
38170 MenhirLib.EngineTypes.next = _menhir_stack;
38171 };
38172 };
38173 };
38174 };
38175 };
38176 } = _menhir_stack in
38177 let m : 'tv_list_TMul_ = Obj.magic m in
38178 let p00 : (
38179 # 61 "parser_cocci_menhir.mly"
38180 (string * Data.clt)
38181 # 38182 "parser_cocci_menhir.ml"
38182 ) = Obj.magic p00 in
38183 let r00 : (
38184 # 49 "parser_cocci_menhir.mly"
38185 (string)
38186 # 38187 "parser_cocci_menhir.ml"
38187 ) = Obj.magic r00 in
38188 let r1 : (
38189 # 53 "parser_cocci_menhir.mly"
38190 (Data.clt)
38191 # 38192 "parser_cocci_menhir.ml"
38192 ) = Obj.magic r1 in
38193 let x0 : 'tv_const_vol = Obj.magic x0 in
38194 let _startpos = _startpos_x0_ in
38195 let _endpos = _endpos_m_ in
38196 let _v : 'tv_typedef_ctype = let ty =
38197 let p0 = p00 in
38198 let r0 = r00 in
38199 let r = r1 in
38200 let ty =
38201 let p = p0 in
38202 let r = r0 in
38203
38204 # 543 "parser_cocci_menhir.mly"
38205 ( let nm = (r,P.id2name p) in
38206 (* this is only possible when we are in a metavar decl. Otherwise,
38207 it will be represented already as a MetaType *)
38208 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
38209 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
38210 Ast0.Impure (*will be ignored*))) )
38211 # 38212 "parser_cocci_menhir.ml"
38212
38213 in
38214
38215 # 591 "parser_cocci_menhir.mly"
38216 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
38217 # 38218 "parser_cocci_menhir.ml"
38218
38219 in
38220 let cv =
38221 let x = x0 in
38222
38223 # 41 "standard.mly"
38224 ( Some x )
38225 # 38226 "parser_cocci_menhir.ml"
38226
38227 in
38228
38229 # 612 "parser_cocci_menhir.mly"
38230 ( P.pointerify (P.make_cv cv ty) m )
38231 # 38232 "parser_cocci_menhir.ml"
38232 in
38233 _menhir_env.MenhirLib.EngineTypes.stack <- {
38234 MenhirLib.EngineTypes.state = _menhir_s;
38235 MenhirLib.EngineTypes.semv = Obj.repr _v;
38236 MenhirLib.EngineTypes.startp = _startpos;
38237 MenhirLib.EngineTypes.endp = _endpos;
38238 MenhirLib.EngineTypes.next = _menhir_stack;
38239 });
38240 (fun _menhir_env ->
38241 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38242 let {
38243 MenhirLib.EngineTypes.semv = m;
38244 MenhirLib.EngineTypes.startp = _startpos_m_;
38245 MenhirLib.EngineTypes.endp = _endpos_m_;
38246 MenhirLib.EngineTypes.next = {
38247 MenhirLib.EngineTypes.semv = ty00;
38248 MenhirLib.EngineTypes.startp = _startpos_ty00_;
38249 MenhirLib.EngineTypes.endp = _endpos_ty00_;
38250 MenhirLib.EngineTypes.next = {
38251 MenhirLib.EngineTypes.semv = r0;
38252 MenhirLib.EngineTypes.startp = _startpos_r0_;
38253 MenhirLib.EngineTypes.endp = _endpos_r0_;
38254 MenhirLib.EngineTypes.next = {
38255 MenhirLib.EngineTypes.state = _menhir_s;
38256 MenhirLib.EngineTypes.semv = x0;
38257 MenhirLib.EngineTypes.startp = _startpos_x0_;
38258 MenhirLib.EngineTypes.endp = _endpos_x0_;
38259 MenhirLib.EngineTypes.next = _menhir_stack;
38260 };
38261 };
38262 };
38263 } = _menhir_stack in
38264 let m : 'tv_list_TMul_ = Obj.magic m in
38265 let ty00 : (
38266 # 51 "parser_cocci_menhir.mly"
38267 (Data.clt)
38268 # 38269 "parser_cocci_menhir.ml"
38269 ) = Obj.magic ty00 in
38270 let r0 : (
38271 # 53 "parser_cocci_menhir.mly"
38272 (Data.clt)
38273 # 38274 "parser_cocci_menhir.ml"
38274 ) = Obj.magic r0 in
38275 let x0 : 'tv_const_vol = Obj.magic x0 in
38276 let _startpos = _startpos_x0_ in
38277 let _endpos = _endpos_m_ in
38278 let _v : 'tv_typedef_ctype = let ty =
38279 let ty0 = ty00 in
38280 let r = r0 in
38281 let ty =
38282 let ty = ty0 in
38283
38284 # 550 "parser_cocci_menhir.mly"
38285 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
38286 # 38287 "parser_cocci_menhir.ml"
38287
38288 in
38289
38290 # 591 "parser_cocci_menhir.mly"
38291 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
38292 # 38293 "parser_cocci_menhir.ml"
38293
38294 in
38295 let cv =
38296 let x = x0 in
38297
38298 # 41 "standard.mly"
38299 ( Some x )
38300 # 38301 "parser_cocci_menhir.ml"
38301
38302 in
38303
38304 # 612 "parser_cocci_menhir.mly"
38305 ( P.pointerify (P.make_cv cv ty) m )
38306 # 38307 "parser_cocci_menhir.ml"
38307 in
38308 _menhir_env.MenhirLib.EngineTypes.stack <- {
38309 MenhirLib.EngineTypes.state = _menhir_s;
38310 MenhirLib.EngineTypes.semv = Obj.repr _v;
38311 MenhirLib.EngineTypes.startp = _startpos;
38312 MenhirLib.EngineTypes.endp = _endpos;
38313 MenhirLib.EngineTypes.next = _menhir_stack;
38314 });
38315 (fun _menhir_env ->
38316 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38317 let {
38318 MenhirLib.EngineTypes.semv = m;
38319 MenhirLib.EngineTypes.startp = _startpos_m_;
38320 MenhirLib.EngineTypes.endp = _endpos_m_;
38321 MenhirLib.EngineTypes.next = {
38322 MenhirLib.EngineTypes.semv = ty200;
38323 MenhirLib.EngineTypes.startp = _startpos_ty200_;
38324 MenhirLib.EngineTypes.endp = _endpos_ty200_;
38325 MenhirLib.EngineTypes.next = {
38326 MenhirLib.EngineTypes.semv = ty100;
38327 MenhirLib.EngineTypes.startp = _startpos_ty100_;
38328 MenhirLib.EngineTypes.endp = _endpos_ty100_;
38329 MenhirLib.EngineTypes.next = {
38330 MenhirLib.EngineTypes.semv = r0;
38331 MenhirLib.EngineTypes.startp = _startpos_r0_;
38332 MenhirLib.EngineTypes.endp = _endpos_r0_;
38333 MenhirLib.EngineTypes.next = {
38334 MenhirLib.EngineTypes.state = _menhir_s;
38335 MenhirLib.EngineTypes.semv = x0;
38336 MenhirLib.EngineTypes.startp = _startpos_x0_;
38337 MenhirLib.EngineTypes.endp = _endpos_x0_;
38338 MenhirLib.EngineTypes.next = _menhir_stack;
38339 };
38340 };
38341 };
38342 };
38343 } = _menhir_stack in
38344 let m : 'tv_list_TMul_ = Obj.magic m in
38345 let ty200 : (
38346 # 51 "parser_cocci_menhir.mly"
38347 (Data.clt)
38348 # 38349 "parser_cocci_menhir.ml"
38349 ) = Obj.magic ty200 in
38350 let ty100 : (
38351 # 51 "parser_cocci_menhir.mly"
38352 (Data.clt)
38353 # 38354 "parser_cocci_menhir.ml"
38354 ) = Obj.magic ty100 in
38355 let r0 : (
38356 # 53 "parser_cocci_menhir.mly"
38357 (Data.clt)
38358 # 38359 "parser_cocci_menhir.ml"
38359 ) = Obj.magic r0 in
38360 let x0 : 'tv_const_vol = Obj.magic x0 in
38361 let _startpos = _startpos_x0_ in
38362 let _endpos = _endpos_m_ in
38363 let _v : 'tv_typedef_ctype = let ty =
38364 let ty20 = ty200 in
38365 let ty10 = ty100 in
38366 let r = r0 in
38367 let ty =
38368 let ty2 = ty20 in
38369 let ty1 = ty10 in
38370
38371 # 552 "parser_cocci_menhir.mly"
38372 ( Ast0.wrap
38373 (Ast0.BaseType
38374 (Ast.LongLongType,
38375 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
38376 # 38377 "parser_cocci_menhir.ml"
38377
38378 in
38379
38380 # 591 "parser_cocci_menhir.mly"
38381 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
38382 # 38383 "parser_cocci_menhir.ml"
38383
38384 in
38385 let cv =
38386 let x = x0 in
38387
38388 # 41 "standard.mly"
38389 ( Some x )
38390 # 38391 "parser_cocci_menhir.ml"
38391
38392 in
38393
38394 # 612 "parser_cocci_menhir.mly"
38395 ( P.pointerify (P.make_cv cv ty) m )
38396 # 38397 "parser_cocci_menhir.ml"
38397 in
38398 _menhir_env.MenhirLib.EngineTypes.stack <- {
38399 MenhirLib.EngineTypes.state = _menhir_s;
38400 MenhirLib.EngineTypes.semv = Obj.repr _v;
38401 MenhirLib.EngineTypes.startp = _startpos;
38402 MenhirLib.EngineTypes.endp = _endpos;
38403 MenhirLib.EngineTypes.next = _menhir_stack;
38404 });
38405 (fun _menhir_env ->
38406 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38407 let {
38408 MenhirLib.EngineTypes.semv = m;
38409 MenhirLib.EngineTypes.startp = _startpos_m_;
38410 MenhirLib.EngineTypes.endp = _endpos_m_;
38411 MenhirLib.EngineTypes.next = {
38412 MenhirLib.EngineTypes.semv = ty00;
38413 MenhirLib.EngineTypes.startp = _startpos_ty00_;
38414 MenhirLib.EngineTypes.endp = _endpos_ty00_;
38415 MenhirLib.EngineTypes.next = {
38416 MenhirLib.EngineTypes.semv = r0;
38417 MenhirLib.EngineTypes.startp = _startpos_r0_;
38418 MenhirLib.EngineTypes.endp = _endpos_r0_;
38419 MenhirLib.EngineTypes.next = {
38420 MenhirLib.EngineTypes.state = _menhir_s;
38421 MenhirLib.EngineTypes.semv = x0;
38422 MenhirLib.EngineTypes.startp = _startpos_x0_;
38423 MenhirLib.EngineTypes.endp = _endpos_x0_;
38424 MenhirLib.EngineTypes.next = _menhir_stack;
38425 };
38426 };
38427 };
38428 } = _menhir_stack in
38429 let m : 'tv_list_TMul_ = Obj.magic m in
38430 let ty00 : (
38431 # 51 "parser_cocci_menhir.mly"
38432 (Data.clt)
38433 # 38434 "parser_cocci_menhir.ml"
38434 ) = Obj.magic ty00 in
38435 let r0 : (
38436 # 53 "parser_cocci_menhir.mly"
38437 (Data.clt)
38438 # 38439 "parser_cocci_menhir.ml"
38439 ) = Obj.magic r0 in
38440 let x0 : 'tv_const_vol = Obj.magic x0 in
38441 let _startpos = _startpos_x0_ in
38442 let _endpos = _endpos_m_ in
38443 let _v : 'tv_typedef_ctype = let ty =
38444 let ty0 = ty00 in
38445 let r = r0 in
38446 let ty =
38447 let ty = ty0 in
38448
38449 # 534 "parser_cocci_menhir.mly"
38450 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
38451 # 38452 "parser_cocci_menhir.ml"
38452
38453 in
38454
38455 # 593 "parser_cocci_menhir.mly"
38456 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
38457 # 38458 "parser_cocci_menhir.ml"
38458
38459 in
38460 let cv =
38461 let x = x0 in
38462
38463 # 41 "standard.mly"
38464 ( Some x )
38465 # 38466 "parser_cocci_menhir.ml"
38466
38467 in
38468
38469 # 612 "parser_cocci_menhir.mly"
38470 ( P.pointerify (P.make_cv cv ty) m )
38471 # 38472 "parser_cocci_menhir.ml"
38472 in
38473 _menhir_env.MenhirLib.EngineTypes.stack <- {
38474 MenhirLib.EngineTypes.state = _menhir_s;
38475 MenhirLib.EngineTypes.semv = Obj.repr _v;
38476 MenhirLib.EngineTypes.startp = _startpos;
38477 MenhirLib.EngineTypes.endp = _endpos;
38478 MenhirLib.EngineTypes.next = _menhir_stack;
38479 });
38480 (fun _menhir_env ->
38481 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38482 let {
38483 MenhirLib.EngineTypes.semv = m;
38484 MenhirLib.EngineTypes.startp = _startpos_m_;
38485 MenhirLib.EngineTypes.endp = _endpos_m_;
38486 MenhirLib.EngineTypes.next = {
38487 MenhirLib.EngineTypes.semv = ty00;
38488 MenhirLib.EngineTypes.startp = _startpos_ty00_;
38489 MenhirLib.EngineTypes.endp = _endpos_ty00_;
38490 MenhirLib.EngineTypes.next = {
38491 MenhirLib.EngineTypes.semv = r0;
38492 MenhirLib.EngineTypes.startp = _startpos_r0_;
38493 MenhirLib.EngineTypes.endp = _endpos_r0_;
38494 MenhirLib.EngineTypes.next = {
38495 MenhirLib.EngineTypes.state = _menhir_s;
38496 MenhirLib.EngineTypes.semv = x0;
38497 MenhirLib.EngineTypes.startp = _startpos_x0_;
38498 MenhirLib.EngineTypes.endp = _endpos_x0_;
38499 MenhirLib.EngineTypes.next = _menhir_stack;
38500 };
38501 };
38502 };
38503 } = _menhir_stack in
38504 let m : 'tv_list_TMul_ = Obj.magic m in
38505 let ty00 : (
38506 # 51 "parser_cocci_menhir.mly"
38507 (Data.clt)
38508 # 38509 "parser_cocci_menhir.ml"
38509 ) = Obj.magic ty00 in
38510 let r0 : (
38511 # 53 "parser_cocci_menhir.mly"
38512 (Data.clt)
38513 # 38514 "parser_cocci_menhir.ml"
38514 ) = Obj.magic r0 in
38515 let x0 : 'tv_const_vol = Obj.magic x0 in
38516 let _startpos = _startpos_x0_ in
38517 let _endpos = _endpos_m_ in
38518 let _v : 'tv_typedef_ctype = let ty =
38519 let ty0 = ty00 in
38520 let r = r0 in
38521 let ty =
38522 let ty = ty0 in
38523
38524 # 536 "parser_cocci_menhir.mly"
38525 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
38526 # 38527 "parser_cocci_menhir.ml"
38527
38528 in
38529
38530 # 593 "parser_cocci_menhir.mly"
38531 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
38532 # 38533 "parser_cocci_menhir.ml"
38533
38534 in
38535 let cv =
38536 let x = x0 in
38537
38538 # 41 "standard.mly"
38539 ( Some x )
38540 # 38541 "parser_cocci_menhir.ml"
38541
38542 in
38543
38544 # 612 "parser_cocci_menhir.mly"
38545 ( P.pointerify (P.make_cv cv ty) m )
38546 # 38547 "parser_cocci_menhir.ml"
38547 in
38548 _menhir_env.MenhirLib.EngineTypes.stack <- {
38549 MenhirLib.EngineTypes.state = _menhir_s;
38550 MenhirLib.EngineTypes.semv = Obj.repr _v;
38551 MenhirLib.EngineTypes.startp = _startpos;
38552 MenhirLib.EngineTypes.endp = _endpos;
38553 MenhirLib.EngineTypes.next = _menhir_stack;
38554 });
38555 (fun _menhir_env ->
38556 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38557 let {
38558 MenhirLib.EngineTypes.semv = m;
38559 MenhirLib.EngineTypes.startp = _startpos_m_;
38560 MenhirLib.EngineTypes.endp = _endpos_m_;
38561 MenhirLib.EngineTypes.next = {
38562 MenhirLib.EngineTypes.semv = ty00;
38563 MenhirLib.EngineTypes.startp = _startpos_ty00_;
38564 MenhirLib.EngineTypes.endp = _endpos_ty00_;
38565 MenhirLib.EngineTypes.next = {
38566 MenhirLib.EngineTypes.semv = r0;
38567 MenhirLib.EngineTypes.startp = _startpos_r0_;
38568 MenhirLib.EngineTypes.endp = _endpos_r0_;
38569 MenhirLib.EngineTypes.next = {
38570 MenhirLib.EngineTypes.state = _menhir_s;
38571 MenhirLib.EngineTypes.semv = x0;
38572 MenhirLib.EngineTypes.startp = _startpos_x0_;
38573 MenhirLib.EngineTypes.endp = _endpos_x0_;
38574 MenhirLib.EngineTypes.next = _menhir_stack;
38575 };
38576 };
38577 };
38578 } = _menhir_stack in
38579 let m : 'tv_list_TMul_ = Obj.magic m in
38580 let ty00 : (
38581 # 51 "parser_cocci_menhir.mly"
38582 (Data.clt)
38583 # 38584 "parser_cocci_menhir.ml"
38584 ) = Obj.magic ty00 in
38585 let r0 : (
38586 # 53 "parser_cocci_menhir.mly"
38587 (Data.clt)
38588 # 38589 "parser_cocci_menhir.ml"
38589 ) = Obj.magic r0 in
38590 let x0 : 'tv_const_vol = Obj.magic x0 in
38591 let _startpos = _startpos_x0_ in
38592 let _endpos = _endpos_m_ in
38593 let _v : 'tv_typedef_ctype = let ty =
38594 let ty0 = ty00 in
38595 let r = r0 in
38596 let ty =
38597 let ty = ty0 in
38598
38599 # 538 "parser_cocci_menhir.mly"
38600 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
38601 # 38602 "parser_cocci_menhir.ml"
38602
38603 in
38604
38605 # 593 "parser_cocci_menhir.mly"
38606 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
38607 # 38608 "parser_cocci_menhir.ml"
38608
38609 in
38610 let cv =
38611 let x = x0 in
38612
38613 # 41 "standard.mly"
38614 ( Some x )
38615 # 38616 "parser_cocci_menhir.ml"
38616
38617 in
38618
38619 # 612 "parser_cocci_menhir.mly"
38620 ( P.pointerify (P.make_cv cv ty) m )
38621 # 38622 "parser_cocci_menhir.ml"
38622 in
38623 _menhir_env.MenhirLib.EngineTypes.stack <- {
38624 MenhirLib.EngineTypes.state = _menhir_s;
38625 MenhirLib.EngineTypes.semv = Obj.repr _v;
38626 MenhirLib.EngineTypes.startp = _startpos;
38627 MenhirLib.EngineTypes.endp = _endpos;
38628 MenhirLib.EngineTypes.next = _menhir_stack;
38629 });
38630 (fun _menhir_env ->
38631 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38632 let {
38633 MenhirLib.EngineTypes.semv = m;
38634 MenhirLib.EngineTypes.startp = _startpos_m_;
38635 MenhirLib.EngineTypes.endp = _endpos_m_;
38636 MenhirLib.EngineTypes.next = {
38637 MenhirLib.EngineTypes.semv = p00;
38638 MenhirLib.EngineTypes.startp = _startpos_p00_;
38639 MenhirLib.EngineTypes.endp = _endpos_p00_;
38640 MenhirLib.EngineTypes.next = {
38641 MenhirLib.EngineTypes.semv = r0;
38642 MenhirLib.EngineTypes.startp = _startpos_r0_;
38643 MenhirLib.EngineTypes.endp = _endpos_r0_;
38644 MenhirLib.EngineTypes.next = {
38645 MenhirLib.EngineTypes.state = _menhir_s;
38646 MenhirLib.EngineTypes.semv = x0;
38647 MenhirLib.EngineTypes.startp = _startpos_x0_;
38648 MenhirLib.EngineTypes.endp = _endpos_x0_;
38649 MenhirLib.EngineTypes.next = _menhir_stack;
38650 };
38651 };
38652 };
38653 } = _menhir_stack in
38654 let m : 'tv_list_TMul_ = Obj.magic m in
38655 let p00 : (
38656 # 67 "parser_cocci_menhir.mly"
38657 (Parse_aux.info)
38658 # 38659 "parser_cocci_menhir.ml"
38659 ) = Obj.magic p00 in
38660 let r0 : (
38661 # 53 "parser_cocci_menhir.mly"
38662 (Data.clt)
38663 # 38664 "parser_cocci_menhir.ml"
38664 ) = Obj.magic r0 in
38665 let x0 : 'tv_const_vol = Obj.magic x0 in
38666 let _startpos = _startpos_x0_ in
38667 let _endpos = _endpos_m_ in
38668 let _v : 'tv_typedef_ctype = let ty =
38669 let p0 = p00 in
38670 let r = r0 in
38671 let ty =
38672 let p = p0 in
38673
38674 # 540 "parser_cocci_menhir.mly"
38675 ( let (nm,pure,clt) = p in
38676 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
38677 # 38678 "parser_cocci_menhir.ml"
38678
38679 in
38680
38681 # 593 "parser_cocci_menhir.mly"
38682 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
38683 # 38684 "parser_cocci_menhir.ml"
38684
38685 in
38686 let cv =
38687 let x = x0 in
38688
38689 # 41 "standard.mly"
38690 ( Some x )
38691 # 38692 "parser_cocci_menhir.ml"
38692
38693 in
38694
38695 # 612 "parser_cocci_menhir.mly"
38696 ( P.pointerify (P.make_cv cv ty) m )
38697 # 38698 "parser_cocci_menhir.ml"
38698 in
38699 _menhir_env.MenhirLib.EngineTypes.stack <- {
38700 MenhirLib.EngineTypes.state = _menhir_s;
38701 MenhirLib.EngineTypes.semv = Obj.repr _v;
38702 MenhirLib.EngineTypes.startp = _startpos;
38703 MenhirLib.EngineTypes.endp = _endpos;
38704 MenhirLib.EngineTypes.next = _menhir_stack;
38705 });
38706 (fun _menhir_env ->
38707 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38708 let {
38709 MenhirLib.EngineTypes.semv = m;
38710 MenhirLib.EngineTypes.startp = _startpos_m_;
38711 MenhirLib.EngineTypes.endp = _endpos_m_;
38712 MenhirLib.EngineTypes.next = {
38713 MenhirLib.EngineTypes.semv = p00;
38714 MenhirLib.EngineTypes.startp = _startpos_p00_;
38715 MenhirLib.EngineTypes.endp = _endpos_p00_;
38716 MenhirLib.EngineTypes.next = {
38717 MenhirLib.EngineTypes.startp = _startpos__4_;
38718 MenhirLib.EngineTypes.endp = _endpos__4_;
38719 MenhirLib.EngineTypes.next = {
38720 MenhirLib.EngineTypes.semv = r00;
38721 MenhirLib.EngineTypes.startp = _startpos_r00_;
38722 MenhirLib.EngineTypes.endp = _endpos_r00_;
38723 MenhirLib.EngineTypes.next = {
38724 MenhirLib.EngineTypes.semv = r1;
38725 MenhirLib.EngineTypes.startp = _startpos_r1_;
38726 MenhirLib.EngineTypes.endp = _endpos_r1_;
38727 MenhirLib.EngineTypes.next = {
38728 MenhirLib.EngineTypes.state = _menhir_s;
38729 MenhirLib.EngineTypes.semv = x0;
38730 MenhirLib.EngineTypes.startp = _startpos_x0_;
38731 MenhirLib.EngineTypes.endp = _endpos_x0_;
38732 MenhirLib.EngineTypes.next = _menhir_stack;
38733 };
38734 };
38735 };
38736 };
38737 };
38738 } = _menhir_stack in
38739 let m : 'tv_list_TMul_ = Obj.magic m in
38740 let p00 : (
38741 # 61 "parser_cocci_menhir.mly"
38742 (string * Data.clt)
38743 # 38744 "parser_cocci_menhir.ml"
38744 ) = Obj.magic p00 in
38745 let r00 : (
38746 # 49 "parser_cocci_menhir.mly"
38747 (string)
38748 # 38749 "parser_cocci_menhir.ml"
38749 ) = Obj.magic r00 in
38750 let r1 : (
38751 # 53 "parser_cocci_menhir.mly"
38752 (Data.clt)
38753 # 38754 "parser_cocci_menhir.ml"
38754 ) = Obj.magic r1 in
38755 let x0 : 'tv_const_vol = Obj.magic x0 in
38756 let _startpos = _startpos_x0_ in
38757 let _endpos = _endpos_m_ in
38758 let _v : 'tv_typedef_ctype = let ty =
38759 let p0 = p00 in
38760 let r0 = r00 in
38761 let r = r1 in
38762 let ty =
38763 let p = p0 in
38764 let r = r0 in
38765
38766 # 543 "parser_cocci_menhir.mly"
38767 ( let nm = (r,P.id2name p) in
38768 (* this is only possible when we are in a metavar decl. Otherwise,
38769 it will be represented already as a MetaType *)
38770 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
38771 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
38772 Ast0.Impure (*will be ignored*))) )
38773 # 38774 "parser_cocci_menhir.ml"
38774
38775 in
38776
38777 # 593 "parser_cocci_menhir.mly"
38778 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
38779 # 38780 "parser_cocci_menhir.ml"
38780
38781 in
38782 let cv =
38783 let x = x0 in
38784
38785 # 41 "standard.mly"
38786 ( Some x )
38787 # 38788 "parser_cocci_menhir.ml"
38788
38789 in
38790
38791 # 612 "parser_cocci_menhir.mly"
38792 ( P.pointerify (P.make_cv cv ty) m )
38793 # 38794 "parser_cocci_menhir.ml"
38794 in
38795 _menhir_env.MenhirLib.EngineTypes.stack <- {
38796 MenhirLib.EngineTypes.state = _menhir_s;
38797 MenhirLib.EngineTypes.semv = Obj.repr _v;
38798 MenhirLib.EngineTypes.startp = _startpos;
38799 MenhirLib.EngineTypes.endp = _endpos;
38800 MenhirLib.EngineTypes.next = _menhir_stack;
38801 });
38802 (fun _menhir_env ->
38803 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38804 let {
38805 MenhirLib.EngineTypes.semv = m;
38806 MenhirLib.EngineTypes.startp = _startpos_m_;
38807 MenhirLib.EngineTypes.endp = _endpos_m_;
38808 MenhirLib.EngineTypes.next = {
38809 MenhirLib.EngineTypes.semv = ty00;
38810 MenhirLib.EngineTypes.startp = _startpos_ty00_;
38811 MenhirLib.EngineTypes.endp = _endpos_ty00_;
38812 MenhirLib.EngineTypes.next = {
38813 MenhirLib.EngineTypes.semv = r0;
38814 MenhirLib.EngineTypes.startp = _startpos_r0_;
38815 MenhirLib.EngineTypes.endp = _endpos_r0_;
38816 MenhirLib.EngineTypes.next = {
38817 MenhirLib.EngineTypes.state = _menhir_s;
38818 MenhirLib.EngineTypes.semv = x0;
38819 MenhirLib.EngineTypes.startp = _startpos_x0_;
38820 MenhirLib.EngineTypes.endp = _endpos_x0_;
38821 MenhirLib.EngineTypes.next = _menhir_stack;
38822 };
38823 };
38824 };
38825 } = _menhir_stack in
38826 let m : 'tv_list_TMul_ = Obj.magic m in
38827 let ty00 : (
38828 # 51 "parser_cocci_menhir.mly"
38829 (Data.clt)
38830 # 38831 "parser_cocci_menhir.ml"
38831 ) = Obj.magic ty00 in
38832 let r0 : (
38833 # 53 "parser_cocci_menhir.mly"
38834 (Data.clt)
38835 # 38836 "parser_cocci_menhir.ml"
38836 ) = Obj.magic r0 in
38837 let x0 : 'tv_const_vol = Obj.magic x0 in
38838 let _startpos = _startpos_x0_ in
38839 let _endpos = _endpos_m_ in
38840 let _v : 'tv_typedef_ctype = let ty =
38841 let ty0 = ty00 in
38842 let r = r0 in
38843 let ty =
38844 let ty = ty0 in
38845
38846 # 550 "parser_cocci_menhir.mly"
38847 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
38848 # 38849 "parser_cocci_menhir.ml"
38849
38850 in
38851
38852 # 593 "parser_cocci_menhir.mly"
38853 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
38854 # 38855 "parser_cocci_menhir.ml"
38855
38856 in
38857 let cv =
38858 let x = x0 in
38859
38860 # 41 "standard.mly"
38861 ( Some x )
38862 # 38863 "parser_cocci_menhir.ml"
38863
38864 in
38865
38866 # 612 "parser_cocci_menhir.mly"
38867 ( P.pointerify (P.make_cv cv ty) m )
38868 # 38869 "parser_cocci_menhir.ml"
38869 in
38870 _menhir_env.MenhirLib.EngineTypes.stack <- {
38871 MenhirLib.EngineTypes.state = _menhir_s;
38872 MenhirLib.EngineTypes.semv = Obj.repr _v;
38873 MenhirLib.EngineTypes.startp = _startpos;
38874 MenhirLib.EngineTypes.endp = _endpos;
38875 MenhirLib.EngineTypes.next = _menhir_stack;
38876 });
38877 (fun _menhir_env ->
38878 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38879 let {
38880 MenhirLib.EngineTypes.semv = m;
38881 MenhirLib.EngineTypes.startp = _startpos_m_;
38882 MenhirLib.EngineTypes.endp = _endpos_m_;
38883 MenhirLib.EngineTypes.next = {
38884 MenhirLib.EngineTypes.semv = ty200;
38885 MenhirLib.EngineTypes.startp = _startpos_ty200_;
38886 MenhirLib.EngineTypes.endp = _endpos_ty200_;
38887 MenhirLib.EngineTypes.next = {
38888 MenhirLib.EngineTypes.semv = ty100;
38889 MenhirLib.EngineTypes.startp = _startpos_ty100_;
38890 MenhirLib.EngineTypes.endp = _endpos_ty100_;
38891 MenhirLib.EngineTypes.next = {
38892 MenhirLib.EngineTypes.semv = r0;
38893 MenhirLib.EngineTypes.startp = _startpos_r0_;
38894 MenhirLib.EngineTypes.endp = _endpos_r0_;
38895 MenhirLib.EngineTypes.next = {
38896 MenhirLib.EngineTypes.state = _menhir_s;
38897 MenhirLib.EngineTypes.semv = x0;
38898 MenhirLib.EngineTypes.startp = _startpos_x0_;
38899 MenhirLib.EngineTypes.endp = _endpos_x0_;
38900 MenhirLib.EngineTypes.next = _menhir_stack;
38901 };
38902 };
38903 };
38904 };
38905 } = _menhir_stack in
38906 let m : 'tv_list_TMul_ = Obj.magic m in
38907 let ty200 : (
38908 # 51 "parser_cocci_menhir.mly"
38909 (Data.clt)
38910 # 38911 "parser_cocci_menhir.ml"
38911 ) = Obj.magic ty200 in
38912 let ty100 : (
38913 # 51 "parser_cocci_menhir.mly"
38914 (Data.clt)
38915 # 38916 "parser_cocci_menhir.ml"
38916 ) = Obj.magic ty100 in
38917 let r0 : (
38918 # 53 "parser_cocci_menhir.mly"
38919 (Data.clt)
38920 # 38921 "parser_cocci_menhir.ml"
38921 ) = Obj.magic r0 in
38922 let x0 : 'tv_const_vol = Obj.magic x0 in
38923 let _startpos = _startpos_x0_ in
38924 let _endpos = _endpos_m_ in
38925 let _v : 'tv_typedef_ctype = let ty =
38926 let ty20 = ty200 in
38927 let ty10 = ty100 in
38928 let r = r0 in
38929 let ty =
38930 let ty2 = ty20 in
38931 let ty1 = ty10 in
38932
38933 # 552 "parser_cocci_menhir.mly"
38934 ( Ast0.wrap
38935 (Ast0.BaseType
38936 (Ast.LongLongType,
38937 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
38938 # 38939 "parser_cocci_menhir.ml"
38939
38940 in
38941
38942 # 593 "parser_cocci_menhir.mly"
38943 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
38944 # 38945 "parser_cocci_menhir.ml"
38945
38946 in
38947 let cv =
38948 let x = x0 in
38949
38950 # 41 "standard.mly"
38951 ( Some x )
38952 # 38953 "parser_cocci_menhir.ml"
38953
38954 in
38955
38956 # 612 "parser_cocci_menhir.mly"
38957 ( P.pointerify (P.make_cv cv ty) m )
38958 # 38959 "parser_cocci_menhir.ml"
38959 in
38960 _menhir_env.MenhirLib.EngineTypes.stack <- {
38961 MenhirLib.EngineTypes.state = _menhir_s;
38962 MenhirLib.EngineTypes.semv = Obj.repr _v;
38963 MenhirLib.EngineTypes.startp = _startpos;
38964 MenhirLib.EngineTypes.endp = _endpos;
38965 MenhirLib.EngineTypes.next = _menhir_stack;
38966 });
38967 (fun _menhir_env ->
38968 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38969 let {
38970 MenhirLib.EngineTypes.semv = m;
38971 MenhirLib.EngineTypes.startp = _startpos_m_;
38972 MenhirLib.EngineTypes.endp = _endpos_m_;
38973 MenhirLib.EngineTypes.next = {
38974 MenhirLib.EngineTypes.semv = ty00;
38975 MenhirLib.EngineTypes.startp = _startpos_ty00_;
38976 MenhirLib.EngineTypes.endp = _endpos_ty00_;
38977 MenhirLib.EngineTypes.next = {
38978 MenhirLib.EngineTypes.state = _menhir_s;
38979 MenhirLib.EngineTypes.semv = x0;
38980 MenhirLib.EngineTypes.startp = _startpos_x0_;
38981 MenhirLib.EngineTypes.endp = _endpos_x0_;
38982 MenhirLib.EngineTypes.next = _menhir_stack;
38983 };
38984 };
38985 } = _menhir_stack in
38986 let m : 'tv_list_TMul_ = Obj.magic m in
38987 let ty00 : (
38988 # 51 "parser_cocci_menhir.mly"
38989 (Data.clt)
38990 # 38991 "parser_cocci_menhir.ml"
38991 ) = Obj.magic ty00 in
38992 let x0 : 'tv_const_vol = Obj.magic x0 in
38993 let _startpos = _startpos_x0_ in
38994 let _endpos = _endpos_m_ in
38995 let _v : 'tv_typedef_ctype = let ty =
38996 let ty0 = ty00 in
38997 let ty =
38998 let ty = ty0 in
38999
39000 # 534 "parser_cocci_menhir.mly"
39001 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
39002 # 39003 "parser_cocci_menhir.ml"
39003
39004 in
39005
39006 # 594 "parser_cocci_menhir.mly"
39007 ( ty )
39008 # 39009 "parser_cocci_menhir.ml"
39009
39010 in
39011 let cv =
39012 let x = x0 in
39013
39014 # 41 "standard.mly"
39015 ( Some x )
39016 # 39017 "parser_cocci_menhir.ml"
39017
39018 in
39019
39020 # 612 "parser_cocci_menhir.mly"
39021 ( P.pointerify (P.make_cv cv ty) m )
39022 # 39023 "parser_cocci_menhir.ml"
39023 in
39024 _menhir_env.MenhirLib.EngineTypes.stack <- {
39025 MenhirLib.EngineTypes.state = _menhir_s;
39026 MenhirLib.EngineTypes.semv = Obj.repr _v;
39027 MenhirLib.EngineTypes.startp = _startpos;
39028 MenhirLib.EngineTypes.endp = _endpos;
39029 MenhirLib.EngineTypes.next = _menhir_stack;
39030 });
39031 (fun _menhir_env ->
39032 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39033 let {
39034 MenhirLib.EngineTypes.semv = m;
39035 MenhirLib.EngineTypes.startp = _startpos_m_;
39036 MenhirLib.EngineTypes.endp = _endpos_m_;
39037 MenhirLib.EngineTypes.next = {
39038 MenhirLib.EngineTypes.semv = ty00;
39039 MenhirLib.EngineTypes.startp = _startpos_ty00_;
39040 MenhirLib.EngineTypes.endp = _endpos_ty00_;
39041 MenhirLib.EngineTypes.next = {
39042 MenhirLib.EngineTypes.state = _menhir_s;
39043 MenhirLib.EngineTypes.semv = x0;
39044 MenhirLib.EngineTypes.startp = _startpos_x0_;
39045 MenhirLib.EngineTypes.endp = _endpos_x0_;
39046 MenhirLib.EngineTypes.next = _menhir_stack;
39047 };
39048 };
39049 } = _menhir_stack in
39050 let m : 'tv_list_TMul_ = Obj.magic m in
39051 let ty00 : (
39052 # 51 "parser_cocci_menhir.mly"
39053 (Data.clt)
39054 # 39055 "parser_cocci_menhir.ml"
39055 ) = Obj.magic ty00 in
39056 let x0 : 'tv_const_vol = Obj.magic x0 in
39057 let _startpos = _startpos_x0_ in
39058 let _endpos = _endpos_m_ in
39059 let _v : 'tv_typedef_ctype = let ty =
39060 let ty0 = ty00 in
39061 let ty =
39062 let ty = ty0 in
39063
39064 # 536 "parser_cocci_menhir.mly"
39065 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
39066 # 39067 "parser_cocci_menhir.ml"
39067
39068 in
39069
39070 # 594 "parser_cocci_menhir.mly"
39071 ( ty )
39072 # 39073 "parser_cocci_menhir.ml"
39073
39074 in
39075 let cv =
39076 let x = x0 in
39077
39078 # 41 "standard.mly"
39079 ( Some x )
39080 # 39081 "parser_cocci_menhir.ml"
39081
39082 in
39083
39084 # 612 "parser_cocci_menhir.mly"
39085 ( P.pointerify (P.make_cv cv ty) m )
39086 # 39087 "parser_cocci_menhir.ml"
39087 in
39088 _menhir_env.MenhirLib.EngineTypes.stack <- {
39089 MenhirLib.EngineTypes.state = _menhir_s;
39090 MenhirLib.EngineTypes.semv = Obj.repr _v;
39091 MenhirLib.EngineTypes.startp = _startpos;
39092 MenhirLib.EngineTypes.endp = _endpos;
39093 MenhirLib.EngineTypes.next = _menhir_stack;
39094 });
39095 (fun _menhir_env ->
39096 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39097 let {
39098 MenhirLib.EngineTypes.semv = m;
39099 MenhirLib.EngineTypes.startp = _startpos_m_;
39100 MenhirLib.EngineTypes.endp = _endpos_m_;
39101 MenhirLib.EngineTypes.next = {
39102 MenhirLib.EngineTypes.semv = ty00;
39103 MenhirLib.EngineTypes.startp = _startpos_ty00_;
39104 MenhirLib.EngineTypes.endp = _endpos_ty00_;
39105 MenhirLib.EngineTypes.next = {
39106 MenhirLib.EngineTypes.state = _menhir_s;
39107 MenhirLib.EngineTypes.semv = x0;
39108 MenhirLib.EngineTypes.startp = _startpos_x0_;
39109 MenhirLib.EngineTypes.endp = _endpos_x0_;
39110 MenhirLib.EngineTypes.next = _menhir_stack;
39111 };
39112 };
39113 } = _menhir_stack in
39114 let m : 'tv_list_TMul_ = Obj.magic m in
39115 let ty00 : (
39116 # 51 "parser_cocci_menhir.mly"
39117 (Data.clt)
39118 # 39119 "parser_cocci_menhir.ml"
39119 ) = Obj.magic ty00 in
39120 let x0 : 'tv_const_vol = Obj.magic x0 in
39121 let _startpos = _startpos_x0_ in
39122 let _endpos = _endpos_m_ in
39123 let _v : 'tv_typedef_ctype = let ty =
39124 let ty0 = ty00 in
39125 let ty =
39126 let ty = ty0 in
39127
39128 # 538 "parser_cocci_menhir.mly"
39129 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
39130 # 39131 "parser_cocci_menhir.ml"
39131
39132 in
39133
39134 # 594 "parser_cocci_menhir.mly"
39135 ( ty )
39136 # 39137 "parser_cocci_menhir.ml"
39137
39138 in
39139 let cv =
39140 let x = x0 in
39141
39142 # 41 "standard.mly"
39143 ( Some x )
39144 # 39145 "parser_cocci_menhir.ml"
39145
39146 in
39147
39148 # 612 "parser_cocci_menhir.mly"
39149 ( P.pointerify (P.make_cv cv ty) m )
39150 # 39151 "parser_cocci_menhir.ml"
39151 in
39152 _menhir_env.MenhirLib.EngineTypes.stack <- {
39153 MenhirLib.EngineTypes.state = _menhir_s;
39154 MenhirLib.EngineTypes.semv = Obj.repr _v;
39155 MenhirLib.EngineTypes.startp = _startpos;
39156 MenhirLib.EngineTypes.endp = _endpos;
39157 MenhirLib.EngineTypes.next = _menhir_stack;
39158 });
39159 (fun _menhir_env ->
39160 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39161 let {
39162 MenhirLib.EngineTypes.semv = m;
39163 MenhirLib.EngineTypes.startp = _startpos_m_;
39164 MenhirLib.EngineTypes.endp = _endpos_m_;
39165 MenhirLib.EngineTypes.next = {
39166 MenhirLib.EngineTypes.semv = p00;
39167 MenhirLib.EngineTypes.startp = _startpos_p00_;
39168 MenhirLib.EngineTypes.endp = _endpos_p00_;
39169 MenhirLib.EngineTypes.next = {
39170 MenhirLib.EngineTypes.state = _menhir_s;
39171 MenhirLib.EngineTypes.semv = x0;
39172 MenhirLib.EngineTypes.startp = _startpos_x0_;
39173 MenhirLib.EngineTypes.endp = _endpos_x0_;
39174 MenhirLib.EngineTypes.next = _menhir_stack;
39175 };
39176 };
39177 } = _menhir_stack in
39178 let m : 'tv_list_TMul_ = Obj.magic m in
39179 let p00 : (
39180 # 67 "parser_cocci_menhir.mly"
39181 (Parse_aux.info)
39182 # 39183 "parser_cocci_menhir.ml"
39183 ) = Obj.magic p00 in
39184 let x0 : 'tv_const_vol = Obj.magic x0 in
39185 let _startpos = _startpos_x0_ in
39186 let _endpos = _endpos_m_ in
39187 let _v : 'tv_typedef_ctype = let ty =
39188 let p0 = p00 in
39189 let ty =
39190 let p = p0 in
39191
39192 # 540 "parser_cocci_menhir.mly"
39193 ( let (nm,pure,clt) = p in
39194 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
39195 # 39196 "parser_cocci_menhir.ml"
39196
39197 in
39198
39199 # 594 "parser_cocci_menhir.mly"
39200 ( ty )
39201 # 39202 "parser_cocci_menhir.ml"
39202
39203 in
39204 let cv =
39205 let x = x0 in
39206
39207 # 41 "standard.mly"
39208 ( Some x )
39209 # 39210 "parser_cocci_menhir.ml"
39210
39211 in
39212
39213 # 612 "parser_cocci_menhir.mly"
39214 ( P.pointerify (P.make_cv cv ty) m )
39215 # 39216 "parser_cocci_menhir.ml"
39216 in
39217 _menhir_env.MenhirLib.EngineTypes.stack <- {
39218 MenhirLib.EngineTypes.state = _menhir_s;
39219 MenhirLib.EngineTypes.semv = Obj.repr _v;
39220 MenhirLib.EngineTypes.startp = _startpos;
39221 MenhirLib.EngineTypes.endp = _endpos;
39222 MenhirLib.EngineTypes.next = _menhir_stack;
39223 });
39224 (fun _menhir_env ->
39225 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39226 let {
39227 MenhirLib.EngineTypes.semv = m;
39228 MenhirLib.EngineTypes.startp = _startpos_m_;
39229 MenhirLib.EngineTypes.endp = _endpos_m_;
39230 MenhirLib.EngineTypes.next = {
39231 MenhirLib.EngineTypes.semv = p00;
39232 MenhirLib.EngineTypes.startp = _startpos_p00_;
39233 MenhirLib.EngineTypes.endp = _endpos_p00_;
39234 MenhirLib.EngineTypes.next = {
39235 MenhirLib.EngineTypes.startp = _startpos__3_;
39236 MenhirLib.EngineTypes.endp = _endpos__3_;
39237 MenhirLib.EngineTypes.next = {
39238 MenhirLib.EngineTypes.semv = r00;
39239 MenhirLib.EngineTypes.startp = _startpos_r00_;
39240 MenhirLib.EngineTypes.endp = _endpos_r00_;
39241 MenhirLib.EngineTypes.next = {
39242 MenhirLib.EngineTypes.state = _menhir_s;
39243 MenhirLib.EngineTypes.semv = x0;
39244 MenhirLib.EngineTypes.startp = _startpos_x0_;
39245 MenhirLib.EngineTypes.endp = _endpos_x0_;
39246 MenhirLib.EngineTypes.next = _menhir_stack;
39247 };
39248 };
39249 };
39250 };
39251 } = _menhir_stack in
39252 let m : 'tv_list_TMul_ = Obj.magic m in
39253 let p00 : (
39254 # 61 "parser_cocci_menhir.mly"
39255 (string * Data.clt)
39256 # 39257 "parser_cocci_menhir.ml"
39257 ) = Obj.magic p00 in
39258 let r00 : (
39259 # 49 "parser_cocci_menhir.mly"
39260 (string)
39261 # 39262 "parser_cocci_menhir.ml"
39262 ) = Obj.magic r00 in
39263 let x0 : 'tv_const_vol = Obj.magic x0 in
39264 let _startpos = _startpos_x0_ in
39265 let _endpos = _endpos_m_ in
39266 let _v : 'tv_typedef_ctype = let ty =
39267 let p0 = p00 in
39268 let r0 = r00 in
39269 let ty =
39270 let p = p0 in
39271 let r = r0 in
39272
39273 # 543 "parser_cocci_menhir.mly"
39274 ( let nm = (r,P.id2name p) in
39275 (* this is only possible when we are in a metavar decl. Otherwise,
39276 it will be represented already as a MetaType *)
39277 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
39278 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
39279 Ast0.Impure (*will be ignored*))) )
39280 # 39281 "parser_cocci_menhir.ml"
39281
39282 in
39283
39284 # 594 "parser_cocci_menhir.mly"
39285 ( ty )
39286 # 39287 "parser_cocci_menhir.ml"
39287
39288 in
39289 let cv =
39290 let x = x0 in
39291
39292 # 41 "standard.mly"
39293 ( Some x )
39294 # 39295 "parser_cocci_menhir.ml"
39295
39296 in
39297
39298 # 612 "parser_cocci_menhir.mly"
39299 ( P.pointerify (P.make_cv cv ty) m )
39300 # 39301 "parser_cocci_menhir.ml"
39301 in
39302 _menhir_env.MenhirLib.EngineTypes.stack <- {
39303 MenhirLib.EngineTypes.state = _menhir_s;
39304 MenhirLib.EngineTypes.semv = Obj.repr _v;
39305 MenhirLib.EngineTypes.startp = _startpos;
39306 MenhirLib.EngineTypes.endp = _endpos;
39307 MenhirLib.EngineTypes.next = _menhir_stack;
39308 });
39309 (fun _menhir_env ->
39310 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39311 let {
39312 MenhirLib.EngineTypes.semv = m;
39313 MenhirLib.EngineTypes.startp = _startpos_m_;
39314 MenhirLib.EngineTypes.endp = _endpos_m_;
39315 MenhirLib.EngineTypes.next = {
39316 MenhirLib.EngineTypes.semv = ty00;
39317 MenhirLib.EngineTypes.startp = _startpos_ty00_;
39318 MenhirLib.EngineTypes.endp = _endpos_ty00_;
39319 MenhirLib.EngineTypes.next = {
39320 MenhirLib.EngineTypes.state = _menhir_s;
39321 MenhirLib.EngineTypes.semv = x0;
39322 MenhirLib.EngineTypes.startp = _startpos_x0_;
39323 MenhirLib.EngineTypes.endp = _endpos_x0_;
39324 MenhirLib.EngineTypes.next = _menhir_stack;
39325 };
39326 };
39327 } = _menhir_stack in
39328 let m : 'tv_list_TMul_ = Obj.magic m in
39329 let ty00 : (
39330 # 51 "parser_cocci_menhir.mly"
39331 (Data.clt)
39332 # 39333 "parser_cocci_menhir.ml"
39333 ) = Obj.magic ty00 in
39334 let x0 : 'tv_const_vol = Obj.magic x0 in
39335 let _startpos = _startpos_x0_ in
39336 let _endpos = _endpos_m_ in
39337 let _v : 'tv_typedef_ctype = let ty =
39338 let ty0 = ty00 in
39339 let ty =
39340 let ty = ty0 in
39341
39342 # 550 "parser_cocci_menhir.mly"
39343 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
39344 # 39345 "parser_cocci_menhir.ml"
39345
39346 in
39347
39348 # 594 "parser_cocci_menhir.mly"
39349 ( ty )
39350 # 39351 "parser_cocci_menhir.ml"
39351
39352 in
39353 let cv =
39354 let x = x0 in
39355
39356 # 41 "standard.mly"
39357 ( Some x )
39358 # 39359 "parser_cocci_menhir.ml"
39359
39360 in
39361
39362 # 612 "parser_cocci_menhir.mly"
39363 ( P.pointerify (P.make_cv cv ty) m )
39364 # 39365 "parser_cocci_menhir.ml"
39365 in
39366 _menhir_env.MenhirLib.EngineTypes.stack <- {
39367 MenhirLib.EngineTypes.state = _menhir_s;
39368 MenhirLib.EngineTypes.semv = Obj.repr _v;
39369 MenhirLib.EngineTypes.startp = _startpos;
39370 MenhirLib.EngineTypes.endp = _endpos;
39371 MenhirLib.EngineTypes.next = _menhir_stack;
39372 });
39373 (fun _menhir_env ->
39374 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39375 let {
39376 MenhirLib.EngineTypes.semv = m;
39377 MenhirLib.EngineTypes.startp = _startpos_m_;
39378 MenhirLib.EngineTypes.endp = _endpos_m_;
39379 MenhirLib.EngineTypes.next = {
39380 MenhirLib.EngineTypes.semv = ty200;
39381 MenhirLib.EngineTypes.startp = _startpos_ty200_;
39382 MenhirLib.EngineTypes.endp = _endpos_ty200_;
39383 MenhirLib.EngineTypes.next = {
39384 MenhirLib.EngineTypes.semv = ty100;
39385 MenhirLib.EngineTypes.startp = _startpos_ty100_;
39386 MenhirLib.EngineTypes.endp = _endpos_ty100_;
39387 MenhirLib.EngineTypes.next = {
39388 MenhirLib.EngineTypes.state = _menhir_s;
39389 MenhirLib.EngineTypes.semv = x0;
39390 MenhirLib.EngineTypes.startp = _startpos_x0_;
39391 MenhirLib.EngineTypes.endp = _endpos_x0_;
39392 MenhirLib.EngineTypes.next = _menhir_stack;
39393 };
39394 };
39395 };
39396 } = _menhir_stack in
39397 let m : 'tv_list_TMul_ = Obj.magic m in
39398 let ty200 : (
39399 # 51 "parser_cocci_menhir.mly"
39400 (Data.clt)
39401 # 39402 "parser_cocci_menhir.ml"
39402 ) = Obj.magic ty200 in
39403 let ty100 : (
39404 # 51 "parser_cocci_menhir.mly"
39405 (Data.clt)
39406 # 39407 "parser_cocci_menhir.ml"
39407 ) = Obj.magic ty100 in
39408 let x0 : 'tv_const_vol = Obj.magic x0 in
39409 let _startpos = _startpos_x0_ in
39410 let _endpos = _endpos_m_ in
39411 let _v : 'tv_typedef_ctype = let ty =
39412 let ty20 = ty200 in
39413 let ty10 = ty100 in
39414 let ty =
39415 let ty2 = ty20 in
39416 let ty1 = ty10 in
39417
39418 # 552 "parser_cocci_menhir.mly"
39419 ( Ast0.wrap
39420 (Ast0.BaseType
39421 (Ast.LongLongType,
39422 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
39423 # 39424 "parser_cocci_menhir.ml"
39424
39425 in
39426
39427 # 594 "parser_cocci_menhir.mly"
39428 ( ty )
39429 # 39430 "parser_cocci_menhir.ml"
39430
39431 in
39432 let cv =
39433 let x = x0 in
39434
39435 # 41 "standard.mly"
39436 ( Some x )
39437 # 39438 "parser_cocci_menhir.ml"
39438
39439 in
39440
39441 # 612 "parser_cocci_menhir.mly"
39442 ( P.pointerify (P.make_cv cv ty) m )
39443 # 39444 "parser_cocci_menhir.ml"
39444 in
39445 _menhir_env.MenhirLib.EngineTypes.stack <- {
39446 MenhirLib.EngineTypes.state = _menhir_s;
39447 MenhirLib.EngineTypes.semv = Obj.repr _v;
39448 MenhirLib.EngineTypes.startp = _startpos;
39449 MenhirLib.EngineTypes.endp = _endpos;
39450 MenhirLib.EngineTypes.next = _menhir_stack;
39451 });
39452 (fun _menhir_env ->
39453 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39454 let {
39455 MenhirLib.EngineTypes.semv = m;
39456 MenhirLib.EngineTypes.startp = _startpos_m_;
39457 MenhirLib.EngineTypes.endp = _endpos_m_;
39458 MenhirLib.EngineTypes.next = {
39459 MenhirLib.EngineTypes.semv = ty00;
39460 MenhirLib.EngineTypes.startp = _startpos_ty00_;
39461 MenhirLib.EngineTypes.endp = _endpos_ty00_;
39462 MenhirLib.EngineTypes.next = {
39463 MenhirLib.EngineTypes.state = _menhir_s;
39464 MenhirLib.EngineTypes.semv = x0;
39465 MenhirLib.EngineTypes.startp = _startpos_x0_;
39466 MenhirLib.EngineTypes.endp = _endpos_x0_;
39467 MenhirLib.EngineTypes.next = _menhir_stack;
39468 };
39469 };
39470 } = _menhir_stack in
39471 let m : 'tv_list_TMul_ = Obj.magic m in
39472 let ty00 : (
39473 # 52 "parser_cocci_menhir.mly"
39474 (Data.clt)
39475 # 39476 "parser_cocci_menhir.ml"
39476 ) = Obj.magic ty00 in
39477 let x0 : 'tv_const_vol = Obj.magic x0 in
39478 let _startpos = _startpos_x0_ in
39479 let _endpos = _endpos_m_ in
39480 let _v : 'tv_typedef_ctype = let ty =
39481 let ty0 = ty00 in
39482 let ty =
39483 let ty = ty0 in
39484
39485 # 560 "parser_cocci_menhir.mly"
39486 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
39487 # 39488 "parser_cocci_menhir.ml"
39488
39489 in
39490
39491 # 595 "parser_cocci_menhir.mly"
39492 ( ty )
39493 # 39494 "parser_cocci_menhir.ml"
39494
39495 in
39496 let cv =
39497 let x = x0 in
39498
39499 # 41 "standard.mly"
39500 ( Some x )
39501 # 39502 "parser_cocci_menhir.ml"
39502
39503 in
39504
39505 # 612 "parser_cocci_menhir.mly"
39506 ( P.pointerify (P.make_cv cv ty) m )
39507 # 39508 "parser_cocci_menhir.ml"
39508 in
39509 _menhir_env.MenhirLib.EngineTypes.stack <- {
39510 MenhirLib.EngineTypes.state = _menhir_s;
39511 MenhirLib.EngineTypes.semv = Obj.repr _v;
39512 MenhirLib.EngineTypes.startp = _startpos;
39513 MenhirLib.EngineTypes.endp = _endpos;
39514 MenhirLib.EngineTypes.next = _menhir_stack;
39515 });
39516 (fun _menhir_env ->
39517 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39518 let {
39519 MenhirLib.EngineTypes.semv = m;
39520 MenhirLib.EngineTypes.startp = _startpos_m_;
39521 MenhirLib.EngineTypes.endp = _endpos_m_;
39522 MenhirLib.EngineTypes.next = {
39523 MenhirLib.EngineTypes.semv = ty00;
39524 MenhirLib.EngineTypes.startp = _startpos_ty00_;
39525 MenhirLib.EngineTypes.endp = _endpos_ty00_;
39526 MenhirLib.EngineTypes.next = {
39527 MenhirLib.EngineTypes.state = _menhir_s;
39528 MenhirLib.EngineTypes.semv = x0;
39529 MenhirLib.EngineTypes.startp = _startpos_x0_;
39530 MenhirLib.EngineTypes.endp = _endpos_x0_;
39531 MenhirLib.EngineTypes.next = _menhir_stack;
39532 };
39533 };
39534 } = _menhir_stack in
39535 let m : 'tv_list_TMul_ = Obj.magic m in
39536 let ty00 : (
39537 # 51 "parser_cocci_menhir.mly"
39538 (Data.clt)
39539 # 39540 "parser_cocci_menhir.ml"
39540 ) = Obj.magic ty00 in
39541 let x0 : 'tv_const_vol = Obj.magic x0 in
39542 let _startpos = _startpos_x0_ in
39543 let _endpos = _endpos_m_ in
39544 let _v : 'tv_typedef_ctype = let ty =
39545 let ty0 = ty00 in
39546 let ty =
39547 let ty = ty0 in
39548
39549 # 562 "parser_cocci_menhir.mly"
39550 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
39551 # 39552 "parser_cocci_menhir.ml"
39552
39553 in
39554
39555 # 595 "parser_cocci_menhir.mly"
39556 ( ty )
39557 # 39558 "parser_cocci_menhir.ml"
39558
39559 in
39560 let cv =
39561 let x = x0 in
39562
39563 # 41 "standard.mly"
39564 ( Some x )
39565 # 39566 "parser_cocci_menhir.ml"
39566
39567 in
39568
39569 # 612 "parser_cocci_menhir.mly"
39570 ( P.pointerify (P.make_cv cv ty) m )
39571 # 39572 "parser_cocci_menhir.ml"
39572 in
39573 _menhir_env.MenhirLib.EngineTypes.stack <- {
39574 MenhirLib.EngineTypes.state = _menhir_s;
39575 MenhirLib.EngineTypes.semv = Obj.repr _v;
39576 MenhirLib.EngineTypes.startp = _startpos;
39577 MenhirLib.EngineTypes.endp = _endpos;
39578 MenhirLib.EngineTypes.next = _menhir_stack;
39579 });
39580 (fun _menhir_env ->
39581 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39582 let {
39583 MenhirLib.EngineTypes.semv = m;
39584 MenhirLib.EngineTypes.startp = _startpos_m_;
39585 MenhirLib.EngineTypes.endp = _endpos_m_;
39586 MenhirLib.EngineTypes.next = {
39587 MenhirLib.EngineTypes.semv = ty00;
39588 MenhirLib.EngineTypes.startp = _startpos_ty00_;
39589 MenhirLib.EngineTypes.endp = _endpos_ty00_;
39590 MenhirLib.EngineTypes.next = {
39591 MenhirLib.EngineTypes.state = _menhir_s;
39592 MenhirLib.EngineTypes.semv = x0;
39593 MenhirLib.EngineTypes.startp = _startpos_x0_;
39594 MenhirLib.EngineTypes.endp = _endpos_x0_;
39595 MenhirLib.EngineTypes.next = _menhir_stack;
39596 };
39597 };
39598 } = _menhir_stack in
39599 let m : 'tv_list_TMul_ = Obj.magic m in
39600 let ty00 : (
39601 # 51 "parser_cocci_menhir.mly"
39602 (Data.clt)
39603 # 39604 "parser_cocci_menhir.ml"
39604 ) = Obj.magic ty00 in
39605 let x0 : 'tv_const_vol = Obj.magic x0 in
39606 let _startpos = _startpos_x0_ in
39607 let _endpos = _endpos_m_ in
39608 let _v : 'tv_typedef_ctype = let ty =
39609 let ty0 = ty00 in
39610 let ty =
39611 let ty = ty0 in
39612
39613 # 564 "parser_cocci_menhir.mly"
39614 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
39615 # 39616 "parser_cocci_menhir.ml"
39616
39617 in
39618
39619 # 595 "parser_cocci_menhir.mly"
39620 ( ty )
39621 # 39622 "parser_cocci_menhir.ml"
39622
39623 in
39624 let cv =
39625 let x = x0 in
39626
39627 # 41 "standard.mly"
39628 ( Some x )
39629 # 39630 "parser_cocci_menhir.ml"
39630
39631 in
39632
39633 # 612 "parser_cocci_menhir.mly"
39634 ( P.pointerify (P.make_cv cv ty) m )
39635 # 39636 "parser_cocci_menhir.ml"
39636 in
39637 _menhir_env.MenhirLib.EngineTypes.stack <- {
39638 MenhirLib.EngineTypes.state = _menhir_s;
39639 MenhirLib.EngineTypes.semv = Obj.repr _v;
39640 MenhirLib.EngineTypes.startp = _startpos;
39641 MenhirLib.EngineTypes.endp = _endpos;
39642 MenhirLib.EngineTypes.next = _menhir_stack;
39643 });
39644 (fun _menhir_env ->
39645 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39646 let {
39647 MenhirLib.EngineTypes.semv = m;
39648 MenhirLib.EngineTypes.startp = _startpos_m_;
39649 MenhirLib.EngineTypes.endp = _endpos_m_;
39650 MenhirLib.EngineTypes.next = {
39651 MenhirLib.EngineTypes.semv = i00;
39652 MenhirLib.EngineTypes.startp = _startpos_i00_;
39653 MenhirLib.EngineTypes.endp = _endpos_i00_;
39654 MenhirLib.EngineTypes.next = {
39655 MenhirLib.EngineTypes.semv = s00;
39656 MenhirLib.EngineTypes.startp = _startpos_s00_;
39657 MenhirLib.EngineTypes.endp = _endpos_s00_;
39658 MenhirLib.EngineTypes.next = {
39659 MenhirLib.EngineTypes.state = _menhir_s;
39660 MenhirLib.EngineTypes.semv = x0;
39661 MenhirLib.EngineTypes.startp = _startpos_x0_;
39662 MenhirLib.EngineTypes.endp = _endpos_x0_;
39663 MenhirLib.EngineTypes.next = _menhir_stack;
39664 };
39665 };
39666 };
39667 } = _menhir_stack in
39668 let m : 'tv_list_TMul_ = Obj.magic m in
39669 let i00 : 'tv_ident = Obj.magic i00 in
39670 let s00 : (
39671 # 52 "parser_cocci_menhir.mly"
39672 (Data.clt)
39673 # 39674 "parser_cocci_menhir.ml"
39674 ) = Obj.magic s00 in
39675 let x0 : 'tv_const_vol = Obj.magic x0 in
39676 let _startpos = _startpos_x0_ in
39677 let _endpos = _endpos_m_ in
39678 let _v : 'tv_typedef_ctype = let ty =
39679 let i0 = i00 in
39680 let s0 = s00 in
39681 let ty =
39682 let i = i0 in
39683 let s = s0 in
39684
39685 # 566 "parser_cocci_menhir.mly"
39686 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
39687 # 39688 "parser_cocci_menhir.ml"
39688
39689 in
39690
39691 # 595 "parser_cocci_menhir.mly"
39692 ( ty )
39693 # 39694 "parser_cocci_menhir.ml"
39694
39695 in
39696 let cv =
39697 let x = x0 in
39698
39699 # 41 "standard.mly"
39700 ( Some x )
39701 # 39702 "parser_cocci_menhir.ml"
39702
39703 in
39704
39705 # 612 "parser_cocci_menhir.mly"
39706 ( P.pointerify (P.make_cv cv ty) m )
39707 # 39708 "parser_cocci_menhir.ml"
39708 in
39709 _menhir_env.MenhirLib.EngineTypes.stack <- {
39710 MenhirLib.EngineTypes.state = _menhir_s;
39711 MenhirLib.EngineTypes.semv = Obj.repr _v;
39712 MenhirLib.EngineTypes.startp = _startpos;
39713 MenhirLib.EngineTypes.endp = _endpos;
39714 MenhirLib.EngineTypes.next = _menhir_stack;
39715 });
39716 (fun _menhir_env ->
39717 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39718 let {
39719 MenhirLib.EngineTypes.semv = m;
39720 MenhirLib.EngineTypes.startp = _startpos_m_;
39721 MenhirLib.EngineTypes.endp = _endpos_m_;
39722 MenhirLib.EngineTypes.next = {
39723 MenhirLib.EngineTypes.semv = r00;
39724 MenhirLib.EngineTypes.startp = _startpos_r00_;
39725 MenhirLib.EngineTypes.endp = _endpos_r00_;
39726 MenhirLib.EngineTypes.next = {
39727 MenhirLib.EngineTypes.semv = ids00;
39728 MenhirLib.EngineTypes.startp = _startpos_ids00_;
39729 MenhirLib.EngineTypes.endp = _endpos_ids00_;
39730 MenhirLib.EngineTypes.next = {
39731 MenhirLib.EngineTypes.semv = l00;
39732 MenhirLib.EngineTypes.startp = _startpos_l00_;
39733 MenhirLib.EngineTypes.endp = _endpos_l00_;
39734 MenhirLib.EngineTypes.next = {
39735 MenhirLib.EngineTypes.semv = s00;
39736 MenhirLib.EngineTypes.startp = _startpos_s00_;
39737 MenhirLib.EngineTypes.endp = _endpos_s00_;
39738 MenhirLib.EngineTypes.next = {
39739 MenhirLib.EngineTypes.state = _menhir_s;
39740 MenhirLib.EngineTypes.semv = x0;
39741 MenhirLib.EngineTypes.startp = _startpos_x0_;
39742 MenhirLib.EngineTypes.endp = _endpos_x0_;
39743 MenhirLib.EngineTypes.next = _menhir_stack;
39744 };
39745 };
39746 };
39747 };
39748 };
39749 } = _menhir_stack in
39750 let m : 'tv_list_TMul_ = Obj.magic m in
39751 let r00 : (
39752 # 104 "parser_cocci_menhir.mly"
39753 (Data.clt)
39754 # 39755 "parser_cocci_menhir.ml"
39755 ) = Obj.magic r00 in
39756 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
39757 let l00 : (
39758 # 104 "parser_cocci_menhir.mly"
39759 (Data.clt)
39760 # 39761 "parser_cocci_menhir.ml"
39761 ) = Obj.magic l00 in
39762 let s00 : (
39763 # 52 "parser_cocci_menhir.mly"
39764 (Data.clt)
39765 # 39766 "parser_cocci_menhir.ml"
39766 ) = Obj.magic s00 in
39767 let x0 : 'tv_const_vol = Obj.magic x0 in
39768 let _startpos = _startpos_x0_ in
39769 let _endpos = _endpos_m_ in
39770 let _v : 'tv_typedef_ctype = let ty =
39771 let r0 = r00 in
39772 let ids0 = ids00 in
39773 let l0 = l00 in
39774 let s0 = s00 in
39775 let ty =
39776 let r = r0 in
39777 let ids = ids0 in
39778 let l = l0 in
39779 let s = s0 in
39780 let i =
39781
39782 # 39 "standard.mly"
39783 ( None )
39784 # 39785 "parser_cocci_menhir.ml"
39785
39786 in
39787
39788 # 568 "parser_cocci_menhir.mly"
39789 ( (if i = None && !Data.in_iso
39790 then failwith "enums must be named in the iso file");
39791 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
39792 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
39793 # 39794 "parser_cocci_menhir.ml"
39794
39795 in
39796
39797 # 595 "parser_cocci_menhir.mly"
39798 ( ty )
39799 # 39800 "parser_cocci_menhir.ml"
39800
39801 in
39802 let cv =
39803 let x = x0 in
39804
39805 # 41 "standard.mly"
39806 ( Some x )
39807 # 39808 "parser_cocci_menhir.ml"
39808
39809 in
39810
39811 # 612 "parser_cocci_menhir.mly"
39812 ( P.pointerify (P.make_cv cv ty) m )
39813 # 39814 "parser_cocci_menhir.ml"
39814 in
39815 _menhir_env.MenhirLib.EngineTypes.stack <- {
39816 MenhirLib.EngineTypes.state = _menhir_s;
39817 MenhirLib.EngineTypes.semv = Obj.repr _v;
39818 MenhirLib.EngineTypes.startp = _startpos;
39819 MenhirLib.EngineTypes.endp = _endpos;
39820 MenhirLib.EngineTypes.next = _menhir_stack;
39821 });
39822 (fun _menhir_env ->
39823 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39824 let {
39825 MenhirLib.EngineTypes.semv = m;
39826 MenhirLib.EngineTypes.startp = _startpos_m_;
39827 MenhirLib.EngineTypes.endp = _endpos_m_;
39828 MenhirLib.EngineTypes.next = {
39829 MenhirLib.EngineTypes.semv = r00;
39830 MenhirLib.EngineTypes.startp = _startpos_r00_;
39831 MenhirLib.EngineTypes.endp = _endpos_r00_;
39832 MenhirLib.EngineTypes.next = {
39833 MenhirLib.EngineTypes.semv = ids00;
39834 MenhirLib.EngineTypes.startp = _startpos_ids00_;
39835 MenhirLib.EngineTypes.endp = _endpos_ids00_;
39836 MenhirLib.EngineTypes.next = {
39837 MenhirLib.EngineTypes.semv = l00;
39838 MenhirLib.EngineTypes.startp = _startpos_l00_;
39839 MenhirLib.EngineTypes.endp = _endpos_l00_;
39840 MenhirLib.EngineTypes.next = {
39841 MenhirLib.EngineTypes.semv = x000;
39842 MenhirLib.EngineTypes.startp = _startpos_x000_;
39843 MenhirLib.EngineTypes.endp = _endpos_x000_;
39844 MenhirLib.EngineTypes.next = {
39845 MenhirLib.EngineTypes.semv = s00;
39846 MenhirLib.EngineTypes.startp = _startpos_s00_;
39847 MenhirLib.EngineTypes.endp = _endpos_s00_;
39848 MenhirLib.EngineTypes.next = {
39849 MenhirLib.EngineTypes.state = _menhir_s;
39850 MenhirLib.EngineTypes.semv = x0;
39851 MenhirLib.EngineTypes.startp = _startpos_x0_;
39852 MenhirLib.EngineTypes.endp = _endpos_x0_;
39853 MenhirLib.EngineTypes.next = _menhir_stack;
39854 };
39855 };
39856 };
39857 };
39858 };
39859 };
39860 } = _menhir_stack in
39861 let m : 'tv_list_TMul_ = Obj.magic m in
39862 let r00 : (
39863 # 104 "parser_cocci_menhir.mly"
39864 (Data.clt)
39865 # 39866 "parser_cocci_menhir.ml"
39866 ) = Obj.magic r00 in
39867 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
39868 let l00 : (
39869 # 104 "parser_cocci_menhir.mly"
39870 (Data.clt)
39871 # 39872 "parser_cocci_menhir.ml"
39872 ) = Obj.magic l00 in
39873 let x000 : 'tv_ident = Obj.magic x000 in
39874 let s00 : (
39875 # 52 "parser_cocci_menhir.mly"
39876 (Data.clt)
39877 # 39878 "parser_cocci_menhir.ml"
39878 ) = Obj.magic s00 in
39879 let x0 : 'tv_const_vol = Obj.magic x0 in
39880 let _startpos = _startpos_x0_ in
39881 let _endpos = _endpos_m_ in
39882 let _v : 'tv_typedef_ctype = let ty =
39883 let r0 = r00 in
39884 let ids0 = ids00 in
39885 let l0 = l00 in
39886 let x00 = x000 in
39887 let s0 = s00 in
39888 let ty =
39889 let r = r0 in
39890 let ids = ids0 in
39891 let l = l0 in
39892 let x0 = x00 in
39893 let s = s0 in
39894 let i =
39895 let x = x0 in
39896
39897 # 41 "standard.mly"
39898 ( Some x )
39899 # 39900 "parser_cocci_menhir.ml"
39900
39901 in
39902
39903 # 568 "parser_cocci_menhir.mly"
39904 ( (if i = None && !Data.in_iso
39905 then failwith "enums must be named in the iso file");
39906 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
39907 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
39908 # 39909 "parser_cocci_menhir.ml"
39909
39910 in
39911
39912 # 595 "parser_cocci_menhir.mly"
39913 ( ty )
39914 # 39915 "parser_cocci_menhir.ml"
39915
39916 in
39917 let cv =
39918 let x = x0 in
39919
39920 # 41 "standard.mly"
39921 ( Some x )
39922 # 39923 "parser_cocci_menhir.ml"
39923
39924 in
39925
39926 # 612 "parser_cocci_menhir.mly"
39927 ( P.pointerify (P.make_cv cv ty) m )
39928 # 39929 "parser_cocci_menhir.ml"
39929 in
39930 _menhir_env.MenhirLib.EngineTypes.stack <- {
39931 MenhirLib.EngineTypes.state = _menhir_s;
39932 MenhirLib.EngineTypes.semv = Obj.repr _v;
39933 MenhirLib.EngineTypes.startp = _startpos;
39934 MenhirLib.EngineTypes.endp = _endpos;
39935 MenhirLib.EngineTypes.next = _menhir_stack;
39936 });
39937 (fun _menhir_env ->
39938 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39939 let {
39940 MenhirLib.EngineTypes.semv = m;
39941 MenhirLib.EngineTypes.startp = _startpos_m_;
39942 MenhirLib.EngineTypes.endp = _endpos_m_;
39943 MenhirLib.EngineTypes.next = {
39944 MenhirLib.EngineTypes.semv = i00;
39945 MenhirLib.EngineTypes.startp = _startpos_i00_;
39946 MenhirLib.EngineTypes.endp = _endpos_i00_;
39947 MenhirLib.EngineTypes.next = {
39948 MenhirLib.EngineTypes.semv = s00;
39949 MenhirLib.EngineTypes.startp = _startpos_s00_;
39950 MenhirLib.EngineTypes.endp = _endpos_s00_;
39951 MenhirLib.EngineTypes.next = {
39952 MenhirLib.EngineTypes.state = _menhir_s;
39953 MenhirLib.EngineTypes.semv = x0;
39954 MenhirLib.EngineTypes.startp = _startpos_x0_;
39955 MenhirLib.EngineTypes.endp = _endpos_x0_;
39956 MenhirLib.EngineTypes.next = _menhir_stack;
39957 };
39958 };
39959 };
39960 } = _menhir_stack in
39961 let m : 'tv_list_TMul_ = Obj.magic m in
39962 let i00 : 'tv_ident = Obj.magic i00 in
39963 let s00 : 'tv_struct_or_union = Obj.magic s00 in
39964 let x0 : 'tv_const_vol = Obj.magic x0 in
39965 let _startpos = _startpos_x0_ in
39966 let _endpos = _endpos_m_ in
39967 let _v : 'tv_typedef_ctype = let ty =
39968 let i0 = i00 in
39969 let s0 = s00 in
39970 let ty =
39971 let i = i0 in
39972 let s = s0 in
39973
39974 # 573 "parser_cocci_menhir.mly"
39975 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
39976 # 39977 "parser_cocci_menhir.ml"
39977
39978 in
39979
39980 # 595 "parser_cocci_menhir.mly"
39981 ( ty )
39982 # 39983 "parser_cocci_menhir.ml"
39983
39984 in
39985 let cv =
39986 let x = x0 in
39987
39988 # 41 "standard.mly"
39989 ( Some x )
39990 # 39991 "parser_cocci_menhir.ml"
39991
39992 in
39993
39994 # 612 "parser_cocci_menhir.mly"
39995 ( P.pointerify (P.make_cv cv ty) m )
39996 # 39997 "parser_cocci_menhir.ml"
39997 in
39998 _menhir_env.MenhirLib.EngineTypes.stack <- {
39999 MenhirLib.EngineTypes.state = _menhir_s;
40000 MenhirLib.EngineTypes.semv = Obj.repr _v;
40001 MenhirLib.EngineTypes.startp = _startpos;
40002 MenhirLib.EngineTypes.endp = _endpos;
40003 MenhirLib.EngineTypes.next = _menhir_stack;
40004 });
40005 (fun _menhir_env ->
40006 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40007 let {
40008 MenhirLib.EngineTypes.semv = m;
40009 MenhirLib.EngineTypes.startp = _startpos_m_;
40010 MenhirLib.EngineTypes.endp = _endpos_m_;
40011 MenhirLib.EngineTypes.next = {
40012 MenhirLib.EngineTypes.semv = r00;
40013 MenhirLib.EngineTypes.startp = _startpos_r00_;
40014 MenhirLib.EngineTypes.endp = _endpos_r00_;
40015 MenhirLib.EngineTypes.next = {
40016 MenhirLib.EngineTypes.semv = d00;
40017 MenhirLib.EngineTypes.startp = _startpos_d00_;
40018 MenhirLib.EngineTypes.endp = _endpos_d00_;
40019 MenhirLib.EngineTypes.next = {
40020 MenhirLib.EngineTypes.semv = l00;
40021 MenhirLib.EngineTypes.startp = _startpos_l00_;
40022 MenhirLib.EngineTypes.endp = _endpos_l00_;
40023 MenhirLib.EngineTypes.next = {
40024 MenhirLib.EngineTypes.semv = s00;
40025 MenhirLib.EngineTypes.startp = _startpos_s00_;
40026 MenhirLib.EngineTypes.endp = _endpos_s00_;
40027 MenhirLib.EngineTypes.next = {
40028 MenhirLib.EngineTypes.state = _menhir_s;
40029 MenhirLib.EngineTypes.semv = x0;
40030 MenhirLib.EngineTypes.startp = _startpos_x0_;
40031 MenhirLib.EngineTypes.endp = _endpos_x0_;
40032 MenhirLib.EngineTypes.next = _menhir_stack;
40033 };
40034 };
40035 };
40036 };
40037 };
40038 } = _menhir_stack in
40039 let m : 'tv_list_TMul_ = Obj.magic m in
40040 let r00 : (
40041 # 104 "parser_cocci_menhir.mly"
40042 (Data.clt)
40043 # 40044 "parser_cocci_menhir.ml"
40044 ) = Obj.magic r00 in
40045 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
40046 let l00 : (
40047 # 104 "parser_cocci_menhir.mly"
40048 (Data.clt)
40049 # 40050 "parser_cocci_menhir.ml"
40050 ) = Obj.magic l00 in
40051 let s00 : 'tv_struct_or_union = Obj.magic s00 in
40052 let x0 : 'tv_const_vol = Obj.magic x0 in
40053 let _startpos = _startpos_x0_ in
40054 let _endpos = _endpos_m_ in
40055 let _v : 'tv_typedef_ctype = let ty =
40056 let r0 = r00 in
40057 let d0 = d00 in
40058 let l0 = l00 in
40059 let s0 = s00 in
40060 let ty =
40061 let r = r0 in
40062 let d = d0 in
40063 let l = l0 in
40064 let s = s0 in
40065 let i =
40066
40067 # 39 "standard.mly"
40068 ( None )
40069 # 40070 "parser_cocci_menhir.ml"
40070
40071 in
40072
40073 # 576 "parser_cocci_menhir.mly"
40074 ( (if i = None && !Data.in_iso
40075 then failwith "structures must be named in the iso file");
40076 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
40077 P.clt2mcode "{" l,
40078 d, P.clt2mcode "}" r)) )
40079 # 40080 "parser_cocci_menhir.ml"
40080
40081 in
40082
40083 # 595 "parser_cocci_menhir.mly"
40084 ( ty )
40085 # 40086 "parser_cocci_menhir.ml"
40086
40087 in
40088 let cv =
40089 let x = x0 in
40090
40091 # 41 "standard.mly"
40092 ( Some x )
40093 # 40094 "parser_cocci_menhir.ml"
40094
40095 in
40096
40097 # 612 "parser_cocci_menhir.mly"
40098 ( P.pointerify (P.make_cv cv ty) m )
40099 # 40100 "parser_cocci_menhir.ml"
40100 in
40101 _menhir_env.MenhirLib.EngineTypes.stack <- {
40102 MenhirLib.EngineTypes.state = _menhir_s;
40103 MenhirLib.EngineTypes.semv = Obj.repr _v;
40104 MenhirLib.EngineTypes.startp = _startpos;
40105 MenhirLib.EngineTypes.endp = _endpos;
40106 MenhirLib.EngineTypes.next = _menhir_stack;
40107 });
40108 (fun _menhir_env ->
40109 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40110 let {
40111 MenhirLib.EngineTypes.semv = m;
40112 MenhirLib.EngineTypes.startp = _startpos_m_;
40113 MenhirLib.EngineTypes.endp = _endpos_m_;
40114 MenhirLib.EngineTypes.next = {
40115 MenhirLib.EngineTypes.semv = r00;
40116 MenhirLib.EngineTypes.startp = _startpos_r00_;
40117 MenhirLib.EngineTypes.endp = _endpos_r00_;
40118 MenhirLib.EngineTypes.next = {
40119 MenhirLib.EngineTypes.semv = d00;
40120 MenhirLib.EngineTypes.startp = _startpos_d00_;
40121 MenhirLib.EngineTypes.endp = _endpos_d00_;
40122 MenhirLib.EngineTypes.next = {
40123 MenhirLib.EngineTypes.semv = l00;
40124 MenhirLib.EngineTypes.startp = _startpos_l00_;
40125 MenhirLib.EngineTypes.endp = _endpos_l00_;
40126 MenhirLib.EngineTypes.next = {
40127 MenhirLib.EngineTypes.semv = x000;
40128 MenhirLib.EngineTypes.startp = _startpos_x000_;
40129 MenhirLib.EngineTypes.endp = _endpos_x000_;
40130 MenhirLib.EngineTypes.next = {
40131 MenhirLib.EngineTypes.semv = s00;
40132 MenhirLib.EngineTypes.startp = _startpos_s00_;
40133 MenhirLib.EngineTypes.endp = _endpos_s00_;
40134 MenhirLib.EngineTypes.next = {
40135 MenhirLib.EngineTypes.state = _menhir_s;
40136 MenhirLib.EngineTypes.semv = x0;
40137 MenhirLib.EngineTypes.startp = _startpos_x0_;
40138 MenhirLib.EngineTypes.endp = _endpos_x0_;
40139 MenhirLib.EngineTypes.next = _menhir_stack;
40140 };
40141 };
40142 };
40143 };
40144 };
40145 };
40146 } = _menhir_stack in
40147 let m : 'tv_list_TMul_ = Obj.magic m in
40148 let r00 : (
40149 # 104 "parser_cocci_menhir.mly"
40150 (Data.clt)
40151 # 40152 "parser_cocci_menhir.ml"
40152 ) = Obj.magic r00 in
40153 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
40154 let l00 : (
40155 # 104 "parser_cocci_menhir.mly"
40156 (Data.clt)
40157 # 40158 "parser_cocci_menhir.ml"
40158 ) = Obj.magic l00 in
40159 let x000 : 'tv_ident = Obj.magic x000 in
40160 let s00 : 'tv_struct_or_union = Obj.magic s00 in
40161 let x0 : 'tv_const_vol = Obj.magic x0 in
40162 let _startpos = _startpos_x0_ in
40163 let _endpos = _endpos_m_ in
40164 let _v : 'tv_typedef_ctype = let ty =
40165 let r0 = r00 in
40166 let d0 = d00 in
40167 let l0 = l00 in
40168 let x00 = x000 in
40169 let s0 = s00 in
40170 let ty =
40171 let r = r0 in
40172 let d = d0 in
40173 let l = l0 in
40174 let x0 = x00 in
40175 let s = s0 in
40176 let i =
40177 let x = x0 in
40178
40179 # 41 "standard.mly"
40180 ( Some x )
40181 # 40182 "parser_cocci_menhir.ml"
40182
40183 in
40184
40185 # 576 "parser_cocci_menhir.mly"
40186 ( (if i = None && !Data.in_iso
40187 then failwith "structures must be named in the iso file");
40188 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
40189 P.clt2mcode "{" l,
40190 d, P.clt2mcode "}" r)) )
40191 # 40192 "parser_cocci_menhir.ml"
40192
40193 in
40194
40195 # 595 "parser_cocci_menhir.mly"
40196 ( ty )
40197 # 40198 "parser_cocci_menhir.ml"
40198
40199 in
40200 let cv =
40201 let x = x0 in
40202
40203 # 41 "standard.mly"
40204 ( Some x )
40205 # 40206 "parser_cocci_menhir.ml"
40206
40207 in
40208
40209 # 612 "parser_cocci_menhir.mly"
40210 ( P.pointerify (P.make_cv cv ty) m )
40211 # 40212 "parser_cocci_menhir.ml"
40212 in
40213 _menhir_env.MenhirLib.EngineTypes.stack <- {
40214 MenhirLib.EngineTypes.state = _menhir_s;
40215 MenhirLib.EngineTypes.semv = Obj.repr _v;
40216 MenhirLib.EngineTypes.startp = _startpos;
40217 MenhirLib.EngineTypes.endp = _endpos;
40218 MenhirLib.EngineTypes.next = _menhir_stack;
40219 });
40220 (fun _menhir_env ->
40221 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40222 let {
40223 MenhirLib.EngineTypes.semv = m;
40224 MenhirLib.EngineTypes.startp = _startpos_m_;
40225 MenhirLib.EngineTypes.endp = _endpos_m_;
40226 MenhirLib.EngineTypes.next = {
40227 MenhirLib.EngineTypes.semv = r00;
40228 MenhirLib.EngineTypes.startp = _startpos_r00_;
40229 MenhirLib.EngineTypes.endp = _endpos_r00_;
40230 MenhirLib.EngineTypes.next = {
40231 MenhirLib.EngineTypes.semv = d00;
40232 MenhirLib.EngineTypes.startp = _startpos_d00_;
40233 MenhirLib.EngineTypes.endp = _endpos_d00_;
40234 MenhirLib.EngineTypes.next = {
40235 MenhirLib.EngineTypes.semv = l00;
40236 MenhirLib.EngineTypes.startp = _startpos_l00_;
40237 MenhirLib.EngineTypes.endp = _endpos_l00_;
40238 MenhirLib.EngineTypes.next = {
40239 MenhirLib.EngineTypes.semv = s00;
40240 MenhirLib.EngineTypes.startp = _startpos_s00_;
40241 MenhirLib.EngineTypes.endp = _endpos_s00_;
40242 MenhirLib.EngineTypes.next = {
40243 MenhirLib.EngineTypes.state = _menhir_s;
40244 MenhirLib.EngineTypes.semv = x0;
40245 MenhirLib.EngineTypes.startp = _startpos_x0_;
40246 MenhirLib.EngineTypes.endp = _endpos_x0_;
40247 MenhirLib.EngineTypes.next = _menhir_stack;
40248 };
40249 };
40250 };
40251 };
40252 };
40253 } = _menhir_stack in
40254 let m : 'tv_list_TMul_ = Obj.magic m in
40255 let r00 : (
40256 # 104 "parser_cocci_menhir.mly"
40257 (Data.clt)
40258 # 40259 "parser_cocci_menhir.ml"
40259 ) = Obj.magic r00 in
40260 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
40261 let l00 : (
40262 # 104 "parser_cocci_menhir.mly"
40263 (Data.clt)
40264 # 40265 "parser_cocci_menhir.ml"
40265 ) = Obj.magic l00 in
40266 let s00 : (
40267 # 67 "parser_cocci_menhir.mly"
40268 (Parse_aux.info)
40269 # 40270 "parser_cocci_menhir.ml"
40270 ) = Obj.magic s00 in
40271 let x0 : 'tv_const_vol = Obj.magic x0 in
40272 let _startpos = _startpos_x0_ in
40273 let _endpos = _endpos_m_ in
40274 let _v : 'tv_typedef_ctype = let ty =
40275 let r0 = r00 in
40276 let d0 = d00 in
40277 let l0 = l00 in
40278 let s0 = s00 in
40279 let ty =
40280 let r = r0 in
40281 let d = d0 in
40282 let l = l0 in
40283 let s = s0 in
40284
40285 # 582 "parser_cocci_menhir.mly"
40286 ( let (nm,pure,clt) = s in
40287 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
40288 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
40289 # 40290 "parser_cocci_menhir.ml"
40290
40291 in
40292
40293 # 595 "parser_cocci_menhir.mly"
40294 ( ty )
40295 # 40296 "parser_cocci_menhir.ml"
40296
40297 in
40298 let cv =
40299 let x = x0 in
40300
40301 # 41 "standard.mly"
40302 ( Some x )
40303 # 40304 "parser_cocci_menhir.ml"
40304
40305 in
40306
40307 # 612 "parser_cocci_menhir.mly"
40308 ( P.pointerify (P.make_cv cv ty) m )
40309 # 40310 "parser_cocci_menhir.ml"
40310 in
40311 _menhir_env.MenhirLib.EngineTypes.stack <- {
40312 MenhirLib.EngineTypes.state = _menhir_s;
40313 MenhirLib.EngineTypes.semv = Obj.repr _v;
40314 MenhirLib.EngineTypes.startp = _startpos;
40315 MenhirLib.EngineTypes.endp = _endpos;
40316 MenhirLib.EngineTypes.next = _menhir_stack;
40317 });
40318 (fun _menhir_env ->
40319 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40320 let {
40321 MenhirLib.EngineTypes.semv = m;
40322 MenhirLib.EngineTypes.startp = _startpos_m_;
40323 MenhirLib.EngineTypes.endp = _endpos_m_;
40324 MenhirLib.EngineTypes.next = {
40325 MenhirLib.EngineTypes.semv = p00;
40326 MenhirLib.EngineTypes.startp = _startpos_p00_;
40327 MenhirLib.EngineTypes.endp = _endpos_p00_;
40328 MenhirLib.EngineTypes.next = {
40329 MenhirLib.EngineTypes.state = _menhir_s;
40330 MenhirLib.EngineTypes.semv = x0;
40331 MenhirLib.EngineTypes.startp = _startpos_x0_;
40332 MenhirLib.EngineTypes.endp = _endpos_x0_;
40333 MenhirLib.EngineTypes.next = _menhir_stack;
40334 };
40335 };
40336 } = _menhir_stack in
40337 let m : 'tv_list_TMul_ = Obj.magic m in
40338 let p00 : (
40339 # 61 "parser_cocci_menhir.mly"
40340 (string * Data.clt)
40341 # 40342 "parser_cocci_menhir.ml"
40342 ) = Obj.magic p00 in
40343 let x0 : 'tv_const_vol = Obj.magic x0 in
40344 let _startpos = _startpos_x0_ in
40345 let _endpos = _endpos_m_ in
40346 let _v : 'tv_typedef_ctype = let ty =
40347 let p0 = p00 in
40348 let ty =
40349 let p = p0 in
40350
40351 # 586 "parser_cocci_menhir.mly"
40352 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
40353 # 40354 "parser_cocci_menhir.ml"
40354
40355 in
40356
40357 # 595 "parser_cocci_menhir.mly"
40358 ( ty )
40359 # 40360 "parser_cocci_menhir.ml"
40360
40361 in
40362 let cv =
40363 let x = x0 in
40364
40365 # 41 "standard.mly"
40366 ( Some x )
40367 # 40368 "parser_cocci_menhir.ml"
40368
40369 in
40370
40371 # 612 "parser_cocci_menhir.mly"
40372 ( P.pointerify (P.make_cv cv ty) m )
40373 # 40374 "parser_cocci_menhir.ml"
40374 in
40375 _menhir_env.MenhirLib.EngineTypes.stack <- {
40376 MenhirLib.EngineTypes.state = _menhir_s;
40377 MenhirLib.EngineTypes.semv = Obj.repr _v;
40378 MenhirLib.EngineTypes.startp = _startpos;
40379 MenhirLib.EngineTypes.endp = _endpos;
40380 MenhirLib.EngineTypes.next = _menhir_stack;
40381 });
40382 (fun _menhir_env ->
40383 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40384 let {
40385 MenhirLib.EngineTypes.semv = rp;
40386 MenhirLib.EngineTypes.startp = _startpos_rp_;
40387 MenhirLib.EngineTypes.endp = _endpos_rp_;
40388 MenhirLib.EngineTypes.next = {
40389 MenhirLib.EngineTypes.semv = t;
40390 MenhirLib.EngineTypes.startp = _startpos_t_;
40391 MenhirLib.EngineTypes.endp = _endpos_t_;
40392 MenhirLib.EngineTypes.next = {
40393 MenhirLib.EngineTypes.state = _menhir_s;
40394 MenhirLib.EngineTypes.semv = lp;
40395 MenhirLib.EngineTypes.startp = _startpos_lp_;
40396 MenhirLib.EngineTypes.endp = _endpos_lp_;
40397 MenhirLib.EngineTypes.next = _menhir_stack;
40398 };
40399 };
40400 } = _menhir_stack in
40401 let rp : (
40402 # 80 "parser_cocci_menhir.mly"
40403 (Data.clt)
40404 # 40405 "parser_cocci_menhir.ml"
40405 ) = Obj.magic rp in
40406 let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
40407 let lp : (
40408 # 79 "parser_cocci_menhir.mly"
40409 (Data.clt)
40410 # 40411 "parser_cocci_menhir.ml"
40411 ) = Obj.magic lp in
40412 let _startpos = _startpos_lp_ in
40413 let _endpos = _endpos_rp_ in
40414 let _v : 'tv_typedef_ctype =
40415 # 614 "parser_cocci_menhir.mly"
40416 ( let (mids,code) = t in
40417 Ast0.wrap
40418 (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
40419 # 40420 "parser_cocci_menhir.ml"
40420 in
40421 _menhir_env.MenhirLib.EngineTypes.stack <- {
40422 MenhirLib.EngineTypes.state = _menhir_s;
40423 MenhirLib.EngineTypes.semv = Obj.repr _v;
40424 MenhirLib.EngineTypes.startp = _startpos;
40425 MenhirLib.EngineTypes.endp = _endpos;
40426 MenhirLib.EngineTypes.next = _menhir_stack;
40427 });
40428 (fun _menhir_env ->
40429 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40430 let {
40431 MenhirLib.EngineTypes.state = _menhir_s;
40432 MenhirLib.EngineTypes.semv = _1;
40433 MenhirLib.EngineTypes.startp = _startpos__1_;
40434 MenhirLib.EngineTypes.endp = _endpos__1_;
40435 MenhirLib.EngineTypes.next = _menhir_stack;
40436 } = _menhir_stack in
40437 let _1 : 'tv_pure_ident = Obj.magic _1 in
40438 let _startpos = _startpos__1_ in
40439 let _endpos = _endpos__1_ in
40440 let _v : 'tv_typedef_ident =
40441 # 1724 "parser_cocci_menhir.mly"
40442 ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) )
40443 # 40444 "parser_cocci_menhir.ml"
40444 in
40445 _menhir_env.MenhirLib.EngineTypes.stack <- {
40446 MenhirLib.EngineTypes.state = _menhir_s;
40447 MenhirLib.EngineTypes.semv = Obj.repr _v;
40448 MenhirLib.EngineTypes.startp = _startpos;
40449 MenhirLib.EngineTypes.endp = _endpos;
40450 MenhirLib.EngineTypes.next = _menhir_stack;
40451 });
40452 (fun _menhir_env ->
40453 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40454 let {
40455 MenhirLib.EngineTypes.state = _menhir_s;
40456 MenhirLib.EngineTypes.semv = _1;
40457 MenhirLib.EngineTypes.startp = _startpos__1_;
40458 MenhirLib.EngineTypes.endp = _endpos__1_;
40459 MenhirLib.EngineTypes.next = _menhir_stack;
40460 } = _menhir_stack in
40461 let _1 : (
40462 # 67 "parser_cocci_menhir.mly"
40463 (Parse_aux.info)
40464 # 40465 "parser_cocci_menhir.ml"
40465 ) = Obj.magic _1 in
40466 let _startpos = _startpos__1_ in
40467 let _endpos = _endpos__1_ in
40468 let _v : 'tv_typedef_ident =
40469 # 1726 "parser_cocci_menhir.mly"
40470 ( let (nm,pure,clt) = _1 in
40471 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
40472 # 40473 "parser_cocci_menhir.ml"
40473 in
40474 _menhir_env.MenhirLib.EngineTypes.stack <- {
40475 MenhirLib.EngineTypes.state = _menhir_s;
40476 MenhirLib.EngineTypes.semv = Obj.repr _v;
40477 MenhirLib.EngineTypes.startp = _startpos;
40478 MenhirLib.EngineTypes.endp = _endpos;
40479 MenhirLib.EngineTypes.next = _menhir_stack;
40480 });
40481 (fun _menhir_env ->
40482 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40483 let {
40484 MenhirLib.EngineTypes.state = _menhir_s;
40485 MenhirLib.EngineTypes.semv = _1;
40486 MenhirLib.EngineTypes.startp = _startpos__1_;
40487 MenhirLib.EngineTypes.endp = _endpos__1_;
40488 MenhirLib.EngineTypes.next = _menhir_stack;
40489 } = _menhir_stack in
40490 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
40491 let _startpos = _startpos__1_ in
40492 let _endpos = _endpos__1_ in
40493 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
40494 # 1362 "parser_cocci_menhir.mly"
40495 ( _1 )
40496 # 40497 "parser_cocci_menhir.ml"
40497 in
40498 _menhir_env.MenhirLib.EngineTypes.stack <- {
40499 MenhirLib.EngineTypes.state = _menhir_s;
40500 MenhirLib.EngineTypes.semv = Obj.repr _v;
40501 MenhirLib.EngineTypes.startp = _startpos;
40502 MenhirLib.EngineTypes.endp = _endpos;
40503 MenhirLib.EngineTypes.next = _menhir_stack;
40504 });
40505 (fun _menhir_env ->
40506 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40507 let {
40508 MenhirLib.EngineTypes.semv = _2;
40509 MenhirLib.EngineTypes.startp = _startpos__2_;
40510 MenhirLib.EngineTypes.endp = _endpos__2_;
40511 MenhirLib.EngineTypes.next = {
40512 MenhirLib.EngineTypes.state = _menhir_s;
40513 MenhirLib.EngineTypes.semv = _1;
40514 MenhirLib.EngineTypes.startp = _startpos__1_;
40515 MenhirLib.EngineTypes.endp = _endpos__1_;
40516 MenhirLib.EngineTypes.next = _menhir_stack;
40517 };
40518 } = _menhir_stack in
40519 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
40520 let _1 : (
40521 # 88 "parser_cocci_menhir.mly"
40522 (Data.clt)
40523 # 40524 "parser_cocci_menhir.ml"
40524 ) = Obj.magic _1 in
40525 let _startpos = _startpos__1_ in
40526 let _endpos = _endpos__2_ in
40527 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
40528 # 1364 "parser_cocci_menhir.mly"
40529 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
40530 # 40531 "parser_cocci_menhir.ml"
40531 in
40532 _menhir_env.MenhirLib.EngineTypes.stack <- {
40533 MenhirLib.EngineTypes.state = _menhir_s;
40534 MenhirLib.EngineTypes.semv = Obj.repr _v;
40535 MenhirLib.EngineTypes.startp = _startpos;
40536 MenhirLib.EngineTypes.endp = _endpos;
40537 MenhirLib.EngineTypes.next = _menhir_stack;
40538 });
40539 (fun _menhir_env ->
40540 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40541 let {
40542 MenhirLib.EngineTypes.semv = _2;
40543 MenhirLib.EngineTypes.startp = _startpos__2_;
40544 MenhirLib.EngineTypes.endp = _endpos__2_;
40545 MenhirLib.EngineTypes.next = {
40546 MenhirLib.EngineTypes.state = _menhir_s;
40547 MenhirLib.EngineTypes.semv = _1;
40548 MenhirLib.EngineTypes.startp = _startpos__1_;
40549 MenhirLib.EngineTypes.endp = _endpos__1_;
40550 MenhirLib.EngineTypes.next = _menhir_stack;
40551 };
40552 } = _menhir_stack in
40553 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
40554 let _1 : (
40555 # 88 "parser_cocci_menhir.mly"
40556 (Data.clt)
40557 # 40558 "parser_cocci_menhir.ml"
40558 ) = Obj.magic _1 in
40559 let _startpos = _startpos__1_ in
40560 let _endpos = _endpos__2_ in
40561 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
40562 # 1366 "parser_cocci_menhir.mly"
40563 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
40564 # 40565 "parser_cocci_menhir.ml"
40565 in
40566 _menhir_env.MenhirLib.EngineTypes.stack <- {
40567 MenhirLib.EngineTypes.state = _menhir_s;
40568 MenhirLib.EngineTypes.semv = Obj.repr _v;
40569 MenhirLib.EngineTypes.startp = _startpos;
40570 MenhirLib.EngineTypes.endp = _endpos;
40571 MenhirLib.EngineTypes.next = _menhir_stack;
40572 });
40573 (fun _menhir_env ->
40574 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40575 let {
40576 MenhirLib.EngineTypes.semv = _2;
40577 MenhirLib.EngineTypes.startp = _startpos__2_;
40578 MenhirLib.EngineTypes.endp = _endpos__2_;
40579 MenhirLib.EngineTypes.next = {
40580 MenhirLib.EngineTypes.state = _menhir_s;
40581 MenhirLib.EngineTypes.semv = _1;
40582 MenhirLib.EngineTypes.startp = _startpos__1_;
40583 MenhirLib.EngineTypes.endp = _endpos__1_;
40584 MenhirLib.EngineTypes.next = _menhir_stack;
40585 };
40586 } = _menhir_stack in
40587 let _2 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _2 in
40588 let _1 : 'tv_unary_op = Obj.magic _1 in
40589 let _startpos = _startpos__1_ in
40590 let _endpos = _endpos__2_ in
40591 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
40592 # 1368 "parser_cocci_menhir.mly"
40593 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
40594 # 40595 "parser_cocci_menhir.ml"
40595 in
40596 _menhir_env.MenhirLib.EngineTypes.stack <- {
40597 MenhirLib.EngineTypes.state = _menhir_s;
40598 MenhirLib.EngineTypes.semv = Obj.repr _v;
40599 MenhirLib.EngineTypes.startp = _startpos;
40600 MenhirLib.EngineTypes.endp = _endpos;
40601 MenhirLib.EngineTypes.next = _menhir_stack;
40602 });
40603 (fun _menhir_env ->
40604 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40605 let {
40606 MenhirLib.EngineTypes.semv = _2;
40607 MenhirLib.EngineTypes.startp = _startpos__2_;
40608 MenhirLib.EngineTypes.endp = _endpos__2_;
40609 MenhirLib.EngineTypes.next = {
40610 MenhirLib.EngineTypes.state = _menhir_s;
40611 MenhirLib.EngineTypes.semv = _1;
40612 MenhirLib.EngineTypes.startp = _startpos__1_;
40613 MenhirLib.EngineTypes.endp = _endpos__1_;
40614 MenhirLib.EngineTypes.next = _menhir_stack;
40615 };
40616 } = _menhir_stack in
40617 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
40618 let _1 : (
40619 # 79 "parser_cocci_menhir.mly"
40620 (Data.clt)
40621 # 40622 "parser_cocci_menhir.ml"
40622 ) = Obj.magic _1 in
40623 let _startpos = _startpos__1_ in
40624 let _endpos = _endpos__2_ in
40625 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
40626 # 1370 "parser_cocci_menhir.mly"
40627 ( let mcode = P.clt2mcode Ast.Not _1 in
40628 Ast0.wrap(Ast0.Unary(_2, mcode)) )
40629 # 40630 "parser_cocci_menhir.ml"
40630 in
40631 _menhir_env.MenhirLib.EngineTypes.stack <- {
40632 MenhirLib.EngineTypes.state = _menhir_s;
40633 MenhirLib.EngineTypes.semv = Obj.repr _v;
40634 MenhirLib.EngineTypes.startp = _startpos;
40635 MenhirLib.EngineTypes.endp = _endpos;
40636 MenhirLib.EngineTypes.next = _menhir_stack;
40637 });
40638 (fun _menhir_env ->
40639 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40640 let {
40641 MenhirLib.EngineTypes.semv = _2;
40642 MenhirLib.EngineTypes.startp = _startpos__2_;
40643 MenhirLib.EngineTypes.endp = _endpos__2_;
40644 MenhirLib.EngineTypes.next = {
40645 MenhirLib.EngineTypes.state = _menhir_s;
40646 MenhirLib.EngineTypes.semv = _1;
40647 MenhirLib.EngineTypes.startp = _startpos__1_;
40648 MenhirLib.EngineTypes.endp = _endpos__1_;
40649 MenhirLib.EngineTypes.next = _menhir_stack;
40650 };
40651 } = _menhir_stack in
40652 let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
40653 let _1 : (
40654 # 60 "parser_cocci_menhir.mly"
40655 (Data.clt)
40656 # 40657 "parser_cocci_menhir.ml"
40657 ) = Obj.magic _1 in
40658 let _startpos = _startpos__1_ in
40659 let _endpos = _endpos__2_ in
40660 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
40661 # 1373 "parser_cocci_menhir.mly"
40662 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
40663 # 40664 "parser_cocci_menhir.ml"
40664 in
40665 _menhir_env.MenhirLib.EngineTypes.stack <- {
40666 MenhirLib.EngineTypes.state = _menhir_s;
40667 MenhirLib.EngineTypes.semv = Obj.repr _v;
40668 MenhirLib.EngineTypes.startp = _startpos;
40669 MenhirLib.EngineTypes.endp = _endpos;
40670 MenhirLib.EngineTypes.next = _menhir_stack;
40671 });
40672 (fun _menhir_env ->
40673 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40674 let {
40675 MenhirLib.EngineTypes.semv = rp;
40676 MenhirLib.EngineTypes.startp = _startpos_rp_;
40677 MenhirLib.EngineTypes.endp = _endpos_rp_;
40678 MenhirLib.EngineTypes.next = {
40679 MenhirLib.EngineTypes.semv = t;
40680 MenhirLib.EngineTypes.startp = _startpos_t_;
40681 MenhirLib.EngineTypes.endp = _endpos_t_;
40682 MenhirLib.EngineTypes.next = {
40683 MenhirLib.EngineTypes.semv = lp;
40684 MenhirLib.EngineTypes.startp = _startpos_lp_;
40685 MenhirLib.EngineTypes.endp = _endpos_lp_;
40686 MenhirLib.EngineTypes.next = {
40687 MenhirLib.EngineTypes.state = _menhir_s;
40688 MenhirLib.EngineTypes.semv = s;
40689 MenhirLib.EngineTypes.startp = _startpos_s_;
40690 MenhirLib.EngineTypes.endp = _endpos_s_;
40691 MenhirLib.EngineTypes.next = _menhir_stack;
40692 };
40693 };
40694 };
40695 } = _menhir_stack in
40696 let rp : (
40697 # 80 "parser_cocci_menhir.mly"
40698 (Data.clt)
40699 # 40700 "parser_cocci_menhir.ml"
40700 ) = Obj.magic rp in
40701 let t : 'tv_ctype = Obj.magic t in
40702 let lp : (
40703 # 79 "parser_cocci_menhir.mly"
40704 (Data.clt)
40705 # 40706 "parser_cocci_menhir.ml"
40706 ) = Obj.magic lp in
40707 let s : (
40708 # 60 "parser_cocci_menhir.mly"
40709 (Data.clt)
40710 # 40711 "parser_cocci_menhir.ml"
40711 ) = Obj.magic s in
40712 let _startpos = _startpos_s_ in
40713 let _endpos = _endpos_rp_ in
40714 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
40715 # 1375 "parser_cocci_menhir.mly"
40716 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
40717 P.clt2mcode "(" lp,t,
40718 P.clt2mcode ")" rp)) )
40719 # 40720 "parser_cocci_menhir.ml"
40720 in
40721 _menhir_env.MenhirLib.EngineTypes.stack <- {
40722 MenhirLib.EngineTypes.state = _menhir_s;
40723 MenhirLib.EngineTypes.semv = Obj.repr _v;
40724 MenhirLib.EngineTypes.startp = _startpos;
40725 MenhirLib.EngineTypes.endp = _endpos;
40726 MenhirLib.EngineTypes.next = _menhir_stack;
40727 });
40728 (fun _menhir_env ->
40729 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40730 let {
40731 MenhirLib.EngineTypes.state = _menhir_s;
40732 MenhirLib.EngineTypes.semv = _1;
40733 MenhirLib.EngineTypes.startp = _startpos__1_;
40734 MenhirLib.EngineTypes.endp = _endpos__1_;
40735 MenhirLib.EngineTypes.next = _menhir_stack;
40736 } = _menhir_stack in
40737 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
40738 let _startpos = _startpos__1_ in
40739 let _endpos = _endpos__1_ in
40740 let _v : 'tv_unary_expr_eexpr_invalid_ =
40741 # 1362 "parser_cocci_menhir.mly"
40742 ( _1 )
40743 # 40744 "parser_cocci_menhir.ml"
40744 in
40745 _menhir_env.MenhirLib.EngineTypes.stack <- {
40746 MenhirLib.EngineTypes.state = _menhir_s;
40747 MenhirLib.EngineTypes.semv = Obj.repr _v;
40748 MenhirLib.EngineTypes.startp = _startpos;
40749 MenhirLib.EngineTypes.endp = _endpos;
40750 MenhirLib.EngineTypes.next = _menhir_stack;
40751 });
40752 (fun _menhir_env ->
40753 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40754 let {
40755 MenhirLib.EngineTypes.semv = _2;
40756 MenhirLib.EngineTypes.startp = _startpos__2_;
40757 MenhirLib.EngineTypes.endp = _endpos__2_;
40758 MenhirLib.EngineTypes.next = {
40759 MenhirLib.EngineTypes.state = _menhir_s;
40760 MenhirLib.EngineTypes.semv = _1;
40761 MenhirLib.EngineTypes.startp = _startpos__1_;
40762 MenhirLib.EngineTypes.endp = _endpos__1_;
40763 MenhirLib.EngineTypes.next = _menhir_stack;
40764 };
40765 } = _menhir_stack in
40766 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
40767 let _1 : (
40768 # 88 "parser_cocci_menhir.mly"
40769 (Data.clt)
40770 # 40771 "parser_cocci_menhir.ml"
40771 ) = Obj.magic _1 in
40772 let _startpos = _startpos__1_ in
40773 let _endpos = _endpos__2_ in
40774 let _v : 'tv_unary_expr_eexpr_invalid_ =
40775 # 1364 "parser_cocci_menhir.mly"
40776 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
40777 # 40778 "parser_cocci_menhir.ml"
40778 in
40779 _menhir_env.MenhirLib.EngineTypes.stack <- {
40780 MenhirLib.EngineTypes.state = _menhir_s;
40781 MenhirLib.EngineTypes.semv = Obj.repr _v;
40782 MenhirLib.EngineTypes.startp = _startpos;
40783 MenhirLib.EngineTypes.endp = _endpos;
40784 MenhirLib.EngineTypes.next = _menhir_stack;
40785 });
40786 (fun _menhir_env ->
40787 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40788 let {
40789 MenhirLib.EngineTypes.semv = _2;
40790 MenhirLib.EngineTypes.startp = _startpos__2_;
40791 MenhirLib.EngineTypes.endp = _endpos__2_;
40792 MenhirLib.EngineTypes.next = {
40793 MenhirLib.EngineTypes.state = _menhir_s;
40794 MenhirLib.EngineTypes.semv = _1;
40795 MenhirLib.EngineTypes.startp = _startpos__1_;
40796 MenhirLib.EngineTypes.endp = _endpos__1_;
40797 MenhirLib.EngineTypes.next = _menhir_stack;
40798 };
40799 } = _menhir_stack in
40800 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
40801 let _1 : (
40802 # 88 "parser_cocci_menhir.mly"
40803 (Data.clt)
40804 # 40805 "parser_cocci_menhir.ml"
40805 ) = Obj.magic _1 in
40806 let _startpos = _startpos__1_ in
40807 let _endpos = _endpos__2_ in
40808 let _v : 'tv_unary_expr_eexpr_invalid_ =
40809 # 1366 "parser_cocci_menhir.mly"
40810 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
40811 # 40812 "parser_cocci_menhir.ml"
40812 in
40813 _menhir_env.MenhirLib.EngineTypes.stack <- {
40814 MenhirLib.EngineTypes.state = _menhir_s;
40815 MenhirLib.EngineTypes.semv = Obj.repr _v;
40816 MenhirLib.EngineTypes.startp = _startpos;
40817 MenhirLib.EngineTypes.endp = _endpos;
40818 MenhirLib.EngineTypes.next = _menhir_stack;
40819 });
40820 (fun _menhir_env ->
40821 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40822 let {
40823 MenhirLib.EngineTypes.semv = _2;
40824 MenhirLib.EngineTypes.startp = _startpos__2_;
40825 MenhirLib.EngineTypes.endp = _endpos__2_;
40826 MenhirLib.EngineTypes.next = {
40827 MenhirLib.EngineTypes.state = _menhir_s;
40828 MenhirLib.EngineTypes.semv = _1;
40829 MenhirLib.EngineTypes.startp = _startpos__1_;
40830 MenhirLib.EngineTypes.endp = _endpos__1_;
40831 MenhirLib.EngineTypes.next = _menhir_stack;
40832 };
40833 } = _menhir_stack in
40834 let _2 : 'tv_cast_expr_eexpr_invalid_ = Obj.magic _2 in
40835 let _1 : 'tv_unary_op = Obj.magic _1 in
40836 let _startpos = _startpos__1_ in
40837 let _endpos = _endpos__2_ in
40838 let _v : 'tv_unary_expr_eexpr_invalid_ =
40839 # 1368 "parser_cocci_menhir.mly"
40840 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
40841 # 40842 "parser_cocci_menhir.ml"
40842 in
40843 _menhir_env.MenhirLib.EngineTypes.stack <- {
40844 MenhirLib.EngineTypes.state = _menhir_s;
40845 MenhirLib.EngineTypes.semv = Obj.repr _v;
40846 MenhirLib.EngineTypes.startp = _startpos;
40847 MenhirLib.EngineTypes.endp = _endpos;
40848 MenhirLib.EngineTypes.next = _menhir_stack;
40849 });
40850 (fun _menhir_env ->
40851 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40852 let {
40853 MenhirLib.EngineTypes.semv = _2;
40854 MenhirLib.EngineTypes.startp = _startpos__2_;
40855 MenhirLib.EngineTypes.endp = _endpos__2_;
40856 MenhirLib.EngineTypes.next = {
40857 MenhirLib.EngineTypes.state = _menhir_s;
40858 MenhirLib.EngineTypes.semv = _1;
40859 MenhirLib.EngineTypes.startp = _startpos__1_;
40860 MenhirLib.EngineTypes.endp = _endpos__1_;
40861 MenhirLib.EngineTypes.next = _menhir_stack;
40862 };
40863 } = _menhir_stack in
40864 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
40865 let _1 : (
40866 # 79 "parser_cocci_menhir.mly"
40867 (Data.clt)
40868 # 40869 "parser_cocci_menhir.ml"
40869 ) = Obj.magic _1 in
40870 let _startpos = _startpos__1_ in
40871 let _endpos = _endpos__2_ in
40872 let _v : 'tv_unary_expr_eexpr_invalid_ =
40873 # 1370 "parser_cocci_menhir.mly"
40874 ( let mcode = P.clt2mcode Ast.Not _1 in
40875 Ast0.wrap(Ast0.Unary(_2, mcode)) )
40876 # 40877 "parser_cocci_menhir.ml"
40877 in
40878 _menhir_env.MenhirLib.EngineTypes.stack <- {
40879 MenhirLib.EngineTypes.state = _menhir_s;
40880 MenhirLib.EngineTypes.semv = Obj.repr _v;
40881 MenhirLib.EngineTypes.startp = _startpos;
40882 MenhirLib.EngineTypes.endp = _endpos;
40883 MenhirLib.EngineTypes.next = _menhir_stack;
40884 });
40885 (fun _menhir_env ->
40886 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40887 let {
40888 MenhirLib.EngineTypes.semv = _2;
40889 MenhirLib.EngineTypes.startp = _startpos__2_;
40890 MenhirLib.EngineTypes.endp = _endpos__2_;
40891 MenhirLib.EngineTypes.next = {
40892 MenhirLib.EngineTypes.state = _menhir_s;
40893 MenhirLib.EngineTypes.semv = _1;
40894 MenhirLib.EngineTypes.startp = _startpos__1_;
40895 MenhirLib.EngineTypes.endp = _endpos__1_;
40896 MenhirLib.EngineTypes.next = _menhir_stack;
40897 };
40898 } = _menhir_stack in
40899 let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
40900 let _1 : (
40901 # 60 "parser_cocci_menhir.mly"
40902 (Data.clt)
40903 # 40904 "parser_cocci_menhir.ml"
40904 ) = Obj.magic _1 in
40905 let _startpos = _startpos__1_ in
40906 let _endpos = _endpos__2_ in
40907 let _v : 'tv_unary_expr_eexpr_invalid_ =
40908 # 1373 "parser_cocci_menhir.mly"
40909 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
40910 # 40911 "parser_cocci_menhir.ml"
40911 in
40912 _menhir_env.MenhirLib.EngineTypes.stack <- {
40913 MenhirLib.EngineTypes.state = _menhir_s;
40914 MenhirLib.EngineTypes.semv = Obj.repr _v;
40915 MenhirLib.EngineTypes.startp = _startpos;
40916 MenhirLib.EngineTypes.endp = _endpos;
40917 MenhirLib.EngineTypes.next = _menhir_stack;
40918 });
40919 (fun _menhir_env ->
40920 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40921 let {
40922 MenhirLib.EngineTypes.semv = rp;
40923 MenhirLib.EngineTypes.startp = _startpos_rp_;
40924 MenhirLib.EngineTypes.endp = _endpos_rp_;
40925 MenhirLib.EngineTypes.next = {
40926 MenhirLib.EngineTypes.semv = t;
40927 MenhirLib.EngineTypes.startp = _startpos_t_;
40928 MenhirLib.EngineTypes.endp = _endpos_t_;
40929 MenhirLib.EngineTypes.next = {
40930 MenhirLib.EngineTypes.semv = lp;
40931 MenhirLib.EngineTypes.startp = _startpos_lp_;
40932 MenhirLib.EngineTypes.endp = _endpos_lp_;
40933 MenhirLib.EngineTypes.next = {
40934 MenhirLib.EngineTypes.state = _menhir_s;
40935 MenhirLib.EngineTypes.semv = s;
40936 MenhirLib.EngineTypes.startp = _startpos_s_;
40937 MenhirLib.EngineTypes.endp = _endpos_s_;
40938 MenhirLib.EngineTypes.next = _menhir_stack;
40939 };
40940 };
40941 };
40942 } = _menhir_stack in
40943 let rp : (
40944 # 80 "parser_cocci_menhir.mly"
40945 (Data.clt)
40946 # 40947 "parser_cocci_menhir.ml"
40947 ) = Obj.magic rp in
40948 let t : 'tv_ctype = Obj.magic t in
40949 let lp : (
40950 # 79 "parser_cocci_menhir.mly"
40951 (Data.clt)
40952 # 40953 "parser_cocci_menhir.ml"
40953 ) = Obj.magic lp in
40954 let s : (
40955 # 60 "parser_cocci_menhir.mly"
40956 (Data.clt)
40957 # 40958 "parser_cocci_menhir.ml"
40958 ) = Obj.magic s in
40959 let _startpos = _startpos_s_ in
40960 let _endpos = _endpos_rp_ in
40961 let _v : 'tv_unary_expr_eexpr_invalid_ =
40962 # 1375 "parser_cocci_menhir.mly"
40963 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
40964 P.clt2mcode "(" lp,t,
40965 P.clt2mcode ")" rp)) )
40966 # 40967 "parser_cocci_menhir.ml"
40967 in
40968 _menhir_env.MenhirLib.EngineTypes.stack <- {
40969 MenhirLib.EngineTypes.state = _menhir_s;
40970 MenhirLib.EngineTypes.semv = Obj.repr _v;
40971 MenhirLib.EngineTypes.startp = _startpos;
40972 MenhirLib.EngineTypes.endp = _endpos;
40973 MenhirLib.EngineTypes.next = _menhir_stack;
40974 });
40975 (fun _menhir_env ->
40976 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40977 let {
40978 MenhirLib.EngineTypes.state = _menhir_s;
40979 MenhirLib.EngineTypes.semv = _1;
40980 MenhirLib.EngineTypes.startp = _startpos__1_;
40981 MenhirLib.EngineTypes.endp = _endpos__1_;
40982 MenhirLib.EngineTypes.next = _menhir_stack;
40983 } = _menhir_stack in
40984 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
40985 let _startpos = _startpos__1_ in
40986 let _endpos = _endpos__1_ in
40987 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
40988 # 1362 "parser_cocci_menhir.mly"
40989 ( _1 )
40990 # 40991 "parser_cocci_menhir.ml"
40991 in
40992 _menhir_env.MenhirLib.EngineTypes.stack <- {
40993 MenhirLib.EngineTypes.state = _menhir_s;
40994 MenhirLib.EngineTypes.semv = Obj.repr _v;
40995 MenhirLib.EngineTypes.startp = _startpos;
40996 MenhirLib.EngineTypes.endp = _endpos;
40997 MenhirLib.EngineTypes.next = _menhir_stack;
40998 });
40999 (fun _menhir_env ->
41000 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41001 let {
41002 MenhirLib.EngineTypes.semv = _2;
41003 MenhirLib.EngineTypes.startp = _startpos__2_;
41004 MenhirLib.EngineTypes.endp = _endpos__2_;
41005 MenhirLib.EngineTypes.next = {
41006 MenhirLib.EngineTypes.state = _menhir_s;
41007 MenhirLib.EngineTypes.semv = _1;
41008 MenhirLib.EngineTypes.startp = _startpos__1_;
41009 MenhirLib.EngineTypes.endp = _endpos__1_;
41010 MenhirLib.EngineTypes.next = _menhir_stack;
41011 };
41012 } = _menhir_stack in
41013 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
41014 let _1 : (
41015 # 88 "parser_cocci_menhir.mly"
41016 (Data.clt)
41017 # 41018 "parser_cocci_menhir.ml"
41018 ) = Obj.magic _1 in
41019 let _startpos = _startpos__1_ in
41020 let _endpos = _endpos__2_ in
41021 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
41022 # 1364 "parser_cocci_menhir.mly"
41023 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
41024 # 41025 "parser_cocci_menhir.ml"
41025 in
41026 _menhir_env.MenhirLib.EngineTypes.stack <- {
41027 MenhirLib.EngineTypes.state = _menhir_s;
41028 MenhirLib.EngineTypes.semv = Obj.repr _v;
41029 MenhirLib.EngineTypes.startp = _startpos;
41030 MenhirLib.EngineTypes.endp = _endpos;
41031 MenhirLib.EngineTypes.next = _menhir_stack;
41032 });
41033 (fun _menhir_env ->
41034 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41035 let {
41036 MenhirLib.EngineTypes.semv = _2;
41037 MenhirLib.EngineTypes.startp = _startpos__2_;
41038 MenhirLib.EngineTypes.endp = _endpos__2_;
41039 MenhirLib.EngineTypes.next = {
41040 MenhirLib.EngineTypes.state = _menhir_s;
41041 MenhirLib.EngineTypes.semv = _1;
41042 MenhirLib.EngineTypes.startp = _startpos__1_;
41043 MenhirLib.EngineTypes.endp = _endpos__1_;
41044 MenhirLib.EngineTypes.next = _menhir_stack;
41045 };
41046 } = _menhir_stack in
41047 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
41048 let _1 : (
41049 # 88 "parser_cocci_menhir.mly"
41050 (Data.clt)
41051 # 41052 "parser_cocci_menhir.ml"
41052 ) = Obj.magic _1 in
41053 let _startpos = _startpos__1_ in
41054 let _endpos = _endpos__2_ in
41055 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
41056 # 1366 "parser_cocci_menhir.mly"
41057 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
41058 # 41059 "parser_cocci_menhir.ml"
41059 in
41060 _menhir_env.MenhirLib.EngineTypes.stack <- {
41061 MenhirLib.EngineTypes.state = _menhir_s;
41062 MenhirLib.EngineTypes.semv = Obj.repr _v;
41063 MenhirLib.EngineTypes.startp = _startpos;
41064 MenhirLib.EngineTypes.endp = _endpos;
41065 MenhirLib.EngineTypes.next = _menhir_stack;
41066 });
41067 (fun _menhir_env ->
41068 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41069 let {
41070 MenhirLib.EngineTypes.semv = _2;
41071 MenhirLib.EngineTypes.startp = _startpos__2_;
41072 MenhirLib.EngineTypes.endp = _endpos__2_;
41073 MenhirLib.EngineTypes.next = {
41074 MenhirLib.EngineTypes.state = _menhir_s;
41075 MenhirLib.EngineTypes.semv = _1;
41076 MenhirLib.EngineTypes.startp = _startpos__1_;
41077 MenhirLib.EngineTypes.endp = _endpos__1_;
41078 MenhirLib.EngineTypes.next = _menhir_stack;
41079 };
41080 } = _menhir_stack in
41081 let _2 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _2 in
41082 let _1 : 'tv_unary_op = Obj.magic _1 in
41083 let _startpos = _startpos__1_ in
41084 let _endpos = _endpos__2_ in
41085 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
41086 # 1368 "parser_cocci_menhir.mly"
41087 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
41088 # 41089 "parser_cocci_menhir.ml"
41089 in
41090 _menhir_env.MenhirLib.EngineTypes.stack <- {
41091 MenhirLib.EngineTypes.state = _menhir_s;
41092 MenhirLib.EngineTypes.semv = Obj.repr _v;
41093 MenhirLib.EngineTypes.startp = _startpos;
41094 MenhirLib.EngineTypes.endp = _endpos;
41095 MenhirLib.EngineTypes.next = _menhir_stack;
41096 });
41097 (fun _menhir_env ->
41098 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41099 let {
41100 MenhirLib.EngineTypes.semv = _2;
41101 MenhirLib.EngineTypes.startp = _startpos__2_;
41102 MenhirLib.EngineTypes.endp = _endpos__2_;
41103 MenhirLib.EngineTypes.next = {
41104 MenhirLib.EngineTypes.state = _menhir_s;
41105 MenhirLib.EngineTypes.semv = _1;
41106 MenhirLib.EngineTypes.startp = _startpos__1_;
41107 MenhirLib.EngineTypes.endp = _endpos__1_;
41108 MenhirLib.EngineTypes.next = _menhir_stack;
41109 };
41110 } = _menhir_stack in
41111 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
41112 let _1 : (
41113 # 79 "parser_cocci_menhir.mly"
41114 (Data.clt)
41115 # 41116 "parser_cocci_menhir.ml"
41116 ) = Obj.magic _1 in
41117 let _startpos = _startpos__1_ in
41118 let _endpos = _endpos__2_ in
41119 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
41120 # 1370 "parser_cocci_menhir.mly"
41121 ( let mcode = P.clt2mcode Ast.Not _1 in
41122 Ast0.wrap(Ast0.Unary(_2, mcode)) )
41123 # 41124 "parser_cocci_menhir.ml"
41124 in
41125 _menhir_env.MenhirLib.EngineTypes.stack <- {
41126 MenhirLib.EngineTypes.state = _menhir_s;
41127 MenhirLib.EngineTypes.semv = Obj.repr _v;
41128 MenhirLib.EngineTypes.startp = _startpos;
41129 MenhirLib.EngineTypes.endp = _endpos;
41130 MenhirLib.EngineTypes.next = _menhir_stack;
41131 });
41132 (fun _menhir_env ->
41133 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41134 let {
41135 MenhirLib.EngineTypes.semv = _2;
41136 MenhirLib.EngineTypes.startp = _startpos__2_;
41137 MenhirLib.EngineTypes.endp = _endpos__2_;
41138 MenhirLib.EngineTypes.next = {
41139 MenhirLib.EngineTypes.state = _menhir_s;
41140 MenhirLib.EngineTypes.semv = _1;
41141 MenhirLib.EngineTypes.startp = _startpos__1_;
41142 MenhirLib.EngineTypes.endp = _endpos__1_;
41143 MenhirLib.EngineTypes.next = _menhir_stack;
41144 };
41145 } = _menhir_stack in
41146 let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
41147 let _1 : (
41148 # 60 "parser_cocci_menhir.mly"
41149 (Data.clt)
41150 # 41151 "parser_cocci_menhir.ml"
41151 ) = Obj.magic _1 in
41152 let _startpos = _startpos__1_ in
41153 let _endpos = _endpos__2_ in
41154 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
41155 # 1373 "parser_cocci_menhir.mly"
41156 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
41157 # 41158 "parser_cocci_menhir.ml"
41158 in
41159 _menhir_env.MenhirLib.EngineTypes.stack <- {
41160 MenhirLib.EngineTypes.state = _menhir_s;
41161 MenhirLib.EngineTypes.semv = Obj.repr _v;
41162 MenhirLib.EngineTypes.startp = _startpos;
41163 MenhirLib.EngineTypes.endp = _endpos;
41164 MenhirLib.EngineTypes.next = _menhir_stack;
41165 });
41166 (fun _menhir_env ->
41167 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41168 let {
41169 MenhirLib.EngineTypes.semv = rp;
41170 MenhirLib.EngineTypes.startp = _startpos_rp_;
41171 MenhirLib.EngineTypes.endp = _endpos_rp_;
41172 MenhirLib.EngineTypes.next = {
41173 MenhirLib.EngineTypes.semv = t;
41174 MenhirLib.EngineTypes.startp = _startpos_t_;
41175 MenhirLib.EngineTypes.endp = _endpos_t_;
41176 MenhirLib.EngineTypes.next = {
41177 MenhirLib.EngineTypes.semv = lp;
41178 MenhirLib.EngineTypes.startp = _startpos_lp_;
41179 MenhirLib.EngineTypes.endp = _endpos_lp_;
41180 MenhirLib.EngineTypes.next = {
41181 MenhirLib.EngineTypes.state = _menhir_s;
41182 MenhirLib.EngineTypes.semv = s;
41183 MenhirLib.EngineTypes.startp = _startpos_s_;
41184 MenhirLib.EngineTypes.endp = _endpos_s_;
41185 MenhirLib.EngineTypes.next = _menhir_stack;
41186 };
41187 };
41188 };
41189 } = _menhir_stack in
41190 let rp : (
41191 # 80 "parser_cocci_menhir.mly"
41192 (Data.clt)
41193 # 41194 "parser_cocci_menhir.ml"
41194 ) = Obj.magic rp in
41195 let t : 'tv_ctype = Obj.magic t in
41196 let lp : (
41197 # 79 "parser_cocci_menhir.mly"
41198 (Data.clt)
41199 # 41200 "parser_cocci_menhir.ml"
41200 ) = Obj.magic lp in
41201 let s : (
41202 # 60 "parser_cocci_menhir.mly"
41203 (Data.clt)
41204 # 41205 "parser_cocci_menhir.ml"
41205 ) = Obj.magic s in
41206 let _startpos = _startpos_s_ in
41207 let _endpos = _endpos_rp_ in
41208 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
41209 # 1375 "parser_cocci_menhir.mly"
41210 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
41211 P.clt2mcode "(" lp,t,
41212 P.clt2mcode ")" rp)) )
41213 # 41214 "parser_cocci_menhir.ml"
41214 in
41215 _menhir_env.MenhirLib.EngineTypes.stack <- {
41216 MenhirLib.EngineTypes.state = _menhir_s;
41217 MenhirLib.EngineTypes.semv = Obj.repr _v;
41218 MenhirLib.EngineTypes.startp = _startpos;
41219 MenhirLib.EngineTypes.endp = _endpos;
41220 MenhirLib.EngineTypes.next = _menhir_stack;
41221 });
41222 (fun _menhir_env ->
41223 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41224 let {
41225 MenhirLib.EngineTypes.state = _menhir_s;
41226 MenhirLib.EngineTypes.semv = _1;
41227 MenhirLib.EngineTypes.startp = _startpos__1_;
41228 MenhirLib.EngineTypes.endp = _endpos__1_;
41229 MenhirLib.EngineTypes.next = _menhir_stack;
41230 } = _menhir_stack in
41231 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
41232 let _startpos = _startpos__1_ in
41233 let _endpos = _endpos__1_ in
41234 let _v : 'tv_unary_expr_expr_invalid_ =
41235 # 1362 "parser_cocci_menhir.mly"
41236 ( _1 )
41237 # 41238 "parser_cocci_menhir.ml"
41238 in
41239 _menhir_env.MenhirLib.EngineTypes.stack <- {
41240 MenhirLib.EngineTypes.state = _menhir_s;
41241 MenhirLib.EngineTypes.semv = Obj.repr _v;
41242 MenhirLib.EngineTypes.startp = _startpos;
41243 MenhirLib.EngineTypes.endp = _endpos;
41244 MenhirLib.EngineTypes.next = _menhir_stack;
41245 });
41246 (fun _menhir_env ->
41247 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41248 let {
41249 MenhirLib.EngineTypes.semv = _2;
41250 MenhirLib.EngineTypes.startp = _startpos__2_;
41251 MenhirLib.EngineTypes.endp = _endpos__2_;
41252 MenhirLib.EngineTypes.next = {
41253 MenhirLib.EngineTypes.state = _menhir_s;
41254 MenhirLib.EngineTypes.semv = _1;
41255 MenhirLib.EngineTypes.startp = _startpos__1_;
41256 MenhirLib.EngineTypes.endp = _endpos__1_;
41257 MenhirLib.EngineTypes.next = _menhir_stack;
41258 };
41259 } = _menhir_stack in
41260 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
41261 let _1 : (
41262 # 88 "parser_cocci_menhir.mly"
41263 (Data.clt)
41264 # 41265 "parser_cocci_menhir.ml"
41265 ) = Obj.magic _1 in
41266 let _startpos = _startpos__1_ in
41267 let _endpos = _endpos__2_ in
41268 let _v : 'tv_unary_expr_expr_invalid_ =
41269 # 1364 "parser_cocci_menhir.mly"
41270 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
41271 # 41272 "parser_cocci_menhir.ml"
41272 in
41273 _menhir_env.MenhirLib.EngineTypes.stack <- {
41274 MenhirLib.EngineTypes.state = _menhir_s;
41275 MenhirLib.EngineTypes.semv = Obj.repr _v;
41276 MenhirLib.EngineTypes.startp = _startpos;
41277 MenhirLib.EngineTypes.endp = _endpos;
41278 MenhirLib.EngineTypes.next = _menhir_stack;
41279 });
41280 (fun _menhir_env ->
41281 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41282 let {
41283 MenhirLib.EngineTypes.semv = _2;
41284 MenhirLib.EngineTypes.startp = _startpos__2_;
41285 MenhirLib.EngineTypes.endp = _endpos__2_;
41286 MenhirLib.EngineTypes.next = {
41287 MenhirLib.EngineTypes.state = _menhir_s;
41288 MenhirLib.EngineTypes.semv = _1;
41289 MenhirLib.EngineTypes.startp = _startpos__1_;
41290 MenhirLib.EngineTypes.endp = _endpos__1_;
41291 MenhirLib.EngineTypes.next = _menhir_stack;
41292 };
41293 } = _menhir_stack in
41294 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
41295 let _1 : (
41296 # 88 "parser_cocci_menhir.mly"
41297 (Data.clt)
41298 # 41299 "parser_cocci_menhir.ml"
41299 ) = Obj.magic _1 in
41300 let _startpos = _startpos__1_ in
41301 let _endpos = _endpos__2_ in
41302 let _v : 'tv_unary_expr_expr_invalid_ =
41303 # 1366 "parser_cocci_menhir.mly"
41304 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
41305 # 41306 "parser_cocci_menhir.ml"
41306 in
41307 _menhir_env.MenhirLib.EngineTypes.stack <- {
41308 MenhirLib.EngineTypes.state = _menhir_s;
41309 MenhirLib.EngineTypes.semv = Obj.repr _v;
41310 MenhirLib.EngineTypes.startp = _startpos;
41311 MenhirLib.EngineTypes.endp = _endpos;
41312 MenhirLib.EngineTypes.next = _menhir_stack;
41313 });
41314 (fun _menhir_env ->
41315 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41316 let {
41317 MenhirLib.EngineTypes.semv = _2;
41318 MenhirLib.EngineTypes.startp = _startpos__2_;
41319 MenhirLib.EngineTypes.endp = _endpos__2_;
41320 MenhirLib.EngineTypes.next = {
41321 MenhirLib.EngineTypes.state = _menhir_s;
41322 MenhirLib.EngineTypes.semv = _1;
41323 MenhirLib.EngineTypes.startp = _startpos__1_;
41324 MenhirLib.EngineTypes.endp = _endpos__1_;
41325 MenhirLib.EngineTypes.next = _menhir_stack;
41326 };
41327 } = _menhir_stack in
41328 let _2 : 'tv_cast_expr_expr_invalid_ = Obj.magic _2 in
41329 let _1 : 'tv_unary_op = Obj.magic _1 in
41330 let _startpos = _startpos__1_ in
41331 let _endpos = _endpos__2_ in
41332 let _v : 'tv_unary_expr_expr_invalid_ =
41333 # 1368 "parser_cocci_menhir.mly"
41334 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
41335 # 41336 "parser_cocci_menhir.ml"
41336 in
41337 _menhir_env.MenhirLib.EngineTypes.stack <- {
41338 MenhirLib.EngineTypes.state = _menhir_s;
41339 MenhirLib.EngineTypes.semv = Obj.repr _v;
41340 MenhirLib.EngineTypes.startp = _startpos;
41341 MenhirLib.EngineTypes.endp = _endpos;
41342 MenhirLib.EngineTypes.next = _menhir_stack;
41343 });
41344 (fun _menhir_env ->
41345 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41346 let {
41347 MenhirLib.EngineTypes.semv = _2;
41348 MenhirLib.EngineTypes.startp = _startpos__2_;
41349 MenhirLib.EngineTypes.endp = _endpos__2_;
41350 MenhirLib.EngineTypes.next = {
41351 MenhirLib.EngineTypes.state = _menhir_s;
41352 MenhirLib.EngineTypes.semv = _1;
41353 MenhirLib.EngineTypes.startp = _startpos__1_;
41354 MenhirLib.EngineTypes.endp = _endpos__1_;
41355 MenhirLib.EngineTypes.next = _menhir_stack;
41356 };
41357 } = _menhir_stack in
41358 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
41359 let _1 : (
41360 # 79 "parser_cocci_menhir.mly"
41361 (Data.clt)
41362 # 41363 "parser_cocci_menhir.ml"
41363 ) = Obj.magic _1 in
41364 let _startpos = _startpos__1_ in
41365 let _endpos = _endpos__2_ in
41366 let _v : 'tv_unary_expr_expr_invalid_ =
41367 # 1370 "parser_cocci_menhir.mly"
41368 ( let mcode = P.clt2mcode Ast.Not _1 in
41369 Ast0.wrap(Ast0.Unary(_2, mcode)) )
41370 # 41371 "parser_cocci_menhir.ml"
41371 in
41372 _menhir_env.MenhirLib.EngineTypes.stack <- {
41373 MenhirLib.EngineTypes.state = _menhir_s;
41374 MenhirLib.EngineTypes.semv = Obj.repr _v;
41375 MenhirLib.EngineTypes.startp = _startpos;
41376 MenhirLib.EngineTypes.endp = _endpos;
41377 MenhirLib.EngineTypes.next = _menhir_stack;
41378 });
41379 (fun _menhir_env ->
41380 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41381 let {
41382 MenhirLib.EngineTypes.semv = _2;
41383 MenhirLib.EngineTypes.startp = _startpos__2_;
41384 MenhirLib.EngineTypes.endp = _endpos__2_;
41385 MenhirLib.EngineTypes.next = {
41386 MenhirLib.EngineTypes.state = _menhir_s;
41387 MenhirLib.EngineTypes.semv = _1;
41388 MenhirLib.EngineTypes.startp = _startpos__1_;
41389 MenhirLib.EngineTypes.endp = _endpos__1_;
41390 MenhirLib.EngineTypes.next = _menhir_stack;
41391 };
41392 } = _menhir_stack in
41393 let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
41394 let _1 : (
41395 # 60 "parser_cocci_menhir.mly"
41396 (Data.clt)
41397 # 41398 "parser_cocci_menhir.ml"
41398 ) = Obj.magic _1 in
41399 let _startpos = _startpos__1_ in
41400 let _endpos = _endpos__2_ in
41401 let _v : 'tv_unary_expr_expr_invalid_ =
41402 # 1373 "parser_cocci_menhir.mly"
41403 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
41404 # 41405 "parser_cocci_menhir.ml"
41405 in
41406 _menhir_env.MenhirLib.EngineTypes.stack <- {
41407 MenhirLib.EngineTypes.state = _menhir_s;
41408 MenhirLib.EngineTypes.semv = Obj.repr _v;
41409 MenhirLib.EngineTypes.startp = _startpos;
41410 MenhirLib.EngineTypes.endp = _endpos;
41411 MenhirLib.EngineTypes.next = _menhir_stack;
41412 });
41413 (fun _menhir_env ->
41414 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41415 let {
41416 MenhirLib.EngineTypes.semv = rp;
41417 MenhirLib.EngineTypes.startp = _startpos_rp_;
41418 MenhirLib.EngineTypes.endp = _endpos_rp_;
41419 MenhirLib.EngineTypes.next = {
41420 MenhirLib.EngineTypes.semv = t;
41421 MenhirLib.EngineTypes.startp = _startpos_t_;
41422 MenhirLib.EngineTypes.endp = _endpos_t_;
41423 MenhirLib.EngineTypes.next = {
41424 MenhirLib.EngineTypes.semv = lp;
41425 MenhirLib.EngineTypes.startp = _startpos_lp_;
41426 MenhirLib.EngineTypes.endp = _endpos_lp_;
41427 MenhirLib.EngineTypes.next = {
41428 MenhirLib.EngineTypes.state = _menhir_s;
41429 MenhirLib.EngineTypes.semv = s;
41430 MenhirLib.EngineTypes.startp = _startpos_s_;
41431 MenhirLib.EngineTypes.endp = _endpos_s_;
41432 MenhirLib.EngineTypes.next = _menhir_stack;
41433 };
41434 };
41435 };
41436 } = _menhir_stack in
41437 let rp : (
41438 # 80 "parser_cocci_menhir.mly"
41439 (Data.clt)
41440 # 41441 "parser_cocci_menhir.ml"
41441 ) = Obj.magic rp in
41442 let t : 'tv_ctype = Obj.magic t in
41443 let lp : (
41444 # 79 "parser_cocci_menhir.mly"
41445 (Data.clt)
41446 # 41447 "parser_cocci_menhir.ml"
41447 ) = Obj.magic lp in
41448 let s : (
41449 # 60 "parser_cocci_menhir.mly"
41450 (Data.clt)
41451 # 41452 "parser_cocci_menhir.ml"
41452 ) = Obj.magic s in
41453 let _startpos = _startpos_s_ in
41454 let _endpos = _endpos_rp_ in
41455 let _v : 'tv_unary_expr_expr_invalid_ =
41456 # 1375 "parser_cocci_menhir.mly"
41457 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
41458 P.clt2mcode "(" lp,t,
41459 P.clt2mcode ")" rp)) )
41460 # 41461 "parser_cocci_menhir.ml"
41461 in
41462 _menhir_env.MenhirLib.EngineTypes.stack <- {
41463 MenhirLib.EngineTypes.state = _menhir_s;
41464 MenhirLib.EngineTypes.semv = Obj.repr _v;
41465 MenhirLib.EngineTypes.startp = _startpos;
41466 MenhirLib.EngineTypes.endp = _endpos;
41467 MenhirLib.EngineTypes.next = _menhir_stack;
41468 });
41469 (fun _menhir_env ->
41470 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41471 let {
41472 MenhirLib.EngineTypes.state = _menhir_s;
41473 MenhirLib.EngineTypes.semv = _1;
41474 MenhirLib.EngineTypes.startp = _startpos__1_;
41475 MenhirLib.EngineTypes.endp = _endpos__1_;
41476 MenhirLib.EngineTypes.next = _menhir_stack;
41477 } = _menhir_stack in
41478 let _1 : (
41479 # 96 "parser_cocci_menhir.mly"
41480 (Data.clt)
41481 # 41482 "parser_cocci_menhir.ml"
41482 ) = Obj.magic _1 in
41483 let _startpos = _startpos__1_ in
41484 let _endpos = _endpos__1_ in
41485 let _v : 'tv_unary_op =
41486 # 1379 "parser_cocci_menhir.mly"
41487 ( P.clt2mcode Ast.GetRef _1 )
41488 # 41489 "parser_cocci_menhir.ml"
41489 in
41490 _menhir_env.MenhirLib.EngineTypes.stack <- {
41491 MenhirLib.EngineTypes.state = _menhir_s;
41492 MenhirLib.EngineTypes.semv = Obj.repr _v;
41493 MenhirLib.EngineTypes.startp = _startpos;
41494 MenhirLib.EngineTypes.endp = _endpos;
41495 MenhirLib.EngineTypes.next = _menhir_stack;
41496 });
41497 (fun _menhir_env ->
41498 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41499 let {
41500 MenhirLib.EngineTypes.state = _menhir_s;
41501 MenhirLib.EngineTypes.semv = _1;
41502 MenhirLib.EngineTypes.startp = _startpos__1_;
41503 MenhirLib.EngineTypes.endp = _endpos__1_;
41504 MenhirLib.EngineTypes.next = _menhir_stack;
41505 } = _menhir_stack in
41506 let _1 : (
41507 # 102 "parser_cocci_menhir.mly"
41508 (Data.clt)
41509 # 41510 "parser_cocci_menhir.ml"
41510 ) = Obj.magic _1 in
41511 let _startpos = _startpos__1_ in
41512 let _endpos = _endpos__1_ in
41513 let _v : 'tv_unary_op =
41514 # 1380 "parser_cocci_menhir.mly"
41515 ( P.clt2mcode Ast.DeRef _1 )
41516 # 41517 "parser_cocci_menhir.ml"
41517 in
41518 _menhir_env.MenhirLib.EngineTypes.stack <- {
41519 MenhirLib.EngineTypes.state = _menhir_s;
41520 MenhirLib.EngineTypes.semv = Obj.repr _v;
41521 MenhirLib.EngineTypes.startp = _startpos;
41522 MenhirLib.EngineTypes.endp = _endpos;
41523 MenhirLib.EngineTypes.next = _menhir_stack;
41524 });
41525 (fun _menhir_env ->
41526 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41527 let {
41528 MenhirLib.EngineTypes.state = _menhir_s;
41529 MenhirLib.EngineTypes.semv = _1;
41530 MenhirLib.EngineTypes.startp = _startpos__1_;
41531 MenhirLib.EngineTypes.endp = _endpos__1_;
41532 MenhirLib.EngineTypes.next = _menhir_stack;
41533 } = _menhir_stack in
41534 let _1 : (
41535 # 101 "parser_cocci_menhir.mly"
41536 (Data.clt)
41537 # 41538 "parser_cocci_menhir.ml"
41538 ) = Obj.magic _1 in
41539 let _startpos = _startpos__1_ in
41540 let _endpos = _endpos__1_ in
41541 let _v : 'tv_unary_op =
41542 # 1381 "parser_cocci_menhir.mly"
41543 ( P.clt2mcode Ast.UnPlus _1 )
41544 # 41545 "parser_cocci_menhir.ml"
41545 in
41546 _menhir_env.MenhirLib.EngineTypes.stack <- {
41547 MenhirLib.EngineTypes.state = _menhir_s;
41548 MenhirLib.EngineTypes.semv = Obj.repr _v;
41549 MenhirLib.EngineTypes.startp = _startpos;
41550 MenhirLib.EngineTypes.endp = _endpos;
41551 MenhirLib.EngineTypes.next = _menhir_stack;
41552 });
41553 (fun _menhir_env ->
41554 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41555 let {
41556 MenhirLib.EngineTypes.state = _menhir_s;
41557 MenhirLib.EngineTypes.semv = _1;
41558 MenhirLib.EngineTypes.startp = _startpos__1_;
41559 MenhirLib.EngineTypes.endp = _endpos__1_;
41560 MenhirLib.EngineTypes.next = _menhir_stack;
41561 } = _menhir_stack in
41562 let _1 : (
41563 # 101 "parser_cocci_menhir.mly"
41564 (Data.clt)
41565 # 41566 "parser_cocci_menhir.ml"
41566 ) = Obj.magic _1 in
41567 let _startpos = _startpos__1_ in
41568 let _endpos = _endpos__1_ in
41569 let _v : 'tv_unary_op =
41570 # 1382 "parser_cocci_menhir.mly"
41571 ( P.clt2mcode Ast.UnMinus _1 )
41572 # 41573 "parser_cocci_menhir.ml"
41573 in
41574 _menhir_env.MenhirLib.EngineTypes.stack <- {
41575 MenhirLib.EngineTypes.state = _menhir_s;
41576 MenhirLib.EngineTypes.semv = Obj.repr _v;
41577 MenhirLib.EngineTypes.startp = _startpos;
41578 MenhirLib.EngineTypes.endp = _endpos;
41579 MenhirLib.EngineTypes.next = _menhir_stack;
41580 });
41581 (fun _menhir_env ->
41582 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41583 let {
41584 MenhirLib.EngineTypes.state = _menhir_s;
41585 MenhirLib.EngineTypes.semv = _1;
41586 MenhirLib.EngineTypes.startp = _startpos__1_;
41587 MenhirLib.EngineTypes.endp = _endpos__1_;
41588 MenhirLib.EngineTypes.next = _menhir_stack;
41589 } = _menhir_stack in
41590 let _1 : (
41591 # 102 "parser_cocci_menhir.mly"
41592 (Data.clt)
41593 # 41594 "parser_cocci_menhir.ml"
41594 ) = Obj.magic _1 in
41595 let _startpos = _startpos__1_ in
41596 let _endpos = _endpos__1_ in
41597 let _v : 'tv_unary_op =
41598 # 1383 "parser_cocci_menhir.mly"
41599 ( P.clt2mcode Ast.Tilde _1 )
41600 # 41601 "parser_cocci_menhir.ml"
41601 in
41602 _menhir_env.MenhirLib.EngineTypes.stack <- {
41603 MenhirLib.EngineTypes.state = _menhir_s;
41604 MenhirLib.EngineTypes.semv = Obj.repr _v;
41605 MenhirLib.EngineTypes.startp = _startpos;
41606 MenhirLib.EngineTypes.endp = _endpos;
41607 MenhirLib.EngineTypes.next = _menhir_stack;
41608 });
41609 (fun _menhir_env ->
41610 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41611 let {
41612 MenhirLib.EngineTypes.semv = _2;
41613 MenhirLib.EngineTypes.startp = _startpos__2_;
41614 MenhirLib.EngineTypes.endp = _endpos__2_;
41615 MenhirLib.EngineTypes.next = {
41616 MenhirLib.EngineTypes.state = _menhir_s;
41617 MenhirLib.EngineTypes.semv = _1;
41618 MenhirLib.EngineTypes.startp = _startpos__1_;
41619 MenhirLib.EngineTypes.endp = _endpos__1_;
41620 MenhirLib.EngineTypes.next = _menhir_stack;
41621 };
41622 } = _menhir_stack in
41623 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
41624 let _1 : 'tv_expr = Obj.magic _1 in
41625 let _startpos = _startpos__1_ in
41626 let _endpos = _endpos__2_ in
41627 let _v : 'tv_when_start =
41628 # 1976 "parser_cocci_menhir.mly"
41629 ( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) )
41630 # 41631 "parser_cocci_menhir.ml"
41631 in
41632 _menhir_env.MenhirLib.EngineTypes.stack <- {
41633 MenhirLib.EngineTypes.state = _menhir_s;
41634 MenhirLib.EngineTypes.semv = Obj.repr _v;
41635 MenhirLib.EngineTypes.startp = _startpos;
41636 MenhirLib.EngineTypes.endp = _endpos;
41637 MenhirLib.EngineTypes.next = _menhir_stack;
41638 });
41639 (fun _menhir_env ->
41640 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41641 let {
41642 MenhirLib.EngineTypes.semv = _2;
41643 MenhirLib.EngineTypes.startp = _startpos__2_;
41644 MenhirLib.EngineTypes.endp = _endpos__2_;
41645 MenhirLib.EngineTypes.next = {
41646 MenhirLib.EngineTypes.state = _menhir_s;
41647 MenhirLib.EngineTypes.semv = _1;
41648 MenhirLib.EngineTypes.startp = _startpos__1_;
41649 MenhirLib.EngineTypes.endp = _endpos__1_;
41650 MenhirLib.EngineTypes.next = _menhir_stack;
41651 };
41652 } = _menhir_stack in
41653 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
41654 let _1 : 'tv_decl_statement = Obj.magic _1 in
41655 let _startpos = _startpos__1_ in
41656 let _endpos = _endpos__2_ in
41657 let _v : 'tv_when_start =
41658 # 1978 "parser_cocci_menhir.mly"
41659 ( Ast0.wrap(Ast0.DOTS(_1@_2)) )
41660 # 41661 "parser_cocci_menhir.ml"
41661 in
41662 _menhir_env.MenhirLib.EngineTypes.stack <- {
41663 MenhirLib.EngineTypes.state = _menhir_s;
41664 MenhirLib.EngineTypes.semv = Obj.repr _v;
41665 MenhirLib.EngineTypes.startp = _startpos;
41666 MenhirLib.EngineTypes.endp = _endpos;
41667 MenhirLib.EngineTypes.next = _menhir_stack;
41668 });
41669 (fun _menhir_env ->
41670 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41671 let {
41672 MenhirLib.EngineTypes.state = _menhir_s;
41673 MenhirLib.EngineTypes.semv = w;
41674 MenhirLib.EngineTypes.startp = _startpos_w_;
41675 MenhirLib.EngineTypes.endp = _endpos_w_;
41676 MenhirLib.EngineTypes.next = _menhir_stack;
41677 } = _menhir_stack in
41678 let w : 'tv_whens_when_start_rule_elem_statement_any_strict_ = Obj.magic w in
41679 let _startpos = _startpos_w_ in
41680 let _endpos = _endpos_w_ in
41681 let _v : 'tv_whenppdecs =
41682 # 981 "parser_cocci_menhir.mly"
41683 ( w )
41684 # 41685 "parser_cocci_menhir.ml"
41685 in
41686 _menhir_env.MenhirLib.EngineTypes.stack <- {
41687 MenhirLib.EngineTypes.state = _menhir_s;
41688 MenhirLib.EngineTypes.semv = Obj.repr _v;
41689 MenhirLib.EngineTypes.startp = _startpos;
41690 MenhirLib.EngineTypes.endp = _endpos;
41691 MenhirLib.EngineTypes.next = _menhir_stack;
41692 });
41693 (fun _menhir_env ->
41694 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41695 let {
41696 MenhirLib.EngineTypes.startp = _startpos__4_;
41697 MenhirLib.EngineTypes.endp = _endpos__4_;
41698 MenhirLib.EngineTypes.next = {
41699 MenhirLib.EngineTypes.semv = w;
41700 MenhirLib.EngineTypes.startp = _startpos_w_;
41701 MenhirLib.EngineTypes.endp = _endpos_w_;
41702 MenhirLib.EngineTypes.next = {
41703 MenhirLib.EngineTypes.startp = _startpos__2_;
41704 MenhirLib.EngineTypes.endp = _endpos__2_;
41705 MenhirLib.EngineTypes.next = {
41706 MenhirLib.EngineTypes.state = _menhir_s;
41707 MenhirLib.EngineTypes.startp = _startpos__1_;
41708 MenhirLib.EngineTypes.endp = _endpos__1_;
41709 MenhirLib.EngineTypes.next = _menhir_stack;
41710 };
41711 };
41712 };
41713 } = _menhir_stack in
41714 let w : 'tv_when_start = Obj.magic w in
41715 let _startpos = _startpos__1_ in
41716 let _endpos = _endpos__4_ in
41717 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
41718 # 2023 "parser_cocci_menhir.mly"
41719 ( [Ast0.WhenNot w] )
41720 # 41721 "parser_cocci_menhir.ml"
41721 in
41722 _menhir_env.MenhirLib.EngineTypes.stack <- {
41723 MenhirLib.EngineTypes.state = _menhir_s;
41724 MenhirLib.EngineTypes.semv = Obj.repr _v;
41725 MenhirLib.EngineTypes.startp = _startpos;
41726 MenhirLib.EngineTypes.endp = _endpos;
41727 MenhirLib.EngineTypes.next = _menhir_stack;
41728 });
41729 (fun _menhir_env ->
41730 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41731 let {
41732 MenhirLib.EngineTypes.startp = _startpos__4_;
41733 MenhirLib.EngineTypes.endp = _endpos__4_;
41734 MenhirLib.EngineTypes.next = {
41735 MenhirLib.EngineTypes.semv = w;
41736 MenhirLib.EngineTypes.startp = _startpos_w_;
41737 MenhirLib.EngineTypes.endp = _endpos_w_;
41738 MenhirLib.EngineTypes.next = {
41739 MenhirLib.EngineTypes.startp = _startpos__2_;
41740 MenhirLib.EngineTypes.endp = _endpos__2_;
41741 MenhirLib.EngineTypes.next = {
41742 MenhirLib.EngineTypes.state = _menhir_s;
41743 MenhirLib.EngineTypes.startp = _startpos__1_;
41744 MenhirLib.EngineTypes.endp = _endpos__1_;
41745 MenhirLib.EngineTypes.next = _menhir_stack;
41746 };
41747 };
41748 };
41749 } = _menhir_stack in
41750 let w : 'tv_rule_elem_statement = Obj.magic w in
41751 let _startpos = _startpos__1_ in
41752 let _endpos = _endpos__4_ in
41753 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
41754 # 2024 "parser_cocci_menhir.mly"
41755 ( [Ast0.WhenAlways w] )
41756 # 41757 "parser_cocci_menhir.ml"
41757 in
41758 _menhir_env.MenhirLib.EngineTypes.stack <- {
41759 MenhirLib.EngineTypes.state = _menhir_s;
41760 MenhirLib.EngineTypes.semv = Obj.repr _v;
41761 MenhirLib.EngineTypes.startp = _startpos;
41762 MenhirLib.EngineTypes.endp = _endpos;
41763 MenhirLib.EngineTypes.next = _menhir_stack;
41764 });
41765 (fun _menhir_env ->
41766 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41767 let {
41768 MenhirLib.EngineTypes.startp = _startpos__3_;
41769 MenhirLib.EngineTypes.endp = _endpos__3_;
41770 MenhirLib.EngineTypes.next = {
41771 MenhirLib.EngineTypes.semv = _2;
41772 MenhirLib.EngineTypes.startp = _startpos__2_;
41773 MenhirLib.EngineTypes.endp = _endpos__2_;
41774 MenhirLib.EngineTypes.next = {
41775 MenhirLib.EngineTypes.state = _menhir_s;
41776 MenhirLib.EngineTypes.startp = _startpos__1_;
41777 MenhirLib.EngineTypes.endp = _endpos__1_;
41778 MenhirLib.EngineTypes.next = _menhir_stack;
41779 };
41780 };
41781 } = _menhir_stack in
41782 let _2 : 'tv_comma_list_any_strict_ = Obj.magic _2 in
41783 let _startpos = _startpos__1_ in
41784 let _endpos = _endpos__3_ in
41785 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
41786 # 2026 "parser_cocci_menhir.mly"
41787 ( List.map (function x -> Ast0.WhenModifier(x)) _2 )
41788 # 41789 "parser_cocci_menhir.ml"
41789 in
41790 _menhir_env.MenhirLib.EngineTypes.stack <- {
41791 MenhirLib.EngineTypes.state = _menhir_s;
41792 MenhirLib.EngineTypes.semv = Obj.repr _v;
41793 MenhirLib.EngineTypes.startp = _startpos;
41794 MenhirLib.EngineTypes.endp = _endpos;
41795 MenhirLib.EngineTypes.next = _menhir_stack;
41796 });
41797 (fun _menhir_env ->
41798 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41799 let {
41800 MenhirLib.EngineTypes.startp = _startpos__4_;
41801 MenhirLib.EngineTypes.endp = _endpos__4_;
41802 MenhirLib.EngineTypes.next = {
41803 MenhirLib.EngineTypes.semv = e;
41804 MenhirLib.EngineTypes.startp = _startpos_e_;
41805 MenhirLib.EngineTypes.endp = _endpos_e_;
41806 MenhirLib.EngineTypes.next = {
41807 MenhirLib.EngineTypes.startp = _startpos__2_;
41808 MenhirLib.EngineTypes.endp = _endpos__2_;
41809 MenhirLib.EngineTypes.next = {
41810 MenhirLib.EngineTypes.state = _menhir_s;
41811 MenhirLib.EngineTypes.startp = _startpos__1_;
41812 MenhirLib.EngineTypes.endp = _endpos__1_;
41813 MenhirLib.EngineTypes.next = _menhir_stack;
41814 };
41815 };
41816 };
41817 } = _menhir_stack in
41818 let e : 'tv_eexpr = Obj.magic e in
41819 let _startpos = _startpos__1_ in
41820 let _endpos = _endpos__4_ in
41821 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
41822 # 2027 "parser_cocci_menhir.mly"
41823 ( [Ast0.WhenNotTrue e] )
41824 # 41825 "parser_cocci_menhir.ml"
41825 in
41826 _menhir_env.MenhirLib.EngineTypes.stack <- {
41827 MenhirLib.EngineTypes.state = _menhir_s;
41828 MenhirLib.EngineTypes.semv = Obj.repr _v;
41829 MenhirLib.EngineTypes.startp = _startpos;
41830 MenhirLib.EngineTypes.endp = _endpos;
41831 MenhirLib.EngineTypes.next = _menhir_stack;
41832 });
41833 (fun _menhir_env ->
41834 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41835 let {
41836 MenhirLib.EngineTypes.startp = _startpos__4_;
41837 MenhirLib.EngineTypes.endp = _endpos__4_;
41838 MenhirLib.EngineTypes.next = {
41839 MenhirLib.EngineTypes.semv = e;
41840 MenhirLib.EngineTypes.startp = _startpos_e_;
41841 MenhirLib.EngineTypes.endp = _endpos_e_;
41842 MenhirLib.EngineTypes.next = {
41843 MenhirLib.EngineTypes.startp = _startpos__2_;
41844 MenhirLib.EngineTypes.endp = _endpos__2_;
41845 MenhirLib.EngineTypes.next = {
41846 MenhirLib.EngineTypes.state = _menhir_s;
41847 MenhirLib.EngineTypes.startp = _startpos__1_;
41848 MenhirLib.EngineTypes.endp = _endpos__1_;
41849 MenhirLib.EngineTypes.next = _menhir_stack;
41850 };
41851 };
41852 };
41853 } = _menhir_stack in
41854 let e : 'tv_eexpr = Obj.magic e in
41855 let _startpos = _startpos__1_ in
41856 let _endpos = _endpos__4_ in
41857 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
41858 # 2028 "parser_cocci_menhir.mly"
41859 ( [Ast0.WhenNotFalse e] )
41860 # 41861 "parser_cocci_menhir.ml"
41861 in
41862 _menhir_env.MenhirLib.EngineTypes.stack <- {
41863 MenhirLib.EngineTypes.state = _menhir_s;
41864 MenhirLib.EngineTypes.semv = Obj.repr _v;
41865 MenhirLib.EngineTypes.startp = _startpos;
41866 MenhirLib.EngineTypes.endp = _endpos;
41867 MenhirLib.EngineTypes.next = _menhir_stack;
41868 });
41869 |]
41870
41871 let recovery =
41872 false
41873
41874 let trace =
41875 None
41876
41877 end)
41878
41879 let rec script_meta_main =
41880 fun lexer lexbuf ->
41881 (Obj.magic (MenhirInterpreter.entry 1931 lexer lexbuf) : (
41882 # 164 "parser_cocci_menhir.mly"
41883 ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
41884 # 41885 "parser_cocci_menhir.ml"
41885 ))
41886
41887 and rule_name =
41888 fun lexer lexbuf ->
41889 (Obj.magic (MenhirInterpreter.entry 1856 lexer lexbuf) : (
41890 # 158 "parser_cocci_menhir.mly"
41891 (Ast_cocci.rulename)
41892 # 41893 "parser_cocci_menhir.ml"
41893 ))
41894
41895 and reinit =
41896 fun lexer lexbuf ->
41897 (Obj.magic (MenhirInterpreter.entry 1854 lexer lexbuf) : (
41898 # 136 "parser_cocci_menhir.mly"
41899 (unit)
41900 # 41901 "parser_cocci_menhir.ml"
41901 ))
41902
41903 and plus_main =
41904 fun lexer lexbuf ->
41905 (Obj.magic (MenhirInterpreter.entry 1818 lexer lexbuf) : (
41906 # 145 "parser_cocci_menhir.mly"
41907 (Ast0_cocci.rule)
41908 # 41909 "parser_cocci_menhir.ml"
41909 ))
41910
41911 and plus_exp_main =
41912 fun lexer lexbuf ->
41913 (Obj.magic (MenhirInterpreter.entry 1810 lexer lexbuf) : (
41914 # 148 "parser_cocci_menhir.mly"
41915 (Ast0_cocci.rule)
41916 # 41917 "parser_cocci_menhir.ml"
41917 ))
41918
41919 and never_used =
41920 fun lexer lexbuf ->
41921 (Obj.magic (MenhirInterpreter.entry 1804 lexer lexbuf) : (
41922 # 173 "parser_cocci_menhir.mly"
41923 (unit)
41924 # 41925 "parser_cocci_menhir.ml"
41925 ))
41926
41927 and minus_main =
41928 fun lexer lexbuf ->
41929 (Obj.magic (MenhirInterpreter.entry 1720 lexer lexbuf) : (
41930 # 139 "parser_cocci_menhir.mly"
41931 (Ast0_cocci.rule)
41932 # 41933 "parser_cocci_menhir.ml"
41933 ))
41934
41935 and minus_exp_main =
41936 fun lexer lexbuf ->
41937 (Obj.magic (MenhirInterpreter.entry 1708 lexer lexbuf) : (
41938 # 142 "parser_cocci_menhir.mly"
41939 (Ast0_cocci.rule)
41940 # 41941 "parser_cocci_menhir.ml"
41941 ))
41942
41943 and meta_main =
41944 fun lexer lexbuf ->
41945 (Obj.magic (MenhirInterpreter.entry 1705 lexer lexbuf) : (
41946 # 162 "parser_cocci_menhir.mly"
41947 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
41948 # 41949 "parser_cocci_menhir.ml"
41949 ))
41950
41951 and iso_rule_name =
41952 fun lexer lexbuf ->
41953 (Obj.magic (MenhirInterpreter.entry 1701 lexer lexbuf) : (
41954 # 154 "parser_cocci_menhir.mly"
41955 (Ast_cocci.rulename)
41956 # 41957 "parser_cocci_menhir.ml"
41957 ))
41958
41959 and iso_meta_main =
41960 fun lexer lexbuf ->
41961 (Obj.magic (MenhirInterpreter.entry 1432 lexer lexbuf) : (
41962 # 170 "parser_cocci_menhir.mly"
41963 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
41964 # 41965 "parser_cocci_menhir.ml"
41965 ))
41966
41967 and iso_main =
41968 fun lexer lexbuf ->
41969 (Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : (
41970 # 167 "parser_cocci_menhir.mly"
41971 (Ast0_cocci.anything list list)
41972 # 41973 "parser_cocci_menhir.ml"
41973 ))
41974
41975 and include_main =
41976 fun lexer lexbuf ->
41977 (Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : (
41978 # 151 "parser_cocci_menhir.mly"
41979 (Data.incl_iso list)
41980 # 41981 "parser_cocci_menhir.ml"
41981 ))
41982
41983
41984