Release coccinelle-0.2.5-rc2
[bpt/coccinelle.git] / parsing_cocci / parser_cocci_menhir.ml
1 exception Error
2
3 type token =
4 | Tvolatile of (
5 # 57 "parser_cocci_menhir.mly"
6 (Data.clt)
7 # 8 "parser_cocci_menhir.ml"
8 )
9 | Tvoid of (
10 # 53 "parser_cocci_menhir.mly"
11 (Data.clt)
12 # 13 "parser_cocci_menhir.ml"
13 )
14 | Tunsigned of (
15 # 54 "parser_cocci_menhir.mly"
16 (Data.clt)
17 # 18 "parser_cocci_menhir.ml"
18 )
19 | Tunion of (
20 # 53 "parser_cocci_menhir.mly"
21 (Data.clt)
22 # 23 "parser_cocci_menhir.ml"
23 )
24 | Ttypedef of (
25 # 56 "parser_cocci_menhir.mly"
26 (Data.clt)
27 # 28 "parser_cocci_menhir.ml"
28 )
29 | Tstruct of (
30 # 53 "parser_cocci_menhir.mly"
31 (Data.clt)
32 # 33 "parser_cocci_menhir.ml"
33 )
34 | Tstatic of (
35 # 56 "parser_cocci_menhir.mly"
36 (Data.clt)
37 # 38 "parser_cocci_menhir.ml"
38 )
39 | Tssize_t of (
40 # 52 "parser_cocci_menhir.mly"
41 (Data.clt)
42 # 43 "parser_cocci_menhir.ml"
43 )
44 | Tsize_t of (
45 # 52 "parser_cocci_menhir.mly"
46 (Data.clt)
47 # 48 "parser_cocci_menhir.ml"
48 )
49 | Tsigned of (
50 # 54 "parser_cocci_menhir.mly"
51 (Data.clt)
52 # 53 "parser_cocci_menhir.ml"
53 )
54 | Tshort of (
55 # 51 "parser_cocci_menhir.mly"
56 (Data.clt)
57 # 58 "parser_cocci_menhir.ml"
58 )
59 | Tregister of (
60 # 56 "parser_cocci_menhir.mly"
61 (Data.clt)
62 # 63 "parser_cocci_menhir.ml"
63 )
64 | Tptrdiff_t of (
65 # 52 "parser_cocci_menhir.mly"
66 (Data.clt)
67 # 68 "parser_cocci_menhir.ml"
68 )
69 | Tlong of (
70 # 51 "parser_cocci_menhir.mly"
71 (Data.clt)
72 # 73 "parser_cocci_menhir.ml"
73 )
74 | Tlist
75 | Tint of (
76 # 51 "parser_cocci_menhir.mly"
77 (Data.clt)
78 # 79 "parser_cocci_menhir.ml"
79 )
80 | Tinline of (
81 # 56 "parser_cocci_menhir.mly"
82 (Data.clt)
83 # 84 "parser_cocci_menhir.ml"
84 )
85 | Tfloat of (
86 # 51 "parser_cocci_menhir.mly"
87 (Data.clt)
88 # 89 "parser_cocci_menhir.ml"
89 )
90 | Textern of (
91 # 56 "parser_cocci_menhir.mly"
92 (Data.clt)
93 # 94 "parser_cocci_menhir.ml"
94 )
95 | Tenum of (
96 # 53 "parser_cocci_menhir.mly"
97 (Data.clt)
98 # 99 "parser_cocci_menhir.ml"
99 )
100 | Tdouble of (
101 # 51 "parser_cocci_menhir.mly"
102 (Data.clt)
103 # 104 "parser_cocci_menhir.ml"
104 )
105 | Tconst of (
106 # 57 "parser_cocci_menhir.mly"
107 (Data.clt)
108 # 109 "parser_cocci_menhir.ml"
109 )
110 | Tchar of (
111 # 51 "parser_cocci_menhir.mly"
112 (Data.clt)
113 # 114 "parser_cocci_menhir.ml"
114 )
115 | Tauto of (
116 # 56 "parser_cocci_menhir.mly"
117 (Data.clt)
118 # 119 "parser_cocci_menhir.ml"
119 )
120 | Tattr of (
121 # 58 "parser_cocci_menhir.mly"
122 (string * Data.clt)
123 # 124 "parser_cocci_menhir.ml"
124 )
125 | TXor of (
126 # 96 "parser_cocci_menhir.mly"
127 (Data.clt)
128 # 129 "parser_cocci_menhir.ml"
129 )
130 | TWords
131 | TWhy0
132 | TWhy of (
133 # 80 "parser_cocci_menhir.mly"
134 (Data.clt)
135 # 136 "parser_cocci_menhir.ml"
136 )
137 | TWhile of (
138 # 60 "parser_cocci_menhir.mly"
139 (Data.clt)
140 # 141 "parser_cocci_menhir.ml"
141 )
142 | TWhenTrue of (
143 # 78 "parser_cocci_menhir.mly"
144 (Data.clt)
145 # 146 "parser_cocci_menhir.ml"
146 )
147 | TWhenFalse of (
148 # 78 "parser_cocci_menhir.mly"
149 (Data.clt)
150 # 151 "parser_cocci_menhir.ml"
151 )
152 | TWhen of (
153 # 78 "parser_cocci_menhir.mly"
154 (Data.clt)
155 # 156 "parser_cocci_menhir.ml"
156 )
157 | TVirtual
158 | TUsing
159 | TUnderscore
160 | TUndef of (
161 # 85 "parser_cocci_menhir.mly"
162 (Data.clt * token)
163 # 164 "parser_cocci_menhir.ml"
164 )
165 | TTypedef
166 | TTypeId of (
167 # 62 "parser_cocci_menhir.mly"
168 (string * Data.clt)
169 # 170 "parser_cocci_menhir.ml"
170 )
171 | TType
172 | TTildeExclEq of (
173 # 98 "parser_cocci_menhir.mly"
174 (Data.clt)
175 # 176 "parser_cocci_menhir.ml"
176 )
177 | TTildeEq of (
178 # 98 "parser_cocci_menhir.mly"
179 (Data.clt)
180 # 181 "parser_cocci_menhir.ml"
181 )
182 | TTilde of (
183 # 103 "parser_cocci_menhir.mly"
184 (Data.clt)
185 # 186 "parser_cocci_menhir.ml"
186 )
187 | TSwitch of (
188 # 60 "parser_cocci_menhir.mly"
189 (Data.clt)
190 # 191 "parser_cocci_menhir.ml"
191 )
192 | TSub of (
193 # 98 "parser_cocci_menhir.mly"
194 (Data.clt)
195 # 196 "parser_cocci_menhir.ml"
196 )
197 | TString of (
198 # 91 "parser_cocci_menhir.mly"
199 (string * Data.clt)
200 # 201 "parser_cocci_menhir.ml"
201 )
202 | TStrict of (
203 # 78 "parser_cocci_menhir.mly"
204 (Data.clt)
205 # 206 "parser_cocci_menhir.ml"
206 )
207 | TStatement
208 | TSizeof of (
209 # 61 "parser_cocci_menhir.mly"
210 (Data.clt)
211 # 212 "parser_cocci_menhir.ml"
212 )
213 | TShROp of (
214 # 100 "parser_cocci_menhir.mly"
215 (Ast_cocci.arithOp * Data.clt)
216 # 217 "parser_cocci_menhir.ml"
217 )
218 | TShLOp of (
219 # 100 "parser_cocci_menhir.mly"
220 (Ast_cocci.arithOp * Data.clt)
221 # 222 "parser_cocci_menhir.ml"
222 )
223 | TScriptData of (
224 # 75 "parser_cocci_menhir.mly"
225 (string)
226 # 227 "parser_cocci_menhir.ml"
227 )
228 | TScript
229 | TRuleName of (
230 # 49 "parser_cocci_menhir.mly"
231 (string)
232 # 233 "parser_cocci_menhir.ml"
233 )
234 | TRightIso
235 | TReturn of (
236 # 60 "parser_cocci_menhir.mly"
237 (Data.clt)
238 # 239 "parser_cocci_menhir.ml"
239 )
240 | TPure
241 | TPtrOp of (
242 # 108 "parser_cocci_menhir.mly"
243 (Data.clt)
244 # 245 "parser_cocci_menhir.ml"
245 )
246 | TPtVirg of (
247 # 111 "parser_cocci_menhir.mly"
248 (Data.clt)
249 # 250 "parser_cocci_menhir.ml"
250 )
251 | TPragma of (
252 # 63 "parser_cocci_menhir.mly"
253 (Ast_cocci.added_string * Data.clt)
254 # 255 "parser_cocci_menhir.ml"
255 )
256 | TPosition
257 | TPosAny
258 | TPlusFile of (
259 # 87 "parser_cocci_menhir.mly"
260 (string * Data.clt)
261 # 262 "parser_cocci_menhir.ml"
262 )
263 | TPlus0
264 | TPlus of (
265 # 102 "parser_cocci_menhir.mly"
266 (Data.clt)
267 # 268 "parser_cocci_menhir.ml"
268 )
269 | TPathIsoFile of (
270 # 83 "parser_cocci_menhir.mly"
271 (string)
272 # 273 "parser_cocci_menhir.ml"
273 )
274 | TParameter
275 | TPOEllipsis of (
276 # 77 "parser_cocci_menhir.mly"
277 (Data.clt)
278 # 279 "parser_cocci_menhir.ml"
279 )
280 | TPCEllipsis of (
281 # 77 "parser_cocci_menhir.mly"
282 (Data.clt)
283 # 284 "parser_cocci_menhir.ml"
284 )
285 | TPArob
286 | TOrLog of (
287 # 93 "parser_cocci_menhir.mly"
288 (Data.clt)
289 # 290 "parser_cocci_menhir.ml"
290 )
291 | TOr of (
292 # 95 "parser_cocci_menhir.mly"
293 (Data.clt)
294 # 295 "parser_cocci_menhir.ml"
295 )
296 | TOn
297 | TOPar0 of (
298 # 80 "parser_cocci_menhir.mly"
299 (Data.clt)
300 # 301 "parser_cocci_menhir.ml"
301 )
302 | TOPar of (
303 # 80 "parser_cocci_menhir.mly"
304 (Data.clt)
305 # 306 "parser_cocci_menhir.ml"
306 )
307 | TOInit of (
308 # 105 "parser_cocci_menhir.mly"
309 (Data.clt)
310 # 311 "parser_cocci_menhir.ml"
311 )
312 | TOEllipsis of (
313 # 77 "parser_cocci_menhir.mly"
314 (Data.clt)
315 # 316 "parser_cocci_menhir.ml"
316 )
317 | TOCro of (
318 # 106 "parser_cocci_menhir.mly"
319 (Data.clt)
320 # 321 "parser_cocci_menhir.ml"
321 )
322 | TOBrace of (
323 # 105 "parser_cocci_menhir.mly"
324 (Data.clt)
325 # 326 "parser_cocci_menhir.ml"
326 )
327 | TNothing
328 | TNotEq of (
329 # 98 "parser_cocci_menhir.mly"
330 (Data.clt)
331 # 332 "parser_cocci_menhir.ml"
332 )
333 | TNever
334 | TName
335 | TMul of (
336 # 103 "parser_cocci_menhir.mly"
337 (Data.clt)
338 # 339 "parser_cocci_menhir.ml"
339 )
340 | TMinusFile of (
341 # 87 "parser_cocci_menhir.mly"
342 (string * Data.clt)
343 # 344 "parser_cocci_menhir.ml"
344 )
345 | TMinus of (
346 # 102 "parser_cocci_menhir.mly"
347 (Data.clt)
348 # 349 "parser_cocci_menhir.ml"
349 )
350 | TMid0 of (
351 # 81 "parser_cocci_menhir.mly"
352 (Data.clt)
353 # 354 "parser_cocci_menhir.ml"
354 )
355 | TMetaType of (
356 # 68 "parser_cocci_menhir.mly"
357 (Parse_aux.info)
358 # 359 "parser_cocci_menhir.ml"
359 )
360 | TMetaStmList of (
361 # 68 "parser_cocci_menhir.mly"
362 (Parse_aux.info)
363 # 364 "parser_cocci_menhir.ml"
364 )
365 | TMetaStm of (
366 # 68 "parser_cocci_menhir.mly"
367 (Parse_aux.info)
368 # 369 "parser_cocci_menhir.ml"
369 )
370 | TMetaPos of (
371 # 72 "parser_cocci_menhir.mly"
372 (Parse_aux.pos_info)
373 # 374 "parser_cocci_menhir.ml"
374 )
375 | TMetaParamList of (
376 # 70 "parser_cocci_menhir.mly"
377 (Parse_aux.list_info)
378 # 379 "parser_cocci_menhir.ml"
379 )
380 | TMetaParam of (
381 # 68 "parser_cocci_menhir.mly"
382 (Parse_aux.info)
383 # 384 "parser_cocci_menhir.ml"
384 )
385 | TMetaLocalIdExp of (
386 # 71 "parser_cocci_menhir.mly"
387 (Parse_aux.typed_expinfo)
388 # 389 "parser_cocci_menhir.ml"
389 )
390 | TMetaLocalFunc of (
391 # 65 "parser_cocci_menhir.mly"
392 (Parse_aux.idinfo)
393 # 394 "parser_cocci_menhir.ml"
394 )
395 | TMetaIterator of (
396 # 66 "parser_cocci_menhir.mly"
397 (Parse_aux.idinfo)
398 # 399 "parser_cocci_menhir.ml"
399 )
400 | TMetaInit of (
401 # 69 "parser_cocci_menhir.mly"
402 (Parse_aux.info)
403 # 404 "parser_cocci_menhir.ml"
404 )
405 | TMetaIdExp of (
406 # 71 "parser_cocci_menhir.mly"
407 (Parse_aux.typed_expinfo)
408 # 409 "parser_cocci_menhir.ml"
409 )
410 | TMetaId of (
411 # 65 "parser_cocci_menhir.mly"
412 (Parse_aux.idinfo)
413 # 414 "parser_cocci_menhir.ml"
414 )
415 | TMetaFunc of (
416 # 65 "parser_cocci_menhir.mly"
417 (Parse_aux.idinfo)
418 # 419 "parser_cocci_menhir.ml"
419 )
420 | TMetaField of (
421 # 69 "parser_cocci_menhir.mly"
422 (Parse_aux.info)
423 # 424 "parser_cocci_menhir.ml"
424 )
425 | TMetaExpList of (
426 # 70 "parser_cocci_menhir.mly"
427 (Parse_aux.list_info)
428 # 429 "parser_cocci_menhir.ml"
429 )
430 | TMetaExp of (
431 # 71 "parser_cocci_menhir.mly"
432 (Parse_aux.typed_expinfo)
433 # 434 "parser_cocci_menhir.ml"
434 )
435 | TMetaErr of (
436 # 67 "parser_cocci_menhir.mly"
437 (Parse_aux.expinfo)
438 # 439 "parser_cocci_menhir.ml"
439 )
440 | TMetaDeclarer of (
441 # 66 "parser_cocci_menhir.mly"
442 (Parse_aux.idinfo)
443 # 444 "parser_cocci_menhir.ml"
444 )
445 | TMetaDecl of (
446 # 69 "parser_cocci_menhir.mly"
447 (Parse_aux.info)
448 # 449 "parser_cocci_menhir.ml"
449 )
450 | TMetaConst of (
451 # 71 "parser_cocci_menhir.mly"
452 (Parse_aux.typed_expinfo)
453 # 454 "parser_cocci_menhir.ml"
454 )
455 | TMPtVirg
456 | TLogOp of (
457 # 99 "parser_cocci_menhir.mly"
458 (Ast_cocci.logicalOp * Data.clt)
459 # 460 "parser_cocci_menhir.ml"
460 )
461 | TLocal
462 | TLineEnd of (
463 # 78 "parser_cocci_menhir.mly"
464 (Data.clt)
465 # 466 "parser_cocci_menhir.ml"
466 )
467 | TIteratorId of (
468 # 62 "parser_cocci_menhir.mly"
469 (string * Data.clt)
470 # 471 "parser_cocci_menhir.ml"
471 )
472 | TIterator
473 | TIsoType
474 | TIsoTopLevel
475 | TIsoToTestExpression
476 | TIsoTestExpression
477 | TIsoStatement
478 | TIsoExpression
479 | TIsoDeclaration
480 | TIsoArgExpression
481 | TIso
482 | TInvalid
483 | TInt of (
484 # 91 "parser_cocci_menhir.mly"
485 (string * Data.clt)
486 # 487 "parser_cocci_menhir.ml"
487 )
488 | TInitialize
489 | TInitialiser
490 | TIncludeNL of (
491 # 84 "parser_cocci_menhir.mly"
492 (string * Data.clt)
493 # 494 "parser_cocci_menhir.ml"
494 )
495 | TIncludeL of (
496 # 84 "parser_cocci_menhir.mly"
497 (string * Data.clt)
498 # 499 "parser_cocci_menhir.ml"
499 )
500 | TInc of (
501 # 89 "parser_cocci_menhir.mly"
502 (Data.clt)
503 # 504 "parser_cocci_menhir.ml"
504 )
505 | TIf of (
506 # 60 "parser_cocci_menhir.mly"
507 (Data.clt)
508 # 509 "parser_cocci_menhir.ml"
509 )
510 | TIdentifier
511 | TIdent of (
512 # 62 "parser_cocci_menhir.mly"
513 (string * Data.clt)
514 # 515 "parser_cocci_menhir.ml"
515 )
516 | TIdExpression
517 | TGoto of (
518 # 61 "parser_cocci_menhir.mly"
519 (Data.clt)
520 # 521 "parser_cocci_menhir.ml"
521 )
522 | TGenerated
523 | TFunction
524 | TFunDecl of (
525 # 61 "parser_cocci_menhir.mly"
526 (Data.clt)
527 # 528 "parser_cocci_menhir.ml"
528 )
529 | TFresh
530 | TForall
531 | TFor of (
532 # 60 "parser_cocci_menhir.mly"
533 (Data.clt)
534 # 535 "parser_cocci_menhir.ml"
535 )
536 | TFloat of (
537 # 91 "parser_cocci_menhir.mly"
538 (string * Data.clt)
539 # 540 "parser_cocci_menhir.ml"
540 )
541 | TFinalize
542 | TField
543 | TExtends
544 | TExpression
545 | TExists
546 | TEver
547 | TError
548 | TEqEq of (
549 # 98 "parser_cocci_menhir.mly"
550 (Data.clt)
551 # 552 "parser_cocci_menhir.ml"
552 )
553 | TEq of (
554 # 111 "parser_cocci_menhir.mly"
555 (Data.clt)
556 # 557 "parser_cocci_menhir.ml"
557 )
558 | TElse of (
559 # 60 "parser_cocci_menhir.mly"
560 (Data.clt)
561 # 562 "parser_cocci_menhir.ml"
562 )
563 | TEllipsis of (
564 # 77 "parser_cocci_menhir.mly"
565 (Data.clt)
566 # 567 "parser_cocci_menhir.ml"
567 )
568 | TDotDot of (
569 # 80 "parser_cocci_menhir.mly"
570 (Data.clt)
571 # 572 "parser_cocci_menhir.ml"
572 )
573 | TDot of (
574 # 111 "parser_cocci_menhir.mly"
575 (Data.clt)
576 # 577 "parser_cocci_menhir.ml"
577 )
578 | TDo of (
579 # 60 "parser_cocci_menhir.mly"
580 (Data.clt)
581 # 582 "parser_cocci_menhir.ml"
582 )
583 | TDmOp of (
584 # 101 "parser_cocci_menhir.mly"
585 (Ast_cocci.arithOp * Data.clt)
586 # 587 "parser_cocci_menhir.ml"
587 )
588 | TDisable
589 | TDepends
590 | TDefineParam of (
591 # 86 "parser_cocci_menhir.mly"
592 (Data.clt * token * int * int)
593 # 594 "parser_cocci_menhir.ml"
594 )
595 | TDefine of (
596 # 85 "parser_cocci_menhir.mly"
597 (Data.clt * token)
598 # 599 "parser_cocci_menhir.ml"
599 )
600 | TDefault of (
601 # 60 "parser_cocci_menhir.mly"
602 (Data.clt)
603 # 604 "parser_cocci_menhir.ml"
604 )
605 | TDeclarerId of (
606 # 62 "parser_cocci_menhir.mly"
607 (string * Data.clt)
608 # 609 "parser_cocci_menhir.ml"
609 )
610 | TDeclarer
611 | TDeclaration
612 | TDec of (
613 # 89 "parser_cocci_menhir.mly"
614 (Data.clt)
615 # 616 "parser_cocci_menhir.ml"
616 )
617 | TCppConcatOp
618 | TContinue of (
619 # 61 "parser_cocci_menhir.mly"
620 (Data.clt)
621 # 622 "parser_cocci_menhir.ml"
622 )
623 | TContext
624 | TConstant
625 | TComma of (
626 # 111 "parser_cocci_menhir.mly"
627 (Data.clt)
628 # 629 "parser_cocci_menhir.ml"
629 )
630 | TChar of (
631 # 91 "parser_cocci_menhir.mly"
632 (string * Data.clt)
633 # 634 "parser_cocci_menhir.ml"
634 )
635 | TCase of (
636 # 60 "parser_cocci_menhir.mly"
637 (Data.clt)
638 # 639 "parser_cocci_menhir.ml"
639 )
640 | TCPar0 of (
641 # 81 "parser_cocci_menhir.mly"
642 (Data.clt)
643 # 644 "parser_cocci_menhir.ml"
644 )
645 | TCPar of (
646 # 81 "parser_cocci_menhir.mly"
647 (Data.clt)
648 # 649 "parser_cocci_menhir.ml"
649 )
650 | TCEllipsis of (
651 # 77 "parser_cocci_menhir.mly"
652 (Data.clt)
653 # 654 "parser_cocci_menhir.ml"
654 )
655 | TCCro of (
656 # 106 "parser_cocci_menhir.mly"
657 (Data.clt)
658 # 659 "parser_cocci_menhir.ml"
659 )
660 | TCBrace of (
661 # 105 "parser_cocci_menhir.mly"
662 (Data.clt)
663 # 664 "parser_cocci_menhir.ml"
664 )
665 | TBreak of (
666 # 61 "parser_cocci_menhir.mly"
667 (Data.clt)
668 # 669 "parser_cocci_menhir.ml"
669 )
670 | TBang0
671 | TBang of (
672 # 80 "parser_cocci_menhir.mly"
673 (Data.clt)
674 # 675 "parser_cocci_menhir.ml"
675 )
676 | TAssign of (
677 # 112 "parser_cocci_menhir.mly"
678 (Ast_cocci.assignOp * Data.clt)
679 # 680 "parser_cocci_menhir.ml"
680 )
681 | TArobArob
682 | TArob
683 | TAny of (
684 # 78 "parser_cocci_menhir.mly"
685 (Data.clt)
686 # 687 "parser_cocci_menhir.ml"
687 )
688 | TAndLog of (
689 # 94 "parser_cocci_menhir.mly"
690 (Data.clt)
691 # 692 "parser_cocci_menhir.ml"
692 )
693 | TAnd of (
694 # 97 "parser_cocci_menhir.mly"
695 (Data.clt)
696 # 697 "parser_cocci_menhir.ml"
697 )
698 | EOF
699
700 and _menhir_jeton = token
701
702
703 # 25 "parser_cocci_menhir.mly"
704
705
706 (* Not clear how to allow function declarations to specify a return type
707 and how to allow both to be specified as static, because they are in
708 different rules. The rules seem to have to be combined, which would allow
709 functions to be declared as local variables *)
710
711 (* Not clear how to let a function have a parameter of type void. At the
712 moment, void is allowed to be the type of a variable, which is wrong, and a
713 parameter needs both a type and an identifier *)
714 module Ast0 = Ast0_cocci
715 module Ast = Ast_cocci
716 module P = Parse_aux
717
718 # 719 "parser_cocci_menhir.ml"
719 let _eRR =
720 Error
721
722 module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
723
724 exception Error = Error
725
726 type token = _menhir_jeton
727
728 let token2terminal : token -> int =
729 fun _tok ->
730 match _tok with
731 | EOF ->
732 187
733 | TAnd _ ->
734 186
735 | TAndLog _ ->
736 185
737 | TAny _ ->
738 184
739 | TArob ->
740 183
741 | TArobArob ->
742 182
743 | TAssign _ ->
744 181
745 | TBang _ ->
746 180
747 | TBang0 ->
748 179
749 | TBreak _ ->
750 178
751 | TCBrace _ ->
752 177
753 | TCCro _ ->
754 176
755 | TCEllipsis _ ->
756 175
757 | TCPar _ ->
758 174
759 | TCPar0 _ ->
760 173
761 | TCase _ ->
762 172
763 | TChar _ ->
764 171
765 | TComma _ ->
766 170
767 | TConstant ->
768 169
769 | TContext ->
770 168
771 | TContinue _ ->
772 167
773 | TCppConcatOp ->
774 166
775 | TDec _ ->
776 165
777 | TDeclaration ->
778 164
779 | TDeclarer ->
780 163
781 | TDeclarerId _ ->
782 162
783 | TDefault _ ->
784 161
785 | TDefine _ ->
786 160
787 | TDefineParam _ ->
788 159
789 | TDepends ->
790 158
791 | TDisable ->
792 157
793 | TDmOp _ ->
794 156
795 | TDo _ ->
796 155
797 | TDot _ ->
798 154
799 | TDotDot _ ->
800 153
801 | TEllipsis _ ->
802 152
803 | TElse _ ->
804 151
805 | TEq _ ->
806 150
807 | TEqEq _ ->
808 149
809 | TError ->
810 148
811 | TEver ->
812 147
813 | TExists ->
814 146
815 | TExpression ->
816 145
817 | TExtends ->
818 144
819 | TField ->
820 143
821 | TFinalize ->
822 142
823 | TFloat _ ->
824 141
825 | TFor _ ->
826 140
827 | TForall ->
828 139
829 | TFresh ->
830 138
831 | TFunDecl _ ->
832 137
833 | TFunction ->
834 136
835 | TGenerated ->
836 135
837 | TGoto _ ->
838 134
839 | TIdExpression ->
840 133
841 | TIdent _ ->
842 132
843 | TIdentifier ->
844 131
845 | TIf _ ->
846 130
847 | TInc _ ->
848 129
849 | TIncludeL _ ->
850 128
851 | TIncludeNL _ ->
852 127
853 | TInitialiser ->
854 126
855 | TInitialize ->
856 125
857 | TInt _ ->
858 124
859 | TInvalid ->
860 123
861 | TIso ->
862 122
863 | TIsoArgExpression ->
864 121
865 | TIsoDeclaration ->
866 120
867 | TIsoExpression ->
868 119
869 | TIsoStatement ->
870 118
871 | TIsoTestExpression ->
872 117
873 | TIsoToTestExpression ->
874 116
875 | TIsoTopLevel ->
876 115
877 | TIsoType ->
878 114
879 | TIterator ->
880 113
881 | TIteratorId _ ->
882 112
883 | TLineEnd _ ->
884 111
885 | TLocal ->
886 110
887 | TLogOp _ ->
888 109
889 | TMPtVirg ->
890 108
891 | TMetaConst _ ->
892 107
893 | TMetaDecl _ ->
894 106
895 | TMetaDeclarer _ ->
896 105
897 | TMetaErr _ ->
898 104
899 | TMetaExp _ ->
900 103
901 | TMetaExpList _ ->
902 102
903 | TMetaField _ ->
904 101
905 | TMetaFunc _ ->
906 100
907 | TMetaId _ ->
908 99
909 | TMetaIdExp _ ->
910 98
911 | TMetaInit _ ->
912 97
913 | TMetaIterator _ ->
914 96
915 | TMetaLocalFunc _ ->
916 95
917 | TMetaLocalIdExp _ ->
918 94
919 | TMetaParam _ ->
920 93
921 | TMetaParamList _ ->
922 92
923 | TMetaPos _ ->
924 91
925 | TMetaStm _ ->
926 90
927 | TMetaStmList _ ->
928 89
929 | TMetaType _ ->
930 88
931 | TMid0 _ ->
932 87
933 | TMinus _ ->
934 86
935 | TMinusFile _ ->
936 85
937 | TMul _ ->
938 84
939 | TName ->
940 83
941 | TNever ->
942 82
943 | TNotEq _ ->
944 81
945 | TNothing ->
946 80
947 | TOBrace _ ->
948 79
949 | TOCro _ ->
950 78
951 | TOEllipsis _ ->
952 77
953 | TOInit _ ->
954 76
955 | TOPar _ ->
956 75
957 | TOPar0 _ ->
958 74
959 | TOn ->
960 73
961 | TOr _ ->
962 72
963 | TOrLog _ ->
964 71
965 | TPArob ->
966 70
967 | TPCEllipsis _ ->
968 69
969 | TPOEllipsis _ ->
970 68
971 | TParameter ->
972 67
973 | TPathIsoFile _ ->
974 66
975 | TPlus _ ->
976 65
977 | TPlus0 ->
978 64
979 | TPlusFile _ ->
980 63
981 | TPosAny ->
982 62
983 | TPosition ->
984 61
985 | TPragma _ ->
986 60
987 | TPtVirg _ ->
988 59
989 | TPtrOp _ ->
990 58
991 | TPure ->
992 57
993 | TReturn _ ->
994 56
995 | TRightIso ->
996 55
997 | TRuleName _ ->
998 54
999 | TScript ->
1000 53
1001 | TScriptData _ ->
1002 52
1003 | TShLOp _ ->
1004 51
1005 | TShROp _ ->
1006 50
1007 | TSizeof _ ->
1008 49
1009 | TStatement ->
1010 48
1011 | TStrict _ ->
1012 47
1013 | TString _ ->
1014 46
1015 | TSub _ ->
1016 45
1017 | TSwitch _ ->
1018 44
1019 | TTilde _ ->
1020 43
1021 | TTildeEq _ ->
1022 42
1023 | TTildeExclEq _ ->
1024 41
1025 | TType ->
1026 40
1027 | TTypeId _ ->
1028 39
1029 | TTypedef ->
1030 38
1031 | TUndef _ ->
1032 37
1033 | TUnderscore ->
1034 36
1035 | TUsing ->
1036 35
1037 | TVirtual ->
1038 34
1039 | TWhen _ ->
1040 33
1041 | TWhenFalse _ ->
1042 32
1043 | TWhenTrue _ ->
1044 31
1045 | TWhile _ ->
1046 30
1047 | TWhy _ ->
1048 29
1049 | TWhy0 ->
1050 28
1051 | TWords ->
1052 27
1053 | TXor _ ->
1054 26
1055 | Tattr _ ->
1056 25
1057 | Tauto _ ->
1058 24
1059 | Tchar _ ->
1060 23
1061 | Tconst _ ->
1062 22
1063 | Tdouble _ ->
1064 21
1065 | Tenum _ ->
1066 20
1067 | Textern _ ->
1068 19
1069 | Tfloat _ ->
1070 18
1071 | Tinline _ ->
1072 17
1073 | Tint _ ->
1074 16
1075 | Tlist ->
1076 15
1077 | Tlong _ ->
1078 14
1079 | Tptrdiff_t _ ->
1080 13
1081 | Tregister _ ->
1082 12
1083 | Tshort _ ->
1084 11
1085 | Tsigned _ ->
1086 10
1087 | Tsize_t _ ->
1088 9
1089 | Tssize_t _ ->
1090 8
1091 | Tstatic _ ->
1092 7
1093 | Tstruct _ ->
1094 6
1095 | Ttypedef _ ->
1096 5
1097 | Tunion _ ->
1098 4
1099 | Tunsigned _ ->
1100 3
1101 | Tvoid _ ->
1102 2
1103 | Tvolatile _ ->
1104 1
1105
1106 let error_terminal =
1107 0
1108
1109 let token2value : token -> Obj.t =
1110 fun _tok ->
1111 match _tok with
1112 | EOF ->
1113 Obj.repr ()
1114 | TAnd _v ->
1115 Obj.repr _v
1116 | TAndLog _v ->
1117 Obj.repr _v
1118 | TAny _v ->
1119 Obj.repr _v
1120 | TArob ->
1121 Obj.repr ()
1122 | TArobArob ->
1123 Obj.repr ()
1124 | TAssign _v ->
1125 Obj.repr _v
1126 | TBang _v ->
1127 Obj.repr _v
1128 | TBang0 ->
1129 Obj.repr ()
1130 | TBreak _v ->
1131 Obj.repr _v
1132 | TCBrace _v ->
1133 Obj.repr _v
1134 | TCCro _v ->
1135 Obj.repr _v
1136 | TCEllipsis _v ->
1137 Obj.repr _v
1138 | TCPar _v ->
1139 Obj.repr _v
1140 | TCPar0 _v ->
1141 Obj.repr _v
1142 | TCase _v ->
1143 Obj.repr _v
1144 | TChar _v ->
1145 Obj.repr _v
1146 | TComma _v ->
1147 Obj.repr _v
1148 | TConstant ->
1149 Obj.repr ()
1150 | TContext ->
1151 Obj.repr ()
1152 | TContinue _v ->
1153 Obj.repr _v
1154 | TCppConcatOp ->
1155 Obj.repr ()
1156 | TDec _v ->
1157 Obj.repr _v
1158 | TDeclaration ->
1159 Obj.repr ()
1160 | TDeclarer ->
1161 Obj.repr ()
1162 | TDeclarerId _v ->
1163 Obj.repr _v
1164 | TDefault _v ->
1165 Obj.repr _v
1166 | TDefine _v ->
1167 Obj.repr _v
1168 | TDefineParam _v ->
1169 Obj.repr _v
1170 | TDepends ->
1171 Obj.repr ()
1172 | TDisable ->
1173 Obj.repr ()
1174 | TDmOp _v ->
1175 Obj.repr _v
1176 | TDo _v ->
1177 Obj.repr _v
1178 | TDot _v ->
1179 Obj.repr _v
1180 | TDotDot _v ->
1181 Obj.repr _v
1182 | TEllipsis _v ->
1183 Obj.repr _v
1184 | TElse _v ->
1185 Obj.repr _v
1186 | TEq _v ->
1187 Obj.repr _v
1188 | TEqEq _v ->
1189 Obj.repr _v
1190 | TError ->
1191 Obj.repr ()
1192 | TEver ->
1193 Obj.repr ()
1194 | TExists ->
1195 Obj.repr ()
1196 | TExpression ->
1197 Obj.repr ()
1198 | TExtends ->
1199 Obj.repr ()
1200 | TField ->
1201 Obj.repr ()
1202 | TFinalize ->
1203 Obj.repr ()
1204 | TFloat _v ->
1205 Obj.repr _v
1206 | TFor _v ->
1207 Obj.repr _v
1208 | TForall ->
1209 Obj.repr ()
1210 | TFresh ->
1211 Obj.repr ()
1212 | TFunDecl _v ->
1213 Obj.repr _v
1214 | TFunction ->
1215 Obj.repr ()
1216 | TGenerated ->
1217 Obj.repr ()
1218 | TGoto _v ->
1219 Obj.repr _v
1220 | TIdExpression ->
1221 Obj.repr ()
1222 | TIdent _v ->
1223 Obj.repr _v
1224 | TIdentifier ->
1225 Obj.repr ()
1226 | TIf _v ->
1227 Obj.repr _v
1228 | TInc _v ->
1229 Obj.repr _v
1230 | TIncludeL _v ->
1231 Obj.repr _v
1232 | TIncludeNL _v ->
1233 Obj.repr _v
1234 | TInitialiser ->
1235 Obj.repr ()
1236 | TInitialize ->
1237 Obj.repr ()
1238 | TInt _v ->
1239 Obj.repr _v
1240 | TInvalid ->
1241 Obj.repr ()
1242 | TIso ->
1243 Obj.repr ()
1244 | TIsoArgExpression ->
1245 Obj.repr ()
1246 | TIsoDeclaration ->
1247 Obj.repr ()
1248 | TIsoExpression ->
1249 Obj.repr ()
1250 | TIsoStatement ->
1251 Obj.repr ()
1252 | TIsoTestExpression ->
1253 Obj.repr ()
1254 | TIsoToTestExpression ->
1255 Obj.repr ()
1256 | TIsoTopLevel ->
1257 Obj.repr ()
1258 | TIsoType ->
1259 Obj.repr ()
1260 | TIterator ->
1261 Obj.repr ()
1262 | TIteratorId _v ->
1263 Obj.repr _v
1264 | TLineEnd _v ->
1265 Obj.repr _v
1266 | TLocal ->
1267 Obj.repr ()
1268 | TLogOp _v ->
1269 Obj.repr _v
1270 | TMPtVirg ->
1271 Obj.repr ()
1272 | TMetaConst _v ->
1273 Obj.repr _v
1274 | TMetaDecl _v ->
1275 Obj.repr _v
1276 | TMetaDeclarer _v ->
1277 Obj.repr _v
1278 | TMetaErr _v ->
1279 Obj.repr _v
1280 | TMetaExp _v ->
1281 Obj.repr _v
1282 | TMetaExpList _v ->
1283 Obj.repr _v
1284 | TMetaField _v ->
1285 Obj.repr _v
1286 | TMetaFunc _v ->
1287 Obj.repr _v
1288 | TMetaId _v ->
1289 Obj.repr _v
1290 | TMetaIdExp _v ->
1291 Obj.repr _v
1292 | TMetaInit _v ->
1293 Obj.repr _v
1294 | TMetaIterator _v ->
1295 Obj.repr _v
1296 | TMetaLocalFunc _v ->
1297 Obj.repr _v
1298 | TMetaLocalIdExp _v ->
1299 Obj.repr _v
1300 | TMetaParam _v ->
1301 Obj.repr _v
1302 | TMetaParamList _v ->
1303 Obj.repr _v
1304 | TMetaPos _v ->
1305 Obj.repr _v
1306 | TMetaStm _v ->
1307 Obj.repr _v
1308 | TMetaStmList _v ->
1309 Obj.repr _v
1310 | TMetaType _v ->
1311 Obj.repr _v
1312 | TMid0 _v ->
1313 Obj.repr _v
1314 | TMinus _v ->
1315 Obj.repr _v
1316 | TMinusFile _v ->
1317 Obj.repr _v
1318 | TMul _v ->
1319 Obj.repr _v
1320 | TName ->
1321 Obj.repr ()
1322 | TNever ->
1323 Obj.repr ()
1324 | TNotEq _v ->
1325 Obj.repr _v
1326 | TNothing ->
1327 Obj.repr ()
1328 | TOBrace _v ->
1329 Obj.repr _v
1330 | TOCro _v ->
1331 Obj.repr _v
1332 | TOEllipsis _v ->
1333 Obj.repr _v
1334 | TOInit _v ->
1335 Obj.repr _v
1336 | TOPar _v ->
1337 Obj.repr _v
1338 | TOPar0 _v ->
1339 Obj.repr _v
1340 | TOn ->
1341 Obj.repr ()
1342 | TOr _v ->
1343 Obj.repr _v
1344 | TOrLog _v ->
1345 Obj.repr _v
1346 | TPArob ->
1347 Obj.repr ()
1348 | TPCEllipsis _v ->
1349 Obj.repr _v
1350 | TPOEllipsis _v ->
1351 Obj.repr _v
1352 | TParameter ->
1353 Obj.repr ()
1354 | TPathIsoFile _v ->
1355 Obj.repr _v
1356 | TPlus _v ->
1357 Obj.repr _v
1358 | TPlus0 ->
1359 Obj.repr ()
1360 | TPlusFile _v ->
1361 Obj.repr _v
1362 | TPosAny ->
1363 Obj.repr ()
1364 | TPosition ->
1365 Obj.repr ()
1366 | TPragma _v ->
1367 Obj.repr _v
1368 | TPtVirg _v ->
1369 Obj.repr _v
1370 | TPtrOp _v ->
1371 Obj.repr _v
1372 | TPure ->
1373 Obj.repr ()
1374 | TReturn _v ->
1375 Obj.repr _v
1376 | TRightIso ->
1377 Obj.repr ()
1378 | TRuleName _v ->
1379 Obj.repr _v
1380 | TScript ->
1381 Obj.repr ()
1382 | TScriptData _v ->
1383 Obj.repr _v
1384 | TShLOp _v ->
1385 Obj.repr _v
1386 | TShROp _v ->
1387 Obj.repr _v
1388 | TSizeof _v ->
1389 Obj.repr _v
1390 | TStatement ->
1391 Obj.repr ()
1392 | TStrict _v ->
1393 Obj.repr _v
1394 | TString _v ->
1395 Obj.repr _v
1396 | TSub _v ->
1397 Obj.repr _v
1398 | TSwitch _v ->
1399 Obj.repr _v
1400 | TTilde _v ->
1401 Obj.repr _v
1402 | TTildeEq _v ->
1403 Obj.repr _v
1404 | TTildeExclEq _v ->
1405 Obj.repr _v
1406 | TType ->
1407 Obj.repr ()
1408 | TTypeId _v ->
1409 Obj.repr _v
1410 | TTypedef ->
1411 Obj.repr ()
1412 | TUndef _v ->
1413 Obj.repr _v
1414 | TUnderscore ->
1415 Obj.repr ()
1416 | TUsing ->
1417 Obj.repr ()
1418 | TVirtual ->
1419 Obj.repr ()
1420 | TWhen _v ->
1421 Obj.repr _v
1422 | TWhenFalse _v ->
1423 Obj.repr _v
1424 | TWhenTrue _v ->
1425 Obj.repr _v
1426 | TWhile _v ->
1427 Obj.repr _v
1428 | TWhy _v ->
1429 Obj.repr _v
1430 | TWhy0 ->
1431 Obj.repr ()
1432 | TWords ->
1433 Obj.repr ()
1434 | TXor _v ->
1435 Obj.repr _v
1436 | Tattr _v ->
1437 Obj.repr _v
1438 | Tauto _v ->
1439 Obj.repr _v
1440 | Tchar _v ->
1441 Obj.repr _v
1442 | Tconst _v ->
1443 Obj.repr _v
1444 | Tdouble _v ->
1445 Obj.repr _v
1446 | Tenum _v ->
1447 Obj.repr _v
1448 | Textern _v ->
1449 Obj.repr _v
1450 | Tfloat _v ->
1451 Obj.repr _v
1452 | Tinline _v ->
1453 Obj.repr _v
1454 | Tint _v ->
1455 Obj.repr _v
1456 | Tlist ->
1457 Obj.repr ()
1458 | Tlong _v ->
1459 Obj.repr _v
1460 | Tptrdiff_t _v ->
1461 Obj.repr _v
1462 | Tregister _v ->
1463 Obj.repr _v
1464 | Tshort _v ->
1465 Obj.repr _v
1466 | Tsigned _v ->
1467 Obj.repr _v
1468 | Tsize_t _v ->
1469 Obj.repr _v
1470 | Tssize_t _v ->
1471 Obj.repr _v
1472 | Tstatic _v ->
1473 Obj.repr _v
1474 | Tstruct _v ->
1475 Obj.repr _v
1476 | Ttypedef _v ->
1477 Obj.repr _v
1478 | Tunion _v ->
1479 Obj.repr _v
1480 | Tunsigned _v ->
1481 Obj.repr _v
1482 | Tvoid _v ->
1483 Obj.repr _v
1484 | Tvolatile _v ->
1485 Obj.repr _v
1486
1487 let default_reduction =
1488 (16, "\000\000\000\000\002\245\000\131\000\000\000\000\003D\001|\000\000\001z\001{\001y\000\000\001~\001}\000\001\000\000\001\177\000\000\000\000\000\147\000\000\000\000\001\167\000\196\000\000\000\000\000\183\000\000\000\000\000\188\000\187\000\000\000\184\000\000\000\182\000\000\000\000\000\000\000\186\000\000\000\185\003}\003|\000\000\000\200\000\000\000\199\000\000\000\000\000\176\000\000\000\000\000\181\000\180\000\000\000\177\000\000\000\175\000\000\000\000\000\000\000\179\000\000\000\178\000\000\000\190\000\000\000\201\000\000\000\000\000\195\000\194\000\000\000\191\000\000\000\198\000\000\000\000\000\000\001v\000\000\000\000\000\000\001u\000\000\000\000\001I\001H\001G\001F\001E\001D\000\000\0011\002;\000\000\000\000\002:\000\000\000\000\000\000\000\159\000\000\000\000\000\158\002>\001B\000\000\000\000\000\203\000\000\000\000\000\000\000\000\000\204\000\202\000\000\000\197\000\146\000\000\000\189\000\000\000\209\000\000\000\000\000\000\000\193\000\000\000\000\000\000\003q\003w\000\000\000\000\000\000\000\000\000\000\003r\003s\000\000\000\000\000\206\000\000\003u\000\000\000\000\000\000\004\b\002\191\000\000\000\000\004\006\000\000\002\217\000\000\000\000\000\000\000\000\000\000\000\000\004\005\004\007\002\197\001q\002\196\001o\001p\002\195\002\194\002\193\002\189\000\000\000\000\002\190\001+\000\000\000\000\000\000\002\192\000\000\004\004\000\000\000\000\003\229\001n\002\160\000\000\000\000\002\163\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\001,\002\188\002\200\000m\000\021\000o\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000S\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\141\000d\0016\000p\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\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\000\000\000n\000f\000\000\000e\000\000\002\161\002\164\000\000\002\162\002\165\003\228\000\000\002\225\000\000\000\247\000\000\000\000\002\018\000\000\001\191\001\255\000\000\000\000\002\017\000\000\000\000\000\231\000\000\000\000\000\218\000\000\000\000\000\223\000\222\000\000\000\219\000\000\000\217\000\000\000\000\000\000\000\221\000\000\000\220\000\000\000\235\000\000\000\234\000\000\000\000\000\211\000\000\000\000\000\216\000\215\000\000\000\212\000\000\000\210\000\000\000\000\000\000\000\214\000\000\000\213\000\000\000\225\000\000\000\236\000\000\000\000\000\230\000\229\000\000\000\226\000\000\000\233\000\000\000\000\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\239\000\237\000\000\000\232\000\000\000\224\000\000\000\244\000\000\000\000\000\000\000\228\000\000\000\000\000\000\000\000\000\243\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002a\000\252\000\000\000\000\000\000\000\000\000\000\002O\002`\002\023\000\000\000\000\000\000\000\000\000\000\001A\001\000\000\000\002\024\000\000\000\000\000\000\000\000\000\251\000\249\000\171\000\000\000\000\000\170\002S\002P\000\000\000\000\003y\000\000\003x\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\242\000\240\000\000\000\000\003{\003v\000\227\000\000\001\189\001\254\000\000\000\000\002\224\000\000\000\000\002\223\002\222\002\221\002\220\002\219\002\215\000\000\003\240\002\216\000\000\003\241\002\218\000\000\003\243\000\000\000y\002\174\000\000\000\000\002\177\000\000\000\000\000\015\000\000\000\000\000\000\000\000\000\000\000i\000\000\000h\000\151\002\226\002\214\000\014\000\016\000g\0003\001)\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\143\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0005\000\000\000\000\000\000\000\000\000\000\000\000\002,\0020\000\000\000\000\000\150\002-\0019\0017\000\000\002\180\000\000\000\000\002\175\002\178\000\000\002\176\002\179\003\242\000z\000\000\002\166\004\000\004\001\003\255\003\254\003\227\000\000\002\198\003\226\001N\000\000\002!\000\000\000\000\000\000\000\000\000\000\001/\002'\000\000\000\000\001\201\000\000\002\199\000\000\000\000\000v\000\000\000\000\003\245\003\244\000\000\002\"\000\000\000\000\004\003\004\002\000\000\000\000\003\231\003\230\000\000\000c\000\248\000\000\001\169\000\000\003z\000\000\000\000\000\000\000\000\000\207\000\205\000\000\0015\000\000\000\000\000\208\000\192\000\000\000\000\001\145\000\000\001\144\000\000\001\159\000\000\001\179\000\000\000\000\000\000\003\173\000\000\000\000\003\160\000\000\000\000\003\165\003\164\000\000\003\161\000\000\003\159\000\000\000\000\000\000\003\163\000\000\003\162\000\000\003\177\000\000\003\176\000\000\000\000\003\153\000\000\000\000\003\158\003\157\000\000\003\154\000\000\003\152\000\000\000\000\000\000\003\156\000\000\003\155\000\000\003\167\000\000\003\178\000\000\000\000\003\172\003\171\000\000\003\168\000\000\003\175\000\000\000\000\000\000\000\000\003\180\000\000\000\000\000\000\000\000\003\181\003\179\000\000\003\174\000\000\003\166\000\000\003\186\000\000\000\000\000\000\003\170\000\000\000\000\003\222\000\000\000\000\000\000\000\000\003\185\003\169\000\000\003\224\000\000\000\000\003T\003\223\000\139\000\000\001\029\000\000\000\000\000\000\000\000\003\183\000\000\000\000\000\000\000\000\003\184\003\182\000\000\000\000\003\208\000\000\000\000\003\195\000\000\000\000\003\200\003\199\000\000\003\196\000\000\003\194\000\000\000\000\000\000\003\198\000\000\003\197\000\000\003\212\000\000\003\211\000\000\000\000\003\188\000\000\000\000\003\193\003\192\000\000\003\189\000\000\003\187\000\000\000\000\000\000\003\191\000\000\003\190\000\000\003\202\000\000\003\213\000\000\000\000\003\207\003\206\000\000\003\203\000\000\003\210\000\000\000\000\000\000\000\000\003\215\000\000\000\000\000\000\000\000\003\216\003\214\000\000\003\209\000\000\003\201\000\000\003\221\000\000\000\000\000\000\003\205\000\000\000\000\000\000\000\000\003\220\003\204\000\000\000\000\000\000\000\000\003\218\000\000\000\000\000\000\000\000\003\219\003\217\003m\003o\003p\003n\000\000\000\000\000\000\000\000\000\000\001\129\000\000\000\000\000\000\000\000\000\000\000\254\001\n\000\253\000\000\000\000\000\128\000\000\000\000\000\000\002\204\000\000\000\000\000\000\003\238\003\237\000\000\000\000\002\212\000\000\000\000\002\211\000\000\000\000\002\210\002\209\002\208\002\207\002\206\001\141\002\202\000\000\003\233\002\203\000\000\003\234\002\205\000\000\003\236\000\000\000w\002\167\000\000\000\000\002\170\000\000\000\000\002\173\000\000\000\000\002\168\002\171\000\000\002\169\002\172\002\213\002\201\003\235\000x\000\000\000\000\000\000\000\000\001(\001'\000\000\000\000\000\000\000\000\000\000\000\000\001\135\000\000\0013\001\133\000\000\001&\000\000\002B\000\000\000\000\001\138\000\000\000\000\001\139\000\000\001\175\000$\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&\000\000\000\000\000\000\000\000\000\000\000\000\002A\000\000\000\000\000\000\000\163\000\000\000\000\000\162\002E\001=\000\000\001\137\001\140\000\000\001\134\000\000\001\022\000\000\003>\000\000\000\000\001\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\028\000\000\000\000\000\000\000\000\000\000\000\000\001t\000\000\000\000\000\000\001\015\000\000\001\012\000\000\000\000\000\000\000\000\000\000\001\023\000\000\001\019\000\000\000\000\000\000\000\000\001\020\000\000\001\016\000\000\000\000\000\000\002\230\000\000\000\000\000\000\003\252\003\251\000\000\003d\000\000\003c\000\000\000\000\000\000\000\000\004\015\000\000\000\000\000\000\004\016\000\000\000\018\000\000\000\000\000\000\000\000\002\237\000\000\000\000\000\000\002\236\002\235\002\234\002\233\002\232\002\228\000\000\003\247\002\229\000\000\003\248\002\231\000\000\003\250\000\000\000{\002\181\000\000\000\000\002\184\000\000\000\000\002\187\000\000\000\000\002\182\002\185\000\000\002\183\002\186\002\239\002\227\003\249\000\000\000\000\000l\000\000\000k\000\000\002\238\000\000\002\000\000j\000B\001M\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\145\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\000\000\000\000\000\000\000\000|\000\000\004\011\000\000\001\203\000\000\000\000\000\000\001\001\003Z\001\165\001\164\001\128\001\127\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003h\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\001-\000\000\000\000\0023\000\000\000\000\000\154\0027\0024\001;\001\030\000\000\001 \001\031\000\000\003f\000\000\003e\003W\000\000\000\000\000\000\000\000\000\000\003`\000\000\000\000\000\000\000\000\003a\003Y\000\000\003g\000\000\003[\000\000\001\005\001\130\000\000\003j\000\000\001\132\000\000\000\000\003\131\000\000\003\138\001\007\000\000\001\r\000\000\003\132\001\006\000\000\003\133\000\000\003\140\000\000\000\000\000\000\000\000\001\026\000\000\001\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\024\000\000\000\000\001\027\000\000\000\000\000\000\000\000\001s\000\000\000\000\000\000\001\014\000\000\001\011\000\000\000\000\000\000\000\000\000\000\001\021\000\000\001\017\001\003\001\002\000\000\003\141\003\142\000\000\003\143\000\000\003\144\000\000\001\131\003^\000\000\000\000\002\022\000\000\001\199\002\004\000\000\003X\000\000\000\000\000\000\003]\000\000\000\000\000\000\001g\000\000\001a\000\000\001b\000\000\001l\001`\001k\000\000\003i\001m\000\000\001\b\000\000\000\000\000\000\000\000\001i\001d\002\019\000\000\001e\000\000\001f\000\000\001\193\002\001\000\000\000\000\000\000\002\029\000\000\002\027\000\000\000\000\002\031\002\025\000\000\002 \002\026\000\000\003k\002#\000\000\001\004\000\000\000\000\002\020\000\000\001\195\002\002\000\000\004\012\000\000\004\t\000\000\004\n\000\019\000\020\000\000\000\000\003\"\000\000\003!\000\000\002c\000\000\003$\000\000\003#\000\000\000\000\000\000\002k\000\000\000\000\002o\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002r\000\000\000\000\002u\000\000\002e\000\000\000\000\002h\000\000\000\000\000\000\002l\000\000\000\000\002p\000\000\000\000\002\021\000\000\000\000\002i\000\000\000\000\002m\003\031\002f\000\000\003 \000\000\000\000\000\000\000\000\002s\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002q\000\000\000\000\002t\000\000\002d\000\000\000\000\002g\000\000\000\000\000\000\002j\000\000\000\000\002n\000\000\001\197\002\003\000\000\003%\000\000\000\000\000\000\004\r\000\017\000~\000\000\004\014\000\000\000\000\003:\000\000\000\000\003l\000s\000\000\000\000\000\000\000t\000\000\003b\000\000\001\171\000\000\001\173\003_\000\000\000\000\001\151\000\000\001\150\000\000\001\160\000\000\001\185\000\000\000\000\000\000\001\149\000\000\001\148\000\000\001\157\000\000\001\183\000\000\000\000\000\000\001\156\000\000\000\000\000\000\001\153\000\000\001\152\000\000\001\158\000\000\001\187\000\000\000\000\000\000\001\154\000\000\000\000\000\000\001\147\000\000\001\146\000\000\001\161\000\000\001\181\000\000\000\000\000\000\001\155\000\002\000\000\000`\000a\000\000\000\000\002\255\003\003\003\007\002\251\002\248\000\000\000\000\003\004\003\011\002\252\003\n\002\250\003\t\002\254\002\246\002\253\003\006\002\249\003\000\002\247\003\002\003\b\003\005\003\001\001\222\001\221\000\137\000\000\000\000\003P\000\000\000\000\0034\000\000\000\000\0036\0035\003\021\000\000\000\000\003V\003\r\003\012\003\014\000\000\001\236\000_\001\162\000\003\000\000\000\000\002\242\000\000\002y\000\000\000\138\000\000\000\000\003R\000\000\000\000\000\000\000\130\000\000\000\000\003B\000\000\002]\002\\\001\215\003\022\000\000\001\251\000\000\002\243\000\000\000\000\000\132\000\000\000\000\003F\000\000\001\233\000\000\000\000\001\227\000\000\000\000\000\000\001\232\000\000\001\229\000\000\000\000\000\000\001\205\001\204\000\000\000\000\000\000\001\252\000\000\001\225\000\000\001\224\000\000\000\127\000\000\000\000\003<\000\000\000\000\001\220\000\000\000\000\000\135\000\000\000\000\003L\000\000\000\000\003\029\000\000\003\028\000\000\000\000\000\000\002[\002Z\003\026\002\129\003\017\003\027\000\000\001\239\000\000\000\000\000\000\001\235\000\000\001\241\000\000\000\000\001\228\000\000\000\000\000\000\003\019\000\136\000\000\000\000\003N\000\000\003\018\000\000\001\237\000\000\000\000\001\238\000\000\000\000\001\231\000\000\000\000\001R\000\000\001Q\000\000\000\000\000\000\000\000\000\000\001\253\000\000\001\226\000\000\001P\000\000\002)\000\133\000\000\000\000\003H\000\000\000\000\000\000\000\000\003\127\003~\000\000\000\000\001x\000\129\001w\000\000\000\000\003@\000\000\002U\002T\002W\003\015\002}\002V\001O\000\000\000\134\000\000\000\000\003J\000\000\000\000\000\000\000\000\002Y\002X\003\025\003\023\002\127\003\016\003\024\000\000\001\246\000\000\001\249\000\000\000\000\001\242\000\000\000\000\000\000\001\234\000\000\001\240\000\000\000\000\001\230\000\000\000\000\000\000\000\000\000\000\000\000\001\219\000\000\000\000\001\248\000\000\001\247\000\000\000\000\000\000\000\000\001\245\000\000\000\000\001\244\000\000\001\243\000\000\000\000\001\250\000\000\000\000\001\163\000\004\000\000\001\223\000\005\000\000\000\000\001U\000\006\000\000\002\b\002\t\002\007\000\000\002\006\003\128\001\211\000\000\000\007\000\000\002\011\002\012\002\n\000\000\000\000\000\000\000\000\001W\000\000\000\000\000\000\000\000\001\\\001^\001]\001X\001Z\001Y\000\000\000\000\000\000\000\000\000\000\003\134\003\147\000\000\003\135\000\000\003\136\000\000\000\000\003\129\000\000\000\000\000\000\000\000\003\146\000\000\000\000\003\145\002\016\002\015\000\000\000\000\001\213\002\005\002\r\000\000\000\000\000\000\000\000\000\000\002_\000\000\000\000\000\000\000\000\000\000\002H\002^\000\000\000\000\000\000\000\167\000\000\000\000\000\166\002L\002I\001?\000\255\000\000\000\000\000\000\000\000\001r\000\000\003\150\000\000\003\151\000\000\000\000\002&\002$\000\000\002%\000\b\000\000\000\t\000\000\002\144\002\145\002\143\000\000\002\142\000\000\000\n\000\000\002\147\002\148\002\146\000\000\002\150\000\000\000\000\000\000\002\136\000\000\000\000\002\138\000\000\002\132\000\000\002\134\000\000\002\139\000\000\002\140\000\000\002\133\002\131\002\151\001\217\002\141\000\000\002\153\000\000\002\152\000\000\002\154\000\000\003\030\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002\155\000\000\000\000\002\158\000\000\002\157\000\000\002\156\001!\000\000\000\000\000\000\000\000\001\"\002\159\000\000\000\000\000\000\003*\000\000\003)\000\000\000\000\000\000\000\000\003+\000\000\000\000\001T\000\000\000\000\000\000\000\000\000\000\0038\000}\000\000\000\000\001*\000\000\001K\001J\000\000\001\143\000\000\003(\001\209\001\207\000\000\000\000\000\000\000\000\003,\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003'\000\000\000\000\000\000\000\000\000\000\000\000\003&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0033\000\000\000\000\0032\000\000\003/\000\000\000\000\000\000\000\000\000\000\0030\000\000\000\000\000\000\0031\000\r\000\000\003-\000\000\003.")
1489
1490 let error =
1491 (188, "\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\003\000\000\000\000\000\000\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\0000\000\000\000\000\000\000\000\000\000\000\000\128\016`\000\000 C\000\000\000\000\000\000\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\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\000\000\000\000\000\000\000\000\000\000\000\000?\192\000\000\000\000\000\000\000\007\175j\240\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\016\133\012\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\tP\208\002\128\131T\016\018\025\129\024\003@\"\029\224H\000\016\230C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\173\028\000\000\0001\000\001\000\024\017\128\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\nP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\016\133\012\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\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\026\209\192\000\000\003\016\000\016\001\129\024\001\000 \b@\000\000\000&C\016\016\133\012\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\016\165\012\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\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\016\133\012\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\002\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\016\133\012\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\016\133\012\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\016\133\012\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\016\133\012\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\016\165\012\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\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\016\133\012\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\016\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\016\000\000\000\b\000\000\128\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\004\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\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\016\000\000\000\000 \000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\0001\016\000\b\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\002\004\000\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\b\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\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\128\000\016\000\000\000\b\000\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\016\133\012\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\016\133\012\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\000\128\000\016\000\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\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\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128\128\004\000\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\004\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\000@\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\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\001\000\000\016\000\000\000\b\000\000\000\000\000\000\007\175j\240\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\000\000@\000\016\133\012\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\007\175j\240\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\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\002\000\000\"\000\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\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \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\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b'\175j\240\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130z\246\175\000\001\018B\000H4\n\1319\144\000\bH\004\000\128\004\016\b \000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \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\002@\000\003\019\004\217d\176\000\000P\002\004\000\000n\128B|w\000\000\000\000\000\000\000\000\000\000\000\000\016\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\000z\246\175\000\001\018B\000H4\138\131;\144\000\bH\004\000\128\004\018\b'\175j\240\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\00010M\150K\000\000\005\000 @\000\006\232\004'\199p\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\005\000 \000\000\006\200\000'\135p\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\005\000 \000\000\006\200\000'\135p\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\0001\016M\132K\000\000\005\000 \000\000\004\200\000'\131p\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\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\192\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\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\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\016\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\004\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\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\004\000\007\175j\240\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\003\175j\208\000\016\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\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\016\165\012\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\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\016\133\012\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\002\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\016\133\012\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\016\133\012\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\016\133\012\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\016\133\012\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\001(\016\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\nP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\016\133\012\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\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\nP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\016\133\012\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\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\016\000\000\000\b\000\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\000@\000\016\133\012\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\016\133\012\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\000\128\000\016\000\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\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\016\133\012\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\016\133\012\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\002\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\016\133\012\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\016\133\012\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128\128\004\000\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128\128\004\000\000\000\b\000\000\000\000\000@\007\175j\240\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\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\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\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\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\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\000\002\000\007\175j\240\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\007\175j\240\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\000\000\000 \000z\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\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\016\000\000\016\000\000\000\b\000\000\000\000\"\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\b\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\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\000\007\175j\240\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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:\246\173\000\001\000\002\000\000\000\000\128\000\000\000\000\b\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\246\175\000\001\000\002\000\000 \128\128\004\000\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\017\t\001\024\001\000 \b@\000\000\000&C\023\175j\240\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\016\133\012\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\b\000\000\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\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\n\1319\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\000\004\016\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\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\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\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\0000 E\146J\000\000\004\000\000@\000\006\168\004#\004`\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\007\175j\240\000\017$ \004\131H\1683\185\000\000\132\128@\b\000A \130z\246\175\000\001\018B\000H4\138\131;\144\000\bH\004\000\128\004\016\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\007\175j\240\000\017$ \004\131H\1683\185\000\000\132\128@\000\000A \130z\246\175\000\001\018B\000H4\138\131;\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000h\128\0020F\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\192\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\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\000\"\000\007\175j\240\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\007\175j\240\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\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\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\128\000\001\000\000\000\000\000\004\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@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\128\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\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\007\175j\240\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\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\007\175j\240\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\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\007\175j\240\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\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\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\016\000\002\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\017\t\001\024\001\000 \b@\000\000\000&C\023\175j\240\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\016\133\012\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\016\133\012\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\001\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\023\175j\240\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\007\175j\240\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\007\255\235\248 Q\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130z\246\175\000\001\000\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\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\001(\016\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000(\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\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\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\0000\001\000(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\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\016\001\000(\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\002\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\016\001\000(\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\016\001\000(\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\016\001\000(\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\016\001\000(\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\0000\001\000(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\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\016\001\000(\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\016\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\016\000\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024\128\000\002@\002\029\160H\000\016\192\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\016\001\000(\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\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128\128\004\000\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\000\128\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\016\000\000\000\b\000\000\000\000\000\000\007\175j\240\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\016\001\000(\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\016\001\000(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128\128\004\000\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\175j\208\000\016\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\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\0000\001\000(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\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\016\001\000(\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\002\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\016\001\000(\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\016\001\000(\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\016\001\000(\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\016\001\000(\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\001(\016\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000(\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\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000(\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\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\016\000\000\000\b\000\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\000@\000\000\016\001\000(\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\016\001\000(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\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\016\001\000(\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\016\001\000(\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\002\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\016\001\000(\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\016\001\000(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128\128\004\000\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000\000\000\000\128\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128\128\004\000\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024\128\000\002@\002\029\160H\000\016\192\000\007\175j\240\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\016\001\000(\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\000\000\000\000\016\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\002\000\000\000\000\000 A\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\002\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\254\191\128\001\000\002\000\000 \000\128\000`\000\000\b\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\000z\246\175\000\001\000\002\000\000 \000\128\000\000\000\000\b\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\002\000\000\000\000\000\000\000\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130z\246\175\000\001\018B\000H4\n\1319\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\007\175j\240\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\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\002\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\000\000\000\000\000\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\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\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\0000 A\146J\000\000\004\000\000@\000\004(\004 @`\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\007\175j\240\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\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\128\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\018@\000@3\138\0039\144\000\024H\004\002\160\004\016\b \000\000\002@\000\003\019\004\217d\176\000\000P\002\004\000\000n\128BTw\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 @\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\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002@\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\000\000\018@\000@3\n\0039\144\000\024H\004\002 \004\016\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\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\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\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\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\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\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\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\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\018@\000@3\138\0039\144\000\024H\004\002\160\004\016H \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\018@\000@3\138\0039\144\000\024H\004\002\160\004\016\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\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\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\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\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\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\016\000\018\000\000\000\000\000\000\000\000\002\000\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\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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:\246\173\000\001\000\002\000\000\000\000\128\000\000\000\000\b\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\016\000\000\000\000\000\000\000\000\000\000\002\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\007\255\235\248 Q\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130z\246\175\000\001\018B\000H4\n\1319\144\000\bH\004\000\128\004\016\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\018@\016H4\n\0039\144\000\bH\004\000\128\004\016\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\131\197\026B\128@1\138\227\185\240\128\025\234\012\000\017\165\016( \000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\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\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\007\255\235\248 Q\164(\004\003\016\174;\159\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128H5\011\227\185\240\128\025\234\012\000\145\165\020('\175j\240\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\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\002\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\018@\000@0\n\0039\144\000\024H\004\000\000\004\016\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\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\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\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\00010M\150K\000\000\005\000 @\000\006\168\004\005\007p\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\007\175j\240\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\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\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\0001\016M\132K\000\000\005\000 \000\000\006\136\000\005\007p\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\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\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\192\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248<Q\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\007\255\239\252<Q\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\007\255\235\248 Q\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128H5\011\227\185\240\128\025\234\012\000\145\165\020('\255\235\248 Q\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\000\000\000\000\016\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\002\000\000\000\000\000 A\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\002\004\026@\128@1\n#\185\144\128\025\234\012\000\017\133\016( \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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001$\001\004\131@\1603\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\001$\001\004\131@\1603\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\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\002\000\000\000\000\000 A\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\002\004\026@\128@1\n#\185\144\128\025\234\012\000\017\133\016( \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\128\000\016\000\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\b\000\000\000\000\002\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\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\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\b\000\000\128\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\007\175j\240\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\002\000\000\000\000\000 A\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\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\127\254\191\130\005\026B\128H5\n\227\185\241\128\025\234\012\000\145\165\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\239\252<Q\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\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248 Q\164(\004\003\024\174;\159\024\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\b\004\000\000\000\001\000\000\000\000\000\128\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\138\227\185\241\128\025\234\012\000\017\165\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\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\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\000\127\254\191\130\005\026B\128H5\n\227\185\241\128\025\234\012\000\145\165\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\138\227\185\241\128\025\234\012\000\017\165\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\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\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\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\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\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\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\001$\000\004\131P\1607\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\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\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\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\003\175j\208\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\000\016\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\007\255\235\248 Q\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\000\000\016\b\004\000\000\000\001\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\n\227\185\241\128\025\234\012\000\145\165\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\016\000\001\024\001\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\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\002\004\026@\128@1\n#\185\144\128\025\234\012\000\017\133\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\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\001\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\127\254\255\194\005\026C\128L5\011\227\185\241\1289\234L\001\145\229\029k0\000\000\000 A\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\007\255\235\248 Q\164(\004\003\024\190;\159\b\001\158\160\192\001\030Q\198\130\000\000\000\000\000\000\000\000\b\004\000\000\000\000\000\000\000\000\000\128\000\000\000\007\255\235\248 Q\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\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\007\255\235\248 Q\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\007\255\235\248 Q\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\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\004\000\007\255\235\248 Q\164(\004\003\024\190;\159\b\001\158\160\192\001\026QB\130\000\000\000\000\000\000\000\000\b\004\001\000\000\000\000\000\000\000\000\128\000\004\000\007\255\235\248 Q\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\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\007\255\235\248 Q\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\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\016\001\001\024\000\000\000\b\000\000\000\000\004\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\254\191\130\005\026B\128@1\138\227\185\240\128\025\234\012\000\017\165\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\016\012\004\000\000\000\000\000 \000\000\000\128\000\001\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026C\128L5\n\227\185\240\1289\234\012\000\145\165\017(7\255\235\248 Q\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\127\254\191\130\005\026C\128L5\n\227\185\240\1289\234\012\000\145\165\017(0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\004\000\007\255\235\248 Q\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\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\b\004\000\000\000\001\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\n\227\185\241\128\025\234\012\000\145\165\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\254\191\128\001\018B\128@0\n\1319\240\000\024H\004\000\000%\016( \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\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\191\235\248\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\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\007\175j\240\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\000\016\000\000\000\b\000\000\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\001$\000\004\131P\1607\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\016\000\001\024\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\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\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\001$\000\004\131P\1607\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\016\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\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\175j\208\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\000\016\000\000\000\b\000\000\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\001$\000\004\131P\1607\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\001\000\000\000\000\000\000\000\000\000\000\004\000\007\191\235\248\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\002@\000\003\003\004\025$\176\001\000@\000\004\128\000b\128@@F\000\000\000\000\000\000\000\016\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\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138\131;\144\000\bH\004\000\128\004\018\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\016\000\001\024\000\000\000\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\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\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\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\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\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\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001$\000\004\131P\1607\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:\246\173\000\001\000\002\000\000\000\000\128\000\000\000\000\b\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\016\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\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\001\000\000\000\000\000\000\000\000\000\000\004\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\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\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\007\255\235\248 Q\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\007\255\235\248 Q\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\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\007\255\235\248\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\001\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\023\255\235\248 Q\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\007\255\235\248 Q\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\001$\000\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\016\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\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\001$\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 A\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000 A\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 A\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\001$\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248\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\001\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\023\255\235\248\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\007\255\235\248\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\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\001$\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\b\003\128\130D\144!\000\128\000\002@\002\020\161H\000\024\192\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\016\001\000(\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\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000 \000\000\000\016\001\000(\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\128\000\000\000\000 \000\002\000\000\000\000\000\000\000\002\002\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\"\000\000\000\000\000\000\000\002\002\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\003\128\130D\016!\000\128\000\002@\002\020\129H\000\024\192\000\007\175j\240\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\000\016\001\000(\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\016\001\000(\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\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\b\000\000\000\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 @\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\246\175\000\003\128\130@\016!\000\128\000\002@\002\020\129H\000\024@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\003\128\130\000\016!\000\128\000\002@\002\020\129H\000\024@\000\000\000\016\001\000(\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\128\000\000\000\000\000\000\002\004\000\000\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\000\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\016\001\000(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\n@\002\029\160H\000\016\224\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\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\000(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\016\000\000\n@\002\029\160H\000\016\224\000\000\000\016\001\000(\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\000\000\128\000\000\016\001\000(\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\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\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\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\000z\246\175\000\001\000\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 @\007\175j\240\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\004\000\000\001\000\016\002\128\130D\016\000\024\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\000\000\000\000\000\000\000\016\001\000(\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\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\000\000\000\000@\000\000\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\016\001\000(\b$A\000\017\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\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\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\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000.\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\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\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\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\000\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\016\001\002(\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\001\002(\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\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\128\000\000\000\000\000\000\000\000\000\000\000\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\000(\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\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\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\000\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\160\016\129\000(\b$A\000\001\128\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\024\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\024\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\132\130D\016\002P\000\000\n@\002\029\160H\000\016\224\000\000\000\016\001\000(\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\128\000\000\016\001\000(\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\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\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\001\000\016\002\128\130D\016\000\024\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\024\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000@\000\000\b\000\000\000\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\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\b\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000 \000\000\000\016\001\000(\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\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\001\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\000\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\016\001\000(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\224\130D\016\000P\000\000\n@\002\029\160H\000\016\224\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\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\000(\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\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\000z\247\175\016\003\128\130D\016!\016\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\001\000\016\002\128\128D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000.H$A\000%\128\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\002\016\000\000\002@\002\029\160H\000\016\192\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\016\001\000(\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\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\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\004\000\000\000\000\000\000\007\175z\241\0008\b$A\002\017\136\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\000\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\016\001\000(\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\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\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\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\007\175j\240\1288\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\018@\000H4\014\0039\144\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\127\254\255\194\005\026B\128H=\014\227\185\240\128\025\234L\000\145\165\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H=\n\227\185\240\128\025\234L\000\145\165\016+7\191\239\252\000\016\000 \000\002\000\b\000\000\000\000\000\004\000\000\000\000\000\000{\254\255\192\001\000\002\000\000 \000\128\000\000\000\000\000@\000\000\000\000\000\007\191\239\252\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\000\016\133\012\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\016\133\012\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248<Q\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128@1\138\227\185\240\128\025\234\012\000\017\165\016( \000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\138\227\185\240\128\025\234\012\000\017\165\016+0\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\000\000\016\b\004\000\000\000\000\000\000\000\000\000\128\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\n\227\185\240\128\025\234\012\000\145\165\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000@3\138\0039\144\000\024H\004\002\160\004\016H \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\007\255\235\248<Q\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128@1\138\227\185\240\128\025\234\012\000\017\165\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\127\254\191\130\005\026B\128@1\138\227\185\240\128\025\234\012\000\017\165\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\131\197\026B\128@1\138\227\185\240\128\025\234\012\000\017\165\016('\255\235\248 Q\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\007\191\239\252\000\016\000 \000\002\000\b\000\000\000\000\000\132\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\016\000\001\024\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\017\128\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\b\000\000 \000z\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\000\007\175j\240\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\000\000\000 \000z\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\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\001\000\000\001\000\000\000\000\128\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002 \000z\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\254\191\130\005\026B\128H5\n\227\185\240\128\025\234\012\000\145\165\016h \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\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\007\255\235\248 Q\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\016\133\012\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\b\b\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\014\0039\144\000\bH\004\000\128\004\016\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\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\254\255\194\005\026B\128H=\014\227\185\240\128\025\234L\000\145\165\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H=\n\227\185\240\128\025\234L\000\145\165\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128@1\138\227\185\240\128\025\234L\000\017\165\016+0\000\000\000\000\000\000\000\000\128@\000\000\000\000\000\000\000\000\b\000\000\0001\127\254\255\194\005\026B\128@1\138\227\185\240\128\025\234L\000\017\165\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H5\n\227\185\240\128\025\234L\000\145\165\016+7\255\239\252 Q\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\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\007\255\239\252 Q\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\007\255\239\252 Q\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\007\255\239\252 Q\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\016\133\012\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\000\000\007\255\239\252 Q\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\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\007\255\239\252 Q\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\016\133\012\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\000\016\000\004\000\000\000\000\000\000\000\000\004\t\018\224\006\000\000\001\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\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000 \000\000\016\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \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\001\002\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000 \004\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\016\000\000\000\b\000\000\000\000\001\000\000\000\000\016\000\000\000\000\000\000\000\001\006\000@\000 \020\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\016\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\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\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\224\006\000\000\001\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000`\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\016`\004\000\000\001\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016`\004\000 \001\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016`\004\000\000\001\000\000\000\000\000\000\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\001\006\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\224\006\000\000\001\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000`\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\016`\004\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016`\000\000\000\001\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016`\006\000\000\001\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016`\004\000\000\001\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\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\002\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\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\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\128\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")
1492
1493 let action =
1494 ((16, "\001d\000\237\000\000\000\000\000\236\000\237\000\000\000\000\000F\000\000\000\000\000\000\001\t\000\000\000\000\000\000\001d\000\000\000u\030\002\000\000\019\220\019\220\000\000\000\000>\004\019\220\000\000\027\204\019\220\000\000\000\000\019\220\000\000\019\220\000\000\000K\000h\019\220\000\000\019\220\000\000\000\000\000\000\019\220\000\000\019\220\000\000>\186\019\220\000\000S\012\019\220\000\000\000\000\019\220\000\000\019\220\000\000\000\154\001\016\019\220\000\000\019\220\000\000\019\220\000\000\019\220\000\000S&\019\220\000\000\000\000\019\220\000\000\019\220\000\000\000k\004x\004x\000\000\000r\001\170\000k\000\000\000f\001\"\000\000\000\000\000\000\000\000\000\000\000\000\001\220\000\000\000\000\001\212\005\186\000\000\002n\001\188\004x\000\000\002\170\007&\000\000\000\000\000\000\001\206\019\220\000\000S\012\004x\001\230\019\220\000\000\000\000\019\220\000\000\000\000\019\220\000\000\019\220\000\000\002\022\002\\\019\220\000\000\030\002S$J\244\000\000\000\000T\156\002\232:\232\001\220J\244\000\000\000\000\002,\019\220\000\000J\244\000\000\000k\0005J\210\000\000\000\000N\180On\000\000Tz\000\000O\236?4\026\160\026\160Tz?4\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000PD?4\000\000\000\000PDPDPD\000\000PD\000\000?4PD\000\000\000\000\000\000\031\216\000k\000\000\021R\026\160?4\000\000 \236?4(\150?4(\174?4\000\000\000\000\000\000\000\000\000\000\000\0001\026?4\000\0002\028?4)\196?4*&?4\000\000?4\000\000?4+(?4+\138?4,\140?4,\238?4-\240?4.R?4\003(?4\000\000\000\000\000\000\000\000\000\000?42~?43\128?43\226?44\228?4/T?4/\182?40\184?45F?46H?4\000\000?46\170?47\172?48\014?4\000\000?49\016?49r?4\000\000\000\000?4\000\000\003D\000\000\000\000\000k\000\000\000\000\000\000\003Z\000\000\003\168\000\000\000y?4\000\000\000y\000\000\000\000\002,\030\002\000\000\019 \019\220\000\000\000z\019\220\000\000UH\019\220\000\000\000\000\019\220\000\000\019\220\000\000\004\016\004\164\019\220\000\000\019\220\000\000\019\220\000\000\019\220\000\000\006 \019\220\000\000UT\019\220\000\000\000\000\019\220\000\000\019\220\000\000\004\146\004\200\019\220\000\000\019\220\000\000\019\220\000\000\019\220\000\000Up\019\220\000\000\000\000\019\220\000\000\019\220\000\000\002\000\004x\004\168\019\220\000\000S&\004x\005N\019\220\000\000\000\000\019\220\000\000\019\220\000\000\019\220\000\000\005\192\006>\019\220\000\000UTJ\244\006<\019\220\000\000[ZVj\000\000\001\"\007\\\000k\006\178\007\168W&W&\000\000\000\000\000\170[\138W&\0014W\224\000\000\000\000\000\000\004\184\007\180\000\018\007\228W&\000\000\000\000\007\"\000\000\0078\b\bW&\007D\000\000\000\000\000\000\003FX\016\000\000\000\000\000\000\007L\b4\000\000\b@\000\000\021\130\002\220J\244\007Z\019\220\000\000X(J\244\007~\019\220\000\000\000\000\000k\bn\000\000\000\000\000\000\002,\000\000\000\000\026\160\007\152\000\000\007\154Tz\000\000\000\000\000\000\000\000\000\000\000\000PD\000\000\000\000PD\000\000\000\000PD\000\000Tz\000\000\000\000K~\000k\000\000\021R\021R\000\000\004\186\025\144\021R$\000?4\000\000?4\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%V?4=\214?4\007\200?4\000\000?4`d?4aP?4a\192?4b\018?4bR?4b\210?4\000\000?4c\018?4cd?4c\212?4\000\000?4d&?4df\004\198\022\188\000\000\000\000\005\144\024&\000\000\000\000\000\000\000\000\007\160\000\000?4\007\160\000\000\000\000\000k\000\000\000\000\000\000\000\000\007\178\000\000\000\000\000\000\000\000\000\000\000\000\007\182\000\000\000\000\000\000\007\182\000\000\000\174P\194\bt?4\bB\000\000\000\000Tz\000\174\000\000\007\200\000\000\007\204?4\000\000\026\160\007\206\000\000\000\000\b\170\000\000\026\160\007\222\000\000\000\000\026\160\007\224\000\000\000\000\007\222\000\000\000\000\0005\000\000\b\208\000\000X@J\244\007\230\019\220\000\000\000\000\bp\000\000\007\242\019\220\000\000\000\000\002.\030\002\000\000\030\002\000\000\007\228\000\000\002.\000\000\017\134'\148\019\182\000\000\0066\019\182\000\000\019\182\019\182\000\000\000\000\019\182\000\000\019\182\000\000\b.\b\\\019\182\000\000\019\182\000\000\019\182\000\000\019\182\000\000\006\220\019\182\000\000\019\198\019\182\000\000\000\000\019\182\000\000\019\182\000\000\b2\b`\019\182\000\000\019\182\000\000\019\182\000\000\019\182\000\000L&\019\182\000\000\000\000\019\182\000\000\019\182\000\000\004\002\004x\b\n\019\182\000\000\019\214\004x\b\014\019\182\000\000\000\000\019\182\000\000\019\182\000\000\019\182\000\000\bD\br\019\182\000\000\030\002\b\"\000\000\019\220J\244\b\"\019\182\000\000\000\000\000k\000\000\001F\000k\000\000\000\000\000\000\t\022\000\000\004>J\244\b,\019\182\000\000L&J\244\b8\019\182\000\000\000\000\022\236\019\182\000\000\007\150\019\182\000\000LP\019\182\000\000\000\000\019\182\000\000\019\182\000\000\bh\b\150\019\182\000\000\019\182\000\000\019\182\000\000\019\182\000\000\bR\019\182\000\000L\158\019\182\000\000\000\000\019\182\000\000\019\182\000\000\bp\b\158\019\182\000\000\019\182\000\000\019\182\000\000\019\182\000\000L\198\019\182\000\000\000\000\019\182\000\000\019\182\000\000\005\178\004x\bF\019\182\000\000L\158\004x\bH\019\182\000\000\000\000\019\182\000\000\019\182\000\000\019\182\000\000\bz\b\168\019\182\000\000L\214J\244\bP\019\182\000\000\000\000\006bJ\244\bR\019\182\000\000L\228J\244\b\\\019\182\000\000\000\000\000\000\000\000\000\000\000\000\t6?4\bv\030\b\b\246\000\000\t@?4\b\132\tL:\232\000\000\000\000\000\000!\164\000k\000\000\000\172?4:\206\000\000Q\026\026\160\b\144\000\000\000\000?4\b\148\000\000\026\160\b\148\000\000\b\154[\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000PD\000\000\000\000PD\000\000\000\000PD\000\000[\170\000\000\000\000`\204\000k\000\000\021R\b\158\000\000?4\b\164\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\000\000\000?4\002@?4\b\168\000\000\000\000:\206:\206\"b\003\138\th?4\000\000\t0\000\000\000\000\000k\000\000#\132\000\000\b\230:\206\000\000\b\226:\206\000\000\000\174\000\000\000\000d\230?4e&?4e<?4e\162?4f\018?4f(?4f~?4f\234?4\000\000?4g<?4g\162?4g\184?4\000\000?4h4?4hV\003\144;v\000\000\004\220<\138:\206\000\000\004\230<\000\000\000\000\000\000\000\b\184\000\000\000\000\b\186\000\000\t\168\000\000\000k\000\000\000\172\t\172\000\000\001\152\t|\000k\b\204\t\150W&\b\214\005\024\000\000?4\t\190\000\000\003z\004(\t\192W&\b\254\t\244\000\000\000\216?4\t\246\000\000\t\248\000\000\021\130\000k\002\220?4\t\250\000\000\t\252\000\000\000k\002\230?4\n\000\000\000\n\002\000\000\000\t\tH\007L\000\000Q\152\026\160\t \000\000\000\000?4\000\000\n\b\000\000\001t\t\222?4\t\166\000\000\t\230?4\t\172\000\000\000\198\000\000\007L\007L\026\160\t0\000\000\t:\\\002\\\002\000\000\000\000\000\000\000\000\000\000\000\000PD\000\000\000\000PD\000\000\000\000PD\000\000\\\002\000\000\000\000'\148\000k\000\000\021R\t<\000\000?4\t>\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\000=*?4\000\000?4\000\000\tF\000\000\000y\000\000\000\000\000\000\000\000\000\000?\230?4@H?4\tp?4\000\000?4AJ?4A\172?4B\174?4C\016?4D\018?4Dt?4\000\000?4Ev?4E\216?4F\218?4\000\000?4G<?4H>\000\000\001t\000\000\001t\000\000\017\134\007L\007L\000\000\000\000\000\000\000\000\000\000\000\000\n\022?4\tR\030\b\030\224\000k\n:\000\000\n\028J\210\nBJ\210\nF?4\tb\030\b\030\b\006b\006b\005\206\002\202\006b\000\000\000\000\005\218\007\016\000\000\005\228\b\152\000\000\000\000\000\000\000\000\000\000\tf\000\000\000\000\nN\000\000\nP\000\000\000\000\n\140\n4?4\tt\n^\000\000\nB\021R\t~\030\b\000\000\000\000\t\170\000\000\000.\000\000\005\214\000\000\000\000\001t\000\000\n\000\000\000\r$\000Q\000\000\r$\000\000\000\000#\132\000\000\0018\000\000\000\000\n8\000\000\r$\000\000\nL\021R\t\138\nx\000\000\001\168\000\000\nH\000k\t\150\nlW&\t\168\006T\000\000?4\n\154\000\000\n|W&\t\184\n\166\000\000\002\248?4\n\168\000\000\n\170\000\000\021\130\000k\003\000?4\n\172\000\000\n\174\000\000\000\000\000\000\n8\000\000\000\000\000.\000\000\007L\000\000\003\022\000\000\000\000\003`\030\224\000\000\003`\000\000\000\000\t\204\000\000\003\144\000\003\030\b\000\000\004`\000Q\004`\000\000\000.\000\000\007L\000\000\007L\000\000\000\000\000\000\t\198\000\000\000\000\t\208\000\000\005\184\005\214\000M\004`\000\000\000\000\000\000\002\014\000\000\007L\000\000\005\184\000\000\000\000\005\180\b\184\017\134\000\000\018D\000\000\b\194\017\134\000\000\000\000\b\194\000\000\000\000\t\206\000\000\000\000\t\216\000\000\006P\007L\000\000\006P\000\000\000\000\nV\000\000\000.\000\000\007L\000\000\000\000\000\000\018\240M\184\000\000\n\200\000\000\018\240\000\000\n\208\000\000\n\210\000\000!\164\000k\006\142\000\000?4\n\216\000\000\001\204\n\172\000k\t\250\n\194W&\t\254\007\014\000\000?4\n\230\000\000\007\016\000\000?4\n\232\000\000\021\130\000k\007&\000\000?4\n\234\000\000\006Z\018\240\000\000#\132\007L\000\000?4\n\236\000\000\000\000\000\000\005F\000\000\n\206\021R\n\n\n\244\000\000\007*\000\000\n\196\000k\n\020\n\220W&\n\024\007Z\000\000?4\011\004\000\000\007f\000\000?4\011\b\000\000\021\130\000k\007\128\000\000?4\011\n\000\000\006Z\000\000\000\000\n*\000\000\005F\007*\n\170\000\000\000\000\000\000\n\172\000\000\000\016\000\198\000\000\017\134\011\006\000\000\000\000?4\n`\007L\000\000\n2\000\000\000\t\000\000:\232\000\000\000\000\002>\017\134\000\000\017\134\000\000\n\"\000\000\002>\000\000?4\003\180?4\000\000?4\000\000\n$\000\000\003\180\000\000?4\003\180\n(\000\000\030\b\004&\030\b\000\000\030\b\000\000\n,\000\000\004&\000\000?4\003\180\n2\000\000:\232\004\222:\232\000\000:\232\000\000\n4\000\000\004\222\000\000?4\003\180\nV\000\000\000\000\029\\\000\000\000\000\n\220H\178\000\000\000\000\000\000\000\000\000\000\n\176\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\222H\178\000\000\002\240\004\238\000\000\n\178\000\237\000\000\000\000\000\000\000\149\004\238\000\000\000\000\000\000\000\000\011\016\000\000\000\000\000\000\000\000\"b$\250\000\000\\\182\000\000H\178\000\000\006@H\178\000\000\003^\005,\005,\000\000\0066\005,\000\000\n\138\000\000\000\000\000\000\000\000\011\022\000\000&L\000\000'\148H\178\000\000\000{H\178\000\000\011\028\000\000H\178\011\030\000\000^\142I\160\011&\000\000\011(\000\000^\250R^I\160\000\000\000\000\n\162H\178\0110\000\000\0114\000\000\0116\000\000\030\002\000\000\006\194\030\002\000\000\n\176\019\182\000\000\0032H\178\000\000\006\244H\178\000\000\003r\011\184\000\000\011\186\000\000H\178H\178\n\182\000\000\000\000\000\000\000\000\000\000\000\000\011D\000\000_\200H\178\011H\000\000\011J\000\000H\178\011L\000\000H\178\n\242\000\237\000\000\000\000\007\012H\178\000\000\003r\000\000\011P\000\000H\178\011R\000\000H\178\011T\000\000N\140\019\182\000\000\019\182\000\000I\160I\160\n\206H\178\011Z\000\000\011\\\000\000\019\182\000\000]\014\000\000\000\000\007\022H\178\000\000\004>\006B\005,\n\212\000\000\000\000\005 \000>\000\000\000\000\000\000\006\210\000>\000\000\n\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\178\000\000\007^H\178\000\000\000\003\007h\000\237\n\216\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011d\000\000\011f\000\000H\178\011h\000\000`\026H\178\011n\000\000\011p\000\000H\178\011r\000\000\028\n\011\028\031\216\019\198]\220\n\242\000\000H\178\011|\000\000\011\128\000\000\011R\028\nH\178\011\140\000\000H\178\011\142\000\000\011\144\000\000H\178\011\152\000\000\000\237\011\n\000\000\000\000\029\\\000\000\000\000\002\144\011\252\000\000\000\000\000\235\000\000\000\000\000\000?4\000\000\000\000\000\000\002\234\000\000\004\030\000\000\000\000\000\000\004`&\242&\242&\242\000\000\000\226\000\226\000\226\000\226\000\000\000\000\000\000\000\000\000\000\000\000\001t\017\134\011\252\014\154\000Q\000\000\000\000\0018\000\000\n8\000\000:\206\011&\000\000\001t\017\134\011,\016\016\000\000\001t\014\154\000\000\000\000\000\000J\244\014\230\000\000\000\000\000\000\011z\003\016\011\250Y\182Y\182\000\000\006v^\134Y\182\006\220Y\230\000\000\000\000\005\202\011\234\000k\000\000\007\006Z\160\000\000\000\000\000\000\000\000\000\000\0118\011\248\007L\0116\000\000\0018\000\000\n8\000\000\n\132\005\014\000\000\000\000\011\228\000\000\000\000\002\144\000\000\005R\000\000\000\000\000\000?4\000\000\002\234\000\000\005\198\000\000\000\000\000\000\005\214\000\000\011\174\002\218\011\174\000\000\007L\011\174\000\000\002\218\000\000\007L\000\000\007L\000\000\007L\000\000\n\132\000\000\000\000\000\000\000\000\000\000\007L\000\000\002\218\000\000\007L\000\000\rp\000\000\000\000\b\194\011j\000\237\005 \012\012\001X\000\000\001X\0124\000\000\0126\000\000\012<\000\000\000\000\001l\001X\006l\001X\000\000\000\000\002\n\004\022\011<\000\000\011F\000\000\011\134\000\237\004\022\011N\000\000\003\180\012R\000\000\004\022\007\226\012f\005\162\012f\000\000\000\000\004\250\000\237\000\000\000\229\000\000\000\000\003\218\000\000\011V\000\000\000\000\000\000\011\152\000\237\004\022\011^\000\000\000\000\003\180\004\022\007\226\004\250\000\229\003\218\011`\000\000\004\022\007\226\004\250\000\229\003\218\011b\000\000\005\144\000\164\011~\000\237\011x\b2\b0\011\162\000\237\000\000\011\164\000\237\000\000\012\002\000\000\011\136\b.\011\130\b2\012\b\000\000\011\134\b2\012\014\000\000\000\000\b2\000\000\012\016\000\000"), (16, "\rm\rm\rm\rm\rm\rm\rm\rm\rm\rm\rm\rm\rm\rm\000\n\rm\rm\rm\rm\rm\rm\rm\rm\rm\rm\030\178\001:\004~\015\210\rm\015\210\005-\030\182\006\157\rQ\n\218\rm\017^\rm\017^\025V\025^\rm\rm\026V\rm\001B\r\017\rm\005\157\0007\000;\002N\rm\rm\rm\000N\t\134\022\182\022\222\022\238\023\022\023&\023N\rm\027\191\027\195\rm\rm\005-\027\199\014!\004\174\rm\rm\004\182\rm\004\198\rm\000\n\026\194\000&\018v\rm\004\206\rm\rm\rm\rm\rm\001J\015\210\024\018\rm\rm\rm\rQ\rm\rm\rm\017^\000*\rm\rm\rm\rm\rm\t\245\001B\024\178\rm\rm\018\134\006\245\018\134\004\214\r\017\000\150\031.\012\225\012\146\rm\rm\rm\006\157\012\150\rm\rm\rm\rm\028\n\rm\012\154\rm\014!\005\157\rm\012\158\028\014\rm\rm\000\n\014!\014!\006\157\012\241\015\250\014!\006\157\004\230\019\190\rm\r\t\r\t\rm\026r\007\029\015\162\rm\rm\rm\rm\005\t\000\n\rm\r\182\rm\012\241\022f\t\245\rm\rm\rm\006\165\rm\018\134\rm\rm\022N\rm\015\254\rm\rm\0066\000\154\rm\rm\007%\007%\007%\007%\007%\007%\007%\007%\007%\007%\007%\007%\007%\007%\001Z\007%\007%\007%\007%\007%\007%\007%\007%\007%\007%\000\006\000\"\000\n\018v\007%\015\214\015\230\015\246\005\234\005\t\rI\007%\015\210\007%\030\018\004\189\005\t\007%\007%\000\242\007%\017^\004\189\007%\012\234\006\181\020\186\b\166\007%\r\246\007%\001^\001B\020\190\r\t\030\022\001b\020\194\005i\007%\001f\030:\030\026\006\014\014\234\r\t\015N\tA\007%\007%\007\029\r\t\r\t\007%\007%\014!\000\246\001j\007%\018\234\007%\007%\007%\007%\007%\000\n\014\234\015\002\007%\007%\007%\022:\007%\007%\007%\018\238\000\022\007%\007%\007%\007%\007%\001N\r\t\004\145\007%\007%\002\146\r\t\r\t\001\150\015.\002\158\021\014\000.\002\146\018\134\007%\007%\015.\002\158\007%\007%\007%\007%\002&\007%\030\"\007%\001B\018v\007%\006\026\002\146\007%\007%\t1\015.\002\158\015\210\030:\n\226\tf\005v\000\n\001B\014!\014!\017^\007%\022\150\014!\000\n\007%\007%\007%\007%\001z\005\157\007%\030*\007%\000\n\001B\030J\007%\007%\007%\006\189\006\189\000\n\007%\007%\004\150\007%\030B\007%\007%\000\n\007E\007%\007%\007E\007E\007E\007E\007E\007E\007E\007E\007E\007E\007E\007E\007E\007E\000\n\007E\007E\007E\007E\007E\007E\007E\007E\007E\007E\b\241\004\145\tn\007E\007E\001\134\007E\004\145\004\145\001\182\022\158\007E\b\221\007E\027\174\007E\018\134\007E\007E\004\145\007E\001\202\001\246\007E\007E\018v\012\241\007E\007E\007E\007E\012\241\007E\007E\015\210\001\250\007E\005\157\017\230\007E\012\241\r\190\007E\017^\012\241\004\145\006\154\030B\007E\007E\007E\007E\006\237\007E\002\030\018\234\0026\001B\007E\027\174\007E\007E\007E\007E\007E\r\202\001B\006\197\007E\007E\007E\018\238\007E\007E\007E\006\221\r9\007E\007E\007E\007E\007E\001\146\025V\025^\012M\007E\r\222\002\146\b\237\000\n\002\146\002\154\002\158\007E\015.\002\158\007E\007E\000\n\007E\007E\007E\007E\007E\005\213\007E\019\142\007E\007E\005I\007E\001\162\024f\007E\007E\018v\015n\018\134\002m\019\154\005\185\015\138\025f\005\213\000\n\007E\023\242\000\n\007E\022\190\0192\b\213\007E\007E\019R\007E\014\234\023\230\007E\007U\007E\014\234\t\217\004~\007E\025>\012M\n\025\n\025\t\253\014\234\007E\n\025\007E\014\234\007E\007E\003\162\004\141\007E\007E\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\023v\001&\027\246\001.\012\154\0016\001\214\001\222\001\226\012\158\027\250\022\246\023z\026V\006n\012\162\005\209\nb\002\157\004R\005\213\022\198\012\178\023~\001\234\023\130\007U\004n\002R\012\186\007\021\015\170\005\181\023\134\015\174\005\209\t\253\001B\005I\001\242\005\213\015\194\023\146\030~\005I\005I\023\150\n\254\004\197\026j\002b\014\162\023\154\028.\006\245\004\197\005I\005I\b\249\017r\016\006\028Z\028f\030\190\017v\019\202\004v\001B\023\158\002\134\000\n\002\138\005y\002\006\018~\017~\t\237\001>\022\254\016\030\002\146\017\130\005I\016\"\r\214\002\158\006\213\004\141\016&\016*\012\206\012\210\016.\004\141\004\141\023\162\001B\017\134\023\166\004\218\000\n\0065\023\246\023.\006.\004\141\030\n\005\209\r>\0162\023\250\023\170\017\138\017\142\0166\017\146\023\174\000\n\023\178\017\166\023\182\023\186\005U\023\190\029/\017\178\016>\005\209\001B\000\n\023\194\004\141\0293\023\198\027\231\027\235\015\030\028z\t\237\027\239\017\210\023\138\0296\006\229\017\214\018\"\005y\012\214\023\202\001F\016B\004\222\018&\023\206\023\210\024\006\016J\005y\005y\021\154\026n\000\n\005y\018.\005.\016N\024j\007M\007M\0052\0236\002\214\007M\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\004~\001&\027\246\001.\012\154\0016\001\214\001\222\001\226\012\158\027\250\005~\003\229\007V\007=\012\162\003\229\b\181\026r\b\030\007=\007=\012\178\b\165\001\234\031*\000\n\018\234\002R\012\186\014\174\015\170\030\166\005\002\015\174\014\190\005\n\t\t\005\026\001\242\015\"\015\194\002}\018\238\t\154\005\"\011\254\t\162\006\205\t\178\002b\001>\030\n\015\210\028\218\004\150\t\186\020\014\007=\017r\016\006\028Z\017^\002\146\017v\020\018\001B\015.\002\158\002\134\001B\002\138\005\137\002\006\018~\017~\005*\004\141\001B\016\030\002\146\017\130\000\n\016\"\r\214\002\158\006\245\t\194\016&\016*\012\206\012\210\016.\023\138\005\146\004\137\018\130\017\134\012\217\000\n\000\n\029O\029S\000\n\012\217\012\217\029W\019\n\r>\0162\005:\000\n\017\138\017\142\0166\017\146\012\217\000\n\026Z\017\166\b.\t\210\005U\001F\002M\017\178\016>\t\238\005\186\030\150\t\246\004\137\n\006\020\142\012j\017\218\020\250\018\134\021n\n\014\017\210\006\237\012\217\006\253\017\214\018\"\rA\012\214\b\225\003\229\016B\017\226\018&\003\229\001B\b\209\016J\017\246\005\137\029o\029s\b\193\018\002\018.\029w\016N\002]\007]\007]\005\190\n\022\002\214\007]\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\n\001&\027\246\001.\012\154\0016\001\214\001\222\001\226\012\158\027\250\019\014\004\137\021*\021>\012\162\024v\n&\004\137\004\137\017\222\024Z\012\178\r\001\001\234\021Z\005\210\021\182\002R\012\186\004\137\015\170\007\005\0116\015\174\017\218\011>\007\r\011N\001\242\020\254\015\194\004\229\021\186\021~\011V\001>\004\137\028\190\r)\002b\021\214\t%\015\210\001B\004\150\004\137\021\234\030B\016\002\016\006\r1\017^\002\146\017v\001B\r\025\015.\002\158\002\134\022\006\002\138\005\165\002\006\017z\017~\011^\005\238\026\198\016\030\002\146\017\130\005\246\016\"\r\214\002\158\025&\000\n\016&\016*\012\206\012\210\016.\012\233\026\130\030\142\014)\017\134\000\n\028\202\000\n\012\249\r!\t\021\021.\021B\005\250\017\222\r>\0162\011n\025J\017\138\017\142\0166\017\146\021^\000\n\001F\017\166\028\234\0062\005U\025\206\002\141\017\178\016>\011\138\026J\b\197\011\146\000\n\011\162\031B\031j\021\130\006:\018\134\006J\011\170\017\210\006\237\021\218\002q\017\214\018\"\005\165\012\214\021\238\006R\016B\031>\018&\031N\006V\006^\016J\005\165\005\165\006\130\006\134\022\n\005\165\018.\026\182\016N\006\142\n!\n!\006\162\011\178\002\214\n!\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\006\182\001&\006\202\001.\012\154\0016\001\214\001\222\001\226\012\158\006\234\006\242\0075\007\170\bF\012\162\bR\011\194\0075\0075\005I\031\147\012\178\br\001\234\b\142\b\158\b\174\002R\012\186\0075\015\170\b\182\b\206\015\174\bm\b\214\b\230\029\254\001\242\bu\015\194\b\242\000\n\017\218\b\254\t\014\t\026\015\210\bm\002b\t.\t>\015\210\bu\tN\0075\017^\tV\016\002\016\006\t{\017^\001B\017v\t\198\t\202\n\026\n\030\002\134\nj\002\138\n~\002\006\017z\017~\n\166\n\170\n\186\016\030\002\146\017\130\n\202\016\"\r\214\002\158\n\246\011\006\016&\016*\012\206\012\210\016.\011\026\011b\011f\000\n\017\134\011\182\011\186\012\006\012\026\bm\012B\012F\012Z\012r\bu\r>\0162\030f\012\134\017\138\017\142\0166\017\146\017\222\000\n\012\166\017\166\030z\012\174\012\182\012\190\005I\017\178\016>\030\210\012\198\030~\005I\005I\018\134\012\202\r\002\r\018\r\030\018\134\002a\r&\017\210\r\134\005I\005I\017\214\018\"\r\146\012\214\r\198\r\226\016B\r\238\018&\014\n\014\022\bm\016J\014\210\014\222\014\230\bu\014\250\015\006\018.\015\014\016N\015\018\bm\005I\015\026\015*\002\214\bu\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\015:\001&\015B\001.\012\154\0016\001\214\001\222\001\226\012\158\015F\015V\015^\015v\015~\012\162\015\146\015\154\015\166\015\186\015\206\015\218\012\178\015\226\001\234\015\234\015\242\016\014\002R\012\186\012\146\015\170\016\022\016v\015\174\012\150\016\130\016\186\016\234\001\242\028\n\015\194\012\154\017\150\017\158\017\174\017\182\012\158\028\014\017\190\002b\017\198\017\206\015\210\018\030\018*\0182\018>\018B\016\002\016\006\018J\017^\018N\017v\018V\018^\018n\018\146\002\134\018\214\002\138\018\222\002\006\017z\017~\018\226\018\242\018\250\016\030\002\146\017\130\018\234\016\"\r\214\002\158\018\254\019\006\016&\016*\012\206\012\210\016.\019\022\019\030\019&\014)\017\134\018\238\019*\019:\019B\019Z\019b\019\178\019\250\020\006\020z\r>\0162\020\134\020\166\017\138\017\142\0166\017\146\020\210\000\n\002\146\017\166\020\226\020\234\015.\002\158\021\006\017\178\016>\021\018\021\026\021\030\021&\0216\021J\021f\021\138\021\162\021\170\018\134\021\174\021\190\017\210\021\198\021\202\021\210\017\214\018\"\021\226\012\214\021\246\022\018\016B\022&\018&\0226\022F\000\n\016J\022^\022n\022z\005i\022\171\022\211\018.\022\235\016N\023\011\014)\014)\023#\023C\002\214\014)\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\023[\001&\027\246\001.\012\154\0016\001\214\001\222\001\226\012\158\027\250\023r\023\142\023\254\024+\012\162\024\130\024\151\b5\b5\024\191\024\203\012\178\b5\001\234\024\219\024\227\024\254\002R\012\186\025\007\015\170\025\015\025\023\015\174\0252\025Z\025b\025r\001\242\025\143\015\194\025\159\025\167\025\179\025\190\025\227\025\239\025\251\026\030\002b\026'\026/\026b\026\142\026\206\026\239\026\247\027\003\017r\016\006\027\019\027\027\027'\017v\029\134\0272\027B\027O\002\134\027W\002\138\027^\002\006\018~\017~\027k\027w\027\127\016\030\002\146\017\130\027\139\016\"\r\214\002\158\027\151\027\178\016&\016*\012\206\012\210\016.\028:\028b\028r\028\166\017\134\028\174\028\222\029\006\029\n\029\018\029;\030\002\030\014\030\030\030&\r>\0162\030.\030[\017\138\017\142\0166\017\146\030c\000\n\030j\017\166\030w\030\130\005U\030\146\030\199\017\178\016>\030\214\030\227\031\007\031#\0312\031:\031F\031R\031_\031f\031n\031w\031~\017\210\031\135\031\155\000\000\017\214\018\"\000\000\012\214\000\000\000\000\016B\000\000\018&\000\000\000\000\000\000\016J\000\000\000\000\000\000\000\000\000\000\000\000\018.\000\000\016N\000\000\n\005\n\005\000\000\000\000\002\214\n\005\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\000\000\001.\012\154\0016\001\214\001\222\001\226\012\158\000\000\000\000\000\000\000\000\000\000\012\162\000\000\000\000\000\000\000\000\000\000\000\000\012\178\000\000\001\234\000\000\000\000\000\000\002R\012\186\012\146\015\170\000\000\000\000\015\174\012\150\000\000\000\000\000\000\001\242\028\n\015\194\012\154\000\000\000\000\000\000\000\000\012\158\028\014\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017r\016\006\000\000\000\000\000\000\017v\018\154\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\018~\017~\000\000\000\000\000\000\016\030\002\146\017\130\018\234\016\"\r\214\002\158\000\000\000\000\016&\016*\012\206\012\210\016.\000\000\000\000\000\000\014\005\017\134\018\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r>\0162\000\000\000\000\017\138\017\142\0166\017\146\000\000\000\n\002\146\017\166\000\000\000\000\015.\002\158\000\000\017\178\016>\000\000\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\210\000\000\000\000\000\000\017\214\018\"\000\000\012\214\000\000\000\000\016B\000\000\018&\000\000\000\000\000\n\016J\000\000\000\000\000\000\005i\000\000\000\000\018.\000\000\016N\000\000\014\005\014\005\000\000\000\000\002\214\014\005\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\000\000\001.\012\154\0016\001\214\001\222\001\226\012\158\000\000\000\000\000\000\000\000\000\000\012\162\000\000\000\000\nQ\nQ\000\000\000\000\012\178\nQ\001\234\000\000\000\000\000\000\002R\012\186\012\146\015\170\000\000\000\000\015\174\012\150\000\000\000\000\000\000\001\242\028\n\015\194\012\154\000\000\000\000\000\000\000\000\012\158\028\014\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017r\016\006\000\000\000\000\000\000\017v\028>\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\018~\017~\000\000\000\000\000\000\016\030\002\146\017\130\000\000\016\"\r\214\002\158\000\000\000\000\016&\016*\012\206\012\210\016.\000\000\000\000\000\000\000\000\017\134\015\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r>\0162\000\000\000\000\017\138\017\142\0166\017\146\000\000\000\n\002\146\017\166\000\000\000\000\015.\002\158\000\000\017\178\016>\000\000\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\210\000\000\000\000\000\000\017\214\018\"\000\000\012\214\000\000\000\000\016B\000\000\018&\000\000\000\000\000\n\016J\000\000\000\000\000\000\005i\000\000\000\000\018.\000\000\016N\000\000\014Q\014Q\000\000\000\000\002\214\014Q\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\000\000\001.\012\154\0016\001\214\001\222\001\226\012\158\000\000\000\000\000\000\000\000\000\000\012\162\000\000\000\000\000\000\000\000\000\000\000\000\012\178\000\000\001\234\000\000\000\000\000\000\002R\012\186\000\000\015\170\000\000\000\000\015\174\000\000\000\000\000\000\000\000\001\242\000\000\015\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017r\016\006\000\000\000\000\000\000\017v\028>\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\018~\017~\000\000\000\000\000\000\016\030\002\146\017\130\000\000\016\"\r\214\002\158\000\000\000\000\016&\016*\012\206\012\210\016.\000\000\000\000\000\000\000\000\017\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r>\0162\000\000\000\000\017\138\017\142\0166\017\146\000\000\000\n\000\000\017\166\000\000\000\000\000\000\000\000\000\000\017\178\016>\000\000\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\210\000\000\000\000\000\000\017\214\018\"\000\000\012\214\000\000\000\000\016B\000\000\018&\000\000\000\000\000\000\016J\000\000\000\000\000\000\000\000\000\000\000\000\018.\000\000\016N\000\000\014M\014M\000\000\000\000\002\214\014M\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\000\000\001.\012\154\0016\001\214\001\222\001\226\012\158\000\000\000\000\000\000\000\000\000\000\012\162\000\000\000\000\000\000\000\000\000\000\000\000\012\178\000\000\001\234\000\000\000\000\000\000\002R\012\186\000\000\015\170\000\000\000\000\015\174\000\000\000\000\000\000\000\000\001\242\000\000\015\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017r\016\006\000\000\000\000\000\000\017v\020F\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\018~\017~\000\000\000\000\000\000\016\030\002\146\017\130\000\000\016\"\r\214\002\158\000\000\000\000\016&\016*\012\206\012\210\016.\000\000\000\000\000\000\000\000\017\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r>\0162\000\000\000\000\017\138\017\142\0166\017\146\000\000\000\n\000\000\017\166\000\000\000\000\000\000\000\000\000\000\017\178\016>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bm\000\000\000\000\000\000\018v\017\210\000\000\000\000\000\000\017\214\018\"\000\000\012\214\015\210\bm\016B\000\000\018&\000\000\000\000\000\000\016J\017^\000\000\000\000\000\000\000\000\000\000\018.\000\000\016N\000\000\000R\000V\000f\000\170\002\214\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\000\000\001.\012\154\0016\001\214\001\222\001\226\012\158\000\000\004\162\004\170\000\170\000\000\000\174\000\000\004\238\004\246\004\254\005B\bm\005J\005R\001\234\005b\000\000\005j\002R\005r\005\158\015\170\005\166\000\000\015\174\000\000\000\000\000\000\000\000\001\242\000\000\020\198\000\000\000\000\000\000\000\000\000\000\000\000\005\174\000\000\002b\018\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\214\016\006\000\000\000\000\005\182\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\bm\000\000\000\000\000\000\000\000\016\030\002\146\000\000\000\000\016\"\002\154\002\158\bm\000\000\016&\016*\012\206\020\218\016.\000\000\000\000\000\000\000\000\005\198\t\166\006\149\000\000\000\000\000\000\000\000\000\000\000\000\t\250\006\149\r>\0162\006\149\006\149\000\000\000\000\0166\006\149\000\000\000\n\006\149\006\149\006\149\000\000\006\149\000\000\006\149\000\000\016>\006\149\006\149\000\000\006\149\000\000\006\149\011\209\011\209\000\000\000\000\011\209\006\149\000\000\006\149\006\149\000\000\006\149\000\000\006\149\006\149\012\214\006\149\006\149\016B\006\149\020\222\006\149\006\149\000\000\016J\006\149\006\149\006\149\006\149\006\149\006\149\020\230\006\149\016N\000\000\006\149\000Z\000\000\006\149\002\214\006\149\011\209\000\000\006\149\000Z\000\000\006\149\nv\006\149\006\149\n\194\006\149\000Z\000\000\006\149\000Z\006\149\000\000\006\149\006\149\000\000\000\000\006\149\000\000\000\000\006\149\006\149\000\000\011\209\000\000\006\149\006\149\000\000\006\149\000\000\000\000\000\000\000\000\006\149\000\000\000\000\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\000\000\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\000\000\000\000\000\000\006\149\000\000\006\149\006\149\000\000\000\000\006\149\006\149\006\149\000\000\006\149\000\000\000\000\000\000\000\000\006\149\006\149\011\209\006\149\000\000\000\000\006\149\000\000\006\149\006\149\000\000\006\149\006\149\006\149\000\000\000\000\006\149\006\149\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\149\006\149\000\000\000\000\000\000\006\149\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\004\162\004\170\000\170\000\000\000\174\000\000\004\238\004\246\004\254\005B\000\000\005J\005R\001\234\005b\000\000\005j\002R\005r\005\158\002j\005\166\000\000\002n\000\000\000\000\000\000\000\000\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\174\000\000\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\002\254\006\226\000\000\002~\005\182\000\000\007J\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\000\000\000\000\000\000\000\000\006\246\002\146\000\000\000\000\006\250\002\154\002\158\000\000\007N\006\254\007\002\000\000\000\000\007\006\000\000\000\000\000\000\000\000\005\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\n\000\000\000\000\000\000\000\000\007\014\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007R\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\026\000\000\000\000\000\000\000\000\000\000\007\"\000\000\000\000\004\221\000\000\000\000\000\000\000\000\000\000\007&\000\000\000R\000V\000f\000\170\002\214\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\011*\0112\000\170\000\000\000\174\000\000\011v\011~\011\134\011\202\000\000\011\210\011\218\001\234\011\234\000\000\011\242\002R\011\250\012&\002j\012.\000\000\002n\000\000\000\000\000\000\000\000\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0126\000\000\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\002\254\006\226\000\000\002~\012>\000\000\007J\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\000\000\000\000\000\000\000\000\006\246\002\146\000\000\000\000\006\250\002\154\002\158\000\000\007N\006\254\007\002\000\000\000\000\007\006\000\000\000\000\000\000\000\000\012N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\n\000\000\000\000\000\000\000\000\007\014\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\026\000\000\000\000\000\000\000\000\000\000\007\"\000\000\000\000\b\169\000\000\000\000\000\000\000\000\000\000\007&\000\000\000R\000V\000f\000\170\002\214\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\000\000\002R\000\000\000\000\002j\000\000\000\000\002n\000\000\000\000\000\000\000\000\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\002\254\006\226\000\000\002~\000\000\000\000\007J\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\000\000\000\000\000\000\000\000\006\246\002\146\000\000\000\000\006\250\002\154\002\158\000\000\007N\006\254\007\002\000\000\000\000\007\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\007\n\000\000\000\000\000\000\000\000\007\014\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\026\000\000\000\000\000\000\000\000\000\000\007\"\000\000\000\000\002Q\000\000\000\000\000\000\000\000\000\000\007&\000\000\000R\000V\000f\000\170\002\214\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\000\000\002R\000\000\000\000\002j\000\000\000\000\002n\000\000\000\000\000\000\000\000\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\002\254\006\226\000\000\002~\000\000\000\000\007Z\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\000\000\000\000\000\000\000\000\006\246\002\146\000\000\000\000\006\250\002\154\002\158\000\000\007N\006\254\007\002\000\000\000\000\007\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\007\n\000\000\000\000\000\000\000\000\007\014\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\007\022\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\007\026\000\000\000\000\000\000\000\000\000\000\007\"\000\000\000\000\b\185\001\234\000\000\000\000\000\000\002R\007&\000\000\002V\000\000\000\000\002Z\002\214\000\000\000\000\000\000\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\002z\002v\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\000\000\000\000\000\000\000\000\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\000\000\002\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\000\000\002\174\000\000\000\000\000\000\000\000\002\178\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\190\000\000\000\000\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\149\000\000\000v\002\194\000\000\006\149\000\000\006\149\000\000\002\206\000\000\000\000\006\149\006\149\000\000\000\000\000\000\000\000\002\222\000\000\000R\t\142\t\150\000\170\002\214\000\174\000\000\t\218\t\226\t\234\n.\000\000\n6\n>\023v\nN\000\000\nV\000\000\n^\n\138\001\222\n\146\006\149\000\000\000\000\023z\006\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023~\n\154\023\130\000\000\000\000\000\000\006\149\000\000\000\000\000\000\023\134\000\000\000\000\000\000\000\000\000Z\027.\000\000\006\149\023\146\000\000\000\000\000\000\023\150\000\000\000\000\006\149\000\000\000\000\023\154\006\149\006\149\000\000\000\000\000\000\000\000\n\178\000\000\000\000\000\000\000\000\025\026\006\149\000\000\000\000\023\158\026:\000\000\000\000\000\000\n\190\000\000\000\000\006\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\149\000\000\000\000\000\000\023\162\000\000\000\000\023\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\170\000\000\000\000\000\000\000\000\023\174\000\n\023\178\000\000\023\182\023\186\000\000\023\190\006\149\000\000\000\000\006\149\006\149\000\000\023\194\006\149\000\000\023\198\000\000\000\000\006\149\006\149\000\000\000\000\000\000\006\149\000\000\000\000\000\000\000\000\000\000\000\000\023\202\000\000\000\000\000\000\000\000\023\206\023\210\001\133\001\133\001\133\001\133\000\000\001\133\000\000\001\133\001\133\001\133\001\133\000\000\001\133\001\133\000\000\001\133\000\000\001\133\000\000\001\133\001\133\001\133\001\133\000\000\000\000\000\000\000\000\023f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\133\001\133\001\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000\000\001\133\000\000\000\000\001\133\000\000\000\000\000\000\001\133\000\000\000\000\023j\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000\000\000\000\001\133\000\000\000\000\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\001\133\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\001\133\000\000\000\000\001\133\000\000\000\000\012\162\000\000\000\000\000\000\000\000\000\000\001\234\012\178\000\000\000\000\001\133\000\000\000\000\002R\012\186\001\133\015\170\001\133\000\000\015\174\001\133\001\242\023n\000\000\000\000\000\000\015\194\001\133\000\000\001\133\000\000\000\000\001\133\000\000\000\000\002b\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\017\162\016\006\000\000\001\133\001\133\017v\000\000\000\000\001\133\001\133\002\134\002\006\002\138\000\000\000\000\000\000\017~\000\000\000\000\024.\016\030\002\146\017\130\000\000\016\"\r\214\002\158\000\000\000\000\016&\016*\000\000\000\000\016.\000\000\000\000\000\000\000\000\017\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r>\0162\000\000\000\000\017\138\017\142\0166\017\146\000\000\000\n\000\000\017\166\000\000\000\000\000\000\012\162\000\000\017\178\016>\000\000\000\000\000\000\012\178\000\000\000\000\000\000\000\000\000\000\002R\012\186\000\000\015\170\017\210\000\000\015\174\000\000\017\214\018\"\000\000\000\000\000\000\015\194\016B\000\000\018&\000\000\000\000\000\000\016J\000\000\002b\000\000\000\000\000\000\000\000\018.\000\000\016N\000\000\016\026\016\006\000\000\000\000\002\214\017v\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\017~\000\000\000\000\000\000\016\030\002\146\017\130\000\000\016\"\r\214\002\158\000\000\000\000\016&\016*\000\000\000\000\016.\000\000\000\000\000\000\000\000\017\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r>\0162\000\000\000\000\017\138\017\142\0166\017\146\000\000\000\n\000\000\017\166\000\000\000\000\000\000\000\000\023v\017\178\016>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\241\023z\000\000\015\241\000\000\017\210\000\000\000\000\000\000\017\214\018\"\000\000\023~\000\000\023\130\016B\000\000\018&\000\000\000\000\000\000\016J\023\134\000\000\015\241\015\241\000\000\000\000\018.\015\241\016N\023\146\002\242\015\241\000\000\023\150\002\214\000\000\000\000\015\241\000\000\023\154\015\241\015\241\000\000\015\241\015\241\000\000\000\000\002\250\000\000\015\241\003\014\000\000\000\000\015\241\000\000\023\158\015\241\000\000\015\241\015\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\241\023\162\015\241\000\000\023\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\241\000\000\000\000\000\000\023\170\000\000\000\000\004V\000\000\023\174\0276\023\178\000\000\023\182\023\186\000\000\023\190\000\000\000\000\000\000\000\000\000\000\000\000\023\194\000\000\000\000\023\198\015\241\015\241\000\000\015\241\015\241\004Z\000\000\015\241\000\000\000\000\000\000\000\000\000\000\000\000\023\202\015\129\004b\000\000\015\129\023\206\023\210\015\241\000\000\000\000\015\241\015\241\015\241\015\241\015\241\000\000\000\000\000\000\015\241\015\241\015\241\000\000\015\241\015\241\015\241\015\129\015\129\000\000\000\000\000\000\015\129\000\000\000\000\002\242\015\129\000\000\000\000\000\000\000\000\000\000\015\129\000\000\000\000\015\129\015\129\000\000\015\129\015\129\000\000\000\000\002\250\000\000\015\129\003\014\000\000\000\000\015\129\000\000\000\000\015\129\000\000\015\129\015\129\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\015\129\001.\015\129\0016\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\000\000\015\129\000\000\000\000\000\000\000\000\000\000\000\000\004V\000\000\001\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\242\000\000\000\000\015\129\015\129\000\000\015\129\015\129\004Z\000\000\015\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004b\002\002\000\000\000\000\000\000\015\129\000\000\000\000\015\129\015\129\015\129\015\129\015\129\000\000\000\000\002\006\015\129\015\129\015\129\000\000\015\129\015\129\015\129\011\205\011\205\011\205\011\205\000\000\011\205\000\000\011\205\011\205\011\205\011\205\000\000\011\205\011\205\000\000\011\205\000\000\011\205\000\000\011\205\011\205\011\205\011\205\000\000\000\000\005\185\000\000\000\000\005\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\011\205\011\205\011\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\205\000\000\005\185\005\185\000\000\000\000\011\205\005\185\000\000\024>\005\185\005\185\000\000\024F\000\000\000\000\000\000\005\185\000\000\011\205\005\185\005\185\000\000\005\185\005\185\000\000\011\205\005\185\000\000\005\185\005\185\011\205\000\000\005\185\000\000\000\000\005\185\000\000\005\185\005\185\011\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\185\011\205\005\185\000\000\011\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\185\000\000\000\000\000\000\011\205\000\000\000\000\005\185\000\000\011\205\000\000\011\205\000\000\000\000\011\205\000\000\000\000\000\000\000\000\000\000\000\000\011\205\000\000\011\205\000\000\000\000\011\205\005\185\005\185\000\000\005\185\005\213\005\185\000\000\005\185\000\000\000\000\000\000\000\000\000\000\000\000\011\205\011\205\005\185\000\000\000\000\024\154\011\205\005\185\005\181\000\000\005\185\005\181\005\185\000\000\005\185\000\000\000\000\000\000\005\185\005\185\005\185\000\000\005\185\005\185\005\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\181\005\181\000\000\000\000\000\000\005\181\000\000\000\000\005\181\005\181\000\000\000\000\000\000\000\000\000\000\005\181\000\000\000\000\005\181\005\181\000\000\005\181\005\181\000\000\000\000\005\181\000\000\005\181\005\181\000\000\000\000\005\181\000\000\000\000\005\181\000\000\005\181\005\181\001\225\000\000\000\000\001\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\181\000\000\005\181\001\225\001\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\181\000\000\000\000\000\000\000\000\001\225\000\000\005\181\000\000\001\225\000\n\001\225\001\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\225\000\000\000\000\001\225\000\000\001\225\005\181\005\181\000\000\005\181\005\209\005\181\000\000\005\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\181\000\000\000\000\000\000\000\000\005\181\001\225\000\000\005\181\000\000\005\181\000\000\005\181\000\000\000\000\000\000\005\181\005\181\005\181\000\000\005\181\005\181\005\181\011\189\011\189\011\189\011\189\000\000\011\189\000\000\011\189\011\189\011\189\011\189\000\000\011\189\011\189\000\000\011\189\000\000\011\189\000\000\011\189\011\189\011\189\011\189\001\225\007b\000\000\001\225\000\000\000\000\000\000\001\225\000\000\000\000\000\000\000\000\000\000\000\000\011\189\011\189\011\189\000\000\000\000\000\000\000\000\001\225\000\000\000\000\011\189\001\225\001\225\000\000\000\000\000\000\011\189\000\000\007j\000\000\000\000\000\000\001\225\001\225\000\000\000\000\000\000\000\000\000\000\011\189\000\000\000\000\000\000\000\000\007\154\000\000\011\189\007\162\000\000\000\000\000\000\011\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\178\007\186\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\189\007\194\000\000\011\189\000\000\0025\000\000\007\202\007\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\189\007\218\000\000\000\000\007\226\011\189\007\234\011\189\000\000\000\000\011\189\000\000\000\000\000\000\000\000\000\000\000\000\011\189\000\000\011\189\000\000\000\000\011\189\000\000\000\000\000\000\000\000\000\000\000\000\007\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\189\011\189\000\000\000\000\000\000\024B\011\189\011\193\011\193\011\193\011\193\000\000\011\193\000\000\011\193\011\193\011\193\011\193\000\000\011\193\011\193\000\000\011\193\000\000\011\193\000\000\011\193\011\193\011\193\011\193\000\000\000\000\007\250\000\000\000\000\0025\000\000\000\000\000\000\b\002\000\000\000\000\000\000\000\000\011\193\011\193\011\193\000\000\000\000\000\000\000\000\000\000\000\000\0025\011\193\000\000\000\000\0025\0025\000\000\011\193\000\000\000\000\024\158\000\000\000\000\000\000\000\000\b\n\b\018\000\000\000\000\000\000\011\193\000\000\000\000\000\000\000\000\000\000\000\000\011\193\000\000\000\000\000\000\000\000\011\193\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\011\193\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\027\246\001.\012\154\0016\001\214\001\222\001\226\012\158\027\250\000\000\011\193\000\000\000\000\011\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\000\000\011\193\000\000\000\000\000\000\000\000\011\193\000\000\011\193\000\000\000\000\011\193\001\242\000\000\000\000\000\000\000\000\000\000\011\193\000\000\011\193\000\000\000\000\011\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\011\193\011\193\000R\t\142\t\150\000\170\011\193\000\174\002\006\t\218\t\226\t\234\n.\000\000\n6\n>\000\000\nN\000\000\nV\000\000\n^\n\138\001\222\n\146\000\000\000\000\015\213\000\000\000\000\015\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\166\n\154\024\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\206\000\000\015\213\015\213\000\000\000\000\n\162\015\213\005U\000\000\016f\015\213\000\000\000\000\000\000\000\000\000\000\015\213\000\000\024\230\015\213\015\213\000\000\015\213\015\213\000\000\n\178\016n\000\000\015\213\016z\025\026\000\000\015\213\000\000\000\000\015\213\000\000\015\213\015\213\n\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\213\025:\015\213\000\000\025\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\213\000\000\000\000\000\000\025\170\000\000\000\000\016\134\000\000\025\182\000\000\t\213\000\000\000\000\025\230\000\000\000\000\000\000\000\000\000\000\000\000\025\242\000\000\025\254\000\000\000\000\026\250\015\213\015\213\000\000\015\213\000\000\016\138\001\209\015\213\000\000\001\209\000\000\000\000\000\000\000\000\027\006\027\030\016\146\000\000\001\209\000\000\027*\001\209\000\000\000\000\015\213\000\000\015\213\000\000\000\000\000\000\001\209\001\209\015\213\015\213\015\213\001\209\015\213\015\213\015\213\001\209\000\000\000\000\001\209\001\209\000\000\001\209\000\000\001\209\001\209\001\209\000\000\001\209\001\209\000\000\000\000\000\000\000\000\001\209\000\000\000\000\001\209\001\209\000\000\001\209\001\209\000\000\001\209\001\209\000\000\001\209\000\000\000\000\000\000\001\209\000\000\000\000\001\209\000\000\001\209\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\001\209\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\003\022\000\000\001\209\001\209\000\000\000\000\001\209\000\000\000\000\000\000\000\000\001\209\003\030\000\000\001\209\001\209\000\000\000\000\001\209\000\000\001\209\000\000\000\000\001\209\001\209\001\209\001\209\001Y\000\000\000\000\001Y\004F\001\209\001\209\000\000\001\209\001\209\001\209\001\209\000\000\000\000\000\000\000\000\004:\001\209\001\209\000\000\001\209\001\209\001\209\000\000\001Y\001Y\000\000\000\000\000\000\001Y\000\000\000\000\000\000\001Y\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001Y\001Y\000\000\001Y\001Y\000\000\000\000\001M\000\000\001Y\001M\000\000\000\000\001Y\000\000\000\000\003Z\000\000\003j\001Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\001M\000\000\000\000\000\000\001M\000\000\000\000\000\000\001M\001Y\000\000\001Y\000\000\000\000\001M\000\000\000\000\001M\001M\000\000\001M\001M\001Y\000\000\000\000\000\000\001M\000\000\000\000\000\000\001M\000\000\000\000\003Z\000\000\001M\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\001Y\000\000\000\000\001Y\001Y\000\000\000\000\003b\000\000\001M\000\000\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Y\001M\000\000\001Y\001Y\001Y\001Y\001Y\000\000\000\000\000\000\000\000\001Y\001Y\000\000\001Y\001Y\001Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\000\000\000\000\001M\001M\000\000\001Q\003b\000\000\001Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\000\000\000\000\001M\001M\001M\001M\001M\000\000\001Q\001Q\000\000\001M\001M\001Q\001M\001M\001M\001Q\000\000\000\000\000\000\000\000\000\000\001Q\000\000\000\000\001Q\001Q\000\000\001Q\001Q\000\000\000\000\001U\000\000\001Q\001U\000\000\000\000\001Q\000\000\000\000\003Z\000\000\001Q\001Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001U\001U\000\000\000\000\000\000\001U\000\000\000\000\000\000\001U\001Q\000\000\001Q\000\000\000\000\003R\000\000\000\000\001U\001U\000\000\001U\001U\001Q\000\000\000\000\000\000\001U\000\000\000\000\000\000\001U\000\000\000\000\003Z\000\000\003j\001U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Q\000\000\000\000\001Q\001Q\000\000\000\000\003b\000\000\001U\000\000\001U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Q\001U\000\000\001Q\001Q\001Q\001Q\001Q\000\000\000\000\000\000\000\000\001Q\001Q\000\000\001Q\001Q\001Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001U\000\000\000\000\001U\001U\000\000\001e\003b\000\000\001e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001U\000\000\000\000\001U\001U\001U\001U\001U\000\000\003J\003r\000\000\001U\001U\001e\001U\001U\001U\001e\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001e\001e\000\000\001e\001e\000\000\000\000\001]\000\000\001e\001]\000\000\000\000\001e\000\000\000\000\003Z\000\000\003j\001e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\001]\000\000\000\000\000\000\001]\003\130\000\000\001e\000\000\000\000\003R\000\000\000\000\001]\001]\000\000\001]\001]\001e\000\000\000\000\000\000\001]\000\000\000\000\000\000\001]\000\000\000\000\003Z\000\000\003j\001]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001e\000\000\000\000\001e\001e\000\000\000\000\003b\000\000\001]\000\000\001]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001e\001]\000\000\001e\001e\001e\001e\001e\000\000\000\000\000\000\000\000\001e\001e\000\000\001e\001e\001e\000\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]\001]\000\000\001a\003b\000\000\001a\000\000\000\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]\001]\001]\001]\001]\000\000\003J\003r\000\000\001]\001]\001a\001]\001]\001]\001a\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001a\001a\000\000\001a\001a\000\000\000\000\001i\000\000\001a\001i\000\000\000\000\001a\000\000\000\000\003Z\000\000\003j\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\001i\000\000\000\000\000\000\001i\003\130\000\000\001a\000\000\000\000\003R\000\000\000\000\001i\001i\000\000\001i\001i\001a\000\000\000\000\000\000\001i\000\000\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001a\000\000\000\000\001a\001a\000\000\000\000\003b\000\000\003\130\000\000\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001a\001i\000\000\001a\001a\001a\001a\001a\000\000\000\000\000\000\000\000\001a\001a\000\000\001a\001a\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\138\000\000\000\000\001i\001i\000\000\001q\003b\000\000\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001i\000\000\000\000\001i\001i\001i\001i\001i\000\000\003J\003r\000\000\001i\001i\001q\001i\001i\001i\001q\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001q\001q\000\000\001q\001q\000\000\000\000\003\218\000\000\001q\001m\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\001m\000\000\000\000\000\000\001m\003\130\000\000\001q\000\000\000\000\003R\000\000\000\000\001m\001m\000\000\001m\001m\001q\000\000\000\000\000\000\001m\000\000\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\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\003\138\000\000\000\000\001q\001q\000\000\000\000\003b\000\000\003\130\000\000\001m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001q\001m\000\000\001q\001q\001q\001q\001q\000\000\000\000\000\000\000\000\001q\001q\000\000\001q\003\146\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\138\000\000\000\000\001m\001m\000\000\003\218\003b\000\000\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001m\000\000\000\000\001m\001m\001m\001m\001m\000\000\003J\003r\000\000\001m\001m\001u\001m\003\146\001m\001u\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001u\001u\000\000\001u\003\226\000\000\000\000\003>\000\000\001u\003\154\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\186\003\194\000\000\000\000\000\000\002-\000\000\000\000\000\000\002-\003\130\000\000\001u\000\000\000\000\003\202\000\000\000\000\002-\002-\000\000\003\210\003\242\001u\000\000\000\000\000\000\002-\000\000\000\000\000\000\003\250\000\000\000\000\004\002\000\000\004\n\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\003\138\000\000\000\000\001u\001u\000\000\000\000\003b\000\000\004\018\000\000\002-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001u\002-\000\000\001u\001u\001u\001u\001u\000\000\000\000\000\000\000\000\001u\001u\000\000\001u\003\146\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\026\000\000\000\000\002-\002-\000\000\000\129\004\"\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002-\000\000\000\000\002-\002-\002-\002-\000\000\000\000\003J\003r\000\000\002-\002-\000\129\004*\0042\002-\000\129\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000\129\000\129\000\000\000\129\000\129\000\000\000\000\000i\000\000\000\129\000i\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\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\003\130\000\000\000\129\000\000\000\000\003R\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\003Z\000\000\003j\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\003\138\000\000\000\000\000\129\000\129\000\000\000\000\003b\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\003\146\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\000e\003b\000\000\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000i\000i\000\000\000\000\000e\000e\000\000\000i\000i\000e\000i\000i\000i\000e\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000e\000e\000\000\000e\000e\000\000\000\000\000]\000\000\000e\000]\000\000\000\000\000e\000\000\000\000\003Z\000\000\003j\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000]\000\000\000\000\000\000\000]\000\000\000\000\000\000\000]\000e\000\000\000e\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000]\000]\000e\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\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000\000\000\000\003b\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\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\000]\000\000\000\000\000]\000]\000\000\003\218\003b\000\000\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\000\000\000\000]\000]\000]\000]\000\000\000\000\003J\003r\000\000\000]\000]\000\137\000]\000]\000]\000\137\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000\137\000\137\000\000\000\137\003\226\000\000\000\000\003\218\000\000\000\137\000}\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\000}\000\000\000\000\000\000\000}\003\130\000\000\000\137\000\000\000\000\003R\000\000\000\000\000}\000}\000\000\000}\000}\000\137\000\000\000\000\000\000\000}\000\000\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\000}\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\138\000\000\000\000\000\137\000\137\000\000\000\000\003b\000\000\003\130\000\000\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\137\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\234\003\146\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\138\000\000\000\000\000}\000}\000\000\000u\003b\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000}\000\000\000\000\000}\000}\000}\000}\000\000\000\000\003J\003r\000\000\000}\000}\000u\000}\003\146\000}\000u\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000u\000u\000\000\000u\000u\000\000\000\000\000a\000\000\000u\000a\000\000\000\000\000u\000\000\000\000\003Z\000\000\003j\000u\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\003\130\000\000\000u\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000a\000a\000u\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\003Z\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\000u\000\000\000\000\000u\000u\000\000\000\000\003b\000\000\000a\000\000\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000a\000\000\000u\000u\000u\000u\000\000\000\000\000\000\000\000\000\000\000u\000u\000\000\000u\000u\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000m\003b\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000a\000a\000\000\000\000\003J\003r\000\000\000a\000a\000m\000a\000a\000a\000m\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000m\000m\000\000\000m\000m\000\000\000\000\000q\000\000\000m\000q\000\000\000\000\000m\000\000\000\000\003Z\000\000\003j\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000m\000\000\000m\000\000\000\000\003R\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\003Z\000\000\003j\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\003b\000\000\003\130\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\003\218\003b\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000q\000q\000\000\000\000\003J\003r\000\000\000q\000q\000\133\000q\000q\000q\000\133\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000\133\000\133\000\000\000\133\003\226\000\000\000\000\000y\000\000\000\133\000y\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\000y\000\000\000\000\000\000\000y\003\130\000\000\000\133\000\000\000\000\003R\000\000\000\000\000y\000y\000\000\000y\000y\000\133\000\000\000\000\000\000\000y\000\000\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\138\000\000\000\000\000\133\000\133\000\000\000\000\003b\000\000\003\130\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\133\000y\000\000\000\133\000\133\000\133\000\133\000\000\000\000\000\000\000\000\000\000\000\133\000\133\000\000\000\133\003\146\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\138\000\000\000\000\000y\000y\000\000\000\000\003b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000y\000y\000y\000y\000\000\000\000\000\000\000\000\000\000\000y\000y\000\000\000y\000y\000y\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\000\000\001.\012\154\0016\001\214\001\222\001\226\012\158\000\000\000\000\000\000\000\000\000\000\002R\000\000\000\000\012\242\000\000\000\000\012\246\000\000\000\000\001\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002b\000\000\001\242\000\000\000\000\000\000\000\000\000\000\000\000\r\n\r\022\000\000\000\000\r\182\r\206\r\210\000\000\000\000\000\000\002\134\000\000\002\138\002\002\000\000\000\000\000\000\000\000\000\000\000\000\r*\002\146\000\000\000\000\r.\r\214\002\158\002\006\000\000\r2\r6\000\000\000\000\r:\000\000\000\000\000\000\000\000\000\000\000\000\002\018\000\000\000\000\000\000\012\206\012\210\000\000\000\000\000\000\r>\rB\000\000\000\000\002R\000\000\rF\012\242\000\000\000\n\012\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\rN\000\000\000\000\000\000\000\n\000\000\000\000\000\000\002b\006\181\000\000\r\218\000\000\r\246\000\000\000\000\000\000\r\n\r\022\000\000\000\000\r\182\r\206\r\210\rR\000\000\000\000\002\134\000\000\002\138\rZ\000\000\000\000\006\173\012\214\000\000\004\237\r*\002\146\r^\000\000\r.\r\214\002\158\006\173\002\214\r2\r6\000\000\006\173\r:\000\000\000\000\000\000\000\000\002R\000\000\000\000\012\242\000\000\000\000\012\246\000\000\000\000\000\000\000\000\r>\rB\000\000\000\000\000\000\000\000\rF\000\000\000\000\000\n\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\rN\000\000\r\n\r\022\000\000\000\000\r\182\r\206\r\210\006\181\000\000\r\218\002\134\r\246\002\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r*\002\146\rR\000\000\r.\r\214\002\158\000\000\rZ\r2\r6\000\000\000\000\r:\b\253\000\000\000\000\r^\002R\000\000\000\000\012\242\000\000\002\214\012\246\000\000\000\000\000\000\000\000\r>\rB\000\000\000\000\000\000\000\000\rF\000\000\000\000\000\n\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\rN\000\000\r\n\r\022\000\000\000\000\r\182\r\206\014\178\006\181\000\000\r\218\002\134\r\246\002\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r*\002\146\rR\000\000\r.\r\214\002\158\000\000\rZ\r2\r6\000\000\001\233\r:\002\129\001\233\000\000\r^\000\000\000\000\000\000\000\000\000\000\002\214\000\000\000\000\000\000\000\000\000\000\r>\rB\000\000\000\000\000\000\000\000\rF\001\233\001\233\000\n\000\000\000\000\001\233\000\000\000\000\000\000\001\233\000\000\rN\000\000\000\000\000\000\001\233\000\000\000\000\001\233\001\233\006\181\001\233\001\233\000\000\r\246\000\000\000\000\001\233\000\000\000\000\000\000\001\233\000\000\000\000\001\233\rR\001\233\001\233\000\000\000\000\000\000\rZ\000\000\000\000\000\000\000\000\000\000\t\r\000\000\000\000\r^\000\000\000\000\000\000\000\000\000\000\002\214\000\000\000\000\001\233\000\000\001\233\000\249\000\000\000\000\000\249\003\213\000\000\000\000\000\000\000j\003\213\001\233\000r\000\000\000\130\003\213\000\000\003\213\000\000\000\000\000\000\000\138\003\213\003\213\000\000\003J\003r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\233\016\166\003R\001\233\000\000\000\000\000\249\001\233\000\249\000\249\000\000\000\000\000\000\000\000\000\146\003\213\000\000\000\000\003z\003\213\000\000\003Z\000\000\003j\001\233\000\000\001\233\000\000\000\000\000\000\000\000\000\000\016\174\001\233\001\233\003\213\001\233\001\233\001\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\130\003\213\000\162\000\000\000\000\000\000\000\000\000\000\000\000\003\213\000\000\000\000\003\209\003\213\003\213\000\000\000\198\003\209\000\000\000\206\000\000\000\222\003\209\000\000\003\209\003\213\000\000\000\000\000\230\003\209\003\209\000\000\000\000\000\000\000\000\000\000\003\213\000\000\000\000\000\000\003\138\000\000\000\000\000\249\000\000\000\000\003\213\003b\000\000\000\000\000\000\003\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\238\003\209\000\249\000\000\000\000\003\209\000\249\000\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\249\003\146\000\000\000\000\003\209\000\000\000\000\000\000\003\213\000\000\000\000\003\213\003\213\000\000\000\000\003\213\003\209\000\254\000\000\000\000\003\213\003\213\000\000\000\000\003\209\003\213\000\000\000\000\003\209\003\209\000\000\000\000\000\000\002R\000\000\000\000\002V\000\000\000\000\002Z\003\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\198\000\000\003\209\000\000\000\000\000\000\002b\000\000\000\000\002f\000\000\000\000\003\209\000\000\000\000\002r\002v\003\209\002~\000\000\012\238\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\142\002\146\000\000\r\230\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\000\000\002\170\000\000\003\209\000\000\000\000\003\209\003\209\000\000\016\218\003\209\000\000\016\226\000\000\000\000\003\209\003\209\000\000\002\174\000\000\003\209\000\000\000\000\002\178\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\016\242\016\250\002\186\000\000\000\000\002=\000\000\000\000\000\000\002=\000\000\000\000\000\000\002\190\t\229\017\002\000\000\000\000\002=\002=\000\000\017\n\017\018\000\000\000\000\0015\002\194\002=\0015\000\000\000\000\017\026\002\206\000\000\017\"\t\229\017*\002=\000\000\000\000\000\000\002\222\000\000\000\000\000\000\000\000\000\000\002\214\000\000\003J\003r\000\000\000\000\000\000\0015\000\000\000\000\000\000\0015\0172\000\000\002=\000\000\000\000\003R\000\000\000\000\0015\0015\000\000\0015\0015\002=\000\000\000\000\000\000\0015\000\000\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\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\017:\000\000\000\000\002=\000\000\000\000\000\000\017B\000\000\003\130\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\002=\000\000\002=\000\000\000\000\000\000\000\000\000\000\000\000\002=\002=\000\000\017J\017R\002=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\138\000\000\000\000\0015\000\000\000\000\001\029\003b\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0015\000\000\0015\000\000\000\000\000\000\001\029\001\029\000\000\0015\0015\001\029\0015\003\146\0015\001\029\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001\029\001\029\000\000\001\029\001\029\000\000\000\000\001\025\000\000\001\029\001\025\000\000\000\000\001\029\000\000\000\000\003Z\000\000\003j\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\025\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\001\029\000\000\001\029\000\000\000\000\003R\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\029\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\003Z\000\000\003j\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\001\029\000\000\000\000\001\029\000\000\000\000\000\000\003b\000\000\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\001\029\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\001\029\001\029\000\000\001\029\001\029\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\025\000\000\000\000\001\017\003b\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\001\017\001\017\000\000\001\025\001\025\001\017\001\025\001\025\001\025\001\017\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\001\017\001\017\000\000\001\017\001\017\000\000\000\000\003\218\000\000\001\017\001=\000\000\000\000\001\017\000\000\000\000\003Z\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\003J\003r\000\000\000\000\000\000\001=\000\000\000\000\000\000\001=\001\017\000\000\001\017\000\000\000\000\003R\000\000\000\000\001=\001=\000\000\001=\003\226\001\017\000\000\000\000\000\000\001=\000\000\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\001\017\000\000\000\000\000\000\003b\000\000\003\130\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\001\017\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\017\000\000\001\017\001\017\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\138\000\000\000\000\001=\000\000\000\000\003\218\003b\000\000\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001=\000\000\001=\000\000\000\000\000\000\003J\003r\000\000\001=\001=\0011\003\234\003\146\001=\0011\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\0011\0011\000\000\0011\0011\000\000\000\000\001)\000\000\0011\001)\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\001)\000\000\000\000\000\000\001)\003\130\000\000\0011\000\000\000\000\003R\000\000\000\000\001)\001)\000\000\001)\001)\0011\000\000\000\000\000\000\001)\000\000\000\000\000\000\001)\000\000\000\000\003Z\000\000\003j\001)\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\138\000\000\000\000\0011\000\000\000\000\000\000\003b\000\000\003\130\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\0011\000\000\0011\000\000\000\000\000\000\000\000\000\000\000\000\0011\0011\000\000\0011\003\146\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\000\000\001)\000\000\000\000\001\021\003b\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\001)\000\000\000\000\000\000\001\021\001\021\000\000\001)\001)\001\021\001)\001)\001)\001\021\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\021\001\021\000\000\001\021\001\021\000\000\000\000\001!\000\000\001\021\001!\000\000\000\000\001\021\000\000\000\000\003Z\000\000\001\021\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\001!\000\000\000\000\000\000\001!\001\021\000\000\001\021\000\000\000\000\003R\000\000\000\000\001!\001!\000\000\001!\001!\001\021\000\000\000\000\000\000\001!\000\000\000\000\000\000\001!\000\000\000\000\003Z\000\000\003j\001!\000\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\003b\000\000\001!\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\001\021\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\001\021\001\021\000\000\001\021\001\021\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\000\000\001!\000\000\000\000\001%\003b\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\001!\000\000\000\000\000\000\003J\003r\000\000\001!\001!\001%\001!\001!\001!\001%\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001%\001%\000\000\001%\001%\000\000\000\000\003\218\000\000\001%\0019\000\000\000\000\001%\000\000\000\000\003Z\000\000\003j\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\0019\000\000\000\000\000\000\0019\003\130\000\000\001%\000\000\000\000\003R\000\000\000\000\0019\0019\000\000\0019\003\226\001%\000\000\000\000\000\000\0019\000\000\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\0019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\000\000\001%\000\000\000\000\000\000\003b\000\000\003\130\000\000\0019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\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\000\000\003\138\000\000\000\000\0019\000\000\000\000\001-\003b\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\000\000\0019\000\000\000\000\000\000\003J\003r\000\000\0019\0019\001-\0019\003\146\0019\001-\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001-\001-\000\000\001-\001-\023v\000\000\000\000\000\000\001-\000\000\000\000\000\000\003z\000\000\000\000\003Z\023z\003j\001-\000\000\000\000\000\000\000\000\025\186\000\000\000\000\000\000\023~\000\000\023\130\012%\012%\000\000\000\000\000\000\000\000\000\000\023\134\000\000\000\000\003\130\000\000\001-\023\138\000\000\000\000\023\146\000\000\000\000\000\000\023\150\000\000\000\000\001-\000\000\000\000\023\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025j\000\000\012%\000\000\023\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\138\000\000\000\000\001-\000\000\000\000\000\000\003b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012%\000\000\023\162\000\000\000\000\023\166\000\000\001-\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\001-\001-\023\170\001-\001-\001-\000\000\023\174\000\n\023\178\023v\023\182\023\186\000\000\023\190\000\000\000\000\000\000\000\000\000\000\000\000\023\194\023z\000\000\023\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023~\000\000\023\130\000\000\000\000\000\000\023\202\011\249\000\000\000\000\023\134\023\206\023\210\012%\000\000\000\000\023\138\000\000\000\000\023\146\000\000\000\000\000\000\023\150\000\000\000\000\000\000\000\000\000\000\023\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\022\000\000\000\000\011\249\000\000\023\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\249\000\000\023\162\000\000\000\000\023\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\242\000\000\023\170\000\000\000\000\000\000\000\000\023\174\000\n\023\178\000\000\023\182\023\186\000\000\023\190\000\000\000\000\000\000\000\000\000\000\000\000\023\194\000\000\000\000\023\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\023\202\000\000\000\000\000\000\000\000\023\206\023\210\011\249\000R\000V\000f\000\170\000\000\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\027\246\001.\012\154\0016\001\214\001\222\001\226\012\158\027\250\002R\000\000\000\000\002V\000\000\000\000\002Z\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\t\229\000\000\000\000\000\000\000\000\000\000\002b\000\000\000\000\002f\000\000\000\000\001\242\000\000\000\000\002r\002v\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\000\000\002\002\000\000\000\000\002\142\002\146\000\000\002\014\002\150\002\154\002\158\000\000\000\000\002\162\002\166\002\006\000\000\002\170\000\000\000\000\000\000\000\000\015\185\000\000\000\000\015\185\000\000\000\000\002\018\000\000\000\000\000\000\000\000\000\000\002\174\000\000\000\000\000\000\000\000\002\178\000\000\000\000\000\n\000\000\000\000\000\000\015\185\015\185\000\000\000\000\000\000\002\186\000\000\000\000\007>\000\000\000\000\000\000\000\000\000\n\000\000\015\185\002\190\000\000\005U\015\185\000\000\015\185\015\185\000\000\000\000\007F\000\000\000\000\bJ\002\194\000\000\015\185\000\000\002\022\015\185\002\206\015\185\000\000\000\000\000\000\t\229\000\000\000\000\000\000\002\222\000\000\000\000\000\000\nB\006\149\002\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\205\015\185\000\000\006\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011B\006\149\000\000\006\149\000\000\006\149\000\000\000\000\000\000\000\000\bV\000\000\000\000\006\149\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\006\149\000\000\006\149\000\000\006\149\000\000\000\000\000\000\015\185\015\185\006\149\015\185\006\149\bZ\000\000\015\185\000\000\011\150\006\149\000\000\000\000\006\149\011\018\000\000\bb\006\149\006\149\000Z\000\000\015\185\006\149\006\149\000\000\015\185\015\185\000\000\000\000\011\222\006\149\000\000\015\185\006\149\006\149\006\149\015\185\015\185\006\149\006\149\000Z\000\000\006\149\006\149\006\149\006\149\000\000\000\000\006\149\006\149\006\149\000\000\006\149\006\149\000\000\006\149\006\149\006\149\000\000\000\000\000\000\006\149\006\149\006\149\000\000\000\000\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\012\018\000\000\006\149\006\149\006\149\000Z\006\149\000\000\006\149\006\149\006\149\000\000\000\000\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\000\000\000\000\006\149\006\149\000Z\000\000\006\149\012R\006\149\006\149\006\149\006\149\000Z\006\149\012~\000\000\006\149\000\000\006\149\000Z\000\000\000\000\000\000\006\149\006\149\000\000\006\149\000\000\000\000\006\149\006\149\006\149\006\149\006\149\000\000\006\149\006\149\000\000\006\149\000\000\000\000\006\149\000\000\000\000\000\000\006\149\006\149\000\000\006\149\000\000\000\000\006\149\006\149\006\149\006\149\006\149\006\149\000\000\006\149\006\149\006\149\006\149\000\000\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\000\000\006\149\000\000\000\000\006\149\000\000\000\000\000\000\006\149\000\000\000\000\006\149\002R\000\000\000\000\002V\006\149\006\149\002Z\006\149\000\000\000\000\000\000\000\000\006\149\006\149\006\149\000\000\020\202\000\000\000\000\006\149\006\149\000\000\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\002r\002v\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\000\000\002\170\000\000\000\000\026\002\000\000\026\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\018\000\000\000\000\002\174\000\000\0262\000\000\000\000\002\178\000\000\000\000\000\n\023z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\186\000\000\000\000\023~\000\000\023\130\000\000\000\000\000\000\000\000\000\000\002\190\000\000\023\134\000\000\000\000\000\000\000\000\000\000\023\138\000\000\000\000\023\146\000\000\002\194\000\000\023\150\000\000\002R\000\000\002\206\002V\023\154\000\000\002^\000\000\000\000\000\000\000\000\002\222\000\000\000\000\000\000\000\000\000\000\002\214\000\000\000\000\023\158\026:\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\002r\t\006\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\023\162\000\000\000\000\023\166\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\023\170\002\170\000\000\000\000\000\000\023\174\000\n\023\178\000\000\023\182\023\186\000\000\023\190\000\000\000\000\000\000\000\000\000\000\002\174\023\194\000\000\000\000\023\198\002\198\000\000\000\000\000\n\000\000\000\000\000\000\002R\000\000\000\000\002V\000\000\002\186\002^\023\202\000\000\000\000\000\000\000\000\023\206\023\210\000\000\000\000\002\190\000\000\000\000\000\000\000\000\000\000\002b\000\000\000\000\002f\000\000\000\000\000\000\002\202\000\000\002r\b\246\000\000\002~\002\206\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\002\210\000\000\000\000\000\000\000\000\000\000\002\214\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\002R\002\170\000\000\002V\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\002\174\000\000\000\000\000\000\002b\002\198\000\000\002f\000\n\000\000\000\000\000\000\000\000\002r\b\222\000\000\002~\002\186\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\002R\000\000\002\190\002V\000\000\000\000\002^\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\002\202\002\162\002\166\000\000\000\000\002\170\002\206\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\002\210\002r\002\182\000\000\002~\000\000\002\214\002\174\000\000\000\000\000\000\002\134\002\198\002\138\000\000\000\n\000\000\000\000\000\000\000\000\000\000\002\142\002\146\b\170\002\186\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\004\181\002\170\002\190\004\181\000\000\000\000\004\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\202\000\000\000\000\002\174\000\000\000\000\002\206\004\181\002\198\000\000\004\181\000\n\000\000\000\000\000\000\002\210\004\181\004\181\000\000\004\181\002\186\002\214\000\000\000\000\000\000\000\000\004\181\000\000\004\181\002R\000\000\002\190\002V\000\000\000\000\002^\004\181\004\181\000\000\000\000\004\181\004\181\004\181\000\000\002\202\004\181\004\181\000\000\000\000\004\181\002\206\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\002\210\002r\012\250\000\000\002~\000\000\002\214\004\181\000\000\000\000\000\000\002\134\004\181\002\138\000\000\004\181\000\000\000\000\000\000\000\000\000\000\002\142\002\146\000\000\004\181\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\002R\002\170\000\000\002V\000\000\000\000\002^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\181\000\000\000\000\002\174\000\000\000\000\004\181\002b\002\198\000\000\002f\000\n\000\000\000\000\000\000\004\181\002r\015\178\000\000\002~\002\186\004\181\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\002\190\000\000\000\000\000\000\000\000\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\002\202\002\162\002\166\000\000\000\000\002\170\002\206\000\000\000\000\000\000\000\000\000\000\023v\000\000\000\000\002\210\000\000\000\000\000\000\000\000\000\000\002\214\002\174\000\000\023z\000\000\000\000\002\198\000\000\000\000\000\n\000\000\000\000\000\000\000\000\023~\000\000\023\130\000\000\002\186\000\000\000\000\000\000\000\000\000\000\023\134\000\000\000\000\000\000\000\000\002\190\023\138\000\000\000\000\023\146\000\000\000\000\000\000\023\150\000\000\000\000\000\000\000\000\002\202\023\154\000\000\000\000\000\000\000\000\002\206\000\000\000\000\000\000\000\000\000\000\024\238\000\000\000\000\002\210\000\000\023\158\000\000\000\000\000\000\002\214\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\149\000\000\000\210\000\000\000\000\006\149\000\000\006\149\006\149\011\249\000\000\023\162\006\149\006\149\023\166\001\026\000\000\006\149\006\149\006\149\006\149\000\000\000\000\000\000\006\149\006\149\006\149\023\170\000\000\000\000\000\000\000\000\023\174\000\n\023\178\000\000\023\182\023\186\000\000\023\190\000\000\000\000\000\000\006\149\000\000\000\000\023\194\006\149\000\000\023\198\000\000\000\000\000\000\000\000\000\000\006\149\006\149\000\000\000\000\006\149\006\149\000\000\000\000\006\149\023\202\000\000\000\000\001\194\000\000\023\206\023\210\011\249\000Z\000\000\000\000\006\149\006\149\000\000\000\000\002\n\005\138\000\000\000\000\006\149\000Z\000Z\000\000\006\149\006\149\000\000\000\000\000\000\000\000\000\000\000\000\006\149\006\149\000\000\000\000\006\149\006\149\006\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\149\006\149\006\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\006\149\006\149\000\000\006\149\000\000\000\000\000\000\000\000\000\000\000\000\006\149\006\149\000\000\000\000\000\000\006\149\006\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\006\149\006\149\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\149\006\149\000\000\006\149\006\149\006\149\000\000\006\149\006\149\000\000\000\000\000\000\006\149\006\149\006\149\000\000\000\000\006\149\006\149\004\205\004\205\004\205\004\205\000\000\004\205\000\000\004\205\004\205\004\205\004\205\000\000\004\205\004\205\000\000\004\205\000\000\004\205\000\000\004\205\004\205\004\205\004\205\000\000\000\000\002R\000\000\000\000\002j\000\000\000\000\002n\002\026\000\000\000\000\000\000\000\000\000\000\004\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002b\000\000\000\000\002f\000\000\000\000\004\205\000\000\000\000\002\130\006\226\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\000\000\004\205\000\000\000\000\006\246\002\146\000\000\004\205\006\250\002\154\002\158\000\000\000\000\006\254\007\002\004\205\000\000\007\006\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\149\006\149\004\186\004\205\000\000\006\149\006\149\006\149\005\014\007\n\000\000\006\149\006\149\006\149\007\014\006\149\000\000\000\n\006\149\006\149\006\149\000\000\005V\000\000\000\000\006\149\007\022\006\149\000\000\000\000\000\000\000\000\006\149\006\149\004\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\000\000\006\149\000\000\006\149\007\026\000\000\000\000\006\149\000\000\000\000\007\"\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\007&\000\000\006\149\000\000\006\149\000\000\002\214\000Z\005\202\000\000\006\149\000\000\000\000\000Z\004\205\000\000\006\149\000\000\006\149\000\000\000\000\000\000\006\149\006\149\006\149\000\000\000\000\000Z\006\149\006\149\006\149\000\000\000\000\000\000\006\149\000\000\000\000\000\000\006\149\000\000\006\149\000\000\006\149\006\149\000\000\006\149\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\006\149\006\149\000\000\000\000\000\000\000\000\006\149\006\149\000\000\000\000\000\000\006\149\006\149\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\006\149\000\178\000\186\000\194\001\006\006\149\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\006\149\000\000\000\000\006\149\006\149\000\000\006\149\006\149\000\000\006\149\006\149\000\000\006\149\006\149\001\234\000\000\000\000\006\149\006\149\006\149\006\149\000\000\000\000\006\149\006\149\000\000\000\000\006\149\000\000\001\242\000\000\000\000\006\149\006\149\000\000\000\000\000\000\006\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\002\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\002\018\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\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\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\242\000\000\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\005\254\000\000\000\000\002\181\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\006\002\006\006\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\001\234\001&\000\000\001.\006\149\0016\001\214\001\222\001\226\006\149\000\000\000\000\000\000\000\000\006\149\001\242\006\149\000\000\000\000\000\000\006\n\006\149\006\149\000\000\001\234\000\000\006\149\000\000\006\149\000\000\000\000\000\000\000\000\006\149\006\149\002\002\000\000\000\000\000\000\001\242\000\000\005\254\004\253\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\006\149\006\002\006\006\000\000\006\149\000\000\000\000\002\002\000\000\000\000\000\000\000\000\006\149\005\254\000\000\000\000\006\149\000\000\000\000\000\000\006\149\002\006\000\000\000\000\006\174\006\002\006\006\000\000\000\000\000Z\000\000\000\000\006\149\000\000\000\000\000\000\t6\000\000\000\000\000\000\006\149\000Z\000\000\000\000\006\149\006\149\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\000\000\006\149\006\149\000\000\000\000\000\000\006\n\000\000\000\000\000\000\000\000\000\000\006\149\006\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\006\149\000\000\000\000\006\149\t5\000\000\006\n\000\000\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\006\149\006\149\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\149\006\149\000\000\006\149\006\149\006\149\000\000\006\149\000\000\000\000\000\000\000\000\006\149\006\149\000\000\000\000\000\000\006\149\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\001\234\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\000\000\001\242\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\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\001\242\000\000\028\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\028\182\006\006\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\028\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\028\182\006\006\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\028\186\000\000\000\000\000\000\001\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\242\000\000\000\000\004\245\000\000\028\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\028\178\t\025\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\028\182\006\006\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\001\234\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\000\000\001\242\000\000\000\000\000\000\000\000\028\186\000\000\000\000\000\000\001\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\001\242\000\000\002\014\002\145\000\000\002R\000\000\000\000\012\242\000\000\002\006\012\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\002\018\000\000\000\000\006\018\002b\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\r\n\r\022\006\002\006\006\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\002R\000\000\000\000\015\170\000\000\000\n\015\174\r*\002\146\000\000\000\000\r.\002\154\002\158\000\000\000\000\r2\r6\000\000\000\000\r:\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\026\016\006\000\000\000\000\000\000\r>\rB\000\000\000\000\000\000\002\134\rF\002\138\000\000\000\n\000\000\000\000\000\000\000\000\002\173\016\030\002\146\000\000\rN\016\"\002\154\002\158\000\000\000\000\016&\016*\t\221\000\000\016.\000\000\000\000\000\000\000\000\000\000\000\000\tE\000\000\000\000\t\221\000\000\000\000\000\000\rR\000\000\r>\0162\000\000\000\000\rZ\t\221\0166\t\221\000\000\000\n\000\000\000\000\000\000\r^\000\000\t\221\000\000\000\000\016>\002\214\000\000\t\221\000\000\000\000\t\221\000\000\b\157\000\000\t\221\024J\000\000\000\000\000\000\000\000\t\221\000\000\000\000\000\000\b\157\000\000\000\000\000\000\016B\000\000\000\000\000\000\000\000\000\000\016J\b\157\t\221\b\157\000\000\000\000\000\000\000\000\000\000\016N\000\000\b\157\000\000\000\000\000\000\002\214\000\000\b\157\000\000\000\000\b\157\000\000\000\000\000\000\b\157\000\000\000\000\000\000\000\000\t\221\b\157\000\000\t\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\221\b\157\026:\000\000\000\000\t\221\t\221\t\221\000\000\t\221\t\221\000\000\t\221\000\000\000\000\000\000\000\000\000\000\000\000\t\221\000\000\000\000\t\221\000\000\000\000\000\000\000\000\000\000\b\157\000\000\000\000\b\157\000\000\000\000\000\000\000\000\007e\t\221\000\000\000\000\000\000\000\000\t\221\t\221\b\157\000\000\000\000\000\000\007e\b\157\b\157\b\157\000\000\b\157\b\157\000\000\b\157\000\000\000\000\007e\000\000\007e\000\000\b\157\000\000\000\000\b\157\000\000\000\000\007e\000\000\000\000\000\000\000\000\000\000\007e\000\000\000\000\007e\000\000\000\000\b\157\007e\000\000\000\000\000\000\b\157\b\157\007e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\027>\000\000\000\000\000\000\000\000\007e\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\024\210\0016\001\214\001\222\001\226\000\000\007e\000\000\000\000\007e\000\000\000\000\023z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\007e\023~\000\000\023\130\000\000\007e\007e\007e\000\000\007e\007e\023\134\007e\001\242\000\000\000\000\000\000\023\138\000\000\007e\023\146\000\000\007e\000\000\023\150\000\000\000\000\000\000\000\000\000\000\023\154\000\000\024\234\002\002\000\000\000\000\000\000\007e\000\000\028\194\000\000\000\000\007e\007e\023z\000\000\023\158\002\006\000\000\000\000\000\000\028\182\006\006\000\000\000\000\023~\000\000\023\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\134\000\000\000\000\000\000\000\000\000\000\023\138\000\000\023\162\023\146\000\000\023\166\000\000\023\150\000\000\000\000\000\000\000\000\000\000\023\154\000\000\000\000\000\000\000\000\023\170\000\000\000\000\000\000\000\000\023\174\000\n\023\178\000\000\023\182\023\186\023\158\023\190\000\000\000\000\000\000\000\000\000\000\000\000\023\194\000\000\000\000\023\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\023\202\023\162\000\000\000\000\023\166\023\206\023\210\t)\000\000\023v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\170\000\000\000\000\000\000\023z\023\174\000\n\023\178\000\000\023\182\023\186\000\000\023\190\000\000\000\000\023~\000\000\023\130\000\000\023\194\000\000\000\000\023\198\000\000\000\000\023\134\000\000\000\000\000\000\000\000\000\000\023\138\000\000\023v\023\146\000\000\000\000\023\202\023\150\000\000\000\000\000\000\023\206\023\210\023\154\023z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023~\000\000\023\130\000\000\025\150\000\000\000\000\000\000\000\000\000\000\023\134\000\000\000\000\000\000\000\000\000\000\023\138\000\000\000\000\023\146\000\000\000\000\000\000\023\150\000\000\000\225\000\000\000\000\000\225\023\154\000\000\023\162\000\000\000\000\023\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\027\n\000\000\023\170\000\000\000\225\000\225\000\000\023\174\000\n\023\178\000\000\023\182\023\186\000\000\023\190\000\000\000\000\000\000\000\000\003R\000\000\023\194\000\000\000\225\023\198\000\225\000\225\023\162\000\000\000\000\023\166\000\000\015\157\000\000\000\000\000\225\000\000\000\000\003Z\023\202\003j\000\000\000\000\023\170\023\206\023\210\000\000\000\000\023\174\000\n\023\178\000\000\023\182\023\186\000\000\023\190\015\157\015\157\000\000\000\000\000\000\000\000\023\194\000\225\rv\023\198\000\000\000\000\000\000\000\000\000\000\015\157\000\000\000\000\000\000\000\000\000\000\015\157\015\157\000\000\023\202\r~\000\000\000\000\r\138\023\206\023\210\015\157\000\000\000\000\015\157\000\000\015\157\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\000\000\221\000\000\000\225\000\000\000\000\000\225\000\000\000\000\000\000\003b\000\000\000\000\000\000\000\000\015\157\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\221\000\225\000\000\000\000\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\000\r\150\000\000\003R\000\000\000\225\000\225\000\221\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\213\015\157\003Z\000\213\003j\000\000\r\154\000\000\015\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\162\000\000\000\000\000\000\000\000\015\157\000\000\000\213\000\213\000\000\000\221\000\000\015\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\157\015\157\000\213\000\000\003\218\000\000\000\213\001\001\000\213\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\003Z\000\000\000\213\000\000\000\000\000\000\000\000\003J\003r\000\221\000\000\000\000\000\221\000\000\000\000\003\218\003b\000\000\000\245\000\000\000\000\000\000\003R\000\000\000\000\000\213\001\001\000\000\001\001\003\226\000\221\000\000\000\000\000\000\000\221\000\221\000\000\000\000\003z\003J\003r\003Z\000\000\003j\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000\000\000\245\000\000\000\245\000\245\000\000\000\000\000\000\000\213\003\130\000\000\000\213\000\000\003z\000\000\003b\003Z\000\000\003j\000\000\000\000\000\000\000\237\000\000\000\000\000\237\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\213\000\213\000\000\000\000\000\000\000\000\000\000\000\000\003\130\000\000\000\000\000\213\000\213\003J\003r\000\000\003\138\000\000\000\000\001\001\000\000\000\217\000\000\003b\000\217\000\000\000\000\000\000\003R\000\000\000\000\000\000\000\237\000\000\000\237\000\237\000\000\001\001\000\000\000\000\000\000\001\001\001\001\000\000\000\237\000\217\000\217\003Z\003\138\003j\000\000\000\245\003\234\003\146\000\000\003b\000\000\000\000\000\000\000\000\000\217\000\000\000\229\000\000\000\217\000\229\000\217\000\217\000\000\000\245\000\000\000\000\003\130\000\245\000\245\000\000\000\217\000\000\000\000\003Z\000\000\000\217\000\000\000\000\000\245\003\146\003J\003r\000\000\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\217\000\229\000\000\000\229\000\229\000\000\000\000\000\000\000\237\000\000\000\000\000\237\000\000\000\229\000\233\003b\003Z\000\233\003j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000\000\000\237\000\237\000\000\000\000\000\000\003J\003r\000\217\000\229\000\000\000\217\000\237\000\237\000\000\003b\000\000\000\000\000\000\000\000\000\000\003R\000\000\003\218\000\000\000\233\000\253\000\233\000\233\000\217\000\000\000\000\000\000\000\217\000\217\000\000\000\000\000\233\000\000\000\000\003Z\000\000\003j\000\000\000\217\000\217\000\000\003J\003r\000\229\000\000\000\000\000\229\000\000\000\000\000\241\003b\000\000\000\241\000\000\000\000\000\000\003R\000\000\000\000\003\130\000\253\000\000\000\253\003\226\000\229\000\000\000\000\000\000\000\229\000\229\000\000\000\000\003z\003J\003r\003Z\000\000\003j\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000\000\000\241\000\000\000\241\000\241\000\000\000\000\000\000\000\233\003\130\000\000\000\233\000\000\003z\000\000\003b\003Z\000\000\003j\000\000\000\000\000\000\014.\000\000\000\000\000\000\000\000\000\000\000\000\000\233\000\000\000\000\000\000\000\233\000\233\000\000\000\000\000\000\000\000\000\000\000\000\003\130\000\000\000\000\000\233\000\233\0146\014>\000\000\003\138\000\000\000\000\000\253\000\000\000\189\000\000\003b\000\000\000\000\000\000\000\000\014F\000\000\000\000\000\000\000\165\000\000\014N\014V\000\000\000\253\000\000\000\000\000\000\000\253\000\253\000\000\014^\003J\003r\014f\003\138\014n\000\000\000\241\000\253\003\146\000\000\003b\000\165\000\165\000\000\000\000\003R\000\000\000\000\000\000\000\000\000\000\000\189\000\189\000\000\000\241\000\000\003R\014v\000\241\000\241\000\000\003z\000\165\000\165\003Z\000\000\003j\000\000\000\161\000\241\000\241\000\000\000\165\000\000\000\000\003Z\000\000\003j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\130\000\000\000\000\000\161\000\161\000\000\000\000\000\000\014~\000\000\000\000\000\165\000\000\000\000\000\000\014\134\000\000\000\000\003R\000\000\000\000\000\000\000\000\000\000\000\161\000\161\000\000\000\000\000\000\006\029\000\000\000\000\000\000\000\000\000\161\000\153\006\029\003Z\000\000\003j\003\138\000\000\000\000\000\000\014\142\014\150\003\218\003b\000\000\000\000\000\000\000\165\000\000\000\000\000\000\000\000\000\000\000\000\003b\000\153\000\153\000\189\000\161\000\000\000\000\000\000\000\000\000\000\000\189\000\000\003J\003r\000\165\000\000\000\153\000\000\000\189\003\146\000\000\000\165\000\153\000\153\000\000\000\000\000\000\003R\000\000\000\165\000\165\003\218\000\153\000\197\003\226\003Z\000\000\000\153\000\000\000\000\000\000\000\000\000\000\003z\000\161\000\000\003Z\000\000\003j\000\000\000\000\003b\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\161\000\000\000\000\000\000\000\000\003R\003\130\000\161\000\000\000\000\000\000\000\185\000\185\000\000\000\000\000\161\000\161\000\000\000\000\000\000\000\177\003z\000\000\000\000\003Z\000\000\003j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\003b\000\000\003J\003r\003\138\000\000\000\000\003\130\000\000\000\000\000\000\003b\000\000\000\000\000\153\000\000\000\000\003R\000\000\000\157\000\000\000\153\000\000\000\177\000\177\000\197\000\000\000\000\000\000\000\153\000\153\000\000\000\197\000\177\000\000\000\000\003Z\000\000\003j\000\000\003\234\003\146\000\000\000\157\000\157\000\000\000\000\003\138\000\000\000\000\000\000\000\000\000\000\000\000\003b\000\000\000\000\000\000\000\157\000\000\000\000\003\130\000\000\000\000\000\157\000\157\000\000\000\000\000\185\000\000\000\169\000\000\000\000\000\000\000\157\000\185\000\000\003Z\000\000\000\157\000\000\000\173\000\000\000\185\003\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\000\000\000\000\000\177\000\157\000\000\000\000\003J\003r\000\000\003b\003R\000\000\000\000\000\000\000\000\000\000\000\169\000\169\000\000\000\000\000\000\003R\000\000\000\177\000\000\000\000\000\169\000\173\000\173\003Z\000\177\003j\000\000\000\000\000\000\000\000\000\000\000\173\000\177\000\177\003Z\000\000\003j\000\157\003\218\000\000\000\000\000\000\000\000\000\000\003b\000\000\000\000\000\000\000\169\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\157\003\130\000\000\000\000\003J\003r\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\157\000\157\000\000\000\000\003R\000\000\003J\003r\000\000\000\000\000\193\003\226\000\000\000\000\000\000\000\169\000\000\000\000\000\000\000\000\003z\003R\003b\003Z\000\000\003j\000\173\000\181\000\181\000\000\000\000\000\000\000\000\003b\000\000\000\000\000\169\003z\000\000\000\000\003Z\000\000\003j\000\169\000\000\000\000\000\000\000\173\003\130\000\000\000\000\000\169\000\169\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\173\000\000\003\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\003\138\000\000\000\000\000\000\000\000\000\000\000\000\003b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\138\000\000\000\000\000\000\000\193\000\000\000\000\003b\000\000\000\000\000\000\000\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\003\146\000\181\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\181"))
1495
1496 let lhs =
1497 (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\029\001\029\001\029\001\028\001\028\001\028\001\028\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\026\001\026\001\026\001\026\001\026\001\026\001\026\001\026\001\026\001\026\001\026\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\022\001\022\001\022\001\022\001\021\001\020\001\020\001\020\001\019\001\019\001\019\001\018\001\018\001\018\001\017\001\017\001\017\001\016\001\015\001\014\001\r\001\r\001\012\001\012\001\011\001\011\001\n\001\n\001\t\001\t\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\249\000\248\000\248\000\247\000\247\000\246\000\246\000\245\000\245\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\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\237\000\236\000\236\000\236\000\236\000\235\000\235\000\234\000\233\000\232\000\232\000\232\000\232\000\231\000\231\000\231\000\231\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\229\000\228\000\228\000\227\000\227\000\227\000\226\000\226\000\225\000\225\000\225\000\224\000\223\000\222\000\222\000\221\000\220\000\220\000\219\000\219\000\218\000\218\000\217\000\217\000\216\000\215\000\214\000\214\000\213\000\213\000\212\000\212\000\211\000\211\000\210\000\210\000\209\000\208\000\208\000\207\000\207\000\207\000\207\000\207\000\206\000\206\000\206\000\205\000\204\000\203\000\203\000\203\000\203\000\202\000\202\000\201\000\200\000\200\000\200\000\200\000\200\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\195\000\195\000\194\000\194\000\194\000\193\000\192\000\192\000\192\000\192\000\191\000\190\000\190\000\189\000\189\000\188\000\188\000\187\000\187\000\187\000\187\000\186\000\186\000\185\000\185\000\185\000\185\000\185\000\185\000\184\000\184\000\184\000\183\000\183\000\183\000\183\000\182\000\181\000\180\000\180\000\179\000\179\000\178\000\178\000\177\000\177\000\176\000\176\000\175\000\175\000\174\000\174\000\174\000\174\000\174\000\174\000\174\000\174\000\173\000\172\000\171\000\171\000\170\000\170\000\169\000\169\000\168\000\168\000\167\000\167\000\166\000\166\000\165\000\165\000\164\000\164\000\163\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\155\000\155\000\154\000\154\000\153\000\153\000\152\000\152\000\151\000\151\000\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\144\000\143\000\143\000\142\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\140\000\139\000\138\000\137\000\136\000\135\000\134\000\133\000\132\000\131\000\131\000\131\000\130\000\130\000\130\000\129\000\129\000\129\000\129\000\128\000\127\000~\000}\000|\000{\000z\000z\000y\000y\000y\000x\000x\000w\000w\000w\000v\000v\000u\000t\000t\000t\000s\000r\000r\000q\000q\000q\000q\000q\000q\000q\000p\000p\000p\000p\000p\000p\000p\000o\000o\000o\000o\000o\000o\000o\000n\000n\000n\000n\000n\000n\000n\000m\000m\000m\000m\000m\000m\000m\000l\000l\000l\000l\000l\000l\000l\000k\000k\000j\000j\000i\000i\000h\000h\000g\000g\000f\000f\000e\000e\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000c\000c\000b\000b\000a\000a\000`\000`\000_\000_\000^\000^\000]\000]\000]\000]\000]\000\\\000\\\000[\000[\000[\000[\000Z\000Y\000X\000X\000X\000W\000W\000W\000V\000V\000V\000V\000V\000V\000U\000U\000U\000U\000U\000T\000T\000T\000T\000T\000T\000T\000S\000S\000S\000S\000S\000S\000S\000R\000R\000R\000R\000R\000R\000R\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\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\000K\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000I\000I\000I\000H\000G\000F\000E\000E\000D\000D\000C\000B\000B\000B\000A\000A\000@\000@\000?\000>\000>\000>\000>\000>\000>\000>\000=\000=\000=\000=\000=\000=\000=\000<\000<\000<\000<\000<\000;\000;\000:\000:\000:\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\030\000\029\000\029\000\029\000\029\000\028\000\028\000\028\000\027\000\027\000\026\000\026\000\026\000\025\000\025\000\025\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\022\000\022\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\016\000\016\000\016\000\016\000\016\000\015\000\015\000\014\000\r\000\r\000\r\000\r\000\r")
1498
1499 let goto =
1500 ((16, "\000\170\0001\000\000\000\000\000\000\0005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\137\000\000\001I\bV\000\000\001=\0015\000\000\000\000\000\000\001/\000\000\000\221\000\149\000\000\000\000\000\133\000\000\0007\000\000\000\000\000\000\000j\000\000\000\234\000\000\000\000\000\000\001\242\000\000\002\178\000\000\000\000\003:\000\000\003z\003\198\000\000\000\000\004\152\000\000\005\028\000\000\000\000\000\000\005\150\000\000\005\160\000\000\005\186\000\000\0060\000\000\006\148\006\246\000\000\000\000\007\004\000\000\007z\000\000\000{\000/\006d\000\000\000\000\000\000\002\218\000\000\000\000\006&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\024\000\000\000\000\001X\nt\000\000\000\000\n\190\000\000\000\000\000\000\000\000\007\130\000\000\007\168\002\154\000\000\007\238\000\000\000\000\b\130\000\000\000\000\b\132\000\000\t\"\000\000\000\000\000\000\t2\000\000\000\027\tF\000V\000\000\000\000\000\000\000\000\004\236\000+\000\152\000\000\000\000\000\000\tb\000\000\0056\000\000\004V\000f\b\206\000\000\000\000\019D\023*\000\000\011\204\000\000\024\248\000\027\002|\000\027\014\148\014&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\b\002|\000\000\000\000\026\022\"D$N\000\000)\b\000\000\000\030*\140\000\000\000\000\000\000\000\000\000\146\000\000\002\004\018\144\0042\000\000\000\0000\192\000\000\001\n\000\000\017H\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0034\000\000\000\000\n\210\000\000\r\204\000\000\017\b\000\000\027\242\000\000\031\218\000\000'\222\000\000(X\000\0003|\000\0008J\000\0008r\000\000\026H\000\0000\248\000\000\000\000\000\000\000\000\000\0008\128\000\0008\148\000\0008\162\000\0009&\000\00092\000\0009@\000\0009F\000\0009Z\000\0009h\000\0009\128\000\0009\250\000\000:<\000\000:J\000\000:d\000\000:~\000\000:\138\000\000\025\014\000\000\000\000\025\\\000\000\000\000\000\000\000\000\001d\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\1711\024\000\000\000H\000\000\000\000\001N\b~\000\000\001H\tj\000\000\000\000\t\192\000\000\n0\nD\000\000\000\000\n\160\000\000\n\188\000\000\000\000\000\000\n\196\000\000\n\204\000\000\n\206\000\000\011\018\000\000\000\000\011H\000\000\011|\011\138\000\000\000\000\011\152\000\000\011\156\000\000\000\000\000\000\011\162\000\000\011\204\000\000\011\208\000\000\011\212\000\000\011\236\012\002\000\000\000\000\012\020\000\000\012\024\000\000\001\252\002\208\000\000\012\030\000\000\012$\005\024\000\000\012*\000\000\000\000\012D\000\000\012F\000\000\012J\000\000\000\000\000\000\012R\000\000\012V\004\240\000\000\012f\000\000\006\214\n\030\000\000\005t\000\000\006>\000\000\000\000\007b\016\184\000\000\000\000\000\000\000\140\018\202\000\000\022\132\000\000\000\000\000\000\002L\000\000\002\236\000\000\nd\000\000\000\000\000\000\000\000\000\000\000\000\n\240\000\000\000\000\000\000\000\000\000\000\023\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\003\172\006:\000\000\012t\000\000\012x\b\026\000\000\012z\000\000\000\000\006\146\000\000\000\000\000\000\000\000\001\214\000\000\000\000'\224\000\000\000\000\000\000\003\128\000\000\000\000\000\000\000\000\000\000\000\000*\160\000\000\000\000+P\000\000\000\000+\154\000\000\b4\000\000\000\000\000\000\004x\000\000\031\188%L\000\000\000\000%\212&x\000\0007\024\000\0007\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\164\000\000$\156\000\0001b\000\000;(\000\000;B\000\000;F\000\000;z\000\000;\200\000\000;\228\000\000<\006\000\000<\n\000\000<.\000\000<L\000\000<p\000\000<t\000\000<\232\000\000\000\000'F\000\000\000\000\000\000'z\000\000\000\000\000\000\000\000\000\000\000\0001z\000\000\000\000\000\000\005 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\188\000\000\000\0001\178\000\000\000\000\000\000\016\n\001\244\000\000\000\000\000\000\000\000\020\196\000\000'\250\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\001\\\000\000\000\000\000\000\012\138\t\164\000\000\012\142\000\000\000\000\000\000\000\000\000\000\012\148\000\000\000\000\001\132\tb\000\000\t\132\000\000\000\000\000\000\001\200\000\000\012\196\000-\012\154\000\000\000\000\012\156\000\000\012\168\012\174\000\000\000\000\012\178\000\000\012\194\000\000\000\000\000\000\012\200\000\000\012\206\000\000\012\212\000\000\012\214\000\000\000\000\012\216\000\000\012\220\012\230\000\000\000\000\012\244\000\000\012\246\000\000\000\000\000\000\012\254\000\000\r\012\000\000\r\018\000\000\r\026\000\000\r\"\r&\000\000\000\000\r(\000\000\r,\000\000\005\134\005\150\000\000\r4\000\000\r6\012X\000\000\r:\000\000\000\000\rB\000\000\rH\000\000\rV\000\000\000\000\000\000\rX\000\000\003\172\000\000\000\000\rZ\011\152\000\000\rj\000\000\000\000\b\156\000\000\000\000\004\198\000\000\000\000\000\000\000\000\000\000\005\208\0124\000\000\r\128\000\000\r\134\014\190\000\000\r\138\000\000\000\000\014\160\r\146\000\000\000\000\r\150\000\000\r\156\r\162\000\000\000\000\r\164\000\000\r\166\000\000\000\000\000\000\r\168\000\000\r\170\000\000\r\188\000\000\r\196\000\000\000\000\r\198\000\000\r\208\r\210\000\000\000\000\r\212\000\000\r\216\000\000\000\000\000\000\r\222\000\000\r\224\000\000\r\226\000\000\r\240\000\000\r\246\r\252\000\000\000\000\r\254\000\000\014\004\000\000\007\138\017B\000\000\014\006\000\000\014\b\018\156\000\000\014\018\000\000\000\000\014\022\000\000\014\024\000\000\014 \000\000\000\000\000\000\014$\000\000\014(\019\014\000\000\014*\000\000\000\000\bP\021\176\000\000\014.\000\000\014<\021\248\000\000\014@\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\006\000\000\n\242\000\000\000\000\000\0002^\000\000\000\000\000\007\000\000\000\000\000\000\002\188\0036\000\000\000\000\022\234\002N\000\000,T(\144\000\000\000\000\000\000\028\002\000\000\000\000(\222\000\000\000\000\000\000\004\180\000\000\000\000\000\000\000\000\000\000\000\000\000\000-\164\000\000\000\000/V\000\000\000\0000\214\000\000\014\244\000\000\000\000\000\000\b\148\000\000!*\000\000\000\0002\178\000\000\000\000\000\000\t\026\000\000\000\000\000\000\000\000\000\000\000\0003\028\000\0003T\000\000\000\000\000\000\005\030*\000\000\000\000\000\000\000#N\000\000\000\000\000\000\000\000\tn\000\000\000\000\000\000\000\000\006\024\000\000\000\000\016V\000\000\002\188\000\000\000\000\000\000<\236\000\000=\020\000\000=.\000\000=R\000\000=n\000\000=\216\000\000>\022\000\000>\026\000\000>6\000\000>8\000\000>\156\000\000>\160\000\000>\186\000\000>\210\000\000\000\000*V\000\000\000\000\018J*\248\000\000\000\000+4\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003|\000\000\000\000\000\000\000\000\006H\000\000\007\170\000\000\000\000\012`\000\000\000\000\000\000+\014\000\000\000\000\000\000\000\000\000\000\021\020\000\000\000\000\000\000\000\000+T\000\000\000\000\000\000\000\000\002x\005\220\000\000+\242\000\000\000\000\000\000\000\000\bx\000\000,&\000\000\000\000\000\000\000\000\001C\000\000\007$\000\0004\022)\166\000\000\000\000\000\0003V\000\000\000\000\000\000\b\\\000\0003\158\000\000\000\000\000\0003\182\000\000\000\000\000x\000\000\024\180\000!*2\000\000\000\000\000\000\004h\005\198\000\000\000\000\000\000\000\000\000\000\000\0004`\000\000\000\0005\186\000\000\000\0006\166\000\000\011\146\000\000\000\000\000\000\t\134\000\000!|\000\000\000\0004\000\000\000\000\000\000\000\t\146\000\000\000\000\000\000\000\000\000\000\000\0007\192\000\0008\024\000\000\000\000\000\000\004\228\000\000\000\000\000\000\000\000\000\000\000\000?\020\000\000,\184\000\0004\154\000\000?n\000\000?~\000\000?\130\000\000?\192\000\000?\232\000\000@ \000\000@P\000\000@r\000\000@x\000\000@~\000\000@\204\000\000A$\000\000A2\000\000\000\000\b\206\000\000\n*\000\000\rr\001\200\007\172\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\248\000\000\"\232\b\244\t\228\000\000\000\000\000\000,\188\000\000,\208\000\000-\n\000\000#\134#\240\007\162\0052\000\000\001\194\007h\000\000\000\000\000\000\b\254\000\000\000\000\n\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\252\000\000\000\000\000\000\000\000!\148\000\000$R\000\000\000\000\000\000\000\000\000\000\000\000\0146\000\000\000\000\011\002\000\000\000\000\000\000\025@\003$\000\000\025\204\000\000\000\000\bx\000\000\005\136\000\000\000\000\014t\000\000\0262\000\000\000\000\"\030\000\000\000\000\000\000\001N\000\000\000\000\t\198\000\000\000\000\023p\000\000\000\000\000\000-\"\000\000\000\000\000\000\027\162\000\000\000\000\000\000\000\000-\220\000\000\000\000\000\000\000\000\003,\012\026\000\000.\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\000\000\000\000\005\228\000\000\015\230\000\000\001N\000\000\000\000\005\206&\224\000\000\005\224\000\000\000\000\000\000\000\000\004\228\000\000$\194\000\000\026\216\000\r\027>\000\000\003Z\000\000\016r\000\000\016\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\004\028:\002\\\028\194\000\000\000\000\000\000\003\190\000\000\017\194\000\000\t\\\000\000\000\000\001N\0000\028\252\000\000\000\156\000\000\018\\\030 \000\000\000\000\019 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\n.\007\230\000\000\np\000\000\000\000\000\000\000\000\007@\000\000\019\172\000\000\000\000\000\000\011\2385Z\000\000\000\000\000\000 `\000\000\000\000\000\000\000\000\000\000\011@\011l\000\000\000\000.n\000\000\000\000\003n\000\000\011\194\000\000\000\000\027\254\000\000\000\000\000\000.\150\000\000\000\000\000\000\000\000.\212\000\000\000\000\004\004\011\252\000\000\000\000.\252\000\000\000\000\011b \128\000\000\012>\000\000\000\000/(\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\136\000\000\000\000\000\000\002\128\000\000\000\000\012\240\000\000\000\000\029(\000\000\000\000\000\000/B\000\000\000\000\000\000\000\000/\182\000\000\000\000\005$\012\248\000\000\000\0000\020\000\000\000\000\011\188\000\000\000\000\000\000\000\000\004\228\002\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001,\000\000\0208\000\000\000\000\000\0005\154\000\000\b\188\000\000\000\000\000\000\002\000\000\000\004\186\000\000\000\000\004~\020\252\000\000\021\136\000\000\000\000\000\000\006R\000\0005\232\006\2185\234\000\0006<\000\000\000\000\000\000\0070\000\0006\190\b\182\000\000\000\000%(\tr%\\\000\000%\180\000\000\000\000\000\000\t\164\000\0006\216\t\214\000\000\000\000\bD\nP\bH\000\000\018\200\000\000\000\000\000\000\n`\000\0006\222\011\128\000\000\000\000\000\000\001b\000\000\000\000\000\000\000z\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\000I\000\000\000\000\005\016\000\000\000\000\015\002\000\000\000\000\000\000\000\000\007\208\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\006\000\000\000\000\014\232\000\000\007|\000\000\000\000\000\172\000\000\003r\014\144\0046\000\000\000\000\t\164\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\250\004\250\000\000\000\000\004\222\000\000\000\000\000\000\t\012\000\000\000\000\017\152\020r\000\000\000\000\000\000\000\000\020\202\0210\002\162\000\000\000\000\000\000\021\244\000\000\000\000\000\000\000\000\000\000\000\000\006\176\000\000\000\000\001,\000\000\000\000\014`\000\000\000\000\000&\000\000\000\000\005\n\000\000\004*\000\000\000\000\000\000\000\000\000\139\022\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\022\030\000\000\000\000\000\000\000\000\022(\000\000\000\000\003\204\000\000\015(\000\000\000\000\000\000\000\011\000\000\007\230\000\000\000\000\000\000\tN\000\000\000\000\0232\000\000\000\000\0009\014l\000\000\014r\000\000\023v\014\140\000\000\023\232\000\000\000\000\000\000\000\000\014t\000\000\014\232\000\000\000\000\000\000\n\014\000\000\0002\014\176\004\172\000\000\000\000\000\000\b\180\000\194\000\000\000\000\000\000\000\000\002\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0006\000\000\000\000\014\016\000\000\007J\015>\006\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012D\000\000\000\000\015F\025\200\000\000\000\000\000\000\000\000\027\158\000\000\000\000\016L\000\000\002\"\rX\000\000\000\000\000\000\016\232\000\000\000\000\000\000\000\000\000\000\001\236\019r\000\000\000\000\020J\000\000\000\000\000\000\000\000\000\018\000\000\000\000\006N\000\000\000\000\000\000\001@\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031&\000\000\000\000\000\000\004\252\000\000\000\000\000\000\000\000\000\000\000\020\003P\n\174\014\012\000\000\006H\t\014\t:\n\000\000\000\000\000\000\000\000\000\000\000\000\000\011\206\022\020\000\000\030Z\b\132\000\000\000\000\n\210\000\000\022\216\000\000\007\004\000\000\000\000\012\n\023d\000\000\030\226\000\000\012\164\031\028\000\000\000\000\000\000\000)\006H\000\000\000\000\000\000\000\000\004*\000\000\011\212\005\146\000\000\000\000\015D\t\224\000\000\016\138\000\000\000\000\002L\000\000\002\236\000\000\000\000\018J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\tZ\000\000\000\000\011&\000\000\023\240\000\000\r\232\014\248\000\000\000\000\000\000\000\000\000\000\007B\000\000\000\000\000\000\000\000\000\0000\164\000\000\000E\000\000\000\000\000\000\000\000\000\000\000\214\000\000\n0\007r\011,\000\000\002\180\011\180\000\000\n\230\000\000\003<\000\000\004(\000\000\004\212\000\000\r\232\000\000\000\000\000\000\000\000\000\000\005\140\000\000\n\236\000\000\005\192\000\000\r\232\015l\000\000\000]\000\000\015V\006\230\000\000\nT\000\000\n\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011F\000\000\011\154\000\000\000\000\000\000\0142\000\000\000\000\000\000\000\000\000\000\015f\014<\000\000\000\000\014t\000\000\000\000\014R\n6\015\170\000\000\015\172\000\000\000\000\002P\006\018\000\000\014\132\000\000\000\000\014\190\000\000\000\000\000\000\000\000\000\000\000\000\015\152\014t\000\000\000\000\000\000\014\166\014~\011\162\006V\014\176\014\238\000\000\000\000\014\148\012\022\007\006\014\204\015\002\000\000\000\000\012\218\015\214\000\000\015\216\000\000\015\252\000\000\000\000\015\236\000\000\000\000\015\244\000\000\000\000\000\000\000\000\016\026\000\000\016@\000\000\000\000\000\000\016B\000\000\000\000\000\000\016N\000\000\000\000\000\000"), (16, "\004\022\002\182\004)\000\193\006^\006\007\006\b\005\158\000\197\005\251\005\216\002\191\000\025\000\137\000U\007\186\000\024\000\137\007\000\000\028\000\137\006\145\0037\004\242\004\218\000\007\004\022\000\004\004)\007\187\000\137\000\193\005\249\004\244\007\"\0037\000\194\005\252\006\007\006\b\007#\006u\001\"\000\137\006\146\006\149\006\007\006\b\007$\000\005\004\171\000\005\000U\007Z\000U\0038\007[\006\166\006\145\004\172\000 \004\024\000\186\005\019\006s\004\025\006Q\000\187\006v\006\007\006\b\000\195\003\225\001$\006\t\006\172\000\137\000\139\000\140\002U\000\144\006\146\006\149\006\007\006\b\004\172\006\170\004\024\000l\006R\000\186\004\025\006U\006\007\006\b\000\187\000\031\000\018\006\173\000\195\006\176\006\007\006\b\000\137\000\"\000\201\005\248\006\t\005\160\000\137\000\139\000\140\000\141\000\144\007_\006\t\005\144\005\019\000\146\000\017\005!\006\167\004.\004\022\001\029\004)\0023\001\029\000p\005\249\006\024\006\168\006\169\000\201\005\252\006\007\006\b\007`\006\t\007&\000\137\006\238\006\239\000$\005\029\007$\007a\004\171\000U\000\193\006\158\000\146\006\t\006\022\000\199\004\149\007\195\007'\006\243\006\025\006\007\006\b\006\t\001\"\003\232\004&\000V\006\246\002M\004\154\006\t\001\155\006\159\004\155\004\173\006\171\004'\005#\005\000\000\202\007\001\004\149\004\172\000\137\004\024\000a\000m\004\173\004\025\004\238\004\252\004&\001\137\007t\001#\004\154\000d\001\166\005\022\004\155\004\173\007(\004'\001\031\006\t\006K\005\149\000\202\000\186\000\203\007)\006\246\004\159\000\187\004\219\007F\004\250\000\195\007%\004\181\002H\0039\005\017\000(\002\202\001%\003\217\005\162\006\189\006\t\004\210\0042\004\181\001(\000\b\004\186\000\235\000\203\004\159\001\177\004\176\007H\003\205\004\210\004\022\004\181\004)\000U\007J\0043\000\r\000\201\007u\000U\0044\000\205\004\210\0042\0045\000\236\001w\000\137\000\190\000\237\0046\006\226\0037\004\242\004\218\006\207\000\207\000\016\000\017\006c\001\204\0043\006\207\001\216\004\149\002\191\0044\001z\006\187\002\030\0045\006\160\002\191\000*\004&\001\165\0046\000\137\004\154\001w\006\172\001\182\004\155\004\173\007v\004'\000U\006\233\006\234\004\172\006Q\004\024\001\138\007)\001\139\004\025\001\158\003Z\007x\006\n\001z\003[\001(\006\173\006\r\006\176\006\007\006\b\001\165\005\145\006\162\000\202\001\184\006R\002I\000U\006U\006\007\006\b\000\186\000\193\004\159\001\206\004\176\007z\000\197\001\207\005\006\004\181\002J\005\147\007|\006\159\005\246\005\247\001\166\006\014\000\137\006\215\004\210\0042\000\203\000\147\006\163\002^\004\199\006\217\000V\004\022\001\182\004)\005\001\004.\001\024\001\029\000U\003\128\002\015\0043\002`\003\\\002/\001\222\0044\003]\000\137\000h\0045\000\204\000\137\007$\007f\004\218\0046\006I\006\t\006\220\003\218\002a\000\186\001\183\003\205\001(\006\225\000\187\004\149\006\t\000\205\000\195\0022\004\204\003\179\001\017\002`\000U\004&\006>\006\007\006\b\004\154\004|\000k\000\207\004\155\004\173\000.\004'\004\172\005\003\004\024\005\161\0038\000\193\004\025\004\208\004\168\004\022\000\194\004)\004\238\005\147\000U\000\201\007q\006\015\001\166\000U\004\169\0020\001b\000l\007\172\004\128\000\137\001\182\000U\001\223\002I\007$\007f\004\218\006\015\004\159\000\137\004\219\006\160\004\250\003\130\007\000\004\181\001\204\0039\005\017\001\205\004\244\004\131\0020\000l\002\016\002\028\004\210\0042\003j\003\183\003\168\001\184\006\t\004\211\001\224\001\153\003\133\000\186\000U\003k\006?\004\172\000\187\004\024\002\202\0043\000\195\004\025\001\225\005\b\0044\002\202\003\188\006\223\0045\000\137\001(\007k\001\226\003\182\0046\000\147\000\202\006i\004\199\003\171\003\205\0000\003\137\004\149\005\006\007\179\003\136\000U\000V\000\186\001\227\005\160\001\206\004&\000\201\001\228\001\207\004\154\006r\001\229\002#\004\155\004\173\007l\004'\001\230\000\203\000a\000r\002\007\006#\000U\007)\001\166\004\022\000V\004)\004\157\000d\000\193\000V\006s\0025\005z\000\194\006v\006\007\006\b\003\138\001\148\001(\000\137\001\222\000\235\000a\001_\007$\007f\004\218\000^\004\159\003\136\004\219\003\139\007n\000d\004\022\004\181\004\023\0003\007p\004\149\000\205\006$\003\192\005U\000\236\006\028\004\210\0042\000\237\004&\003\217\006_\006`\004\154\000\147\000\207\000\202\004\155\004\173\007l\004'\004\172\000\186\004\024\002\174\0043\000\186\004\025\007)\0007\0044\000\187\003Z\004\157\0045\000\195\003[\007m\007\011\004\247\0046\006a\000\147\006\t\000U\003\206\000\203\002\184\004\022\000\147\004)\006b\000\137\000\186\001\223\004\024\004\159\0037\004\219\004\025\007n\000U\003:\004\181\006\028\000\137\007p\0006\002\186\000\201\007$\007f\004\218\001\171\004\210\0042\007\002\000\137\002S\000\137\000\139\000\140\001t\000\144\001(\003Z\003\190\006.\005\011\003[\005O\000\186\000\209\0043\003\225\003\\\006\029\003\189\0044\003]\002\187\006+\0045\000\210\006\003\001\166\006T\004\172\0046\004\024\006,\006\007\006\b\004\025\000\137\000\139\000\145\004\149\000\144\000\146\006\004\000\146\001%\007o\006,\006\007\006\b\004&\002\027\006R\001(\004\154\006U\006\007\006\b\004\155\004\173\007l\004'\007+\004\022\000U\004)\000\202\003\128\000U\007)\005\128\003\\\004\175\005\170\004\157\003]\006x\000U\006\029\000\146\000\137\000\147\004&\000\137\004\169\007$\007f\004\218\005\172\004\022\001\"\004)\004\022\004'\004)\0009\000\203\004\159\001\209\004\219\000l\007n\003\179\006\t\004\181\006\248\000\137\007p\006\249\005\163\000U\007$\007f\004\218\004\132\004\210\0042\006\t\004\224\000U\003j\0041\004\172\006\253\004\024\006\t\004\149\000U\004\025\002K\004\169\003k\004\173\003Z\0043\006 \004&\003[\007w\0044\004\154\0039\001\026\0045\004\155\004\173\007l\004'\004\172\0046\004\024\000\186\0072\004\024\004\025\007)\000U\004\025\003\130\007>\004\157\000;\000U\000l\007{\007\171\004W\000\137\000\139\000\140\001\168\000\144\005\162\003j\003\180\003\168\006\246\004\181\000V\007\005\004\186\003\133\002\024\004\159\003k\004\219\001w\007n\004\210\000\005\004\181\004|\003\128\007p\006\152\0039\003\\\000a\001d\000U\003]\004\210\0042\004\233\003\182\001z\003m\001z\000d\000\146\003\171\000U\004\233\001\165\004.\001\165\003\205\003\136\004\149\006\229\0043\001w\000?\004}\000\147\0044\000\137\000A\004&\0045\000U\006/\004\154\002\157\004\235\0046\004\155\004\173\007l\004'\000C\000V\001z\004\234\004\149\000\137\000\139\007)\006H\001x\001\165\003Z\004\157\000U\004&\003[\000\004\004&\004\154\003\138\000a\002\154\004\155\004\173\007l\004'\000`\004\022\004'\004)\002\196\000d\001\163\007)\003\139\004\159\000\147\004\219\004\157\007n\000\005\0040\004\181\003\130\000\137\007p\0075\000\146\0076\0037\004\242\004\218\005,\004\210\0042\007\149\001(\007\191\003j\000E\003\132\004\159\006\182\004\219\004\169\007n\003\133\005\173\004\181\003k\003\128\007p\0043\000\\\003\\\000\137\006\231\0044\003]\004\210\0042\0045\005\172\0042\003\219\000\147\004\172\0046\004\024\007c\000\147\000]\004\025\003\206\006\183\004\022\006\184\004)\0043\006\021\007\t\0043\003\136\0044\000V\003\179\0044\0045\003\223\000I\0045\001w\000\137\0046\007R\007S\0046\0037\004\242\004\218\000U\005\014\006\022\000a\004\022\006\185\004)\000\147\006\025\006\007\006\b\007\179\001z\001}\000d\006\186\005\180\000U\003\211\006\006\001\165\000\137\007r\001\134\003\138\007\198\0037\004\242\004\218\000U\001\144\005\182\005\016\000U\004\172\006\004\004\024\004{\000H\003\139\004\025\003\130\003\215\001\204\001\137\000K\001\205\000\137\000\139\000\140\001\173\000\144\006_\006`\007W\001\178\003j\007\024\003\168\005\183\004Y\004Z\004\149\004\172\003\133\004\024\004\133\003k\000\137\004\025\000\137\006I\004&\0037\005\182\0037\004\154\000\137\006\t\001(\004\155\004\173\006w\004'\005\153\005\000\007\152\003\182\000U\000\146\001z\001\180\006b\003\171\007\017\006L\004\157\000\137\001\165\007\179\003\136\002\184\000\186\006\179\000M\001\206\004\169\006\246\000o\001\207\003\225\004\022\003\225\004)\004|\0039\000U\004Y\004Z\004\159\000\193\004\219\002\188\004\250\000c\000\197\004\181\000u\000\137\004\186\004\149\003\004\001\145\0037\004\242\004\218\000U\004\210\0042\004\022\004&\004)\003\138\004|\004\154\001\222\004}\000\147\004\155\004\173\000U\004'\004\254\005\000\002\187\001\160\0043\003\139\001\138\004\149\001\139\0044\000t\004\230\004\157\0045\006\159\004\134\001(\004&\004\172\0046\004\024\004\154\007\005\004}\004\025\004\155\004\173\000\186\004'\005%\005\000\004\135\000\187\006+\006%\004\159\000\195\004\219\004\022\004\250\004)\004\157\004\181\003\195\007\005\004\186\003\128\005\150\004\024\002F\000V\000U\004\025\004\210\0042\000\137\006,\006\007\006\b\000\137\0037\004\242\004\218\006Q\004\159\000U\004\219\001\223\004\250\000a\000\201\004\181\0043\004\173\004\186\004\173\000\137\0044\003\031\001w\000d\0045\004\210\0042\000w\000z\006R\0046\004\127\006U\006\007\006\b\000\137\000\139\000\140\002O\000\144\004\172\000\147\004\024\001z\0043\005\186\004\025\004\\\004\236\0044\000U\001\165\004.\0045\006\031\003_\005\203\004\149\005\205\0046\005\182\004\181\000U\004\181\004\186\000\137\004\186\004&\000U\006\t\006\165\004\154\004\210\002Y\004\210\004\155\004\173\000\146\004'\005\157\005\000\001(\004Y\004Z\002\026\004\149\007\005\000\202\004\022\003\226\004)\004\157\005\014\001'\000U\004&\000\137\000\139\001y\004\154\000\144\001(\006\t\004\155\006\148\000\137\004'\000|\004|\000U\007$\000\238\004\171\003\230\004\159\000\128\004\219\000\203\004\250\004\238\002\189\004\181\003h\005\015\004\186\002X\007\b\006\146\006\149\006\007\006\b\000\137\004\210\0042\0072\000U\004\149\005\194\000\146\000\143\004}\0079\004\159\001*\000\235\006\029\004&\004\172\007\007\004\024\004\154\0043\005\196\004\025\004\155\004\173\0044\004'\007D\005\000\0045\0042\005\197\000\205\003\127\007s\0046\000\236\000\137\000\193\004\157\000\237\004\130\007\000\000\194\007\141\004\027\005\196\000\207\0043\007\020\000U\004$\0062\0044\004\022\001-\004)\0045\005\200\004Y\004Z\004\169\004\159\0046\004\219\005&\004\250\006\t\001\134\004\181\000\137\007c\004\186\005\182\007c\001\144\002[\000\147\004\142\005\164\004\210\0042\006{\004\022\001(\004)\000g\000U\001w\001\137\004[\007G\004k\002]\007\169\007\141\005(\000\186\005&\0043\000\137\001(\000\187\004\169\0044\007$\000\195\004\171\0045\001z\000\137\0011\004\149\003\128\0046\004\024\007\006\001\165\004|\004\025\005\208\0010\004&\000j\007i\004\190\004\154\007y\005\211\005'\004\155\004\173\007e\004'\004\022\005\210\004\023\0075\001\134\0076\000\201\007)\004\172\005\210\004\024\001\144\007h\001(\004\025\001w\004}\004\022\005=\004)\000\137\000\139\000\140\002\178\000\144\001\137\007d\004Y\004Z\001\204\000V\007\141\001\216\0013\000\137\004\159\001z\004\176\007j\007$\000U\004\171\004\181\001\145\001\165\007p\004\022\0015\004)\000a\000\137\0019\007\148\004\210\0042\001;\001=\004Y\004Z\000\186\000d\004\024\000\146\000\137\004\163\004\025\001\146\000V\005<\001\138\007\n\001\139\0043\007\141\007\180\004\149\004\172\0044\004\024\001(\000\202\0045\004\025\000U\005\134\004&\000a\0046\000\186\004\154\001?\001\206\005\141\004\155\007g\001\207\004'\000d\000\137\000\139\000\140\002\193\000\144\007\142\004\149\005^\0039\004\024\007\002\004\157\000\203\004\025\000U\001\145\004&\005\136\001(\001B\004\154\0072\000\137\006\172\004\155\004\173\007e\004'\007?\000U\002&\005\134\005d\001\222\004\159\007)\004Y\004Z\001\151\005\214\007h\001\138\000\146\001\139\007\190\001F\006\173\000U\006\176\006\007\006\b\001(\001E\0042\005\182\004\022\000\147\004)\000\209\001H\000U\001J\005\135\004\159\001N\004\176\007j\004&\007\r\000\212\004\181\0043\000\137\007p\004\149\007\144\0044\0037\004'\004\171\0045\004\210\0042\005C\004&\001P\0046\001R\004\154\001T\001\134\005T\004\155\004\173\007e\004'\000l\001\144\007\027\000\147\0043\001X\007\197\007)\005>\0044\001w\001\223\007h\0045\007\227\001\137\001W\004&\004\172\0046\004\024\007\146\006\t\002<\004\025\001Z\005e\001\\\004'\007\228\001a\001z\000\147\001g\007@\004\159\001f\004\176\007j\001\165\000U\005f\004\181\002)\000U\007p\004\022\000\147\004)\001i\001k\005F\001m\004\210\0042\004(\001q\007A\001\181\0075\005\165\0076\007\180\000\137\005 \000\147\001v\001\226\0037\001(\004\171\005h\0043\001\170\005m\001\176\001\175\0044\000V\007 \005V\0045\005\127\0042\002R\001\227\002Q\0046\001w\002W\001\228\000\193\002e\002h\001\229\004\212\000\194\000a\002\159\002l\001\230\0043\002k\001\145\002n\004\172\0044\004\024\000d\001z\0045\004\025\002p\005_\004\149\002t\0046\001\165\002v\004\216\007\180\002x\002z\002}\004&\002\129\003\198\007\005\004\154\001\138\002\128\001\139\004\155\004\173\006\192\004'\000\193\002\131\002\133\001(\000\137\000\197\002\137\0039\004\022\007\000\004)\005\030\005\021\002\139\000\186\005 \002\141\004\164\000\147\000\187\002\143\006\175\000\147\000\195\002\147\000\137\002\146\002\149\003\205\002\151\0037\004\166\004\171\002\156\002\162\004\159\002\161\004\176\005\023\004\022\002\164\004)\004\181\002\166\006\173\004\186\006\176\006\007\006\b\004\178\002\168\002\172\002\181\004\210\0042\001\204\000\137\000\201\001\216\000\186\002\180\0037\004\179\004\218\000\187\004\149\005q\004\172\000\195\004\024\005\129\002\195\0043\004\025\002\201\004&\002\200\0044\003\026\004\154\002\204\0045\002\207\004\155\004\173\002\211\004'\0046\002\210\002\213\002\215\002\219\002\221\000\137\000\139\000\140\002\198\000\144\004\172\005\021\004\024\002\223\000\201\003Z\004\025\002\225\002\228\003[\006>\006\007\006\b\002\232\002\231\002\234\000\186\002\236\006\t\001\206\002\240\002\242\002\244\001\207\004\159\001\027\004\176\005\023\004\022\002\246\004)\004\181\002\250\000\202\004\186\002\249\002\252\000\146\004\221\002\254\003\003\003\t\004\210\0042\000\147\000\137\003\b\004\199\003\011\003\r\0037\004\179\004\218\003\015\007\t\003\019\002&\003\025\003\024\001\222\003\030\0043\000\137\000\203\000\186\004\149\0044\003$\003\\\003#\0045\006\001\003]\007\001\006)\004&\0046\006Q\000\202\004\154\006\t\006\020\006\"\004\155\004\173\006N\004'\004\172\006\135\004\024\006q\006\130\004\204\004\025\006\132\006\142\004\149\006\144\006\154\004\223\006R\006\181\001\031\006U\006\007\006\b\004&\007P\000\203\000\209\004\154\007\002\007~\007\130\004\155\004\173\004\208\004'\007\150\001(\000\214\007\156\004\159\007\157\004\176\004\225\004\022\007\162\004)\004\181\004\157\007:\004\227\001\223\007\163\000\235\004\226\007\168\007\167\007\175\004\210\0042\007\177\000\137\001\204\002'\007\183\001\216\0037\004\179\004\218\007\184\007\188\004\159\000\205\004\219\007\189\004\220\000\236\0043\004\181\007\192\000\237\004\186\0044\002)\007\193\007\196\0045\000\207\003j\004\210\0042\006\t\0046\007\199\007\200\007\217\007\206\001w\007\215\003k\003Z\004\149\006\207\004\172\003[\004\024\007\211\001\226\0043\004\025\007\214\004&\002\191\0044\004\022\004\154\004)\0045\001z\004\155\004\173\000\186\004'\0046\001\206\001\227\001\165\006\172\001\207\007\223\001\228\000\137\007\221\007\225\001\229\004\157\0037\004\242\004\218\007\230\001\230\000\000\000\000\000\137\000\000\000\000\000\000\000\000\000\000\000\000\006\173\000\000\006\176\006\007\006\b\000\000\000\000\000\000\004\159\003\128\004\219\000\000\004\220\003\\\001\222\004\181\000\137\003]\004\186\000\000\000\000\000\000\000\000\004\172\003l\004\024\004\210\0042\000\000\004\025\000\000\000\000\000\000\0075\004\022\0076\004)\000\000\007=\000\193\000\000\000\000\000\000\001(\000\194\0043\000\000\000\000\000\000\004\149\0044\000\137\006\198\000\000\0045\006\172\0037\004\242\004\218\004&\0046\000\000\0072\004\154\000\000\000\000\000\000\004\155\004\173\0074\004'\000\193\006\t\006\210\000\000\000\000\000\199\000\000\006\173\000\000\006\176\006\007\006\b\004\157\001\134\000\000\000\000\000\000\001\223\000\000\000\000\001\159\000\000\004\172\000\000\004\024\000\000\000\000\000\186\004\025\003\130\000\000\000\000\000\187\000\000\001\137\004\159\000\195\004\219\000\000\004\220\000\000\000\000\004\181\000\000\003j\004\186\003\135\000\000\004\149\0021\000\000\000\000\003\133\004\210\0042\003k\000U\000\000\004&\000\186\000\000\004\022\004\154\004)\000\187\000\000\004\155\004\173\000\195\004'\000\201\004\249\0043\001\226\006+\000\000\000\000\0044\000\137\006\t\000\000\0045\004\157\0037\004\242\004\218\000\000\0046\003\136\000\000\000\000\001\227\000l\000\000\000\000\000\000\001\228\006,\006\007\006\b\001\229\000\000\000\201\000\000\002\202\004\159\001\230\004\219\000\000\004\250\000\000\000\000\004\181\006\213\000\000\004\186\000\000\000\000\004\149\000\000\004\172\000\000\004\024\004\210\0042\0075\004\025\0076\004&\003Z\003\138\000\000\004\154\003[\000\000\001(\004\155\004\173\004\022\004'\004)\004\251\0043\000\000\000\202\003\139\000\137\0044\001\138\000\000\001\139\0045\004\157\000\000\000\000\000\137\000\000\0046\001(\000\000\0037\005\024\004\218\000\000\000\193\000\000\000\000\006\t\000\000\000\197\000V\000\000\000\000\000\000\000\203\004\159\000\202\004\219\000\000\004\250\000\000\000\137\004\181\000\000\000\000\004\186\000\000\000\000\003\128\000a\003\001\006\211\003\\\004\210\0042\000\000\003]\004\172\000\000\004\024\000d\000\000\000\000\004\025\000\000\000\000\000\203\000\000\000\000\000\137\000\137\000\000\0043\000\000\0037\0072\004\149\0044\000\000\000\000\000\209\0045\007<\000\186\000\000\000\000\004&\0046\000\187\000U\004\154\000\216\000\195\000\204\004\155\004\173\004\022\004'\004)\005\r\000\000\005\026\000\000\000\000\000\137\000\139\000\140\003\022\000\144\000\000\004\157\003\225\000\205\000\137\000\183\002E\000\000\000\206\0037\005\024\004\218\000\000\000\000\000\000\000\000\000l\000\201\000\207\000\000\000\000\000\000\000\000\000\000\004\159\000\000\004\219\000\000\004\250\001\134\003\130\004\181\0068\000\000\004\186\000\000\001\154\000\146\001\027\001\029\000\000\000\000\004\210\0042\004\149\003j\004\172\003\175\004\024\000\000\001\137\000\000\004\025\003\133\004&\000\000\003k\004\022\004\154\004)\006\172\0043\004\155\004\173\000\186\004'\0044\005.\000\000\000\187\0045\000\000\000\000\000\188\000\137\000\000\0046\000\000\004\157\0037\004\179\004\218\000\000\006\173\000\000\006\176\006\007\006\b\000\000\003\136\005\028\000\202\000\000\000\000\000V\000\000\000\000\000\000\000\000\000\000\0075\004\159\0076\004\219\000\000\005\027\003\178\000\201\004\181\000\000\001(\004\186\000\000\000a\003\006\001\031\004\172\004\173\004\024\004\210\0042\000\203\004\025\000\000\000d\000\000\000\000\004\022\000\000\004)\000\000\003\138\000\000\000\000\000\000\000\000\000\000\001%\0043\000\000\000\000\000\000\004\149\0044\000\137\001(\003\139\0045\000\235\0037\000\000\004\171\004&\0046\000\000\006\t\004\154\005\207\000\000\000\000\004\155\004\173\004\181\004'\001\138\004\186\001\139\000\205\006\172\000\000\000\000\000\236\000\000\004\210\001(\000\237\004\157\000\000\000\000\001w\000\000\000\202\000\207\000\000\000\000\000\000\004\172\000\000\004\024\000\000\006+\006\173\004\025\006\176\006\007\006\b\000\000\000\193\000\000\004\159\001z\004\219\000\194\005\027\000\000\000\000\004\181\000\000\001\165\004\186\000\000\000\203\004\149\006,\006\007\006\b\000\000\004\210\0042\000\000\000\000\000\000\004&\000\000\000\000\004\022\004\154\004)\005\151\000\000\004\155\004\173\005 \004'\006+\000\000\0043\000\000\000\000\000\000\000\000\0044\000\137\000\000\000\000\0045\004\157\0037\000\000\004\171\000\000\0046\000\000\000\000\000\137\000\000\000\186\006,\006\007\006\b\000\000\000\187\000\000\006\t\000\000\000\195\000\000\006\218\000\000\004\159\000\000\004\219\000\000\004\220\000\000\000\000\004\181\000\000\000\000\004\186\000\000\000\000\004\149\006\t\004\172\006+\004\024\004\210\0042\000\000\004\025\000\000\004&\000\000\000\000\004\022\004\154\004)\000\000\000\201\004\155\004\173\000\000\004'\000\000\000\000\0043\000\000\006,\006\007\006\b\0044\000\137\000\000\000\000\0045\005\021\0037\000\000\004\171\000\000\0046\001\134\000\000\000\000\000\000\005\167\006\t\000\000\001\144\005 \000\000\000\137\000\139\000\140\003\028\000\144\000\000\000\000\004\159\000\000\004\176\005\023\001\137\000\000\000\000\004\181\000\000\000\000\004\186\000\000\000\000\000\000\000\000\004\172\000\000\004\024\004\210\0042\000\000\004\025\000\000\000\000\000\000\000\000\004\022\000\000\004)\000\137\000\139\000\140\003!\000\144\000\202\000\146\006\221\0043\000\000\006\t\000\000\004\149\0044\000\137\006+\000\000\0045\000\000\0037\000\000\004\171\004&\0046\000\000\000\000\004\154\006+\005\169\0066\004\155\004\173\005 \004'\000\000\000\203\006+\000\000\006,\006\007\006\b\006+\000\146\000\000\000\000\000\000\005\021\000\000\000\000\000\000\006,\006\007\006\b\000\000\000\000\000\000\004\172\000\000\004\024\006,\006\007\006\b\004\025\001\145\006,\006\007\006\b\000\000\000\000\004\159\000\137\004\176\005\023\006E\000\000\000\000\004\181\000\000\000\000\004\186\000\000\0027\004\149\000\000\000\000\000\000\003\208\004\210\0042\001\138\000\000\001\139\004&\000\000\000\000\004\022\004\154\004)\007\014\001(\004\155\004\173\005 \004'\000\193\007\022\0043\000\000\006\t\000\197\000\000\0044\000\137\000\000\000\000\0045\005\021\0037\004\179\004\218\006\t\0046\000\000\000\000\006C\000\000\000\000\000\000\000\000\006\t\000\000\000\000\000\000\000\000\006\t\000\000\000\183\002A\001\134\004\159\000\000\004\176\005\023\000\000\000\000\001\136\004\181\000\000\001w\004\186\000\000\000\000\004\149\000\000\004\172\000\000\004\024\004\210\0042\001\137\004\025\000\000\004&\000\186\000\000\004\022\004\154\004)\000\187\001z\004\155\004\173\000\195\004'\006+\000\000\0043\001\165\000\000\000\000\000\000\0044\000\137\000\000\001w\0045\005\021\0037\000\137\004\171\000\000\0046\000\000\000\000\000\000\000\186\000\000\006,\006\007\006\b\000\187\000\000\000\000\000\000\000\188\001z\000\201\000\000\006+\004\159\000\000\004\176\005\023\001\165\000\000\000\000\004\181\000\000\000\000\004\186\000\000\000\000\006A\000\000\004\172\000\000\004\024\004\210\0042\000\000\004\025\006,\006\007\006\b\006\\\004\022\000\000\004)\000\201\000\000\000\000\000\000\000\000\006g\000\000\007I\0043\000\137\006l\000\000\004\149\0044\000\137\000\000\000\000\0045\001\134\0037\004\179\004\218\004&\0046\000\000\001\144\004\154\006+\007\028\006\t\004\155\004\173\005 \004'\003\185\001\138\000\000\001\139\000\000\001\137\000\000\000\000\000\202\000\000\000\000\001(\004\157\000\000\000\000\000\000\006,\006\007\006\b\000\000\000\000\000\000\004\172\000\000\004\024\000\000\000\000\000\000\004\025\006\t\000\000\000\000\003}\000\000\000\000\004\159\000\000\004\219\000\203\004\220\000\202\000\000\004\181\001\134\000\000\004\186\000\000\000\000\004\149\000\000\001\157\000\000\000\000\004\210\0042\000\000\000\000\000\000\004&\000\000\005)\004\022\004\154\004)\001\137\000\235\004\155\004\173\000\000\004'\000\203\000\000\0043\000\000\000\000\000\000\000\000\0044\000\137\000\000\000\000\0045\005\021\0037\000\205\004\218\006\t\0046\000\236\000\000\000\000\000\000\000\237\001\145\000\000\000\183\002;\000\000\000\000\000\207\000\000\000\000\000\000\000\183\002%\004\159\000\193\004\176\005\023\006~\000\000\000\199\004\181\000\000\000\000\004\186\004\193\000\000\004\149\001\138\004\172\001\139\004\024\004\210\0042\000\000\004\025\000\000\004&\001(\000\000\004\022\004\154\004)\000\000\000\000\004\155\004\173\000\000\004'\000\000\000\000\0043\006\139\004\222\000\193\000\000\0044\000\137\000\000\000\199\0045\004\157\0037\000\186\004\171\000\000\0046\000\000\000\187\000\000\000\000\000\186\000\188\000\000\000\186\000\000\000\187\000\000\000\000\000\187\000\188\000\000\000\000\000\195\004\159\000\000\004\219\001\138\004\220\001\139\000\000\004\181\000\000\000\000\004\186\000\000\000\000\001(\000\000\004\172\000\000\004\024\004\210\0042\000\000\004\025\000\201\000\000\000\000\006\137\004\022\000\000\004)\000\186\000\201\000\000\000\000\000\201\000\187\000\000\000\000\0043\000\195\004\170\000\000\004\149\0044\000\137\000\000\000\000\0045\000\000\0037\000\000\004\171\004&\0046\000\000\000\000\004\154\000\000\000\000\006+\004\155\004\173\000\000\004'\000\183\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\201\000\000\000\000\005+\000\000\004\022\000\000\004)\000\000\006,\006\007\006\b\000\000\004\172\000\000\004\024\000\193\000\000\004\180\004\025\000\000\000\197\000\137\000\000\000\202\000\000\004\159\0037\004\219\004\171\005-\000\000\000\202\004\181\000\000\000\202\004\186\000\000\000\000\004\149\000\000\000\000\000\000\000\000\004\210\0042\000\000\000\000\000\000\004&\000\186\000\000\000\000\004\154\000\203\000\187\000\000\004\155\004\173\000\188\004'\000\000\000\203\0043\004\172\000\203\004\024\000\000\0044\000\000\004\025\000\000\0045\004\174\000\202\000\186\000\000\000\000\0046\006\t\000\187\000\000\000\000\000\000\000\195\000\000\000\000\000\000\004\022\000\000\004)\000\000\000\204\000\201\000\000\000\000\004\159\000\232\004\176\004\177\000\000\000\000\000\000\004\181\000\203\000\137\004\186\000\000\000\000\004\149\0037\000\205\004\171\000\000\004\210\0042\001\016\000\000\000\201\004&\000\000\000\000\000\000\004\154\000\000\000\000\000\207\004\155\004\173\000\000\004'\000\204\000\000\0043\000\000\000\000\000\000\000\000\0044\004\022\000\000\004)\0045\004\174\000\000\000\000\000\000\004\172\0046\004\024\000\205\000\000\000\000\004\025\000\000\001\019\000\137\000\000\000\000\000\000\004\149\0037\000\000\004\171\000\000\000\207\004\159\000\202\004\176\004\177\004&\000\000\000\000\004\181\004\154\000\000\004\186\000\000\004\155\004\173\000\000\004'\000\000\000\000\004\210\0042\000\000\000\000\000\000\000\000\000\000\000\000\000\202\006\196\004\174\000\000\000\000\000\203\004\172\000\000\004\024\000\000\000\000\0043\004\025\000\000\000\137\000\000\0044\000\000\000\000\000\000\0045\000\000\000\000\000\000\000\238\004\159\0046\004\176\004\177\006+\000\203\000\000\004\181\000\000\000\000\004\186\000\000\000\193\000\000\000\000\000\000\000\000\000\194\004\210\0042\000\193\000\000\000\000\000\000\000\000\000\197\004\149\006,\006\007\006\b\000\000\000\000\000\235\000\000\000\000\000\137\004&\0043\000\000\000\000\004\154\000\000\0044\000\000\004\155\004\173\0045\004'\004\022\000\000\004)\000\205\0046\004\253\000\000\000\236\000\000\001\134\000\000\000\237\004\246\000\000\000\000\000\000\001\144\000\137\000\207\000\000\000\000\000\000\0037\000\186\004\171\000\000\000\000\000\000\000\187\004\149\001\137\000\186\000\195\000\000\000\000\004\159\000\187\004\176\004\248\004&\000\195\000\000\004\181\004\154\000\000\004\186\000\000\004\155\004\173\006\t\004'\000\000\000\000\004\210\0042\001\134\004\245\000\000\000\000\004\172\000\000\004\024\001\144\004\246\000\000\004\025\000\201\000\000\004\022\000\000\004)\000\000\0043\000\000\000\201\000\000\001\137\0044\000\000\000\000\000\000\0045\000\000\000\000\000\000\000\137\004\159\0046\004\176\004\248\0037\000\000\004\171\004\181\000\000\003D\004\186\004\022\000\000\004)\000\000\000\000\000\000\000\000\004\210\0042\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\137\000\000\000\000\000\000\001\145\0037\000\000\004\171\000\000\0043\000\000\000\000\000\000\004\172\0044\004\024\000\000\000\000\0045\004\025\000\000\000\000\000\137\000\000\0046\000\000\000\202\004\201\000\000\000\000\001\138\000\000\001\139\000\000\000\202\000\000\000\000\000\000\000\000\000\000\001(\004\149\004\172\000\000\004\024\000\000\000\000\000\000\004\025\006\201\001\145\004&\000\000\000\000\000\000\004\154\000\203\000\000\001\031\004\155\004\173\000\000\004'\000\000\000\203\000\000\000\000\005\t\000\000\000\000\000\000\000\000\000\000\005I\000\000\005\n\001\138\000\000\001\139\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001(\000\000\005\020\000\000\001\134\000\235\000\000\000\000\000\000\000\000\000\000\001\144\004\159\000\000\004\176\005\012\000\209\000\000\000\000\004\181\000\000\000\000\004\186\004\149\000\205\001\137\000\000\000\218\000\236\000\000\004\210\0042\000\237\004&\000\000\000\000\000\000\004\154\000\000\000\207\000\000\004\155\004\173\004\022\004'\004)\000\000\000\000\000\000\0043\005\007\000\000\004\149\000\000\0044\000\000\000\000\004\246\0045\000\000\000\137\000\000\004&\000\000\0046\0037\004\154\004\171\000\000\000\000\004\155\004\173\004\022\004'\004)\000\000\000\000\000\000\000\000\000\000\004\159\000\000\004\176\004\248\007\018\000\000\005\021\004\181\000\000\000\137\004\186\000\000\000\000\000\000\0037\000\000\004\171\000\000\004\210\0042\000\000\000\000\004\172\000\000\004\024\000\000\000\000\000\000\004\025\004\159\000\000\004\176\005\023\001\145\000\000\000\000\004\181\0043\000\000\004\186\000\000\000\000\0044\000\000\000\000\000\000\0045\004\210\0042\000\000\000\000\004\172\0046\004\024\000\000\000\000\005t\004\025\000\000\001\138\004\022\001\139\004)\000\000\000\000\000\000\0043\000\000\005\025\001(\000\000\0044\007\030\000\000\000\000\0045\000\000\000\137\000\000\000\000\000\000\0046\0037\000\000\004\171\000\000\000\000\000\000\000\000\004\022\000\000\004)\000\000\000\000\000\193\000\000\000\000\000\000\000\000\000\197\000\000\007!\000\000\000\000\000\000\000\000\000\137\000\000\000\000\006\244\000\000\0037\000\000\004\171\000\000\000\000\000\000\000\000\004\149\004\172\000\000\004\024\000\000\000\000\000\000\004\025\000\000\000\000\004&\000\000\000\000\000\000\004\154\000\000\000\000\000\000\004\155\004\173\000\000\004'\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\149\004\172\000\000\004\024\000\000\005\021\000\186\004\025\000\000\000\000\004&\000\187\000\000\000\000\004\154\000\195\000\000\000\000\004\155\004\173\000\000\004'\001\204\000\000\000\000\001\216\000\000\000\000\004\159\000\000\004\176\005\023\000\000\000\000\007\019\004\181\000\000\000\193\004\186\000\137\000\000\000\000\000\194\000\000\000\000\000\000\004\210\0042\000\000\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\159\000\000\004\176\007\021\000\000\000\000\000\000\004\181\0043\000\000\004\186\004\149\000\000\0044\000\000\000\000\000\000\0045\004\210\0042\000\000\004&\000\000\0046\000\186\004\154\000\000\001\206\000\000\004\155\004\173\001\207\004'\000\000\000\000\000\000\000\000\0043\000\000\000\186\004\149\000\000\0044\000\000\000\187\007\019\0045\004\022\000\195\004)\004&\000\000\0046\000\000\004\154\000\000\000\000\000\000\004\155\004\173\000\000\004'\002\015\004\022\000\137\004)\000\202\001\222\004\159\005<\004\176\007\021\000\000\000\000\007\019\004\181\000\000\000\000\004\186\000\000\000\137\000\000\000\201\000\000\000\000\005<\004\210\0042\000\000\000\000\006\245\000\000\000\000\005[\000\000\000\000\000\203\004\159\000\000\004\176\007\021\000\000\000\000\000\000\004\181\0043\005^\004\186\004\024\005]\0044\000\000\004\025\000\000\0045\004\210\0042\000\000\000\000\000\000\0046\000\000\005^\000\235\004\024\000\000\000\000\000\000\004\025\000\000\000\000\005d\000\000\000\000\0043\000\000\000\000\000\000\000\000\0044\000\000\001\223\000\205\0045\000\000\000\000\000\236\005d\001\204\0046\000\237\001\216\000\000\000\000\000\000\000\000\000\202\000\207\000\000\000\000\000\000\000\000\000\000\002\016\002\017\000\137\005\137\000\000\000\000\004.\000\000\001\029\000\000\001\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\203\001\225\000\000\001\204\000\000\000\000\001\216\000\000\000\000\001(\000\000\001\226\000\000\000\000\000\000\001\204\000\000\000\000\001\216\000\000\000\137\000\186\000\000\000\000\001\206\000\000\004&\000\000\001\207\001\227\000\000\000\000\000\137\000\000\001\228\005e\000\000\004'\001\229\000\000\000\000\000\000\004&\000\000\001\230\000\000\000\209\000\000\002\007\000\000\005\139\005e\000\000\004'\000\000\000\000\000\000\000\220\000\000\002\015\000\000\000\000\000\186\000\000\001\222\001\206\005f\000\000\000\000\001\207\000\000\000\000\000\000\000\000\000\186\000\000\000\000\001\206\000\000\000\000\005h\001\207\000\000\005\140\001\204\000\000\000\000\001\216\000\000\000\000\000\000\005\127\0042\000\000\000\000\000\000\005h\000\000\000\000\005m\002\015\000\137\000\000\000\183\002!\001\222\000\000\005\127\0042\000\000\0043\000\000\002\015\000\000\000\000\0044\000\000\001\222\000\000\0045\000\000\000\000\000\000\000\000\000\000\0046\0043\000\000\000\000\000\000\000\000\0044\000\000\000\000\000\000\0045\000\000\001\204\001\223\000\000\001\216\0046\000\000\000\186\000\000\000\000\001\206\000\000\000\000\000\000\001\207\000\000\000\000\000\000\000\137\000\000\000\000\000\000\000\000\000\000\002\016\003a\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\000\001\224\000\188\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\223\000\000\002\015\000\000\000\000\001\225\004\022\001\222\004)\000\000\000\000\000\000\001\223\001(\000\000\001\226\000\000\000\186\000\000\000\000\001\206\000\000\002\016\004\029\001\207\000\000\000\201\000\000\000\000\000\000\004\142\004\239\001\224\001\227\002\016\004\151\000\000\000\000\001\228\000\000\000\000\000\000\001\229\000\000\001\224\000\000\001\225\000\000\001\230\000\000\000\000\000\000\002\007\000\000\001(\002\015\001\226\000\193\001\225\000\000\001\222\000\000\000\197\000\000\000\000\003\128\001(\004\024\001\226\000\000\000\000\004\025\000\000\000\000\001\227\000\000\000\000\000\000\000\000\001\228\000\000\001\223\000\000\001\229\000\000\004\022\001\227\004)\000\000\001\230\000\000\001\228\000\000\002\007\000\000\001\229\000\000\000\000\000\000\000\000\000\202\001\230\000\000\002\016\004\183\002\007\000\000\000\000\000\000\004\142\004\229\000\000\000\000\001\224\000\000\000\000\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\000\001\225\000\000\000\000\000\203\000\000\000\000\000\000\001\223\001(\000\000\001\226\004\022\000\000\004)\000\000\000\000\000\000\003\128\000\000\004\024\000\000\000\000\000\000\004\025\000\000\000\000\000\000\000\000\001\227\002\016\005j\000\000\000\201\001\228\004\149\004\142\004\143\001\229\000\000\001\224\000\000\000\000\000\000\001\230\004&\000\000\000\000\002\007\004\154\000\000\000\000\000\000\004\155\001\225\000\000\004'\000\000\000\000\000\183\002 \004\022\001(\004)\001\226\000\000\000\000\000\000\000\000\004\157\000\000\003\128\000\000\004\024\000\000\000\000\000\000\004\025\000\000\000\000\000\000\000\000\001\227\000\000\000\000\004\142\004\153\001\228\000\000\000\000\000\000\001\229\004\159\000\000\000\000\000\000\000\000\001\230\000\193\003{\000\000\002\007\000\000\000\197\000\000\000\000\000\000\000\202\000\000\000\000\000\000\0042\000\000\000\000\004\149\000\000\000\000\004\022\000\186\004)\003\128\000\000\004\024\000\187\004&\000\000\004\025\000\188\004\154\0043\000\000\003}\004\155\000\000\0044\004'\000\000\000\203\0045\000\000\000\000\004\142\004\241\000\000\0046\000\000\000\000\000\000\004\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\186\000\000\000\000\000\000\000\201\000\187\000\000\000\235\000\000\000\195\004\149\004\022\000\000\004)\004\159\000\000\000\000\000\000\000\000\003\128\004&\004\024\001\234\000\000\004\154\004\025\000\205\000\000\004\155\001\204\000\236\004'\001\216\0042\000\237\004\142\005\189\004\022\000\000\004)\000\000\000\207\000\000\000\201\004\157\000\000\000\137\000\000\000\000\000\000\000\000\0043\000\000\000\000\000\000\000\000\0044\000\000\000\000\004\149\0045\004\142\005\191\000\000\000\000\000\000\0046\004\159\000\000\004&\003\128\000\000\004\024\004\154\000\000\000\000\004\025\004\155\000\202\000\000\004'\004\022\000\000\004)\000\000\000\000\0042\000\000\000\186\000\000\000\000\001\206\000\000\004\157\000\000\001\207\003\128\001\204\004\024\000\000\001\216\000\000\004\025\000\000\0043\004\142\005\193\000\000\000\203\0044\000\000\000\000\000\000\0045\000\137\004\149\004\159\000\202\000\000\0046\000\000\000\000\000\000\000\000\000\000\004&\002\014\000\000\000\000\004\154\000\000\001\222\000\000\004\155\000\000\0042\004'\000\000\000\000\000\000\003\128\000\238\004\024\000\000\000\000\000\000\004\025\000\203\000\000\004\157\000\000\000\000\000\000\0043\000\000\000\000\000\186\000\000\0044\001\206\000\000\000\000\0045\001\207\000\000\000\000\004\149\000\000\0046\000\000\000\000\000\000\004\159\000\000\000\235\000\000\004&\000\000\000\000\001\204\004\154\000\000\001\216\000\000\004\155\000\000\000\000\004'\000\000\000\000\000\000\0042\004\149\000\205\000\000\000\000\000\137\000\236\000\000\001\222\004\157\000\237\004&\000\000\000\000\001\223\004\154\000\000\000\207\0043\004\155\000\000\000\000\004'\0044\000\000\000\000\000\000\0045\000\000\000\000\000\000\000\000\004\159\0046\000\000\004\157\000\000\000\000\000\000\000\000\004\022\000\000\004)\000\000\000\000\004\149\001\224\000\186\000\000\000\000\001\206\0042\000\000\000\000\001\207\004&\000\000\000\000\004\159\004\154\001\225\000\000\000\000\004\155\004\232\000\000\004'\000\000\001(\0043\001\226\000\000\000\000\000\000\0044\000\000\000\000\0042\0045\004\157\000\000\000\000\001\223\000\000\0046\001\221\000\000\000\000\001\227\000\000\001\222\001\204\000\000\001\228\001\216\0043\000\000\001\229\000\000\003\128\0044\004\024\004\159\001\230\0045\004\025\000\000\002\007\000\137\000\000\0046\000\000\000\000\000\000\001\224\000\000\000\000\001\204\000\000\000\000\001\216\0042\000\000\000\000\000\000\000\000\000\000\000\000\001\225\000\000\000\000\000\000\000\000\000\000\000\137\002\n\001(\000\000\001\226\0043\000\000\000\000\000\000\000\000\0044\000\000\000\000\000\000\0045\000\000\000\186\000\000\000\000\001\206\0046\000\000\001\227\001\207\000\000\000\000\000\000\001\228\000\000\000\000\001\223\001\229\000\000\000\193\000\193\000\000\000\000\001\230\000\194\000\197\000\000\002\011\000\186\000\000\000\000\001\206\000\000\000\193\000\000\001\207\000\000\000\137\000\197\000\000\002\t\000\000\000\000\000\000\000\000\001\222\000\000\004\149\001\224\000\000\000\137\000\000\000\000\000\000\000\000\000\000\000\000\004&\000\000\000\000\000\000\004\154\001\225\000\000\000\000\004\155\002\r\000\000\004'\000\193\001(\001\222\001\226\000\000\000\197\000\000\000\000\000\000\000\186\000\186\000\193\004\157\000\000\000\187\000\187\000\194\000\137\000\195\000\195\000\000\001\227\000\000\000\186\000\000\000\000\001\228\000\000\000\187\000\193\001\229\000\000\000\195\000\000\000\197\004\159\001\230\000\000\000\000\000\193\002\007\000\000\000\000\000\000\000\197\000\000\000\137\000\000\000\000\000\000\001\223\000\000\000\201\000\201\0042\000\000\000\137\000\000\000\000\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\201\000\000\000\195\000\000\000\186\000\000\0043\000\000\000\000\000\187\001\223\0044\000\193\000\195\000\000\0045\001\224\000\197\000\000\000\000\000\000\0046\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\137\001\225\000\195\000\186\000\183\002\031\000\000\000\201\000\187\001(\000\000\001\226\000\195\001\224\000\000\000\000\000\000\000\000\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\225\000\000\001\227\000\000\000\202\000\202\000\000\001\228\001(\000\201\001\226\001\229\000\000\000\000\000\000\000\186\000\000\001\230\000\202\000\201\000\187\002\007\000\000\000\000\000\195\000\000\000\000\000\000\001\227\001\186\000\000\000\000\000\000\001\228\000\203\000\203\000\186\001\229\000\000\000\000\000\000\000\187\002#\001\230\000\000\000\188\000\000\002\007\000\203\000\000\000\000\001\188\000\000\000\000\000\202\000\000\000\193\000\000\000\201\001(\000\000\000\197\000\235\000\000\0029\000\202\000\000\000\000\000\000\000\000\000\000\000\000\001(\000\137\000\000\000\235\000\000\000\000\002#\000\201\000\209\000\205\000\000\000\202\000\203\000\236\000\000\000\000\000\000\000\237\000\000\000\222\000\000\000\202\000\205\000\203\000\207\000\000\000\236\000\000\002?\003Z\000\237\000\000\000\000\003[\000\000\002#\001(\000\207\000\000\000\235\000\000\000\203\000\000\000\186\000\000\002#\000\000\000\000\000\187\000\000\000\000\000\203\000\195\000\000\000\193\000\000\000\000\002C\000\205\000\197\000\202\000\000\000\236\000\000\000\000\001(\000\237\003@\000\235\000\209\000\000\000\137\003Z\000\207\000\000\001(\003[\000\000\000\235\000\000\000\224\000\202\000\000\000\000\003G\000\000\000\201\000\205\003\128\000\000\000\203\000\236\003\\\000\000\000\000\000\237\003]\000\205\000\000\000\183\000\185\000\236\000\207\000\000\000\000\000\237\003I\000\000\000\000\000\183\001\197\000\203\000\207\000\186\001(\000\000\000\000\000\235\000\187\000\000\000\000\000\000\000\195\003\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\128\000\000\000\000\000\000\003\\\000\205\000\000\000\000\003]\000\236\000\000\000\000\000\000\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\207\000\000\003Z\000\000\000\000\000\201\003[\000\186\000\000\000\202\000\000\000\000\000\187\000\193\000\000\003\170\000\188\000\186\000\197\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\188\000\000\003\130\000\000\000\000\000\000\003Z\002#\000\000\000\000\003[\000\000\000\000\000\203\000\000\000\000\000\000\003j\000\000\003\168\000\183\001\200\000\193\000\000\000\201\003\133\000\000\000\197\003k\003\238\000\000\000\000\000\000\000\000\000\201\003\128\000\000\001(\000\000\003\\\000\235\000\000\000\000\003]\000\000\003\130\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\202\003\171\000\195\000\000\000\183\001\203\000\205\003j\003\136\003\168\000\236\000\000\003\128\000\000\000\237\003\133\003\\\003\174\003k\000\000\003]\000\207\000\000\000\000\004\003\000\000\000\186\000\000\000\186\000\000\000\203\000\187\000\000\000\187\000\000\000\188\000\201\000\195\000\000\000\000\000\000\000\000\000\000\000\000\003\171\000\202\004\005\003\177\000\193\000\000\003\138\003\136\000\000\000\197\001(\000\202\000\000\000\235\000\000\000\000\000\000\000\000\000\000\000\186\000\000\003\139\000\000\000\000\000\187\000\201\000\000\000\201\000\188\003\130\000\193\000\203\000\205\000\000\000\000\000\197\000\236\000\000\000\000\000\000\000\237\000\203\000\000\000\000\003j\000\000\003\168\000\207\000\000\003\138\000\000\000\000\003\133\000\183\003B\003k\000\000\000\000\003\202\003\130\000\000\000\000\000\201\000\186\003\139\000\000\000\202\000\000\000\187\000\000\000\000\000\000\000\195\000\000\003j\000\000\003\168\000\000\000\000\000\000\000\000\003\171\003\133\000\000\000\000\003k\000\000\000\000\003\136\000\186\003}\000\000\000\000\003\213\000\187\000\000\000\203\000\000\000\195\000\202\000\000\000\202\000\000\000\193\000\000\000\193\000\201\000\000\000\197\000\000\000\197\003\171\000\186\000\000\000\000\000\193\000\000\000\187\003\136\000\000\000\197\000\188\000\000\000\235\000\000\003}\000\000\000\000\000\000\000\203\003\138\000\203\000\201\000\000\000\000\000\000\000\202\000\000\000\000\000\000\000\000\000\000\000\205\000\000\000\193\003\139\000\236\000\000\000\000\000\197\000\237\000\000\000\000\000\000\000\000\000\201\000\193\000\207\000\235\000\000\003\138\000\197\000\186\000\000\000\186\000\000\000\203\000\187\000\000\000\187\000\000\000\195\003\221\000\195\000\186\003\139\000\000\000\205\000\000\000\187\000\202\000\236\000\000\000\195\004:\000\237\004o\000\000\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\000\004q\000\000\003\228\000\000\000\000\000\000\000\000\000\186\003}\000\201\000\202\000\201\000\187\000\000\000\203\000\000\000\195\000\000\000\000\000\186\000\000\000\201\000\000\000\000\000\187\000\183\003S\000\000\000\195\004s\000\000\000\000\000\000\000\202\003}\000\000\000\000\000\000\000\000\000\000\000\203\000\235\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\201\000\000\000\000\000\193\000\000\000\000\000\000\000\000\000\197\000\000\000\205\000\000\000\201\000\203\000\236\000\000\000\000\000\235\000\237\000\000\000\000\000\193\000\000\000\000\000\000\000\207\000\197\000\000\000\000\000\000\000\000\000\000\000\000\000\202\000\186\000\202\000\205\000\000\000\000\000\187\000\236\000\000\000\000\000\188\000\237\000\202\000\000\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\000\000\000\000\000\000\238\000\000\000\238\000\000\000\000\000\186\000\203\000\000\000\203\000\000\000\187\000\000\000\238\000\000\000\195\000\000\000\000\000\202\000\203\000\193\000\201\004\197\000\000\000\186\000\197\000\000\000\000\000\000\000\187\000\202\000\000\000\000\000\195\000\235\000\000\000\235\000\000\000\000\000\000\000\193\000\000\000\238\000\000\000\000\000\197\000\235\000\000\000\203\000\201\000\000\000\000\000\000\000\205\003}\000\205\000\000\000\236\000\000\000\236\000\203\000\237\000\000\000\237\000\000\000\205\000\000\000\201\000\207\000\236\000\207\000\193\000\000\000\237\000\000\000\235\000\197\000\000\000\000\000\186\000\207\000\000\000\000\000\000\000\187\000\000\000\000\000\235\000\195\000\000\000\000\000\193\000\000\000\000\000\205\000\202\000\197\000\000\000\236\000\186\000\000\000\000\000\237\000\000\000\187\000\000\000\205\000\000\000\195\000\207\000\236\000\000\000\000\000\193\000\237\004\206\000\000\000\000\000\197\000\000\000\000\000\207\000\201\000\202\000\000\000\203\000\193\000\000\000\000\000\000\000\186\000\197\000\000\004\214\000\000\000\187\000\183\003V\000\000\000\195\000\000\000\202\000\201\000\000\000\000\000\000\000\000\003}\000\000\000\000\000\186\000\000\000\000\000\203\000\000\000\187\000\000\000\000\000\000\000\195\000\000\000\000\000\000\000\000\000\000\003}\000\000\000\000\000\000\000\000\000\000\000\203\000\186\000\201\000\000\000\000\000\000\000\187\000\000\000\000\000\235\000\195\000\000\000\000\000\193\000\186\000\000\000\000\005A\000\197\000\187\000\000\000\000\000\201\000\195\000\186\000\202\000\000\000\235\000\205\000\187\000\000\000\000\000\236\000\188\000\000\000\000\000\237\005M\000\000\000\000\000\000\000\000\000\000\000\207\000\201\000\202\000\205\000\000\000\000\003}\000\236\000\000\000\000\000\000\000\237\000\203\000\000\000\201\000\000\000\000\000\193\000\207\000\000\000\000\000\000\000\197\000\000\000\201\005R\003}\000\000\000\000\000\186\000\000\000\000\000\203\000\202\000\187\000\000\000\000\000\000\000\195\000\235\000\000\000\000\000\000\000\000\000\000\005Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\202\000\000\000\000\000\000\003}\000\205\000\235\000\000\000\000\000\236\000\203\000\000\000\000\000\237\005b\000\000\000\000\000\000\000\000\000\201\000\207\000\000\000\202\000\186\003}\000\205\000\000\005x\000\187\000\236\000\203\000\000\000\195\000\237\000\000\000\202\000\193\000\235\000\000\000\000\000\207\000\197\000\000\000\000\000\000\000\202\003}\000\000\000\000\000\000\000\193\007X\000\203\000\000\000\000\000\197\000\205\000\235\000\000\003}\000\236\000\183\003Y\000\000\000\237\000\203\000\201\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\000\000\203\000\205\000\000\000\193\000\235\000\236\000\000\000\000\000\197\000\237\005}\000\000\000\000\000\000\000\000\000\000\000\207\000\235\000\202\000\193\000\186\000\000\000\000\000\205\000\197\000\187\000\000\000\236\000\000\000\195\000\000\000\237\000\000\000\000\000\186\000\000\000\205\000\000\000\207\000\187\000\236\000\000\003}\000\195\000\237\000\186\000\000\000\000\000\203\000\000\000\187\000\207\000\000\000\000\000\188\000\000\000\193\005\132\000\000\000\000\000\000\000\197\000\186\000\201\000\000\000\202\000\000\000\187\000\193\000\000\000\000\000\195\000\000\000\197\000\000\000\235\000\000\000\201\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\201\003}\000\000\000\000\000\000\000\000\000\205\000\203\000\193\000\000\000\236\000\000\000\000\000\197\000\237\000\000\000\000\000\201\000\000\000\000\000\000\000\207\000\000\000\000\000\000\000\000\000\000\000\186\000\000\000\000\000\000\000\000\000\187\000\201\000\235\000\000\000\195\000\000\000\000\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\202\000\193\000\000\000\000\000\205\000\000\000\197\000\000\000\236\000\000\000\000\000\000\000\237\000\000\000\202\000\000\000\000\000\000\000\186\000\207\000\000\000\201\000\000\000\187\006\245\000\202\000\000\000\195\000\000\000\000\000\203\000\000\000\000\000\201\000\000\000\000\000\000\000\000\001\020\000\000\000\000\000\000\000\202\000\000\000\203\000\193\000\000\000\000\000\000\000\000\000\197\000\000\000\000\000\000\000\000\000\203\000\000\000\235\000\202\000\000\000\186\000\201\000\000\000\000\000\000\000\187\000\234\000\000\000\000\000\195\000\000\000\235\000\203\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\236\000\000\001!\000\000\000\237\000\000\000\000\000\193\000\203\000\000\000\205\000\207\000\197\000\000\000\236\000\202\000\000\000\000\000\237\000\235\000\000\000\000\000\000\000\201\000\186\000\207\000\000\000\202\000\000\000\187\000\000\000\000\000\000\000\195\000\000\000\235\000\000\000\000\000\205\001\236\000\000\000\000\000\236\000\000\000\000\000\203\000\237\000\000\000\000\000\000\000\000\002\020\000\000\000\207\000\205\000\202\000\000\000\203\000\236\000\000\000\193\000\000\000\237\000\000\000\000\000\197\000\186\000\201\000\000\000\207\000\000\000\187\000\235\000\000\000\000\000\195\000\000\000\000\000\000\002-\000\000\000\000\000\000\000\000\000\235\000\203\000\000\000\000\000\193\000\193\000\000\000\205\000\000\000\197\000\197\000\236\000\000\000\202\000\000\000\237\000\000\000\000\000\000\000\205\000\000\000\000\000\207\000\236\000\193\000\201\000\000\000\237\000\235\000\194\000\000\000\000\000\000\000\000\000\207\000\186\000\000\003+\000\000\000\000\000\187\000\193\000\000\000\203\000\195\000\000\000\197\000\205\000\000\000\000\000\000\000\236\000\000\000\193\000\000\000\237\000\000\000\202\000\197\000\000\000\000\000\000\000\207\000\186\000\186\000\000\000\000\000\000\000\187\000\187\000\235\000\000\000\195\000\195\000\000\000\000\000\000\000\000\000\201\000\000\000\000\0031\000\000\000\186\000\000\000\000\000\000\000\203\000\187\000\205\000\193\000\000\000\195\000\236\000\000\000\197\000\000\000\237\000\000\000\202\000\186\000\183\003\240\000\000\000\207\000\187\000\201\000\201\000\000\000\195\000\000\000\000\000\186\000\000\000\235\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\000\003d\000\000\000\000\000\201\000\000\000\000\000\203\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\236\000\183\004\015\000\000\000\237\000\000\000\201\000\000\000\000\000\000\000\000\000\207\000\186\000\000\000\000\000\202\000\000\000\187\000\201\000\235\000\000\000\195\000\000\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\193\000\000\000\188\000\000\000\000\000\197\000\000\000\000\000\205\003o\000\000\000\000\000\236\000\202\000\202\000\203\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\207\000\000\000\201\000\000\000\000\000\000\000\000\000\186\000\000\000\000\000\202\000\000\000\187\000\201\003q\003\243\000\188\000\000\000\000\000\235\000\203\000\203\000\000\000\000\000\193\000\000\000\193\000\202\000\000\000\197\000\000\000\197\000\000\000\000\000\000\000\000\000\186\000\000\000\205\000\202\000\203\000\187\000\236\000\000\000\000\000\195\000\237\000\235\000\235\000\000\000\201\003\248\000\000\000\207\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\000\000\000\003\252\000\000\000\000\000\205\000\205\000\000\000\203\000\236\000\236\000\000\000\193\000\237\000\237\000\202\000\000\000\197\000\201\000\000\000\207\000\207\000\186\000\235\000\186\000\209\000\202\000\187\000\000\000\187\000\000\000\195\000\000\000\195\000\000\000\235\000\226\000\000\000\000\004 \000\000\000\000\000\205\000\000\000\193\000\203\000\236\000\000\000\000\000\197\000\237\000\000\000\000\000\000\000\205\000\000\000\203\000\207\000\236\000\000\000\183\004\018\000\237\000\202\000\000\000\201\000\000\000\201\000\000\000\207\000\000\000\186\000\235\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\000\000\000\000\193\000\193\000\000\000\000\000\000\000\197\000\197\000\000\000\205\000\202\000\203\000\000\000\236\000\000\000\000\000\000\000\237\000\000\000\000\000\000\000\186\000\000\000\000\000\207\000\000\000\187\000\000\000\000\000\000\000\195\000\000\000\201\000\000\004<\000\000\000\000\000\186\000\000\000\000\000\203\000\000\000\187\000\193\000\000\000\000\000\188\000\000\000\197\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\202\000\000\000\202\000\186\000\186\000\000\000\000\000\201\000\187\000\187\000\235\000\000\000\195\000\195\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\201\004g\000\000\004\146\000\000\000\000\000\205\000\203\000\000\000\203\000\236\000\000\000\000\000\000\000\237\000\000\000\183\004\021\000\000\000\000\000\000\000\207\000\186\000\201\000\201\000\000\000\202\000\187\000\193\000\000\000\000\000\195\000\000\000\197\000\235\000\000\000\235\000\000\000\000\000\000\000\000\000\193\000\000\000\000\000\193\000\000\000\197\000\000\000\000\000\197\0054\000\000\000\000\000\205\000\000\000\205\000\203\000\236\000\202\000\236\000\000\000\237\000\000\000\237\000\000\000\201\000\000\000\000\000\207\000\000\000\207\000\000\000\000\000\193\000\202\000\186\000\000\000\000\000\199\000\000\000\187\000\000\005\155\000\235\000\188\000\000\000\000\000\186\000\203\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\202\000\202\000\000\000\186\000\000\000\205\000\186\000\203\000\187\000\236\000\000\000\187\000\195\000\237\000\000\000\195\000\000\000\000\000\235\000\000\000\207\000\201\000\000\000\000\005\175\005\177\000\000\000\000\000\000\000\000\000\203\000\203\000\000\000\201\000\193\000\186\000\000\000\205\000\000\000\199\000\187\000\236\000\202\000\000\000\195\000\237\000\201\000\000\000\000\000\201\000\000\000\000\000\207\000\000\000\000\000\000\000\000\000\235\000\235\000\000\000\193\000\000\000\000\000\000\000\000\000\199\005\179\000\000\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\205\000\205\000\201\000\000\000\236\000\236\000\000\000\000\000\237\000\237\000\000\000\000\000\000\000\000\000\000\000\207\000\207\000\186\000\000\000\202\000\000\000\000\000\187\000\235\000\000\000\000\000\195\000\000\000\193\000\000\000\000\000\202\000\000\000\199\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\205\000\186\000\202\000\000\000\236\000\202\000\187\000\203\000\237\000\000\000\195\000\193\000\000\005\185\000\000\000\207\000\194\000\000\000\201\000\203\000\000\000\000\000\000\000\000\000\000\000\000\005\199\000\000\000\000\005\213\000\000\000\193\000\203\000\000\000\202\000\203\000\194\000\000\000\193\000\000\000\000\000\000\000\000\000\194\000\201\000\186\000\235\000\000\000\193\000\000\000\187\000\000\000\000\000\194\000\195\000\193\000\000\000\000\000\000\000\235\000\194\000\000\000\235\000\000\000\203\000\205\000\000\000\000\000\000\000\236\000\186\000\000\000\000\000\237\000\000\000\187\000\000\000\000\000\205\000\195\000\207\000\205\000\236\000\000\000\000\000\236\000\237\000\000\000\201\000\237\000\186\000\204\000\202\000\207\000\000\000\187\000\207\000\186\000\000\000\195\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\186\000\000\000\000\000\205\000\000\000\187\000\201\000\186\001\218\000\195\000\000\000\202\000\187\000\000\000\193\000\203\000\195\000\000\000\207\000\194\000\193\000\000\000\000\000\000\000\000\000\194\000\201\000\193\000\000\000\000\000\193\000\000\000\194\000\201\000\000\000\194\000\000\000\000\000\000\000\000\000\193\000\203\000\204\000\201\000\000\000\194\000\000\000\193\000\000\000\000\000\201\000\000\000\194\000\000\000\000\000\202\000\000\000\000\000\000\000\193\000\000\000\205\000\000\000\000\000\194\000\000\001\220\000\000\000\204\000\000\000\000\000\000\000\000\000\186\000\000\000\000\000\207\000\000\000\187\000\186\000\202\000\000\000\195\000\000\000\187\000\203\000\186\000\205\000\195\000\186\000\000\000\187\004+\000\000\000\187\000\195\000\000\000\000\000\195\000\186\000\202\000\000\000\207\000\000\000\187\000\000\000\186\000\202\000\195\000\000\000\203\000\187\000\204\000\000\000\000\000\195\000\201\000\202\000\186\000\000\000\193\000\000\000\201\000\187\000\202\000\194\000\000\000\195\000\000\000\201\000\203\000\205\000\201\000\000\000\000\000\000\004-\000\203\000\000\000\000\000\000\000\000\000\201\000\000\000\000\000\000\000\207\000\203\000\000\000\201\000\000\000\000\000\000\000\193\000\203\000\000\000\209\000\000\000\194\000\000\000\193\000\201\000\000\000\000\000\000\000\194\000\000\000\228\000\000\000\000\000\000\000\000\000\000\000\193\000\000\000\000\000\209\000\000\000\194\000\186\000\000\000\000\000\000\000\209\000\187\000\000\000\193\000\230\000\195\000\000\000\202\000\194\000\193\000\209\000\240\000\000\000\202\000\194\000\000\000\000\000\209\000\000\000\000\000\202\000\242\000\193\000\202\000\000\000\000\000\000\000\194\000\244\000\186\000\000\000\000\000\000\000\202\000\187\000\000\000\186\000\203\000\195\000\201\000\202\000\187\000\000\000\203\000\000\000\195\000\000\000\000\000\000\000\186\000\203\000\000\000\202\000\203\000\187\000\000\000\000\000\000\000\195\000\000\000\000\000\000\000\186\000\203\000\000\000\000\000\000\000\187\000\186\000\000\000\203\000\195\000\201\000\187\000\000\000\000\000\000\000\195\000\000\000\201\000\000\000\186\000\203\000\209\000\000\000\000\000\187\000\000\000\193\000\209\000\195\000\000\000\201\000\194\000\246\000\000\000\209\000\000\000\000\000\209\000\248\000\193\000\000\000\193\000\000\000\201\000\194\000\250\000\194\000\209\000\252\000\201\000\000\000\202\000\000\000\000\000\209\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\201\000\000\000\000\001\000\000\209\000\193\000\000\000\000\000\000\000\000\000\194\000\000\000\000\000\000\000\000\001\002\000\000\000\000\000\000\000\203\000\000\000\000\000\202\000\186\000\000\000\000\000\000\000\000\000\187\000\202\000\000\000\000\000\195\000\000\000\000\000\000\000\186\000\000\000\186\000\000\000\000\000\187\000\202\000\187\000\193\000\195\000\000\000\195\000\000\000\194\000\000\000\000\000\203\000\000\000\000\000\202\000\000\000\000\000\193\000\203\000\000\000\202\000\000\000\194\000\186\000\209\000\201\000\000\000\000\000\187\000\000\000\000\000\203\000\195\000\202\000\193\001\004\000\193\000\000\000\201\000\194\000\201\000\194\000\000\000\000\000\203\000\000\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\193\000\000\000\000\000\209\000\000\000\194\000\000\000\000\000\186\000\203\000\209\000\000\000\201\000\187\001\006\000\193\000\000\000\195\000\000\000\000\000\194\001\b\000\186\000\209\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\000\000\193\001\n\000\193\000\209\000\000\000\194\000\186\000\194\000\186\000\209\000\000\000\187\000\202\000\187\001\012\000\195\000\000\000\195\000\201\000\000\001\014\000\000\000\209\000\000\000\000\000\202\000\186\000\202\000\000\000\000\000\000\000\187\000\201\001\232\000\000\000\195\000\000\000\000\000\000\000\000\000\000\000\186\000\203\000\000\000\000\000\000\000\187\000\000\000\000\000\201\000\195\000\201\000\000\000\202\000\000\000\203\000\000\000\203\000\000\000\186\000\193\000\186\000\193\000\000\000\187\000\194\000\187\000\194\000\195\000\201\000\195\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\000\203\000\201\000\000\000\000\000\194\000\209\000\000\000\000\000\000\000\202\000\000\000\000\000\193\000\000\000\000\000\000\001\238\000\194\000\209\000\201\000\209\000\201\000\000\000\202\000\000\000\000\000\000\000\000\000\000\001\240\000\193\001\242\000\000\000\000\000\000\000\194\000\186\000\000\000\186\000\203\000\202\000\187\000\202\000\187\000\193\000\195\000\209\000\195\000\000\000\194\000\000\000\000\000\000\000\203\000\000\000\000\000\000\001\244\000\186\000\000\000\202\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\000\000\000\000\203\000\186\000\203\000\000\000\000\000\202\000\187\000\000\000\000\000\201\000\195\000\201\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\186\000\203\000\000\000\000\000\202\000\187\000\202\001\246\000\193\000\195\000\209\000\000\000\201\000\194\000\186\000\000\000\203\000\000\000\000\000\187\000\000\001\248\000\000\000\195\000\000\000\201\000\000\000\209\000\000\000\209\000\000\000\000\000\000\000\000\000\203\000\000\000\203\000\000\001\250\000\193\001\252\000\193\000\000\000\201\000\194\000\000\000\194\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\000\193\000\201\001\254\000\000\000\194\000\194\000\209\000\000\000\202\000\000\000\202\000\186\000\000\000\000\000\000\000\000\000\187\002\000\000\000\000\000\000\195\000\000\000\000\000\000\000\209\000\000\000\209\000\000\000\000\000\000\000\202\000\000\000\000\000\000\000\000\002\002\000\000\002\004\000\203\000\000\000\203\000\000\000\186\000\202\000\186\000\000\000\000\000\187\000\000\000\187\000\193\000\195\000\193\000\195\000\201\000\194\000\000\000\194\000\186\000\186\000\203\000\202\000\000\000\187\000\187\000\193\000\000\000\195\000\195\000\000\000\194\000\000\000\000\000\203\000\000\000\202\000\000\000\193\000\000\000\000\000\000\000\000\000\194\000\000\000\209\000\201\000\209\000\201\000\000\000\000\000\000\000\203\000\000\000\000\000\000\002\006\000\000\003\141\000\000\000\000\000\000\000\201\000\201\000\000\000\000\000\203\000\209\000\000\000\000\000\186\000\193\000\186\000\000\000\000\000\187\000\194\000\187\003\143\000\195\000\209\000\195\000\000\000\000\000\000\000\186\000\000\000\000\000\000\000\202\000\187\003\145\000\000\000\000\000\195\000\000\000\000\000\186\000\209\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\000\000\000\003\147\000\000\000\000\000\209\000\201\000\000\000\201\000\193\000\000\000\000\000\203\000\202\000\194\000\202\003\149\000\193\000\000\000\193\000\000\000\201\000\194\000\186\000\194\000\000\000\000\000\000\000\187\000\202\000\202\000\000\000\195\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\203\000\000\000\203\000\000\000\000\000\000\000\000\000\193\000\000\000\000\000\000\000\000\000\194\000\000\000\000\000\209\000\203\000\203\000\000\000\000\000\000\000\000\000\000\000\201\000\000\000\186\003\151\000\193\000\000\000\000\000\187\000\000\000\194\000\186\000\195\000\186\000\000\000\202\000\187\000\202\000\187\000\000\000\195\000\000\000\195\000\000\000\209\000\000\000\209\000\000\000\000\000\000\000\202\000\000\000\000\000\193\000\000\003\153\000\000\003\155\000\194\000\000\000\209\000\209\000\202\000\000\000\186\000\203\000\201\000\203\000\000\000\187\000\000\003\157\003\159\000\195\000\201\000\000\000\201\000\193\000\000\000\000\000\203\000\000\000\194\000\000\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\000\000\203\000\195\000\193\000\202\000\000\000\193\000\000\000\194\000\193\000\000\000\194\000\000\000\000\000\194\000\000\000\201\000\000\000\000\000\000\000\209\000\186\000\209\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\003\161\000\000\003\163\000\203\000\209\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\186\003\165\000\209\000\193\000\202\000\187\000\000\000\000\000\194\000\195\000\000\000\000\000\202\003\167\000\202\000\000\000\000\000\186\000\000\000\201\000\186\000\000\000\187\000\186\000\000\000\187\000\195\000\000\000\187\000\195\000\000\000\000\000\195\000\000\000\203\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\203\000\201\000\203\000\202\0048\000\193\000\000\000\000\000\000\000\000\000\194\000\000\000\193\000\000\000\000\000\000\000\000\000\194\000\201\000\000\000\186\000\201\000\000\000\202\000\201\000\187\000\000\000\000\000\000\000\195\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\209\004>\000\000\000\202\000\000\000\203\000\000\000\000\000\000\004@\000\000\004B\000\000\000\000\000\000\000\201\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\186\000\000\000\195\000\000\000\202\000\187\000\000\000\000\000\209\000\195\000\203\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004D\000\000\000\202\000\000\000\000\000\202\000\000\000\000\000\202\000\209\000\000\000\000\000\000\000\000\000\000\000\203\000\000\000\201\000\000\000\000\004F\000\000\000\000\000\000\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\203\000\000\000\209\000\203\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\202\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\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004J\000\000\000\000\000\000\000\000\000\203\000\209\000\000\000\000\000\209\000\000\000\000\000\209\000\000\000\000\000\000\000\000\004L\000\000\000\202\004N\000\000\000\000\004P\000\000\000\000\000\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\203\000\000\000\209\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\000\000\000\004R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\004T\000\000\000\000\000\000\000\000\000\000\000\000\004V"))
1501
1502 let semantic_action =
1503 [|
1504 (fun _menhir_env ->
1505 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1506 let {
1507 MenhirLib.EngineTypes.state = _menhir_s;
1508 MenhirLib.EngineTypes.semv = _1;
1509 MenhirLib.EngineTypes.startp = _startpos__1_;
1510 MenhirLib.EngineTypes.endp = _endpos__1_;
1511 MenhirLib.EngineTypes.next = _menhir_stack;
1512 } = _menhir_stack in
1513 raise (MenhirLib.TableInterpreter.Accept _1));
1514 (fun _menhir_env ->
1515 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1516 let {
1517 MenhirLib.EngineTypes.state = _menhir_s;
1518 MenhirLib.EngineTypes.semv = _1;
1519 MenhirLib.EngineTypes.startp = _startpos__1_;
1520 MenhirLib.EngineTypes.endp = _endpos__1_;
1521 MenhirLib.EngineTypes.next = _menhir_stack;
1522 } = _menhir_stack in
1523 raise (MenhirLib.TableInterpreter.Accept _1));
1524 (fun _menhir_env ->
1525 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1526 let {
1527 MenhirLib.EngineTypes.state = _menhir_s;
1528 MenhirLib.EngineTypes.semv = _1;
1529 MenhirLib.EngineTypes.startp = _startpos__1_;
1530 MenhirLib.EngineTypes.endp = _endpos__1_;
1531 MenhirLib.EngineTypes.next = _menhir_stack;
1532 } = _menhir_stack in
1533 raise (MenhirLib.TableInterpreter.Accept _1));
1534 (fun _menhir_env ->
1535 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1536 let {
1537 MenhirLib.EngineTypes.state = _menhir_s;
1538 MenhirLib.EngineTypes.semv = _1;
1539 MenhirLib.EngineTypes.startp = _startpos__1_;
1540 MenhirLib.EngineTypes.endp = _endpos__1_;
1541 MenhirLib.EngineTypes.next = _menhir_stack;
1542 } = _menhir_stack in
1543 raise (MenhirLib.TableInterpreter.Accept _1));
1544 (fun _menhir_env ->
1545 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1546 let {
1547 MenhirLib.EngineTypes.state = _menhir_s;
1548 MenhirLib.EngineTypes.semv = _1;
1549 MenhirLib.EngineTypes.startp = _startpos__1_;
1550 MenhirLib.EngineTypes.endp = _endpos__1_;
1551 MenhirLib.EngineTypes.next = _menhir_stack;
1552 } = _menhir_stack in
1553 raise (MenhirLib.TableInterpreter.Accept _1));
1554 (fun _menhir_env ->
1555 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1556 let {
1557 MenhirLib.EngineTypes.state = _menhir_s;
1558 MenhirLib.EngineTypes.semv = _1;
1559 MenhirLib.EngineTypes.startp = _startpos__1_;
1560 MenhirLib.EngineTypes.endp = _endpos__1_;
1561 MenhirLib.EngineTypes.next = _menhir_stack;
1562 } = _menhir_stack in
1563 raise (MenhirLib.TableInterpreter.Accept _1));
1564 (fun _menhir_env ->
1565 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1566 let {
1567 MenhirLib.EngineTypes.state = _menhir_s;
1568 MenhirLib.EngineTypes.semv = _1;
1569 MenhirLib.EngineTypes.startp = _startpos__1_;
1570 MenhirLib.EngineTypes.endp = _endpos__1_;
1571 MenhirLib.EngineTypes.next = _menhir_stack;
1572 } = _menhir_stack in
1573 raise (MenhirLib.TableInterpreter.Accept _1));
1574 (fun _menhir_env ->
1575 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1576 let {
1577 MenhirLib.EngineTypes.state = _menhir_s;
1578 MenhirLib.EngineTypes.semv = _1;
1579 MenhirLib.EngineTypes.startp = _startpos__1_;
1580 MenhirLib.EngineTypes.endp = _endpos__1_;
1581 MenhirLib.EngineTypes.next = _menhir_stack;
1582 } = _menhir_stack in
1583 raise (MenhirLib.TableInterpreter.Accept _1));
1584 (fun _menhir_env ->
1585 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1586 let {
1587 MenhirLib.EngineTypes.state = _menhir_s;
1588 MenhirLib.EngineTypes.semv = _1;
1589 MenhirLib.EngineTypes.startp = _startpos__1_;
1590 MenhirLib.EngineTypes.endp = _endpos__1_;
1591 MenhirLib.EngineTypes.next = _menhir_stack;
1592 } = _menhir_stack in
1593 raise (MenhirLib.TableInterpreter.Accept _1));
1594 (fun _menhir_env ->
1595 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1596 let {
1597 MenhirLib.EngineTypes.state = _menhir_s;
1598 MenhirLib.EngineTypes.semv = _1;
1599 MenhirLib.EngineTypes.startp = _startpos__1_;
1600 MenhirLib.EngineTypes.endp = _endpos__1_;
1601 MenhirLib.EngineTypes.next = _menhir_stack;
1602 } = _menhir_stack in
1603 raise (MenhirLib.TableInterpreter.Accept _1));
1604 (fun _menhir_env ->
1605 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1606 let {
1607 MenhirLib.EngineTypes.state = _menhir_s;
1608 MenhirLib.EngineTypes.semv = _1;
1609 MenhirLib.EngineTypes.startp = _startpos__1_;
1610 MenhirLib.EngineTypes.endp = _endpos__1_;
1611 MenhirLib.EngineTypes.next = _menhir_stack;
1612 } = _menhir_stack in
1613 raise (MenhirLib.TableInterpreter.Accept _1));
1614 (fun _menhir_env ->
1615 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1616 let {
1617 MenhirLib.EngineTypes.state = _menhir_s;
1618 MenhirLib.EngineTypes.semv = _1;
1619 MenhirLib.EngineTypes.startp = _startpos__1_;
1620 MenhirLib.EngineTypes.endp = _endpos__1_;
1621 MenhirLib.EngineTypes.next = _menhir_stack;
1622 } = _menhir_stack in
1623 raise (MenhirLib.TableInterpreter.Accept _1));
1624 (fun _menhir_env ->
1625 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1626 let {
1627 MenhirLib.EngineTypes.state = _menhir_s;
1628 MenhirLib.EngineTypes.semv = _1;
1629 MenhirLib.EngineTypes.startp = _startpos__1_;
1630 MenhirLib.EngineTypes.endp = _endpos__1_;
1631 MenhirLib.EngineTypes.next = _menhir_stack;
1632 } = _menhir_stack in
1633 raise (MenhirLib.TableInterpreter.Accept _1));
1634 (fun _menhir_env ->
1635 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1636 let {
1637 MenhirLib.EngineTypes.state = _menhir_s;
1638 MenhirLib.EngineTypes.semv = _1;
1639 MenhirLib.EngineTypes.startp = _startpos__1_;
1640 MenhirLib.EngineTypes.endp = _endpos__1_;
1641 MenhirLib.EngineTypes.next = _menhir_stack;
1642 } = _menhir_stack in
1643 let _1 : 'tv_dexpr = Obj.magic _1 in
1644 let _startpos = _startpos__1_ in
1645 let _endpos = _endpos__1_ in
1646 let _v : 'tv_aexpr =
1647 # 2067 "parser_cocci_menhir.mly"
1648 ( Ast0.set_arg_exp _1 )
1649 # 1650 "parser_cocci_menhir.ml"
1650 in
1651 _menhir_env.MenhirLib.EngineTypes.stack <- {
1652 MenhirLib.EngineTypes.state = _menhir_s;
1653 MenhirLib.EngineTypes.semv = Obj.repr _v;
1654 MenhirLib.EngineTypes.startp = _startpos;
1655 MenhirLib.EngineTypes.endp = _endpos;
1656 MenhirLib.EngineTypes.next = _menhir_stack;
1657 });
1658 (fun _menhir_env ->
1659 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1660 let {
1661 MenhirLib.EngineTypes.state = _menhir_s;
1662 MenhirLib.EngineTypes.semv = _1;
1663 MenhirLib.EngineTypes.startp = _startpos__1_;
1664 MenhirLib.EngineTypes.endp = _endpos__1_;
1665 MenhirLib.EngineTypes.next = _menhir_stack;
1666 } = _menhir_stack in
1667 let _1 : (
1668 # 70 "parser_cocci_menhir.mly"
1669 (Parse_aux.list_info)
1670 # 1671 "parser_cocci_menhir.ml"
1671 ) = Obj.magic _1 in
1672 let _startpos = _startpos__1_ in
1673 let _endpos = _endpos__1_ in
1674 let _v : 'tv_aexpr =
1675 # 2069 "parser_cocci_menhir.mly"
1676 ( let (nm,lenname,pure,clt) = _1 in
1677 let nm = P.clt2mcode nm clt in
1678 let lenname =
1679 match lenname with
1680 Ast.AnyLen -> Ast0.AnyListLen
1681 | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
1682 | Ast.CstLen n -> Ast0.CstListLen n in
1683 Ast0.wrap(Ast0.MetaExprList(nm,lenname,pure)) )
1684 # 1685 "parser_cocci_menhir.ml"
1685 in
1686 _menhir_env.MenhirLib.EngineTypes.stack <- {
1687 MenhirLib.EngineTypes.state = _menhir_s;
1688 MenhirLib.EngineTypes.semv = Obj.repr _v;
1689 MenhirLib.EngineTypes.startp = _startpos;
1690 MenhirLib.EngineTypes.endp = _endpos;
1691 MenhirLib.EngineTypes.next = _menhir_stack;
1692 });
1693 (fun _menhir_env ->
1694 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1695 let {
1696 MenhirLib.EngineTypes.state = _menhir_s;
1697 MenhirLib.EngineTypes.semv = _1;
1698 MenhirLib.EngineTypes.startp = _startpos__1_;
1699 MenhirLib.EngineTypes.endp = _endpos__1_;
1700 MenhirLib.EngineTypes.next = _menhir_stack;
1701 } = _menhir_stack in
1702 let _1 : 'tv_ctype = Obj.magic _1 in
1703 let _startpos = _startpos__1_ in
1704 let _endpos = _endpos__1_ in
1705 let _v : 'tv_aexpr =
1706 # 2078 "parser_cocci_menhir.mly"
1707 ( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) )
1708 # 1709 "parser_cocci_menhir.ml"
1709 in
1710 _menhir_env.MenhirLib.EngineTypes.stack <- {
1711 MenhirLib.EngineTypes.state = _menhir_s;
1712 MenhirLib.EngineTypes.semv = Obj.repr _v;
1713 MenhirLib.EngineTypes.startp = _startpos;
1714 MenhirLib.EngineTypes.endp = _endpos;
1715 MenhirLib.EngineTypes.next = _menhir_stack;
1716 });
1717 (fun _menhir_env ->
1718 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1719 let {
1720 MenhirLib.EngineTypes.state = _menhir_s;
1721 MenhirLib.EngineTypes.startp = _startpos__1_;
1722 MenhirLib.EngineTypes.endp = _endpos__1_;
1723 MenhirLib.EngineTypes.next = _menhir_stack;
1724 } = _menhir_stack in
1725 let _startpos = _startpos__1_ in
1726 let _endpos = _endpos__1_ in
1727 let _v : 'tv_any_strict =
1728 # 2114 "parser_cocci_menhir.mly"
1729 ( Ast.WhenAny )
1730 # 1731 "parser_cocci_menhir.ml"
1731 in
1732 _menhir_env.MenhirLib.EngineTypes.stack <- {
1733 MenhirLib.EngineTypes.state = _menhir_s;
1734 MenhirLib.EngineTypes.semv = Obj.repr _v;
1735 MenhirLib.EngineTypes.startp = _startpos;
1736 MenhirLib.EngineTypes.endp = _endpos;
1737 MenhirLib.EngineTypes.next = _menhir_stack;
1738 });
1739 (fun _menhir_env ->
1740 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1741 let {
1742 MenhirLib.EngineTypes.state = _menhir_s;
1743 MenhirLib.EngineTypes.startp = _startpos__1_;
1744 MenhirLib.EngineTypes.endp = _endpos__1_;
1745 MenhirLib.EngineTypes.next = _menhir_stack;
1746 } = _menhir_stack in
1747 let _startpos = _startpos__1_ in
1748 let _endpos = _endpos__1_ in
1749 let _v : 'tv_any_strict =
1750 # 2115 "parser_cocci_menhir.mly"
1751 ( Ast.WhenStrict )
1752 # 1753 "parser_cocci_menhir.ml"
1753 in
1754 _menhir_env.MenhirLib.EngineTypes.stack <- {
1755 MenhirLib.EngineTypes.state = _menhir_s;
1756 MenhirLib.EngineTypes.semv = Obj.repr _v;
1757 MenhirLib.EngineTypes.startp = _startpos;
1758 MenhirLib.EngineTypes.endp = _endpos;
1759 MenhirLib.EngineTypes.next = _menhir_stack;
1760 });
1761 (fun _menhir_env ->
1762 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1763 let {
1764 MenhirLib.EngineTypes.state = _menhir_s;
1765 MenhirLib.EngineTypes.startp = _startpos__1_;
1766 MenhirLib.EngineTypes.endp = _endpos__1_;
1767 MenhirLib.EngineTypes.next = _menhir_stack;
1768 } = _menhir_stack in
1769 let _startpos = _startpos__1_ in
1770 let _endpos = _endpos__1_ in
1771 let _v : 'tv_any_strict =
1772 # 2116 "parser_cocci_menhir.mly"
1773 ( Ast.WhenForall )
1774 # 1775 "parser_cocci_menhir.ml"
1775 in
1776 _menhir_env.MenhirLib.EngineTypes.stack <- {
1777 MenhirLib.EngineTypes.state = _menhir_s;
1778 MenhirLib.EngineTypes.semv = Obj.repr _v;
1779 MenhirLib.EngineTypes.startp = _startpos;
1780 MenhirLib.EngineTypes.endp = _endpos;
1781 MenhirLib.EngineTypes.next = _menhir_stack;
1782 });
1783 (fun _menhir_env ->
1784 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1785 let {
1786 MenhirLib.EngineTypes.state = _menhir_s;
1787 MenhirLib.EngineTypes.startp = _startpos__1_;
1788 MenhirLib.EngineTypes.endp = _endpos__1_;
1789 MenhirLib.EngineTypes.next = _menhir_stack;
1790 } = _menhir_stack in
1791 let _startpos = _startpos__1_ in
1792 let _endpos = _endpos__1_ in
1793 let _v : 'tv_any_strict =
1794 # 2117 "parser_cocci_menhir.mly"
1795 ( Ast.WhenExists )
1796 # 1797 "parser_cocci_menhir.ml"
1797 in
1798 _menhir_env.MenhirLib.EngineTypes.stack <- {
1799 MenhirLib.EngineTypes.state = _menhir_s;
1800 MenhirLib.EngineTypes.semv = Obj.repr _v;
1801 MenhirLib.EngineTypes.startp = _startpos;
1802 MenhirLib.EngineTypes.endp = _endpos;
1803 MenhirLib.EngineTypes.next = _menhir_stack;
1804 });
1805 (fun _menhir_env ->
1806 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1807 let {
1808 MenhirLib.EngineTypes.state = _menhir_s;
1809 MenhirLib.EngineTypes.semv = _1;
1810 MenhirLib.EngineTypes.startp = _startpos__1_;
1811 MenhirLib.EngineTypes.endp = _endpos__1_;
1812 MenhirLib.EngineTypes.next = _menhir_stack;
1813 } = _menhir_stack in
1814 let _1 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1815 let _startpos = _startpos__1_ in
1816 let _endpos = _endpos__1_ in
1817 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1818 # 1349 "parser_cocci_menhir.mly"
1819 ( _1 )
1820 # 1821 "parser_cocci_menhir.ml"
1821 in
1822 _menhir_env.MenhirLib.EngineTypes.stack <- {
1823 MenhirLib.EngineTypes.state = _menhir_s;
1824 MenhirLib.EngineTypes.semv = Obj.repr _v;
1825 MenhirLib.EngineTypes.startp = _startpos;
1826 MenhirLib.EngineTypes.endp = _endpos;
1827 MenhirLib.EngineTypes.next = _menhir_stack;
1828 });
1829 (fun _menhir_env ->
1830 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1831 let {
1832 MenhirLib.EngineTypes.semv = _3;
1833 MenhirLib.EngineTypes.startp = _startpos__3_;
1834 MenhirLib.EngineTypes.endp = _endpos__3_;
1835 MenhirLib.EngineTypes.next = {
1836 MenhirLib.EngineTypes.semv = _2;
1837 MenhirLib.EngineTypes.startp = _startpos__2_;
1838 MenhirLib.EngineTypes.endp = _endpos__2_;
1839 MenhirLib.EngineTypes.next = {
1840 MenhirLib.EngineTypes.state = _menhir_s;
1841 MenhirLib.EngineTypes.semv = _1;
1842 MenhirLib.EngineTypes.startp = _startpos__1_;
1843 MenhirLib.EngineTypes.endp = _endpos__1_;
1844 MenhirLib.EngineTypes.next = _menhir_stack;
1845 };
1846 };
1847 } = _menhir_stack in
1848 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
1849 let _2 : (
1850 # 103 "parser_cocci_menhir.mly"
1851 (Data.clt)
1852 # 1853 "parser_cocci_menhir.ml"
1853 ) = Obj.magic _2 in
1854 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1855 let _startpos = _startpos__1_ in
1856 let _endpos = _endpos__3_ in
1857 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1858 # 1351 "parser_cocci_menhir.mly"
1859 ( P.arith_op Ast.Mul _1 _2 _3 )
1860 # 1861 "parser_cocci_menhir.ml"
1861 in
1862 _menhir_env.MenhirLib.EngineTypes.stack <- {
1863 MenhirLib.EngineTypes.state = _menhir_s;
1864 MenhirLib.EngineTypes.semv = Obj.repr _v;
1865 MenhirLib.EngineTypes.startp = _startpos;
1866 MenhirLib.EngineTypes.endp = _endpos;
1867 MenhirLib.EngineTypes.next = _menhir_stack;
1868 });
1869 (fun _menhir_env ->
1870 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1871 let {
1872 MenhirLib.EngineTypes.semv = _3;
1873 MenhirLib.EngineTypes.startp = _startpos__3_;
1874 MenhirLib.EngineTypes.endp = _endpos__3_;
1875 MenhirLib.EngineTypes.next = {
1876 MenhirLib.EngineTypes.semv = _2;
1877 MenhirLib.EngineTypes.startp = _startpos__2_;
1878 MenhirLib.EngineTypes.endp = _endpos__2_;
1879 MenhirLib.EngineTypes.next = {
1880 MenhirLib.EngineTypes.state = _menhir_s;
1881 MenhirLib.EngineTypes.semv = _1;
1882 MenhirLib.EngineTypes.startp = _startpos__1_;
1883 MenhirLib.EngineTypes.endp = _endpos__1_;
1884 MenhirLib.EngineTypes.next = _menhir_stack;
1885 };
1886 };
1887 } = _menhir_stack in
1888 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
1889 let _2 : (
1890 # 101 "parser_cocci_menhir.mly"
1891 (Ast_cocci.arithOp * Data.clt)
1892 # 1893 "parser_cocci_menhir.ml"
1893 ) = Obj.magic _2 in
1894 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1895 let _startpos = _startpos__1_ in
1896 let _endpos = _endpos__3_ in
1897 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1898 # 1353 "parser_cocci_menhir.mly"
1899 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
1900 # 1901 "parser_cocci_menhir.ml"
1901 in
1902 _menhir_env.MenhirLib.EngineTypes.stack <- {
1903 MenhirLib.EngineTypes.state = _menhir_s;
1904 MenhirLib.EngineTypes.semv = Obj.repr _v;
1905 MenhirLib.EngineTypes.startp = _startpos;
1906 MenhirLib.EngineTypes.endp = _endpos;
1907 MenhirLib.EngineTypes.next = _menhir_stack;
1908 });
1909 (fun _menhir_env ->
1910 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1911 let {
1912 MenhirLib.EngineTypes.semv = _3;
1913 MenhirLib.EngineTypes.startp = _startpos__3_;
1914 MenhirLib.EngineTypes.endp = _endpos__3_;
1915 MenhirLib.EngineTypes.next = {
1916 MenhirLib.EngineTypes.semv = _2;
1917 MenhirLib.EngineTypes.startp = _startpos__2_;
1918 MenhirLib.EngineTypes.endp = _endpos__2_;
1919 MenhirLib.EngineTypes.next = {
1920 MenhirLib.EngineTypes.state = _menhir_s;
1921 MenhirLib.EngineTypes.semv = _1;
1922 MenhirLib.EngineTypes.startp = _startpos__1_;
1923 MenhirLib.EngineTypes.endp = _endpos__1_;
1924 MenhirLib.EngineTypes.next = _menhir_stack;
1925 };
1926 };
1927 } = _menhir_stack in
1928 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
1929 let _2 : (
1930 # 102 "parser_cocci_menhir.mly"
1931 (Data.clt)
1932 # 1933 "parser_cocci_menhir.ml"
1933 ) = Obj.magic _2 in
1934 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1935 let _startpos = _startpos__1_ in
1936 let _endpos = _endpos__3_ in
1937 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1938 # 1355 "parser_cocci_menhir.mly"
1939 ( P.arith_op Ast.Plus _1 _2 _3 )
1940 # 1941 "parser_cocci_menhir.ml"
1941 in
1942 _menhir_env.MenhirLib.EngineTypes.stack <- {
1943 MenhirLib.EngineTypes.state = _menhir_s;
1944 MenhirLib.EngineTypes.semv = Obj.repr _v;
1945 MenhirLib.EngineTypes.startp = _startpos;
1946 MenhirLib.EngineTypes.endp = _endpos;
1947 MenhirLib.EngineTypes.next = _menhir_stack;
1948 });
1949 (fun _menhir_env ->
1950 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1951 let {
1952 MenhirLib.EngineTypes.semv = _3;
1953 MenhirLib.EngineTypes.startp = _startpos__3_;
1954 MenhirLib.EngineTypes.endp = _endpos__3_;
1955 MenhirLib.EngineTypes.next = {
1956 MenhirLib.EngineTypes.semv = _2;
1957 MenhirLib.EngineTypes.startp = _startpos__2_;
1958 MenhirLib.EngineTypes.endp = _endpos__2_;
1959 MenhirLib.EngineTypes.next = {
1960 MenhirLib.EngineTypes.state = _menhir_s;
1961 MenhirLib.EngineTypes.semv = _1;
1962 MenhirLib.EngineTypes.startp = _startpos__1_;
1963 MenhirLib.EngineTypes.endp = _endpos__1_;
1964 MenhirLib.EngineTypes.next = _menhir_stack;
1965 };
1966 };
1967 } = _menhir_stack in
1968 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
1969 let _2 : (
1970 # 102 "parser_cocci_menhir.mly"
1971 (Data.clt)
1972 # 1973 "parser_cocci_menhir.ml"
1973 ) = Obj.magic _2 in
1974 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
1975 let _startpos = _startpos__1_ in
1976 let _endpos = _endpos__3_ in
1977 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
1978 # 1357 "parser_cocci_menhir.mly"
1979 ( P.arith_op Ast.Minus _1 _2 _3 )
1980 # 1981 "parser_cocci_menhir.ml"
1981 in
1982 _menhir_env.MenhirLib.EngineTypes.stack <- {
1983 MenhirLib.EngineTypes.state = _menhir_s;
1984 MenhirLib.EngineTypes.semv = Obj.repr _v;
1985 MenhirLib.EngineTypes.startp = _startpos;
1986 MenhirLib.EngineTypes.endp = _endpos;
1987 MenhirLib.EngineTypes.next = _menhir_stack;
1988 });
1989 (fun _menhir_env ->
1990 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
1991 let {
1992 MenhirLib.EngineTypes.semv = _3;
1993 MenhirLib.EngineTypes.startp = _startpos__3_;
1994 MenhirLib.EngineTypes.endp = _endpos__3_;
1995 MenhirLib.EngineTypes.next = {
1996 MenhirLib.EngineTypes.semv = _2;
1997 MenhirLib.EngineTypes.startp = _startpos__2_;
1998 MenhirLib.EngineTypes.endp = _endpos__2_;
1999 MenhirLib.EngineTypes.next = {
2000 MenhirLib.EngineTypes.state = _menhir_s;
2001 MenhirLib.EngineTypes.semv = _1;
2002 MenhirLib.EngineTypes.startp = _startpos__1_;
2003 MenhirLib.EngineTypes.endp = _endpos__1_;
2004 MenhirLib.EngineTypes.next = _menhir_stack;
2005 };
2006 };
2007 } = _menhir_stack in
2008 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2009 let _2 : (
2010 # 100 "parser_cocci_menhir.mly"
2011 (Ast_cocci.arithOp * Data.clt)
2012 # 2013 "parser_cocci_menhir.ml"
2013 ) = Obj.magic _2 in
2014 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2015 let _startpos = _startpos__1_ in
2016 let _endpos = _endpos__3_ in
2017 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2018 # 1359 "parser_cocci_menhir.mly"
2019 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2020 # 2021 "parser_cocci_menhir.ml"
2021 in
2022 _menhir_env.MenhirLib.EngineTypes.stack <- {
2023 MenhirLib.EngineTypes.state = _menhir_s;
2024 MenhirLib.EngineTypes.semv = Obj.repr _v;
2025 MenhirLib.EngineTypes.startp = _startpos;
2026 MenhirLib.EngineTypes.endp = _endpos;
2027 MenhirLib.EngineTypes.next = _menhir_stack;
2028 });
2029 (fun _menhir_env ->
2030 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2031 let {
2032 MenhirLib.EngineTypes.semv = _3;
2033 MenhirLib.EngineTypes.startp = _startpos__3_;
2034 MenhirLib.EngineTypes.endp = _endpos__3_;
2035 MenhirLib.EngineTypes.next = {
2036 MenhirLib.EngineTypes.semv = _2;
2037 MenhirLib.EngineTypes.startp = _startpos__2_;
2038 MenhirLib.EngineTypes.endp = _endpos__2_;
2039 MenhirLib.EngineTypes.next = {
2040 MenhirLib.EngineTypes.state = _menhir_s;
2041 MenhirLib.EngineTypes.semv = _1;
2042 MenhirLib.EngineTypes.startp = _startpos__1_;
2043 MenhirLib.EngineTypes.endp = _endpos__1_;
2044 MenhirLib.EngineTypes.next = _menhir_stack;
2045 };
2046 };
2047 } = _menhir_stack in
2048 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2049 let _2 : (
2050 # 100 "parser_cocci_menhir.mly"
2051 (Ast_cocci.arithOp * Data.clt)
2052 # 2053 "parser_cocci_menhir.ml"
2053 ) = Obj.magic _2 in
2054 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2055 let _startpos = _startpos__1_ in
2056 let _endpos = _endpos__3_ in
2057 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2058 # 1361 "parser_cocci_menhir.mly"
2059 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2060 # 2061 "parser_cocci_menhir.ml"
2061 in
2062 _menhir_env.MenhirLib.EngineTypes.stack <- {
2063 MenhirLib.EngineTypes.state = _menhir_s;
2064 MenhirLib.EngineTypes.semv = Obj.repr _v;
2065 MenhirLib.EngineTypes.startp = _startpos;
2066 MenhirLib.EngineTypes.endp = _endpos;
2067 MenhirLib.EngineTypes.next = _menhir_stack;
2068 });
2069 (fun _menhir_env ->
2070 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2071 let {
2072 MenhirLib.EngineTypes.semv = _3;
2073 MenhirLib.EngineTypes.startp = _startpos__3_;
2074 MenhirLib.EngineTypes.endp = _endpos__3_;
2075 MenhirLib.EngineTypes.next = {
2076 MenhirLib.EngineTypes.semv = _2;
2077 MenhirLib.EngineTypes.startp = _startpos__2_;
2078 MenhirLib.EngineTypes.endp = _endpos__2_;
2079 MenhirLib.EngineTypes.next = {
2080 MenhirLib.EngineTypes.state = _menhir_s;
2081 MenhirLib.EngineTypes.semv = _1;
2082 MenhirLib.EngineTypes.startp = _startpos__1_;
2083 MenhirLib.EngineTypes.endp = _endpos__1_;
2084 MenhirLib.EngineTypes.next = _menhir_stack;
2085 };
2086 };
2087 } = _menhir_stack in
2088 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2089 let _2 : (
2090 # 99 "parser_cocci_menhir.mly"
2091 (Ast_cocci.logicalOp * Data.clt)
2092 # 2093 "parser_cocci_menhir.ml"
2093 ) = Obj.magic _2 in
2094 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2095 let _startpos = _startpos__1_ in
2096 let _endpos = _endpos__3_ in
2097 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2098 # 1363 "parser_cocci_menhir.mly"
2099 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
2100 # 2101 "parser_cocci_menhir.ml"
2101 in
2102 _menhir_env.MenhirLib.EngineTypes.stack <- {
2103 MenhirLib.EngineTypes.state = _menhir_s;
2104 MenhirLib.EngineTypes.semv = Obj.repr _v;
2105 MenhirLib.EngineTypes.startp = _startpos;
2106 MenhirLib.EngineTypes.endp = _endpos;
2107 MenhirLib.EngineTypes.next = _menhir_stack;
2108 });
2109 (fun _menhir_env ->
2110 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2111 let {
2112 MenhirLib.EngineTypes.semv = _3;
2113 MenhirLib.EngineTypes.startp = _startpos__3_;
2114 MenhirLib.EngineTypes.endp = _endpos__3_;
2115 MenhirLib.EngineTypes.next = {
2116 MenhirLib.EngineTypes.semv = _2;
2117 MenhirLib.EngineTypes.startp = _startpos__2_;
2118 MenhirLib.EngineTypes.endp = _endpos__2_;
2119 MenhirLib.EngineTypes.next = {
2120 MenhirLib.EngineTypes.state = _menhir_s;
2121 MenhirLib.EngineTypes.semv = _1;
2122 MenhirLib.EngineTypes.startp = _startpos__1_;
2123 MenhirLib.EngineTypes.endp = _endpos__1_;
2124 MenhirLib.EngineTypes.next = _menhir_stack;
2125 };
2126 };
2127 } = _menhir_stack in
2128 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2129 let _2 : (
2130 # 98 "parser_cocci_menhir.mly"
2131 (Data.clt)
2132 # 2133 "parser_cocci_menhir.ml"
2133 ) = Obj.magic _2 in
2134 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2135 let _startpos = _startpos__1_ in
2136 let _endpos = _endpos__3_ in
2137 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2138 # 1365 "parser_cocci_menhir.mly"
2139 ( P.logic_op Ast.Eq _1 _2 _3 )
2140 # 2141 "parser_cocci_menhir.ml"
2141 in
2142 _menhir_env.MenhirLib.EngineTypes.stack <- {
2143 MenhirLib.EngineTypes.state = _menhir_s;
2144 MenhirLib.EngineTypes.semv = Obj.repr _v;
2145 MenhirLib.EngineTypes.startp = _startpos;
2146 MenhirLib.EngineTypes.endp = _endpos;
2147 MenhirLib.EngineTypes.next = _menhir_stack;
2148 });
2149 (fun _menhir_env ->
2150 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2151 let {
2152 MenhirLib.EngineTypes.semv = _3;
2153 MenhirLib.EngineTypes.startp = _startpos__3_;
2154 MenhirLib.EngineTypes.endp = _endpos__3_;
2155 MenhirLib.EngineTypes.next = {
2156 MenhirLib.EngineTypes.semv = _2;
2157 MenhirLib.EngineTypes.startp = _startpos__2_;
2158 MenhirLib.EngineTypes.endp = _endpos__2_;
2159 MenhirLib.EngineTypes.next = {
2160 MenhirLib.EngineTypes.state = _menhir_s;
2161 MenhirLib.EngineTypes.semv = _1;
2162 MenhirLib.EngineTypes.startp = _startpos__1_;
2163 MenhirLib.EngineTypes.endp = _endpos__1_;
2164 MenhirLib.EngineTypes.next = _menhir_stack;
2165 };
2166 };
2167 } = _menhir_stack in
2168 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2169 let _2 : (
2170 # 98 "parser_cocci_menhir.mly"
2171 (Data.clt)
2172 # 2173 "parser_cocci_menhir.ml"
2173 ) = Obj.magic _2 in
2174 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2175 let _startpos = _startpos__1_ in
2176 let _endpos = _endpos__3_ in
2177 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2178 # 1367 "parser_cocci_menhir.mly"
2179 ( P.logic_op Ast.NotEq _1 _2 _3 )
2180 # 2181 "parser_cocci_menhir.ml"
2181 in
2182 _menhir_env.MenhirLib.EngineTypes.stack <- {
2183 MenhirLib.EngineTypes.state = _menhir_s;
2184 MenhirLib.EngineTypes.semv = Obj.repr _v;
2185 MenhirLib.EngineTypes.startp = _startpos;
2186 MenhirLib.EngineTypes.endp = _endpos;
2187 MenhirLib.EngineTypes.next = _menhir_stack;
2188 });
2189 (fun _menhir_env ->
2190 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2191 let {
2192 MenhirLib.EngineTypes.semv = _3;
2193 MenhirLib.EngineTypes.startp = _startpos__3_;
2194 MenhirLib.EngineTypes.endp = _endpos__3_;
2195 MenhirLib.EngineTypes.next = {
2196 MenhirLib.EngineTypes.semv = _2;
2197 MenhirLib.EngineTypes.startp = _startpos__2_;
2198 MenhirLib.EngineTypes.endp = _endpos__2_;
2199 MenhirLib.EngineTypes.next = {
2200 MenhirLib.EngineTypes.state = _menhir_s;
2201 MenhirLib.EngineTypes.semv = _1;
2202 MenhirLib.EngineTypes.startp = _startpos__1_;
2203 MenhirLib.EngineTypes.endp = _endpos__1_;
2204 MenhirLib.EngineTypes.next = _menhir_stack;
2205 };
2206 };
2207 } = _menhir_stack in
2208 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2209 let _2 : (
2210 # 97 "parser_cocci_menhir.mly"
2211 (Data.clt)
2212 # 2213 "parser_cocci_menhir.ml"
2213 ) = Obj.magic _2 in
2214 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2215 let _startpos = _startpos__1_ in
2216 let _endpos = _endpos__3_ in
2217 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2218 # 1369 "parser_cocci_menhir.mly"
2219 ( P.arith_op Ast.And _1 _2 _3 )
2220 # 2221 "parser_cocci_menhir.ml"
2221 in
2222 _menhir_env.MenhirLib.EngineTypes.stack <- {
2223 MenhirLib.EngineTypes.state = _menhir_s;
2224 MenhirLib.EngineTypes.semv = Obj.repr _v;
2225 MenhirLib.EngineTypes.startp = _startpos;
2226 MenhirLib.EngineTypes.endp = _endpos;
2227 MenhirLib.EngineTypes.next = _menhir_stack;
2228 });
2229 (fun _menhir_env ->
2230 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2231 let {
2232 MenhirLib.EngineTypes.semv = _3;
2233 MenhirLib.EngineTypes.startp = _startpos__3_;
2234 MenhirLib.EngineTypes.endp = _endpos__3_;
2235 MenhirLib.EngineTypes.next = {
2236 MenhirLib.EngineTypes.semv = _2;
2237 MenhirLib.EngineTypes.startp = _startpos__2_;
2238 MenhirLib.EngineTypes.endp = _endpos__2_;
2239 MenhirLib.EngineTypes.next = {
2240 MenhirLib.EngineTypes.state = _menhir_s;
2241 MenhirLib.EngineTypes.semv = _1;
2242 MenhirLib.EngineTypes.startp = _startpos__1_;
2243 MenhirLib.EngineTypes.endp = _endpos__1_;
2244 MenhirLib.EngineTypes.next = _menhir_stack;
2245 };
2246 };
2247 } = _menhir_stack in
2248 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2249 let _2 : (
2250 # 95 "parser_cocci_menhir.mly"
2251 (Data.clt)
2252 # 2253 "parser_cocci_menhir.ml"
2253 ) = Obj.magic _2 in
2254 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2255 let _startpos = _startpos__1_ in
2256 let _endpos = _endpos__3_ in
2257 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2258 # 1371 "parser_cocci_menhir.mly"
2259 ( P.arith_op Ast.Or _1 _2 _3 )
2260 # 2261 "parser_cocci_menhir.ml"
2261 in
2262 _menhir_env.MenhirLib.EngineTypes.stack <- {
2263 MenhirLib.EngineTypes.state = _menhir_s;
2264 MenhirLib.EngineTypes.semv = Obj.repr _v;
2265 MenhirLib.EngineTypes.startp = _startpos;
2266 MenhirLib.EngineTypes.endp = _endpos;
2267 MenhirLib.EngineTypes.next = _menhir_stack;
2268 });
2269 (fun _menhir_env ->
2270 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2271 let {
2272 MenhirLib.EngineTypes.semv = _3;
2273 MenhirLib.EngineTypes.startp = _startpos__3_;
2274 MenhirLib.EngineTypes.endp = _endpos__3_;
2275 MenhirLib.EngineTypes.next = {
2276 MenhirLib.EngineTypes.semv = _2;
2277 MenhirLib.EngineTypes.startp = _startpos__2_;
2278 MenhirLib.EngineTypes.endp = _endpos__2_;
2279 MenhirLib.EngineTypes.next = {
2280 MenhirLib.EngineTypes.state = _menhir_s;
2281 MenhirLib.EngineTypes.semv = _1;
2282 MenhirLib.EngineTypes.startp = _startpos__1_;
2283 MenhirLib.EngineTypes.endp = _endpos__1_;
2284 MenhirLib.EngineTypes.next = _menhir_stack;
2285 };
2286 };
2287 } = _menhir_stack in
2288 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2289 let _2 : (
2290 # 96 "parser_cocci_menhir.mly"
2291 (Data.clt)
2292 # 2293 "parser_cocci_menhir.ml"
2293 ) = Obj.magic _2 in
2294 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2295 let _startpos = _startpos__1_ in
2296 let _endpos = _endpos__3_ in
2297 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2298 # 1373 "parser_cocci_menhir.mly"
2299 ( P.arith_op Ast.Xor _1 _2 _3 )
2300 # 2301 "parser_cocci_menhir.ml"
2301 in
2302 _menhir_env.MenhirLib.EngineTypes.stack <- {
2303 MenhirLib.EngineTypes.state = _menhir_s;
2304 MenhirLib.EngineTypes.semv = Obj.repr _v;
2305 MenhirLib.EngineTypes.startp = _startpos;
2306 MenhirLib.EngineTypes.endp = _endpos;
2307 MenhirLib.EngineTypes.next = _menhir_stack;
2308 });
2309 (fun _menhir_env ->
2310 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2311 let {
2312 MenhirLib.EngineTypes.semv = _3;
2313 MenhirLib.EngineTypes.startp = _startpos__3_;
2314 MenhirLib.EngineTypes.endp = _endpos__3_;
2315 MenhirLib.EngineTypes.next = {
2316 MenhirLib.EngineTypes.semv = _2;
2317 MenhirLib.EngineTypes.startp = _startpos__2_;
2318 MenhirLib.EngineTypes.endp = _endpos__2_;
2319 MenhirLib.EngineTypes.next = {
2320 MenhirLib.EngineTypes.state = _menhir_s;
2321 MenhirLib.EngineTypes.semv = _1;
2322 MenhirLib.EngineTypes.startp = _startpos__1_;
2323 MenhirLib.EngineTypes.endp = _endpos__1_;
2324 MenhirLib.EngineTypes.next = _menhir_stack;
2325 };
2326 };
2327 } = _menhir_stack in
2328 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2329 let _2 : (
2330 # 94 "parser_cocci_menhir.mly"
2331 (Data.clt)
2332 # 2333 "parser_cocci_menhir.ml"
2333 ) = Obj.magic _2 in
2334 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2335 let _startpos = _startpos__1_ in
2336 let _endpos = _endpos__3_ in
2337 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2338 # 1375 "parser_cocci_menhir.mly"
2339 ( P.logic_op Ast.AndLog _1 _2 _3 )
2340 # 2341 "parser_cocci_menhir.ml"
2341 in
2342 _menhir_env.MenhirLib.EngineTypes.stack <- {
2343 MenhirLib.EngineTypes.state = _menhir_s;
2344 MenhirLib.EngineTypes.semv = Obj.repr _v;
2345 MenhirLib.EngineTypes.startp = _startpos;
2346 MenhirLib.EngineTypes.endp = _endpos;
2347 MenhirLib.EngineTypes.next = _menhir_stack;
2348 });
2349 (fun _menhir_env ->
2350 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2351 let {
2352 MenhirLib.EngineTypes.semv = _3;
2353 MenhirLib.EngineTypes.startp = _startpos__3_;
2354 MenhirLib.EngineTypes.endp = _endpos__3_;
2355 MenhirLib.EngineTypes.next = {
2356 MenhirLib.EngineTypes.semv = _2;
2357 MenhirLib.EngineTypes.startp = _startpos__2_;
2358 MenhirLib.EngineTypes.endp = _endpos__2_;
2359 MenhirLib.EngineTypes.next = {
2360 MenhirLib.EngineTypes.state = _menhir_s;
2361 MenhirLib.EngineTypes.semv = _1;
2362 MenhirLib.EngineTypes.startp = _startpos__1_;
2363 MenhirLib.EngineTypes.endp = _endpos__1_;
2364 MenhirLib.EngineTypes.next = _menhir_stack;
2365 };
2366 };
2367 } = _menhir_stack in
2368 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2369 let _2 : (
2370 # 93 "parser_cocci_menhir.mly"
2371 (Data.clt)
2372 # 2373 "parser_cocci_menhir.ml"
2373 ) = Obj.magic _2 in
2374 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
2375 let _startpos = _startpos__1_ in
2376 let _endpos = _endpos__3_ in
2377 let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
2378 # 1377 "parser_cocci_menhir.mly"
2379 ( P.logic_op Ast.OrLog _1 _2 _3 )
2380 # 2381 "parser_cocci_menhir.ml"
2381 in
2382 _menhir_env.MenhirLib.EngineTypes.stack <- {
2383 MenhirLib.EngineTypes.state = _menhir_s;
2384 MenhirLib.EngineTypes.semv = Obj.repr _v;
2385 MenhirLib.EngineTypes.startp = _startpos;
2386 MenhirLib.EngineTypes.endp = _endpos;
2387 MenhirLib.EngineTypes.next = _menhir_stack;
2388 });
2389 (fun _menhir_env ->
2390 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2391 let {
2392 MenhirLib.EngineTypes.state = _menhir_s;
2393 MenhirLib.EngineTypes.semv = _1;
2394 MenhirLib.EngineTypes.startp = _startpos__1_;
2395 MenhirLib.EngineTypes.endp = _endpos__1_;
2396 MenhirLib.EngineTypes.next = _menhir_stack;
2397 } = _menhir_stack in
2398 let _1 : 'tv_cast_expr_eexpr_invalid_ = Obj.magic _1 in
2399 let _startpos = _startpos__1_ in
2400 let _endpos = _endpos__1_ in
2401 let _v : 'tv_arith_expr_eexpr_invalid_ =
2402 # 1349 "parser_cocci_menhir.mly"
2403 ( _1 )
2404 # 2405 "parser_cocci_menhir.ml"
2405 in
2406 _menhir_env.MenhirLib.EngineTypes.stack <- {
2407 MenhirLib.EngineTypes.state = _menhir_s;
2408 MenhirLib.EngineTypes.semv = Obj.repr _v;
2409 MenhirLib.EngineTypes.startp = _startpos;
2410 MenhirLib.EngineTypes.endp = _endpos;
2411 MenhirLib.EngineTypes.next = _menhir_stack;
2412 });
2413 (fun _menhir_env ->
2414 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2415 let {
2416 MenhirLib.EngineTypes.semv = _3;
2417 MenhirLib.EngineTypes.startp = _startpos__3_;
2418 MenhirLib.EngineTypes.endp = _endpos__3_;
2419 MenhirLib.EngineTypes.next = {
2420 MenhirLib.EngineTypes.semv = _2;
2421 MenhirLib.EngineTypes.startp = _startpos__2_;
2422 MenhirLib.EngineTypes.endp = _endpos__2_;
2423 MenhirLib.EngineTypes.next = {
2424 MenhirLib.EngineTypes.state = _menhir_s;
2425 MenhirLib.EngineTypes.semv = _1;
2426 MenhirLib.EngineTypes.startp = _startpos__1_;
2427 MenhirLib.EngineTypes.endp = _endpos__1_;
2428 MenhirLib.EngineTypes.next = _menhir_stack;
2429 };
2430 };
2431 } = _menhir_stack in
2432 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2433 let _2 : (
2434 # 103 "parser_cocci_menhir.mly"
2435 (Data.clt)
2436 # 2437 "parser_cocci_menhir.ml"
2437 ) = Obj.magic _2 in
2438 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2439 let _startpos = _startpos__1_ in
2440 let _endpos = _endpos__3_ in
2441 let _v : 'tv_arith_expr_eexpr_invalid_ =
2442 # 1351 "parser_cocci_menhir.mly"
2443 ( P.arith_op Ast.Mul _1 _2 _3 )
2444 # 2445 "parser_cocci_menhir.ml"
2445 in
2446 _menhir_env.MenhirLib.EngineTypes.stack <- {
2447 MenhirLib.EngineTypes.state = _menhir_s;
2448 MenhirLib.EngineTypes.semv = Obj.repr _v;
2449 MenhirLib.EngineTypes.startp = _startpos;
2450 MenhirLib.EngineTypes.endp = _endpos;
2451 MenhirLib.EngineTypes.next = _menhir_stack;
2452 });
2453 (fun _menhir_env ->
2454 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2455 let {
2456 MenhirLib.EngineTypes.semv = _3;
2457 MenhirLib.EngineTypes.startp = _startpos__3_;
2458 MenhirLib.EngineTypes.endp = _endpos__3_;
2459 MenhirLib.EngineTypes.next = {
2460 MenhirLib.EngineTypes.semv = _2;
2461 MenhirLib.EngineTypes.startp = _startpos__2_;
2462 MenhirLib.EngineTypes.endp = _endpos__2_;
2463 MenhirLib.EngineTypes.next = {
2464 MenhirLib.EngineTypes.state = _menhir_s;
2465 MenhirLib.EngineTypes.semv = _1;
2466 MenhirLib.EngineTypes.startp = _startpos__1_;
2467 MenhirLib.EngineTypes.endp = _endpos__1_;
2468 MenhirLib.EngineTypes.next = _menhir_stack;
2469 };
2470 };
2471 } = _menhir_stack in
2472 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2473 let _2 : (
2474 # 101 "parser_cocci_menhir.mly"
2475 (Ast_cocci.arithOp * Data.clt)
2476 # 2477 "parser_cocci_menhir.ml"
2477 ) = Obj.magic _2 in
2478 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2479 let _startpos = _startpos__1_ in
2480 let _endpos = _endpos__3_ in
2481 let _v : 'tv_arith_expr_eexpr_invalid_ =
2482 # 1353 "parser_cocci_menhir.mly"
2483 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2484 # 2485 "parser_cocci_menhir.ml"
2485 in
2486 _menhir_env.MenhirLib.EngineTypes.stack <- {
2487 MenhirLib.EngineTypes.state = _menhir_s;
2488 MenhirLib.EngineTypes.semv = Obj.repr _v;
2489 MenhirLib.EngineTypes.startp = _startpos;
2490 MenhirLib.EngineTypes.endp = _endpos;
2491 MenhirLib.EngineTypes.next = _menhir_stack;
2492 });
2493 (fun _menhir_env ->
2494 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2495 let {
2496 MenhirLib.EngineTypes.semv = _3;
2497 MenhirLib.EngineTypes.startp = _startpos__3_;
2498 MenhirLib.EngineTypes.endp = _endpos__3_;
2499 MenhirLib.EngineTypes.next = {
2500 MenhirLib.EngineTypes.semv = _2;
2501 MenhirLib.EngineTypes.startp = _startpos__2_;
2502 MenhirLib.EngineTypes.endp = _endpos__2_;
2503 MenhirLib.EngineTypes.next = {
2504 MenhirLib.EngineTypes.state = _menhir_s;
2505 MenhirLib.EngineTypes.semv = _1;
2506 MenhirLib.EngineTypes.startp = _startpos__1_;
2507 MenhirLib.EngineTypes.endp = _endpos__1_;
2508 MenhirLib.EngineTypes.next = _menhir_stack;
2509 };
2510 };
2511 } = _menhir_stack in
2512 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2513 let _2 : (
2514 # 102 "parser_cocci_menhir.mly"
2515 (Data.clt)
2516 # 2517 "parser_cocci_menhir.ml"
2517 ) = Obj.magic _2 in
2518 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2519 let _startpos = _startpos__1_ in
2520 let _endpos = _endpos__3_ in
2521 let _v : 'tv_arith_expr_eexpr_invalid_ =
2522 # 1355 "parser_cocci_menhir.mly"
2523 ( P.arith_op Ast.Plus _1 _2 _3 )
2524 # 2525 "parser_cocci_menhir.ml"
2525 in
2526 _menhir_env.MenhirLib.EngineTypes.stack <- {
2527 MenhirLib.EngineTypes.state = _menhir_s;
2528 MenhirLib.EngineTypes.semv = Obj.repr _v;
2529 MenhirLib.EngineTypes.startp = _startpos;
2530 MenhirLib.EngineTypes.endp = _endpos;
2531 MenhirLib.EngineTypes.next = _menhir_stack;
2532 });
2533 (fun _menhir_env ->
2534 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2535 let {
2536 MenhirLib.EngineTypes.semv = _3;
2537 MenhirLib.EngineTypes.startp = _startpos__3_;
2538 MenhirLib.EngineTypes.endp = _endpos__3_;
2539 MenhirLib.EngineTypes.next = {
2540 MenhirLib.EngineTypes.semv = _2;
2541 MenhirLib.EngineTypes.startp = _startpos__2_;
2542 MenhirLib.EngineTypes.endp = _endpos__2_;
2543 MenhirLib.EngineTypes.next = {
2544 MenhirLib.EngineTypes.state = _menhir_s;
2545 MenhirLib.EngineTypes.semv = _1;
2546 MenhirLib.EngineTypes.startp = _startpos__1_;
2547 MenhirLib.EngineTypes.endp = _endpos__1_;
2548 MenhirLib.EngineTypes.next = _menhir_stack;
2549 };
2550 };
2551 } = _menhir_stack in
2552 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2553 let _2 : (
2554 # 102 "parser_cocci_menhir.mly"
2555 (Data.clt)
2556 # 2557 "parser_cocci_menhir.ml"
2557 ) = Obj.magic _2 in
2558 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2559 let _startpos = _startpos__1_ in
2560 let _endpos = _endpos__3_ in
2561 let _v : 'tv_arith_expr_eexpr_invalid_ =
2562 # 1357 "parser_cocci_menhir.mly"
2563 ( P.arith_op Ast.Minus _1 _2 _3 )
2564 # 2565 "parser_cocci_menhir.ml"
2565 in
2566 _menhir_env.MenhirLib.EngineTypes.stack <- {
2567 MenhirLib.EngineTypes.state = _menhir_s;
2568 MenhirLib.EngineTypes.semv = Obj.repr _v;
2569 MenhirLib.EngineTypes.startp = _startpos;
2570 MenhirLib.EngineTypes.endp = _endpos;
2571 MenhirLib.EngineTypes.next = _menhir_stack;
2572 });
2573 (fun _menhir_env ->
2574 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2575 let {
2576 MenhirLib.EngineTypes.semv = _3;
2577 MenhirLib.EngineTypes.startp = _startpos__3_;
2578 MenhirLib.EngineTypes.endp = _endpos__3_;
2579 MenhirLib.EngineTypes.next = {
2580 MenhirLib.EngineTypes.semv = _2;
2581 MenhirLib.EngineTypes.startp = _startpos__2_;
2582 MenhirLib.EngineTypes.endp = _endpos__2_;
2583 MenhirLib.EngineTypes.next = {
2584 MenhirLib.EngineTypes.state = _menhir_s;
2585 MenhirLib.EngineTypes.semv = _1;
2586 MenhirLib.EngineTypes.startp = _startpos__1_;
2587 MenhirLib.EngineTypes.endp = _endpos__1_;
2588 MenhirLib.EngineTypes.next = _menhir_stack;
2589 };
2590 };
2591 } = _menhir_stack in
2592 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2593 let _2 : (
2594 # 100 "parser_cocci_menhir.mly"
2595 (Ast_cocci.arithOp * Data.clt)
2596 # 2597 "parser_cocci_menhir.ml"
2597 ) = Obj.magic _2 in
2598 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2599 let _startpos = _startpos__1_ in
2600 let _endpos = _endpos__3_ in
2601 let _v : 'tv_arith_expr_eexpr_invalid_ =
2602 # 1359 "parser_cocci_menhir.mly"
2603 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2604 # 2605 "parser_cocci_menhir.ml"
2605 in
2606 _menhir_env.MenhirLib.EngineTypes.stack <- {
2607 MenhirLib.EngineTypes.state = _menhir_s;
2608 MenhirLib.EngineTypes.semv = Obj.repr _v;
2609 MenhirLib.EngineTypes.startp = _startpos;
2610 MenhirLib.EngineTypes.endp = _endpos;
2611 MenhirLib.EngineTypes.next = _menhir_stack;
2612 });
2613 (fun _menhir_env ->
2614 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2615 let {
2616 MenhirLib.EngineTypes.semv = _3;
2617 MenhirLib.EngineTypes.startp = _startpos__3_;
2618 MenhirLib.EngineTypes.endp = _endpos__3_;
2619 MenhirLib.EngineTypes.next = {
2620 MenhirLib.EngineTypes.semv = _2;
2621 MenhirLib.EngineTypes.startp = _startpos__2_;
2622 MenhirLib.EngineTypes.endp = _endpos__2_;
2623 MenhirLib.EngineTypes.next = {
2624 MenhirLib.EngineTypes.state = _menhir_s;
2625 MenhirLib.EngineTypes.semv = _1;
2626 MenhirLib.EngineTypes.startp = _startpos__1_;
2627 MenhirLib.EngineTypes.endp = _endpos__1_;
2628 MenhirLib.EngineTypes.next = _menhir_stack;
2629 };
2630 };
2631 } = _menhir_stack in
2632 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2633 let _2 : (
2634 # 100 "parser_cocci_menhir.mly"
2635 (Ast_cocci.arithOp * Data.clt)
2636 # 2637 "parser_cocci_menhir.ml"
2637 ) = Obj.magic _2 in
2638 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2639 let _startpos = _startpos__1_ in
2640 let _endpos = _endpos__3_ in
2641 let _v : 'tv_arith_expr_eexpr_invalid_ =
2642 # 1361 "parser_cocci_menhir.mly"
2643 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
2644 # 2645 "parser_cocci_menhir.ml"
2645 in
2646 _menhir_env.MenhirLib.EngineTypes.stack <- {
2647 MenhirLib.EngineTypes.state = _menhir_s;
2648 MenhirLib.EngineTypes.semv = Obj.repr _v;
2649 MenhirLib.EngineTypes.startp = _startpos;
2650 MenhirLib.EngineTypes.endp = _endpos;
2651 MenhirLib.EngineTypes.next = _menhir_stack;
2652 });
2653 (fun _menhir_env ->
2654 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2655 let {
2656 MenhirLib.EngineTypes.semv = _3;
2657 MenhirLib.EngineTypes.startp = _startpos__3_;
2658 MenhirLib.EngineTypes.endp = _endpos__3_;
2659 MenhirLib.EngineTypes.next = {
2660 MenhirLib.EngineTypes.semv = _2;
2661 MenhirLib.EngineTypes.startp = _startpos__2_;
2662 MenhirLib.EngineTypes.endp = _endpos__2_;
2663 MenhirLib.EngineTypes.next = {
2664 MenhirLib.EngineTypes.state = _menhir_s;
2665 MenhirLib.EngineTypes.semv = _1;
2666 MenhirLib.EngineTypes.startp = _startpos__1_;
2667 MenhirLib.EngineTypes.endp = _endpos__1_;
2668 MenhirLib.EngineTypes.next = _menhir_stack;
2669 };
2670 };
2671 } = _menhir_stack in
2672 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2673 let _2 : (
2674 # 99 "parser_cocci_menhir.mly"
2675 (Ast_cocci.logicalOp * Data.clt)
2676 # 2677 "parser_cocci_menhir.ml"
2677 ) = Obj.magic _2 in
2678 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2679 let _startpos = _startpos__1_ in
2680 let _endpos = _endpos__3_ in
2681 let _v : 'tv_arith_expr_eexpr_invalid_ =
2682 # 1363 "parser_cocci_menhir.mly"
2683 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
2684 # 2685 "parser_cocci_menhir.ml"
2685 in
2686 _menhir_env.MenhirLib.EngineTypes.stack <- {
2687 MenhirLib.EngineTypes.state = _menhir_s;
2688 MenhirLib.EngineTypes.semv = Obj.repr _v;
2689 MenhirLib.EngineTypes.startp = _startpos;
2690 MenhirLib.EngineTypes.endp = _endpos;
2691 MenhirLib.EngineTypes.next = _menhir_stack;
2692 });
2693 (fun _menhir_env ->
2694 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2695 let {
2696 MenhirLib.EngineTypes.semv = _3;
2697 MenhirLib.EngineTypes.startp = _startpos__3_;
2698 MenhirLib.EngineTypes.endp = _endpos__3_;
2699 MenhirLib.EngineTypes.next = {
2700 MenhirLib.EngineTypes.semv = _2;
2701 MenhirLib.EngineTypes.startp = _startpos__2_;
2702 MenhirLib.EngineTypes.endp = _endpos__2_;
2703 MenhirLib.EngineTypes.next = {
2704 MenhirLib.EngineTypes.state = _menhir_s;
2705 MenhirLib.EngineTypes.semv = _1;
2706 MenhirLib.EngineTypes.startp = _startpos__1_;
2707 MenhirLib.EngineTypes.endp = _endpos__1_;
2708 MenhirLib.EngineTypes.next = _menhir_stack;
2709 };
2710 };
2711 } = _menhir_stack in
2712 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2713 let _2 : (
2714 # 98 "parser_cocci_menhir.mly"
2715 (Data.clt)
2716 # 2717 "parser_cocci_menhir.ml"
2717 ) = Obj.magic _2 in
2718 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2719 let _startpos = _startpos__1_ in
2720 let _endpos = _endpos__3_ in
2721 let _v : 'tv_arith_expr_eexpr_invalid_ =
2722 # 1365 "parser_cocci_menhir.mly"
2723 ( P.logic_op Ast.Eq _1 _2 _3 )
2724 # 2725 "parser_cocci_menhir.ml"
2725 in
2726 _menhir_env.MenhirLib.EngineTypes.stack <- {
2727 MenhirLib.EngineTypes.state = _menhir_s;
2728 MenhirLib.EngineTypes.semv = Obj.repr _v;
2729 MenhirLib.EngineTypes.startp = _startpos;
2730 MenhirLib.EngineTypes.endp = _endpos;
2731 MenhirLib.EngineTypes.next = _menhir_stack;
2732 });
2733 (fun _menhir_env ->
2734 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2735 let {
2736 MenhirLib.EngineTypes.semv = _3;
2737 MenhirLib.EngineTypes.startp = _startpos__3_;
2738 MenhirLib.EngineTypes.endp = _endpos__3_;
2739 MenhirLib.EngineTypes.next = {
2740 MenhirLib.EngineTypes.semv = _2;
2741 MenhirLib.EngineTypes.startp = _startpos__2_;
2742 MenhirLib.EngineTypes.endp = _endpos__2_;
2743 MenhirLib.EngineTypes.next = {
2744 MenhirLib.EngineTypes.state = _menhir_s;
2745 MenhirLib.EngineTypes.semv = _1;
2746 MenhirLib.EngineTypes.startp = _startpos__1_;
2747 MenhirLib.EngineTypes.endp = _endpos__1_;
2748 MenhirLib.EngineTypes.next = _menhir_stack;
2749 };
2750 };
2751 } = _menhir_stack in
2752 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2753 let _2 : (
2754 # 98 "parser_cocci_menhir.mly"
2755 (Data.clt)
2756 # 2757 "parser_cocci_menhir.ml"
2757 ) = Obj.magic _2 in
2758 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2759 let _startpos = _startpos__1_ in
2760 let _endpos = _endpos__3_ in
2761 let _v : 'tv_arith_expr_eexpr_invalid_ =
2762 # 1367 "parser_cocci_menhir.mly"
2763 ( P.logic_op Ast.NotEq _1 _2 _3 )
2764 # 2765 "parser_cocci_menhir.ml"
2765 in
2766 _menhir_env.MenhirLib.EngineTypes.stack <- {
2767 MenhirLib.EngineTypes.state = _menhir_s;
2768 MenhirLib.EngineTypes.semv = Obj.repr _v;
2769 MenhirLib.EngineTypes.startp = _startpos;
2770 MenhirLib.EngineTypes.endp = _endpos;
2771 MenhirLib.EngineTypes.next = _menhir_stack;
2772 });
2773 (fun _menhir_env ->
2774 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2775 let {
2776 MenhirLib.EngineTypes.semv = _3;
2777 MenhirLib.EngineTypes.startp = _startpos__3_;
2778 MenhirLib.EngineTypes.endp = _endpos__3_;
2779 MenhirLib.EngineTypes.next = {
2780 MenhirLib.EngineTypes.semv = _2;
2781 MenhirLib.EngineTypes.startp = _startpos__2_;
2782 MenhirLib.EngineTypes.endp = _endpos__2_;
2783 MenhirLib.EngineTypes.next = {
2784 MenhirLib.EngineTypes.state = _menhir_s;
2785 MenhirLib.EngineTypes.semv = _1;
2786 MenhirLib.EngineTypes.startp = _startpos__1_;
2787 MenhirLib.EngineTypes.endp = _endpos__1_;
2788 MenhirLib.EngineTypes.next = _menhir_stack;
2789 };
2790 };
2791 } = _menhir_stack in
2792 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2793 let _2 : (
2794 # 97 "parser_cocci_menhir.mly"
2795 (Data.clt)
2796 # 2797 "parser_cocci_menhir.ml"
2797 ) = Obj.magic _2 in
2798 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2799 let _startpos = _startpos__1_ in
2800 let _endpos = _endpos__3_ in
2801 let _v : 'tv_arith_expr_eexpr_invalid_ =
2802 # 1369 "parser_cocci_menhir.mly"
2803 ( P.arith_op Ast.And _1 _2 _3 )
2804 # 2805 "parser_cocci_menhir.ml"
2805 in
2806 _menhir_env.MenhirLib.EngineTypes.stack <- {
2807 MenhirLib.EngineTypes.state = _menhir_s;
2808 MenhirLib.EngineTypes.semv = Obj.repr _v;
2809 MenhirLib.EngineTypes.startp = _startpos;
2810 MenhirLib.EngineTypes.endp = _endpos;
2811 MenhirLib.EngineTypes.next = _menhir_stack;
2812 });
2813 (fun _menhir_env ->
2814 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2815 let {
2816 MenhirLib.EngineTypes.semv = _3;
2817 MenhirLib.EngineTypes.startp = _startpos__3_;
2818 MenhirLib.EngineTypes.endp = _endpos__3_;
2819 MenhirLib.EngineTypes.next = {
2820 MenhirLib.EngineTypes.semv = _2;
2821 MenhirLib.EngineTypes.startp = _startpos__2_;
2822 MenhirLib.EngineTypes.endp = _endpos__2_;
2823 MenhirLib.EngineTypes.next = {
2824 MenhirLib.EngineTypes.state = _menhir_s;
2825 MenhirLib.EngineTypes.semv = _1;
2826 MenhirLib.EngineTypes.startp = _startpos__1_;
2827 MenhirLib.EngineTypes.endp = _endpos__1_;
2828 MenhirLib.EngineTypes.next = _menhir_stack;
2829 };
2830 };
2831 } = _menhir_stack in
2832 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2833 let _2 : (
2834 # 95 "parser_cocci_menhir.mly"
2835 (Data.clt)
2836 # 2837 "parser_cocci_menhir.ml"
2837 ) = Obj.magic _2 in
2838 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2839 let _startpos = _startpos__1_ in
2840 let _endpos = _endpos__3_ in
2841 let _v : 'tv_arith_expr_eexpr_invalid_ =
2842 # 1371 "parser_cocci_menhir.mly"
2843 ( P.arith_op Ast.Or _1 _2 _3 )
2844 # 2845 "parser_cocci_menhir.ml"
2845 in
2846 _menhir_env.MenhirLib.EngineTypes.stack <- {
2847 MenhirLib.EngineTypes.state = _menhir_s;
2848 MenhirLib.EngineTypes.semv = Obj.repr _v;
2849 MenhirLib.EngineTypes.startp = _startpos;
2850 MenhirLib.EngineTypes.endp = _endpos;
2851 MenhirLib.EngineTypes.next = _menhir_stack;
2852 });
2853 (fun _menhir_env ->
2854 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2855 let {
2856 MenhirLib.EngineTypes.semv = _3;
2857 MenhirLib.EngineTypes.startp = _startpos__3_;
2858 MenhirLib.EngineTypes.endp = _endpos__3_;
2859 MenhirLib.EngineTypes.next = {
2860 MenhirLib.EngineTypes.semv = _2;
2861 MenhirLib.EngineTypes.startp = _startpos__2_;
2862 MenhirLib.EngineTypes.endp = _endpos__2_;
2863 MenhirLib.EngineTypes.next = {
2864 MenhirLib.EngineTypes.state = _menhir_s;
2865 MenhirLib.EngineTypes.semv = _1;
2866 MenhirLib.EngineTypes.startp = _startpos__1_;
2867 MenhirLib.EngineTypes.endp = _endpos__1_;
2868 MenhirLib.EngineTypes.next = _menhir_stack;
2869 };
2870 };
2871 } = _menhir_stack in
2872 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2873 let _2 : (
2874 # 96 "parser_cocci_menhir.mly"
2875 (Data.clt)
2876 # 2877 "parser_cocci_menhir.ml"
2877 ) = Obj.magic _2 in
2878 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2879 let _startpos = _startpos__1_ in
2880 let _endpos = _endpos__3_ in
2881 let _v : 'tv_arith_expr_eexpr_invalid_ =
2882 # 1373 "parser_cocci_menhir.mly"
2883 ( P.arith_op Ast.Xor _1 _2 _3 )
2884 # 2885 "parser_cocci_menhir.ml"
2885 in
2886 _menhir_env.MenhirLib.EngineTypes.stack <- {
2887 MenhirLib.EngineTypes.state = _menhir_s;
2888 MenhirLib.EngineTypes.semv = Obj.repr _v;
2889 MenhirLib.EngineTypes.startp = _startpos;
2890 MenhirLib.EngineTypes.endp = _endpos;
2891 MenhirLib.EngineTypes.next = _menhir_stack;
2892 });
2893 (fun _menhir_env ->
2894 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2895 let {
2896 MenhirLib.EngineTypes.semv = _3;
2897 MenhirLib.EngineTypes.startp = _startpos__3_;
2898 MenhirLib.EngineTypes.endp = _endpos__3_;
2899 MenhirLib.EngineTypes.next = {
2900 MenhirLib.EngineTypes.semv = _2;
2901 MenhirLib.EngineTypes.startp = _startpos__2_;
2902 MenhirLib.EngineTypes.endp = _endpos__2_;
2903 MenhirLib.EngineTypes.next = {
2904 MenhirLib.EngineTypes.state = _menhir_s;
2905 MenhirLib.EngineTypes.semv = _1;
2906 MenhirLib.EngineTypes.startp = _startpos__1_;
2907 MenhirLib.EngineTypes.endp = _endpos__1_;
2908 MenhirLib.EngineTypes.next = _menhir_stack;
2909 };
2910 };
2911 } = _menhir_stack in
2912 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2913 let _2 : (
2914 # 94 "parser_cocci_menhir.mly"
2915 (Data.clt)
2916 # 2917 "parser_cocci_menhir.ml"
2917 ) = Obj.magic _2 in
2918 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2919 let _startpos = _startpos__1_ in
2920 let _endpos = _endpos__3_ in
2921 let _v : 'tv_arith_expr_eexpr_invalid_ =
2922 # 1375 "parser_cocci_menhir.mly"
2923 ( P.logic_op Ast.AndLog _1 _2 _3 )
2924 # 2925 "parser_cocci_menhir.ml"
2925 in
2926 _menhir_env.MenhirLib.EngineTypes.stack <- {
2927 MenhirLib.EngineTypes.state = _menhir_s;
2928 MenhirLib.EngineTypes.semv = Obj.repr _v;
2929 MenhirLib.EngineTypes.startp = _startpos;
2930 MenhirLib.EngineTypes.endp = _endpos;
2931 MenhirLib.EngineTypes.next = _menhir_stack;
2932 });
2933 (fun _menhir_env ->
2934 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2935 let {
2936 MenhirLib.EngineTypes.semv = _3;
2937 MenhirLib.EngineTypes.startp = _startpos__3_;
2938 MenhirLib.EngineTypes.endp = _endpos__3_;
2939 MenhirLib.EngineTypes.next = {
2940 MenhirLib.EngineTypes.semv = _2;
2941 MenhirLib.EngineTypes.startp = _startpos__2_;
2942 MenhirLib.EngineTypes.endp = _endpos__2_;
2943 MenhirLib.EngineTypes.next = {
2944 MenhirLib.EngineTypes.state = _menhir_s;
2945 MenhirLib.EngineTypes.semv = _1;
2946 MenhirLib.EngineTypes.startp = _startpos__1_;
2947 MenhirLib.EngineTypes.endp = _endpos__1_;
2948 MenhirLib.EngineTypes.next = _menhir_stack;
2949 };
2950 };
2951 } = _menhir_stack in
2952 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
2953 let _2 : (
2954 # 93 "parser_cocci_menhir.mly"
2955 (Data.clt)
2956 # 2957 "parser_cocci_menhir.ml"
2957 ) = Obj.magic _2 in
2958 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
2959 let _startpos = _startpos__1_ in
2960 let _endpos = _endpos__3_ in
2961 let _v : 'tv_arith_expr_eexpr_invalid_ =
2962 # 1377 "parser_cocci_menhir.mly"
2963 ( P.logic_op Ast.OrLog _1 _2 _3 )
2964 # 2965 "parser_cocci_menhir.ml"
2965 in
2966 _menhir_env.MenhirLib.EngineTypes.stack <- {
2967 MenhirLib.EngineTypes.state = _menhir_s;
2968 MenhirLib.EngineTypes.semv = Obj.repr _v;
2969 MenhirLib.EngineTypes.startp = _startpos;
2970 MenhirLib.EngineTypes.endp = _endpos;
2971 MenhirLib.EngineTypes.next = _menhir_stack;
2972 });
2973 (fun _menhir_env ->
2974 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2975 let {
2976 MenhirLib.EngineTypes.state = _menhir_s;
2977 MenhirLib.EngineTypes.semv = _1;
2978 MenhirLib.EngineTypes.startp = _startpos__1_;
2979 MenhirLib.EngineTypes.endp = _endpos__1_;
2980 MenhirLib.EngineTypes.next = _menhir_stack;
2981 } = _menhir_stack in
2982 let _1 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _1 in
2983 let _startpos = _startpos__1_ in
2984 let _endpos = _endpos__1_ in
2985 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
2986 # 1349 "parser_cocci_menhir.mly"
2987 ( _1 )
2988 # 2989 "parser_cocci_menhir.ml"
2989 in
2990 _menhir_env.MenhirLib.EngineTypes.stack <- {
2991 MenhirLib.EngineTypes.state = _menhir_s;
2992 MenhirLib.EngineTypes.semv = Obj.repr _v;
2993 MenhirLib.EngineTypes.startp = _startpos;
2994 MenhirLib.EngineTypes.endp = _endpos;
2995 MenhirLib.EngineTypes.next = _menhir_stack;
2996 });
2997 (fun _menhir_env ->
2998 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
2999 let {
3000 MenhirLib.EngineTypes.semv = _3;
3001 MenhirLib.EngineTypes.startp = _startpos__3_;
3002 MenhirLib.EngineTypes.endp = _endpos__3_;
3003 MenhirLib.EngineTypes.next = {
3004 MenhirLib.EngineTypes.semv = _2;
3005 MenhirLib.EngineTypes.startp = _startpos__2_;
3006 MenhirLib.EngineTypes.endp = _endpos__2_;
3007 MenhirLib.EngineTypes.next = {
3008 MenhirLib.EngineTypes.state = _menhir_s;
3009 MenhirLib.EngineTypes.semv = _1;
3010 MenhirLib.EngineTypes.startp = _startpos__1_;
3011 MenhirLib.EngineTypes.endp = _endpos__1_;
3012 MenhirLib.EngineTypes.next = _menhir_stack;
3013 };
3014 };
3015 } = _menhir_stack in
3016 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3017 let _2 : (
3018 # 103 "parser_cocci_menhir.mly"
3019 (Data.clt)
3020 # 3021 "parser_cocci_menhir.ml"
3021 ) = Obj.magic _2 in
3022 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3023 let _startpos = _startpos__1_ in
3024 let _endpos = _endpos__3_ in
3025 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3026 # 1351 "parser_cocci_menhir.mly"
3027 ( P.arith_op Ast.Mul _1 _2 _3 )
3028 # 3029 "parser_cocci_menhir.ml"
3029 in
3030 _menhir_env.MenhirLib.EngineTypes.stack <- {
3031 MenhirLib.EngineTypes.state = _menhir_s;
3032 MenhirLib.EngineTypes.semv = Obj.repr _v;
3033 MenhirLib.EngineTypes.startp = _startpos;
3034 MenhirLib.EngineTypes.endp = _endpos;
3035 MenhirLib.EngineTypes.next = _menhir_stack;
3036 });
3037 (fun _menhir_env ->
3038 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3039 let {
3040 MenhirLib.EngineTypes.semv = _3;
3041 MenhirLib.EngineTypes.startp = _startpos__3_;
3042 MenhirLib.EngineTypes.endp = _endpos__3_;
3043 MenhirLib.EngineTypes.next = {
3044 MenhirLib.EngineTypes.semv = _2;
3045 MenhirLib.EngineTypes.startp = _startpos__2_;
3046 MenhirLib.EngineTypes.endp = _endpos__2_;
3047 MenhirLib.EngineTypes.next = {
3048 MenhirLib.EngineTypes.state = _menhir_s;
3049 MenhirLib.EngineTypes.semv = _1;
3050 MenhirLib.EngineTypes.startp = _startpos__1_;
3051 MenhirLib.EngineTypes.endp = _endpos__1_;
3052 MenhirLib.EngineTypes.next = _menhir_stack;
3053 };
3054 };
3055 } = _menhir_stack in
3056 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3057 let _2 : (
3058 # 101 "parser_cocci_menhir.mly"
3059 (Ast_cocci.arithOp * Data.clt)
3060 # 3061 "parser_cocci_menhir.ml"
3061 ) = Obj.magic _2 in
3062 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3063 let _startpos = _startpos__1_ in
3064 let _endpos = _endpos__3_ in
3065 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3066 # 1353 "parser_cocci_menhir.mly"
3067 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3068 # 3069 "parser_cocci_menhir.ml"
3069 in
3070 _menhir_env.MenhirLib.EngineTypes.stack <- {
3071 MenhirLib.EngineTypes.state = _menhir_s;
3072 MenhirLib.EngineTypes.semv = Obj.repr _v;
3073 MenhirLib.EngineTypes.startp = _startpos;
3074 MenhirLib.EngineTypes.endp = _endpos;
3075 MenhirLib.EngineTypes.next = _menhir_stack;
3076 });
3077 (fun _menhir_env ->
3078 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3079 let {
3080 MenhirLib.EngineTypes.semv = _3;
3081 MenhirLib.EngineTypes.startp = _startpos__3_;
3082 MenhirLib.EngineTypes.endp = _endpos__3_;
3083 MenhirLib.EngineTypes.next = {
3084 MenhirLib.EngineTypes.semv = _2;
3085 MenhirLib.EngineTypes.startp = _startpos__2_;
3086 MenhirLib.EngineTypes.endp = _endpos__2_;
3087 MenhirLib.EngineTypes.next = {
3088 MenhirLib.EngineTypes.state = _menhir_s;
3089 MenhirLib.EngineTypes.semv = _1;
3090 MenhirLib.EngineTypes.startp = _startpos__1_;
3091 MenhirLib.EngineTypes.endp = _endpos__1_;
3092 MenhirLib.EngineTypes.next = _menhir_stack;
3093 };
3094 };
3095 } = _menhir_stack in
3096 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3097 let _2 : (
3098 # 102 "parser_cocci_menhir.mly"
3099 (Data.clt)
3100 # 3101 "parser_cocci_menhir.ml"
3101 ) = Obj.magic _2 in
3102 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3103 let _startpos = _startpos__1_ in
3104 let _endpos = _endpos__3_ in
3105 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3106 # 1355 "parser_cocci_menhir.mly"
3107 ( P.arith_op Ast.Plus _1 _2 _3 )
3108 # 3109 "parser_cocci_menhir.ml"
3109 in
3110 _menhir_env.MenhirLib.EngineTypes.stack <- {
3111 MenhirLib.EngineTypes.state = _menhir_s;
3112 MenhirLib.EngineTypes.semv = Obj.repr _v;
3113 MenhirLib.EngineTypes.startp = _startpos;
3114 MenhirLib.EngineTypes.endp = _endpos;
3115 MenhirLib.EngineTypes.next = _menhir_stack;
3116 });
3117 (fun _menhir_env ->
3118 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3119 let {
3120 MenhirLib.EngineTypes.semv = _3;
3121 MenhirLib.EngineTypes.startp = _startpos__3_;
3122 MenhirLib.EngineTypes.endp = _endpos__3_;
3123 MenhirLib.EngineTypes.next = {
3124 MenhirLib.EngineTypes.semv = _2;
3125 MenhirLib.EngineTypes.startp = _startpos__2_;
3126 MenhirLib.EngineTypes.endp = _endpos__2_;
3127 MenhirLib.EngineTypes.next = {
3128 MenhirLib.EngineTypes.state = _menhir_s;
3129 MenhirLib.EngineTypes.semv = _1;
3130 MenhirLib.EngineTypes.startp = _startpos__1_;
3131 MenhirLib.EngineTypes.endp = _endpos__1_;
3132 MenhirLib.EngineTypes.next = _menhir_stack;
3133 };
3134 };
3135 } = _menhir_stack in
3136 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3137 let _2 : (
3138 # 102 "parser_cocci_menhir.mly"
3139 (Data.clt)
3140 # 3141 "parser_cocci_menhir.ml"
3141 ) = Obj.magic _2 in
3142 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3143 let _startpos = _startpos__1_ in
3144 let _endpos = _endpos__3_ in
3145 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3146 # 1357 "parser_cocci_menhir.mly"
3147 ( P.arith_op Ast.Minus _1 _2 _3 )
3148 # 3149 "parser_cocci_menhir.ml"
3149 in
3150 _menhir_env.MenhirLib.EngineTypes.stack <- {
3151 MenhirLib.EngineTypes.state = _menhir_s;
3152 MenhirLib.EngineTypes.semv = Obj.repr _v;
3153 MenhirLib.EngineTypes.startp = _startpos;
3154 MenhirLib.EngineTypes.endp = _endpos;
3155 MenhirLib.EngineTypes.next = _menhir_stack;
3156 });
3157 (fun _menhir_env ->
3158 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3159 let {
3160 MenhirLib.EngineTypes.semv = _3;
3161 MenhirLib.EngineTypes.startp = _startpos__3_;
3162 MenhirLib.EngineTypes.endp = _endpos__3_;
3163 MenhirLib.EngineTypes.next = {
3164 MenhirLib.EngineTypes.semv = _2;
3165 MenhirLib.EngineTypes.startp = _startpos__2_;
3166 MenhirLib.EngineTypes.endp = _endpos__2_;
3167 MenhirLib.EngineTypes.next = {
3168 MenhirLib.EngineTypes.state = _menhir_s;
3169 MenhirLib.EngineTypes.semv = _1;
3170 MenhirLib.EngineTypes.startp = _startpos__1_;
3171 MenhirLib.EngineTypes.endp = _endpos__1_;
3172 MenhirLib.EngineTypes.next = _menhir_stack;
3173 };
3174 };
3175 } = _menhir_stack in
3176 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3177 let _2 : (
3178 # 100 "parser_cocci_menhir.mly"
3179 (Ast_cocci.arithOp * Data.clt)
3180 # 3181 "parser_cocci_menhir.ml"
3181 ) = Obj.magic _2 in
3182 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3183 let _startpos = _startpos__1_ in
3184 let _endpos = _endpos__3_ in
3185 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3186 # 1359 "parser_cocci_menhir.mly"
3187 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3188 # 3189 "parser_cocci_menhir.ml"
3189 in
3190 _menhir_env.MenhirLib.EngineTypes.stack <- {
3191 MenhirLib.EngineTypes.state = _menhir_s;
3192 MenhirLib.EngineTypes.semv = Obj.repr _v;
3193 MenhirLib.EngineTypes.startp = _startpos;
3194 MenhirLib.EngineTypes.endp = _endpos;
3195 MenhirLib.EngineTypes.next = _menhir_stack;
3196 });
3197 (fun _menhir_env ->
3198 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3199 let {
3200 MenhirLib.EngineTypes.semv = _3;
3201 MenhirLib.EngineTypes.startp = _startpos__3_;
3202 MenhirLib.EngineTypes.endp = _endpos__3_;
3203 MenhirLib.EngineTypes.next = {
3204 MenhirLib.EngineTypes.semv = _2;
3205 MenhirLib.EngineTypes.startp = _startpos__2_;
3206 MenhirLib.EngineTypes.endp = _endpos__2_;
3207 MenhirLib.EngineTypes.next = {
3208 MenhirLib.EngineTypes.state = _menhir_s;
3209 MenhirLib.EngineTypes.semv = _1;
3210 MenhirLib.EngineTypes.startp = _startpos__1_;
3211 MenhirLib.EngineTypes.endp = _endpos__1_;
3212 MenhirLib.EngineTypes.next = _menhir_stack;
3213 };
3214 };
3215 } = _menhir_stack in
3216 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3217 let _2 : (
3218 # 100 "parser_cocci_menhir.mly"
3219 (Ast_cocci.arithOp * Data.clt)
3220 # 3221 "parser_cocci_menhir.ml"
3221 ) = Obj.magic _2 in
3222 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3223 let _startpos = _startpos__1_ in
3224 let _endpos = _endpos__3_ in
3225 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3226 # 1361 "parser_cocci_menhir.mly"
3227 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3228 # 3229 "parser_cocci_menhir.ml"
3229 in
3230 _menhir_env.MenhirLib.EngineTypes.stack <- {
3231 MenhirLib.EngineTypes.state = _menhir_s;
3232 MenhirLib.EngineTypes.semv = Obj.repr _v;
3233 MenhirLib.EngineTypes.startp = _startpos;
3234 MenhirLib.EngineTypes.endp = _endpos;
3235 MenhirLib.EngineTypes.next = _menhir_stack;
3236 });
3237 (fun _menhir_env ->
3238 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3239 let {
3240 MenhirLib.EngineTypes.semv = _3;
3241 MenhirLib.EngineTypes.startp = _startpos__3_;
3242 MenhirLib.EngineTypes.endp = _endpos__3_;
3243 MenhirLib.EngineTypes.next = {
3244 MenhirLib.EngineTypes.semv = _2;
3245 MenhirLib.EngineTypes.startp = _startpos__2_;
3246 MenhirLib.EngineTypes.endp = _endpos__2_;
3247 MenhirLib.EngineTypes.next = {
3248 MenhirLib.EngineTypes.state = _menhir_s;
3249 MenhirLib.EngineTypes.semv = _1;
3250 MenhirLib.EngineTypes.startp = _startpos__1_;
3251 MenhirLib.EngineTypes.endp = _endpos__1_;
3252 MenhirLib.EngineTypes.next = _menhir_stack;
3253 };
3254 };
3255 } = _menhir_stack in
3256 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3257 let _2 : (
3258 # 99 "parser_cocci_menhir.mly"
3259 (Ast_cocci.logicalOp * Data.clt)
3260 # 3261 "parser_cocci_menhir.ml"
3261 ) = Obj.magic _2 in
3262 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3263 let _startpos = _startpos__1_ in
3264 let _endpos = _endpos__3_ in
3265 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3266 # 1363 "parser_cocci_menhir.mly"
3267 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
3268 # 3269 "parser_cocci_menhir.ml"
3269 in
3270 _menhir_env.MenhirLib.EngineTypes.stack <- {
3271 MenhirLib.EngineTypes.state = _menhir_s;
3272 MenhirLib.EngineTypes.semv = Obj.repr _v;
3273 MenhirLib.EngineTypes.startp = _startpos;
3274 MenhirLib.EngineTypes.endp = _endpos;
3275 MenhirLib.EngineTypes.next = _menhir_stack;
3276 });
3277 (fun _menhir_env ->
3278 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3279 let {
3280 MenhirLib.EngineTypes.semv = _3;
3281 MenhirLib.EngineTypes.startp = _startpos__3_;
3282 MenhirLib.EngineTypes.endp = _endpos__3_;
3283 MenhirLib.EngineTypes.next = {
3284 MenhirLib.EngineTypes.semv = _2;
3285 MenhirLib.EngineTypes.startp = _startpos__2_;
3286 MenhirLib.EngineTypes.endp = _endpos__2_;
3287 MenhirLib.EngineTypes.next = {
3288 MenhirLib.EngineTypes.state = _menhir_s;
3289 MenhirLib.EngineTypes.semv = _1;
3290 MenhirLib.EngineTypes.startp = _startpos__1_;
3291 MenhirLib.EngineTypes.endp = _endpos__1_;
3292 MenhirLib.EngineTypes.next = _menhir_stack;
3293 };
3294 };
3295 } = _menhir_stack in
3296 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3297 let _2 : (
3298 # 98 "parser_cocci_menhir.mly"
3299 (Data.clt)
3300 # 3301 "parser_cocci_menhir.ml"
3301 ) = Obj.magic _2 in
3302 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3303 let _startpos = _startpos__1_ in
3304 let _endpos = _endpos__3_ in
3305 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3306 # 1365 "parser_cocci_menhir.mly"
3307 ( P.logic_op Ast.Eq _1 _2 _3 )
3308 # 3309 "parser_cocci_menhir.ml"
3309 in
3310 _menhir_env.MenhirLib.EngineTypes.stack <- {
3311 MenhirLib.EngineTypes.state = _menhir_s;
3312 MenhirLib.EngineTypes.semv = Obj.repr _v;
3313 MenhirLib.EngineTypes.startp = _startpos;
3314 MenhirLib.EngineTypes.endp = _endpos;
3315 MenhirLib.EngineTypes.next = _menhir_stack;
3316 });
3317 (fun _menhir_env ->
3318 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3319 let {
3320 MenhirLib.EngineTypes.semv = _3;
3321 MenhirLib.EngineTypes.startp = _startpos__3_;
3322 MenhirLib.EngineTypes.endp = _endpos__3_;
3323 MenhirLib.EngineTypes.next = {
3324 MenhirLib.EngineTypes.semv = _2;
3325 MenhirLib.EngineTypes.startp = _startpos__2_;
3326 MenhirLib.EngineTypes.endp = _endpos__2_;
3327 MenhirLib.EngineTypes.next = {
3328 MenhirLib.EngineTypes.state = _menhir_s;
3329 MenhirLib.EngineTypes.semv = _1;
3330 MenhirLib.EngineTypes.startp = _startpos__1_;
3331 MenhirLib.EngineTypes.endp = _endpos__1_;
3332 MenhirLib.EngineTypes.next = _menhir_stack;
3333 };
3334 };
3335 } = _menhir_stack in
3336 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3337 let _2 : (
3338 # 98 "parser_cocci_menhir.mly"
3339 (Data.clt)
3340 # 3341 "parser_cocci_menhir.ml"
3341 ) = Obj.magic _2 in
3342 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3343 let _startpos = _startpos__1_ in
3344 let _endpos = _endpos__3_ in
3345 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3346 # 1367 "parser_cocci_menhir.mly"
3347 ( P.logic_op Ast.NotEq _1 _2 _3 )
3348 # 3349 "parser_cocci_menhir.ml"
3349 in
3350 _menhir_env.MenhirLib.EngineTypes.stack <- {
3351 MenhirLib.EngineTypes.state = _menhir_s;
3352 MenhirLib.EngineTypes.semv = Obj.repr _v;
3353 MenhirLib.EngineTypes.startp = _startpos;
3354 MenhirLib.EngineTypes.endp = _endpos;
3355 MenhirLib.EngineTypes.next = _menhir_stack;
3356 });
3357 (fun _menhir_env ->
3358 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3359 let {
3360 MenhirLib.EngineTypes.semv = _3;
3361 MenhirLib.EngineTypes.startp = _startpos__3_;
3362 MenhirLib.EngineTypes.endp = _endpos__3_;
3363 MenhirLib.EngineTypes.next = {
3364 MenhirLib.EngineTypes.semv = _2;
3365 MenhirLib.EngineTypes.startp = _startpos__2_;
3366 MenhirLib.EngineTypes.endp = _endpos__2_;
3367 MenhirLib.EngineTypes.next = {
3368 MenhirLib.EngineTypes.state = _menhir_s;
3369 MenhirLib.EngineTypes.semv = _1;
3370 MenhirLib.EngineTypes.startp = _startpos__1_;
3371 MenhirLib.EngineTypes.endp = _endpos__1_;
3372 MenhirLib.EngineTypes.next = _menhir_stack;
3373 };
3374 };
3375 } = _menhir_stack in
3376 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3377 let _2 : (
3378 # 97 "parser_cocci_menhir.mly"
3379 (Data.clt)
3380 # 3381 "parser_cocci_menhir.ml"
3381 ) = Obj.magic _2 in
3382 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3383 let _startpos = _startpos__1_ in
3384 let _endpos = _endpos__3_ in
3385 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3386 # 1369 "parser_cocci_menhir.mly"
3387 ( P.arith_op Ast.And _1 _2 _3 )
3388 # 3389 "parser_cocci_menhir.ml"
3389 in
3390 _menhir_env.MenhirLib.EngineTypes.stack <- {
3391 MenhirLib.EngineTypes.state = _menhir_s;
3392 MenhirLib.EngineTypes.semv = Obj.repr _v;
3393 MenhirLib.EngineTypes.startp = _startpos;
3394 MenhirLib.EngineTypes.endp = _endpos;
3395 MenhirLib.EngineTypes.next = _menhir_stack;
3396 });
3397 (fun _menhir_env ->
3398 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3399 let {
3400 MenhirLib.EngineTypes.semv = _3;
3401 MenhirLib.EngineTypes.startp = _startpos__3_;
3402 MenhirLib.EngineTypes.endp = _endpos__3_;
3403 MenhirLib.EngineTypes.next = {
3404 MenhirLib.EngineTypes.semv = _2;
3405 MenhirLib.EngineTypes.startp = _startpos__2_;
3406 MenhirLib.EngineTypes.endp = _endpos__2_;
3407 MenhirLib.EngineTypes.next = {
3408 MenhirLib.EngineTypes.state = _menhir_s;
3409 MenhirLib.EngineTypes.semv = _1;
3410 MenhirLib.EngineTypes.startp = _startpos__1_;
3411 MenhirLib.EngineTypes.endp = _endpos__1_;
3412 MenhirLib.EngineTypes.next = _menhir_stack;
3413 };
3414 };
3415 } = _menhir_stack in
3416 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3417 let _2 : (
3418 # 95 "parser_cocci_menhir.mly"
3419 (Data.clt)
3420 # 3421 "parser_cocci_menhir.ml"
3421 ) = Obj.magic _2 in
3422 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3423 let _startpos = _startpos__1_ in
3424 let _endpos = _endpos__3_ in
3425 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3426 # 1371 "parser_cocci_menhir.mly"
3427 ( P.arith_op Ast.Or _1 _2 _3 )
3428 # 3429 "parser_cocci_menhir.ml"
3429 in
3430 _menhir_env.MenhirLib.EngineTypes.stack <- {
3431 MenhirLib.EngineTypes.state = _menhir_s;
3432 MenhirLib.EngineTypes.semv = Obj.repr _v;
3433 MenhirLib.EngineTypes.startp = _startpos;
3434 MenhirLib.EngineTypes.endp = _endpos;
3435 MenhirLib.EngineTypes.next = _menhir_stack;
3436 });
3437 (fun _menhir_env ->
3438 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3439 let {
3440 MenhirLib.EngineTypes.semv = _3;
3441 MenhirLib.EngineTypes.startp = _startpos__3_;
3442 MenhirLib.EngineTypes.endp = _endpos__3_;
3443 MenhirLib.EngineTypes.next = {
3444 MenhirLib.EngineTypes.semv = _2;
3445 MenhirLib.EngineTypes.startp = _startpos__2_;
3446 MenhirLib.EngineTypes.endp = _endpos__2_;
3447 MenhirLib.EngineTypes.next = {
3448 MenhirLib.EngineTypes.state = _menhir_s;
3449 MenhirLib.EngineTypes.semv = _1;
3450 MenhirLib.EngineTypes.startp = _startpos__1_;
3451 MenhirLib.EngineTypes.endp = _endpos__1_;
3452 MenhirLib.EngineTypes.next = _menhir_stack;
3453 };
3454 };
3455 } = _menhir_stack in
3456 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3457 let _2 : (
3458 # 96 "parser_cocci_menhir.mly"
3459 (Data.clt)
3460 # 3461 "parser_cocci_menhir.ml"
3461 ) = Obj.magic _2 in
3462 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3463 let _startpos = _startpos__1_ in
3464 let _endpos = _endpos__3_ in
3465 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3466 # 1373 "parser_cocci_menhir.mly"
3467 ( P.arith_op Ast.Xor _1 _2 _3 )
3468 # 3469 "parser_cocci_menhir.ml"
3469 in
3470 _menhir_env.MenhirLib.EngineTypes.stack <- {
3471 MenhirLib.EngineTypes.state = _menhir_s;
3472 MenhirLib.EngineTypes.semv = Obj.repr _v;
3473 MenhirLib.EngineTypes.startp = _startpos;
3474 MenhirLib.EngineTypes.endp = _endpos;
3475 MenhirLib.EngineTypes.next = _menhir_stack;
3476 });
3477 (fun _menhir_env ->
3478 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3479 let {
3480 MenhirLib.EngineTypes.semv = _3;
3481 MenhirLib.EngineTypes.startp = _startpos__3_;
3482 MenhirLib.EngineTypes.endp = _endpos__3_;
3483 MenhirLib.EngineTypes.next = {
3484 MenhirLib.EngineTypes.semv = _2;
3485 MenhirLib.EngineTypes.startp = _startpos__2_;
3486 MenhirLib.EngineTypes.endp = _endpos__2_;
3487 MenhirLib.EngineTypes.next = {
3488 MenhirLib.EngineTypes.state = _menhir_s;
3489 MenhirLib.EngineTypes.semv = _1;
3490 MenhirLib.EngineTypes.startp = _startpos__1_;
3491 MenhirLib.EngineTypes.endp = _endpos__1_;
3492 MenhirLib.EngineTypes.next = _menhir_stack;
3493 };
3494 };
3495 } = _menhir_stack in
3496 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3497 let _2 : (
3498 # 94 "parser_cocci_menhir.mly"
3499 (Data.clt)
3500 # 3501 "parser_cocci_menhir.ml"
3501 ) = Obj.magic _2 in
3502 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3503 let _startpos = _startpos__1_ in
3504 let _endpos = _endpos__3_ in
3505 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3506 # 1375 "parser_cocci_menhir.mly"
3507 ( P.logic_op Ast.AndLog _1 _2 _3 )
3508 # 3509 "parser_cocci_menhir.ml"
3509 in
3510 _menhir_env.MenhirLib.EngineTypes.stack <- {
3511 MenhirLib.EngineTypes.state = _menhir_s;
3512 MenhirLib.EngineTypes.semv = Obj.repr _v;
3513 MenhirLib.EngineTypes.startp = _startpos;
3514 MenhirLib.EngineTypes.endp = _endpos;
3515 MenhirLib.EngineTypes.next = _menhir_stack;
3516 });
3517 (fun _menhir_env ->
3518 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3519 let {
3520 MenhirLib.EngineTypes.semv = _3;
3521 MenhirLib.EngineTypes.startp = _startpos__3_;
3522 MenhirLib.EngineTypes.endp = _endpos__3_;
3523 MenhirLib.EngineTypes.next = {
3524 MenhirLib.EngineTypes.semv = _2;
3525 MenhirLib.EngineTypes.startp = _startpos__2_;
3526 MenhirLib.EngineTypes.endp = _endpos__2_;
3527 MenhirLib.EngineTypes.next = {
3528 MenhirLib.EngineTypes.state = _menhir_s;
3529 MenhirLib.EngineTypes.semv = _1;
3530 MenhirLib.EngineTypes.startp = _startpos__1_;
3531 MenhirLib.EngineTypes.endp = _endpos__1_;
3532 MenhirLib.EngineTypes.next = _menhir_stack;
3533 };
3534 };
3535 } = _menhir_stack in
3536 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3537 let _2 : (
3538 # 93 "parser_cocci_menhir.mly"
3539 (Data.clt)
3540 # 3541 "parser_cocci_menhir.ml"
3541 ) = Obj.magic _2 in
3542 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
3543 let _startpos = _startpos__1_ in
3544 let _endpos = _endpos__3_ in
3545 let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
3546 # 1377 "parser_cocci_menhir.mly"
3547 ( P.logic_op Ast.OrLog _1 _2 _3 )
3548 # 3549 "parser_cocci_menhir.ml"
3549 in
3550 _menhir_env.MenhirLib.EngineTypes.stack <- {
3551 MenhirLib.EngineTypes.state = _menhir_s;
3552 MenhirLib.EngineTypes.semv = Obj.repr _v;
3553 MenhirLib.EngineTypes.startp = _startpos;
3554 MenhirLib.EngineTypes.endp = _endpos;
3555 MenhirLib.EngineTypes.next = _menhir_stack;
3556 });
3557 (fun _menhir_env ->
3558 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3559 let {
3560 MenhirLib.EngineTypes.state = _menhir_s;
3561 MenhirLib.EngineTypes.semv = _1;
3562 MenhirLib.EngineTypes.startp = _startpos__1_;
3563 MenhirLib.EngineTypes.endp = _endpos__1_;
3564 MenhirLib.EngineTypes.next = _menhir_stack;
3565 } = _menhir_stack in
3566 let _1 : 'tv_cast_expr_expr_invalid_ = Obj.magic _1 in
3567 let _startpos = _startpos__1_ in
3568 let _endpos = _endpos__1_ in
3569 let _v : 'tv_arith_expr_expr_invalid_ =
3570 # 1349 "parser_cocci_menhir.mly"
3571 ( _1 )
3572 # 3573 "parser_cocci_menhir.ml"
3573 in
3574 _menhir_env.MenhirLib.EngineTypes.stack <- {
3575 MenhirLib.EngineTypes.state = _menhir_s;
3576 MenhirLib.EngineTypes.semv = Obj.repr _v;
3577 MenhirLib.EngineTypes.startp = _startpos;
3578 MenhirLib.EngineTypes.endp = _endpos;
3579 MenhirLib.EngineTypes.next = _menhir_stack;
3580 });
3581 (fun _menhir_env ->
3582 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3583 let {
3584 MenhirLib.EngineTypes.semv = _3;
3585 MenhirLib.EngineTypes.startp = _startpos__3_;
3586 MenhirLib.EngineTypes.endp = _endpos__3_;
3587 MenhirLib.EngineTypes.next = {
3588 MenhirLib.EngineTypes.semv = _2;
3589 MenhirLib.EngineTypes.startp = _startpos__2_;
3590 MenhirLib.EngineTypes.endp = _endpos__2_;
3591 MenhirLib.EngineTypes.next = {
3592 MenhirLib.EngineTypes.state = _menhir_s;
3593 MenhirLib.EngineTypes.semv = _1;
3594 MenhirLib.EngineTypes.startp = _startpos__1_;
3595 MenhirLib.EngineTypes.endp = _endpos__1_;
3596 MenhirLib.EngineTypes.next = _menhir_stack;
3597 };
3598 };
3599 } = _menhir_stack in
3600 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3601 let _2 : (
3602 # 103 "parser_cocci_menhir.mly"
3603 (Data.clt)
3604 # 3605 "parser_cocci_menhir.ml"
3605 ) = Obj.magic _2 in
3606 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3607 let _startpos = _startpos__1_ in
3608 let _endpos = _endpos__3_ in
3609 let _v : 'tv_arith_expr_expr_invalid_ =
3610 # 1351 "parser_cocci_menhir.mly"
3611 ( P.arith_op Ast.Mul _1 _2 _3 )
3612 # 3613 "parser_cocci_menhir.ml"
3613 in
3614 _menhir_env.MenhirLib.EngineTypes.stack <- {
3615 MenhirLib.EngineTypes.state = _menhir_s;
3616 MenhirLib.EngineTypes.semv = Obj.repr _v;
3617 MenhirLib.EngineTypes.startp = _startpos;
3618 MenhirLib.EngineTypes.endp = _endpos;
3619 MenhirLib.EngineTypes.next = _menhir_stack;
3620 });
3621 (fun _menhir_env ->
3622 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3623 let {
3624 MenhirLib.EngineTypes.semv = _3;
3625 MenhirLib.EngineTypes.startp = _startpos__3_;
3626 MenhirLib.EngineTypes.endp = _endpos__3_;
3627 MenhirLib.EngineTypes.next = {
3628 MenhirLib.EngineTypes.semv = _2;
3629 MenhirLib.EngineTypes.startp = _startpos__2_;
3630 MenhirLib.EngineTypes.endp = _endpos__2_;
3631 MenhirLib.EngineTypes.next = {
3632 MenhirLib.EngineTypes.state = _menhir_s;
3633 MenhirLib.EngineTypes.semv = _1;
3634 MenhirLib.EngineTypes.startp = _startpos__1_;
3635 MenhirLib.EngineTypes.endp = _endpos__1_;
3636 MenhirLib.EngineTypes.next = _menhir_stack;
3637 };
3638 };
3639 } = _menhir_stack in
3640 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3641 let _2 : (
3642 # 101 "parser_cocci_menhir.mly"
3643 (Ast_cocci.arithOp * Data.clt)
3644 # 3645 "parser_cocci_menhir.ml"
3645 ) = Obj.magic _2 in
3646 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3647 let _startpos = _startpos__1_ in
3648 let _endpos = _endpos__3_ in
3649 let _v : 'tv_arith_expr_expr_invalid_ =
3650 # 1353 "parser_cocci_menhir.mly"
3651 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3652 # 3653 "parser_cocci_menhir.ml"
3653 in
3654 _menhir_env.MenhirLib.EngineTypes.stack <- {
3655 MenhirLib.EngineTypes.state = _menhir_s;
3656 MenhirLib.EngineTypes.semv = Obj.repr _v;
3657 MenhirLib.EngineTypes.startp = _startpos;
3658 MenhirLib.EngineTypes.endp = _endpos;
3659 MenhirLib.EngineTypes.next = _menhir_stack;
3660 });
3661 (fun _menhir_env ->
3662 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3663 let {
3664 MenhirLib.EngineTypes.semv = _3;
3665 MenhirLib.EngineTypes.startp = _startpos__3_;
3666 MenhirLib.EngineTypes.endp = _endpos__3_;
3667 MenhirLib.EngineTypes.next = {
3668 MenhirLib.EngineTypes.semv = _2;
3669 MenhirLib.EngineTypes.startp = _startpos__2_;
3670 MenhirLib.EngineTypes.endp = _endpos__2_;
3671 MenhirLib.EngineTypes.next = {
3672 MenhirLib.EngineTypes.state = _menhir_s;
3673 MenhirLib.EngineTypes.semv = _1;
3674 MenhirLib.EngineTypes.startp = _startpos__1_;
3675 MenhirLib.EngineTypes.endp = _endpos__1_;
3676 MenhirLib.EngineTypes.next = _menhir_stack;
3677 };
3678 };
3679 } = _menhir_stack in
3680 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3681 let _2 : (
3682 # 102 "parser_cocci_menhir.mly"
3683 (Data.clt)
3684 # 3685 "parser_cocci_menhir.ml"
3685 ) = Obj.magic _2 in
3686 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3687 let _startpos = _startpos__1_ in
3688 let _endpos = _endpos__3_ in
3689 let _v : 'tv_arith_expr_expr_invalid_ =
3690 # 1355 "parser_cocci_menhir.mly"
3691 ( P.arith_op Ast.Plus _1 _2 _3 )
3692 # 3693 "parser_cocci_menhir.ml"
3693 in
3694 _menhir_env.MenhirLib.EngineTypes.stack <- {
3695 MenhirLib.EngineTypes.state = _menhir_s;
3696 MenhirLib.EngineTypes.semv = Obj.repr _v;
3697 MenhirLib.EngineTypes.startp = _startpos;
3698 MenhirLib.EngineTypes.endp = _endpos;
3699 MenhirLib.EngineTypes.next = _menhir_stack;
3700 });
3701 (fun _menhir_env ->
3702 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3703 let {
3704 MenhirLib.EngineTypes.semv = _3;
3705 MenhirLib.EngineTypes.startp = _startpos__3_;
3706 MenhirLib.EngineTypes.endp = _endpos__3_;
3707 MenhirLib.EngineTypes.next = {
3708 MenhirLib.EngineTypes.semv = _2;
3709 MenhirLib.EngineTypes.startp = _startpos__2_;
3710 MenhirLib.EngineTypes.endp = _endpos__2_;
3711 MenhirLib.EngineTypes.next = {
3712 MenhirLib.EngineTypes.state = _menhir_s;
3713 MenhirLib.EngineTypes.semv = _1;
3714 MenhirLib.EngineTypes.startp = _startpos__1_;
3715 MenhirLib.EngineTypes.endp = _endpos__1_;
3716 MenhirLib.EngineTypes.next = _menhir_stack;
3717 };
3718 };
3719 } = _menhir_stack in
3720 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3721 let _2 : (
3722 # 102 "parser_cocci_menhir.mly"
3723 (Data.clt)
3724 # 3725 "parser_cocci_menhir.ml"
3725 ) = Obj.magic _2 in
3726 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3727 let _startpos = _startpos__1_ in
3728 let _endpos = _endpos__3_ in
3729 let _v : 'tv_arith_expr_expr_invalid_ =
3730 # 1357 "parser_cocci_menhir.mly"
3731 ( P.arith_op Ast.Minus _1 _2 _3 )
3732 # 3733 "parser_cocci_menhir.ml"
3733 in
3734 _menhir_env.MenhirLib.EngineTypes.stack <- {
3735 MenhirLib.EngineTypes.state = _menhir_s;
3736 MenhirLib.EngineTypes.semv = Obj.repr _v;
3737 MenhirLib.EngineTypes.startp = _startpos;
3738 MenhirLib.EngineTypes.endp = _endpos;
3739 MenhirLib.EngineTypes.next = _menhir_stack;
3740 });
3741 (fun _menhir_env ->
3742 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3743 let {
3744 MenhirLib.EngineTypes.semv = _3;
3745 MenhirLib.EngineTypes.startp = _startpos__3_;
3746 MenhirLib.EngineTypes.endp = _endpos__3_;
3747 MenhirLib.EngineTypes.next = {
3748 MenhirLib.EngineTypes.semv = _2;
3749 MenhirLib.EngineTypes.startp = _startpos__2_;
3750 MenhirLib.EngineTypes.endp = _endpos__2_;
3751 MenhirLib.EngineTypes.next = {
3752 MenhirLib.EngineTypes.state = _menhir_s;
3753 MenhirLib.EngineTypes.semv = _1;
3754 MenhirLib.EngineTypes.startp = _startpos__1_;
3755 MenhirLib.EngineTypes.endp = _endpos__1_;
3756 MenhirLib.EngineTypes.next = _menhir_stack;
3757 };
3758 };
3759 } = _menhir_stack in
3760 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3761 let _2 : (
3762 # 100 "parser_cocci_menhir.mly"
3763 (Ast_cocci.arithOp * Data.clt)
3764 # 3765 "parser_cocci_menhir.ml"
3765 ) = Obj.magic _2 in
3766 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3767 let _startpos = _startpos__1_ in
3768 let _endpos = _endpos__3_ in
3769 let _v : 'tv_arith_expr_expr_invalid_ =
3770 # 1359 "parser_cocci_menhir.mly"
3771 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3772 # 3773 "parser_cocci_menhir.ml"
3773 in
3774 _menhir_env.MenhirLib.EngineTypes.stack <- {
3775 MenhirLib.EngineTypes.state = _menhir_s;
3776 MenhirLib.EngineTypes.semv = Obj.repr _v;
3777 MenhirLib.EngineTypes.startp = _startpos;
3778 MenhirLib.EngineTypes.endp = _endpos;
3779 MenhirLib.EngineTypes.next = _menhir_stack;
3780 });
3781 (fun _menhir_env ->
3782 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3783 let {
3784 MenhirLib.EngineTypes.semv = _3;
3785 MenhirLib.EngineTypes.startp = _startpos__3_;
3786 MenhirLib.EngineTypes.endp = _endpos__3_;
3787 MenhirLib.EngineTypes.next = {
3788 MenhirLib.EngineTypes.semv = _2;
3789 MenhirLib.EngineTypes.startp = _startpos__2_;
3790 MenhirLib.EngineTypes.endp = _endpos__2_;
3791 MenhirLib.EngineTypes.next = {
3792 MenhirLib.EngineTypes.state = _menhir_s;
3793 MenhirLib.EngineTypes.semv = _1;
3794 MenhirLib.EngineTypes.startp = _startpos__1_;
3795 MenhirLib.EngineTypes.endp = _endpos__1_;
3796 MenhirLib.EngineTypes.next = _menhir_stack;
3797 };
3798 };
3799 } = _menhir_stack in
3800 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3801 let _2 : (
3802 # 100 "parser_cocci_menhir.mly"
3803 (Ast_cocci.arithOp * Data.clt)
3804 # 3805 "parser_cocci_menhir.ml"
3805 ) = Obj.magic _2 in
3806 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3807 let _startpos = _startpos__1_ in
3808 let _endpos = _endpos__3_ in
3809 let _v : 'tv_arith_expr_expr_invalid_ =
3810 # 1361 "parser_cocci_menhir.mly"
3811 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
3812 # 3813 "parser_cocci_menhir.ml"
3813 in
3814 _menhir_env.MenhirLib.EngineTypes.stack <- {
3815 MenhirLib.EngineTypes.state = _menhir_s;
3816 MenhirLib.EngineTypes.semv = Obj.repr _v;
3817 MenhirLib.EngineTypes.startp = _startpos;
3818 MenhirLib.EngineTypes.endp = _endpos;
3819 MenhirLib.EngineTypes.next = _menhir_stack;
3820 });
3821 (fun _menhir_env ->
3822 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3823 let {
3824 MenhirLib.EngineTypes.semv = _3;
3825 MenhirLib.EngineTypes.startp = _startpos__3_;
3826 MenhirLib.EngineTypes.endp = _endpos__3_;
3827 MenhirLib.EngineTypes.next = {
3828 MenhirLib.EngineTypes.semv = _2;
3829 MenhirLib.EngineTypes.startp = _startpos__2_;
3830 MenhirLib.EngineTypes.endp = _endpos__2_;
3831 MenhirLib.EngineTypes.next = {
3832 MenhirLib.EngineTypes.state = _menhir_s;
3833 MenhirLib.EngineTypes.semv = _1;
3834 MenhirLib.EngineTypes.startp = _startpos__1_;
3835 MenhirLib.EngineTypes.endp = _endpos__1_;
3836 MenhirLib.EngineTypes.next = _menhir_stack;
3837 };
3838 };
3839 } = _menhir_stack in
3840 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3841 let _2 : (
3842 # 99 "parser_cocci_menhir.mly"
3843 (Ast_cocci.logicalOp * Data.clt)
3844 # 3845 "parser_cocci_menhir.ml"
3845 ) = Obj.magic _2 in
3846 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3847 let _startpos = _startpos__1_ in
3848 let _endpos = _endpos__3_ in
3849 let _v : 'tv_arith_expr_expr_invalid_ =
3850 # 1363 "parser_cocci_menhir.mly"
3851 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
3852 # 3853 "parser_cocci_menhir.ml"
3853 in
3854 _menhir_env.MenhirLib.EngineTypes.stack <- {
3855 MenhirLib.EngineTypes.state = _menhir_s;
3856 MenhirLib.EngineTypes.semv = Obj.repr _v;
3857 MenhirLib.EngineTypes.startp = _startpos;
3858 MenhirLib.EngineTypes.endp = _endpos;
3859 MenhirLib.EngineTypes.next = _menhir_stack;
3860 });
3861 (fun _menhir_env ->
3862 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3863 let {
3864 MenhirLib.EngineTypes.semv = _3;
3865 MenhirLib.EngineTypes.startp = _startpos__3_;
3866 MenhirLib.EngineTypes.endp = _endpos__3_;
3867 MenhirLib.EngineTypes.next = {
3868 MenhirLib.EngineTypes.semv = _2;
3869 MenhirLib.EngineTypes.startp = _startpos__2_;
3870 MenhirLib.EngineTypes.endp = _endpos__2_;
3871 MenhirLib.EngineTypes.next = {
3872 MenhirLib.EngineTypes.state = _menhir_s;
3873 MenhirLib.EngineTypes.semv = _1;
3874 MenhirLib.EngineTypes.startp = _startpos__1_;
3875 MenhirLib.EngineTypes.endp = _endpos__1_;
3876 MenhirLib.EngineTypes.next = _menhir_stack;
3877 };
3878 };
3879 } = _menhir_stack in
3880 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3881 let _2 : (
3882 # 98 "parser_cocci_menhir.mly"
3883 (Data.clt)
3884 # 3885 "parser_cocci_menhir.ml"
3885 ) = Obj.magic _2 in
3886 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3887 let _startpos = _startpos__1_ in
3888 let _endpos = _endpos__3_ in
3889 let _v : 'tv_arith_expr_expr_invalid_ =
3890 # 1365 "parser_cocci_menhir.mly"
3891 ( P.logic_op Ast.Eq _1 _2 _3 )
3892 # 3893 "parser_cocci_menhir.ml"
3893 in
3894 _menhir_env.MenhirLib.EngineTypes.stack <- {
3895 MenhirLib.EngineTypes.state = _menhir_s;
3896 MenhirLib.EngineTypes.semv = Obj.repr _v;
3897 MenhirLib.EngineTypes.startp = _startpos;
3898 MenhirLib.EngineTypes.endp = _endpos;
3899 MenhirLib.EngineTypes.next = _menhir_stack;
3900 });
3901 (fun _menhir_env ->
3902 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3903 let {
3904 MenhirLib.EngineTypes.semv = _3;
3905 MenhirLib.EngineTypes.startp = _startpos__3_;
3906 MenhirLib.EngineTypes.endp = _endpos__3_;
3907 MenhirLib.EngineTypes.next = {
3908 MenhirLib.EngineTypes.semv = _2;
3909 MenhirLib.EngineTypes.startp = _startpos__2_;
3910 MenhirLib.EngineTypes.endp = _endpos__2_;
3911 MenhirLib.EngineTypes.next = {
3912 MenhirLib.EngineTypes.state = _menhir_s;
3913 MenhirLib.EngineTypes.semv = _1;
3914 MenhirLib.EngineTypes.startp = _startpos__1_;
3915 MenhirLib.EngineTypes.endp = _endpos__1_;
3916 MenhirLib.EngineTypes.next = _menhir_stack;
3917 };
3918 };
3919 } = _menhir_stack in
3920 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3921 let _2 : (
3922 # 98 "parser_cocci_menhir.mly"
3923 (Data.clt)
3924 # 3925 "parser_cocci_menhir.ml"
3925 ) = Obj.magic _2 in
3926 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3927 let _startpos = _startpos__1_ in
3928 let _endpos = _endpos__3_ in
3929 let _v : 'tv_arith_expr_expr_invalid_ =
3930 # 1367 "parser_cocci_menhir.mly"
3931 ( P.logic_op Ast.NotEq _1 _2 _3 )
3932 # 3933 "parser_cocci_menhir.ml"
3933 in
3934 _menhir_env.MenhirLib.EngineTypes.stack <- {
3935 MenhirLib.EngineTypes.state = _menhir_s;
3936 MenhirLib.EngineTypes.semv = Obj.repr _v;
3937 MenhirLib.EngineTypes.startp = _startpos;
3938 MenhirLib.EngineTypes.endp = _endpos;
3939 MenhirLib.EngineTypes.next = _menhir_stack;
3940 });
3941 (fun _menhir_env ->
3942 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3943 let {
3944 MenhirLib.EngineTypes.semv = _3;
3945 MenhirLib.EngineTypes.startp = _startpos__3_;
3946 MenhirLib.EngineTypes.endp = _endpos__3_;
3947 MenhirLib.EngineTypes.next = {
3948 MenhirLib.EngineTypes.semv = _2;
3949 MenhirLib.EngineTypes.startp = _startpos__2_;
3950 MenhirLib.EngineTypes.endp = _endpos__2_;
3951 MenhirLib.EngineTypes.next = {
3952 MenhirLib.EngineTypes.state = _menhir_s;
3953 MenhirLib.EngineTypes.semv = _1;
3954 MenhirLib.EngineTypes.startp = _startpos__1_;
3955 MenhirLib.EngineTypes.endp = _endpos__1_;
3956 MenhirLib.EngineTypes.next = _menhir_stack;
3957 };
3958 };
3959 } = _menhir_stack in
3960 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
3961 let _2 : (
3962 # 97 "parser_cocci_menhir.mly"
3963 (Data.clt)
3964 # 3965 "parser_cocci_menhir.ml"
3965 ) = Obj.magic _2 in
3966 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
3967 let _startpos = _startpos__1_ in
3968 let _endpos = _endpos__3_ in
3969 let _v : 'tv_arith_expr_expr_invalid_ =
3970 # 1369 "parser_cocci_menhir.mly"
3971 ( P.arith_op Ast.And _1 _2 _3 )
3972 # 3973 "parser_cocci_menhir.ml"
3973 in
3974 _menhir_env.MenhirLib.EngineTypes.stack <- {
3975 MenhirLib.EngineTypes.state = _menhir_s;
3976 MenhirLib.EngineTypes.semv = Obj.repr _v;
3977 MenhirLib.EngineTypes.startp = _startpos;
3978 MenhirLib.EngineTypes.endp = _endpos;
3979 MenhirLib.EngineTypes.next = _menhir_stack;
3980 });
3981 (fun _menhir_env ->
3982 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
3983 let {
3984 MenhirLib.EngineTypes.semv = _3;
3985 MenhirLib.EngineTypes.startp = _startpos__3_;
3986 MenhirLib.EngineTypes.endp = _endpos__3_;
3987 MenhirLib.EngineTypes.next = {
3988 MenhirLib.EngineTypes.semv = _2;
3989 MenhirLib.EngineTypes.startp = _startpos__2_;
3990 MenhirLib.EngineTypes.endp = _endpos__2_;
3991 MenhirLib.EngineTypes.next = {
3992 MenhirLib.EngineTypes.state = _menhir_s;
3993 MenhirLib.EngineTypes.semv = _1;
3994 MenhirLib.EngineTypes.startp = _startpos__1_;
3995 MenhirLib.EngineTypes.endp = _endpos__1_;
3996 MenhirLib.EngineTypes.next = _menhir_stack;
3997 };
3998 };
3999 } = _menhir_stack in
4000 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4001 let _2 : (
4002 # 95 "parser_cocci_menhir.mly"
4003 (Data.clt)
4004 # 4005 "parser_cocci_menhir.ml"
4005 ) = Obj.magic _2 in
4006 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
4007 let _startpos = _startpos__1_ in
4008 let _endpos = _endpos__3_ in
4009 let _v : 'tv_arith_expr_expr_invalid_ =
4010 # 1371 "parser_cocci_menhir.mly"
4011 ( P.arith_op Ast.Or _1 _2 _3 )
4012 # 4013 "parser_cocci_menhir.ml"
4013 in
4014 _menhir_env.MenhirLib.EngineTypes.stack <- {
4015 MenhirLib.EngineTypes.state = _menhir_s;
4016 MenhirLib.EngineTypes.semv = Obj.repr _v;
4017 MenhirLib.EngineTypes.startp = _startpos;
4018 MenhirLib.EngineTypes.endp = _endpos;
4019 MenhirLib.EngineTypes.next = _menhir_stack;
4020 });
4021 (fun _menhir_env ->
4022 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4023 let {
4024 MenhirLib.EngineTypes.semv = _3;
4025 MenhirLib.EngineTypes.startp = _startpos__3_;
4026 MenhirLib.EngineTypes.endp = _endpos__3_;
4027 MenhirLib.EngineTypes.next = {
4028 MenhirLib.EngineTypes.semv = _2;
4029 MenhirLib.EngineTypes.startp = _startpos__2_;
4030 MenhirLib.EngineTypes.endp = _endpos__2_;
4031 MenhirLib.EngineTypes.next = {
4032 MenhirLib.EngineTypes.state = _menhir_s;
4033 MenhirLib.EngineTypes.semv = _1;
4034 MenhirLib.EngineTypes.startp = _startpos__1_;
4035 MenhirLib.EngineTypes.endp = _endpos__1_;
4036 MenhirLib.EngineTypes.next = _menhir_stack;
4037 };
4038 };
4039 } = _menhir_stack in
4040 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4041 let _2 : (
4042 # 96 "parser_cocci_menhir.mly"
4043 (Data.clt)
4044 # 4045 "parser_cocci_menhir.ml"
4045 ) = Obj.magic _2 in
4046 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
4047 let _startpos = _startpos__1_ in
4048 let _endpos = _endpos__3_ in
4049 let _v : 'tv_arith_expr_expr_invalid_ =
4050 # 1373 "parser_cocci_menhir.mly"
4051 ( P.arith_op Ast.Xor _1 _2 _3 )
4052 # 4053 "parser_cocci_menhir.ml"
4053 in
4054 _menhir_env.MenhirLib.EngineTypes.stack <- {
4055 MenhirLib.EngineTypes.state = _menhir_s;
4056 MenhirLib.EngineTypes.semv = Obj.repr _v;
4057 MenhirLib.EngineTypes.startp = _startpos;
4058 MenhirLib.EngineTypes.endp = _endpos;
4059 MenhirLib.EngineTypes.next = _menhir_stack;
4060 });
4061 (fun _menhir_env ->
4062 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4063 let {
4064 MenhirLib.EngineTypes.semv = _3;
4065 MenhirLib.EngineTypes.startp = _startpos__3_;
4066 MenhirLib.EngineTypes.endp = _endpos__3_;
4067 MenhirLib.EngineTypes.next = {
4068 MenhirLib.EngineTypes.semv = _2;
4069 MenhirLib.EngineTypes.startp = _startpos__2_;
4070 MenhirLib.EngineTypes.endp = _endpos__2_;
4071 MenhirLib.EngineTypes.next = {
4072 MenhirLib.EngineTypes.state = _menhir_s;
4073 MenhirLib.EngineTypes.semv = _1;
4074 MenhirLib.EngineTypes.startp = _startpos__1_;
4075 MenhirLib.EngineTypes.endp = _endpos__1_;
4076 MenhirLib.EngineTypes.next = _menhir_stack;
4077 };
4078 };
4079 } = _menhir_stack in
4080 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4081 let _2 : (
4082 # 94 "parser_cocci_menhir.mly"
4083 (Data.clt)
4084 # 4085 "parser_cocci_menhir.ml"
4085 ) = Obj.magic _2 in
4086 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
4087 let _startpos = _startpos__1_ in
4088 let _endpos = _endpos__3_ in
4089 let _v : 'tv_arith_expr_expr_invalid_ =
4090 # 1375 "parser_cocci_menhir.mly"
4091 ( P.logic_op Ast.AndLog _1 _2 _3 )
4092 # 4093 "parser_cocci_menhir.ml"
4093 in
4094 _menhir_env.MenhirLib.EngineTypes.stack <- {
4095 MenhirLib.EngineTypes.state = _menhir_s;
4096 MenhirLib.EngineTypes.semv = Obj.repr _v;
4097 MenhirLib.EngineTypes.startp = _startpos;
4098 MenhirLib.EngineTypes.endp = _endpos;
4099 MenhirLib.EngineTypes.next = _menhir_stack;
4100 });
4101 (fun _menhir_env ->
4102 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4103 let {
4104 MenhirLib.EngineTypes.semv = _3;
4105 MenhirLib.EngineTypes.startp = _startpos__3_;
4106 MenhirLib.EngineTypes.endp = _endpos__3_;
4107 MenhirLib.EngineTypes.next = {
4108 MenhirLib.EngineTypes.semv = _2;
4109 MenhirLib.EngineTypes.startp = _startpos__2_;
4110 MenhirLib.EngineTypes.endp = _endpos__2_;
4111 MenhirLib.EngineTypes.next = {
4112 MenhirLib.EngineTypes.state = _menhir_s;
4113 MenhirLib.EngineTypes.semv = _1;
4114 MenhirLib.EngineTypes.startp = _startpos__1_;
4115 MenhirLib.EngineTypes.endp = _endpos__1_;
4116 MenhirLib.EngineTypes.next = _menhir_stack;
4117 };
4118 };
4119 } = _menhir_stack in
4120 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4121 let _2 : (
4122 # 93 "parser_cocci_menhir.mly"
4123 (Data.clt)
4124 # 4125 "parser_cocci_menhir.ml"
4125 ) = Obj.magic _2 in
4126 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
4127 let _startpos = _startpos__1_ in
4128 let _endpos = _endpos__3_ in
4129 let _v : 'tv_arith_expr_expr_invalid_ =
4130 # 1377 "parser_cocci_menhir.mly"
4131 ( P.logic_op Ast.OrLog _1 _2 _3 )
4132 # 4133 "parser_cocci_menhir.ml"
4133 in
4134 _menhir_env.MenhirLib.EngineTypes.stack <- {
4135 MenhirLib.EngineTypes.state = _menhir_s;
4136 MenhirLib.EngineTypes.semv = Obj.repr _v;
4137 MenhirLib.EngineTypes.startp = _startpos;
4138 MenhirLib.EngineTypes.endp = _endpos;
4139 MenhirLib.EngineTypes.next = _menhir_stack;
4140 });
4141 (fun _menhir_env ->
4142 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4143 let {
4144 MenhirLib.EngineTypes.state = _menhir_s;
4145 MenhirLib.EngineTypes.semv = _1;
4146 MenhirLib.EngineTypes.startp = _startpos__1_;
4147 MenhirLib.EngineTypes.endp = _endpos__1_;
4148 MenhirLib.EngineTypes.next = _menhir_stack;
4149 } = _menhir_stack in
4150 let _1 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4151 let _startpos = _startpos__1_ in
4152 let _endpos = _endpos__1_ in
4153 let _v : 'tv_arith_expr_bis =
4154 # 1382 "parser_cocci_menhir.mly"
4155 ( _1 )
4156 # 4157 "parser_cocci_menhir.ml"
4157 in
4158 _menhir_env.MenhirLib.EngineTypes.stack <- {
4159 MenhirLib.EngineTypes.state = _menhir_s;
4160 MenhirLib.EngineTypes.semv = Obj.repr _v;
4161 MenhirLib.EngineTypes.startp = _startpos;
4162 MenhirLib.EngineTypes.endp = _endpos;
4163 MenhirLib.EngineTypes.next = _menhir_stack;
4164 });
4165 (fun _menhir_env ->
4166 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4167 let {
4168 MenhirLib.EngineTypes.semv = _3;
4169 MenhirLib.EngineTypes.startp = _startpos__3_;
4170 MenhirLib.EngineTypes.endp = _endpos__3_;
4171 MenhirLib.EngineTypes.next = {
4172 MenhirLib.EngineTypes.semv = _2;
4173 MenhirLib.EngineTypes.startp = _startpos__2_;
4174 MenhirLib.EngineTypes.endp = _endpos__2_;
4175 MenhirLib.EngineTypes.next = {
4176 MenhirLib.EngineTypes.state = _menhir_s;
4177 MenhirLib.EngineTypes.semv = _1;
4178 MenhirLib.EngineTypes.startp = _startpos__1_;
4179 MenhirLib.EngineTypes.endp = _endpos__1_;
4180 MenhirLib.EngineTypes.next = _menhir_stack;
4181 };
4182 };
4183 } = _menhir_stack in
4184 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4185 let _2 : (
4186 # 103 "parser_cocci_menhir.mly"
4187 (Data.clt)
4188 # 4189 "parser_cocci_menhir.ml"
4189 ) = Obj.magic _2 in
4190 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4191 let _startpos = _startpos__1_ in
4192 let _endpos = _endpos__3_ in
4193 let _v : 'tv_arith_expr_bis =
4194 # 1384 "parser_cocci_menhir.mly"
4195 ( P.arith_op Ast.Mul _1 _2 _3 )
4196 # 4197 "parser_cocci_menhir.ml"
4197 in
4198 _menhir_env.MenhirLib.EngineTypes.stack <- {
4199 MenhirLib.EngineTypes.state = _menhir_s;
4200 MenhirLib.EngineTypes.semv = Obj.repr _v;
4201 MenhirLib.EngineTypes.startp = _startpos;
4202 MenhirLib.EngineTypes.endp = _endpos;
4203 MenhirLib.EngineTypes.next = _menhir_stack;
4204 });
4205 (fun _menhir_env ->
4206 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4207 let {
4208 MenhirLib.EngineTypes.semv = _3;
4209 MenhirLib.EngineTypes.startp = _startpos__3_;
4210 MenhirLib.EngineTypes.endp = _endpos__3_;
4211 MenhirLib.EngineTypes.next = {
4212 MenhirLib.EngineTypes.semv = _2;
4213 MenhirLib.EngineTypes.startp = _startpos__2_;
4214 MenhirLib.EngineTypes.endp = _endpos__2_;
4215 MenhirLib.EngineTypes.next = {
4216 MenhirLib.EngineTypes.state = _menhir_s;
4217 MenhirLib.EngineTypes.semv = _1;
4218 MenhirLib.EngineTypes.startp = _startpos__1_;
4219 MenhirLib.EngineTypes.endp = _endpos__1_;
4220 MenhirLib.EngineTypes.next = _menhir_stack;
4221 };
4222 };
4223 } = _menhir_stack in
4224 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4225 let _2 : (
4226 # 101 "parser_cocci_menhir.mly"
4227 (Ast_cocci.arithOp * Data.clt)
4228 # 4229 "parser_cocci_menhir.ml"
4229 ) = Obj.magic _2 in
4230 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4231 let _startpos = _startpos__1_ in
4232 let _endpos = _endpos__3_ in
4233 let _v : 'tv_arith_expr_bis =
4234 # 1386 "parser_cocci_menhir.mly"
4235 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
4236 # 4237 "parser_cocci_menhir.ml"
4237 in
4238 _menhir_env.MenhirLib.EngineTypes.stack <- {
4239 MenhirLib.EngineTypes.state = _menhir_s;
4240 MenhirLib.EngineTypes.semv = Obj.repr _v;
4241 MenhirLib.EngineTypes.startp = _startpos;
4242 MenhirLib.EngineTypes.endp = _endpos;
4243 MenhirLib.EngineTypes.next = _menhir_stack;
4244 });
4245 (fun _menhir_env ->
4246 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4247 let {
4248 MenhirLib.EngineTypes.semv = _3;
4249 MenhirLib.EngineTypes.startp = _startpos__3_;
4250 MenhirLib.EngineTypes.endp = _endpos__3_;
4251 MenhirLib.EngineTypes.next = {
4252 MenhirLib.EngineTypes.semv = _2;
4253 MenhirLib.EngineTypes.startp = _startpos__2_;
4254 MenhirLib.EngineTypes.endp = _endpos__2_;
4255 MenhirLib.EngineTypes.next = {
4256 MenhirLib.EngineTypes.state = _menhir_s;
4257 MenhirLib.EngineTypes.semv = _1;
4258 MenhirLib.EngineTypes.startp = _startpos__1_;
4259 MenhirLib.EngineTypes.endp = _endpos__1_;
4260 MenhirLib.EngineTypes.next = _menhir_stack;
4261 };
4262 };
4263 } = _menhir_stack in
4264 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4265 let _2 : (
4266 # 102 "parser_cocci_menhir.mly"
4267 (Data.clt)
4268 # 4269 "parser_cocci_menhir.ml"
4269 ) = Obj.magic _2 in
4270 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4271 let _startpos = _startpos__1_ in
4272 let _endpos = _endpos__3_ in
4273 let _v : 'tv_arith_expr_bis =
4274 # 1388 "parser_cocci_menhir.mly"
4275 ( P.arith_op Ast.Plus _1 _2 _3 )
4276 # 4277 "parser_cocci_menhir.ml"
4277 in
4278 _menhir_env.MenhirLib.EngineTypes.stack <- {
4279 MenhirLib.EngineTypes.state = _menhir_s;
4280 MenhirLib.EngineTypes.semv = Obj.repr _v;
4281 MenhirLib.EngineTypes.startp = _startpos;
4282 MenhirLib.EngineTypes.endp = _endpos;
4283 MenhirLib.EngineTypes.next = _menhir_stack;
4284 });
4285 (fun _menhir_env ->
4286 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4287 let {
4288 MenhirLib.EngineTypes.semv = _3;
4289 MenhirLib.EngineTypes.startp = _startpos__3_;
4290 MenhirLib.EngineTypes.endp = _endpos__3_;
4291 MenhirLib.EngineTypes.next = {
4292 MenhirLib.EngineTypes.semv = _2;
4293 MenhirLib.EngineTypes.startp = _startpos__2_;
4294 MenhirLib.EngineTypes.endp = _endpos__2_;
4295 MenhirLib.EngineTypes.next = {
4296 MenhirLib.EngineTypes.state = _menhir_s;
4297 MenhirLib.EngineTypes.semv = _1;
4298 MenhirLib.EngineTypes.startp = _startpos__1_;
4299 MenhirLib.EngineTypes.endp = _endpos__1_;
4300 MenhirLib.EngineTypes.next = _menhir_stack;
4301 };
4302 };
4303 } = _menhir_stack in
4304 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4305 let _2 : (
4306 # 102 "parser_cocci_menhir.mly"
4307 (Data.clt)
4308 # 4309 "parser_cocci_menhir.ml"
4309 ) = Obj.magic _2 in
4310 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4311 let _startpos = _startpos__1_ in
4312 let _endpos = _endpos__3_ in
4313 let _v : 'tv_arith_expr_bis =
4314 # 1390 "parser_cocci_menhir.mly"
4315 ( P.arith_op Ast.Minus _1 _2 _3 )
4316 # 4317 "parser_cocci_menhir.ml"
4317 in
4318 _menhir_env.MenhirLib.EngineTypes.stack <- {
4319 MenhirLib.EngineTypes.state = _menhir_s;
4320 MenhirLib.EngineTypes.semv = Obj.repr _v;
4321 MenhirLib.EngineTypes.startp = _startpos;
4322 MenhirLib.EngineTypes.endp = _endpos;
4323 MenhirLib.EngineTypes.next = _menhir_stack;
4324 });
4325 (fun _menhir_env ->
4326 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4327 let {
4328 MenhirLib.EngineTypes.semv = _3;
4329 MenhirLib.EngineTypes.startp = _startpos__3_;
4330 MenhirLib.EngineTypes.endp = _endpos__3_;
4331 MenhirLib.EngineTypes.next = {
4332 MenhirLib.EngineTypes.semv = _2;
4333 MenhirLib.EngineTypes.startp = _startpos__2_;
4334 MenhirLib.EngineTypes.endp = _endpos__2_;
4335 MenhirLib.EngineTypes.next = {
4336 MenhirLib.EngineTypes.state = _menhir_s;
4337 MenhirLib.EngineTypes.semv = _1;
4338 MenhirLib.EngineTypes.startp = _startpos__1_;
4339 MenhirLib.EngineTypes.endp = _endpos__1_;
4340 MenhirLib.EngineTypes.next = _menhir_stack;
4341 };
4342 };
4343 } = _menhir_stack in
4344 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4345 let _2 : (
4346 # 100 "parser_cocci_menhir.mly"
4347 (Ast_cocci.arithOp * Data.clt)
4348 # 4349 "parser_cocci_menhir.ml"
4349 ) = Obj.magic _2 in
4350 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4351 let _startpos = _startpos__1_ in
4352 let _endpos = _endpos__3_ in
4353 let _v : 'tv_arith_expr_bis =
4354 # 1392 "parser_cocci_menhir.mly"
4355 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
4356 # 4357 "parser_cocci_menhir.ml"
4357 in
4358 _menhir_env.MenhirLib.EngineTypes.stack <- {
4359 MenhirLib.EngineTypes.state = _menhir_s;
4360 MenhirLib.EngineTypes.semv = Obj.repr _v;
4361 MenhirLib.EngineTypes.startp = _startpos;
4362 MenhirLib.EngineTypes.endp = _endpos;
4363 MenhirLib.EngineTypes.next = _menhir_stack;
4364 });
4365 (fun _menhir_env ->
4366 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4367 let {
4368 MenhirLib.EngineTypes.semv = _3;
4369 MenhirLib.EngineTypes.startp = _startpos__3_;
4370 MenhirLib.EngineTypes.endp = _endpos__3_;
4371 MenhirLib.EngineTypes.next = {
4372 MenhirLib.EngineTypes.semv = _2;
4373 MenhirLib.EngineTypes.startp = _startpos__2_;
4374 MenhirLib.EngineTypes.endp = _endpos__2_;
4375 MenhirLib.EngineTypes.next = {
4376 MenhirLib.EngineTypes.state = _menhir_s;
4377 MenhirLib.EngineTypes.semv = _1;
4378 MenhirLib.EngineTypes.startp = _startpos__1_;
4379 MenhirLib.EngineTypes.endp = _endpos__1_;
4380 MenhirLib.EngineTypes.next = _menhir_stack;
4381 };
4382 };
4383 } = _menhir_stack in
4384 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4385 let _2 : (
4386 # 100 "parser_cocci_menhir.mly"
4387 (Ast_cocci.arithOp * Data.clt)
4388 # 4389 "parser_cocci_menhir.ml"
4389 ) = Obj.magic _2 in
4390 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4391 let _startpos = _startpos__1_ in
4392 let _endpos = _endpos__3_ in
4393 let _v : 'tv_arith_expr_bis =
4394 # 1394 "parser_cocci_menhir.mly"
4395 ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
4396 # 4397 "parser_cocci_menhir.ml"
4397 in
4398 _menhir_env.MenhirLib.EngineTypes.stack <- {
4399 MenhirLib.EngineTypes.state = _menhir_s;
4400 MenhirLib.EngineTypes.semv = Obj.repr _v;
4401 MenhirLib.EngineTypes.startp = _startpos;
4402 MenhirLib.EngineTypes.endp = _endpos;
4403 MenhirLib.EngineTypes.next = _menhir_stack;
4404 });
4405 (fun _menhir_env ->
4406 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4407 let {
4408 MenhirLib.EngineTypes.semv = _3;
4409 MenhirLib.EngineTypes.startp = _startpos__3_;
4410 MenhirLib.EngineTypes.endp = _endpos__3_;
4411 MenhirLib.EngineTypes.next = {
4412 MenhirLib.EngineTypes.semv = _2;
4413 MenhirLib.EngineTypes.startp = _startpos__2_;
4414 MenhirLib.EngineTypes.endp = _endpos__2_;
4415 MenhirLib.EngineTypes.next = {
4416 MenhirLib.EngineTypes.state = _menhir_s;
4417 MenhirLib.EngineTypes.semv = _1;
4418 MenhirLib.EngineTypes.startp = _startpos__1_;
4419 MenhirLib.EngineTypes.endp = _endpos__1_;
4420 MenhirLib.EngineTypes.next = _menhir_stack;
4421 };
4422 };
4423 } = _menhir_stack in
4424 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4425 let _2 : (
4426 # 99 "parser_cocci_menhir.mly"
4427 (Ast_cocci.logicalOp * Data.clt)
4428 # 4429 "parser_cocci_menhir.ml"
4429 ) = Obj.magic _2 in
4430 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4431 let _startpos = _startpos__1_ in
4432 let _endpos = _endpos__3_ in
4433 let _v : 'tv_arith_expr_bis =
4434 # 1396 "parser_cocci_menhir.mly"
4435 ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
4436 # 4437 "parser_cocci_menhir.ml"
4437 in
4438 _menhir_env.MenhirLib.EngineTypes.stack <- {
4439 MenhirLib.EngineTypes.state = _menhir_s;
4440 MenhirLib.EngineTypes.semv = Obj.repr _v;
4441 MenhirLib.EngineTypes.startp = _startpos;
4442 MenhirLib.EngineTypes.endp = _endpos;
4443 MenhirLib.EngineTypes.next = _menhir_stack;
4444 });
4445 (fun _menhir_env ->
4446 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4447 let {
4448 MenhirLib.EngineTypes.semv = _3;
4449 MenhirLib.EngineTypes.startp = _startpos__3_;
4450 MenhirLib.EngineTypes.endp = _endpos__3_;
4451 MenhirLib.EngineTypes.next = {
4452 MenhirLib.EngineTypes.semv = _2;
4453 MenhirLib.EngineTypes.startp = _startpos__2_;
4454 MenhirLib.EngineTypes.endp = _endpos__2_;
4455 MenhirLib.EngineTypes.next = {
4456 MenhirLib.EngineTypes.state = _menhir_s;
4457 MenhirLib.EngineTypes.semv = _1;
4458 MenhirLib.EngineTypes.startp = _startpos__1_;
4459 MenhirLib.EngineTypes.endp = _endpos__1_;
4460 MenhirLib.EngineTypes.next = _menhir_stack;
4461 };
4462 };
4463 } = _menhir_stack in
4464 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4465 let _2 : (
4466 # 98 "parser_cocci_menhir.mly"
4467 (Data.clt)
4468 # 4469 "parser_cocci_menhir.ml"
4469 ) = Obj.magic _2 in
4470 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4471 let _startpos = _startpos__1_ in
4472 let _endpos = _endpos__3_ in
4473 let _v : 'tv_arith_expr_bis =
4474 # 1398 "parser_cocci_menhir.mly"
4475 ( P.logic_op Ast.Eq _1 _2 _3 )
4476 # 4477 "parser_cocci_menhir.ml"
4477 in
4478 _menhir_env.MenhirLib.EngineTypes.stack <- {
4479 MenhirLib.EngineTypes.state = _menhir_s;
4480 MenhirLib.EngineTypes.semv = Obj.repr _v;
4481 MenhirLib.EngineTypes.startp = _startpos;
4482 MenhirLib.EngineTypes.endp = _endpos;
4483 MenhirLib.EngineTypes.next = _menhir_stack;
4484 });
4485 (fun _menhir_env ->
4486 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4487 let {
4488 MenhirLib.EngineTypes.semv = _3;
4489 MenhirLib.EngineTypes.startp = _startpos__3_;
4490 MenhirLib.EngineTypes.endp = _endpos__3_;
4491 MenhirLib.EngineTypes.next = {
4492 MenhirLib.EngineTypes.semv = _2;
4493 MenhirLib.EngineTypes.startp = _startpos__2_;
4494 MenhirLib.EngineTypes.endp = _endpos__2_;
4495 MenhirLib.EngineTypes.next = {
4496 MenhirLib.EngineTypes.state = _menhir_s;
4497 MenhirLib.EngineTypes.semv = _1;
4498 MenhirLib.EngineTypes.startp = _startpos__1_;
4499 MenhirLib.EngineTypes.endp = _endpos__1_;
4500 MenhirLib.EngineTypes.next = _menhir_stack;
4501 };
4502 };
4503 } = _menhir_stack in
4504 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4505 let _2 : (
4506 # 98 "parser_cocci_menhir.mly"
4507 (Data.clt)
4508 # 4509 "parser_cocci_menhir.ml"
4509 ) = Obj.magic _2 in
4510 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4511 let _startpos = _startpos__1_ in
4512 let _endpos = _endpos__3_ in
4513 let _v : 'tv_arith_expr_bis =
4514 # 1400 "parser_cocci_menhir.mly"
4515 ( P.logic_op Ast.NotEq _1 _2 _3 )
4516 # 4517 "parser_cocci_menhir.ml"
4517 in
4518 _menhir_env.MenhirLib.EngineTypes.stack <- {
4519 MenhirLib.EngineTypes.state = _menhir_s;
4520 MenhirLib.EngineTypes.semv = Obj.repr _v;
4521 MenhirLib.EngineTypes.startp = _startpos;
4522 MenhirLib.EngineTypes.endp = _endpos;
4523 MenhirLib.EngineTypes.next = _menhir_stack;
4524 });
4525 (fun _menhir_env ->
4526 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4527 let {
4528 MenhirLib.EngineTypes.semv = _3;
4529 MenhirLib.EngineTypes.startp = _startpos__3_;
4530 MenhirLib.EngineTypes.endp = _endpos__3_;
4531 MenhirLib.EngineTypes.next = {
4532 MenhirLib.EngineTypes.semv = _2;
4533 MenhirLib.EngineTypes.startp = _startpos__2_;
4534 MenhirLib.EngineTypes.endp = _endpos__2_;
4535 MenhirLib.EngineTypes.next = {
4536 MenhirLib.EngineTypes.state = _menhir_s;
4537 MenhirLib.EngineTypes.semv = _1;
4538 MenhirLib.EngineTypes.startp = _startpos__1_;
4539 MenhirLib.EngineTypes.endp = _endpos__1_;
4540 MenhirLib.EngineTypes.next = _menhir_stack;
4541 };
4542 };
4543 } = _menhir_stack in
4544 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4545 let _2 : (
4546 # 97 "parser_cocci_menhir.mly"
4547 (Data.clt)
4548 # 4549 "parser_cocci_menhir.ml"
4549 ) = Obj.magic _2 in
4550 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4551 let _startpos = _startpos__1_ in
4552 let _endpos = _endpos__3_ in
4553 let _v : 'tv_arith_expr_bis =
4554 # 1402 "parser_cocci_menhir.mly"
4555 ( P.arith_op Ast.And _1 _2 _3 )
4556 # 4557 "parser_cocci_menhir.ml"
4557 in
4558 _menhir_env.MenhirLib.EngineTypes.stack <- {
4559 MenhirLib.EngineTypes.state = _menhir_s;
4560 MenhirLib.EngineTypes.semv = Obj.repr _v;
4561 MenhirLib.EngineTypes.startp = _startpos;
4562 MenhirLib.EngineTypes.endp = _endpos;
4563 MenhirLib.EngineTypes.next = _menhir_stack;
4564 });
4565 (fun _menhir_env ->
4566 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4567 let {
4568 MenhirLib.EngineTypes.semv = _3;
4569 MenhirLib.EngineTypes.startp = _startpos__3_;
4570 MenhirLib.EngineTypes.endp = _endpos__3_;
4571 MenhirLib.EngineTypes.next = {
4572 MenhirLib.EngineTypes.semv = _2;
4573 MenhirLib.EngineTypes.startp = _startpos__2_;
4574 MenhirLib.EngineTypes.endp = _endpos__2_;
4575 MenhirLib.EngineTypes.next = {
4576 MenhirLib.EngineTypes.state = _menhir_s;
4577 MenhirLib.EngineTypes.semv = _1;
4578 MenhirLib.EngineTypes.startp = _startpos__1_;
4579 MenhirLib.EngineTypes.endp = _endpos__1_;
4580 MenhirLib.EngineTypes.next = _menhir_stack;
4581 };
4582 };
4583 } = _menhir_stack in
4584 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4585 let _2 : (
4586 # 95 "parser_cocci_menhir.mly"
4587 (Data.clt)
4588 # 4589 "parser_cocci_menhir.ml"
4589 ) = Obj.magic _2 in
4590 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4591 let _startpos = _startpos__1_ in
4592 let _endpos = _endpos__3_ in
4593 let _v : 'tv_arith_expr_bis =
4594 # 1404 "parser_cocci_menhir.mly"
4595 ( P.arith_op Ast.Or _1 _2 _3 )
4596 # 4597 "parser_cocci_menhir.ml"
4597 in
4598 _menhir_env.MenhirLib.EngineTypes.stack <- {
4599 MenhirLib.EngineTypes.state = _menhir_s;
4600 MenhirLib.EngineTypes.semv = Obj.repr _v;
4601 MenhirLib.EngineTypes.startp = _startpos;
4602 MenhirLib.EngineTypes.endp = _endpos;
4603 MenhirLib.EngineTypes.next = _menhir_stack;
4604 });
4605 (fun _menhir_env ->
4606 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4607 let {
4608 MenhirLib.EngineTypes.semv = _3;
4609 MenhirLib.EngineTypes.startp = _startpos__3_;
4610 MenhirLib.EngineTypes.endp = _endpos__3_;
4611 MenhirLib.EngineTypes.next = {
4612 MenhirLib.EngineTypes.semv = _2;
4613 MenhirLib.EngineTypes.startp = _startpos__2_;
4614 MenhirLib.EngineTypes.endp = _endpos__2_;
4615 MenhirLib.EngineTypes.next = {
4616 MenhirLib.EngineTypes.state = _menhir_s;
4617 MenhirLib.EngineTypes.semv = _1;
4618 MenhirLib.EngineTypes.startp = _startpos__1_;
4619 MenhirLib.EngineTypes.endp = _endpos__1_;
4620 MenhirLib.EngineTypes.next = _menhir_stack;
4621 };
4622 };
4623 } = _menhir_stack in
4624 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4625 let _2 : (
4626 # 96 "parser_cocci_menhir.mly"
4627 (Data.clt)
4628 # 4629 "parser_cocci_menhir.ml"
4629 ) = Obj.magic _2 in
4630 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4631 let _startpos = _startpos__1_ in
4632 let _endpos = _endpos__3_ in
4633 let _v : 'tv_arith_expr_bis =
4634 # 1406 "parser_cocci_menhir.mly"
4635 ( P.arith_op Ast.Xor _1 _2 _3 )
4636 # 4637 "parser_cocci_menhir.ml"
4637 in
4638 _menhir_env.MenhirLib.EngineTypes.stack <- {
4639 MenhirLib.EngineTypes.state = _menhir_s;
4640 MenhirLib.EngineTypes.semv = Obj.repr _v;
4641 MenhirLib.EngineTypes.startp = _startpos;
4642 MenhirLib.EngineTypes.endp = _endpos;
4643 MenhirLib.EngineTypes.next = _menhir_stack;
4644 });
4645 (fun _menhir_env ->
4646 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4647 let {
4648 MenhirLib.EngineTypes.semv = _3;
4649 MenhirLib.EngineTypes.startp = _startpos__3_;
4650 MenhirLib.EngineTypes.endp = _endpos__3_;
4651 MenhirLib.EngineTypes.next = {
4652 MenhirLib.EngineTypes.semv = _2;
4653 MenhirLib.EngineTypes.startp = _startpos__2_;
4654 MenhirLib.EngineTypes.endp = _endpos__2_;
4655 MenhirLib.EngineTypes.next = {
4656 MenhirLib.EngineTypes.state = _menhir_s;
4657 MenhirLib.EngineTypes.semv = _1;
4658 MenhirLib.EngineTypes.startp = _startpos__1_;
4659 MenhirLib.EngineTypes.endp = _endpos__1_;
4660 MenhirLib.EngineTypes.next = _menhir_stack;
4661 };
4662 };
4663 } = _menhir_stack in
4664 let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
4665 let _2 : (
4666 # 94 "parser_cocci_menhir.mly"
4667 (Data.clt)
4668 # 4669 "parser_cocci_menhir.ml"
4669 ) = Obj.magic _2 in
4670 let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
4671 let _startpos = _startpos__1_ in
4672 let _endpos = _endpos__3_ in
4673 let _v : 'tv_arith_expr_bis =
4674 # 1408 "parser_cocci_menhir.mly"
4675 ( P.logic_op Ast.AndLog _1 _2 _3 )
4676 # 4677 "parser_cocci_menhir.ml"
4677 in
4678 _menhir_env.MenhirLib.EngineTypes.stack <- {
4679 MenhirLib.EngineTypes.state = _menhir_s;
4680 MenhirLib.EngineTypes.semv = Obj.repr _v;
4681 MenhirLib.EngineTypes.startp = _startpos;
4682 MenhirLib.EngineTypes.endp = _endpos;
4683 MenhirLib.EngineTypes.next = _menhir_stack;
4684 });
4685 (fun _menhir_env ->
4686 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4687 let {
4688 MenhirLib.EngineTypes.state = _menhir_s;
4689 MenhirLib.EngineTypes.startp = _startpos__1_;
4690 MenhirLib.EngineTypes.endp = _endpos__1_;
4691 MenhirLib.EngineTypes.next = _menhir_stack;
4692 } = _menhir_stack in
4693 let _startpos = _startpos__1_ in
4694 let _endpos = _endpos__1_ in
4695 let _v : 'tv_arity =
4696 # 526 "parser_cocci_menhir.mly"
4697 ( Ast.UNIQUE )
4698 # 4699 "parser_cocci_menhir.ml"
4699 in
4700 _menhir_env.MenhirLib.EngineTypes.stack <- {
4701 MenhirLib.EngineTypes.state = _menhir_s;
4702 MenhirLib.EngineTypes.semv = Obj.repr _v;
4703 MenhirLib.EngineTypes.startp = _startpos;
4704 MenhirLib.EngineTypes.endp = _endpos;
4705 MenhirLib.EngineTypes.next = _menhir_stack;
4706 });
4707 (fun _menhir_env ->
4708 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4709 let {
4710 MenhirLib.EngineTypes.state = _menhir_s;
4711 MenhirLib.EngineTypes.startp = _startpos__1_;
4712 MenhirLib.EngineTypes.endp = _endpos__1_;
4713 MenhirLib.EngineTypes.next = _menhir_stack;
4714 } = _menhir_stack in
4715 let _startpos = _startpos__1_ in
4716 let _endpos = _endpos__1_ in
4717 let _v : 'tv_arity =
4718 # 527 "parser_cocci_menhir.mly"
4719 ( Ast.OPT )
4720 # 4721 "parser_cocci_menhir.ml"
4721 in
4722 _menhir_env.MenhirLib.EngineTypes.stack <- {
4723 MenhirLib.EngineTypes.state = _menhir_s;
4724 MenhirLib.EngineTypes.semv = Obj.repr _v;
4725 MenhirLib.EngineTypes.startp = _startpos;
4726 MenhirLib.EngineTypes.endp = _endpos;
4727 MenhirLib.EngineTypes.next = _menhir_stack;
4728 });
4729 (fun _menhir_env ->
4730 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4731 let {
4732 MenhirLib.EngineTypes.state = _menhir_s;
4733 MenhirLib.EngineTypes.startp = _startpos__1_;
4734 MenhirLib.EngineTypes.endp = _endpos__1_;
4735 MenhirLib.EngineTypes.next = _menhir_stack;
4736 } = _menhir_stack in
4737 let _startpos = _startpos__1_ in
4738 let _endpos = _endpos__1_ in
4739 let _v : 'tv_arity =
4740 # 528 "parser_cocci_menhir.mly"
4741 ( Ast.MULTI )
4742 # 4743 "parser_cocci_menhir.ml"
4743 in
4744 _menhir_env.MenhirLib.EngineTypes.stack <- {
4745 MenhirLib.EngineTypes.state = _menhir_s;
4746 MenhirLib.EngineTypes.semv = Obj.repr _v;
4747 MenhirLib.EngineTypes.startp = _startpos;
4748 MenhirLib.EngineTypes.endp = _endpos;
4749 MenhirLib.EngineTypes.next = _menhir_stack;
4750 });
4751 (fun _menhir_env ->
4752 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4753 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
4754 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
4755 let _endpos = _startpos in
4756 let _v : 'tv_arity =
4757 # 529 "parser_cocci_menhir.mly"
4758 ( Ast.NONE )
4759 # 4760 "parser_cocci_menhir.ml"
4760 in
4761 _menhir_env.MenhirLib.EngineTypes.stack <- {
4762 MenhirLib.EngineTypes.state = _menhir_s;
4763 MenhirLib.EngineTypes.semv = Obj.repr _v;
4764 MenhirLib.EngineTypes.startp = _startpos;
4765 MenhirLib.EngineTypes.endp = _endpos;
4766 MenhirLib.EngineTypes.next = _menhir_stack;
4767 });
4768 (fun _menhir_env ->
4769 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4770 let {
4771 MenhirLib.EngineTypes.semv = r;
4772 MenhirLib.EngineTypes.startp = _startpos_r_;
4773 MenhirLib.EngineTypes.endp = _endpos_r_;
4774 MenhirLib.EngineTypes.next = {
4775 MenhirLib.EngineTypes.semv = i;
4776 MenhirLib.EngineTypes.startp = _startpos_i_;
4777 MenhirLib.EngineTypes.endp = _endpos_i_;
4778 MenhirLib.EngineTypes.next = {
4779 MenhirLib.EngineTypes.state = _menhir_s;
4780 MenhirLib.EngineTypes.semv = l;
4781 MenhirLib.EngineTypes.startp = _startpos_l_;
4782 MenhirLib.EngineTypes.endp = _endpos_l_;
4783 MenhirLib.EngineTypes.next = _menhir_stack;
4784 };
4785 };
4786 } = _menhir_stack in
4787 let r : (
4788 # 106 "parser_cocci_menhir.mly"
4789 (Data.clt)
4790 # 4791 "parser_cocci_menhir.ml"
4791 ) = Obj.magic r in
4792 let i : 'tv_option_eexpr_ = Obj.magic i in
4793 let l : (
4794 # 106 "parser_cocci_menhir.mly"
4795 (Data.clt)
4796 # 4797 "parser_cocci_menhir.ml"
4797 ) = Obj.magic l in
4798 let _startpos = _startpos_l_ in
4799 let _endpos = _endpos_r_ in
4800 let _v : 'tv_array_dec =
4801 # 1174 "parser_cocci_menhir.mly"
4802 ( (l,i,r) )
4803 # 4804 "parser_cocci_menhir.ml"
4804 in
4805 _menhir_env.MenhirLib.EngineTypes.stack <- {
4806 MenhirLib.EngineTypes.state = _menhir_s;
4807 MenhirLib.EngineTypes.semv = Obj.repr _v;
4808 MenhirLib.EngineTypes.startp = _startpos;
4809 MenhirLib.EngineTypes.endp = _endpos;
4810 MenhirLib.EngineTypes.next = _menhir_stack;
4811 });
4812 (fun _menhir_env ->
4813 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4814 let {
4815 MenhirLib.EngineTypes.state = _menhir_s;
4816 MenhirLib.EngineTypes.semv = _1;
4817 MenhirLib.EngineTypes.startp = _startpos__1_;
4818 MenhirLib.EngineTypes.endp = _endpos__1_;
4819 MenhirLib.EngineTypes.next = _menhir_stack;
4820 } = _menhir_stack in
4821 let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4822 let _startpos = _startpos__1_ in
4823 let _endpos = _endpos__1_ in
4824 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4825 # 1321 "parser_cocci_menhir.mly"
4826 ( _1 )
4827 # 4828 "parser_cocci_menhir.ml"
4828 in
4829 _menhir_env.MenhirLib.EngineTypes.stack <- {
4830 MenhirLib.EngineTypes.state = _menhir_s;
4831 MenhirLib.EngineTypes.semv = Obj.repr _v;
4832 MenhirLib.EngineTypes.startp = _startpos;
4833 MenhirLib.EngineTypes.endp = _endpos;
4834 MenhirLib.EngineTypes.next = _menhir_stack;
4835 });
4836 (fun _menhir_env ->
4837 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4838 let {
4839 MenhirLib.EngineTypes.semv = _3;
4840 MenhirLib.EngineTypes.startp = _startpos__3_;
4841 MenhirLib.EngineTypes.endp = _endpos__3_;
4842 MenhirLib.EngineTypes.next = {
4843 MenhirLib.EngineTypes.semv = _2;
4844 MenhirLib.EngineTypes.startp = _startpos__2_;
4845 MenhirLib.EngineTypes.endp = _endpos__2_;
4846 MenhirLib.EngineTypes.next = {
4847 MenhirLib.EngineTypes.state = _menhir_s;
4848 MenhirLib.EngineTypes.semv = _1;
4849 MenhirLib.EngineTypes.startp = _startpos__1_;
4850 MenhirLib.EngineTypes.endp = _endpos__1_;
4851 MenhirLib.EngineTypes.next = _menhir_stack;
4852 };
4853 };
4854 } = _menhir_stack in
4855 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4856 let _2 : (
4857 # 112 "parser_cocci_menhir.mly"
4858 (Ast_cocci.assignOp * Data.clt)
4859 # 4860 "parser_cocci_menhir.ml"
4860 ) = Obj.magic _2 in
4861 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4862 let _startpos = _startpos__1_ in
4863 let _endpos = _endpos__3_ in
4864 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4865 # 1323 "parser_cocci_menhir.mly"
4866 ( let (op,clt) = _2 in
4867 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4868 Ast0.set_arg_exp _3,false)) )
4869 # 4870 "parser_cocci_menhir.ml"
4870 in
4871 _menhir_env.MenhirLib.EngineTypes.stack <- {
4872 MenhirLib.EngineTypes.state = _menhir_s;
4873 MenhirLib.EngineTypes.semv = Obj.repr _v;
4874 MenhirLib.EngineTypes.startp = _startpos;
4875 MenhirLib.EngineTypes.endp = _endpos;
4876 MenhirLib.EngineTypes.next = _menhir_stack;
4877 });
4878 (fun _menhir_env ->
4879 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4880 let {
4881 MenhirLib.EngineTypes.semv = _3;
4882 MenhirLib.EngineTypes.startp = _startpos__3_;
4883 MenhirLib.EngineTypes.endp = _endpos__3_;
4884 MenhirLib.EngineTypes.next = {
4885 MenhirLib.EngineTypes.semv = _2;
4886 MenhirLib.EngineTypes.startp = _startpos__2_;
4887 MenhirLib.EngineTypes.endp = _endpos__2_;
4888 MenhirLib.EngineTypes.next = {
4889 MenhirLib.EngineTypes.state = _menhir_s;
4890 MenhirLib.EngineTypes.semv = _1;
4891 MenhirLib.EngineTypes.startp = _startpos__1_;
4892 MenhirLib.EngineTypes.endp = _endpos__1_;
4893 MenhirLib.EngineTypes.next = _menhir_stack;
4894 };
4895 };
4896 } = _menhir_stack in
4897 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4898 let _2 : (
4899 # 111 "parser_cocci_menhir.mly"
4900 (Data.clt)
4901 # 4902 "parser_cocci_menhir.ml"
4902 ) = Obj.magic _2 in
4903 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
4904 let _startpos = _startpos__1_ in
4905 let _endpos = _endpos__3_ in
4906 let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
4907 # 1327 "parser_cocci_menhir.mly"
4908 ( Ast0.wrap
4909 (Ast0.Assignment
4910 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
4911 # 4912 "parser_cocci_menhir.ml"
4912 in
4913 _menhir_env.MenhirLib.EngineTypes.stack <- {
4914 MenhirLib.EngineTypes.state = _menhir_s;
4915 MenhirLib.EngineTypes.semv = Obj.repr _v;
4916 MenhirLib.EngineTypes.startp = _startpos;
4917 MenhirLib.EngineTypes.endp = _endpos;
4918 MenhirLib.EngineTypes.next = _menhir_stack;
4919 });
4920 (fun _menhir_env ->
4921 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4922 let {
4923 MenhirLib.EngineTypes.state = _menhir_s;
4924 MenhirLib.EngineTypes.semv = _1;
4925 MenhirLib.EngineTypes.startp = _startpos__1_;
4926 MenhirLib.EngineTypes.endp = _endpos__1_;
4927 MenhirLib.EngineTypes.next = _menhir_stack;
4928 } = _menhir_stack in
4929 let _1 : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4930 let _startpos = _startpos__1_ in
4931 let _endpos = _endpos__1_ in
4932 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
4933 # 1321 "parser_cocci_menhir.mly"
4934 ( _1 )
4935 # 4936 "parser_cocci_menhir.ml"
4936 in
4937 _menhir_env.MenhirLib.EngineTypes.stack <- {
4938 MenhirLib.EngineTypes.state = _menhir_s;
4939 MenhirLib.EngineTypes.semv = Obj.repr _v;
4940 MenhirLib.EngineTypes.startp = _startpos;
4941 MenhirLib.EngineTypes.endp = _endpos;
4942 MenhirLib.EngineTypes.next = _menhir_stack;
4943 });
4944 (fun _menhir_env ->
4945 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4946 let {
4947 MenhirLib.EngineTypes.semv = _3;
4948 MenhirLib.EngineTypes.startp = _startpos__3_;
4949 MenhirLib.EngineTypes.endp = _endpos__3_;
4950 MenhirLib.EngineTypes.next = {
4951 MenhirLib.EngineTypes.semv = _2;
4952 MenhirLib.EngineTypes.startp = _startpos__2_;
4953 MenhirLib.EngineTypes.endp = _endpos__2_;
4954 MenhirLib.EngineTypes.next = {
4955 MenhirLib.EngineTypes.state = _menhir_s;
4956 MenhirLib.EngineTypes.semv = _1;
4957 MenhirLib.EngineTypes.startp = _startpos__1_;
4958 MenhirLib.EngineTypes.endp = _endpos__1_;
4959 MenhirLib.EngineTypes.next = _menhir_stack;
4960 };
4961 };
4962 } = _menhir_stack in
4963 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
4964 let _2 : (
4965 # 112 "parser_cocci_menhir.mly"
4966 (Ast_cocci.assignOp * Data.clt)
4967 # 4968 "parser_cocci_menhir.ml"
4968 ) = Obj.magic _2 in
4969 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
4970 let _startpos = _startpos__1_ in
4971 let _endpos = _endpos__3_ in
4972 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
4973 # 1323 "parser_cocci_menhir.mly"
4974 ( let (op,clt) = _2 in
4975 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
4976 Ast0.set_arg_exp _3,false)) )
4977 # 4978 "parser_cocci_menhir.ml"
4978 in
4979 _menhir_env.MenhirLib.EngineTypes.stack <- {
4980 MenhirLib.EngineTypes.state = _menhir_s;
4981 MenhirLib.EngineTypes.semv = Obj.repr _v;
4982 MenhirLib.EngineTypes.startp = _startpos;
4983 MenhirLib.EngineTypes.endp = _endpos;
4984 MenhirLib.EngineTypes.next = _menhir_stack;
4985 });
4986 (fun _menhir_env ->
4987 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
4988 let {
4989 MenhirLib.EngineTypes.semv = _3;
4990 MenhirLib.EngineTypes.startp = _startpos__3_;
4991 MenhirLib.EngineTypes.endp = _endpos__3_;
4992 MenhirLib.EngineTypes.next = {
4993 MenhirLib.EngineTypes.semv = _2;
4994 MenhirLib.EngineTypes.startp = _startpos__2_;
4995 MenhirLib.EngineTypes.endp = _endpos__2_;
4996 MenhirLib.EngineTypes.next = {
4997 MenhirLib.EngineTypes.state = _menhir_s;
4998 MenhirLib.EngineTypes.semv = _1;
4999 MenhirLib.EngineTypes.startp = _startpos__1_;
5000 MenhirLib.EngineTypes.endp = _endpos__1_;
5001 MenhirLib.EngineTypes.next = _menhir_stack;
5002 };
5003 };
5004 } = _menhir_stack in
5005 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
5006 let _2 : (
5007 # 111 "parser_cocci_menhir.mly"
5008 (Data.clt)
5009 # 5010 "parser_cocci_menhir.ml"
5010 ) = Obj.magic _2 in
5011 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
5012 let _startpos = _startpos__1_ in
5013 let _endpos = _endpos__3_ in
5014 let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
5015 # 1327 "parser_cocci_menhir.mly"
5016 ( Ast0.wrap
5017 (Ast0.Assignment
5018 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
5019 # 5020 "parser_cocci_menhir.ml"
5020 in
5021 _menhir_env.MenhirLib.EngineTypes.stack <- {
5022 MenhirLib.EngineTypes.state = _menhir_s;
5023 MenhirLib.EngineTypes.semv = Obj.repr _v;
5024 MenhirLib.EngineTypes.startp = _startpos;
5025 MenhirLib.EngineTypes.endp = _endpos;
5026 MenhirLib.EngineTypes.next = _menhir_stack;
5027 });
5028 (fun _menhir_env ->
5029 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5030 let {
5031 MenhirLib.EngineTypes.state = _menhir_s;
5032 MenhirLib.EngineTypes.semv = _1;
5033 MenhirLib.EngineTypes.startp = _startpos__1_;
5034 MenhirLib.EngineTypes.endp = _endpos__1_;
5035 MenhirLib.EngineTypes.next = _menhir_stack;
5036 } = _menhir_stack in
5037 let _1 : 'tv_cond_expr_expr_invalid_ = Obj.magic _1 in
5038 let _startpos = _startpos__1_ in
5039 let _endpos = _endpos__1_ in
5040 let _v : 'tv_assign_expr_expr_invalid_ =
5041 # 1321 "parser_cocci_menhir.mly"
5042 ( _1 )
5043 # 5044 "parser_cocci_menhir.ml"
5044 in
5045 _menhir_env.MenhirLib.EngineTypes.stack <- {
5046 MenhirLib.EngineTypes.state = _menhir_s;
5047 MenhirLib.EngineTypes.semv = Obj.repr _v;
5048 MenhirLib.EngineTypes.startp = _startpos;
5049 MenhirLib.EngineTypes.endp = _endpos;
5050 MenhirLib.EngineTypes.next = _menhir_stack;
5051 });
5052 (fun _menhir_env ->
5053 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5054 let {
5055 MenhirLib.EngineTypes.semv = _3;
5056 MenhirLib.EngineTypes.startp = _startpos__3_;
5057 MenhirLib.EngineTypes.endp = _endpos__3_;
5058 MenhirLib.EngineTypes.next = {
5059 MenhirLib.EngineTypes.semv = _2;
5060 MenhirLib.EngineTypes.startp = _startpos__2_;
5061 MenhirLib.EngineTypes.endp = _endpos__2_;
5062 MenhirLib.EngineTypes.next = {
5063 MenhirLib.EngineTypes.state = _menhir_s;
5064 MenhirLib.EngineTypes.semv = _1;
5065 MenhirLib.EngineTypes.startp = _startpos__1_;
5066 MenhirLib.EngineTypes.endp = _endpos__1_;
5067 MenhirLib.EngineTypes.next = _menhir_stack;
5068 };
5069 };
5070 } = _menhir_stack in
5071 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
5072 let _2 : (
5073 # 112 "parser_cocci_menhir.mly"
5074 (Ast_cocci.assignOp * Data.clt)
5075 # 5076 "parser_cocci_menhir.ml"
5076 ) = Obj.magic _2 in
5077 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
5078 let _startpos = _startpos__1_ in
5079 let _endpos = _endpos__3_ in
5080 let _v : 'tv_assign_expr_expr_invalid_ =
5081 # 1323 "parser_cocci_menhir.mly"
5082 ( let (op,clt) = _2 in
5083 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
5084 Ast0.set_arg_exp _3,false)) )
5085 # 5086 "parser_cocci_menhir.ml"
5086 in
5087 _menhir_env.MenhirLib.EngineTypes.stack <- {
5088 MenhirLib.EngineTypes.state = _menhir_s;
5089 MenhirLib.EngineTypes.semv = Obj.repr _v;
5090 MenhirLib.EngineTypes.startp = _startpos;
5091 MenhirLib.EngineTypes.endp = _endpos;
5092 MenhirLib.EngineTypes.next = _menhir_stack;
5093 });
5094 (fun _menhir_env ->
5095 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5096 let {
5097 MenhirLib.EngineTypes.semv = _3;
5098 MenhirLib.EngineTypes.startp = _startpos__3_;
5099 MenhirLib.EngineTypes.endp = _endpos__3_;
5100 MenhirLib.EngineTypes.next = {
5101 MenhirLib.EngineTypes.semv = _2;
5102 MenhirLib.EngineTypes.startp = _startpos__2_;
5103 MenhirLib.EngineTypes.endp = _endpos__2_;
5104 MenhirLib.EngineTypes.next = {
5105 MenhirLib.EngineTypes.state = _menhir_s;
5106 MenhirLib.EngineTypes.semv = _1;
5107 MenhirLib.EngineTypes.startp = _startpos__1_;
5108 MenhirLib.EngineTypes.endp = _endpos__1_;
5109 MenhirLib.EngineTypes.next = _menhir_stack;
5110 };
5111 };
5112 } = _menhir_stack in
5113 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
5114 let _2 : (
5115 # 111 "parser_cocci_menhir.mly"
5116 (Data.clt)
5117 # 5118 "parser_cocci_menhir.ml"
5118 ) = Obj.magic _2 in
5119 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
5120 let _startpos = _startpos__1_ in
5121 let _endpos = _endpos__3_ in
5122 let _v : 'tv_assign_expr_expr_invalid_ =
5123 # 1327 "parser_cocci_menhir.mly"
5124 ( Ast0.wrap
5125 (Ast0.Assignment
5126 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
5127 # 5128 "parser_cocci_menhir.ml"
5128 in
5129 _menhir_env.MenhirLib.EngineTypes.stack <- {
5130 MenhirLib.EngineTypes.state = _menhir_s;
5131 MenhirLib.EngineTypes.semv = Obj.repr _v;
5132 MenhirLib.EngineTypes.startp = _startpos;
5133 MenhirLib.EngineTypes.endp = _endpos;
5134 MenhirLib.EngineTypes.next = _menhir_stack;
5135 });
5136 (fun _menhir_env ->
5137 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5138 let {
5139 MenhirLib.EngineTypes.state = _menhir_s;
5140 MenhirLib.EngineTypes.semv = _1;
5141 MenhirLib.EngineTypes.startp = _startpos__1_;
5142 MenhirLib.EngineTypes.endp = _endpos__1_;
5143 MenhirLib.EngineTypes.next = _menhir_stack;
5144 } = _menhir_stack in
5145 let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
5146 let _startpos = _startpos__1_ in
5147 let _endpos = _endpos__1_ in
5148 let _v : 'tv_assign_expr_bis =
5149 # 1332 "parser_cocci_menhir.mly"
5150 ( _1 )
5151 # 5152 "parser_cocci_menhir.ml"
5152 in
5153 _menhir_env.MenhirLib.EngineTypes.stack <- {
5154 MenhirLib.EngineTypes.state = _menhir_s;
5155 MenhirLib.EngineTypes.semv = Obj.repr _v;
5156 MenhirLib.EngineTypes.startp = _startpos;
5157 MenhirLib.EngineTypes.endp = _endpos;
5158 MenhirLib.EngineTypes.next = _menhir_stack;
5159 });
5160 (fun _menhir_env ->
5161 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5162 let {
5163 MenhirLib.EngineTypes.semv = _3;
5164 MenhirLib.EngineTypes.startp = _startpos__3_;
5165 MenhirLib.EngineTypes.endp = _endpos__3_;
5166 MenhirLib.EngineTypes.next = {
5167 MenhirLib.EngineTypes.semv = _2;
5168 MenhirLib.EngineTypes.startp = _startpos__2_;
5169 MenhirLib.EngineTypes.endp = _endpos__2_;
5170 MenhirLib.EngineTypes.next = {
5171 MenhirLib.EngineTypes.state = _menhir_s;
5172 MenhirLib.EngineTypes.semv = _1;
5173 MenhirLib.EngineTypes.startp = _startpos__1_;
5174 MenhirLib.EngineTypes.endp = _endpos__1_;
5175 MenhirLib.EngineTypes.next = _menhir_stack;
5176 };
5177 };
5178 } = _menhir_stack in
5179 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
5180 let _2 : (
5181 # 112 "parser_cocci_menhir.mly"
5182 (Ast_cocci.assignOp * Data.clt)
5183 # 5184 "parser_cocci_menhir.ml"
5184 ) = Obj.magic _2 in
5185 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
5186 let _startpos = _startpos__1_ in
5187 let _endpos = _endpos__3_ in
5188 let _v : 'tv_assign_expr_bis =
5189 # 1334 "parser_cocci_menhir.mly"
5190 ( let (op,clt) = _2 in
5191 Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
5192 Ast0.set_arg_exp _3,false)) )
5193 # 5194 "parser_cocci_menhir.ml"
5194 in
5195 _menhir_env.MenhirLib.EngineTypes.stack <- {
5196 MenhirLib.EngineTypes.state = _menhir_s;
5197 MenhirLib.EngineTypes.semv = Obj.repr _v;
5198 MenhirLib.EngineTypes.startp = _startpos;
5199 MenhirLib.EngineTypes.endp = _endpos;
5200 MenhirLib.EngineTypes.next = _menhir_stack;
5201 });
5202 (fun _menhir_env ->
5203 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5204 let {
5205 MenhirLib.EngineTypes.semv = _3;
5206 MenhirLib.EngineTypes.startp = _startpos__3_;
5207 MenhirLib.EngineTypes.endp = _endpos__3_;
5208 MenhirLib.EngineTypes.next = {
5209 MenhirLib.EngineTypes.semv = _2;
5210 MenhirLib.EngineTypes.startp = _startpos__2_;
5211 MenhirLib.EngineTypes.endp = _endpos__2_;
5212 MenhirLib.EngineTypes.next = {
5213 MenhirLib.EngineTypes.state = _menhir_s;
5214 MenhirLib.EngineTypes.semv = _1;
5215 MenhirLib.EngineTypes.startp = _startpos__1_;
5216 MenhirLib.EngineTypes.endp = _endpos__1_;
5217 MenhirLib.EngineTypes.next = _menhir_stack;
5218 };
5219 };
5220 } = _menhir_stack in
5221 let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
5222 let _2 : (
5223 # 111 "parser_cocci_menhir.mly"
5224 (Data.clt)
5225 # 5226 "parser_cocci_menhir.ml"
5226 ) = Obj.magic _2 in
5227 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
5228 let _startpos = _startpos__1_ in
5229 let _endpos = _endpos__3_ in
5230 let _v : 'tv_assign_expr_bis =
5231 # 1338 "parser_cocci_menhir.mly"
5232 ( Ast0.wrap
5233 (Ast0.Assignment
5234 (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
5235 # 5236 "parser_cocci_menhir.ml"
5236 in
5237 _menhir_env.MenhirLib.EngineTypes.stack <- {
5238 MenhirLib.EngineTypes.state = _menhir_s;
5239 MenhirLib.EngineTypes.semv = Obj.repr _v;
5240 MenhirLib.EngineTypes.startp = _startpos;
5241 MenhirLib.EngineTypes.endp = _endpos;
5242 MenhirLib.EngineTypes.next = _menhir_stack;
5243 });
5244 (fun _menhir_env ->
5245 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5246 let {
5247 MenhirLib.EngineTypes.state = _menhir_s;
5248 MenhirLib.EngineTypes.semv = _1;
5249 MenhirLib.EngineTypes.startp = _startpos__1_;
5250 MenhirLib.EngineTypes.endp = _endpos__1_;
5251 MenhirLib.EngineTypes.next = _menhir_stack;
5252 } = _menhir_stack in
5253 let _1 : 'tv_assign_expr_eexpr_dot_expressions_ = Obj.magic _1 in
5254 let _startpos = _startpos__1_ in
5255 let _endpos = _endpos__1_ in
5256 let _v : 'tv_basic_expr_eexpr_dot_expressions_ =
5257 # 1318 "parser_cocci_menhir.mly"
5258 ( _1 )
5259 # 5260 "parser_cocci_menhir.ml"
5260 in
5261 _menhir_env.MenhirLib.EngineTypes.stack <- {
5262 MenhirLib.EngineTypes.state = _menhir_s;
5263 MenhirLib.EngineTypes.semv = Obj.repr _v;
5264 MenhirLib.EngineTypes.startp = _startpos;
5265 MenhirLib.EngineTypes.endp = _endpos;
5266 MenhirLib.EngineTypes.next = _menhir_stack;
5267 });
5268 (fun _menhir_env ->
5269 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5270 let {
5271 MenhirLib.EngineTypes.state = _menhir_s;
5272 MenhirLib.EngineTypes.semv = _1;
5273 MenhirLib.EngineTypes.startp = _startpos__1_;
5274 MenhirLib.EngineTypes.endp = _endpos__1_;
5275 MenhirLib.EngineTypes.next = _menhir_stack;
5276 } = _menhir_stack in
5277 let _1 : 'tv_assign_expr_eexpr_nest_expressions_ = Obj.magic _1 in
5278 let _startpos = _startpos__1_ in
5279 let _endpos = _endpos__1_ in
5280 let _v : 'tv_basic_expr_eexpr_nest_expressions_ =
5281 # 1318 "parser_cocci_menhir.mly"
5282 ( _1 )
5283 # 5284 "parser_cocci_menhir.ml"
5284 in
5285 _menhir_env.MenhirLib.EngineTypes.stack <- {
5286 MenhirLib.EngineTypes.state = _menhir_s;
5287 MenhirLib.EngineTypes.semv = Obj.repr _v;
5288 MenhirLib.EngineTypes.startp = _startpos;
5289 MenhirLib.EngineTypes.endp = _endpos;
5290 MenhirLib.EngineTypes.next = _menhir_stack;
5291 });
5292 (fun _menhir_env ->
5293 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5294 let {
5295 MenhirLib.EngineTypes.state = _menhir_s;
5296 MenhirLib.EngineTypes.semv = _1;
5297 MenhirLib.EngineTypes.startp = _startpos__1_;
5298 MenhirLib.EngineTypes.endp = _endpos__1_;
5299 MenhirLib.EngineTypes.next = _menhir_stack;
5300 } = _menhir_stack in
5301 let _1 : 'tv_assign_expr_expr_invalid_ = Obj.magic _1 in
5302 let _startpos = _startpos__1_ in
5303 let _endpos = _endpos__1_ in
5304 let _v : 'tv_basic_expr_expr_invalid_ =
5305 # 1318 "parser_cocci_menhir.mly"
5306 ( _1 )
5307 # 5308 "parser_cocci_menhir.ml"
5308 in
5309 _menhir_env.MenhirLib.EngineTypes.stack <- {
5310 MenhirLib.EngineTypes.state = _menhir_s;
5311 MenhirLib.EngineTypes.semv = Obj.repr _v;
5312 MenhirLib.EngineTypes.startp = _startpos;
5313 MenhirLib.EngineTypes.endp = _endpos;
5314 MenhirLib.EngineTypes.next = _menhir_stack;
5315 });
5316 (fun _menhir_env ->
5317 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5318 let {
5319 MenhirLib.EngineTypes.semv = _3;
5320 MenhirLib.EngineTypes.startp = _startpos__3_;
5321 MenhirLib.EngineTypes.endp = _endpos__3_;
5322 MenhirLib.EngineTypes.next = {
5323 MenhirLib.EngineTypes.semv = _2;
5324 MenhirLib.EngineTypes.startp = _startpos__2_;
5325 MenhirLib.EngineTypes.endp = _endpos__2_;
5326 MenhirLib.EngineTypes.next = {
5327 MenhirLib.EngineTypes.state = _menhir_s;
5328 MenhirLib.EngineTypes.semv = _1;
5329 MenhirLib.EngineTypes.startp = _startpos__1_;
5330 MenhirLib.EngineTypes.endp = _endpos__1_;
5331 MenhirLib.EngineTypes.next = _menhir_stack;
5332 };
5333 };
5334 } = _menhir_stack in
5335 let _3 : 'tv_fun_start = Obj.magic _3 in
5336 let _2 : (
5337 # 80 "parser_cocci_menhir.mly"
5338 (Data.clt)
5339 # 5340 "parser_cocci_menhir.ml"
5340 ) = Obj.magic _2 in
5341 let _1 : (
5342 # 60 "parser_cocci_menhir.mly"
5343 (Data.clt)
5344 # 5345 "parser_cocci_menhir.ml"
5345 ) = Obj.magic _1 in
5346 let _startpos = _startpos__1_ in
5347 let _endpos = _endpos__3_ in
5348 let _v : 'tv_case_line =
5349 # 1036 "parser_cocci_menhir.mly"
5350 ( Ast0.wrap
5351 (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) )
5352 # 5353 "parser_cocci_menhir.ml"
5353 in
5354 _menhir_env.MenhirLib.EngineTypes.stack <- {
5355 MenhirLib.EngineTypes.state = _menhir_s;
5356 MenhirLib.EngineTypes.semv = Obj.repr _v;
5357 MenhirLib.EngineTypes.startp = _startpos;
5358 MenhirLib.EngineTypes.endp = _endpos;
5359 MenhirLib.EngineTypes.next = _menhir_stack;
5360 });
5361 (fun _menhir_env ->
5362 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5363 let {
5364 MenhirLib.EngineTypes.semv = _4;
5365 MenhirLib.EngineTypes.startp = _startpos__4_;
5366 MenhirLib.EngineTypes.endp = _endpos__4_;
5367 MenhirLib.EngineTypes.next = {
5368 MenhirLib.EngineTypes.semv = _3;
5369 MenhirLib.EngineTypes.startp = _startpos__3_;
5370 MenhirLib.EngineTypes.endp = _endpos__3_;
5371 MenhirLib.EngineTypes.next = {
5372 MenhirLib.EngineTypes.semv = _2;
5373 MenhirLib.EngineTypes.startp = _startpos__2_;
5374 MenhirLib.EngineTypes.endp = _endpos__2_;
5375 MenhirLib.EngineTypes.next = {
5376 MenhirLib.EngineTypes.state = _menhir_s;
5377 MenhirLib.EngineTypes.semv = _1;
5378 MenhirLib.EngineTypes.startp = _startpos__1_;
5379 MenhirLib.EngineTypes.endp = _endpos__1_;
5380 MenhirLib.EngineTypes.next = _menhir_stack;
5381 };
5382 };
5383 };
5384 } = _menhir_stack in
5385 let _4 : 'tv_fun_start = Obj.magic _4 in
5386 let _3 : (
5387 # 80 "parser_cocci_menhir.mly"
5388 (Data.clt)
5389 # 5390 "parser_cocci_menhir.ml"
5390 ) = Obj.magic _3 in
5391 let _2 : 'tv_eexpr = Obj.magic _2 in
5392 let _1 : (
5393 # 60 "parser_cocci_menhir.mly"
5394 (Data.clt)
5395 # 5396 "parser_cocci_menhir.ml"
5396 ) = Obj.magic _1 in
5397 let _startpos = _startpos__1_ in
5398 let _endpos = _endpos__4_ in
5399 let _v : 'tv_case_line =
5400 # 1039 "parser_cocci_menhir.mly"
5401 ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) )
5402 # 5403 "parser_cocci_menhir.ml"
5403 in
5404 _menhir_env.MenhirLib.EngineTypes.stack <- {
5405 MenhirLib.EngineTypes.state = _menhir_s;
5406 MenhirLib.EngineTypes.semv = Obj.repr _v;
5407 MenhirLib.EngineTypes.startp = _startpos;
5408 MenhirLib.EngineTypes.endp = _endpos;
5409 MenhirLib.EngineTypes.next = _menhir_stack;
5410 });
5411 (fun _menhir_env ->
5412 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5413 let {
5414 MenhirLib.EngineTypes.state = _menhir_s;
5415 MenhirLib.EngineTypes.semv = _1;
5416 MenhirLib.EngineTypes.startp = _startpos__1_;
5417 MenhirLib.EngineTypes.endp = _endpos__1_;
5418 MenhirLib.EngineTypes.next = _menhir_stack;
5419 } = _menhir_stack in
5420 let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
5421 let _startpos = _startpos__1_ in
5422 let _endpos = _endpos__1_ in
5423 let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
5424 # 1413 "parser_cocci_menhir.mly"
5425 ( _1 )
5426 # 5427 "parser_cocci_menhir.ml"
5427 in
5428 _menhir_env.MenhirLib.EngineTypes.stack <- {
5429 MenhirLib.EngineTypes.state = _menhir_s;
5430 MenhirLib.EngineTypes.semv = Obj.repr _v;
5431 MenhirLib.EngineTypes.startp = _startpos;
5432 MenhirLib.EngineTypes.endp = _endpos;
5433 MenhirLib.EngineTypes.next = _menhir_stack;
5434 });
5435 (fun _menhir_env ->
5436 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5437 let {
5438 MenhirLib.EngineTypes.semv = e;
5439 MenhirLib.EngineTypes.startp = _startpos_e_;
5440 MenhirLib.EngineTypes.endp = _endpos_e_;
5441 MenhirLib.EngineTypes.next = {
5442 MenhirLib.EngineTypes.semv = rp;
5443 MenhirLib.EngineTypes.startp = _startpos_rp_;
5444 MenhirLib.EngineTypes.endp = _endpos_rp_;
5445 MenhirLib.EngineTypes.next = {
5446 MenhirLib.EngineTypes.semv = t;
5447 MenhirLib.EngineTypes.startp = _startpos_t_;
5448 MenhirLib.EngineTypes.endp = _endpos_t_;
5449 MenhirLib.EngineTypes.next = {
5450 MenhirLib.EngineTypes.state = _menhir_s;
5451 MenhirLib.EngineTypes.semv = lp;
5452 MenhirLib.EngineTypes.startp = _startpos_lp_;
5453 MenhirLib.EngineTypes.endp = _endpos_lp_;
5454 MenhirLib.EngineTypes.next = _menhir_stack;
5455 };
5456 };
5457 };
5458 } = _menhir_stack in
5459 let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in
5460 let rp : (
5461 # 81 "parser_cocci_menhir.mly"
5462 (Data.clt)
5463 # 5464 "parser_cocci_menhir.ml"
5464 ) = Obj.magic rp in
5465 let t : 'tv_ctype = Obj.magic t in
5466 let lp : (
5467 # 80 "parser_cocci_menhir.mly"
5468 (Data.clt)
5469 # 5470 "parser_cocci_menhir.ml"
5470 ) = Obj.magic lp in
5471 let _startpos = _startpos_lp_ in
5472 let _endpos = _endpos_e_ in
5473 let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
5474 # 1415 "parser_cocci_menhir.mly"
5475 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
5476 P.clt2mcode ")" rp, e)) )
5477 # 5478 "parser_cocci_menhir.ml"
5478 in
5479 _menhir_env.MenhirLib.EngineTypes.stack <- {
5480 MenhirLib.EngineTypes.state = _menhir_s;
5481 MenhirLib.EngineTypes.semv = Obj.repr _v;
5482 MenhirLib.EngineTypes.startp = _startpos;
5483 MenhirLib.EngineTypes.endp = _endpos;
5484 MenhirLib.EngineTypes.next = _menhir_stack;
5485 });
5486 (fun _menhir_env ->
5487 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5488 let {
5489 MenhirLib.EngineTypes.state = _menhir_s;
5490 MenhirLib.EngineTypes.semv = _1;
5491 MenhirLib.EngineTypes.startp = _startpos__1_;
5492 MenhirLib.EngineTypes.endp = _endpos__1_;
5493 MenhirLib.EngineTypes.next = _menhir_stack;
5494 } = _menhir_stack in
5495 let _1 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _1 in
5496 let _startpos = _startpos__1_ in
5497 let _endpos = _endpos__1_ in
5498 let _v : 'tv_cast_expr_eexpr_invalid_ =
5499 # 1413 "parser_cocci_menhir.mly"
5500 ( _1 )
5501 # 5502 "parser_cocci_menhir.ml"
5502 in
5503 _menhir_env.MenhirLib.EngineTypes.stack <- {
5504 MenhirLib.EngineTypes.state = _menhir_s;
5505 MenhirLib.EngineTypes.semv = Obj.repr _v;
5506 MenhirLib.EngineTypes.startp = _startpos;
5507 MenhirLib.EngineTypes.endp = _endpos;
5508 MenhirLib.EngineTypes.next = _menhir_stack;
5509 });
5510 (fun _menhir_env ->
5511 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5512 let {
5513 MenhirLib.EngineTypes.semv = e;
5514 MenhirLib.EngineTypes.startp = _startpos_e_;
5515 MenhirLib.EngineTypes.endp = _endpos_e_;
5516 MenhirLib.EngineTypes.next = {
5517 MenhirLib.EngineTypes.semv = rp;
5518 MenhirLib.EngineTypes.startp = _startpos_rp_;
5519 MenhirLib.EngineTypes.endp = _endpos_rp_;
5520 MenhirLib.EngineTypes.next = {
5521 MenhirLib.EngineTypes.semv = t;
5522 MenhirLib.EngineTypes.startp = _startpos_t_;
5523 MenhirLib.EngineTypes.endp = _endpos_t_;
5524 MenhirLib.EngineTypes.next = {
5525 MenhirLib.EngineTypes.state = _menhir_s;
5526 MenhirLib.EngineTypes.semv = lp;
5527 MenhirLib.EngineTypes.startp = _startpos_lp_;
5528 MenhirLib.EngineTypes.endp = _endpos_lp_;
5529 MenhirLib.EngineTypes.next = _menhir_stack;
5530 };
5531 };
5532 };
5533 } = _menhir_stack in
5534 let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in
5535 let rp : (
5536 # 81 "parser_cocci_menhir.mly"
5537 (Data.clt)
5538 # 5539 "parser_cocci_menhir.ml"
5539 ) = Obj.magic rp in
5540 let t : 'tv_ctype = Obj.magic t in
5541 let lp : (
5542 # 80 "parser_cocci_menhir.mly"
5543 (Data.clt)
5544 # 5545 "parser_cocci_menhir.ml"
5545 ) = Obj.magic lp in
5546 let _startpos = _startpos_lp_ in
5547 let _endpos = _endpos_e_ in
5548 let _v : 'tv_cast_expr_eexpr_invalid_ =
5549 # 1415 "parser_cocci_menhir.mly"
5550 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
5551 P.clt2mcode ")" rp, e)) )
5552 # 5553 "parser_cocci_menhir.ml"
5553 in
5554 _menhir_env.MenhirLib.EngineTypes.stack <- {
5555 MenhirLib.EngineTypes.state = _menhir_s;
5556 MenhirLib.EngineTypes.semv = Obj.repr _v;
5557 MenhirLib.EngineTypes.startp = _startpos;
5558 MenhirLib.EngineTypes.endp = _endpos;
5559 MenhirLib.EngineTypes.next = _menhir_stack;
5560 });
5561 (fun _menhir_env ->
5562 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5563 let {
5564 MenhirLib.EngineTypes.state = _menhir_s;
5565 MenhirLib.EngineTypes.semv = _1;
5566 MenhirLib.EngineTypes.startp = _startpos__1_;
5567 MenhirLib.EngineTypes.endp = _endpos__1_;
5568 MenhirLib.EngineTypes.next = _menhir_stack;
5569 } = _menhir_stack in
5570 let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
5571 let _startpos = _startpos__1_ in
5572 let _endpos = _endpos__1_ in
5573 let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
5574 # 1413 "parser_cocci_menhir.mly"
5575 ( _1 )
5576 # 5577 "parser_cocci_menhir.ml"
5577 in
5578 _menhir_env.MenhirLib.EngineTypes.stack <- {
5579 MenhirLib.EngineTypes.state = _menhir_s;
5580 MenhirLib.EngineTypes.semv = Obj.repr _v;
5581 MenhirLib.EngineTypes.startp = _startpos;
5582 MenhirLib.EngineTypes.endp = _endpos;
5583 MenhirLib.EngineTypes.next = _menhir_stack;
5584 });
5585 (fun _menhir_env ->
5586 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5587 let {
5588 MenhirLib.EngineTypes.semv = e;
5589 MenhirLib.EngineTypes.startp = _startpos_e_;
5590 MenhirLib.EngineTypes.endp = _endpos_e_;
5591 MenhirLib.EngineTypes.next = {
5592 MenhirLib.EngineTypes.semv = rp;
5593 MenhirLib.EngineTypes.startp = _startpos_rp_;
5594 MenhirLib.EngineTypes.endp = _endpos_rp_;
5595 MenhirLib.EngineTypes.next = {
5596 MenhirLib.EngineTypes.semv = t;
5597 MenhirLib.EngineTypes.startp = _startpos_t_;
5598 MenhirLib.EngineTypes.endp = _endpos_t_;
5599 MenhirLib.EngineTypes.next = {
5600 MenhirLib.EngineTypes.state = _menhir_s;
5601 MenhirLib.EngineTypes.semv = lp;
5602 MenhirLib.EngineTypes.startp = _startpos_lp_;
5603 MenhirLib.EngineTypes.endp = _endpos_lp_;
5604 MenhirLib.EngineTypes.next = _menhir_stack;
5605 };
5606 };
5607 };
5608 } = _menhir_stack in
5609 let e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in
5610 let rp : (
5611 # 81 "parser_cocci_menhir.mly"
5612 (Data.clt)
5613 # 5614 "parser_cocci_menhir.ml"
5614 ) = Obj.magic rp in
5615 let t : 'tv_ctype = Obj.magic t in
5616 let lp : (
5617 # 80 "parser_cocci_menhir.mly"
5618 (Data.clt)
5619 # 5620 "parser_cocci_menhir.ml"
5620 ) = Obj.magic lp in
5621 let _startpos = _startpos_lp_ in
5622 let _endpos = _endpos_e_ in
5623 let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
5624 # 1415 "parser_cocci_menhir.mly"
5625 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
5626 P.clt2mcode ")" rp, e)) )
5627 # 5628 "parser_cocci_menhir.ml"
5628 in
5629 _menhir_env.MenhirLib.EngineTypes.stack <- {
5630 MenhirLib.EngineTypes.state = _menhir_s;
5631 MenhirLib.EngineTypes.semv = Obj.repr _v;
5632 MenhirLib.EngineTypes.startp = _startpos;
5633 MenhirLib.EngineTypes.endp = _endpos;
5634 MenhirLib.EngineTypes.next = _menhir_stack;
5635 });
5636 (fun _menhir_env ->
5637 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5638 let {
5639 MenhirLib.EngineTypes.state = _menhir_s;
5640 MenhirLib.EngineTypes.semv = _1;
5641 MenhirLib.EngineTypes.startp = _startpos__1_;
5642 MenhirLib.EngineTypes.endp = _endpos__1_;
5643 MenhirLib.EngineTypes.next = _menhir_stack;
5644 } = _menhir_stack in
5645 let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
5646 let _startpos = _startpos__1_ in
5647 let _endpos = _endpos__1_ in
5648 let _v : 'tv_cast_expr_expr_invalid_ =
5649 # 1413 "parser_cocci_menhir.mly"
5650 ( _1 )
5651 # 5652 "parser_cocci_menhir.ml"
5652 in
5653 _menhir_env.MenhirLib.EngineTypes.stack <- {
5654 MenhirLib.EngineTypes.state = _menhir_s;
5655 MenhirLib.EngineTypes.semv = Obj.repr _v;
5656 MenhirLib.EngineTypes.startp = _startpos;
5657 MenhirLib.EngineTypes.endp = _endpos;
5658 MenhirLib.EngineTypes.next = _menhir_stack;
5659 });
5660 (fun _menhir_env ->
5661 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5662 let {
5663 MenhirLib.EngineTypes.semv = e;
5664 MenhirLib.EngineTypes.startp = _startpos_e_;
5665 MenhirLib.EngineTypes.endp = _endpos_e_;
5666 MenhirLib.EngineTypes.next = {
5667 MenhirLib.EngineTypes.semv = rp;
5668 MenhirLib.EngineTypes.startp = _startpos_rp_;
5669 MenhirLib.EngineTypes.endp = _endpos_rp_;
5670 MenhirLib.EngineTypes.next = {
5671 MenhirLib.EngineTypes.semv = t;
5672 MenhirLib.EngineTypes.startp = _startpos_t_;
5673 MenhirLib.EngineTypes.endp = _endpos_t_;
5674 MenhirLib.EngineTypes.next = {
5675 MenhirLib.EngineTypes.state = _menhir_s;
5676 MenhirLib.EngineTypes.semv = lp;
5677 MenhirLib.EngineTypes.startp = _startpos_lp_;
5678 MenhirLib.EngineTypes.endp = _endpos_lp_;
5679 MenhirLib.EngineTypes.next = _menhir_stack;
5680 };
5681 };
5682 };
5683 } = _menhir_stack in
5684 let e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in
5685 let rp : (
5686 # 81 "parser_cocci_menhir.mly"
5687 (Data.clt)
5688 # 5689 "parser_cocci_menhir.ml"
5689 ) = Obj.magic rp in
5690 let t : 'tv_ctype = Obj.magic t in
5691 let lp : (
5692 # 80 "parser_cocci_menhir.mly"
5693 (Data.clt)
5694 # 5695 "parser_cocci_menhir.ml"
5695 ) = Obj.magic lp in
5696 let _startpos = _startpos_lp_ in
5697 let _endpos = _endpos_e_ in
5698 let _v : 'tv_cast_expr_expr_invalid_ =
5699 # 1415 "parser_cocci_menhir.mly"
5700 ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
5701 P.clt2mcode ")" rp, e)) )
5702 # 5703 "parser_cocci_menhir.ml"
5703 in
5704 _menhir_env.MenhirLib.EngineTypes.stack <- {
5705 MenhirLib.EngineTypes.state = _menhir_s;
5706 MenhirLib.EngineTypes.semv = Obj.repr _v;
5707 MenhirLib.EngineTypes.startp = _startpos;
5708 MenhirLib.EngineTypes.endp = _endpos;
5709 MenhirLib.EngineTypes.next = _menhir_stack;
5710 });
5711 (fun _menhir_env ->
5712 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5713 let {
5714 MenhirLib.EngineTypes.semv = _2;
5715 MenhirLib.EngineTypes.startp = _startpos__2_;
5716 MenhirLib.EngineTypes.endp = _endpos__2_;
5717 MenhirLib.EngineTypes.next = {
5718 MenhirLib.EngineTypes.state = _menhir_s;
5719 MenhirLib.EngineTypes.startp = _startpos__1_;
5720 MenhirLib.EngineTypes.endp = _endpos__1_;
5721 MenhirLib.EngineTypes.next = _menhir_stack;
5722 };
5723 } = _menhir_stack in
5724 let _2 : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic _2 in
5725 let _startpos = _startpos__1_ in
5726 let _endpos = _endpos__2_ in
5727 let _v : 'tv_choose_iso =
5728 # 243 "parser_cocci_menhir.mly"
5729 ( List.map P.id2name _2 )
5730 # 5731 "parser_cocci_menhir.ml"
5731 in
5732 _menhir_env.MenhirLib.EngineTypes.stack <- {
5733 MenhirLib.EngineTypes.state = _menhir_s;
5734 MenhirLib.EngineTypes.semv = Obj.repr _v;
5735 MenhirLib.EngineTypes.startp = _startpos;
5736 MenhirLib.EngineTypes.endp = _endpos;
5737 MenhirLib.EngineTypes.next = _menhir_stack;
5738 });
5739 (fun _menhir_env ->
5740 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5741 let {
5742 MenhirLib.EngineTypes.state = _menhir_s;
5743 MenhirLib.EngineTypes.semv = _1;
5744 MenhirLib.EngineTypes.startp = _startpos__1_;
5745 MenhirLib.EngineTypes.endp = _endpos__1_;
5746 MenhirLib.EngineTypes.next = _menhir_stack;
5747 } = _menhir_stack in
5748 let _1 : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic _1 in
5749 let _startpos = _startpos__1_ in
5750 let _endpos = _endpos__1_ in
5751 let _v : 'tv_comma_list_any_strict_ =
5752 # 2092 "parser_cocci_menhir.mly"
5753 ( _1 )
5754 # 5755 "parser_cocci_menhir.ml"
5755 in
5756 _menhir_env.MenhirLib.EngineTypes.stack <- {
5757 MenhirLib.EngineTypes.state = _menhir_s;
5758 MenhirLib.EngineTypes.semv = Obj.repr _v;
5759 MenhirLib.EngineTypes.startp = _startpos;
5760 MenhirLib.EngineTypes.endp = _endpos;
5761 MenhirLib.EngineTypes.next = _menhir_stack;
5762 });
5763 (fun _menhir_env ->
5764 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5765 let {
5766 MenhirLib.EngineTypes.state = _menhir_s;
5767 MenhirLib.EngineTypes.semv = _1;
5768 MenhirLib.EngineTypes.startp = _startpos__1_;
5769 MenhirLib.EngineTypes.endp = _endpos__1_;
5770 MenhirLib.EngineTypes.next = _menhir_stack;
5771 } = _menhir_stack in
5772 let _1 : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic _1 in
5773 let _startpos = _startpos__1_ in
5774 let _endpos = _endpos__1_ in
5775 let _v : 'tv_comma_list_ctype_ =
5776 # 2092 "parser_cocci_menhir.mly"
5777 ( _1 )
5778 # 5779 "parser_cocci_menhir.ml"
5779 in
5780 _menhir_env.MenhirLib.EngineTypes.stack <- {
5781 MenhirLib.EngineTypes.state = _menhir_s;
5782 MenhirLib.EngineTypes.semv = Obj.repr _v;
5783 MenhirLib.EngineTypes.startp = _startpos;
5784 MenhirLib.EngineTypes.endp = _endpos;
5785 MenhirLib.EngineTypes.next = _menhir_stack;
5786 });
5787 (fun _menhir_env ->
5788 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5789 let {
5790 MenhirLib.EngineTypes.state = _menhir_s;
5791 MenhirLib.EngineTypes.semv = _1;
5792 MenhirLib.EngineTypes.startp = _startpos__1_;
5793 MenhirLib.EngineTypes.endp = _endpos__1_;
5794 MenhirLib.EngineTypes.next = _menhir_stack;
5795 } = _menhir_stack in
5796 let _1 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic _1 in
5797 let _startpos = _startpos__1_ in
5798 let _endpos = _endpos__1_ in
5799 let _v : 'tv_comma_list_d_ident_ =
5800 # 2092 "parser_cocci_menhir.mly"
5801 ( _1 )
5802 # 5803 "parser_cocci_menhir.ml"
5803 in
5804 _menhir_env.MenhirLib.EngineTypes.stack <- {
5805 MenhirLib.EngineTypes.state = _menhir_s;
5806 MenhirLib.EngineTypes.semv = Obj.repr _v;
5807 MenhirLib.EngineTypes.startp = _startpos;
5808 MenhirLib.EngineTypes.endp = _endpos;
5809 MenhirLib.EngineTypes.next = _menhir_stack;
5810 });
5811 (fun _menhir_env ->
5812 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5813 let {
5814 MenhirLib.EngineTypes.state = _menhir_s;
5815 MenhirLib.EngineTypes.semv = _1;
5816 MenhirLib.EngineTypes.startp = _startpos__1_;
5817 MenhirLib.EngineTypes.endp = _endpos__1_;
5818 MenhirLib.EngineTypes.next = _menhir_stack;
5819 } = _menhir_stack in
5820 let _1 : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic _1 in
5821 let _startpos = _startpos__1_ in
5822 let _endpos = _endpos__1_ in
5823 let _v : 'tv_comma_list_ident_or_const_ =
5824 # 2092 "parser_cocci_menhir.mly"
5825 ( _1 )
5826 # 5827 "parser_cocci_menhir.ml"
5827 in
5828 _menhir_env.MenhirLib.EngineTypes.stack <- {
5829 MenhirLib.EngineTypes.state = _menhir_s;
5830 MenhirLib.EngineTypes.semv = Obj.repr _v;
5831 MenhirLib.EngineTypes.startp = _startpos;
5832 MenhirLib.EngineTypes.endp = _endpos;
5833 MenhirLib.EngineTypes.next = _menhir_stack;
5834 });
5835 (fun _menhir_env ->
5836 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5837 let {
5838 MenhirLib.EngineTypes.state = _menhir_s;
5839 MenhirLib.EngineTypes.semv = _1;
5840 MenhirLib.EngineTypes.startp = _startpos__1_;
5841 MenhirLib.EngineTypes.endp = _endpos__1_;
5842 MenhirLib.EngineTypes.next = _menhir_stack;
5843 } = _menhir_stack in
5844 let _1 : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic _1 in
5845 let _startpos = _startpos__1_ in
5846 let _endpos = _endpos__1_ in
5847 let _v : 'tv_comma_list_meta_ident_ =
5848 # 2092 "parser_cocci_menhir.mly"
5849 ( _1 )
5850 # 5851 "parser_cocci_menhir.ml"
5851 in
5852 _menhir_env.MenhirLib.EngineTypes.stack <- {
5853 MenhirLib.EngineTypes.state = _menhir_s;
5854 MenhirLib.EngineTypes.semv = Obj.repr _v;
5855 MenhirLib.EngineTypes.startp = _startpos;
5856 MenhirLib.EngineTypes.endp = _endpos;
5857 MenhirLib.EngineTypes.next = _menhir_stack;
5858 });
5859 (fun _menhir_env ->
5860 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5861 let {
5862 MenhirLib.EngineTypes.state = _menhir_s;
5863 MenhirLib.EngineTypes.semv = _1;
5864 MenhirLib.EngineTypes.startp = _startpos__1_;
5865 MenhirLib.EngineTypes.endp = _endpos__1_;
5866 MenhirLib.EngineTypes.next = _menhir_stack;
5867 } = _menhir_stack in
5868 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _1 in
5869 let _startpos = _startpos__1_ in
5870 let _endpos = _endpos__1_ in
5871 let _v : 'tv_comma_list_pure_ident_ =
5872 # 2092 "parser_cocci_menhir.mly"
5873 ( _1 )
5874 # 5875 "parser_cocci_menhir.ml"
5875 in
5876 _menhir_env.MenhirLib.EngineTypes.stack <- {
5877 MenhirLib.EngineTypes.state = _menhir_s;
5878 MenhirLib.EngineTypes.semv = Obj.repr _v;
5879 MenhirLib.EngineTypes.startp = _startpos;
5880 MenhirLib.EngineTypes.endp = _endpos;
5881 MenhirLib.EngineTypes.next = _menhir_stack;
5882 });
5883 (fun _menhir_env ->
5884 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5885 let {
5886 MenhirLib.EngineTypes.state = _menhir_s;
5887 MenhirLib.EngineTypes.semv = _1;
5888 MenhirLib.EngineTypes.startp = _startpos__1_;
5889 MenhirLib.EngineTypes.endp = _endpos__1_;
5890 MenhirLib.EngineTypes.next = _menhir_stack;
5891 } = _menhir_stack in
5892 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic _1 in
5893 let _startpos = _startpos__1_ in
5894 let _endpos = _endpos__1_ in
5895 let _v : 'tv_comma_list_pure_ident_or_meta_ident_ =
5896 # 2092 "parser_cocci_menhir.mly"
5897 ( _1 )
5898 # 5899 "parser_cocci_menhir.ml"
5899 in
5900 _menhir_env.MenhirLib.EngineTypes.stack <- {
5901 MenhirLib.EngineTypes.state = _menhir_s;
5902 MenhirLib.EngineTypes.semv = Obj.repr _v;
5903 MenhirLib.EngineTypes.startp = _startpos;
5904 MenhirLib.EngineTypes.endp = _endpos;
5905 MenhirLib.EngineTypes.next = _menhir_stack;
5906 });
5907 (fun _menhir_env ->
5908 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5909 let {
5910 MenhirLib.EngineTypes.state = _menhir_s;
5911 MenhirLib.EngineTypes.semv = _1;
5912 MenhirLib.EngineTypes.startp = _startpos__1_;
5913 MenhirLib.EngineTypes.endp = _endpos__1_;
5914 MenhirLib.EngineTypes.next = _menhir_stack;
5915 } = _menhir_stack in
5916 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic _1 in
5917 let _startpos = _startpos__1_ in
5918 let _endpos = _endpos__1_ in
5919 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
5920 # 2092 "parser_cocci_menhir.mly"
5921 ( _1 )
5922 # 5923 "parser_cocci_menhir.ml"
5923 in
5924 _menhir_env.MenhirLib.EngineTypes.stack <- {
5925 MenhirLib.EngineTypes.state = _menhir_s;
5926 MenhirLib.EngineTypes.semv = Obj.repr _v;
5927 MenhirLib.EngineTypes.startp = _startpos;
5928 MenhirLib.EngineTypes.endp = _endpos;
5929 MenhirLib.EngineTypes.next = _menhir_stack;
5930 });
5931 (fun _menhir_env ->
5932 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5933 let {
5934 MenhirLib.EngineTypes.state = _menhir_s;
5935 MenhirLib.EngineTypes.semv = _1;
5936 MenhirLib.EngineTypes.startp = _startpos__1_;
5937 MenhirLib.EngineTypes.endp = _endpos__1_;
5938 MenhirLib.EngineTypes.next = _menhir_stack;
5939 } = _menhir_stack in
5940 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic _1 in
5941 let _startpos = _startpos__1_ in
5942 let _endpos = _endpos__1_ in
5943 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
5944 # 2092 "parser_cocci_menhir.mly"
5945 ( _1 )
5946 # 5947 "parser_cocci_menhir.ml"
5947 in
5948 _menhir_env.MenhirLib.EngineTypes.stack <- {
5949 MenhirLib.EngineTypes.state = _menhir_s;
5950 MenhirLib.EngineTypes.semv = Obj.repr _v;
5951 MenhirLib.EngineTypes.startp = _startpos;
5952 MenhirLib.EngineTypes.endp = _endpos;
5953 MenhirLib.EngineTypes.next = _menhir_stack;
5954 });
5955 (fun _menhir_env ->
5956 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5957 let {
5958 MenhirLib.EngineTypes.state = _menhir_s;
5959 MenhirLib.EngineTypes.semv = _1;
5960 MenhirLib.EngineTypes.startp = _startpos__1_;
5961 MenhirLib.EngineTypes.endp = _endpos__1_;
5962 MenhirLib.EngineTypes.next = _menhir_stack;
5963 } = _menhir_stack in
5964 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic _1 in
5965 let _startpos = _startpos__1_ in
5966 let _endpos = _endpos__1_ in
5967 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
5968 # 2092 "parser_cocci_menhir.mly"
5969 ( _1 )
5970 # 5971 "parser_cocci_menhir.ml"
5971 in
5972 _menhir_env.MenhirLib.EngineTypes.stack <- {
5973 MenhirLib.EngineTypes.state = _menhir_s;
5974 MenhirLib.EngineTypes.semv = Obj.repr _v;
5975 MenhirLib.EngineTypes.startp = _startpos;
5976 MenhirLib.EngineTypes.endp = _endpos;
5977 MenhirLib.EngineTypes.next = _menhir_stack;
5978 });
5979 (fun _menhir_env ->
5980 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
5981 let {
5982 MenhirLib.EngineTypes.state = _menhir_s;
5983 MenhirLib.EngineTypes.semv = _1;
5984 MenhirLib.EngineTypes.startp = _startpos__1_;
5985 MenhirLib.EngineTypes.endp = _endpos__1_;
5986 MenhirLib.EngineTypes.next = _menhir_stack;
5987 } = _menhir_stack in
5988 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic _1 in
5989 let _startpos = _startpos__1_ in
5990 let _endpos = _endpos__1_ in
5991 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
5992 # 2092 "parser_cocci_menhir.mly"
5993 ( _1 )
5994 # 5995 "parser_cocci_menhir.ml"
5995 in
5996 _menhir_env.MenhirLib.EngineTypes.stack <- {
5997 MenhirLib.EngineTypes.state = _menhir_s;
5998 MenhirLib.EngineTypes.semv = Obj.repr _v;
5999 MenhirLib.EngineTypes.startp = _startpos;
6000 MenhirLib.EngineTypes.endp = _endpos;
6001 MenhirLib.EngineTypes.next = _menhir_stack;
6002 });
6003 (fun _menhir_env ->
6004 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6005 let {
6006 MenhirLib.EngineTypes.state = _menhir_s;
6007 MenhirLib.EngineTypes.semv = _1;
6008 MenhirLib.EngineTypes.startp = _startpos__1_;
6009 MenhirLib.EngineTypes.endp = _endpos__1_;
6010 MenhirLib.EngineTypes.next = _menhir_stack;
6011 } = _menhir_stack in
6012 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic _1 in
6013 let _startpos = _startpos__1_ in
6014 let _endpos = _endpos__1_ in
6015 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ =
6016 # 2092 "parser_cocci_menhir.mly"
6017 ( _1 )
6018 # 6019 "parser_cocci_menhir.ml"
6019 in
6020 _menhir_env.MenhirLib.EngineTypes.stack <- {
6021 MenhirLib.EngineTypes.state = _menhir_s;
6022 MenhirLib.EngineTypes.semv = Obj.repr _v;
6023 MenhirLib.EngineTypes.startp = _startpos;
6024 MenhirLib.EngineTypes.endp = _endpos;
6025 MenhirLib.EngineTypes.next = _menhir_stack;
6026 });
6027 (fun _menhir_env ->
6028 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6029 let {
6030 MenhirLib.EngineTypes.state = _menhir_s;
6031 MenhirLib.EngineTypes.semv = _1;
6032 MenhirLib.EngineTypes.startp = _startpos__1_;
6033 MenhirLib.EngineTypes.endp = _endpos__1_;
6034 MenhirLib.EngineTypes.next = _menhir_stack;
6035 } = _menhir_stack in
6036 let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic _1 in
6037 let _startpos = _startpos__1_ in
6038 let _endpos = _endpos__1_ in
6039 let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
6040 # 2092 "parser_cocci_menhir.mly"
6041 ( _1 )
6042 # 6043 "parser_cocci_menhir.ml"
6043 in
6044 _menhir_env.MenhirLib.EngineTypes.stack <- {
6045 MenhirLib.EngineTypes.state = _menhir_s;
6046 MenhirLib.EngineTypes.semv = Obj.repr _v;
6047 MenhirLib.EngineTypes.startp = _startpos;
6048 MenhirLib.EngineTypes.endp = _endpos;
6049 MenhirLib.EngineTypes.next = _menhir_stack;
6050 });
6051 (fun _menhir_env ->
6052 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6053 let {
6054 MenhirLib.EngineTypes.state = _menhir_s;
6055 MenhirLib.EngineTypes.semv = _1;
6056 MenhirLib.EngineTypes.startp = _startpos__1_;
6057 MenhirLib.EngineTypes.endp = _endpos__1_;
6058 MenhirLib.EngineTypes.next = _menhir_stack;
6059 } = _menhir_stack in
6060 let _1 : 'tv_separated_nonempty_list_TComma_typedef_ident_ = Obj.magic _1 in
6061 let _startpos = _startpos__1_ in
6062 let _endpos = _endpos__1_ in
6063 let _v : 'tv_comma_list_typedef_ident_ =
6064 # 2092 "parser_cocci_menhir.mly"
6065 ( _1 )
6066 # 6067 "parser_cocci_menhir.ml"
6067 in
6068 _menhir_env.MenhirLib.EngineTypes.stack <- {
6069 MenhirLib.EngineTypes.state = _menhir_s;
6070 MenhirLib.EngineTypes.semv = Obj.repr _v;
6071 MenhirLib.EngineTypes.startp = _startpos;
6072 MenhirLib.EngineTypes.endp = _endpos;
6073 MenhirLib.EngineTypes.next = _menhir_stack;
6074 });
6075 (fun _menhir_env ->
6076 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6077 let {
6078 MenhirLib.EngineTypes.state = _menhir_s;
6079 MenhirLib.EngineTypes.semv = _1;
6080 MenhirLib.EngineTypes.startp = _startpos__1_;
6081 MenhirLib.EngineTypes.endp = _endpos__1_;
6082 MenhirLib.EngineTypes.next = _menhir_stack;
6083 } = _menhir_stack in
6084 let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
6085 let _startpos = _startpos__1_ in
6086 let _endpos = _endpos__1_ in
6087 let _v : 'tv_cond_expr_eexpr_dot_expressions_ =
6088 # 1343 "parser_cocci_menhir.mly"
6089 ( _1 )
6090 # 6091 "parser_cocci_menhir.ml"
6091 in
6092 _menhir_env.MenhirLib.EngineTypes.stack <- {
6093 MenhirLib.EngineTypes.state = _menhir_s;
6094 MenhirLib.EngineTypes.semv = Obj.repr _v;
6095 MenhirLib.EngineTypes.startp = _startpos;
6096 MenhirLib.EngineTypes.endp = _endpos;
6097 MenhirLib.EngineTypes.next = _menhir_stack;
6098 });
6099 (fun _menhir_env ->
6100 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6101 let {
6102 MenhirLib.EngineTypes.semv = r;
6103 MenhirLib.EngineTypes.startp = _startpos_r_;
6104 MenhirLib.EngineTypes.endp = _endpos_r_;
6105 MenhirLib.EngineTypes.next = {
6106 MenhirLib.EngineTypes.semv = dd;
6107 MenhirLib.EngineTypes.startp = _startpos_dd_;
6108 MenhirLib.EngineTypes.endp = _endpos_dd_;
6109 MenhirLib.EngineTypes.next = {
6110 MenhirLib.EngineTypes.semv = t;
6111 MenhirLib.EngineTypes.startp = _startpos_t_;
6112 MenhirLib.EngineTypes.endp = _endpos_t_;
6113 MenhirLib.EngineTypes.next = {
6114 MenhirLib.EngineTypes.semv = w;
6115 MenhirLib.EngineTypes.startp = _startpos_w_;
6116 MenhirLib.EngineTypes.endp = _endpos_w_;
6117 MenhirLib.EngineTypes.next = {
6118 MenhirLib.EngineTypes.state = _menhir_s;
6119 MenhirLib.EngineTypes.semv = l;
6120 MenhirLib.EngineTypes.startp = _startpos_l_;
6121 MenhirLib.EngineTypes.endp = _endpos_l_;
6122 MenhirLib.EngineTypes.next = _menhir_stack;
6123 };
6124 };
6125 };
6126 };
6127 } = _menhir_stack in
6128 let r : 'tv_eexpr = Obj.magic r in
6129 let dd : (
6130 # 80 "parser_cocci_menhir.mly"
6131 (Data.clt)
6132 # 6133 "parser_cocci_menhir.ml"
6133 ) = Obj.magic dd in
6134 let t : 'tv_option_eexpr_ = Obj.magic t in
6135 let w : (
6136 # 80 "parser_cocci_menhir.mly"
6137 (Data.clt)
6138 # 6139 "parser_cocci_menhir.ml"
6139 ) = Obj.magic w in
6140 let l : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic l in
6141 let _startpos = _startpos_l_ in
6142 let _endpos = _endpos_r_ in
6143 let _v : 'tv_cond_expr_eexpr_dot_expressions_ =
6144 # 1345 "parser_cocci_menhir.mly"
6145 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
6146 P.clt2mcode ":" dd, r)) )
6147 # 6148 "parser_cocci_menhir.ml"
6148 in
6149 _menhir_env.MenhirLib.EngineTypes.stack <- {
6150 MenhirLib.EngineTypes.state = _menhir_s;
6151 MenhirLib.EngineTypes.semv = Obj.repr _v;
6152 MenhirLib.EngineTypes.startp = _startpos;
6153 MenhirLib.EngineTypes.endp = _endpos;
6154 MenhirLib.EngineTypes.next = _menhir_stack;
6155 });
6156 (fun _menhir_env ->
6157 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6158 let {
6159 MenhirLib.EngineTypes.state = _menhir_s;
6160 MenhirLib.EngineTypes.semv = _1;
6161 MenhirLib.EngineTypes.startp = _startpos__1_;
6162 MenhirLib.EngineTypes.endp = _endpos__1_;
6163 MenhirLib.EngineTypes.next = _menhir_stack;
6164 } = _menhir_stack in
6165 let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
6166 let _startpos = _startpos__1_ in
6167 let _endpos = _endpos__1_ in
6168 let _v : 'tv_cond_expr_eexpr_nest_expressions_ =
6169 # 1343 "parser_cocci_menhir.mly"
6170 ( _1 )
6171 # 6172 "parser_cocci_menhir.ml"
6172 in
6173 _menhir_env.MenhirLib.EngineTypes.stack <- {
6174 MenhirLib.EngineTypes.state = _menhir_s;
6175 MenhirLib.EngineTypes.semv = Obj.repr _v;
6176 MenhirLib.EngineTypes.startp = _startpos;
6177 MenhirLib.EngineTypes.endp = _endpos;
6178 MenhirLib.EngineTypes.next = _menhir_stack;
6179 });
6180 (fun _menhir_env ->
6181 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6182 let {
6183 MenhirLib.EngineTypes.semv = r;
6184 MenhirLib.EngineTypes.startp = _startpos_r_;
6185 MenhirLib.EngineTypes.endp = _endpos_r_;
6186 MenhirLib.EngineTypes.next = {
6187 MenhirLib.EngineTypes.semv = dd;
6188 MenhirLib.EngineTypes.startp = _startpos_dd_;
6189 MenhirLib.EngineTypes.endp = _endpos_dd_;
6190 MenhirLib.EngineTypes.next = {
6191 MenhirLib.EngineTypes.semv = t;
6192 MenhirLib.EngineTypes.startp = _startpos_t_;
6193 MenhirLib.EngineTypes.endp = _endpos_t_;
6194 MenhirLib.EngineTypes.next = {
6195 MenhirLib.EngineTypes.semv = w;
6196 MenhirLib.EngineTypes.startp = _startpos_w_;
6197 MenhirLib.EngineTypes.endp = _endpos_w_;
6198 MenhirLib.EngineTypes.next = {
6199 MenhirLib.EngineTypes.state = _menhir_s;
6200 MenhirLib.EngineTypes.semv = l;
6201 MenhirLib.EngineTypes.startp = _startpos_l_;
6202 MenhirLib.EngineTypes.endp = _endpos_l_;
6203 MenhirLib.EngineTypes.next = _menhir_stack;
6204 };
6205 };
6206 };
6207 };
6208 } = _menhir_stack in
6209 let r : 'tv_eexpr = Obj.magic r in
6210 let dd : (
6211 # 80 "parser_cocci_menhir.mly"
6212 (Data.clt)
6213 # 6214 "parser_cocci_menhir.ml"
6214 ) = Obj.magic dd in
6215 let t : 'tv_option_eexpr_ = Obj.magic t in
6216 let w : (
6217 # 80 "parser_cocci_menhir.mly"
6218 (Data.clt)
6219 # 6220 "parser_cocci_menhir.ml"
6220 ) = Obj.magic w in
6221 let l : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic l in
6222 let _startpos = _startpos_l_ in
6223 let _endpos = _endpos_r_ in
6224 let _v : 'tv_cond_expr_eexpr_nest_expressions_ =
6225 # 1345 "parser_cocci_menhir.mly"
6226 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
6227 P.clt2mcode ":" dd, r)) )
6228 # 6229 "parser_cocci_menhir.ml"
6229 in
6230 _menhir_env.MenhirLib.EngineTypes.stack <- {
6231 MenhirLib.EngineTypes.state = _menhir_s;
6232 MenhirLib.EngineTypes.semv = Obj.repr _v;
6233 MenhirLib.EngineTypes.startp = _startpos;
6234 MenhirLib.EngineTypes.endp = _endpos;
6235 MenhirLib.EngineTypes.next = _menhir_stack;
6236 });
6237 (fun _menhir_env ->
6238 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6239 let {
6240 MenhirLib.EngineTypes.state = _menhir_s;
6241 MenhirLib.EngineTypes.semv = _1;
6242 MenhirLib.EngineTypes.startp = _startpos__1_;
6243 MenhirLib.EngineTypes.endp = _endpos__1_;
6244 MenhirLib.EngineTypes.next = _menhir_stack;
6245 } = _menhir_stack in
6246 let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
6247 let _startpos = _startpos__1_ in
6248 let _endpos = _endpos__1_ in
6249 let _v : 'tv_cond_expr_expr_invalid_ =
6250 # 1343 "parser_cocci_menhir.mly"
6251 ( _1 )
6252 # 6253 "parser_cocci_menhir.ml"
6253 in
6254 _menhir_env.MenhirLib.EngineTypes.stack <- {
6255 MenhirLib.EngineTypes.state = _menhir_s;
6256 MenhirLib.EngineTypes.semv = Obj.repr _v;
6257 MenhirLib.EngineTypes.startp = _startpos;
6258 MenhirLib.EngineTypes.endp = _endpos;
6259 MenhirLib.EngineTypes.next = _menhir_stack;
6260 });
6261 (fun _menhir_env ->
6262 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6263 let {
6264 MenhirLib.EngineTypes.semv = r;
6265 MenhirLib.EngineTypes.startp = _startpos_r_;
6266 MenhirLib.EngineTypes.endp = _endpos_r_;
6267 MenhirLib.EngineTypes.next = {
6268 MenhirLib.EngineTypes.semv = dd;
6269 MenhirLib.EngineTypes.startp = _startpos_dd_;
6270 MenhirLib.EngineTypes.endp = _endpos_dd_;
6271 MenhirLib.EngineTypes.next = {
6272 MenhirLib.EngineTypes.semv = t;
6273 MenhirLib.EngineTypes.startp = _startpos_t_;
6274 MenhirLib.EngineTypes.endp = _endpos_t_;
6275 MenhirLib.EngineTypes.next = {
6276 MenhirLib.EngineTypes.semv = w;
6277 MenhirLib.EngineTypes.startp = _startpos_w_;
6278 MenhirLib.EngineTypes.endp = _endpos_w_;
6279 MenhirLib.EngineTypes.next = {
6280 MenhirLib.EngineTypes.state = _menhir_s;
6281 MenhirLib.EngineTypes.semv = l;
6282 MenhirLib.EngineTypes.startp = _startpos_l_;
6283 MenhirLib.EngineTypes.endp = _endpos_l_;
6284 MenhirLib.EngineTypes.next = _menhir_stack;
6285 };
6286 };
6287 };
6288 };
6289 } = _menhir_stack in
6290 let r : 'tv_eexpr = Obj.magic r in
6291 let dd : (
6292 # 80 "parser_cocci_menhir.mly"
6293 (Data.clt)
6294 # 6295 "parser_cocci_menhir.ml"
6295 ) = Obj.magic dd in
6296 let t : 'tv_option_eexpr_ = Obj.magic t in
6297 let w : (
6298 # 80 "parser_cocci_menhir.mly"
6299 (Data.clt)
6300 # 6301 "parser_cocci_menhir.ml"
6301 ) = Obj.magic w in
6302 let l : 'tv_arith_expr_expr_invalid_ = Obj.magic l in
6303 let _startpos = _startpos_l_ in
6304 let _endpos = _endpos_r_ in
6305 let _v : 'tv_cond_expr_expr_invalid_ =
6306 # 1345 "parser_cocci_menhir.mly"
6307 ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
6308 P.clt2mcode ":" dd, r)) )
6309 # 6310 "parser_cocci_menhir.ml"
6310 in
6311 _menhir_env.MenhirLib.EngineTypes.stack <- {
6312 MenhirLib.EngineTypes.state = _menhir_s;
6313 MenhirLib.EngineTypes.semv = Obj.repr _v;
6314 MenhirLib.EngineTypes.startp = _startpos;
6315 MenhirLib.EngineTypes.endp = _endpos;
6316 MenhirLib.EngineTypes.next = _menhir_stack;
6317 });
6318 (fun _menhir_env ->
6319 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6320 let {
6321 MenhirLib.EngineTypes.state = _menhir_s;
6322 MenhirLib.EngineTypes.semv = _1;
6323 MenhirLib.EngineTypes.startp = _startpos__1_;
6324 MenhirLib.EngineTypes.endp = _endpos__1_;
6325 MenhirLib.EngineTypes.next = _menhir_stack;
6326 } = _menhir_stack in
6327 let _1 : (
6328 # 57 "parser_cocci_menhir.mly"
6329 (Data.clt)
6330 # 6331 "parser_cocci_menhir.ml"
6331 ) = Obj.magic _1 in
6332 let _startpos = _startpos__1_ in
6333 let _endpos = _endpos__1_ in
6334 let _v : 'tv_const_vol =
6335 # 945 "parser_cocci_menhir.mly"
6336 ( P.clt2mcode Ast.Const _1 )
6337 # 6338 "parser_cocci_menhir.ml"
6338 in
6339 _menhir_env.MenhirLib.EngineTypes.stack <- {
6340 MenhirLib.EngineTypes.state = _menhir_s;
6341 MenhirLib.EngineTypes.semv = Obj.repr _v;
6342 MenhirLib.EngineTypes.startp = _startpos;
6343 MenhirLib.EngineTypes.endp = _endpos;
6344 MenhirLib.EngineTypes.next = _menhir_stack;
6345 });
6346 (fun _menhir_env ->
6347 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6348 let {
6349 MenhirLib.EngineTypes.state = _menhir_s;
6350 MenhirLib.EngineTypes.semv = _1;
6351 MenhirLib.EngineTypes.startp = _startpos__1_;
6352 MenhirLib.EngineTypes.endp = _endpos__1_;
6353 MenhirLib.EngineTypes.next = _menhir_stack;
6354 } = _menhir_stack in
6355 let _1 : (
6356 # 57 "parser_cocci_menhir.mly"
6357 (Data.clt)
6358 # 6359 "parser_cocci_menhir.ml"
6359 ) = Obj.magic _1 in
6360 let _startpos = _startpos__1_ in
6361 let _endpos = _endpos__1_ in
6362 let _v : 'tv_const_vol =
6363 # 946 "parser_cocci_menhir.mly"
6364 ( P.clt2mcode Ast.Volatile _1 )
6365 # 6366 "parser_cocci_menhir.ml"
6366 in
6367 _menhir_env.MenhirLib.EngineTypes.stack <- {
6368 MenhirLib.EngineTypes.state = _menhir_s;
6369 MenhirLib.EngineTypes.semv = Obj.repr _v;
6370 MenhirLib.EngineTypes.startp = _startpos;
6371 MenhirLib.EngineTypes.endp = _endpos;
6372 MenhirLib.EngineTypes.next = _menhir_stack;
6373 });
6374 (fun _menhir_env ->
6375 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6376 let {
6377 MenhirLib.EngineTypes.state = _menhir_s;
6378 MenhirLib.EngineTypes.semv = _1;
6379 MenhirLib.EngineTypes.startp = _startpos__1_;
6380 MenhirLib.EngineTypes.endp = _endpos__1_;
6381 MenhirLib.EngineTypes.next = _menhir_stack;
6382 } = _menhir_stack in
6383 let _1 : 'tv_aexpr = Obj.magic _1 in
6384 let _startpos = _startpos__1_ in
6385 let _endpos = _endpos__1_ in
6386 let _v : 'tv_continue_list_aexpr_TEllipsis_ =
6387 # 1868 "parser_cocci_menhir.mly"
6388 ( fun build_dots build_comma -> [_1] )
6389 # 6390 "parser_cocci_menhir.ml"
6390 in
6391 _menhir_env.MenhirLib.EngineTypes.stack <- {
6392 MenhirLib.EngineTypes.state = _menhir_s;
6393 MenhirLib.EngineTypes.semv = Obj.repr _v;
6394 MenhirLib.EngineTypes.startp = _startpos;
6395 MenhirLib.EngineTypes.endp = _endpos;
6396 MenhirLib.EngineTypes.next = _menhir_stack;
6397 });
6398 (fun _menhir_env ->
6399 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6400 let {
6401 MenhirLib.EngineTypes.semv = _2;
6402 MenhirLib.EngineTypes.startp = _startpos__2_;
6403 MenhirLib.EngineTypes.endp = _endpos__2_;
6404 MenhirLib.EngineTypes.next = {
6405 MenhirLib.EngineTypes.state = _menhir_s;
6406 MenhirLib.EngineTypes.semv = _1;
6407 MenhirLib.EngineTypes.startp = _startpos__1_;
6408 MenhirLib.EngineTypes.endp = _endpos__1_;
6409 MenhirLib.EngineTypes.next = _menhir_stack;
6410 };
6411 } = _menhir_stack in
6412 let _2 : (
6413 # 111 "parser_cocci_menhir.mly"
6414 (Data.clt)
6415 # 6416 "parser_cocci_menhir.ml"
6416 ) = Obj.magic _2 in
6417 let _1 : 'tv_aexpr = Obj.magic _1 in
6418 let _startpos = _startpos__1_ in
6419 let _endpos = _endpos__2_ in
6420 let _v : 'tv_continue_list_aexpr_TEllipsis_ =
6421 # 1870 "parser_cocci_menhir.mly"
6422 ( fun build_dots build_comma ->
6423 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
6424 # 6425 "parser_cocci_menhir.ml"
6425 in
6426 _menhir_env.MenhirLib.EngineTypes.stack <- {
6427 MenhirLib.EngineTypes.state = _menhir_s;
6428 MenhirLib.EngineTypes.semv = Obj.repr _v;
6429 MenhirLib.EngineTypes.startp = _startpos;
6430 MenhirLib.EngineTypes.endp = _endpos;
6431 MenhirLib.EngineTypes.next = _menhir_stack;
6432 });
6433 (fun _menhir_env ->
6434 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6435 let {
6436 MenhirLib.EngineTypes.semv = _3;
6437 MenhirLib.EngineTypes.startp = _startpos__3_;
6438 MenhirLib.EngineTypes.endp = _endpos__3_;
6439 MenhirLib.EngineTypes.next = {
6440 MenhirLib.EngineTypes.semv = _2;
6441 MenhirLib.EngineTypes.startp = _startpos__2_;
6442 MenhirLib.EngineTypes.endp = _endpos__2_;
6443 MenhirLib.EngineTypes.next = {
6444 MenhirLib.EngineTypes.state = _menhir_s;
6445 MenhirLib.EngineTypes.semv = _1;
6446 MenhirLib.EngineTypes.startp = _startpos__1_;
6447 MenhirLib.EngineTypes.endp = _endpos__1_;
6448 MenhirLib.EngineTypes.next = _menhir_stack;
6449 };
6450 };
6451 } = _menhir_stack in
6452 let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in
6453 let _2 : (
6454 # 111 "parser_cocci_menhir.mly"
6455 (Data.clt)
6456 # 6457 "parser_cocci_menhir.ml"
6457 ) = Obj.magic _2 in
6458 let _1 : 'tv_aexpr = Obj.magic _1 in
6459 let _startpos = _startpos__1_ in
6460 let _endpos = _endpos__3_ in
6461 let _v : 'tv_continue_list_aexpr_TEllipsis_ =
6462 # 1873 "parser_cocci_menhir.mly"
6463 ( fun build_dots build_comma ->
6464 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
6465 (_3 build_dots build_comma) )
6466 # 6467 "parser_cocci_menhir.ml"
6467 in
6468 _menhir_env.MenhirLib.EngineTypes.stack <- {
6469 MenhirLib.EngineTypes.state = _menhir_s;
6470 MenhirLib.EngineTypes.semv = Obj.repr _v;
6471 MenhirLib.EngineTypes.startp = _startpos;
6472 MenhirLib.EngineTypes.endp = _endpos;
6473 MenhirLib.EngineTypes.next = _menhir_stack;
6474 });
6475 (fun _menhir_env ->
6476 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6477 let {
6478 MenhirLib.EngineTypes.semv = _2;
6479 MenhirLib.EngineTypes.startp = _startpos__2_;
6480 MenhirLib.EngineTypes.endp = _endpos__2_;
6481 MenhirLib.EngineTypes.next = {
6482 MenhirLib.EngineTypes.state = _menhir_s;
6483 MenhirLib.EngineTypes.startp = _startpos__1_;
6484 MenhirLib.EngineTypes.endp = _endpos__1_;
6485 MenhirLib.EngineTypes.next = _menhir_stack;
6486 };
6487 } = _menhir_stack in
6488 let _2 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _2 in
6489 let _startpos = _startpos__1_ in
6490 let _endpos = _endpos__2_ in
6491 let _v : 'tv_continue_list_aexpr_TEllipsis_ =
6492 # 1876 "parser_cocci_menhir.mly"
6493 ( _2 )
6494 # 6495 "parser_cocci_menhir.ml"
6495 in
6496 _menhir_env.MenhirLib.EngineTypes.stack <- {
6497 MenhirLib.EngineTypes.state = _menhir_s;
6498 MenhirLib.EngineTypes.semv = Obj.repr _v;
6499 MenhirLib.EngineTypes.startp = _startpos;
6500 MenhirLib.EngineTypes.endp = _endpos;
6501 MenhirLib.EngineTypes.next = _menhir_stack;
6502 });
6503 (fun _menhir_env ->
6504 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6505 let {
6506 MenhirLib.EngineTypes.state = _menhir_s;
6507 MenhirLib.EngineTypes.semv = _1;
6508 MenhirLib.EngineTypes.startp = _startpos__1_;
6509 MenhirLib.EngineTypes.endp = _endpos__1_;
6510 MenhirLib.EngineTypes.next = _menhir_stack;
6511 } = _menhir_stack in
6512 let _1 : 'tv_dparam = Obj.magic _1 in
6513 let _startpos = _startpos__1_ in
6514 let _endpos = _endpos__1_ in
6515 let _v : 'tv_continue_list_dparam_TEllipsis_ =
6516 # 1868 "parser_cocci_menhir.mly"
6517 ( fun build_dots build_comma -> [_1] )
6518 # 6519 "parser_cocci_menhir.ml"
6519 in
6520 _menhir_env.MenhirLib.EngineTypes.stack <- {
6521 MenhirLib.EngineTypes.state = _menhir_s;
6522 MenhirLib.EngineTypes.semv = Obj.repr _v;
6523 MenhirLib.EngineTypes.startp = _startpos;
6524 MenhirLib.EngineTypes.endp = _endpos;
6525 MenhirLib.EngineTypes.next = _menhir_stack;
6526 });
6527 (fun _menhir_env ->
6528 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6529 let {
6530 MenhirLib.EngineTypes.semv = _2;
6531 MenhirLib.EngineTypes.startp = _startpos__2_;
6532 MenhirLib.EngineTypes.endp = _endpos__2_;
6533 MenhirLib.EngineTypes.next = {
6534 MenhirLib.EngineTypes.state = _menhir_s;
6535 MenhirLib.EngineTypes.semv = _1;
6536 MenhirLib.EngineTypes.startp = _startpos__1_;
6537 MenhirLib.EngineTypes.endp = _endpos__1_;
6538 MenhirLib.EngineTypes.next = _menhir_stack;
6539 };
6540 } = _menhir_stack in
6541 let _2 : (
6542 # 111 "parser_cocci_menhir.mly"
6543 (Data.clt)
6544 # 6545 "parser_cocci_menhir.ml"
6545 ) = Obj.magic _2 in
6546 let _1 : 'tv_dparam = Obj.magic _1 in
6547 let _startpos = _startpos__1_ in
6548 let _endpos = _endpos__2_ in
6549 let _v : 'tv_continue_list_dparam_TEllipsis_ =
6550 # 1870 "parser_cocci_menhir.mly"
6551 ( fun build_dots build_comma ->
6552 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
6553 # 6554 "parser_cocci_menhir.ml"
6554 in
6555 _menhir_env.MenhirLib.EngineTypes.stack <- {
6556 MenhirLib.EngineTypes.state = _menhir_s;
6557 MenhirLib.EngineTypes.semv = Obj.repr _v;
6558 MenhirLib.EngineTypes.startp = _startpos;
6559 MenhirLib.EngineTypes.endp = _endpos;
6560 MenhirLib.EngineTypes.next = _menhir_stack;
6561 });
6562 (fun _menhir_env ->
6563 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6564 let {
6565 MenhirLib.EngineTypes.semv = _3;
6566 MenhirLib.EngineTypes.startp = _startpos__3_;
6567 MenhirLib.EngineTypes.endp = _endpos__3_;
6568 MenhirLib.EngineTypes.next = {
6569 MenhirLib.EngineTypes.semv = _2;
6570 MenhirLib.EngineTypes.startp = _startpos__2_;
6571 MenhirLib.EngineTypes.endp = _endpos__2_;
6572 MenhirLib.EngineTypes.next = {
6573 MenhirLib.EngineTypes.state = _menhir_s;
6574 MenhirLib.EngineTypes.semv = _1;
6575 MenhirLib.EngineTypes.startp = _startpos__1_;
6576 MenhirLib.EngineTypes.endp = _endpos__1_;
6577 MenhirLib.EngineTypes.next = _menhir_stack;
6578 };
6579 };
6580 } = _menhir_stack in
6581 let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in
6582 let _2 : (
6583 # 111 "parser_cocci_menhir.mly"
6584 (Data.clt)
6585 # 6586 "parser_cocci_menhir.ml"
6586 ) = Obj.magic _2 in
6587 let _1 : 'tv_dparam = Obj.magic _1 in
6588 let _startpos = _startpos__1_ in
6589 let _endpos = _endpos__3_ in
6590 let _v : 'tv_continue_list_dparam_TEllipsis_ =
6591 # 1873 "parser_cocci_menhir.mly"
6592 ( fun build_dots build_comma ->
6593 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
6594 (_3 build_dots build_comma) )
6595 # 6596 "parser_cocci_menhir.ml"
6596 in
6597 _menhir_env.MenhirLib.EngineTypes.stack <- {
6598 MenhirLib.EngineTypes.state = _menhir_s;
6599 MenhirLib.EngineTypes.semv = Obj.repr _v;
6600 MenhirLib.EngineTypes.startp = _startpos;
6601 MenhirLib.EngineTypes.endp = _endpos;
6602 MenhirLib.EngineTypes.next = _menhir_stack;
6603 });
6604 (fun _menhir_env ->
6605 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6606 let {
6607 MenhirLib.EngineTypes.semv = _2;
6608 MenhirLib.EngineTypes.startp = _startpos__2_;
6609 MenhirLib.EngineTypes.endp = _endpos__2_;
6610 MenhirLib.EngineTypes.next = {
6611 MenhirLib.EngineTypes.state = _menhir_s;
6612 MenhirLib.EngineTypes.startp = _startpos__1_;
6613 MenhirLib.EngineTypes.endp = _endpos__1_;
6614 MenhirLib.EngineTypes.next = _menhir_stack;
6615 };
6616 } = _menhir_stack in
6617 let _2 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _2 in
6618 let _startpos = _startpos__1_ in
6619 let _endpos = _endpos__2_ in
6620 let _v : 'tv_continue_list_dparam_TEllipsis_ =
6621 # 1876 "parser_cocci_menhir.mly"
6622 ( _2 )
6623 # 6624 "parser_cocci_menhir.ml"
6624 in
6625 _menhir_env.MenhirLib.EngineTypes.stack <- {
6626 MenhirLib.EngineTypes.state = _menhir_s;
6627 MenhirLib.EngineTypes.semv = Obj.repr _v;
6628 MenhirLib.EngineTypes.startp = _startpos;
6629 MenhirLib.EngineTypes.endp = _endpos;
6630 MenhirLib.EngineTypes.next = _menhir_stack;
6631 });
6632 (fun _menhir_env ->
6633 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6634 let {
6635 MenhirLib.EngineTypes.state = _menhir_s;
6636 MenhirLib.EngineTypes.semv = _1;
6637 MenhirLib.EngineTypes.startp = _startpos__1_;
6638 MenhirLib.EngineTypes.endp = _endpos__1_;
6639 MenhirLib.EngineTypes.next = _menhir_stack;
6640 } = _menhir_stack in
6641 let _1 : 'tv_enum_decl_one = Obj.magic _1 in
6642 let _startpos = _startpos__1_ in
6643 let _endpos = _endpos__1_ in
6644 let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
6645 # 1868 "parser_cocci_menhir.mly"
6646 ( fun build_dots build_comma -> [_1] )
6647 # 6648 "parser_cocci_menhir.ml"
6648 in
6649 _menhir_env.MenhirLib.EngineTypes.stack <- {
6650 MenhirLib.EngineTypes.state = _menhir_s;
6651 MenhirLib.EngineTypes.semv = Obj.repr _v;
6652 MenhirLib.EngineTypes.startp = _startpos;
6653 MenhirLib.EngineTypes.endp = _endpos;
6654 MenhirLib.EngineTypes.next = _menhir_stack;
6655 });
6656 (fun _menhir_env ->
6657 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6658 let {
6659 MenhirLib.EngineTypes.semv = _2;
6660 MenhirLib.EngineTypes.startp = _startpos__2_;
6661 MenhirLib.EngineTypes.endp = _endpos__2_;
6662 MenhirLib.EngineTypes.next = {
6663 MenhirLib.EngineTypes.state = _menhir_s;
6664 MenhirLib.EngineTypes.semv = _1;
6665 MenhirLib.EngineTypes.startp = _startpos__1_;
6666 MenhirLib.EngineTypes.endp = _endpos__1_;
6667 MenhirLib.EngineTypes.next = _menhir_stack;
6668 };
6669 } = _menhir_stack in
6670 let _2 : (
6671 # 111 "parser_cocci_menhir.mly"
6672 (Data.clt)
6673 # 6674 "parser_cocci_menhir.ml"
6674 ) = Obj.magic _2 in
6675 let _1 : 'tv_enum_decl_one = Obj.magic _1 in
6676 let _startpos = _startpos__1_ in
6677 let _endpos = _endpos__2_ in
6678 let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
6679 # 1870 "parser_cocci_menhir.mly"
6680 ( fun build_dots build_comma ->
6681 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
6682 # 6683 "parser_cocci_menhir.ml"
6683 in
6684 _menhir_env.MenhirLib.EngineTypes.stack <- {
6685 MenhirLib.EngineTypes.state = _menhir_s;
6686 MenhirLib.EngineTypes.semv = Obj.repr _v;
6687 MenhirLib.EngineTypes.startp = _startpos;
6688 MenhirLib.EngineTypes.endp = _endpos;
6689 MenhirLib.EngineTypes.next = _menhir_stack;
6690 });
6691 (fun _menhir_env ->
6692 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6693 let {
6694 MenhirLib.EngineTypes.semv = _3;
6695 MenhirLib.EngineTypes.startp = _startpos__3_;
6696 MenhirLib.EngineTypes.endp = _endpos__3_;
6697 MenhirLib.EngineTypes.next = {
6698 MenhirLib.EngineTypes.semv = _2;
6699 MenhirLib.EngineTypes.startp = _startpos__2_;
6700 MenhirLib.EngineTypes.endp = _endpos__2_;
6701 MenhirLib.EngineTypes.next = {
6702 MenhirLib.EngineTypes.state = _menhir_s;
6703 MenhirLib.EngineTypes.semv = _1;
6704 MenhirLib.EngineTypes.startp = _startpos__1_;
6705 MenhirLib.EngineTypes.endp = _endpos__1_;
6706 MenhirLib.EngineTypes.next = _menhir_stack;
6707 };
6708 };
6709 } = _menhir_stack in
6710 let _3 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _3 in
6711 let _2 : (
6712 # 111 "parser_cocci_menhir.mly"
6713 (Data.clt)
6714 # 6715 "parser_cocci_menhir.ml"
6715 ) = Obj.magic _2 in
6716 let _1 : 'tv_enum_decl_one = Obj.magic _1 in
6717 let _startpos = _startpos__1_ in
6718 let _endpos = _endpos__3_ in
6719 let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
6720 # 1873 "parser_cocci_menhir.mly"
6721 ( fun build_dots build_comma ->
6722 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
6723 (_3 build_dots build_comma) )
6724 # 6725 "parser_cocci_menhir.ml"
6725 in
6726 _menhir_env.MenhirLib.EngineTypes.stack <- {
6727 MenhirLib.EngineTypes.state = _menhir_s;
6728 MenhirLib.EngineTypes.semv = Obj.repr _v;
6729 MenhirLib.EngineTypes.startp = _startpos;
6730 MenhirLib.EngineTypes.endp = _endpos;
6731 MenhirLib.EngineTypes.next = _menhir_stack;
6732 });
6733 (fun _menhir_env ->
6734 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6735 let {
6736 MenhirLib.EngineTypes.semv = _2;
6737 MenhirLib.EngineTypes.startp = _startpos__2_;
6738 MenhirLib.EngineTypes.endp = _endpos__2_;
6739 MenhirLib.EngineTypes.next = {
6740 MenhirLib.EngineTypes.state = _menhir_s;
6741 MenhirLib.EngineTypes.startp = _startpos__1_;
6742 MenhirLib.EngineTypes.endp = _endpos__1_;
6743 MenhirLib.EngineTypes.next = _menhir_stack;
6744 };
6745 } = _menhir_stack in
6746 let _2 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _2 in
6747 let _startpos = _startpos__1_ in
6748 let _endpos = _endpos__2_ in
6749 let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
6750 # 1876 "parser_cocci_menhir.mly"
6751 ( _2 )
6752 # 6753 "parser_cocci_menhir.ml"
6753 in
6754 _menhir_env.MenhirLib.EngineTypes.stack <- {
6755 MenhirLib.EngineTypes.state = _menhir_s;
6756 MenhirLib.EngineTypes.semv = Obj.repr _v;
6757 MenhirLib.EngineTypes.startp = _startpos;
6758 MenhirLib.EngineTypes.endp = _endpos;
6759 MenhirLib.EngineTypes.next = _menhir_stack;
6760 });
6761 (fun _menhir_env ->
6762 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6763 let {
6764 MenhirLib.EngineTypes.state = _menhir_s;
6765 MenhirLib.EngineTypes.semv = _1;
6766 MenhirLib.EngineTypes.startp = _startpos__1_;
6767 MenhirLib.EngineTypes.endp = _endpos__1_;
6768 MenhirLib.EngineTypes.next = _menhir_stack;
6769 } = _menhir_stack in
6770 let _1 : 'tv_initialize2 = Obj.magic _1 in
6771 let _startpos = _startpos__1_ in
6772 let _endpos = _endpos__1_ in
6773 let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ =
6774 # 1868 "parser_cocci_menhir.mly"
6775 ( fun build_dots build_comma -> [_1] )
6776 # 6777 "parser_cocci_menhir.ml"
6777 in
6778 _menhir_env.MenhirLib.EngineTypes.stack <- {
6779 MenhirLib.EngineTypes.state = _menhir_s;
6780 MenhirLib.EngineTypes.semv = Obj.repr _v;
6781 MenhirLib.EngineTypes.startp = _startpos;
6782 MenhirLib.EngineTypes.endp = _endpos;
6783 MenhirLib.EngineTypes.next = _menhir_stack;
6784 });
6785 (fun _menhir_env ->
6786 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6787 let {
6788 MenhirLib.EngineTypes.semv = _2;
6789 MenhirLib.EngineTypes.startp = _startpos__2_;
6790 MenhirLib.EngineTypes.endp = _endpos__2_;
6791 MenhirLib.EngineTypes.next = {
6792 MenhirLib.EngineTypes.state = _menhir_s;
6793 MenhirLib.EngineTypes.semv = _1;
6794 MenhirLib.EngineTypes.startp = _startpos__1_;
6795 MenhirLib.EngineTypes.endp = _endpos__1_;
6796 MenhirLib.EngineTypes.next = _menhir_stack;
6797 };
6798 } = _menhir_stack in
6799 let _2 : (
6800 # 111 "parser_cocci_menhir.mly"
6801 (Data.clt)
6802 # 6803 "parser_cocci_menhir.ml"
6803 ) = Obj.magic _2 in
6804 let _1 : 'tv_initialize2 = Obj.magic _1 in
6805 let _startpos = _startpos__1_ in
6806 let _endpos = _endpos__2_ in
6807 let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ =
6808 # 1870 "parser_cocci_menhir.mly"
6809 ( fun build_dots build_comma ->
6810 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
6811 # 6812 "parser_cocci_menhir.ml"
6812 in
6813 _menhir_env.MenhirLib.EngineTypes.stack <- {
6814 MenhirLib.EngineTypes.state = _menhir_s;
6815 MenhirLib.EngineTypes.semv = Obj.repr _v;
6816 MenhirLib.EngineTypes.startp = _startpos;
6817 MenhirLib.EngineTypes.endp = _endpos;
6818 MenhirLib.EngineTypes.next = _menhir_stack;
6819 });
6820 (fun _menhir_env ->
6821 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6822 let {
6823 MenhirLib.EngineTypes.semv = _3;
6824 MenhirLib.EngineTypes.startp = _startpos__3_;
6825 MenhirLib.EngineTypes.endp = _endpos__3_;
6826 MenhirLib.EngineTypes.next = {
6827 MenhirLib.EngineTypes.semv = _2;
6828 MenhirLib.EngineTypes.startp = _startpos__2_;
6829 MenhirLib.EngineTypes.endp = _endpos__2_;
6830 MenhirLib.EngineTypes.next = {
6831 MenhirLib.EngineTypes.state = _menhir_s;
6832 MenhirLib.EngineTypes.semv = _1;
6833 MenhirLib.EngineTypes.startp = _startpos__1_;
6834 MenhirLib.EngineTypes.endp = _endpos__1_;
6835 MenhirLib.EngineTypes.next = _menhir_stack;
6836 };
6837 };
6838 } = _menhir_stack in
6839 let _3 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _3 in
6840 let _2 : (
6841 # 111 "parser_cocci_menhir.mly"
6842 (Data.clt)
6843 # 6844 "parser_cocci_menhir.ml"
6844 ) = Obj.magic _2 in
6845 let _1 : 'tv_initialize2 = Obj.magic _1 in
6846 let _startpos = _startpos__1_ in
6847 let _endpos = _endpos__3_ in
6848 let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ =
6849 # 1873 "parser_cocci_menhir.mly"
6850 ( fun build_dots build_comma ->
6851 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
6852 (_3 build_dots build_comma) )
6853 # 6854 "parser_cocci_menhir.ml"
6854 in
6855 _menhir_env.MenhirLib.EngineTypes.stack <- {
6856 MenhirLib.EngineTypes.state = _menhir_s;
6857 MenhirLib.EngineTypes.semv = Obj.repr _v;
6858 MenhirLib.EngineTypes.startp = _startpos;
6859 MenhirLib.EngineTypes.endp = _endpos;
6860 MenhirLib.EngineTypes.next = _menhir_stack;
6861 });
6862 (fun _menhir_env ->
6863 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6864 let {
6865 MenhirLib.EngineTypes.semv = _2;
6866 MenhirLib.EngineTypes.startp = _startpos__2_;
6867 MenhirLib.EngineTypes.endp = _endpos__2_;
6868 MenhirLib.EngineTypes.next = {
6869 MenhirLib.EngineTypes.state = _menhir_s;
6870 MenhirLib.EngineTypes.startp = _startpos__1_;
6871 MenhirLib.EngineTypes.endp = _endpos__1_;
6872 MenhirLib.EngineTypes.next = _menhir_stack;
6873 };
6874 } = _menhir_stack in
6875 let _2 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _2 in
6876 let _startpos = _startpos__1_ in
6877 let _endpos = _endpos__2_ in
6878 let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ =
6879 # 1876 "parser_cocci_menhir.mly"
6880 ( _2 )
6881 # 6882 "parser_cocci_menhir.ml"
6882 in
6883 _menhir_env.MenhirLib.EngineTypes.stack <- {
6884 MenhirLib.EngineTypes.state = _menhir_s;
6885 MenhirLib.EngineTypes.semv = Obj.repr _v;
6886 MenhirLib.EngineTypes.startp = _startpos;
6887 MenhirLib.EngineTypes.endp = _endpos;
6888 MenhirLib.EngineTypes.next = _menhir_stack;
6889 });
6890 (fun _menhir_env ->
6891 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6892 let {
6893 MenhirLib.EngineTypes.state = _menhir_s;
6894 MenhirLib.EngineTypes.semv = _1;
6895 MenhirLib.EngineTypes.startp = _startpos__1_;
6896 MenhirLib.EngineTypes.endp = _endpos__1_;
6897 MenhirLib.EngineTypes.next = _menhir_stack;
6898 } = _menhir_stack in
6899 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
6900 let _startpos = _startpos__1_ in
6901 let _endpos = _endpos__1_ in
6902 let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
6903 # 1868 "parser_cocci_menhir.mly"
6904 ( fun build_dots build_comma -> [_1] )
6905 # 6906 "parser_cocci_menhir.ml"
6906 in
6907 _menhir_env.MenhirLib.EngineTypes.stack <- {
6908 MenhirLib.EngineTypes.state = _menhir_s;
6909 MenhirLib.EngineTypes.semv = Obj.repr _v;
6910 MenhirLib.EngineTypes.startp = _startpos;
6911 MenhirLib.EngineTypes.endp = _endpos;
6912 MenhirLib.EngineTypes.next = _menhir_stack;
6913 });
6914 (fun _menhir_env ->
6915 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6916 let {
6917 MenhirLib.EngineTypes.semv = _2;
6918 MenhirLib.EngineTypes.startp = _startpos__2_;
6919 MenhirLib.EngineTypes.endp = _endpos__2_;
6920 MenhirLib.EngineTypes.next = {
6921 MenhirLib.EngineTypes.state = _menhir_s;
6922 MenhirLib.EngineTypes.semv = _1;
6923 MenhirLib.EngineTypes.startp = _startpos__1_;
6924 MenhirLib.EngineTypes.endp = _endpos__1_;
6925 MenhirLib.EngineTypes.next = _menhir_stack;
6926 };
6927 } = _menhir_stack in
6928 let _2 : (
6929 # 111 "parser_cocci_menhir.mly"
6930 (Data.clt)
6931 # 6932 "parser_cocci_menhir.ml"
6932 ) = Obj.magic _2 in
6933 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
6934 let _startpos = _startpos__1_ in
6935 let _endpos = _endpos__2_ in
6936 let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
6937 # 1870 "parser_cocci_menhir.mly"
6938 ( fun build_dots build_comma ->
6939 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
6940 # 6941 "parser_cocci_menhir.ml"
6941 in
6942 _menhir_env.MenhirLib.EngineTypes.stack <- {
6943 MenhirLib.EngineTypes.state = _menhir_s;
6944 MenhirLib.EngineTypes.semv = Obj.repr _v;
6945 MenhirLib.EngineTypes.startp = _startpos;
6946 MenhirLib.EngineTypes.endp = _endpos;
6947 MenhirLib.EngineTypes.next = _menhir_stack;
6948 });
6949 (fun _menhir_env ->
6950 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6951 let {
6952 MenhirLib.EngineTypes.semv = _3;
6953 MenhirLib.EngineTypes.startp = _startpos__3_;
6954 MenhirLib.EngineTypes.endp = _endpos__3_;
6955 MenhirLib.EngineTypes.next = {
6956 MenhirLib.EngineTypes.semv = _2;
6957 MenhirLib.EngineTypes.startp = _startpos__2_;
6958 MenhirLib.EngineTypes.endp = _endpos__2_;
6959 MenhirLib.EngineTypes.next = {
6960 MenhirLib.EngineTypes.state = _menhir_s;
6961 MenhirLib.EngineTypes.semv = _1;
6962 MenhirLib.EngineTypes.startp = _startpos__1_;
6963 MenhirLib.EngineTypes.endp = _endpos__1_;
6964 MenhirLib.EngineTypes.next = _menhir_stack;
6965 };
6966 };
6967 } = _menhir_stack in
6968 let _3 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in
6969 let _2 : (
6970 # 111 "parser_cocci_menhir.mly"
6971 (Data.clt)
6972 # 6973 "parser_cocci_menhir.ml"
6973 ) = Obj.magic _2 in
6974 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
6975 let _startpos = _startpos__1_ in
6976 let _endpos = _endpos__3_ in
6977 let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
6978 # 1873 "parser_cocci_menhir.mly"
6979 ( fun build_dots build_comma ->
6980 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
6981 (_3 build_dots build_comma) )
6982 # 6983 "parser_cocci_menhir.ml"
6983 in
6984 _menhir_env.MenhirLib.EngineTypes.stack <- {
6985 MenhirLib.EngineTypes.state = _menhir_s;
6986 MenhirLib.EngineTypes.semv = Obj.repr _v;
6987 MenhirLib.EngineTypes.startp = _startpos;
6988 MenhirLib.EngineTypes.endp = _endpos;
6989 MenhirLib.EngineTypes.next = _menhir_stack;
6990 });
6991 (fun _menhir_env ->
6992 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
6993 let {
6994 MenhirLib.EngineTypes.semv = _2;
6995 MenhirLib.EngineTypes.startp = _startpos__2_;
6996 MenhirLib.EngineTypes.endp = _endpos__2_;
6997 MenhirLib.EngineTypes.next = {
6998 MenhirLib.EngineTypes.state = _menhir_s;
6999 MenhirLib.EngineTypes.startp = _startpos__1_;
7000 MenhirLib.EngineTypes.endp = _endpos__1_;
7001 MenhirLib.EngineTypes.next = _menhir_stack;
7002 };
7003 } = _menhir_stack in
7004 let _2 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _2 in
7005 let _startpos = _startpos__1_ in
7006 let _endpos = _endpos__2_ in
7007 let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
7008 # 1876 "parser_cocci_menhir.mly"
7009 ( _2 )
7010 # 7011 "parser_cocci_menhir.ml"
7011 in
7012 _menhir_env.MenhirLib.EngineTypes.stack <- {
7013 MenhirLib.EngineTypes.state = _menhir_s;
7014 MenhirLib.EngineTypes.semv = Obj.repr _v;
7015 MenhirLib.EngineTypes.startp = _startpos;
7016 MenhirLib.EngineTypes.endp = _endpos;
7017 MenhirLib.EngineTypes.next = _menhir_stack;
7018 });
7019 (fun _menhir_env ->
7020 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7021 let {
7022 MenhirLib.EngineTypes.state = _menhir_s;
7023 MenhirLib.EngineTypes.semv = _1;
7024 MenhirLib.EngineTypes.startp = _startpos__1_;
7025 MenhirLib.EngineTypes.endp = _endpos__1_;
7026 MenhirLib.EngineTypes.next = _menhir_stack;
7027 } = _menhir_stack in
7028 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
7029 let _startpos = _startpos__1_ in
7030 let _endpos = _endpos__1_ in
7031 let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ =
7032 # 1868 "parser_cocci_menhir.mly"
7033 ( fun build_dots build_comma -> [_1] )
7034 # 7035 "parser_cocci_menhir.ml"
7035 in
7036 _menhir_env.MenhirLib.EngineTypes.stack <- {
7037 MenhirLib.EngineTypes.state = _menhir_s;
7038 MenhirLib.EngineTypes.semv = Obj.repr _v;
7039 MenhirLib.EngineTypes.startp = _startpos;
7040 MenhirLib.EngineTypes.endp = _endpos;
7041 MenhirLib.EngineTypes.next = _menhir_stack;
7042 });
7043 (fun _menhir_env ->
7044 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7045 let {
7046 MenhirLib.EngineTypes.semv = _2;
7047 MenhirLib.EngineTypes.startp = _startpos__2_;
7048 MenhirLib.EngineTypes.endp = _endpos__2_;
7049 MenhirLib.EngineTypes.next = {
7050 MenhirLib.EngineTypes.state = _menhir_s;
7051 MenhirLib.EngineTypes.semv = _1;
7052 MenhirLib.EngineTypes.startp = _startpos__1_;
7053 MenhirLib.EngineTypes.endp = _endpos__1_;
7054 MenhirLib.EngineTypes.next = _menhir_stack;
7055 };
7056 } = _menhir_stack in
7057 let _2 : (
7058 # 111 "parser_cocci_menhir.mly"
7059 (Data.clt)
7060 # 7061 "parser_cocci_menhir.ml"
7061 ) = Obj.magic _2 in
7062 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
7063 let _startpos = _startpos__1_ in
7064 let _endpos = _endpos__2_ in
7065 let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ =
7066 # 1870 "parser_cocci_menhir.mly"
7067 ( fun build_dots build_comma ->
7068 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
7069 # 7070 "parser_cocci_menhir.ml"
7070 in
7071 _menhir_env.MenhirLib.EngineTypes.stack <- {
7072 MenhirLib.EngineTypes.state = _menhir_s;
7073 MenhirLib.EngineTypes.semv = Obj.repr _v;
7074 MenhirLib.EngineTypes.startp = _startpos;
7075 MenhirLib.EngineTypes.endp = _endpos;
7076 MenhirLib.EngineTypes.next = _menhir_stack;
7077 });
7078 (fun _menhir_env ->
7079 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7080 let {
7081 MenhirLib.EngineTypes.semv = _3;
7082 MenhirLib.EngineTypes.startp = _startpos__3_;
7083 MenhirLib.EngineTypes.endp = _endpos__3_;
7084 MenhirLib.EngineTypes.next = {
7085 MenhirLib.EngineTypes.semv = _2;
7086 MenhirLib.EngineTypes.startp = _startpos__2_;
7087 MenhirLib.EngineTypes.endp = _endpos__2_;
7088 MenhirLib.EngineTypes.next = {
7089 MenhirLib.EngineTypes.state = _menhir_s;
7090 MenhirLib.EngineTypes.semv = _1;
7091 MenhirLib.EngineTypes.startp = _startpos__1_;
7092 MenhirLib.EngineTypes.endp = _endpos__1_;
7093 MenhirLib.EngineTypes.next = _menhir_stack;
7094 };
7095 };
7096 } = _menhir_stack in
7097 let _3 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _3 in
7098 let _2 : (
7099 # 111 "parser_cocci_menhir.mly"
7100 (Data.clt)
7101 # 7102 "parser_cocci_menhir.ml"
7102 ) = Obj.magic _2 in
7103 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
7104 let _startpos = _startpos__1_ in
7105 let _endpos = _endpos__3_ in
7106 let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ =
7107 # 1873 "parser_cocci_menhir.mly"
7108 ( fun build_dots build_comma ->
7109 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
7110 (_3 build_dots build_comma) )
7111 # 7112 "parser_cocci_menhir.ml"
7112 in
7113 _menhir_env.MenhirLib.EngineTypes.stack <- {
7114 MenhirLib.EngineTypes.state = _menhir_s;
7115 MenhirLib.EngineTypes.semv = Obj.repr _v;
7116 MenhirLib.EngineTypes.startp = _startpos;
7117 MenhirLib.EngineTypes.endp = _endpos;
7118 MenhirLib.EngineTypes.next = _menhir_stack;
7119 });
7120 (fun _menhir_env ->
7121 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7122 let {
7123 MenhirLib.EngineTypes.semv = _2;
7124 MenhirLib.EngineTypes.startp = _startpos__2_;
7125 MenhirLib.EngineTypes.endp = _endpos__2_;
7126 MenhirLib.EngineTypes.next = {
7127 MenhirLib.EngineTypes.state = _menhir_s;
7128 MenhirLib.EngineTypes.startp = _startpos__1_;
7129 MenhirLib.EngineTypes.endp = _endpos__1_;
7130 MenhirLib.EngineTypes.next = _menhir_stack;
7131 };
7132 } = _menhir_stack in
7133 let _2 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _2 in
7134 let _startpos = _startpos__1_ in
7135 let _endpos = _endpos__2_ in
7136 let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ =
7137 # 1876 "parser_cocci_menhir.mly"
7138 ( _2 )
7139 # 7140 "parser_cocci_menhir.ml"
7140 in
7141 _menhir_env.MenhirLib.EngineTypes.stack <- {
7142 MenhirLib.EngineTypes.state = _menhir_s;
7143 MenhirLib.EngineTypes.semv = Obj.repr _v;
7144 MenhirLib.EngineTypes.startp = _startpos;
7145 MenhirLib.EngineTypes.endp = _endpos;
7146 MenhirLib.EngineTypes.next = _menhir_stack;
7147 });
7148 (fun _menhir_env ->
7149 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7150 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
7151 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
7152 let _endpos = _startpos in
7153 let _v : 'tv_continue_struct_decl_list =
7154 # 665 "parser_cocci_menhir.mly"
7155 ( [] )
7156 # 7157 "parser_cocci_menhir.ml"
7157 in
7158 _menhir_env.MenhirLib.EngineTypes.stack <- {
7159 MenhirLib.EngineTypes.state = _menhir_s;
7160 MenhirLib.EngineTypes.semv = Obj.repr _v;
7161 MenhirLib.EngineTypes.startp = _startpos;
7162 MenhirLib.EngineTypes.endp = _endpos;
7163 MenhirLib.EngineTypes.next = _menhir_stack;
7164 });
7165 (fun _menhir_env ->
7166 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7167 let {
7168 MenhirLib.EngineTypes.semv = _2;
7169 MenhirLib.EngineTypes.startp = _startpos__2_;
7170 MenhirLib.EngineTypes.endp = _endpos__2_;
7171 MenhirLib.EngineTypes.next = {
7172 MenhirLib.EngineTypes.state = _menhir_s;
7173 MenhirLib.EngineTypes.semv = _1;
7174 MenhirLib.EngineTypes.startp = _startpos__1_;
7175 MenhirLib.EngineTypes.endp = _endpos__1_;
7176 MenhirLib.EngineTypes.next = _menhir_stack;
7177 };
7178 } = _menhir_stack in
7179 let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
7180 let _1 : 'tv_struct_decl = Obj.magic _1 in
7181 let _startpos = _startpos__1_ in
7182 let _endpos = _endpos__2_ in
7183 let _v : 'tv_continue_struct_decl_list =
7184 # 666 "parser_cocci_menhir.mly"
7185 ( _1@_2 )
7186 # 7187 "parser_cocci_menhir.ml"
7187 in
7188 _menhir_env.MenhirLib.EngineTypes.stack <- {
7189 MenhirLib.EngineTypes.state = _menhir_s;
7190 MenhirLib.EngineTypes.semv = Obj.repr _v;
7191 MenhirLib.EngineTypes.startp = _startpos;
7192 MenhirLib.EngineTypes.endp = _endpos;
7193 MenhirLib.EngineTypes.next = _menhir_stack;
7194 });
7195 (fun _menhir_env ->
7196 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7197 let {
7198 MenhirLib.EngineTypes.state = _menhir_s;
7199 MenhirLib.EngineTypes.semv = _1;
7200 MenhirLib.EngineTypes.startp = _startpos__1_;
7201 MenhirLib.EngineTypes.endp = _endpos__1_;
7202 MenhirLib.EngineTypes.next = _menhir_stack;
7203 } = _menhir_stack in
7204 let _1 : 'tv_struct_decl = Obj.magic _1 in
7205 let _startpos = _startpos__1_ in
7206 let _endpos = _endpos__1_ in
7207 let _v : 'tv_continue_struct_decl_list =
7208 # 667 "parser_cocci_menhir.mly"
7209 ( _1 )
7210 # 7211 "parser_cocci_menhir.ml"
7211 in
7212 _menhir_env.MenhirLib.EngineTypes.stack <- {
7213 MenhirLib.EngineTypes.state = _menhir_s;
7214 MenhirLib.EngineTypes.semv = Obj.repr _v;
7215 MenhirLib.EngineTypes.startp = _startpos;
7216 MenhirLib.EngineTypes.endp = _endpos;
7217 MenhirLib.EngineTypes.next = _menhir_stack;
7218 });
7219 (fun _menhir_env ->
7220 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7221 let {
7222 MenhirLib.EngineTypes.semv = m;
7223 MenhirLib.EngineTypes.startp = _startpos_m_;
7224 MenhirLib.EngineTypes.endp = _endpos_m_;
7225 MenhirLib.EngineTypes.next = {
7226 MenhirLib.EngineTypes.semv = ty00;
7227 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7228 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7229 MenhirLib.EngineTypes.next = {
7230 MenhirLib.EngineTypes.state = _menhir_s;
7231 MenhirLib.EngineTypes.semv = r0;
7232 MenhirLib.EngineTypes.startp = _startpos_r0_;
7233 MenhirLib.EngineTypes.endp = _endpos_r0_;
7234 MenhirLib.EngineTypes.next = _menhir_stack;
7235 };
7236 };
7237 } = _menhir_stack in
7238 let m : 'tv_list_TMul_ = Obj.magic m in
7239 let ty00 : (
7240 # 51 "parser_cocci_menhir.mly"
7241 (Data.clt)
7242 # 7243 "parser_cocci_menhir.ml"
7243 ) = Obj.magic ty00 in
7244 let r0 : (
7245 # 54 "parser_cocci_menhir.mly"
7246 (Data.clt)
7247 # 7248 "parser_cocci_menhir.ml"
7248 ) = Obj.magic r0 in
7249 let _startpos = _startpos_r0_ in
7250 let _endpos = _endpos_m_ in
7251 let _v : 'tv_ctype = let ty =
7252 let ty0 = ty00 in
7253 let r = r0 in
7254 let ty =
7255 let ty = ty0 in
7256
7257 # 536 "parser_cocci_menhir.mly"
7258 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
7259 # 7260 "parser_cocci_menhir.ml"
7260
7261 in
7262
7263 # 599 "parser_cocci_menhir.mly"
7264 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
7265 # 7266 "parser_cocci_menhir.ml"
7266
7267 in
7268 let cv =
7269
7270 # 39 "standard.mly"
7271 ( None )
7272 # 7273 "parser_cocci_menhir.ml"
7273
7274 in
7275
7276 # 607 "parser_cocci_menhir.mly"
7277 ( P.pointerify (P.make_cv cv ty) m )
7278 # 7279 "parser_cocci_menhir.ml"
7279 in
7280 _menhir_env.MenhirLib.EngineTypes.stack <- {
7281 MenhirLib.EngineTypes.state = _menhir_s;
7282 MenhirLib.EngineTypes.semv = Obj.repr _v;
7283 MenhirLib.EngineTypes.startp = _startpos;
7284 MenhirLib.EngineTypes.endp = _endpos;
7285 MenhirLib.EngineTypes.next = _menhir_stack;
7286 });
7287 (fun _menhir_env ->
7288 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7289 let {
7290 MenhirLib.EngineTypes.semv = m;
7291 MenhirLib.EngineTypes.startp = _startpos_m_;
7292 MenhirLib.EngineTypes.endp = _endpos_m_;
7293 MenhirLib.EngineTypes.next = {
7294 MenhirLib.EngineTypes.semv = ty00;
7295 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7296 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7297 MenhirLib.EngineTypes.next = {
7298 MenhirLib.EngineTypes.state = _menhir_s;
7299 MenhirLib.EngineTypes.semv = r0;
7300 MenhirLib.EngineTypes.startp = _startpos_r0_;
7301 MenhirLib.EngineTypes.endp = _endpos_r0_;
7302 MenhirLib.EngineTypes.next = _menhir_stack;
7303 };
7304 };
7305 } = _menhir_stack in
7306 let m : 'tv_list_TMul_ = Obj.magic m in
7307 let ty00 : (
7308 # 51 "parser_cocci_menhir.mly"
7309 (Data.clt)
7310 # 7311 "parser_cocci_menhir.ml"
7311 ) = Obj.magic ty00 in
7312 let r0 : (
7313 # 54 "parser_cocci_menhir.mly"
7314 (Data.clt)
7315 # 7316 "parser_cocci_menhir.ml"
7316 ) = Obj.magic r0 in
7317 let _startpos = _startpos_r0_ in
7318 let _endpos = _endpos_m_ in
7319 let _v : 'tv_ctype = let ty =
7320 let ty0 = ty00 in
7321 let r = r0 in
7322 let ty =
7323 let ty = ty0 in
7324
7325 # 538 "parser_cocci_menhir.mly"
7326 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
7327 # 7328 "parser_cocci_menhir.ml"
7328
7329 in
7330
7331 # 599 "parser_cocci_menhir.mly"
7332 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
7333 # 7334 "parser_cocci_menhir.ml"
7334
7335 in
7336 let cv =
7337
7338 # 39 "standard.mly"
7339 ( None )
7340 # 7341 "parser_cocci_menhir.ml"
7341
7342 in
7343
7344 # 607 "parser_cocci_menhir.mly"
7345 ( P.pointerify (P.make_cv cv ty) m )
7346 # 7347 "parser_cocci_menhir.ml"
7347 in
7348 _menhir_env.MenhirLib.EngineTypes.stack <- {
7349 MenhirLib.EngineTypes.state = _menhir_s;
7350 MenhirLib.EngineTypes.semv = Obj.repr _v;
7351 MenhirLib.EngineTypes.startp = _startpos;
7352 MenhirLib.EngineTypes.endp = _endpos;
7353 MenhirLib.EngineTypes.next = _menhir_stack;
7354 });
7355 (fun _menhir_env ->
7356 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7357 let {
7358 MenhirLib.EngineTypes.semv = m;
7359 MenhirLib.EngineTypes.startp = _startpos_m_;
7360 MenhirLib.EngineTypes.endp = _endpos_m_;
7361 MenhirLib.EngineTypes.next = {
7362 MenhirLib.EngineTypes.semv = ty00;
7363 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7364 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7365 MenhirLib.EngineTypes.next = {
7366 MenhirLib.EngineTypes.state = _menhir_s;
7367 MenhirLib.EngineTypes.semv = r0;
7368 MenhirLib.EngineTypes.startp = _startpos_r0_;
7369 MenhirLib.EngineTypes.endp = _endpos_r0_;
7370 MenhirLib.EngineTypes.next = _menhir_stack;
7371 };
7372 };
7373 } = _menhir_stack in
7374 let m : 'tv_list_TMul_ = Obj.magic m in
7375 let ty00 : (
7376 # 51 "parser_cocci_menhir.mly"
7377 (Data.clt)
7378 # 7379 "parser_cocci_menhir.ml"
7379 ) = Obj.magic ty00 in
7380 let r0 : (
7381 # 54 "parser_cocci_menhir.mly"
7382 (Data.clt)
7383 # 7384 "parser_cocci_menhir.ml"
7384 ) = Obj.magic r0 in
7385 let _startpos = _startpos_r0_ in
7386 let _endpos = _endpos_m_ in
7387 let _v : 'tv_ctype = let ty =
7388 let ty0 = ty00 in
7389 let r = r0 in
7390 let ty =
7391 let ty = ty0 in
7392
7393 # 540 "parser_cocci_menhir.mly"
7394 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
7395 # 7396 "parser_cocci_menhir.ml"
7396
7397 in
7398
7399 # 599 "parser_cocci_menhir.mly"
7400 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
7401 # 7402 "parser_cocci_menhir.ml"
7402
7403 in
7404 let cv =
7405
7406 # 39 "standard.mly"
7407 ( None )
7408 # 7409 "parser_cocci_menhir.ml"
7409
7410 in
7411
7412 # 607 "parser_cocci_menhir.mly"
7413 ( P.pointerify (P.make_cv cv ty) m )
7414 # 7415 "parser_cocci_menhir.ml"
7415 in
7416 _menhir_env.MenhirLib.EngineTypes.stack <- {
7417 MenhirLib.EngineTypes.state = _menhir_s;
7418 MenhirLib.EngineTypes.semv = Obj.repr _v;
7419 MenhirLib.EngineTypes.startp = _startpos;
7420 MenhirLib.EngineTypes.endp = _endpos;
7421 MenhirLib.EngineTypes.next = _menhir_stack;
7422 });
7423 (fun _menhir_env ->
7424 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7425 let {
7426 MenhirLib.EngineTypes.semv = m;
7427 MenhirLib.EngineTypes.startp = _startpos_m_;
7428 MenhirLib.EngineTypes.endp = _endpos_m_;
7429 MenhirLib.EngineTypes.next = {
7430 MenhirLib.EngineTypes.semv = p00;
7431 MenhirLib.EngineTypes.startp = _startpos_p00_;
7432 MenhirLib.EngineTypes.endp = _endpos_p00_;
7433 MenhirLib.EngineTypes.next = {
7434 MenhirLib.EngineTypes.state = _menhir_s;
7435 MenhirLib.EngineTypes.semv = r0;
7436 MenhirLib.EngineTypes.startp = _startpos_r0_;
7437 MenhirLib.EngineTypes.endp = _endpos_r0_;
7438 MenhirLib.EngineTypes.next = _menhir_stack;
7439 };
7440 };
7441 } = _menhir_stack in
7442 let m : 'tv_list_TMul_ = Obj.magic m in
7443 let p00 : (
7444 # 68 "parser_cocci_menhir.mly"
7445 (Parse_aux.info)
7446 # 7447 "parser_cocci_menhir.ml"
7447 ) = Obj.magic p00 in
7448 let r0 : (
7449 # 54 "parser_cocci_menhir.mly"
7450 (Data.clt)
7451 # 7452 "parser_cocci_menhir.ml"
7452 ) = Obj.magic r0 in
7453 let _startpos = _startpos_r0_ in
7454 let _endpos = _endpos_m_ in
7455 let _v : 'tv_ctype = let ty =
7456 let p0 = p00 in
7457 let r = r0 in
7458 let ty =
7459 let p = p0 in
7460
7461 # 542 "parser_cocci_menhir.mly"
7462 ( let (nm,pure,clt) = p in
7463 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
7464 # 7465 "parser_cocci_menhir.ml"
7465
7466 in
7467
7468 # 599 "parser_cocci_menhir.mly"
7469 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
7470 # 7471 "parser_cocci_menhir.ml"
7471
7472 in
7473 let cv =
7474
7475 # 39 "standard.mly"
7476 ( None )
7477 # 7478 "parser_cocci_menhir.ml"
7478
7479 in
7480
7481 # 607 "parser_cocci_menhir.mly"
7482 ( P.pointerify (P.make_cv cv ty) m )
7483 # 7484 "parser_cocci_menhir.ml"
7484 in
7485 _menhir_env.MenhirLib.EngineTypes.stack <- {
7486 MenhirLib.EngineTypes.state = _menhir_s;
7487 MenhirLib.EngineTypes.semv = Obj.repr _v;
7488 MenhirLib.EngineTypes.startp = _startpos;
7489 MenhirLib.EngineTypes.endp = _endpos;
7490 MenhirLib.EngineTypes.next = _menhir_stack;
7491 });
7492 (fun _menhir_env ->
7493 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7494 let {
7495 MenhirLib.EngineTypes.semv = m;
7496 MenhirLib.EngineTypes.startp = _startpos_m_;
7497 MenhirLib.EngineTypes.endp = _endpos_m_;
7498 MenhirLib.EngineTypes.next = {
7499 MenhirLib.EngineTypes.semv = p00;
7500 MenhirLib.EngineTypes.startp = _startpos_p00_;
7501 MenhirLib.EngineTypes.endp = _endpos_p00_;
7502 MenhirLib.EngineTypes.next = {
7503 MenhirLib.EngineTypes.startp = _startpos__3_;
7504 MenhirLib.EngineTypes.endp = _endpos__3_;
7505 MenhirLib.EngineTypes.next = {
7506 MenhirLib.EngineTypes.semv = r00;
7507 MenhirLib.EngineTypes.startp = _startpos_r00_;
7508 MenhirLib.EngineTypes.endp = _endpos_r00_;
7509 MenhirLib.EngineTypes.next = {
7510 MenhirLib.EngineTypes.state = _menhir_s;
7511 MenhirLib.EngineTypes.semv = r1;
7512 MenhirLib.EngineTypes.startp = _startpos_r1_;
7513 MenhirLib.EngineTypes.endp = _endpos_r1_;
7514 MenhirLib.EngineTypes.next = _menhir_stack;
7515 };
7516 };
7517 };
7518 };
7519 } = _menhir_stack in
7520 let m : 'tv_list_TMul_ = Obj.magic m in
7521 let p00 : (
7522 # 62 "parser_cocci_menhir.mly"
7523 (string * Data.clt)
7524 # 7525 "parser_cocci_menhir.ml"
7525 ) = Obj.magic p00 in
7526 let r00 : (
7527 # 49 "parser_cocci_menhir.mly"
7528 (string)
7529 # 7530 "parser_cocci_menhir.ml"
7530 ) = Obj.magic r00 in
7531 let r1 : (
7532 # 54 "parser_cocci_menhir.mly"
7533 (Data.clt)
7534 # 7535 "parser_cocci_menhir.ml"
7535 ) = Obj.magic r1 in
7536 let _startpos = _startpos_r1_ in
7537 let _endpos = _endpos_m_ in
7538 let _v : 'tv_ctype = let ty =
7539 let p0 = p00 in
7540 let r0 = r00 in
7541 let r = r1 in
7542 let ty =
7543 let p = p0 in
7544 let r = r0 in
7545
7546 # 545 "parser_cocci_menhir.mly"
7547 ( let nm = (r,P.id2name p) in
7548 (* this is only possible when we are in a metavar decl. Otherwise,
7549 it will be represented already as a MetaType *)
7550 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
7551 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
7552 Ast0.Impure (*will be ignored*))) )
7553 # 7554 "parser_cocci_menhir.ml"
7554
7555 in
7556
7557 # 599 "parser_cocci_menhir.mly"
7558 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
7559 # 7560 "parser_cocci_menhir.ml"
7560
7561 in
7562 let cv =
7563
7564 # 39 "standard.mly"
7565 ( None )
7566 # 7567 "parser_cocci_menhir.ml"
7567
7568 in
7569
7570 # 607 "parser_cocci_menhir.mly"
7571 ( P.pointerify (P.make_cv cv ty) m )
7572 # 7573 "parser_cocci_menhir.ml"
7573 in
7574 _menhir_env.MenhirLib.EngineTypes.stack <- {
7575 MenhirLib.EngineTypes.state = _menhir_s;
7576 MenhirLib.EngineTypes.semv = Obj.repr _v;
7577 MenhirLib.EngineTypes.startp = _startpos;
7578 MenhirLib.EngineTypes.endp = _endpos;
7579 MenhirLib.EngineTypes.next = _menhir_stack;
7580 });
7581 (fun _menhir_env ->
7582 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7583 let {
7584 MenhirLib.EngineTypes.semv = m;
7585 MenhirLib.EngineTypes.startp = _startpos_m_;
7586 MenhirLib.EngineTypes.endp = _endpos_m_;
7587 MenhirLib.EngineTypes.next = {
7588 MenhirLib.EngineTypes.semv = ty00;
7589 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7590 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7591 MenhirLib.EngineTypes.next = {
7592 MenhirLib.EngineTypes.state = _menhir_s;
7593 MenhirLib.EngineTypes.semv = r0;
7594 MenhirLib.EngineTypes.startp = _startpos_r0_;
7595 MenhirLib.EngineTypes.endp = _endpos_r0_;
7596 MenhirLib.EngineTypes.next = _menhir_stack;
7597 };
7598 };
7599 } = _menhir_stack in
7600 let m : 'tv_list_TMul_ = Obj.magic m in
7601 let ty00 : (
7602 # 51 "parser_cocci_menhir.mly"
7603 (Data.clt)
7604 # 7605 "parser_cocci_menhir.ml"
7605 ) = Obj.magic ty00 in
7606 let r0 : (
7607 # 54 "parser_cocci_menhir.mly"
7608 (Data.clt)
7609 # 7610 "parser_cocci_menhir.ml"
7610 ) = Obj.magic r0 in
7611 let _startpos = _startpos_r0_ in
7612 let _endpos = _endpos_m_ in
7613 let _v : 'tv_ctype = let ty =
7614 let ty0 = ty00 in
7615 let r = r0 in
7616 let ty =
7617 let ty = ty0 in
7618
7619 # 552 "parser_cocci_menhir.mly"
7620 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
7621 # 7622 "parser_cocci_menhir.ml"
7622
7623 in
7624
7625 # 599 "parser_cocci_menhir.mly"
7626 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
7627 # 7628 "parser_cocci_menhir.ml"
7628
7629 in
7630 let cv =
7631
7632 # 39 "standard.mly"
7633 ( None )
7634 # 7635 "parser_cocci_menhir.ml"
7635
7636 in
7637
7638 # 607 "parser_cocci_menhir.mly"
7639 ( P.pointerify (P.make_cv cv ty) m )
7640 # 7641 "parser_cocci_menhir.ml"
7641 in
7642 _menhir_env.MenhirLib.EngineTypes.stack <- {
7643 MenhirLib.EngineTypes.state = _menhir_s;
7644 MenhirLib.EngineTypes.semv = Obj.repr _v;
7645 MenhirLib.EngineTypes.startp = _startpos;
7646 MenhirLib.EngineTypes.endp = _endpos;
7647 MenhirLib.EngineTypes.next = _menhir_stack;
7648 });
7649 (fun _menhir_env ->
7650 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7651 let {
7652 MenhirLib.EngineTypes.semv = m;
7653 MenhirLib.EngineTypes.startp = _startpos_m_;
7654 MenhirLib.EngineTypes.endp = _endpos_m_;
7655 MenhirLib.EngineTypes.next = {
7656 MenhirLib.EngineTypes.semv = ty200;
7657 MenhirLib.EngineTypes.startp = _startpos_ty200_;
7658 MenhirLib.EngineTypes.endp = _endpos_ty200_;
7659 MenhirLib.EngineTypes.next = {
7660 MenhirLib.EngineTypes.semv = ty100;
7661 MenhirLib.EngineTypes.startp = _startpos_ty100_;
7662 MenhirLib.EngineTypes.endp = _endpos_ty100_;
7663 MenhirLib.EngineTypes.next = {
7664 MenhirLib.EngineTypes.state = _menhir_s;
7665 MenhirLib.EngineTypes.semv = r0;
7666 MenhirLib.EngineTypes.startp = _startpos_r0_;
7667 MenhirLib.EngineTypes.endp = _endpos_r0_;
7668 MenhirLib.EngineTypes.next = _menhir_stack;
7669 };
7670 };
7671 };
7672 } = _menhir_stack in
7673 let m : 'tv_list_TMul_ = Obj.magic m in
7674 let ty200 : (
7675 # 51 "parser_cocci_menhir.mly"
7676 (Data.clt)
7677 # 7678 "parser_cocci_menhir.ml"
7678 ) = Obj.magic ty200 in
7679 let ty100 : (
7680 # 51 "parser_cocci_menhir.mly"
7681 (Data.clt)
7682 # 7683 "parser_cocci_menhir.ml"
7683 ) = Obj.magic ty100 in
7684 let r0 : (
7685 # 54 "parser_cocci_menhir.mly"
7686 (Data.clt)
7687 # 7688 "parser_cocci_menhir.ml"
7688 ) = Obj.magic r0 in
7689 let _startpos = _startpos_r0_ in
7690 let _endpos = _endpos_m_ in
7691 let _v : 'tv_ctype = let ty =
7692 let ty20 = ty200 in
7693 let ty10 = ty100 in
7694 let r = r0 in
7695 let ty =
7696 let ty2 = ty20 in
7697 let ty1 = ty10 in
7698
7699 # 554 "parser_cocci_menhir.mly"
7700 ( Ast0.wrap
7701 (Ast0.BaseType
7702 (Ast.LongLongType,
7703 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
7704 # 7705 "parser_cocci_menhir.ml"
7705
7706 in
7707
7708 # 599 "parser_cocci_menhir.mly"
7709 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
7710 # 7711 "parser_cocci_menhir.ml"
7711
7712 in
7713 let cv =
7714
7715 # 39 "standard.mly"
7716 ( None )
7717 # 7718 "parser_cocci_menhir.ml"
7718
7719 in
7720
7721 # 607 "parser_cocci_menhir.mly"
7722 ( P.pointerify (P.make_cv cv ty) m )
7723 # 7724 "parser_cocci_menhir.ml"
7724 in
7725 _menhir_env.MenhirLib.EngineTypes.stack <- {
7726 MenhirLib.EngineTypes.state = _menhir_s;
7727 MenhirLib.EngineTypes.semv = Obj.repr _v;
7728 MenhirLib.EngineTypes.startp = _startpos;
7729 MenhirLib.EngineTypes.endp = _endpos;
7730 MenhirLib.EngineTypes.next = _menhir_stack;
7731 });
7732 (fun _menhir_env ->
7733 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7734 let {
7735 MenhirLib.EngineTypes.semv = m;
7736 MenhirLib.EngineTypes.startp = _startpos_m_;
7737 MenhirLib.EngineTypes.endp = _endpos_m_;
7738 MenhirLib.EngineTypes.next = {
7739 MenhirLib.EngineTypes.semv = ty00;
7740 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7741 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7742 MenhirLib.EngineTypes.next = {
7743 MenhirLib.EngineTypes.state = _menhir_s;
7744 MenhirLib.EngineTypes.semv = r0;
7745 MenhirLib.EngineTypes.startp = _startpos_r0_;
7746 MenhirLib.EngineTypes.endp = _endpos_r0_;
7747 MenhirLib.EngineTypes.next = _menhir_stack;
7748 };
7749 };
7750 } = _menhir_stack in
7751 let m : 'tv_list_TMul_ = Obj.magic m in
7752 let ty00 : (
7753 # 51 "parser_cocci_menhir.mly"
7754 (Data.clt)
7755 # 7756 "parser_cocci_menhir.ml"
7756 ) = Obj.magic ty00 in
7757 let r0 : (
7758 # 54 "parser_cocci_menhir.mly"
7759 (Data.clt)
7760 # 7761 "parser_cocci_menhir.ml"
7761 ) = Obj.magic r0 in
7762 let _startpos = _startpos_r0_ in
7763 let _endpos = _endpos_m_ in
7764 let _v : 'tv_ctype = let ty =
7765 let ty0 = ty00 in
7766 let r = r0 in
7767 let ty =
7768 let ty = ty0 in
7769
7770 # 536 "parser_cocci_menhir.mly"
7771 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
7772 # 7773 "parser_cocci_menhir.ml"
7773
7774 in
7775
7776 # 601 "parser_cocci_menhir.mly"
7777 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
7778 # 7779 "parser_cocci_menhir.ml"
7779
7780 in
7781 let cv =
7782
7783 # 39 "standard.mly"
7784 ( None )
7785 # 7786 "parser_cocci_menhir.ml"
7786
7787 in
7788
7789 # 607 "parser_cocci_menhir.mly"
7790 ( P.pointerify (P.make_cv cv ty) m )
7791 # 7792 "parser_cocci_menhir.ml"
7792 in
7793 _menhir_env.MenhirLib.EngineTypes.stack <- {
7794 MenhirLib.EngineTypes.state = _menhir_s;
7795 MenhirLib.EngineTypes.semv = Obj.repr _v;
7796 MenhirLib.EngineTypes.startp = _startpos;
7797 MenhirLib.EngineTypes.endp = _endpos;
7798 MenhirLib.EngineTypes.next = _menhir_stack;
7799 });
7800 (fun _menhir_env ->
7801 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7802 let {
7803 MenhirLib.EngineTypes.semv = m;
7804 MenhirLib.EngineTypes.startp = _startpos_m_;
7805 MenhirLib.EngineTypes.endp = _endpos_m_;
7806 MenhirLib.EngineTypes.next = {
7807 MenhirLib.EngineTypes.semv = ty00;
7808 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7809 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7810 MenhirLib.EngineTypes.next = {
7811 MenhirLib.EngineTypes.state = _menhir_s;
7812 MenhirLib.EngineTypes.semv = r0;
7813 MenhirLib.EngineTypes.startp = _startpos_r0_;
7814 MenhirLib.EngineTypes.endp = _endpos_r0_;
7815 MenhirLib.EngineTypes.next = _menhir_stack;
7816 };
7817 };
7818 } = _menhir_stack in
7819 let m : 'tv_list_TMul_ = Obj.magic m in
7820 let ty00 : (
7821 # 51 "parser_cocci_menhir.mly"
7822 (Data.clt)
7823 # 7824 "parser_cocci_menhir.ml"
7824 ) = Obj.magic ty00 in
7825 let r0 : (
7826 # 54 "parser_cocci_menhir.mly"
7827 (Data.clt)
7828 # 7829 "parser_cocci_menhir.ml"
7829 ) = Obj.magic r0 in
7830 let _startpos = _startpos_r0_ in
7831 let _endpos = _endpos_m_ in
7832 let _v : 'tv_ctype = let ty =
7833 let ty0 = ty00 in
7834 let r = r0 in
7835 let ty =
7836 let ty = ty0 in
7837
7838 # 538 "parser_cocci_menhir.mly"
7839 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
7840 # 7841 "parser_cocci_menhir.ml"
7841
7842 in
7843
7844 # 601 "parser_cocci_menhir.mly"
7845 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
7846 # 7847 "parser_cocci_menhir.ml"
7847
7848 in
7849 let cv =
7850
7851 # 39 "standard.mly"
7852 ( None )
7853 # 7854 "parser_cocci_menhir.ml"
7854
7855 in
7856
7857 # 607 "parser_cocci_menhir.mly"
7858 ( P.pointerify (P.make_cv cv ty) m )
7859 # 7860 "parser_cocci_menhir.ml"
7860 in
7861 _menhir_env.MenhirLib.EngineTypes.stack <- {
7862 MenhirLib.EngineTypes.state = _menhir_s;
7863 MenhirLib.EngineTypes.semv = Obj.repr _v;
7864 MenhirLib.EngineTypes.startp = _startpos;
7865 MenhirLib.EngineTypes.endp = _endpos;
7866 MenhirLib.EngineTypes.next = _menhir_stack;
7867 });
7868 (fun _menhir_env ->
7869 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7870 let {
7871 MenhirLib.EngineTypes.semv = m;
7872 MenhirLib.EngineTypes.startp = _startpos_m_;
7873 MenhirLib.EngineTypes.endp = _endpos_m_;
7874 MenhirLib.EngineTypes.next = {
7875 MenhirLib.EngineTypes.semv = ty00;
7876 MenhirLib.EngineTypes.startp = _startpos_ty00_;
7877 MenhirLib.EngineTypes.endp = _endpos_ty00_;
7878 MenhirLib.EngineTypes.next = {
7879 MenhirLib.EngineTypes.state = _menhir_s;
7880 MenhirLib.EngineTypes.semv = r0;
7881 MenhirLib.EngineTypes.startp = _startpos_r0_;
7882 MenhirLib.EngineTypes.endp = _endpos_r0_;
7883 MenhirLib.EngineTypes.next = _menhir_stack;
7884 };
7885 };
7886 } = _menhir_stack in
7887 let m : 'tv_list_TMul_ = Obj.magic m in
7888 let ty00 : (
7889 # 51 "parser_cocci_menhir.mly"
7890 (Data.clt)
7891 # 7892 "parser_cocci_menhir.ml"
7892 ) = Obj.magic ty00 in
7893 let r0 : (
7894 # 54 "parser_cocci_menhir.mly"
7895 (Data.clt)
7896 # 7897 "parser_cocci_menhir.ml"
7897 ) = Obj.magic r0 in
7898 let _startpos = _startpos_r0_ in
7899 let _endpos = _endpos_m_ in
7900 let _v : 'tv_ctype = let ty =
7901 let ty0 = ty00 in
7902 let r = r0 in
7903 let ty =
7904 let ty = ty0 in
7905
7906 # 540 "parser_cocci_menhir.mly"
7907 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
7908 # 7909 "parser_cocci_menhir.ml"
7909
7910 in
7911
7912 # 601 "parser_cocci_menhir.mly"
7913 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
7914 # 7915 "parser_cocci_menhir.ml"
7915
7916 in
7917 let cv =
7918
7919 # 39 "standard.mly"
7920 ( None )
7921 # 7922 "parser_cocci_menhir.ml"
7922
7923 in
7924
7925 # 607 "parser_cocci_menhir.mly"
7926 ( P.pointerify (P.make_cv cv ty) m )
7927 # 7928 "parser_cocci_menhir.ml"
7928 in
7929 _menhir_env.MenhirLib.EngineTypes.stack <- {
7930 MenhirLib.EngineTypes.state = _menhir_s;
7931 MenhirLib.EngineTypes.semv = Obj.repr _v;
7932 MenhirLib.EngineTypes.startp = _startpos;
7933 MenhirLib.EngineTypes.endp = _endpos;
7934 MenhirLib.EngineTypes.next = _menhir_stack;
7935 });
7936 (fun _menhir_env ->
7937 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
7938 let {
7939 MenhirLib.EngineTypes.semv = m;
7940 MenhirLib.EngineTypes.startp = _startpos_m_;
7941 MenhirLib.EngineTypes.endp = _endpos_m_;
7942 MenhirLib.EngineTypes.next = {
7943 MenhirLib.EngineTypes.semv = p00;
7944 MenhirLib.EngineTypes.startp = _startpos_p00_;
7945 MenhirLib.EngineTypes.endp = _endpos_p00_;
7946 MenhirLib.EngineTypes.next = {
7947 MenhirLib.EngineTypes.state = _menhir_s;
7948 MenhirLib.EngineTypes.semv = r0;
7949 MenhirLib.EngineTypes.startp = _startpos_r0_;
7950 MenhirLib.EngineTypes.endp = _endpos_r0_;
7951 MenhirLib.EngineTypes.next = _menhir_stack;
7952 };
7953 };
7954 } = _menhir_stack in
7955 let m : 'tv_list_TMul_ = Obj.magic m in
7956 let p00 : (
7957 # 68 "parser_cocci_menhir.mly"
7958 (Parse_aux.info)
7959 # 7960 "parser_cocci_menhir.ml"
7960 ) = Obj.magic p00 in
7961 let r0 : (
7962 # 54 "parser_cocci_menhir.mly"
7963 (Data.clt)
7964 # 7965 "parser_cocci_menhir.ml"
7965 ) = Obj.magic r0 in
7966 let _startpos = _startpos_r0_ in
7967 let _endpos = _endpos_m_ in
7968 let _v : 'tv_ctype = let ty =
7969 let p0 = p00 in
7970 let r = r0 in
7971 let ty =
7972 let p = p0 in
7973
7974 # 542 "parser_cocci_menhir.mly"
7975 ( let (nm,pure,clt) = p in
7976 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
7977 # 7978 "parser_cocci_menhir.ml"
7978
7979 in
7980
7981 # 601 "parser_cocci_menhir.mly"
7982 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
7983 # 7984 "parser_cocci_menhir.ml"
7984
7985 in
7986 let cv =
7987
7988 # 39 "standard.mly"
7989 ( None )
7990 # 7991 "parser_cocci_menhir.ml"
7991
7992 in
7993
7994 # 607 "parser_cocci_menhir.mly"
7995 ( P.pointerify (P.make_cv cv ty) m )
7996 # 7997 "parser_cocci_menhir.ml"
7997 in
7998 _menhir_env.MenhirLib.EngineTypes.stack <- {
7999 MenhirLib.EngineTypes.state = _menhir_s;
8000 MenhirLib.EngineTypes.semv = Obj.repr _v;
8001 MenhirLib.EngineTypes.startp = _startpos;
8002 MenhirLib.EngineTypes.endp = _endpos;
8003 MenhirLib.EngineTypes.next = _menhir_stack;
8004 });
8005 (fun _menhir_env ->
8006 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8007 let {
8008 MenhirLib.EngineTypes.semv = m;
8009 MenhirLib.EngineTypes.startp = _startpos_m_;
8010 MenhirLib.EngineTypes.endp = _endpos_m_;
8011 MenhirLib.EngineTypes.next = {
8012 MenhirLib.EngineTypes.semv = p00;
8013 MenhirLib.EngineTypes.startp = _startpos_p00_;
8014 MenhirLib.EngineTypes.endp = _endpos_p00_;
8015 MenhirLib.EngineTypes.next = {
8016 MenhirLib.EngineTypes.startp = _startpos__3_;
8017 MenhirLib.EngineTypes.endp = _endpos__3_;
8018 MenhirLib.EngineTypes.next = {
8019 MenhirLib.EngineTypes.semv = r00;
8020 MenhirLib.EngineTypes.startp = _startpos_r00_;
8021 MenhirLib.EngineTypes.endp = _endpos_r00_;
8022 MenhirLib.EngineTypes.next = {
8023 MenhirLib.EngineTypes.state = _menhir_s;
8024 MenhirLib.EngineTypes.semv = r1;
8025 MenhirLib.EngineTypes.startp = _startpos_r1_;
8026 MenhirLib.EngineTypes.endp = _endpos_r1_;
8027 MenhirLib.EngineTypes.next = _menhir_stack;
8028 };
8029 };
8030 };
8031 };
8032 } = _menhir_stack in
8033 let m : 'tv_list_TMul_ = Obj.magic m in
8034 let p00 : (
8035 # 62 "parser_cocci_menhir.mly"
8036 (string * Data.clt)
8037 # 8038 "parser_cocci_menhir.ml"
8038 ) = Obj.magic p00 in
8039 let r00 : (
8040 # 49 "parser_cocci_menhir.mly"
8041 (string)
8042 # 8043 "parser_cocci_menhir.ml"
8043 ) = Obj.magic r00 in
8044 let r1 : (
8045 # 54 "parser_cocci_menhir.mly"
8046 (Data.clt)
8047 # 8048 "parser_cocci_menhir.ml"
8048 ) = Obj.magic r1 in
8049 let _startpos = _startpos_r1_ in
8050 let _endpos = _endpos_m_ in
8051 let _v : 'tv_ctype = let ty =
8052 let p0 = p00 in
8053 let r0 = r00 in
8054 let r = r1 in
8055 let ty =
8056 let p = p0 in
8057 let r = r0 in
8058
8059 # 545 "parser_cocci_menhir.mly"
8060 ( let nm = (r,P.id2name p) in
8061 (* this is only possible when we are in a metavar decl. Otherwise,
8062 it will be represented already as a MetaType *)
8063 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
8064 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
8065 Ast0.Impure (*will be ignored*))) )
8066 # 8067 "parser_cocci_menhir.ml"
8067
8068 in
8069
8070 # 601 "parser_cocci_menhir.mly"
8071 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8072 # 8073 "parser_cocci_menhir.ml"
8073
8074 in
8075 let cv =
8076
8077 # 39 "standard.mly"
8078 ( None )
8079 # 8080 "parser_cocci_menhir.ml"
8080
8081 in
8082
8083 # 607 "parser_cocci_menhir.mly"
8084 ( P.pointerify (P.make_cv cv ty) m )
8085 # 8086 "parser_cocci_menhir.ml"
8086 in
8087 _menhir_env.MenhirLib.EngineTypes.stack <- {
8088 MenhirLib.EngineTypes.state = _menhir_s;
8089 MenhirLib.EngineTypes.semv = Obj.repr _v;
8090 MenhirLib.EngineTypes.startp = _startpos;
8091 MenhirLib.EngineTypes.endp = _endpos;
8092 MenhirLib.EngineTypes.next = _menhir_stack;
8093 });
8094 (fun _menhir_env ->
8095 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8096 let {
8097 MenhirLib.EngineTypes.semv = m;
8098 MenhirLib.EngineTypes.startp = _startpos_m_;
8099 MenhirLib.EngineTypes.endp = _endpos_m_;
8100 MenhirLib.EngineTypes.next = {
8101 MenhirLib.EngineTypes.semv = ty00;
8102 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8103 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8104 MenhirLib.EngineTypes.next = {
8105 MenhirLib.EngineTypes.state = _menhir_s;
8106 MenhirLib.EngineTypes.semv = r0;
8107 MenhirLib.EngineTypes.startp = _startpos_r0_;
8108 MenhirLib.EngineTypes.endp = _endpos_r0_;
8109 MenhirLib.EngineTypes.next = _menhir_stack;
8110 };
8111 };
8112 } = _menhir_stack in
8113 let m : 'tv_list_TMul_ = Obj.magic m in
8114 let ty00 : (
8115 # 51 "parser_cocci_menhir.mly"
8116 (Data.clt)
8117 # 8118 "parser_cocci_menhir.ml"
8118 ) = Obj.magic ty00 in
8119 let r0 : (
8120 # 54 "parser_cocci_menhir.mly"
8121 (Data.clt)
8122 # 8123 "parser_cocci_menhir.ml"
8123 ) = Obj.magic r0 in
8124 let _startpos = _startpos_r0_ in
8125 let _endpos = _endpos_m_ in
8126 let _v : 'tv_ctype = let ty =
8127 let ty0 = ty00 in
8128 let r = r0 in
8129 let ty =
8130 let ty = ty0 in
8131
8132 # 552 "parser_cocci_menhir.mly"
8133 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
8134 # 8135 "parser_cocci_menhir.ml"
8135
8136 in
8137
8138 # 601 "parser_cocci_menhir.mly"
8139 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8140 # 8141 "parser_cocci_menhir.ml"
8141
8142 in
8143 let cv =
8144
8145 # 39 "standard.mly"
8146 ( None )
8147 # 8148 "parser_cocci_menhir.ml"
8148
8149 in
8150
8151 # 607 "parser_cocci_menhir.mly"
8152 ( P.pointerify (P.make_cv cv ty) m )
8153 # 8154 "parser_cocci_menhir.ml"
8154 in
8155 _menhir_env.MenhirLib.EngineTypes.stack <- {
8156 MenhirLib.EngineTypes.state = _menhir_s;
8157 MenhirLib.EngineTypes.semv = Obj.repr _v;
8158 MenhirLib.EngineTypes.startp = _startpos;
8159 MenhirLib.EngineTypes.endp = _endpos;
8160 MenhirLib.EngineTypes.next = _menhir_stack;
8161 });
8162 (fun _menhir_env ->
8163 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8164 let {
8165 MenhirLib.EngineTypes.semv = m;
8166 MenhirLib.EngineTypes.startp = _startpos_m_;
8167 MenhirLib.EngineTypes.endp = _endpos_m_;
8168 MenhirLib.EngineTypes.next = {
8169 MenhirLib.EngineTypes.semv = ty200;
8170 MenhirLib.EngineTypes.startp = _startpos_ty200_;
8171 MenhirLib.EngineTypes.endp = _endpos_ty200_;
8172 MenhirLib.EngineTypes.next = {
8173 MenhirLib.EngineTypes.semv = ty100;
8174 MenhirLib.EngineTypes.startp = _startpos_ty100_;
8175 MenhirLib.EngineTypes.endp = _endpos_ty100_;
8176 MenhirLib.EngineTypes.next = {
8177 MenhirLib.EngineTypes.state = _menhir_s;
8178 MenhirLib.EngineTypes.semv = r0;
8179 MenhirLib.EngineTypes.startp = _startpos_r0_;
8180 MenhirLib.EngineTypes.endp = _endpos_r0_;
8181 MenhirLib.EngineTypes.next = _menhir_stack;
8182 };
8183 };
8184 };
8185 } = _menhir_stack in
8186 let m : 'tv_list_TMul_ = Obj.magic m in
8187 let ty200 : (
8188 # 51 "parser_cocci_menhir.mly"
8189 (Data.clt)
8190 # 8191 "parser_cocci_menhir.ml"
8191 ) = Obj.magic ty200 in
8192 let ty100 : (
8193 # 51 "parser_cocci_menhir.mly"
8194 (Data.clt)
8195 # 8196 "parser_cocci_menhir.ml"
8196 ) = Obj.magic ty100 in
8197 let r0 : (
8198 # 54 "parser_cocci_menhir.mly"
8199 (Data.clt)
8200 # 8201 "parser_cocci_menhir.ml"
8201 ) = Obj.magic r0 in
8202 let _startpos = _startpos_r0_ in
8203 let _endpos = _endpos_m_ in
8204 let _v : 'tv_ctype = let ty =
8205 let ty20 = ty200 in
8206 let ty10 = ty100 in
8207 let r = r0 in
8208 let ty =
8209 let ty2 = ty20 in
8210 let ty1 = ty10 in
8211
8212 # 554 "parser_cocci_menhir.mly"
8213 ( Ast0.wrap
8214 (Ast0.BaseType
8215 (Ast.LongLongType,
8216 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
8217 # 8218 "parser_cocci_menhir.ml"
8218
8219 in
8220
8221 # 601 "parser_cocci_menhir.mly"
8222 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
8223 # 8224 "parser_cocci_menhir.ml"
8224
8225 in
8226 let cv =
8227
8228 # 39 "standard.mly"
8229 ( None )
8230 # 8231 "parser_cocci_menhir.ml"
8231
8232 in
8233
8234 # 607 "parser_cocci_menhir.mly"
8235 ( P.pointerify (P.make_cv cv ty) m )
8236 # 8237 "parser_cocci_menhir.ml"
8237 in
8238 _menhir_env.MenhirLib.EngineTypes.stack <- {
8239 MenhirLib.EngineTypes.state = _menhir_s;
8240 MenhirLib.EngineTypes.semv = Obj.repr _v;
8241 MenhirLib.EngineTypes.startp = _startpos;
8242 MenhirLib.EngineTypes.endp = _endpos;
8243 MenhirLib.EngineTypes.next = _menhir_stack;
8244 });
8245 (fun _menhir_env ->
8246 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8247 let {
8248 MenhirLib.EngineTypes.semv = m;
8249 MenhirLib.EngineTypes.startp = _startpos_m_;
8250 MenhirLib.EngineTypes.endp = _endpos_m_;
8251 MenhirLib.EngineTypes.next = {
8252 MenhirLib.EngineTypes.state = _menhir_s;
8253 MenhirLib.EngineTypes.semv = ty00;
8254 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8255 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8256 MenhirLib.EngineTypes.next = _menhir_stack;
8257 };
8258 } = _menhir_stack in
8259 let m : 'tv_list_TMul_ = Obj.magic m in
8260 let ty00 : (
8261 # 51 "parser_cocci_menhir.mly"
8262 (Data.clt)
8263 # 8264 "parser_cocci_menhir.ml"
8264 ) = Obj.magic ty00 in
8265 let _startpos = _startpos_ty00_ in
8266 let _endpos = _endpos_m_ in
8267 let _v : 'tv_ctype = let ty =
8268 let ty0 = ty00 in
8269 let ty =
8270 let ty = ty0 in
8271
8272 # 536 "parser_cocci_menhir.mly"
8273 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
8274 # 8275 "parser_cocci_menhir.ml"
8275
8276 in
8277
8278 # 602 "parser_cocci_menhir.mly"
8279 ( ty )
8280 # 8281 "parser_cocci_menhir.ml"
8281
8282 in
8283 let cv =
8284
8285 # 39 "standard.mly"
8286 ( None )
8287 # 8288 "parser_cocci_menhir.ml"
8288
8289 in
8290
8291 # 607 "parser_cocci_menhir.mly"
8292 ( P.pointerify (P.make_cv cv ty) m )
8293 # 8294 "parser_cocci_menhir.ml"
8294 in
8295 _menhir_env.MenhirLib.EngineTypes.stack <- {
8296 MenhirLib.EngineTypes.state = _menhir_s;
8297 MenhirLib.EngineTypes.semv = Obj.repr _v;
8298 MenhirLib.EngineTypes.startp = _startpos;
8299 MenhirLib.EngineTypes.endp = _endpos;
8300 MenhirLib.EngineTypes.next = _menhir_stack;
8301 });
8302 (fun _menhir_env ->
8303 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8304 let {
8305 MenhirLib.EngineTypes.semv = m;
8306 MenhirLib.EngineTypes.startp = _startpos_m_;
8307 MenhirLib.EngineTypes.endp = _endpos_m_;
8308 MenhirLib.EngineTypes.next = {
8309 MenhirLib.EngineTypes.state = _menhir_s;
8310 MenhirLib.EngineTypes.semv = ty00;
8311 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8312 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8313 MenhirLib.EngineTypes.next = _menhir_stack;
8314 };
8315 } = _menhir_stack in
8316 let m : 'tv_list_TMul_ = Obj.magic m in
8317 let ty00 : (
8318 # 51 "parser_cocci_menhir.mly"
8319 (Data.clt)
8320 # 8321 "parser_cocci_menhir.ml"
8321 ) = Obj.magic ty00 in
8322 let _startpos = _startpos_ty00_ in
8323 let _endpos = _endpos_m_ in
8324 let _v : 'tv_ctype = let ty =
8325 let ty0 = ty00 in
8326 let ty =
8327 let ty = ty0 in
8328
8329 # 538 "parser_cocci_menhir.mly"
8330 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
8331 # 8332 "parser_cocci_menhir.ml"
8332
8333 in
8334
8335 # 602 "parser_cocci_menhir.mly"
8336 ( ty )
8337 # 8338 "parser_cocci_menhir.ml"
8338
8339 in
8340 let cv =
8341
8342 # 39 "standard.mly"
8343 ( None )
8344 # 8345 "parser_cocci_menhir.ml"
8345
8346 in
8347
8348 # 607 "parser_cocci_menhir.mly"
8349 ( P.pointerify (P.make_cv cv ty) m )
8350 # 8351 "parser_cocci_menhir.ml"
8351 in
8352 _menhir_env.MenhirLib.EngineTypes.stack <- {
8353 MenhirLib.EngineTypes.state = _menhir_s;
8354 MenhirLib.EngineTypes.semv = Obj.repr _v;
8355 MenhirLib.EngineTypes.startp = _startpos;
8356 MenhirLib.EngineTypes.endp = _endpos;
8357 MenhirLib.EngineTypes.next = _menhir_stack;
8358 });
8359 (fun _menhir_env ->
8360 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8361 let {
8362 MenhirLib.EngineTypes.semv = m;
8363 MenhirLib.EngineTypes.startp = _startpos_m_;
8364 MenhirLib.EngineTypes.endp = _endpos_m_;
8365 MenhirLib.EngineTypes.next = {
8366 MenhirLib.EngineTypes.state = _menhir_s;
8367 MenhirLib.EngineTypes.semv = ty00;
8368 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8369 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8370 MenhirLib.EngineTypes.next = _menhir_stack;
8371 };
8372 } = _menhir_stack in
8373 let m : 'tv_list_TMul_ = Obj.magic m in
8374 let ty00 : (
8375 # 51 "parser_cocci_menhir.mly"
8376 (Data.clt)
8377 # 8378 "parser_cocci_menhir.ml"
8378 ) = Obj.magic ty00 in
8379 let _startpos = _startpos_ty00_ in
8380 let _endpos = _endpos_m_ in
8381 let _v : 'tv_ctype = let ty =
8382 let ty0 = ty00 in
8383 let ty =
8384 let ty = ty0 in
8385
8386 # 540 "parser_cocci_menhir.mly"
8387 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
8388 # 8389 "parser_cocci_menhir.ml"
8389
8390 in
8391
8392 # 602 "parser_cocci_menhir.mly"
8393 ( ty )
8394 # 8395 "parser_cocci_menhir.ml"
8395
8396 in
8397 let cv =
8398
8399 # 39 "standard.mly"
8400 ( None )
8401 # 8402 "parser_cocci_menhir.ml"
8402
8403 in
8404
8405 # 607 "parser_cocci_menhir.mly"
8406 ( P.pointerify (P.make_cv cv ty) m )
8407 # 8408 "parser_cocci_menhir.ml"
8408 in
8409 _menhir_env.MenhirLib.EngineTypes.stack <- {
8410 MenhirLib.EngineTypes.state = _menhir_s;
8411 MenhirLib.EngineTypes.semv = Obj.repr _v;
8412 MenhirLib.EngineTypes.startp = _startpos;
8413 MenhirLib.EngineTypes.endp = _endpos;
8414 MenhirLib.EngineTypes.next = _menhir_stack;
8415 });
8416 (fun _menhir_env ->
8417 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8418 let {
8419 MenhirLib.EngineTypes.semv = m;
8420 MenhirLib.EngineTypes.startp = _startpos_m_;
8421 MenhirLib.EngineTypes.endp = _endpos_m_;
8422 MenhirLib.EngineTypes.next = {
8423 MenhirLib.EngineTypes.state = _menhir_s;
8424 MenhirLib.EngineTypes.semv = p00;
8425 MenhirLib.EngineTypes.startp = _startpos_p00_;
8426 MenhirLib.EngineTypes.endp = _endpos_p00_;
8427 MenhirLib.EngineTypes.next = _menhir_stack;
8428 };
8429 } = _menhir_stack in
8430 let m : 'tv_list_TMul_ = Obj.magic m in
8431 let p00 : (
8432 # 68 "parser_cocci_menhir.mly"
8433 (Parse_aux.info)
8434 # 8435 "parser_cocci_menhir.ml"
8435 ) = Obj.magic p00 in
8436 let _startpos = _startpos_p00_ in
8437 let _endpos = _endpos_m_ in
8438 let _v : 'tv_ctype = let ty =
8439 let p0 = p00 in
8440 let ty =
8441 let p = p0 in
8442
8443 # 542 "parser_cocci_menhir.mly"
8444 ( let (nm,pure,clt) = p in
8445 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
8446 # 8447 "parser_cocci_menhir.ml"
8447
8448 in
8449
8450 # 602 "parser_cocci_menhir.mly"
8451 ( ty )
8452 # 8453 "parser_cocci_menhir.ml"
8453
8454 in
8455 let cv =
8456
8457 # 39 "standard.mly"
8458 ( None )
8459 # 8460 "parser_cocci_menhir.ml"
8460
8461 in
8462
8463 # 607 "parser_cocci_menhir.mly"
8464 ( P.pointerify (P.make_cv cv ty) m )
8465 # 8466 "parser_cocci_menhir.ml"
8466 in
8467 _menhir_env.MenhirLib.EngineTypes.stack <- {
8468 MenhirLib.EngineTypes.state = _menhir_s;
8469 MenhirLib.EngineTypes.semv = Obj.repr _v;
8470 MenhirLib.EngineTypes.startp = _startpos;
8471 MenhirLib.EngineTypes.endp = _endpos;
8472 MenhirLib.EngineTypes.next = _menhir_stack;
8473 });
8474 (fun _menhir_env ->
8475 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8476 let {
8477 MenhirLib.EngineTypes.semv = m;
8478 MenhirLib.EngineTypes.startp = _startpos_m_;
8479 MenhirLib.EngineTypes.endp = _endpos_m_;
8480 MenhirLib.EngineTypes.next = {
8481 MenhirLib.EngineTypes.semv = p00;
8482 MenhirLib.EngineTypes.startp = _startpos_p00_;
8483 MenhirLib.EngineTypes.endp = _endpos_p00_;
8484 MenhirLib.EngineTypes.next = {
8485 MenhirLib.EngineTypes.startp = _startpos__2_;
8486 MenhirLib.EngineTypes.endp = _endpos__2_;
8487 MenhirLib.EngineTypes.next = {
8488 MenhirLib.EngineTypes.state = _menhir_s;
8489 MenhirLib.EngineTypes.semv = r00;
8490 MenhirLib.EngineTypes.startp = _startpos_r00_;
8491 MenhirLib.EngineTypes.endp = _endpos_r00_;
8492 MenhirLib.EngineTypes.next = _menhir_stack;
8493 };
8494 };
8495 };
8496 } = _menhir_stack in
8497 let m : 'tv_list_TMul_ = Obj.magic m in
8498 let p00 : (
8499 # 62 "parser_cocci_menhir.mly"
8500 (string * Data.clt)
8501 # 8502 "parser_cocci_menhir.ml"
8502 ) = Obj.magic p00 in
8503 let r00 : (
8504 # 49 "parser_cocci_menhir.mly"
8505 (string)
8506 # 8507 "parser_cocci_menhir.ml"
8507 ) = Obj.magic r00 in
8508 let _startpos = _startpos_r00_ in
8509 let _endpos = _endpos_m_ in
8510 let _v : 'tv_ctype = let ty =
8511 let p0 = p00 in
8512 let r0 = r00 in
8513 let ty =
8514 let p = p0 in
8515 let r = r0 in
8516
8517 # 545 "parser_cocci_menhir.mly"
8518 ( let nm = (r,P.id2name p) in
8519 (* this is only possible when we are in a metavar decl. Otherwise,
8520 it will be represented already as a MetaType *)
8521 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
8522 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
8523 Ast0.Impure (*will be ignored*))) )
8524 # 8525 "parser_cocci_menhir.ml"
8525
8526 in
8527
8528 # 602 "parser_cocci_menhir.mly"
8529 ( ty )
8530 # 8531 "parser_cocci_menhir.ml"
8531
8532 in
8533 let cv =
8534
8535 # 39 "standard.mly"
8536 ( None )
8537 # 8538 "parser_cocci_menhir.ml"
8538
8539 in
8540
8541 # 607 "parser_cocci_menhir.mly"
8542 ( P.pointerify (P.make_cv cv ty) m )
8543 # 8544 "parser_cocci_menhir.ml"
8544 in
8545 _menhir_env.MenhirLib.EngineTypes.stack <- {
8546 MenhirLib.EngineTypes.state = _menhir_s;
8547 MenhirLib.EngineTypes.semv = Obj.repr _v;
8548 MenhirLib.EngineTypes.startp = _startpos;
8549 MenhirLib.EngineTypes.endp = _endpos;
8550 MenhirLib.EngineTypes.next = _menhir_stack;
8551 });
8552 (fun _menhir_env ->
8553 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8554 let {
8555 MenhirLib.EngineTypes.semv = m;
8556 MenhirLib.EngineTypes.startp = _startpos_m_;
8557 MenhirLib.EngineTypes.endp = _endpos_m_;
8558 MenhirLib.EngineTypes.next = {
8559 MenhirLib.EngineTypes.state = _menhir_s;
8560 MenhirLib.EngineTypes.semv = ty00;
8561 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8562 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8563 MenhirLib.EngineTypes.next = _menhir_stack;
8564 };
8565 } = _menhir_stack in
8566 let m : 'tv_list_TMul_ = Obj.magic m in
8567 let ty00 : (
8568 # 51 "parser_cocci_menhir.mly"
8569 (Data.clt)
8570 # 8571 "parser_cocci_menhir.ml"
8571 ) = Obj.magic ty00 in
8572 let _startpos = _startpos_ty00_ in
8573 let _endpos = _endpos_m_ in
8574 let _v : 'tv_ctype = let ty =
8575 let ty0 = ty00 in
8576 let ty =
8577 let ty = ty0 in
8578
8579 # 552 "parser_cocci_menhir.mly"
8580 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
8581 # 8582 "parser_cocci_menhir.ml"
8582
8583 in
8584
8585 # 602 "parser_cocci_menhir.mly"
8586 ( ty )
8587 # 8588 "parser_cocci_menhir.ml"
8588
8589 in
8590 let cv =
8591
8592 # 39 "standard.mly"
8593 ( None )
8594 # 8595 "parser_cocci_menhir.ml"
8595
8596 in
8597
8598 # 607 "parser_cocci_menhir.mly"
8599 ( P.pointerify (P.make_cv cv ty) m )
8600 # 8601 "parser_cocci_menhir.ml"
8601 in
8602 _menhir_env.MenhirLib.EngineTypes.stack <- {
8603 MenhirLib.EngineTypes.state = _menhir_s;
8604 MenhirLib.EngineTypes.semv = Obj.repr _v;
8605 MenhirLib.EngineTypes.startp = _startpos;
8606 MenhirLib.EngineTypes.endp = _endpos;
8607 MenhirLib.EngineTypes.next = _menhir_stack;
8608 });
8609 (fun _menhir_env ->
8610 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8611 let {
8612 MenhirLib.EngineTypes.semv = m;
8613 MenhirLib.EngineTypes.startp = _startpos_m_;
8614 MenhirLib.EngineTypes.endp = _endpos_m_;
8615 MenhirLib.EngineTypes.next = {
8616 MenhirLib.EngineTypes.semv = ty200;
8617 MenhirLib.EngineTypes.startp = _startpos_ty200_;
8618 MenhirLib.EngineTypes.endp = _endpos_ty200_;
8619 MenhirLib.EngineTypes.next = {
8620 MenhirLib.EngineTypes.state = _menhir_s;
8621 MenhirLib.EngineTypes.semv = ty100;
8622 MenhirLib.EngineTypes.startp = _startpos_ty100_;
8623 MenhirLib.EngineTypes.endp = _endpos_ty100_;
8624 MenhirLib.EngineTypes.next = _menhir_stack;
8625 };
8626 };
8627 } = _menhir_stack in
8628 let m : 'tv_list_TMul_ = Obj.magic m in
8629 let ty200 : (
8630 # 51 "parser_cocci_menhir.mly"
8631 (Data.clt)
8632 # 8633 "parser_cocci_menhir.ml"
8633 ) = Obj.magic ty200 in
8634 let ty100 : (
8635 # 51 "parser_cocci_menhir.mly"
8636 (Data.clt)
8637 # 8638 "parser_cocci_menhir.ml"
8638 ) = Obj.magic ty100 in
8639 let _startpos = _startpos_ty100_ in
8640 let _endpos = _endpos_m_ in
8641 let _v : 'tv_ctype = let ty =
8642 let ty20 = ty200 in
8643 let ty10 = ty100 in
8644 let ty =
8645 let ty2 = ty20 in
8646 let ty1 = ty10 in
8647
8648 # 554 "parser_cocci_menhir.mly"
8649 ( Ast0.wrap
8650 (Ast0.BaseType
8651 (Ast.LongLongType,
8652 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
8653 # 8654 "parser_cocci_menhir.ml"
8654
8655 in
8656
8657 # 602 "parser_cocci_menhir.mly"
8658 ( ty )
8659 # 8660 "parser_cocci_menhir.ml"
8660
8661 in
8662 let cv =
8663
8664 # 39 "standard.mly"
8665 ( None )
8666 # 8667 "parser_cocci_menhir.ml"
8667
8668 in
8669
8670 # 607 "parser_cocci_menhir.mly"
8671 ( P.pointerify (P.make_cv cv ty) m )
8672 # 8673 "parser_cocci_menhir.ml"
8673 in
8674 _menhir_env.MenhirLib.EngineTypes.stack <- {
8675 MenhirLib.EngineTypes.state = _menhir_s;
8676 MenhirLib.EngineTypes.semv = Obj.repr _v;
8677 MenhirLib.EngineTypes.startp = _startpos;
8678 MenhirLib.EngineTypes.endp = _endpos;
8679 MenhirLib.EngineTypes.next = _menhir_stack;
8680 });
8681 (fun _menhir_env ->
8682 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8683 let {
8684 MenhirLib.EngineTypes.semv = m;
8685 MenhirLib.EngineTypes.startp = _startpos_m_;
8686 MenhirLib.EngineTypes.endp = _endpos_m_;
8687 MenhirLib.EngineTypes.next = {
8688 MenhirLib.EngineTypes.state = _menhir_s;
8689 MenhirLib.EngineTypes.semv = ty00;
8690 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8691 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8692 MenhirLib.EngineTypes.next = _menhir_stack;
8693 };
8694 } = _menhir_stack in
8695 let m : 'tv_list_TMul_ = Obj.magic m in
8696 let ty00 : (
8697 # 53 "parser_cocci_menhir.mly"
8698 (Data.clt)
8699 # 8700 "parser_cocci_menhir.ml"
8700 ) = Obj.magic ty00 in
8701 let _startpos = _startpos_ty00_ in
8702 let _endpos = _endpos_m_ in
8703 let _v : 'tv_ctype = let ty =
8704 let ty0 = ty00 in
8705 let ty =
8706 let ty = ty0 in
8707
8708 # 562 "parser_cocci_menhir.mly"
8709 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
8710 # 8711 "parser_cocci_menhir.ml"
8711
8712 in
8713
8714 # 603 "parser_cocci_menhir.mly"
8715 ( ty )
8716 # 8717 "parser_cocci_menhir.ml"
8717
8718 in
8719 let cv =
8720
8721 # 39 "standard.mly"
8722 ( None )
8723 # 8724 "parser_cocci_menhir.ml"
8724
8725 in
8726
8727 # 607 "parser_cocci_menhir.mly"
8728 ( P.pointerify (P.make_cv cv ty) m )
8729 # 8730 "parser_cocci_menhir.ml"
8730 in
8731 _menhir_env.MenhirLib.EngineTypes.stack <- {
8732 MenhirLib.EngineTypes.state = _menhir_s;
8733 MenhirLib.EngineTypes.semv = Obj.repr _v;
8734 MenhirLib.EngineTypes.startp = _startpos;
8735 MenhirLib.EngineTypes.endp = _endpos;
8736 MenhirLib.EngineTypes.next = _menhir_stack;
8737 });
8738 (fun _menhir_env ->
8739 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8740 let {
8741 MenhirLib.EngineTypes.semv = m;
8742 MenhirLib.EngineTypes.startp = _startpos_m_;
8743 MenhirLib.EngineTypes.endp = _endpos_m_;
8744 MenhirLib.EngineTypes.next = {
8745 MenhirLib.EngineTypes.state = _menhir_s;
8746 MenhirLib.EngineTypes.semv = ty00;
8747 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8748 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8749 MenhirLib.EngineTypes.next = _menhir_stack;
8750 };
8751 } = _menhir_stack in
8752 let m : 'tv_list_TMul_ = Obj.magic m in
8753 let ty00 : (
8754 # 51 "parser_cocci_menhir.mly"
8755 (Data.clt)
8756 # 8757 "parser_cocci_menhir.ml"
8757 ) = Obj.magic ty00 in
8758 let _startpos = _startpos_ty00_ in
8759 let _endpos = _endpos_m_ in
8760 let _v : 'tv_ctype = let ty =
8761 let ty0 = ty00 in
8762 let ty =
8763 let ty = ty0 in
8764
8765 # 564 "parser_cocci_menhir.mly"
8766 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
8767 # 8768 "parser_cocci_menhir.ml"
8768
8769 in
8770
8771 # 603 "parser_cocci_menhir.mly"
8772 ( ty )
8773 # 8774 "parser_cocci_menhir.ml"
8774
8775 in
8776 let cv =
8777
8778 # 39 "standard.mly"
8779 ( None )
8780 # 8781 "parser_cocci_menhir.ml"
8781
8782 in
8783
8784 # 607 "parser_cocci_menhir.mly"
8785 ( P.pointerify (P.make_cv cv ty) m )
8786 # 8787 "parser_cocci_menhir.ml"
8787 in
8788 _menhir_env.MenhirLib.EngineTypes.stack <- {
8789 MenhirLib.EngineTypes.state = _menhir_s;
8790 MenhirLib.EngineTypes.semv = Obj.repr _v;
8791 MenhirLib.EngineTypes.startp = _startpos;
8792 MenhirLib.EngineTypes.endp = _endpos;
8793 MenhirLib.EngineTypes.next = _menhir_stack;
8794 });
8795 (fun _menhir_env ->
8796 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8797 let {
8798 MenhirLib.EngineTypes.semv = m;
8799 MenhirLib.EngineTypes.startp = _startpos_m_;
8800 MenhirLib.EngineTypes.endp = _endpos_m_;
8801 MenhirLib.EngineTypes.next = {
8802 MenhirLib.EngineTypes.state = _menhir_s;
8803 MenhirLib.EngineTypes.semv = ty00;
8804 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8805 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8806 MenhirLib.EngineTypes.next = _menhir_stack;
8807 };
8808 } = _menhir_stack in
8809 let m : 'tv_list_TMul_ = Obj.magic m in
8810 let ty00 : (
8811 # 51 "parser_cocci_menhir.mly"
8812 (Data.clt)
8813 # 8814 "parser_cocci_menhir.ml"
8814 ) = Obj.magic ty00 in
8815 let _startpos = _startpos_ty00_ in
8816 let _endpos = _endpos_m_ in
8817 let _v : 'tv_ctype = let ty =
8818 let ty0 = ty00 in
8819 let ty =
8820 let ty = ty0 in
8821
8822 # 566 "parser_cocci_menhir.mly"
8823 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
8824 # 8825 "parser_cocci_menhir.ml"
8825
8826 in
8827
8828 # 603 "parser_cocci_menhir.mly"
8829 ( ty )
8830 # 8831 "parser_cocci_menhir.ml"
8831
8832 in
8833 let cv =
8834
8835 # 39 "standard.mly"
8836 ( None )
8837 # 8838 "parser_cocci_menhir.ml"
8838
8839 in
8840
8841 # 607 "parser_cocci_menhir.mly"
8842 ( P.pointerify (P.make_cv cv ty) m )
8843 # 8844 "parser_cocci_menhir.ml"
8844 in
8845 _menhir_env.MenhirLib.EngineTypes.stack <- {
8846 MenhirLib.EngineTypes.state = _menhir_s;
8847 MenhirLib.EngineTypes.semv = Obj.repr _v;
8848 MenhirLib.EngineTypes.startp = _startpos;
8849 MenhirLib.EngineTypes.endp = _endpos;
8850 MenhirLib.EngineTypes.next = _menhir_stack;
8851 });
8852 (fun _menhir_env ->
8853 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8854 let {
8855 MenhirLib.EngineTypes.semv = m;
8856 MenhirLib.EngineTypes.startp = _startpos_m_;
8857 MenhirLib.EngineTypes.endp = _endpos_m_;
8858 MenhirLib.EngineTypes.next = {
8859 MenhirLib.EngineTypes.state = _menhir_s;
8860 MenhirLib.EngineTypes.semv = ty00;
8861 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8862 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8863 MenhirLib.EngineTypes.next = _menhir_stack;
8864 };
8865 } = _menhir_stack in
8866 let m : 'tv_list_TMul_ = Obj.magic m in
8867 let ty00 : (
8868 # 52 "parser_cocci_menhir.mly"
8869 (Data.clt)
8870 # 8871 "parser_cocci_menhir.ml"
8871 ) = Obj.magic ty00 in
8872 let _startpos = _startpos_ty00_ in
8873 let _endpos = _endpos_m_ in
8874 let _v : 'tv_ctype = let ty =
8875 let ty0 = ty00 in
8876 let ty =
8877 let ty = ty0 in
8878
8879 # 568 "parser_cocci_menhir.mly"
8880 ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
8881 # 8882 "parser_cocci_menhir.ml"
8882
8883 in
8884
8885 # 603 "parser_cocci_menhir.mly"
8886 ( ty )
8887 # 8888 "parser_cocci_menhir.ml"
8888
8889 in
8890 let cv =
8891
8892 # 39 "standard.mly"
8893 ( None )
8894 # 8895 "parser_cocci_menhir.ml"
8895
8896 in
8897
8898 # 607 "parser_cocci_menhir.mly"
8899 ( P.pointerify (P.make_cv cv ty) m )
8900 # 8901 "parser_cocci_menhir.ml"
8901 in
8902 _menhir_env.MenhirLib.EngineTypes.stack <- {
8903 MenhirLib.EngineTypes.state = _menhir_s;
8904 MenhirLib.EngineTypes.semv = Obj.repr _v;
8905 MenhirLib.EngineTypes.startp = _startpos;
8906 MenhirLib.EngineTypes.endp = _endpos;
8907 MenhirLib.EngineTypes.next = _menhir_stack;
8908 });
8909 (fun _menhir_env ->
8910 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8911 let {
8912 MenhirLib.EngineTypes.semv = m;
8913 MenhirLib.EngineTypes.startp = _startpos_m_;
8914 MenhirLib.EngineTypes.endp = _endpos_m_;
8915 MenhirLib.EngineTypes.next = {
8916 MenhirLib.EngineTypes.state = _menhir_s;
8917 MenhirLib.EngineTypes.semv = ty00;
8918 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8919 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8920 MenhirLib.EngineTypes.next = _menhir_stack;
8921 };
8922 } = _menhir_stack in
8923 let m : 'tv_list_TMul_ = Obj.magic m in
8924 let ty00 : (
8925 # 52 "parser_cocci_menhir.mly"
8926 (Data.clt)
8927 # 8928 "parser_cocci_menhir.ml"
8928 ) = Obj.magic ty00 in
8929 let _startpos = _startpos_ty00_ in
8930 let _endpos = _endpos_m_ in
8931 let _v : 'tv_ctype = let ty =
8932 let ty0 = ty00 in
8933 let ty =
8934 let ty = ty0 in
8935
8936 # 570 "parser_cocci_menhir.mly"
8937 ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
8938 # 8939 "parser_cocci_menhir.ml"
8939
8940 in
8941
8942 # 603 "parser_cocci_menhir.mly"
8943 ( ty )
8944 # 8945 "parser_cocci_menhir.ml"
8945
8946 in
8947 let cv =
8948
8949 # 39 "standard.mly"
8950 ( None )
8951 # 8952 "parser_cocci_menhir.ml"
8952
8953 in
8954
8955 # 607 "parser_cocci_menhir.mly"
8956 ( P.pointerify (P.make_cv cv ty) m )
8957 # 8958 "parser_cocci_menhir.ml"
8958 in
8959 _menhir_env.MenhirLib.EngineTypes.stack <- {
8960 MenhirLib.EngineTypes.state = _menhir_s;
8961 MenhirLib.EngineTypes.semv = Obj.repr _v;
8962 MenhirLib.EngineTypes.startp = _startpos;
8963 MenhirLib.EngineTypes.endp = _endpos;
8964 MenhirLib.EngineTypes.next = _menhir_stack;
8965 });
8966 (fun _menhir_env ->
8967 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
8968 let {
8969 MenhirLib.EngineTypes.semv = m;
8970 MenhirLib.EngineTypes.startp = _startpos_m_;
8971 MenhirLib.EngineTypes.endp = _endpos_m_;
8972 MenhirLib.EngineTypes.next = {
8973 MenhirLib.EngineTypes.state = _menhir_s;
8974 MenhirLib.EngineTypes.semv = ty00;
8975 MenhirLib.EngineTypes.startp = _startpos_ty00_;
8976 MenhirLib.EngineTypes.endp = _endpos_ty00_;
8977 MenhirLib.EngineTypes.next = _menhir_stack;
8978 };
8979 } = _menhir_stack in
8980 let m : 'tv_list_TMul_ = Obj.magic m in
8981 let ty00 : (
8982 # 52 "parser_cocci_menhir.mly"
8983 (Data.clt)
8984 # 8985 "parser_cocci_menhir.ml"
8985 ) = Obj.magic ty00 in
8986 let _startpos = _startpos_ty00_ in
8987 let _endpos = _endpos_m_ in
8988 let _v : 'tv_ctype = let ty =
8989 let ty0 = ty00 in
8990 let ty =
8991 let ty = ty0 in
8992
8993 # 572 "parser_cocci_menhir.mly"
8994 ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
8995 # 8996 "parser_cocci_menhir.ml"
8996
8997 in
8998
8999 # 603 "parser_cocci_menhir.mly"
9000 ( ty )
9001 # 9002 "parser_cocci_menhir.ml"
9002
9003 in
9004 let cv =
9005
9006 # 39 "standard.mly"
9007 ( None )
9008 # 9009 "parser_cocci_menhir.ml"
9009
9010 in
9011
9012 # 607 "parser_cocci_menhir.mly"
9013 ( P.pointerify (P.make_cv cv ty) m )
9014 # 9015 "parser_cocci_menhir.ml"
9015 in
9016 _menhir_env.MenhirLib.EngineTypes.stack <- {
9017 MenhirLib.EngineTypes.state = _menhir_s;
9018 MenhirLib.EngineTypes.semv = Obj.repr _v;
9019 MenhirLib.EngineTypes.startp = _startpos;
9020 MenhirLib.EngineTypes.endp = _endpos;
9021 MenhirLib.EngineTypes.next = _menhir_stack;
9022 });
9023 (fun _menhir_env ->
9024 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9025 let {
9026 MenhirLib.EngineTypes.semv = m;
9027 MenhirLib.EngineTypes.startp = _startpos_m_;
9028 MenhirLib.EngineTypes.endp = _endpos_m_;
9029 MenhirLib.EngineTypes.next = {
9030 MenhirLib.EngineTypes.semv = i00;
9031 MenhirLib.EngineTypes.startp = _startpos_i00_;
9032 MenhirLib.EngineTypes.endp = _endpos_i00_;
9033 MenhirLib.EngineTypes.next = {
9034 MenhirLib.EngineTypes.state = _menhir_s;
9035 MenhirLib.EngineTypes.semv = s00;
9036 MenhirLib.EngineTypes.startp = _startpos_s00_;
9037 MenhirLib.EngineTypes.endp = _endpos_s00_;
9038 MenhirLib.EngineTypes.next = _menhir_stack;
9039 };
9040 };
9041 } = _menhir_stack in
9042 let m : 'tv_list_TMul_ = Obj.magic m in
9043 let i00 : 'tv_ident = Obj.magic i00 in
9044 let s00 : (
9045 # 53 "parser_cocci_menhir.mly"
9046 (Data.clt)
9047 # 9048 "parser_cocci_menhir.ml"
9048 ) = Obj.magic s00 in
9049 let _startpos = _startpos_s00_ in
9050 let _endpos = _endpos_m_ in
9051 let _v : 'tv_ctype = let ty =
9052 let i0 = i00 in
9053 let s0 = s00 in
9054 let ty =
9055 let i = i0 in
9056 let s = s0 in
9057
9058 # 574 "parser_cocci_menhir.mly"
9059 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
9060 # 9061 "parser_cocci_menhir.ml"
9061
9062 in
9063
9064 # 603 "parser_cocci_menhir.mly"
9065 ( ty )
9066 # 9067 "parser_cocci_menhir.ml"
9067
9068 in
9069 let cv =
9070
9071 # 39 "standard.mly"
9072 ( None )
9073 # 9074 "parser_cocci_menhir.ml"
9074
9075 in
9076
9077 # 607 "parser_cocci_menhir.mly"
9078 ( P.pointerify (P.make_cv cv ty) m )
9079 # 9080 "parser_cocci_menhir.ml"
9080 in
9081 _menhir_env.MenhirLib.EngineTypes.stack <- {
9082 MenhirLib.EngineTypes.state = _menhir_s;
9083 MenhirLib.EngineTypes.semv = Obj.repr _v;
9084 MenhirLib.EngineTypes.startp = _startpos;
9085 MenhirLib.EngineTypes.endp = _endpos;
9086 MenhirLib.EngineTypes.next = _menhir_stack;
9087 });
9088 (fun _menhir_env ->
9089 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9090 let {
9091 MenhirLib.EngineTypes.semv = m;
9092 MenhirLib.EngineTypes.startp = _startpos_m_;
9093 MenhirLib.EngineTypes.endp = _endpos_m_;
9094 MenhirLib.EngineTypes.next = {
9095 MenhirLib.EngineTypes.semv = r00;
9096 MenhirLib.EngineTypes.startp = _startpos_r00_;
9097 MenhirLib.EngineTypes.endp = _endpos_r00_;
9098 MenhirLib.EngineTypes.next = {
9099 MenhirLib.EngineTypes.semv = ids00;
9100 MenhirLib.EngineTypes.startp = _startpos_ids00_;
9101 MenhirLib.EngineTypes.endp = _endpos_ids00_;
9102 MenhirLib.EngineTypes.next = {
9103 MenhirLib.EngineTypes.semv = l00;
9104 MenhirLib.EngineTypes.startp = _startpos_l00_;
9105 MenhirLib.EngineTypes.endp = _endpos_l00_;
9106 MenhirLib.EngineTypes.next = {
9107 MenhirLib.EngineTypes.state = _menhir_s;
9108 MenhirLib.EngineTypes.semv = s00;
9109 MenhirLib.EngineTypes.startp = _startpos_s00_;
9110 MenhirLib.EngineTypes.endp = _endpos_s00_;
9111 MenhirLib.EngineTypes.next = _menhir_stack;
9112 };
9113 };
9114 };
9115 };
9116 } = _menhir_stack in
9117 let m : 'tv_list_TMul_ = Obj.magic m in
9118 let r00 : (
9119 # 105 "parser_cocci_menhir.mly"
9120 (Data.clt)
9121 # 9122 "parser_cocci_menhir.ml"
9122 ) = Obj.magic r00 in
9123 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
9124 let l00 : (
9125 # 105 "parser_cocci_menhir.mly"
9126 (Data.clt)
9127 # 9128 "parser_cocci_menhir.ml"
9128 ) = Obj.magic l00 in
9129 let s00 : (
9130 # 53 "parser_cocci_menhir.mly"
9131 (Data.clt)
9132 # 9133 "parser_cocci_menhir.ml"
9133 ) = Obj.magic s00 in
9134 let _startpos = _startpos_s00_ in
9135 let _endpos = _endpos_m_ in
9136 let _v : 'tv_ctype = let ty =
9137 let r0 = r00 in
9138 let ids0 = ids00 in
9139 let l0 = l00 in
9140 let s0 = s00 in
9141 let ty =
9142 let r = r0 in
9143 let ids = ids0 in
9144 let l = l0 in
9145 let s = s0 in
9146 let i =
9147
9148 # 39 "standard.mly"
9149 ( None )
9150 # 9151 "parser_cocci_menhir.ml"
9151
9152 in
9153
9154 # 576 "parser_cocci_menhir.mly"
9155 ( (if i = None && !Data.in_iso
9156 then failwith "enums must be named in the iso file");
9157 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
9158 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
9159 # 9160 "parser_cocci_menhir.ml"
9160
9161 in
9162
9163 # 603 "parser_cocci_menhir.mly"
9164 ( ty )
9165 # 9166 "parser_cocci_menhir.ml"
9166
9167 in
9168 let cv =
9169
9170 # 39 "standard.mly"
9171 ( None )
9172 # 9173 "parser_cocci_menhir.ml"
9173
9174 in
9175
9176 # 607 "parser_cocci_menhir.mly"
9177 ( P.pointerify (P.make_cv cv ty) m )
9178 # 9179 "parser_cocci_menhir.ml"
9179 in
9180 _menhir_env.MenhirLib.EngineTypes.stack <- {
9181 MenhirLib.EngineTypes.state = _menhir_s;
9182 MenhirLib.EngineTypes.semv = Obj.repr _v;
9183 MenhirLib.EngineTypes.startp = _startpos;
9184 MenhirLib.EngineTypes.endp = _endpos;
9185 MenhirLib.EngineTypes.next = _menhir_stack;
9186 });
9187 (fun _menhir_env ->
9188 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9189 let {
9190 MenhirLib.EngineTypes.semv = m;
9191 MenhirLib.EngineTypes.startp = _startpos_m_;
9192 MenhirLib.EngineTypes.endp = _endpos_m_;
9193 MenhirLib.EngineTypes.next = {
9194 MenhirLib.EngineTypes.semv = r00;
9195 MenhirLib.EngineTypes.startp = _startpos_r00_;
9196 MenhirLib.EngineTypes.endp = _endpos_r00_;
9197 MenhirLib.EngineTypes.next = {
9198 MenhirLib.EngineTypes.semv = ids00;
9199 MenhirLib.EngineTypes.startp = _startpos_ids00_;
9200 MenhirLib.EngineTypes.endp = _endpos_ids00_;
9201 MenhirLib.EngineTypes.next = {
9202 MenhirLib.EngineTypes.semv = l00;
9203 MenhirLib.EngineTypes.startp = _startpos_l00_;
9204 MenhirLib.EngineTypes.endp = _endpos_l00_;
9205 MenhirLib.EngineTypes.next = {
9206 MenhirLib.EngineTypes.semv = x000;
9207 MenhirLib.EngineTypes.startp = _startpos_x000_;
9208 MenhirLib.EngineTypes.endp = _endpos_x000_;
9209 MenhirLib.EngineTypes.next = {
9210 MenhirLib.EngineTypes.state = _menhir_s;
9211 MenhirLib.EngineTypes.semv = s00;
9212 MenhirLib.EngineTypes.startp = _startpos_s00_;
9213 MenhirLib.EngineTypes.endp = _endpos_s00_;
9214 MenhirLib.EngineTypes.next = _menhir_stack;
9215 };
9216 };
9217 };
9218 };
9219 };
9220 } = _menhir_stack in
9221 let m : 'tv_list_TMul_ = Obj.magic m in
9222 let r00 : (
9223 # 105 "parser_cocci_menhir.mly"
9224 (Data.clt)
9225 # 9226 "parser_cocci_menhir.ml"
9226 ) = Obj.magic r00 in
9227 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
9228 let l00 : (
9229 # 105 "parser_cocci_menhir.mly"
9230 (Data.clt)
9231 # 9232 "parser_cocci_menhir.ml"
9232 ) = Obj.magic l00 in
9233 let x000 : 'tv_ident = Obj.magic x000 in
9234 let s00 : (
9235 # 53 "parser_cocci_menhir.mly"
9236 (Data.clt)
9237 # 9238 "parser_cocci_menhir.ml"
9238 ) = Obj.magic s00 in
9239 let _startpos = _startpos_s00_ in
9240 let _endpos = _endpos_m_ in
9241 let _v : 'tv_ctype = let ty =
9242 let r0 = r00 in
9243 let ids0 = ids00 in
9244 let l0 = l00 in
9245 let x00 = x000 in
9246 let s0 = s00 in
9247 let ty =
9248 let r = r0 in
9249 let ids = ids0 in
9250 let l = l0 in
9251 let x0 = x00 in
9252 let s = s0 in
9253 let i =
9254 let x = x0 in
9255
9256 # 41 "standard.mly"
9257 ( Some x )
9258 # 9259 "parser_cocci_menhir.ml"
9259
9260 in
9261
9262 # 576 "parser_cocci_menhir.mly"
9263 ( (if i = None && !Data.in_iso
9264 then failwith "enums must be named in the iso file");
9265 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
9266 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
9267 # 9268 "parser_cocci_menhir.ml"
9268
9269 in
9270
9271 # 603 "parser_cocci_menhir.mly"
9272 ( ty )
9273 # 9274 "parser_cocci_menhir.ml"
9274
9275 in
9276 let cv =
9277
9278 # 39 "standard.mly"
9279 ( None )
9280 # 9281 "parser_cocci_menhir.ml"
9281
9282 in
9283
9284 # 607 "parser_cocci_menhir.mly"
9285 ( P.pointerify (P.make_cv cv ty) m )
9286 # 9287 "parser_cocci_menhir.ml"
9287 in
9288 _menhir_env.MenhirLib.EngineTypes.stack <- {
9289 MenhirLib.EngineTypes.state = _menhir_s;
9290 MenhirLib.EngineTypes.semv = Obj.repr _v;
9291 MenhirLib.EngineTypes.startp = _startpos;
9292 MenhirLib.EngineTypes.endp = _endpos;
9293 MenhirLib.EngineTypes.next = _menhir_stack;
9294 });
9295 (fun _menhir_env ->
9296 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9297 let {
9298 MenhirLib.EngineTypes.semv = m;
9299 MenhirLib.EngineTypes.startp = _startpos_m_;
9300 MenhirLib.EngineTypes.endp = _endpos_m_;
9301 MenhirLib.EngineTypes.next = {
9302 MenhirLib.EngineTypes.semv = i00;
9303 MenhirLib.EngineTypes.startp = _startpos_i00_;
9304 MenhirLib.EngineTypes.endp = _endpos_i00_;
9305 MenhirLib.EngineTypes.next = {
9306 MenhirLib.EngineTypes.state = _menhir_s;
9307 MenhirLib.EngineTypes.semv = s00;
9308 MenhirLib.EngineTypes.startp = _startpos_s00_;
9309 MenhirLib.EngineTypes.endp = _endpos_s00_;
9310 MenhirLib.EngineTypes.next = _menhir_stack;
9311 };
9312 };
9313 } = _menhir_stack in
9314 let m : 'tv_list_TMul_ = Obj.magic m in
9315 let i00 : 'tv_ident = Obj.magic i00 in
9316 let s00 : 'tv_struct_or_union = Obj.magic s00 in
9317 let _startpos = _startpos_s00_ in
9318 let _endpos = _endpos_m_ in
9319 let _v : 'tv_ctype = let ty =
9320 let i0 = i00 in
9321 let s0 = s00 in
9322 let ty =
9323 let i = i0 in
9324 let s = s0 in
9325
9326 # 581 "parser_cocci_menhir.mly"
9327 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
9328 # 9329 "parser_cocci_menhir.ml"
9329
9330 in
9331
9332 # 603 "parser_cocci_menhir.mly"
9333 ( ty )
9334 # 9335 "parser_cocci_menhir.ml"
9335
9336 in
9337 let cv =
9338
9339 # 39 "standard.mly"
9340 ( None )
9341 # 9342 "parser_cocci_menhir.ml"
9342
9343 in
9344
9345 # 607 "parser_cocci_menhir.mly"
9346 ( P.pointerify (P.make_cv cv ty) m )
9347 # 9348 "parser_cocci_menhir.ml"
9348 in
9349 _menhir_env.MenhirLib.EngineTypes.stack <- {
9350 MenhirLib.EngineTypes.state = _menhir_s;
9351 MenhirLib.EngineTypes.semv = Obj.repr _v;
9352 MenhirLib.EngineTypes.startp = _startpos;
9353 MenhirLib.EngineTypes.endp = _endpos;
9354 MenhirLib.EngineTypes.next = _menhir_stack;
9355 });
9356 (fun _menhir_env ->
9357 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9358 let {
9359 MenhirLib.EngineTypes.semv = m;
9360 MenhirLib.EngineTypes.startp = _startpos_m_;
9361 MenhirLib.EngineTypes.endp = _endpos_m_;
9362 MenhirLib.EngineTypes.next = {
9363 MenhirLib.EngineTypes.semv = r00;
9364 MenhirLib.EngineTypes.startp = _startpos_r00_;
9365 MenhirLib.EngineTypes.endp = _endpos_r00_;
9366 MenhirLib.EngineTypes.next = {
9367 MenhirLib.EngineTypes.semv = d00;
9368 MenhirLib.EngineTypes.startp = _startpos_d00_;
9369 MenhirLib.EngineTypes.endp = _endpos_d00_;
9370 MenhirLib.EngineTypes.next = {
9371 MenhirLib.EngineTypes.semv = l00;
9372 MenhirLib.EngineTypes.startp = _startpos_l00_;
9373 MenhirLib.EngineTypes.endp = _endpos_l00_;
9374 MenhirLib.EngineTypes.next = {
9375 MenhirLib.EngineTypes.state = _menhir_s;
9376 MenhirLib.EngineTypes.semv = s00;
9377 MenhirLib.EngineTypes.startp = _startpos_s00_;
9378 MenhirLib.EngineTypes.endp = _endpos_s00_;
9379 MenhirLib.EngineTypes.next = _menhir_stack;
9380 };
9381 };
9382 };
9383 };
9384 } = _menhir_stack in
9385 let m : 'tv_list_TMul_ = Obj.magic m in
9386 let r00 : (
9387 # 105 "parser_cocci_menhir.mly"
9388 (Data.clt)
9389 # 9390 "parser_cocci_menhir.ml"
9390 ) = Obj.magic r00 in
9391 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
9392 let l00 : (
9393 # 105 "parser_cocci_menhir.mly"
9394 (Data.clt)
9395 # 9396 "parser_cocci_menhir.ml"
9396 ) = Obj.magic l00 in
9397 let s00 : 'tv_struct_or_union = Obj.magic s00 in
9398 let _startpos = _startpos_s00_ in
9399 let _endpos = _endpos_m_ in
9400 let _v : 'tv_ctype = let ty =
9401 let r0 = r00 in
9402 let d0 = d00 in
9403 let l0 = l00 in
9404 let s0 = s00 in
9405 let ty =
9406 let r = r0 in
9407 let d = d0 in
9408 let l = l0 in
9409 let s = s0 in
9410 let i =
9411
9412 # 39 "standard.mly"
9413 ( None )
9414 # 9415 "parser_cocci_menhir.ml"
9415
9416 in
9417
9418 # 584 "parser_cocci_menhir.mly"
9419 ( (if i = None && !Data.in_iso
9420 then failwith "structures must be named in the iso file");
9421 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
9422 P.clt2mcode "{" l,
9423 d, P.clt2mcode "}" r)) )
9424 # 9425 "parser_cocci_menhir.ml"
9425
9426 in
9427
9428 # 603 "parser_cocci_menhir.mly"
9429 ( ty )
9430 # 9431 "parser_cocci_menhir.ml"
9431
9432 in
9433 let cv =
9434
9435 # 39 "standard.mly"
9436 ( None )
9437 # 9438 "parser_cocci_menhir.ml"
9438
9439 in
9440
9441 # 607 "parser_cocci_menhir.mly"
9442 ( P.pointerify (P.make_cv cv ty) m )
9443 # 9444 "parser_cocci_menhir.ml"
9444 in
9445 _menhir_env.MenhirLib.EngineTypes.stack <- {
9446 MenhirLib.EngineTypes.state = _menhir_s;
9447 MenhirLib.EngineTypes.semv = Obj.repr _v;
9448 MenhirLib.EngineTypes.startp = _startpos;
9449 MenhirLib.EngineTypes.endp = _endpos;
9450 MenhirLib.EngineTypes.next = _menhir_stack;
9451 });
9452 (fun _menhir_env ->
9453 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9454 let {
9455 MenhirLib.EngineTypes.semv = m;
9456 MenhirLib.EngineTypes.startp = _startpos_m_;
9457 MenhirLib.EngineTypes.endp = _endpos_m_;
9458 MenhirLib.EngineTypes.next = {
9459 MenhirLib.EngineTypes.semv = r00;
9460 MenhirLib.EngineTypes.startp = _startpos_r00_;
9461 MenhirLib.EngineTypes.endp = _endpos_r00_;
9462 MenhirLib.EngineTypes.next = {
9463 MenhirLib.EngineTypes.semv = d00;
9464 MenhirLib.EngineTypes.startp = _startpos_d00_;
9465 MenhirLib.EngineTypes.endp = _endpos_d00_;
9466 MenhirLib.EngineTypes.next = {
9467 MenhirLib.EngineTypes.semv = l00;
9468 MenhirLib.EngineTypes.startp = _startpos_l00_;
9469 MenhirLib.EngineTypes.endp = _endpos_l00_;
9470 MenhirLib.EngineTypes.next = {
9471 MenhirLib.EngineTypes.semv = x000;
9472 MenhirLib.EngineTypes.startp = _startpos_x000_;
9473 MenhirLib.EngineTypes.endp = _endpos_x000_;
9474 MenhirLib.EngineTypes.next = {
9475 MenhirLib.EngineTypes.state = _menhir_s;
9476 MenhirLib.EngineTypes.semv = s00;
9477 MenhirLib.EngineTypes.startp = _startpos_s00_;
9478 MenhirLib.EngineTypes.endp = _endpos_s00_;
9479 MenhirLib.EngineTypes.next = _menhir_stack;
9480 };
9481 };
9482 };
9483 };
9484 };
9485 } = _menhir_stack in
9486 let m : 'tv_list_TMul_ = Obj.magic m in
9487 let r00 : (
9488 # 105 "parser_cocci_menhir.mly"
9489 (Data.clt)
9490 # 9491 "parser_cocci_menhir.ml"
9491 ) = Obj.magic r00 in
9492 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
9493 let l00 : (
9494 # 105 "parser_cocci_menhir.mly"
9495 (Data.clt)
9496 # 9497 "parser_cocci_menhir.ml"
9497 ) = Obj.magic l00 in
9498 let x000 : 'tv_ident = Obj.magic x000 in
9499 let s00 : 'tv_struct_or_union = Obj.magic s00 in
9500 let _startpos = _startpos_s00_ in
9501 let _endpos = _endpos_m_ in
9502 let _v : 'tv_ctype = let ty =
9503 let r0 = r00 in
9504 let d0 = d00 in
9505 let l0 = l00 in
9506 let x00 = x000 in
9507 let s0 = s00 in
9508 let ty =
9509 let r = r0 in
9510 let d = d0 in
9511 let l = l0 in
9512 let x0 = x00 in
9513 let s = s0 in
9514 let i =
9515 let x = x0 in
9516
9517 # 41 "standard.mly"
9518 ( Some x )
9519 # 9520 "parser_cocci_menhir.ml"
9520
9521 in
9522
9523 # 584 "parser_cocci_menhir.mly"
9524 ( (if i = None && !Data.in_iso
9525 then failwith "structures must be named in the iso file");
9526 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
9527 P.clt2mcode "{" l,
9528 d, P.clt2mcode "}" r)) )
9529 # 9530 "parser_cocci_menhir.ml"
9530
9531 in
9532
9533 # 603 "parser_cocci_menhir.mly"
9534 ( ty )
9535 # 9536 "parser_cocci_menhir.ml"
9536
9537 in
9538 let cv =
9539
9540 # 39 "standard.mly"
9541 ( None )
9542 # 9543 "parser_cocci_menhir.ml"
9543
9544 in
9545
9546 # 607 "parser_cocci_menhir.mly"
9547 ( P.pointerify (P.make_cv cv ty) m )
9548 # 9549 "parser_cocci_menhir.ml"
9549 in
9550 _menhir_env.MenhirLib.EngineTypes.stack <- {
9551 MenhirLib.EngineTypes.state = _menhir_s;
9552 MenhirLib.EngineTypes.semv = Obj.repr _v;
9553 MenhirLib.EngineTypes.startp = _startpos;
9554 MenhirLib.EngineTypes.endp = _endpos;
9555 MenhirLib.EngineTypes.next = _menhir_stack;
9556 });
9557 (fun _menhir_env ->
9558 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9559 let {
9560 MenhirLib.EngineTypes.semv = m;
9561 MenhirLib.EngineTypes.startp = _startpos_m_;
9562 MenhirLib.EngineTypes.endp = _endpos_m_;
9563 MenhirLib.EngineTypes.next = {
9564 MenhirLib.EngineTypes.semv = r00;
9565 MenhirLib.EngineTypes.startp = _startpos_r00_;
9566 MenhirLib.EngineTypes.endp = _endpos_r00_;
9567 MenhirLib.EngineTypes.next = {
9568 MenhirLib.EngineTypes.semv = d00;
9569 MenhirLib.EngineTypes.startp = _startpos_d00_;
9570 MenhirLib.EngineTypes.endp = _endpos_d00_;
9571 MenhirLib.EngineTypes.next = {
9572 MenhirLib.EngineTypes.semv = l00;
9573 MenhirLib.EngineTypes.startp = _startpos_l00_;
9574 MenhirLib.EngineTypes.endp = _endpos_l00_;
9575 MenhirLib.EngineTypes.next = {
9576 MenhirLib.EngineTypes.state = _menhir_s;
9577 MenhirLib.EngineTypes.semv = s00;
9578 MenhirLib.EngineTypes.startp = _startpos_s00_;
9579 MenhirLib.EngineTypes.endp = _endpos_s00_;
9580 MenhirLib.EngineTypes.next = _menhir_stack;
9581 };
9582 };
9583 };
9584 };
9585 } = _menhir_stack in
9586 let m : 'tv_list_TMul_ = Obj.magic m in
9587 let r00 : (
9588 # 105 "parser_cocci_menhir.mly"
9589 (Data.clt)
9590 # 9591 "parser_cocci_menhir.ml"
9591 ) = Obj.magic r00 in
9592 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
9593 let l00 : (
9594 # 105 "parser_cocci_menhir.mly"
9595 (Data.clt)
9596 # 9597 "parser_cocci_menhir.ml"
9597 ) = Obj.magic l00 in
9598 let s00 : (
9599 # 68 "parser_cocci_menhir.mly"
9600 (Parse_aux.info)
9601 # 9602 "parser_cocci_menhir.ml"
9602 ) = Obj.magic s00 in
9603 let _startpos = _startpos_s00_ in
9604 let _endpos = _endpos_m_ in
9605 let _v : 'tv_ctype = let ty =
9606 let r0 = r00 in
9607 let d0 = d00 in
9608 let l0 = l00 in
9609 let s0 = s00 in
9610 let ty =
9611 let r = r0 in
9612 let d = d0 in
9613 let l = l0 in
9614 let s = s0 in
9615
9616 # 590 "parser_cocci_menhir.mly"
9617 ( let (nm,pure,clt) = s in
9618 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
9619 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
9620 # 9621 "parser_cocci_menhir.ml"
9621
9622 in
9623
9624 # 603 "parser_cocci_menhir.mly"
9625 ( ty )
9626 # 9627 "parser_cocci_menhir.ml"
9627
9628 in
9629 let cv =
9630
9631 # 39 "standard.mly"
9632 ( None )
9633 # 9634 "parser_cocci_menhir.ml"
9634
9635 in
9636
9637 # 607 "parser_cocci_menhir.mly"
9638 ( P.pointerify (P.make_cv cv ty) m )
9639 # 9640 "parser_cocci_menhir.ml"
9640 in
9641 _menhir_env.MenhirLib.EngineTypes.stack <- {
9642 MenhirLib.EngineTypes.state = _menhir_s;
9643 MenhirLib.EngineTypes.semv = Obj.repr _v;
9644 MenhirLib.EngineTypes.startp = _startpos;
9645 MenhirLib.EngineTypes.endp = _endpos;
9646 MenhirLib.EngineTypes.next = _menhir_stack;
9647 });
9648 (fun _menhir_env ->
9649 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9650 let {
9651 MenhirLib.EngineTypes.semv = m;
9652 MenhirLib.EngineTypes.startp = _startpos_m_;
9653 MenhirLib.EngineTypes.endp = _endpos_m_;
9654 MenhirLib.EngineTypes.next = {
9655 MenhirLib.EngineTypes.state = _menhir_s;
9656 MenhirLib.EngineTypes.semv = p00;
9657 MenhirLib.EngineTypes.startp = _startpos_p00_;
9658 MenhirLib.EngineTypes.endp = _endpos_p00_;
9659 MenhirLib.EngineTypes.next = _menhir_stack;
9660 };
9661 } = _menhir_stack in
9662 let m : 'tv_list_TMul_ = Obj.magic m in
9663 let p00 : (
9664 # 62 "parser_cocci_menhir.mly"
9665 (string * Data.clt)
9666 # 9667 "parser_cocci_menhir.ml"
9667 ) = Obj.magic p00 in
9668 let _startpos = _startpos_p00_ in
9669 let _endpos = _endpos_m_ in
9670 let _v : 'tv_ctype = let ty =
9671 let p0 = p00 in
9672 let ty =
9673 let p = p0 in
9674
9675 # 594 "parser_cocci_menhir.mly"
9676 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
9677 # 9678 "parser_cocci_menhir.ml"
9678
9679 in
9680
9681 # 603 "parser_cocci_menhir.mly"
9682 ( ty )
9683 # 9684 "parser_cocci_menhir.ml"
9684
9685 in
9686 let cv =
9687
9688 # 39 "standard.mly"
9689 ( None )
9690 # 9691 "parser_cocci_menhir.ml"
9691
9692 in
9693
9694 # 607 "parser_cocci_menhir.mly"
9695 ( P.pointerify (P.make_cv cv ty) m )
9696 # 9697 "parser_cocci_menhir.ml"
9697 in
9698 _menhir_env.MenhirLib.EngineTypes.stack <- {
9699 MenhirLib.EngineTypes.state = _menhir_s;
9700 MenhirLib.EngineTypes.semv = Obj.repr _v;
9701 MenhirLib.EngineTypes.startp = _startpos;
9702 MenhirLib.EngineTypes.endp = _endpos;
9703 MenhirLib.EngineTypes.next = _menhir_stack;
9704 });
9705 (fun _menhir_env ->
9706 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9707 let {
9708 MenhirLib.EngineTypes.semv = m;
9709 MenhirLib.EngineTypes.startp = _startpos_m_;
9710 MenhirLib.EngineTypes.endp = _endpos_m_;
9711 MenhirLib.EngineTypes.next = {
9712 MenhirLib.EngineTypes.semv = ty00;
9713 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9714 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9715 MenhirLib.EngineTypes.next = {
9716 MenhirLib.EngineTypes.semv = r0;
9717 MenhirLib.EngineTypes.startp = _startpos_r0_;
9718 MenhirLib.EngineTypes.endp = _endpos_r0_;
9719 MenhirLib.EngineTypes.next = {
9720 MenhirLib.EngineTypes.state = _menhir_s;
9721 MenhirLib.EngineTypes.semv = x0;
9722 MenhirLib.EngineTypes.startp = _startpos_x0_;
9723 MenhirLib.EngineTypes.endp = _endpos_x0_;
9724 MenhirLib.EngineTypes.next = _menhir_stack;
9725 };
9726 };
9727 };
9728 } = _menhir_stack in
9729 let m : 'tv_list_TMul_ = Obj.magic m in
9730 let ty00 : (
9731 # 51 "parser_cocci_menhir.mly"
9732 (Data.clt)
9733 # 9734 "parser_cocci_menhir.ml"
9734 ) = Obj.magic ty00 in
9735 let r0 : (
9736 # 54 "parser_cocci_menhir.mly"
9737 (Data.clt)
9738 # 9739 "parser_cocci_menhir.ml"
9739 ) = Obj.magic r0 in
9740 let x0 : 'tv_const_vol = Obj.magic x0 in
9741 let _startpos = _startpos_x0_ in
9742 let _endpos = _endpos_m_ in
9743 let _v : 'tv_ctype = let ty =
9744 let ty0 = ty00 in
9745 let r = r0 in
9746 let ty =
9747 let ty = ty0 in
9748
9749 # 536 "parser_cocci_menhir.mly"
9750 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
9751 # 9752 "parser_cocci_menhir.ml"
9752
9753 in
9754
9755 # 599 "parser_cocci_menhir.mly"
9756 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
9757 # 9758 "parser_cocci_menhir.ml"
9758
9759 in
9760 let cv =
9761 let x = x0 in
9762
9763 # 41 "standard.mly"
9764 ( Some x )
9765 # 9766 "parser_cocci_menhir.ml"
9766
9767 in
9768
9769 # 607 "parser_cocci_menhir.mly"
9770 ( P.pointerify (P.make_cv cv ty) m )
9771 # 9772 "parser_cocci_menhir.ml"
9772 in
9773 _menhir_env.MenhirLib.EngineTypes.stack <- {
9774 MenhirLib.EngineTypes.state = _menhir_s;
9775 MenhirLib.EngineTypes.semv = Obj.repr _v;
9776 MenhirLib.EngineTypes.startp = _startpos;
9777 MenhirLib.EngineTypes.endp = _endpos;
9778 MenhirLib.EngineTypes.next = _menhir_stack;
9779 });
9780 (fun _menhir_env ->
9781 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9782 let {
9783 MenhirLib.EngineTypes.semv = m;
9784 MenhirLib.EngineTypes.startp = _startpos_m_;
9785 MenhirLib.EngineTypes.endp = _endpos_m_;
9786 MenhirLib.EngineTypes.next = {
9787 MenhirLib.EngineTypes.semv = ty00;
9788 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9789 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9790 MenhirLib.EngineTypes.next = {
9791 MenhirLib.EngineTypes.semv = r0;
9792 MenhirLib.EngineTypes.startp = _startpos_r0_;
9793 MenhirLib.EngineTypes.endp = _endpos_r0_;
9794 MenhirLib.EngineTypes.next = {
9795 MenhirLib.EngineTypes.state = _menhir_s;
9796 MenhirLib.EngineTypes.semv = x0;
9797 MenhirLib.EngineTypes.startp = _startpos_x0_;
9798 MenhirLib.EngineTypes.endp = _endpos_x0_;
9799 MenhirLib.EngineTypes.next = _menhir_stack;
9800 };
9801 };
9802 };
9803 } = _menhir_stack in
9804 let m : 'tv_list_TMul_ = Obj.magic m in
9805 let ty00 : (
9806 # 51 "parser_cocci_menhir.mly"
9807 (Data.clt)
9808 # 9809 "parser_cocci_menhir.ml"
9809 ) = Obj.magic ty00 in
9810 let r0 : (
9811 # 54 "parser_cocci_menhir.mly"
9812 (Data.clt)
9813 # 9814 "parser_cocci_menhir.ml"
9814 ) = Obj.magic r0 in
9815 let x0 : 'tv_const_vol = Obj.magic x0 in
9816 let _startpos = _startpos_x0_ in
9817 let _endpos = _endpos_m_ in
9818 let _v : 'tv_ctype = let ty =
9819 let ty0 = ty00 in
9820 let r = r0 in
9821 let ty =
9822 let ty = ty0 in
9823
9824 # 538 "parser_cocci_menhir.mly"
9825 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
9826 # 9827 "parser_cocci_menhir.ml"
9827
9828 in
9829
9830 # 599 "parser_cocci_menhir.mly"
9831 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
9832 # 9833 "parser_cocci_menhir.ml"
9833
9834 in
9835 let cv =
9836 let x = x0 in
9837
9838 # 41 "standard.mly"
9839 ( Some x )
9840 # 9841 "parser_cocci_menhir.ml"
9841
9842 in
9843
9844 # 607 "parser_cocci_menhir.mly"
9845 ( P.pointerify (P.make_cv cv ty) m )
9846 # 9847 "parser_cocci_menhir.ml"
9847 in
9848 _menhir_env.MenhirLib.EngineTypes.stack <- {
9849 MenhirLib.EngineTypes.state = _menhir_s;
9850 MenhirLib.EngineTypes.semv = Obj.repr _v;
9851 MenhirLib.EngineTypes.startp = _startpos;
9852 MenhirLib.EngineTypes.endp = _endpos;
9853 MenhirLib.EngineTypes.next = _menhir_stack;
9854 });
9855 (fun _menhir_env ->
9856 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9857 let {
9858 MenhirLib.EngineTypes.semv = m;
9859 MenhirLib.EngineTypes.startp = _startpos_m_;
9860 MenhirLib.EngineTypes.endp = _endpos_m_;
9861 MenhirLib.EngineTypes.next = {
9862 MenhirLib.EngineTypes.semv = ty00;
9863 MenhirLib.EngineTypes.startp = _startpos_ty00_;
9864 MenhirLib.EngineTypes.endp = _endpos_ty00_;
9865 MenhirLib.EngineTypes.next = {
9866 MenhirLib.EngineTypes.semv = r0;
9867 MenhirLib.EngineTypes.startp = _startpos_r0_;
9868 MenhirLib.EngineTypes.endp = _endpos_r0_;
9869 MenhirLib.EngineTypes.next = {
9870 MenhirLib.EngineTypes.state = _menhir_s;
9871 MenhirLib.EngineTypes.semv = x0;
9872 MenhirLib.EngineTypes.startp = _startpos_x0_;
9873 MenhirLib.EngineTypes.endp = _endpos_x0_;
9874 MenhirLib.EngineTypes.next = _menhir_stack;
9875 };
9876 };
9877 };
9878 } = _menhir_stack in
9879 let m : 'tv_list_TMul_ = Obj.magic m in
9880 let ty00 : (
9881 # 51 "parser_cocci_menhir.mly"
9882 (Data.clt)
9883 # 9884 "parser_cocci_menhir.ml"
9884 ) = Obj.magic ty00 in
9885 let r0 : (
9886 # 54 "parser_cocci_menhir.mly"
9887 (Data.clt)
9888 # 9889 "parser_cocci_menhir.ml"
9889 ) = Obj.magic r0 in
9890 let x0 : 'tv_const_vol = Obj.magic x0 in
9891 let _startpos = _startpos_x0_ in
9892 let _endpos = _endpos_m_ in
9893 let _v : 'tv_ctype = let ty =
9894 let ty0 = ty00 in
9895 let r = r0 in
9896 let ty =
9897 let ty = ty0 in
9898
9899 # 540 "parser_cocci_menhir.mly"
9900 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
9901 # 9902 "parser_cocci_menhir.ml"
9902
9903 in
9904
9905 # 599 "parser_cocci_menhir.mly"
9906 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
9907 # 9908 "parser_cocci_menhir.ml"
9908
9909 in
9910 let cv =
9911 let x = x0 in
9912
9913 # 41 "standard.mly"
9914 ( Some x )
9915 # 9916 "parser_cocci_menhir.ml"
9916
9917 in
9918
9919 # 607 "parser_cocci_menhir.mly"
9920 ( P.pointerify (P.make_cv cv ty) m )
9921 # 9922 "parser_cocci_menhir.ml"
9922 in
9923 _menhir_env.MenhirLib.EngineTypes.stack <- {
9924 MenhirLib.EngineTypes.state = _menhir_s;
9925 MenhirLib.EngineTypes.semv = Obj.repr _v;
9926 MenhirLib.EngineTypes.startp = _startpos;
9927 MenhirLib.EngineTypes.endp = _endpos;
9928 MenhirLib.EngineTypes.next = _menhir_stack;
9929 });
9930 (fun _menhir_env ->
9931 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
9932 let {
9933 MenhirLib.EngineTypes.semv = m;
9934 MenhirLib.EngineTypes.startp = _startpos_m_;
9935 MenhirLib.EngineTypes.endp = _endpos_m_;
9936 MenhirLib.EngineTypes.next = {
9937 MenhirLib.EngineTypes.semv = p00;
9938 MenhirLib.EngineTypes.startp = _startpos_p00_;
9939 MenhirLib.EngineTypes.endp = _endpos_p00_;
9940 MenhirLib.EngineTypes.next = {
9941 MenhirLib.EngineTypes.semv = r0;
9942 MenhirLib.EngineTypes.startp = _startpos_r0_;
9943 MenhirLib.EngineTypes.endp = _endpos_r0_;
9944 MenhirLib.EngineTypes.next = {
9945 MenhirLib.EngineTypes.state = _menhir_s;
9946 MenhirLib.EngineTypes.semv = x0;
9947 MenhirLib.EngineTypes.startp = _startpos_x0_;
9948 MenhirLib.EngineTypes.endp = _endpos_x0_;
9949 MenhirLib.EngineTypes.next = _menhir_stack;
9950 };
9951 };
9952 };
9953 } = _menhir_stack in
9954 let m : 'tv_list_TMul_ = Obj.magic m in
9955 let p00 : (
9956 # 68 "parser_cocci_menhir.mly"
9957 (Parse_aux.info)
9958 # 9959 "parser_cocci_menhir.ml"
9959 ) = Obj.magic p00 in
9960 let r0 : (
9961 # 54 "parser_cocci_menhir.mly"
9962 (Data.clt)
9963 # 9964 "parser_cocci_menhir.ml"
9964 ) = Obj.magic r0 in
9965 let x0 : 'tv_const_vol = Obj.magic x0 in
9966 let _startpos = _startpos_x0_ in
9967 let _endpos = _endpos_m_ in
9968 let _v : 'tv_ctype = let ty =
9969 let p0 = p00 in
9970 let r = r0 in
9971 let ty =
9972 let p = p0 in
9973
9974 # 542 "parser_cocci_menhir.mly"
9975 ( let (nm,pure,clt) = p in
9976 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
9977 # 9978 "parser_cocci_menhir.ml"
9978
9979 in
9980
9981 # 599 "parser_cocci_menhir.mly"
9982 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
9983 # 9984 "parser_cocci_menhir.ml"
9984
9985 in
9986 let cv =
9987 let x = x0 in
9988
9989 # 41 "standard.mly"
9990 ( Some x )
9991 # 9992 "parser_cocci_menhir.ml"
9992
9993 in
9994
9995 # 607 "parser_cocci_menhir.mly"
9996 ( P.pointerify (P.make_cv cv ty) m )
9997 # 9998 "parser_cocci_menhir.ml"
9998 in
9999 _menhir_env.MenhirLib.EngineTypes.stack <- {
10000 MenhirLib.EngineTypes.state = _menhir_s;
10001 MenhirLib.EngineTypes.semv = Obj.repr _v;
10002 MenhirLib.EngineTypes.startp = _startpos;
10003 MenhirLib.EngineTypes.endp = _endpos;
10004 MenhirLib.EngineTypes.next = _menhir_stack;
10005 });
10006 (fun _menhir_env ->
10007 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10008 let {
10009 MenhirLib.EngineTypes.semv = m;
10010 MenhirLib.EngineTypes.startp = _startpos_m_;
10011 MenhirLib.EngineTypes.endp = _endpos_m_;
10012 MenhirLib.EngineTypes.next = {
10013 MenhirLib.EngineTypes.semv = p00;
10014 MenhirLib.EngineTypes.startp = _startpos_p00_;
10015 MenhirLib.EngineTypes.endp = _endpos_p00_;
10016 MenhirLib.EngineTypes.next = {
10017 MenhirLib.EngineTypes.startp = _startpos__4_;
10018 MenhirLib.EngineTypes.endp = _endpos__4_;
10019 MenhirLib.EngineTypes.next = {
10020 MenhirLib.EngineTypes.semv = r00;
10021 MenhirLib.EngineTypes.startp = _startpos_r00_;
10022 MenhirLib.EngineTypes.endp = _endpos_r00_;
10023 MenhirLib.EngineTypes.next = {
10024 MenhirLib.EngineTypes.semv = r1;
10025 MenhirLib.EngineTypes.startp = _startpos_r1_;
10026 MenhirLib.EngineTypes.endp = _endpos_r1_;
10027 MenhirLib.EngineTypes.next = {
10028 MenhirLib.EngineTypes.state = _menhir_s;
10029 MenhirLib.EngineTypes.semv = x0;
10030 MenhirLib.EngineTypes.startp = _startpos_x0_;
10031 MenhirLib.EngineTypes.endp = _endpos_x0_;
10032 MenhirLib.EngineTypes.next = _menhir_stack;
10033 };
10034 };
10035 };
10036 };
10037 };
10038 } = _menhir_stack in
10039 let m : 'tv_list_TMul_ = Obj.magic m in
10040 let p00 : (
10041 # 62 "parser_cocci_menhir.mly"
10042 (string * Data.clt)
10043 # 10044 "parser_cocci_menhir.ml"
10044 ) = Obj.magic p00 in
10045 let r00 : (
10046 # 49 "parser_cocci_menhir.mly"
10047 (string)
10048 # 10049 "parser_cocci_menhir.ml"
10049 ) = Obj.magic r00 in
10050 let r1 : (
10051 # 54 "parser_cocci_menhir.mly"
10052 (Data.clt)
10053 # 10054 "parser_cocci_menhir.ml"
10054 ) = Obj.magic r1 in
10055 let x0 : 'tv_const_vol = Obj.magic x0 in
10056 let _startpos = _startpos_x0_ in
10057 let _endpos = _endpos_m_ in
10058 let _v : 'tv_ctype = let ty =
10059 let p0 = p00 in
10060 let r0 = r00 in
10061 let r = r1 in
10062 let ty =
10063 let p = p0 in
10064 let r = r0 in
10065
10066 # 545 "parser_cocci_menhir.mly"
10067 ( let nm = (r,P.id2name p) in
10068 (* this is only possible when we are in a metavar decl. Otherwise,
10069 it will be represented already as a MetaType *)
10070 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
10071 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
10072 Ast0.Impure (*will be ignored*))) )
10073 # 10074 "parser_cocci_menhir.ml"
10074
10075 in
10076
10077 # 599 "parser_cocci_menhir.mly"
10078 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
10079 # 10080 "parser_cocci_menhir.ml"
10080
10081 in
10082 let cv =
10083 let x = x0 in
10084
10085 # 41 "standard.mly"
10086 ( Some x )
10087 # 10088 "parser_cocci_menhir.ml"
10088
10089 in
10090
10091 # 607 "parser_cocci_menhir.mly"
10092 ( P.pointerify (P.make_cv cv ty) m )
10093 # 10094 "parser_cocci_menhir.ml"
10094 in
10095 _menhir_env.MenhirLib.EngineTypes.stack <- {
10096 MenhirLib.EngineTypes.state = _menhir_s;
10097 MenhirLib.EngineTypes.semv = Obj.repr _v;
10098 MenhirLib.EngineTypes.startp = _startpos;
10099 MenhirLib.EngineTypes.endp = _endpos;
10100 MenhirLib.EngineTypes.next = _menhir_stack;
10101 });
10102 (fun _menhir_env ->
10103 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10104 let {
10105 MenhirLib.EngineTypes.semv = m;
10106 MenhirLib.EngineTypes.startp = _startpos_m_;
10107 MenhirLib.EngineTypes.endp = _endpos_m_;
10108 MenhirLib.EngineTypes.next = {
10109 MenhirLib.EngineTypes.semv = ty00;
10110 MenhirLib.EngineTypes.startp = _startpos_ty00_;
10111 MenhirLib.EngineTypes.endp = _endpos_ty00_;
10112 MenhirLib.EngineTypes.next = {
10113 MenhirLib.EngineTypes.semv = r0;
10114 MenhirLib.EngineTypes.startp = _startpos_r0_;
10115 MenhirLib.EngineTypes.endp = _endpos_r0_;
10116 MenhirLib.EngineTypes.next = {
10117 MenhirLib.EngineTypes.state = _menhir_s;
10118 MenhirLib.EngineTypes.semv = x0;
10119 MenhirLib.EngineTypes.startp = _startpos_x0_;
10120 MenhirLib.EngineTypes.endp = _endpos_x0_;
10121 MenhirLib.EngineTypes.next = _menhir_stack;
10122 };
10123 };
10124 };
10125 } = _menhir_stack in
10126 let m : 'tv_list_TMul_ = Obj.magic m in
10127 let ty00 : (
10128 # 51 "parser_cocci_menhir.mly"
10129 (Data.clt)
10130 # 10131 "parser_cocci_menhir.ml"
10131 ) = Obj.magic ty00 in
10132 let r0 : (
10133 # 54 "parser_cocci_menhir.mly"
10134 (Data.clt)
10135 # 10136 "parser_cocci_menhir.ml"
10136 ) = Obj.magic r0 in
10137 let x0 : 'tv_const_vol = Obj.magic x0 in
10138 let _startpos = _startpos_x0_ in
10139 let _endpos = _endpos_m_ in
10140 let _v : 'tv_ctype = let ty =
10141 let ty0 = ty00 in
10142 let r = r0 in
10143 let ty =
10144 let ty = ty0 in
10145
10146 # 552 "parser_cocci_menhir.mly"
10147 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
10148 # 10149 "parser_cocci_menhir.ml"
10149
10150 in
10151
10152 # 599 "parser_cocci_menhir.mly"
10153 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
10154 # 10155 "parser_cocci_menhir.ml"
10155
10156 in
10157 let cv =
10158 let x = x0 in
10159
10160 # 41 "standard.mly"
10161 ( Some x )
10162 # 10163 "parser_cocci_menhir.ml"
10163
10164 in
10165
10166 # 607 "parser_cocci_menhir.mly"
10167 ( P.pointerify (P.make_cv cv ty) m )
10168 # 10169 "parser_cocci_menhir.ml"
10169 in
10170 _menhir_env.MenhirLib.EngineTypes.stack <- {
10171 MenhirLib.EngineTypes.state = _menhir_s;
10172 MenhirLib.EngineTypes.semv = Obj.repr _v;
10173 MenhirLib.EngineTypes.startp = _startpos;
10174 MenhirLib.EngineTypes.endp = _endpos;
10175 MenhirLib.EngineTypes.next = _menhir_stack;
10176 });
10177 (fun _menhir_env ->
10178 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10179 let {
10180 MenhirLib.EngineTypes.semv = m;
10181 MenhirLib.EngineTypes.startp = _startpos_m_;
10182 MenhirLib.EngineTypes.endp = _endpos_m_;
10183 MenhirLib.EngineTypes.next = {
10184 MenhirLib.EngineTypes.semv = ty200;
10185 MenhirLib.EngineTypes.startp = _startpos_ty200_;
10186 MenhirLib.EngineTypes.endp = _endpos_ty200_;
10187 MenhirLib.EngineTypes.next = {
10188 MenhirLib.EngineTypes.semv = ty100;
10189 MenhirLib.EngineTypes.startp = _startpos_ty100_;
10190 MenhirLib.EngineTypes.endp = _endpos_ty100_;
10191 MenhirLib.EngineTypes.next = {
10192 MenhirLib.EngineTypes.semv = r0;
10193 MenhirLib.EngineTypes.startp = _startpos_r0_;
10194 MenhirLib.EngineTypes.endp = _endpos_r0_;
10195 MenhirLib.EngineTypes.next = {
10196 MenhirLib.EngineTypes.state = _menhir_s;
10197 MenhirLib.EngineTypes.semv = x0;
10198 MenhirLib.EngineTypes.startp = _startpos_x0_;
10199 MenhirLib.EngineTypes.endp = _endpos_x0_;
10200 MenhirLib.EngineTypes.next = _menhir_stack;
10201 };
10202 };
10203 };
10204 };
10205 } = _menhir_stack in
10206 let m : 'tv_list_TMul_ = Obj.magic m in
10207 let ty200 : (
10208 # 51 "parser_cocci_menhir.mly"
10209 (Data.clt)
10210 # 10211 "parser_cocci_menhir.ml"
10211 ) = Obj.magic ty200 in
10212 let ty100 : (
10213 # 51 "parser_cocci_menhir.mly"
10214 (Data.clt)
10215 # 10216 "parser_cocci_menhir.ml"
10216 ) = Obj.magic ty100 in
10217 let r0 : (
10218 # 54 "parser_cocci_menhir.mly"
10219 (Data.clt)
10220 # 10221 "parser_cocci_menhir.ml"
10221 ) = Obj.magic r0 in
10222 let x0 : 'tv_const_vol = Obj.magic x0 in
10223 let _startpos = _startpos_x0_ in
10224 let _endpos = _endpos_m_ in
10225 let _v : 'tv_ctype = let ty =
10226 let ty20 = ty200 in
10227 let ty10 = ty100 in
10228 let r = r0 in
10229 let ty =
10230 let ty2 = ty20 in
10231 let ty1 = ty10 in
10232
10233 # 554 "parser_cocci_menhir.mly"
10234 ( Ast0.wrap
10235 (Ast0.BaseType
10236 (Ast.LongLongType,
10237 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
10238 # 10239 "parser_cocci_menhir.ml"
10239
10240 in
10241
10242 # 599 "parser_cocci_menhir.mly"
10243 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
10244 # 10245 "parser_cocci_menhir.ml"
10245
10246 in
10247 let cv =
10248 let x = x0 in
10249
10250 # 41 "standard.mly"
10251 ( Some x )
10252 # 10253 "parser_cocci_menhir.ml"
10253
10254 in
10255
10256 # 607 "parser_cocci_menhir.mly"
10257 ( P.pointerify (P.make_cv cv ty) m )
10258 # 10259 "parser_cocci_menhir.ml"
10259 in
10260 _menhir_env.MenhirLib.EngineTypes.stack <- {
10261 MenhirLib.EngineTypes.state = _menhir_s;
10262 MenhirLib.EngineTypes.semv = Obj.repr _v;
10263 MenhirLib.EngineTypes.startp = _startpos;
10264 MenhirLib.EngineTypes.endp = _endpos;
10265 MenhirLib.EngineTypes.next = _menhir_stack;
10266 });
10267 (fun _menhir_env ->
10268 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10269 let {
10270 MenhirLib.EngineTypes.semv = m;
10271 MenhirLib.EngineTypes.startp = _startpos_m_;
10272 MenhirLib.EngineTypes.endp = _endpos_m_;
10273 MenhirLib.EngineTypes.next = {
10274 MenhirLib.EngineTypes.semv = ty00;
10275 MenhirLib.EngineTypes.startp = _startpos_ty00_;
10276 MenhirLib.EngineTypes.endp = _endpos_ty00_;
10277 MenhirLib.EngineTypes.next = {
10278 MenhirLib.EngineTypes.semv = r0;
10279 MenhirLib.EngineTypes.startp = _startpos_r0_;
10280 MenhirLib.EngineTypes.endp = _endpos_r0_;
10281 MenhirLib.EngineTypes.next = {
10282 MenhirLib.EngineTypes.state = _menhir_s;
10283 MenhirLib.EngineTypes.semv = x0;
10284 MenhirLib.EngineTypes.startp = _startpos_x0_;
10285 MenhirLib.EngineTypes.endp = _endpos_x0_;
10286 MenhirLib.EngineTypes.next = _menhir_stack;
10287 };
10288 };
10289 };
10290 } = _menhir_stack in
10291 let m : 'tv_list_TMul_ = Obj.magic m in
10292 let ty00 : (
10293 # 51 "parser_cocci_menhir.mly"
10294 (Data.clt)
10295 # 10296 "parser_cocci_menhir.ml"
10296 ) = Obj.magic ty00 in
10297 let r0 : (
10298 # 54 "parser_cocci_menhir.mly"
10299 (Data.clt)
10300 # 10301 "parser_cocci_menhir.ml"
10301 ) = Obj.magic r0 in
10302 let x0 : 'tv_const_vol = Obj.magic x0 in
10303 let _startpos = _startpos_x0_ in
10304 let _endpos = _endpos_m_ in
10305 let _v : 'tv_ctype = let ty =
10306 let ty0 = ty00 in
10307 let r = r0 in
10308 let ty =
10309 let ty = ty0 in
10310
10311 # 536 "parser_cocci_menhir.mly"
10312 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
10313 # 10314 "parser_cocci_menhir.ml"
10314
10315 in
10316
10317 # 601 "parser_cocci_menhir.mly"
10318 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
10319 # 10320 "parser_cocci_menhir.ml"
10320
10321 in
10322 let cv =
10323 let x = x0 in
10324
10325 # 41 "standard.mly"
10326 ( Some x )
10327 # 10328 "parser_cocci_menhir.ml"
10328
10329 in
10330
10331 # 607 "parser_cocci_menhir.mly"
10332 ( P.pointerify (P.make_cv cv ty) m )
10333 # 10334 "parser_cocci_menhir.ml"
10334 in
10335 _menhir_env.MenhirLib.EngineTypes.stack <- {
10336 MenhirLib.EngineTypes.state = _menhir_s;
10337 MenhirLib.EngineTypes.semv = Obj.repr _v;
10338 MenhirLib.EngineTypes.startp = _startpos;
10339 MenhirLib.EngineTypes.endp = _endpos;
10340 MenhirLib.EngineTypes.next = _menhir_stack;
10341 });
10342 (fun _menhir_env ->
10343 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10344 let {
10345 MenhirLib.EngineTypes.semv = m;
10346 MenhirLib.EngineTypes.startp = _startpos_m_;
10347 MenhirLib.EngineTypes.endp = _endpos_m_;
10348 MenhirLib.EngineTypes.next = {
10349 MenhirLib.EngineTypes.semv = ty00;
10350 MenhirLib.EngineTypes.startp = _startpos_ty00_;
10351 MenhirLib.EngineTypes.endp = _endpos_ty00_;
10352 MenhirLib.EngineTypes.next = {
10353 MenhirLib.EngineTypes.semv = r0;
10354 MenhirLib.EngineTypes.startp = _startpos_r0_;
10355 MenhirLib.EngineTypes.endp = _endpos_r0_;
10356 MenhirLib.EngineTypes.next = {
10357 MenhirLib.EngineTypes.state = _menhir_s;
10358 MenhirLib.EngineTypes.semv = x0;
10359 MenhirLib.EngineTypes.startp = _startpos_x0_;
10360 MenhirLib.EngineTypes.endp = _endpos_x0_;
10361 MenhirLib.EngineTypes.next = _menhir_stack;
10362 };
10363 };
10364 };
10365 } = _menhir_stack in
10366 let m : 'tv_list_TMul_ = Obj.magic m in
10367 let ty00 : (
10368 # 51 "parser_cocci_menhir.mly"
10369 (Data.clt)
10370 # 10371 "parser_cocci_menhir.ml"
10371 ) = Obj.magic ty00 in
10372 let r0 : (
10373 # 54 "parser_cocci_menhir.mly"
10374 (Data.clt)
10375 # 10376 "parser_cocci_menhir.ml"
10376 ) = Obj.magic r0 in
10377 let x0 : 'tv_const_vol = Obj.magic x0 in
10378 let _startpos = _startpos_x0_ in
10379 let _endpos = _endpos_m_ in
10380 let _v : 'tv_ctype = let ty =
10381 let ty0 = ty00 in
10382 let r = r0 in
10383 let ty =
10384 let ty = ty0 in
10385
10386 # 538 "parser_cocci_menhir.mly"
10387 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
10388 # 10389 "parser_cocci_menhir.ml"
10389
10390 in
10391
10392 # 601 "parser_cocci_menhir.mly"
10393 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
10394 # 10395 "parser_cocci_menhir.ml"
10395
10396 in
10397 let cv =
10398 let x = x0 in
10399
10400 # 41 "standard.mly"
10401 ( Some x )
10402 # 10403 "parser_cocci_menhir.ml"
10403
10404 in
10405
10406 # 607 "parser_cocci_menhir.mly"
10407 ( P.pointerify (P.make_cv cv ty) m )
10408 # 10409 "parser_cocci_menhir.ml"
10409 in
10410 _menhir_env.MenhirLib.EngineTypes.stack <- {
10411 MenhirLib.EngineTypes.state = _menhir_s;
10412 MenhirLib.EngineTypes.semv = Obj.repr _v;
10413 MenhirLib.EngineTypes.startp = _startpos;
10414 MenhirLib.EngineTypes.endp = _endpos;
10415 MenhirLib.EngineTypes.next = _menhir_stack;
10416 });
10417 (fun _menhir_env ->
10418 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10419 let {
10420 MenhirLib.EngineTypes.semv = m;
10421 MenhirLib.EngineTypes.startp = _startpos_m_;
10422 MenhirLib.EngineTypes.endp = _endpos_m_;
10423 MenhirLib.EngineTypes.next = {
10424 MenhirLib.EngineTypes.semv = ty00;
10425 MenhirLib.EngineTypes.startp = _startpos_ty00_;
10426 MenhirLib.EngineTypes.endp = _endpos_ty00_;
10427 MenhirLib.EngineTypes.next = {
10428 MenhirLib.EngineTypes.semv = r0;
10429 MenhirLib.EngineTypes.startp = _startpos_r0_;
10430 MenhirLib.EngineTypes.endp = _endpos_r0_;
10431 MenhirLib.EngineTypes.next = {
10432 MenhirLib.EngineTypes.state = _menhir_s;
10433 MenhirLib.EngineTypes.semv = x0;
10434 MenhirLib.EngineTypes.startp = _startpos_x0_;
10435 MenhirLib.EngineTypes.endp = _endpos_x0_;
10436 MenhirLib.EngineTypes.next = _menhir_stack;
10437 };
10438 };
10439 };
10440 } = _menhir_stack in
10441 let m : 'tv_list_TMul_ = Obj.magic m in
10442 let ty00 : (
10443 # 51 "parser_cocci_menhir.mly"
10444 (Data.clt)
10445 # 10446 "parser_cocci_menhir.ml"
10446 ) = Obj.magic ty00 in
10447 let r0 : (
10448 # 54 "parser_cocci_menhir.mly"
10449 (Data.clt)
10450 # 10451 "parser_cocci_menhir.ml"
10451 ) = Obj.magic r0 in
10452 let x0 : 'tv_const_vol = Obj.magic x0 in
10453 let _startpos = _startpos_x0_ in
10454 let _endpos = _endpos_m_ in
10455 let _v : 'tv_ctype = let ty =
10456 let ty0 = ty00 in
10457 let r = r0 in
10458 let ty =
10459 let ty = ty0 in
10460
10461 # 540 "parser_cocci_menhir.mly"
10462 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
10463 # 10464 "parser_cocci_menhir.ml"
10464
10465 in
10466
10467 # 601 "parser_cocci_menhir.mly"
10468 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
10469 # 10470 "parser_cocci_menhir.ml"
10470
10471 in
10472 let cv =
10473 let x = x0 in
10474
10475 # 41 "standard.mly"
10476 ( Some x )
10477 # 10478 "parser_cocci_menhir.ml"
10478
10479 in
10480
10481 # 607 "parser_cocci_menhir.mly"
10482 ( P.pointerify (P.make_cv cv ty) m )
10483 # 10484 "parser_cocci_menhir.ml"
10484 in
10485 _menhir_env.MenhirLib.EngineTypes.stack <- {
10486 MenhirLib.EngineTypes.state = _menhir_s;
10487 MenhirLib.EngineTypes.semv = Obj.repr _v;
10488 MenhirLib.EngineTypes.startp = _startpos;
10489 MenhirLib.EngineTypes.endp = _endpos;
10490 MenhirLib.EngineTypes.next = _menhir_stack;
10491 });
10492 (fun _menhir_env ->
10493 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10494 let {
10495 MenhirLib.EngineTypes.semv = m;
10496 MenhirLib.EngineTypes.startp = _startpos_m_;
10497 MenhirLib.EngineTypes.endp = _endpos_m_;
10498 MenhirLib.EngineTypes.next = {
10499 MenhirLib.EngineTypes.semv = p00;
10500 MenhirLib.EngineTypes.startp = _startpos_p00_;
10501 MenhirLib.EngineTypes.endp = _endpos_p00_;
10502 MenhirLib.EngineTypes.next = {
10503 MenhirLib.EngineTypes.semv = r0;
10504 MenhirLib.EngineTypes.startp = _startpos_r0_;
10505 MenhirLib.EngineTypes.endp = _endpos_r0_;
10506 MenhirLib.EngineTypes.next = {
10507 MenhirLib.EngineTypes.state = _menhir_s;
10508 MenhirLib.EngineTypes.semv = x0;
10509 MenhirLib.EngineTypes.startp = _startpos_x0_;
10510 MenhirLib.EngineTypes.endp = _endpos_x0_;
10511 MenhirLib.EngineTypes.next = _menhir_stack;
10512 };
10513 };
10514 };
10515 } = _menhir_stack in
10516 let m : 'tv_list_TMul_ = Obj.magic m in
10517 let p00 : (
10518 # 68 "parser_cocci_menhir.mly"
10519 (Parse_aux.info)
10520 # 10521 "parser_cocci_menhir.ml"
10521 ) = Obj.magic p00 in
10522 let r0 : (
10523 # 54 "parser_cocci_menhir.mly"
10524 (Data.clt)
10525 # 10526 "parser_cocci_menhir.ml"
10526 ) = Obj.magic r0 in
10527 let x0 : 'tv_const_vol = Obj.magic x0 in
10528 let _startpos = _startpos_x0_ in
10529 let _endpos = _endpos_m_ in
10530 let _v : 'tv_ctype = let ty =
10531 let p0 = p00 in
10532 let r = r0 in
10533 let ty =
10534 let p = p0 in
10535
10536 # 542 "parser_cocci_menhir.mly"
10537 ( let (nm,pure,clt) = p in
10538 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
10539 # 10540 "parser_cocci_menhir.ml"
10540
10541 in
10542
10543 # 601 "parser_cocci_menhir.mly"
10544 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
10545 # 10546 "parser_cocci_menhir.ml"
10546
10547 in
10548 let cv =
10549 let x = x0 in
10550
10551 # 41 "standard.mly"
10552 ( Some x )
10553 # 10554 "parser_cocci_menhir.ml"
10554
10555 in
10556
10557 # 607 "parser_cocci_menhir.mly"
10558 ( P.pointerify (P.make_cv cv ty) m )
10559 # 10560 "parser_cocci_menhir.ml"
10560 in
10561 _menhir_env.MenhirLib.EngineTypes.stack <- {
10562 MenhirLib.EngineTypes.state = _menhir_s;
10563 MenhirLib.EngineTypes.semv = Obj.repr _v;
10564 MenhirLib.EngineTypes.startp = _startpos;
10565 MenhirLib.EngineTypes.endp = _endpos;
10566 MenhirLib.EngineTypes.next = _menhir_stack;
10567 });
10568 (fun _menhir_env ->
10569 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10570 let {
10571 MenhirLib.EngineTypes.semv = m;
10572 MenhirLib.EngineTypes.startp = _startpos_m_;
10573 MenhirLib.EngineTypes.endp = _endpos_m_;
10574 MenhirLib.EngineTypes.next = {
10575 MenhirLib.EngineTypes.semv = p00;
10576 MenhirLib.EngineTypes.startp = _startpos_p00_;
10577 MenhirLib.EngineTypes.endp = _endpos_p00_;
10578 MenhirLib.EngineTypes.next = {
10579 MenhirLib.EngineTypes.startp = _startpos__4_;
10580 MenhirLib.EngineTypes.endp = _endpos__4_;
10581 MenhirLib.EngineTypes.next = {
10582 MenhirLib.EngineTypes.semv = r00;
10583 MenhirLib.EngineTypes.startp = _startpos_r00_;
10584 MenhirLib.EngineTypes.endp = _endpos_r00_;
10585 MenhirLib.EngineTypes.next = {
10586 MenhirLib.EngineTypes.semv = r1;
10587 MenhirLib.EngineTypes.startp = _startpos_r1_;
10588 MenhirLib.EngineTypes.endp = _endpos_r1_;
10589 MenhirLib.EngineTypes.next = {
10590 MenhirLib.EngineTypes.state = _menhir_s;
10591 MenhirLib.EngineTypes.semv = x0;
10592 MenhirLib.EngineTypes.startp = _startpos_x0_;
10593 MenhirLib.EngineTypes.endp = _endpos_x0_;
10594 MenhirLib.EngineTypes.next = _menhir_stack;
10595 };
10596 };
10597 };
10598 };
10599 };
10600 } = _menhir_stack in
10601 let m : 'tv_list_TMul_ = Obj.magic m in
10602 let p00 : (
10603 # 62 "parser_cocci_menhir.mly"
10604 (string * Data.clt)
10605 # 10606 "parser_cocci_menhir.ml"
10606 ) = Obj.magic p00 in
10607 let r00 : (
10608 # 49 "parser_cocci_menhir.mly"
10609 (string)
10610 # 10611 "parser_cocci_menhir.ml"
10611 ) = Obj.magic r00 in
10612 let r1 : (
10613 # 54 "parser_cocci_menhir.mly"
10614 (Data.clt)
10615 # 10616 "parser_cocci_menhir.ml"
10616 ) = Obj.magic r1 in
10617 let x0 : 'tv_const_vol = Obj.magic x0 in
10618 let _startpos = _startpos_x0_ in
10619 let _endpos = _endpos_m_ in
10620 let _v : 'tv_ctype = let ty =
10621 let p0 = p00 in
10622 let r0 = r00 in
10623 let r = r1 in
10624 let ty =
10625 let p = p0 in
10626 let r = r0 in
10627
10628 # 545 "parser_cocci_menhir.mly"
10629 ( let nm = (r,P.id2name p) in
10630 (* this is only possible when we are in a metavar decl. Otherwise,
10631 it will be represented already as a MetaType *)
10632 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
10633 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
10634 Ast0.Impure (*will be ignored*))) )
10635 # 10636 "parser_cocci_menhir.ml"
10636
10637 in
10638
10639 # 601 "parser_cocci_menhir.mly"
10640 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
10641 # 10642 "parser_cocci_menhir.ml"
10642
10643 in
10644 let cv =
10645 let x = x0 in
10646
10647 # 41 "standard.mly"
10648 ( Some x )
10649 # 10650 "parser_cocci_menhir.ml"
10650
10651 in
10652
10653 # 607 "parser_cocci_menhir.mly"
10654 ( P.pointerify (P.make_cv cv ty) m )
10655 # 10656 "parser_cocci_menhir.ml"
10656 in
10657 _menhir_env.MenhirLib.EngineTypes.stack <- {
10658 MenhirLib.EngineTypes.state = _menhir_s;
10659 MenhirLib.EngineTypes.semv = Obj.repr _v;
10660 MenhirLib.EngineTypes.startp = _startpos;
10661 MenhirLib.EngineTypes.endp = _endpos;
10662 MenhirLib.EngineTypes.next = _menhir_stack;
10663 });
10664 (fun _menhir_env ->
10665 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10666 let {
10667 MenhirLib.EngineTypes.semv = m;
10668 MenhirLib.EngineTypes.startp = _startpos_m_;
10669 MenhirLib.EngineTypes.endp = _endpos_m_;
10670 MenhirLib.EngineTypes.next = {
10671 MenhirLib.EngineTypes.semv = ty00;
10672 MenhirLib.EngineTypes.startp = _startpos_ty00_;
10673 MenhirLib.EngineTypes.endp = _endpos_ty00_;
10674 MenhirLib.EngineTypes.next = {
10675 MenhirLib.EngineTypes.semv = r0;
10676 MenhirLib.EngineTypes.startp = _startpos_r0_;
10677 MenhirLib.EngineTypes.endp = _endpos_r0_;
10678 MenhirLib.EngineTypes.next = {
10679 MenhirLib.EngineTypes.state = _menhir_s;
10680 MenhirLib.EngineTypes.semv = x0;
10681 MenhirLib.EngineTypes.startp = _startpos_x0_;
10682 MenhirLib.EngineTypes.endp = _endpos_x0_;
10683 MenhirLib.EngineTypes.next = _menhir_stack;
10684 };
10685 };
10686 };
10687 } = _menhir_stack in
10688 let m : 'tv_list_TMul_ = Obj.magic m in
10689 let ty00 : (
10690 # 51 "parser_cocci_menhir.mly"
10691 (Data.clt)
10692 # 10693 "parser_cocci_menhir.ml"
10693 ) = Obj.magic ty00 in
10694 let r0 : (
10695 # 54 "parser_cocci_menhir.mly"
10696 (Data.clt)
10697 # 10698 "parser_cocci_menhir.ml"
10698 ) = Obj.magic r0 in
10699 let x0 : 'tv_const_vol = Obj.magic x0 in
10700 let _startpos = _startpos_x0_ in
10701 let _endpos = _endpos_m_ in
10702 let _v : 'tv_ctype = let ty =
10703 let ty0 = ty00 in
10704 let r = r0 in
10705 let ty =
10706 let ty = ty0 in
10707
10708 # 552 "parser_cocci_menhir.mly"
10709 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
10710 # 10711 "parser_cocci_menhir.ml"
10711
10712 in
10713
10714 # 601 "parser_cocci_menhir.mly"
10715 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
10716 # 10717 "parser_cocci_menhir.ml"
10717
10718 in
10719 let cv =
10720 let x = x0 in
10721
10722 # 41 "standard.mly"
10723 ( Some x )
10724 # 10725 "parser_cocci_menhir.ml"
10725
10726 in
10727
10728 # 607 "parser_cocci_menhir.mly"
10729 ( P.pointerify (P.make_cv cv ty) m )
10730 # 10731 "parser_cocci_menhir.ml"
10731 in
10732 _menhir_env.MenhirLib.EngineTypes.stack <- {
10733 MenhirLib.EngineTypes.state = _menhir_s;
10734 MenhirLib.EngineTypes.semv = Obj.repr _v;
10735 MenhirLib.EngineTypes.startp = _startpos;
10736 MenhirLib.EngineTypes.endp = _endpos;
10737 MenhirLib.EngineTypes.next = _menhir_stack;
10738 });
10739 (fun _menhir_env ->
10740 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10741 let {
10742 MenhirLib.EngineTypes.semv = m;
10743 MenhirLib.EngineTypes.startp = _startpos_m_;
10744 MenhirLib.EngineTypes.endp = _endpos_m_;
10745 MenhirLib.EngineTypes.next = {
10746 MenhirLib.EngineTypes.semv = ty200;
10747 MenhirLib.EngineTypes.startp = _startpos_ty200_;
10748 MenhirLib.EngineTypes.endp = _endpos_ty200_;
10749 MenhirLib.EngineTypes.next = {
10750 MenhirLib.EngineTypes.semv = ty100;
10751 MenhirLib.EngineTypes.startp = _startpos_ty100_;
10752 MenhirLib.EngineTypes.endp = _endpos_ty100_;
10753 MenhirLib.EngineTypes.next = {
10754 MenhirLib.EngineTypes.semv = r0;
10755 MenhirLib.EngineTypes.startp = _startpos_r0_;
10756 MenhirLib.EngineTypes.endp = _endpos_r0_;
10757 MenhirLib.EngineTypes.next = {
10758 MenhirLib.EngineTypes.state = _menhir_s;
10759 MenhirLib.EngineTypes.semv = x0;
10760 MenhirLib.EngineTypes.startp = _startpos_x0_;
10761 MenhirLib.EngineTypes.endp = _endpos_x0_;
10762 MenhirLib.EngineTypes.next = _menhir_stack;
10763 };
10764 };
10765 };
10766 };
10767 } = _menhir_stack in
10768 let m : 'tv_list_TMul_ = Obj.magic m in
10769 let ty200 : (
10770 # 51 "parser_cocci_menhir.mly"
10771 (Data.clt)
10772 # 10773 "parser_cocci_menhir.ml"
10773 ) = Obj.magic ty200 in
10774 let ty100 : (
10775 # 51 "parser_cocci_menhir.mly"
10776 (Data.clt)
10777 # 10778 "parser_cocci_menhir.ml"
10778 ) = Obj.magic ty100 in
10779 let r0 : (
10780 # 54 "parser_cocci_menhir.mly"
10781 (Data.clt)
10782 # 10783 "parser_cocci_menhir.ml"
10783 ) = Obj.magic r0 in
10784 let x0 : 'tv_const_vol = Obj.magic x0 in
10785 let _startpos = _startpos_x0_ in
10786 let _endpos = _endpos_m_ in
10787 let _v : 'tv_ctype = let ty =
10788 let ty20 = ty200 in
10789 let ty10 = ty100 in
10790 let r = r0 in
10791 let ty =
10792 let ty2 = ty20 in
10793 let ty1 = ty10 in
10794
10795 # 554 "parser_cocci_menhir.mly"
10796 ( Ast0.wrap
10797 (Ast0.BaseType
10798 (Ast.LongLongType,
10799 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
10800 # 10801 "parser_cocci_menhir.ml"
10801
10802 in
10803
10804 # 601 "parser_cocci_menhir.mly"
10805 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
10806 # 10807 "parser_cocci_menhir.ml"
10807
10808 in
10809 let cv =
10810 let x = x0 in
10811
10812 # 41 "standard.mly"
10813 ( Some x )
10814 # 10815 "parser_cocci_menhir.ml"
10815
10816 in
10817
10818 # 607 "parser_cocci_menhir.mly"
10819 ( P.pointerify (P.make_cv cv ty) m )
10820 # 10821 "parser_cocci_menhir.ml"
10821 in
10822 _menhir_env.MenhirLib.EngineTypes.stack <- {
10823 MenhirLib.EngineTypes.state = _menhir_s;
10824 MenhirLib.EngineTypes.semv = Obj.repr _v;
10825 MenhirLib.EngineTypes.startp = _startpos;
10826 MenhirLib.EngineTypes.endp = _endpos;
10827 MenhirLib.EngineTypes.next = _menhir_stack;
10828 });
10829 (fun _menhir_env ->
10830 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10831 let {
10832 MenhirLib.EngineTypes.semv = m;
10833 MenhirLib.EngineTypes.startp = _startpos_m_;
10834 MenhirLib.EngineTypes.endp = _endpos_m_;
10835 MenhirLib.EngineTypes.next = {
10836 MenhirLib.EngineTypes.semv = ty00;
10837 MenhirLib.EngineTypes.startp = _startpos_ty00_;
10838 MenhirLib.EngineTypes.endp = _endpos_ty00_;
10839 MenhirLib.EngineTypes.next = {
10840 MenhirLib.EngineTypes.state = _menhir_s;
10841 MenhirLib.EngineTypes.semv = x0;
10842 MenhirLib.EngineTypes.startp = _startpos_x0_;
10843 MenhirLib.EngineTypes.endp = _endpos_x0_;
10844 MenhirLib.EngineTypes.next = _menhir_stack;
10845 };
10846 };
10847 } = _menhir_stack in
10848 let m : 'tv_list_TMul_ = Obj.magic m in
10849 let ty00 : (
10850 # 51 "parser_cocci_menhir.mly"
10851 (Data.clt)
10852 # 10853 "parser_cocci_menhir.ml"
10853 ) = Obj.magic ty00 in
10854 let x0 : 'tv_const_vol = Obj.magic x0 in
10855 let _startpos = _startpos_x0_ in
10856 let _endpos = _endpos_m_ in
10857 let _v : 'tv_ctype = let ty =
10858 let ty0 = ty00 in
10859 let ty =
10860 let ty = ty0 in
10861
10862 # 536 "parser_cocci_menhir.mly"
10863 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
10864 # 10865 "parser_cocci_menhir.ml"
10865
10866 in
10867
10868 # 602 "parser_cocci_menhir.mly"
10869 ( ty )
10870 # 10871 "parser_cocci_menhir.ml"
10871
10872 in
10873 let cv =
10874 let x = x0 in
10875
10876 # 41 "standard.mly"
10877 ( Some x )
10878 # 10879 "parser_cocci_menhir.ml"
10879
10880 in
10881
10882 # 607 "parser_cocci_menhir.mly"
10883 ( P.pointerify (P.make_cv cv ty) m )
10884 # 10885 "parser_cocci_menhir.ml"
10885 in
10886 _menhir_env.MenhirLib.EngineTypes.stack <- {
10887 MenhirLib.EngineTypes.state = _menhir_s;
10888 MenhirLib.EngineTypes.semv = Obj.repr _v;
10889 MenhirLib.EngineTypes.startp = _startpos;
10890 MenhirLib.EngineTypes.endp = _endpos;
10891 MenhirLib.EngineTypes.next = _menhir_stack;
10892 });
10893 (fun _menhir_env ->
10894 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10895 let {
10896 MenhirLib.EngineTypes.semv = m;
10897 MenhirLib.EngineTypes.startp = _startpos_m_;
10898 MenhirLib.EngineTypes.endp = _endpos_m_;
10899 MenhirLib.EngineTypes.next = {
10900 MenhirLib.EngineTypes.semv = ty00;
10901 MenhirLib.EngineTypes.startp = _startpos_ty00_;
10902 MenhirLib.EngineTypes.endp = _endpos_ty00_;
10903 MenhirLib.EngineTypes.next = {
10904 MenhirLib.EngineTypes.state = _menhir_s;
10905 MenhirLib.EngineTypes.semv = x0;
10906 MenhirLib.EngineTypes.startp = _startpos_x0_;
10907 MenhirLib.EngineTypes.endp = _endpos_x0_;
10908 MenhirLib.EngineTypes.next = _menhir_stack;
10909 };
10910 };
10911 } = _menhir_stack in
10912 let m : 'tv_list_TMul_ = Obj.magic m in
10913 let ty00 : (
10914 # 51 "parser_cocci_menhir.mly"
10915 (Data.clt)
10916 # 10917 "parser_cocci_menhir.ml"
10917 ) = Obj.magic ty00 in
10918 let x0 : 'tv_const_vol = Obj.magic x0 in
10919 let _startpos = _startpos_x0_ in
10920 let _endpos = _endpos_m_ in
10921 let _v : 'tv_ctype = let ty =
10922 let ty0 = ty00 in
10923 let ty =
10924 let ty = ty0 in
10925
10926 # 538 "parser_cocci_menhir.mly"
10927 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
10928 # 10929 "parser_cocci_menhir.ml"
10929
10930 in
10931
10932 # 602 "parser_cocci_menhir.mly"
10933 ( ty )
10934 # 10935 "parser_cocci_menhir.ml"
10935
10936 in
10937 let cv =
10938 let x = x0 in
10939
10940 # 41 "standard.mly"
10941 ( Some x )
10942 # 10943 "parser_cocci_menhir.ml"
10943
10944 in
10945
10946 # 607 "parser_cocci_menhir.mly"
10947 ( P.pointerify (P.make_cv cv ty) m )
10948 # 10949 "parser_cocci_menhir.ml"
10949 in
10950 _menhir_env.MenhirLib.EngineTypes.stack <- {
10951 MenhirLib.EngineTypes.state = _menhir_s;
10952 MenhirLib.EngineTypes.semv = Obj.repr _v;
10953 MenhirLib.EngineTypes.startp = _startpos;
10954 MenhirLib.EngineTypes.endp = _endpos;
10955 MenhirLib.EngineTypes.next = _menhir_stack;
10956 });
10957 (fun _menhir_env ->
10958 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
10959 let {
10960 MenhirLib.EngineTypes.semv = m;
10961 MenhirLib.EngineTypes.startp = _startpos_m_;
10962 MenhirLib.EngineTypes.endp = _endpos_m_;
10963 MenhirLib.EngineTypes.next = {
10964 MenhirLib.EngineTypes.semv = ty00;
10965 MenhirLib.EngineTypes.startp = _startpos_ty00_;
10966 MenhirLib.EngineTypes.endp = _endpos_ty00_;
10967 MenhirLib.EngineTypes.next = {
10968 MenhirLib.EngineTypes.state = _menhir_s;
10969 MenhirLib.EngineTypes.semv = x0;
10970 MenhirLib.EngineTypes.startp = _startpos_x0_;
10971 MenhirLib.EngineTypes.endp = _endpos_x0_;
10972 MenhirLib.EngineTypes.next = _menhir_stack;
10973 };
10974 };
10975 } = _menhir_stack in
10976 let m : 'tv_list_TMul_ = Obj.magic m in
10977 let ty00 : (
10978 # 51 "parser_cocci_menhir.mly"
10979 (Data.clt)
10980 # 10981 "parser_cocci_menhir.ml"
10981 ) = Obj.magic ty00 in
10982 let x0 : 'tv_const_vol = Obj.magic x0 in
10983 let _startpos = _startpos_x0_ in
10984 let _endpos = _endpos_m_ in
10985 let _v : 'tv_ctype = let ty =
10986 let ty0 = ty00 in
10987 let ty =
10988 let ty = ty0 in
10989
10990 # 540 "parser_cocci_menhir.mly"
10991 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
10992 # 10993 "parser_cocci_menhir.ml"
10993
10994 in
10995
10996 # 602 "parser_cocci_menhir.mly"
10997 ( ty )
10998 # 10999 "parser_cocci_menhir.ml"
10999
11000 in
11001 let cv =
11002 let x = x0 in
11003
11004 # 41 "standard.mly"
11005 ( Some x )
11006 # 11007 "parser_cocci_menhir.ml"
11007
11008 in
11009
11010 # 607 "parser_cocci_menhir.mly"
11011 ( P.pointerify (P.make_cv cv ty) m )
11012 # 11013 "parser_cocci_menhir.ml"
11013 in
11014 _menhir_env.MenhirLib.EngineTypes.stack <- {
11015 MenhirLib.EngineTypes.state = _menhir_s;
11016 MenhirLib.EngineTypes.semv = Obj.repr _v;
11017 MenhirLib.EngineTypes.startp = _startpos;
11018 MenhirLib.EngineTypes.endp = _endpos;
11019 MenhirLib.EngineTypes.next = _menhir_stack;
11020 });
11021 (fun _menhir_env ->
11022 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11023 let {
11024 MenhirLib.EngineTypes.semv = m;
11025 MenhirLib.EngineTypes.startp = _startpos_m_;
11026 MenhirLib.EngineTypes.endp = _endpos_m_;
11027 MenhirLib.EngineTypes.next = {
11028 MenhirLib.EngineTypes.semv = p00;
11029 MenhirLib.EngineTypes.startp = _startpos_p00_;
11030 MenhirLib.EngineTypes.endp = _endpos_p00_;
11031 MenhirLib.EngineTypes.next = {
11032 MenhirLib.EngineTypes.state = _menhir_s;
11033 MenhirLib.EngineTypes.semv = x0;
11034 MenhirLib.EngineTypes.startp = _startpos_x0_;
11035 MenhirLib.EngineTypes.endp = _endpos_x0_;
11036 MenhirLib.EngineTypes.next = _menhir_stack;
11037 };
11038 };
11039 } = _menhir_stack in
11040 let m : 'tv_list_TMul_ = Obj.magic m in
11041 let p00 : (
11042 # 68 "parser_cocci_menhir.mly"
11043 (Parse_aux.info)
11044 # 11045 "parser_cocci_menhir.ml"
11045 ) = Obj.magic p00 in
11046 let x0 : 'tv_const_vol = Obj.magic x0 in
11047 let _startpos = _startpos_x0_ in
11048 let _endpos = _endpos_m_ in
11049 let _v : 'tv_ctype = let ty =
11050 let p0 = p00 in
11051 let ty =
11052 let p = p0 in
11053
11054 # 542 "parser_cocci_menhir.mly"
11055 ( let (nm,pure,clt) = p in
11056 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
11057 # 11058 "parser_cocci_menhir.ml"
11058
11059 in
11060
11061 # 602 "parser_cocci_menhir.mly"
11062 ( ty )
11063 # 11064 "parser_cocci_menhir.ml"
11064
11065 in
11066 let cv =
11067 let x = x0 in
11068
11069 # 41 "standard.mly"
11070 ( Some x )
11071 # 11072 "parser_cocci_menhir.ml"
11072
11073 in
11074
11075 # 607 "parser_cocci_menhir.mly"
11076 ( P.pointerify (P.make_cv cv ty) m )
11077 # 11078 "parser_cocci_menhir.ml"
11078 in
11079 _menhir_env.MenhirLib.EngineTypes.stack <- {
11080 MenhirLib.EngineTypes.state = _menhir_s;
11081 MenhirLib.EngineTypes.semv = Obj.repr _v;
11082 MenhirLib.EngineTypes.startp = _startpos;
11083 MenhirLib.EngineTypes.endp = _endpos;
11084 MenhirLib.EngineTypes.next = _menhir_stack;
11085 });
11086 (fun _menhir_env ->
11087 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11088 let {
11089 MenhirLib.EngineTypes.semv = m;
11090 MenhirLib.EngineTypes.startp = _startpos_m_;
11091 MenhirLib.EngineTypes.endp = _endpos_m_;
11092 MenhirLib.EngineTypes.next = {
11093 MenhirLib.EngineTypes.semv = p00;
11094 MenhirLib.EngineTypes.startp = _startpos_p00_;
11095 MenhirLib.EngineTypes.endp = _endpos_p00_;
11096 MenhirLib.EngineTypes.next = {
11097 MenhirLib.EngineTypes.startp = _startpos__3_;
11098 MenhirLib.EngineTypes.endp = _endpos__3_;
11099 MenhirLib.EngineTypes.next = {
11100 MenhirLib.EngineTypes.semv = r00;
11101 MenhirLib.EngineTypes.startp = _startpos_r00_;
11102 MenhirLib.EngineTypes.endp = _endpos_r00_;
11103 MenhirLib.EngineTypes.next = {
11104 MenhirLib.EngineTypes.state = _menhir_s;
11105 MenhirLib.EngineTypes.semv = x0;
11106 MenhirLib.EngineTypes.startp = _startpos_x0_;
11107 MenhirLib.EngineTypes.endp = _endpos_x0_;
11108 MenhirLib.EngineTypes.next = _menhir_stack;
11109 };
11110 };
11111 };
11112 };
11113 } = _menhir_stack in
11114 let m : 'tv_list_TMul_ = Obj.magic m in
11115 let p00 : (
11116 # 62 "parser_cocci_menhir.mly"
11117 (string * Data.clt)
11118 # 11119 "parser_cocci_menhir.ml"
11119 ) = Obj.magic p00 in
11120 let r00 : (
11121 # 49 "parser_cocci_menhir.mly"
11122 (string)
11123 # 11124 "parser_cocci_menhir.ml"
11124 ) = Obj.magic r00 in
11125 let x0 : 'tv_const_vol = Obj.magic x0 in
11126 let _startpos = _startpos_x0_ in
11127 let _endpos = _endpos_m_ in
11128 let _v : 'tv_ctype = let ty =
11129 let p0 = p00 in
11130 let r0 = r00 in
11131 let ty =
11132 let p = p0 in
11133 let r = r0 in
11134
11135 # 545 "parser_cocci_menhir.mly"
11136 ( let nm = (r,P.id2name p) in
11137 (* this is only possible when we are in a metavar decl. Otherwise,
11138 it will be represented already as a MetaType *)
11139 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
11140 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
11141 Ast0.Impure (*will be ignored*))) )
11142 # 11143 "parser_cocci_menhir.ml"
11143
11144 in
11145
11146 # 602 "parser_cocci_menhir.mly"
11147 ( ty )
11148 # 11149 "parser_cocci_menhir.ml"
11149
11150 in
11151 let cv =
11152 let x = x0 in
11153
11154 # 41 "standard.mly"
11155 ( Some x )
11156 # 11157 "parser_cocci_menhir.ml"
11157
11158 in
11159
11160 # 607 "parser_cocci_menhir.mly"
11161 ( P.pointerify (P.make_cv cv ty) m )
11162 # 11163 "parser_cocci_menhir.ml"
11163 in
11164 _menhir_env.MenhirLib.EngineTypes.stack <- {
11165 MenhirLib.EngineTypes.state = _menhir_s;
11166 MenhirLib.EngineTypes.semv = Obj.repr _v;
11167 MenhirLib.EngineTypes.startp = _startpos;
11168 MenhirLib.EngineTypes.endp = _endpos;
11169 MenhirLib.EngineTypes.next = _menhir_stack;
11170 });
11171 (fun _menhir_env ->
11172 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11173 let {
11174 MenhirLib.EngineTypes.semv = m;
11175 MenhirLib.EngineTypes.startp = _startpos_m_;
11176 MenhirLib.EngineTypes.endp = _endpos_m_;
11177 MenhirLib.EngineTypes.next = {
11178 MenhirLib.EngineTypes.semv = ty00;
11179 MenhirLib.EngineTypes.startp = _startpos_ty00_;
11180 MenhirLib.EngineTypes.endp = _endpos_ty00_;
11181 MenhirLib.EngineTypes.next = {
11182 MenhirLib.EngineTypes.state = _menhir_s;
11183 MenhirLib.EngineTypes.semv = x0;
11184 MenhirLib.EngineTypes.startp = _startpos_x0_;
11185 MenhirLib.EngineTypes.endp = _endpos_x0_;
11186 MenhirLib.EngineTypes.next = _menhir_stack;
11187 };
11188 };
11189 } = _menhir_stack in
11190 let m : 'tv_list_TMul_ = Obj.magic m in
11191 let ty00 : (
11192 # 51 "parser_cocci_menhir.mly"
11193 (Data.clt)
11194 # 11195 "parser_cocci_menhir.ml"
11195 ) = Obj.magic ty00 in
11196 let x0 : 'tv_const_vol = Obj.magic x0 in
11197 let _startpos = _startpos_x0_ in
11198 let _endpos = _endpos_m_ in
11199 let _v : 'tv_ctype = let ty =
11200 let ty0 = ty00 in
11201 let ty =
11202 let ty = ty0 in
11203
11204 # 552 "parser_cocci_menhir.mly"
11205 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
11206 # 11207 "parser_cocci_menhir.ml"
11207
11208 in
11209
11210 # 602 "parser_cocci_menhir.mly"
11211 ( ty )
11212 # 11213 "parser_cocci_menhir.ml"
11213
11214 in
11215 let cv =
11216 let x = x0 in
11217
11218 # 41 "standard.mly"
11219 ( Some x )
11220 # 11221 "parser_cocci_menhir.ml"
11221
11222 in
11223
11224 # 607 "parser_cocci_menhir.mly"
11225 ( P.pointerify (P.make_cv cv ty) m )
11226 # 11227 "parser_cocci_menhir.ml"
11227 in
11228 _menhir_env.MenhirLib.EngineTypes.stack <- {
11229 MenhirLib.EngineTypes.state = _menhir_s;
11230 MenhirLib.EngineTypes.semv = Obj.repr _v;
11231 MenhirLib.EngineTypes.startp = _startpos;
11232 MenhirLib.EngineTypes.endp = _endpos;
11233 MenhirLib.EngineTypes.next = _menhir_stack;
11234 });
11235 (fun _menhir_env ->
11236 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11237 let {
11238 MenhirLib.EngineTypes.semv = m;
11239 MenhirLib.EngineTypes.startp = _startpos_m_;
11240 MenhirLib.EngineTypes.endp = _endpos_m_;
11241 MenhirLib.EngineTypes.next = {
11242 MenhirLib.EngineTypes.semv = ty200;
11243 MenhirLib.EngineTypes.startp = _startpos_ty200_;
11244 MenhirLib.EngineTypes.endp = _endpos_ty200_;
11245 MenhirLib.EngineTypes.next = {
11246 MenhirLib.EngineTypes.semv = ty100;
11247 MenhirLib.EngineTypes.startp = _startpos_ty100_;
11248 MenhirLib.EngineTypes.endp = _endpos_ty100_;
11249 MenhirLib.EngineTypes.next = {
11250 MenhirLib.EngineTypes.state = _menhir_s;
11251 MenhirLib.EngineTypes.semv = x0;
11252 MenhirLib.EngineTypes.startp = _startpos_x0_;
11253 MenhirLib.EngineTypes.endp = _endpos_x0_;
11254 MenhirLib.EngineTypes.next = _menhir_stack;
11255 };
11256 };
11257 };
11258 } = _menhir_stack in
11259 let m : 'tv_list_TMul_ = Obj.magic m in
11260 let ty200 : (
11261 # 51 "parser_cocci_menhir.mly"
11262 (Data.clt)
11263 # 11264 "parser_cocci_menhir.ml"
11264 ) = Obj.magic ty200 in
11265 let ty100 : (
11266 # 51 "parser_cocci_menhir.mly"
11267 (Data.clt)
11268 # 11269 "parser_cocci_menhir.ml"
11269 ) = Obj.magic ty100 in
11270 let x0 : 'tv_const_vol = Obj.magic x0 in
11271 let _startpos = _startpos_x0_ in
11272 let _endpos = _endpos_m_ in
11273 let _v : 'tv_ctype = let ty =
11274 let ty20 = ty200 in
11275 let ty10 = ty100 in
11276 let ty =
11277 let ty2 = ty20 in
11278 let ty1 = ty10 in
11279
11280 # 554 "parser_cocci_menhir.mly"
11281 ( Ast0.wrap
11282 (Ast0.BaseType
11283 (Ast.LongLongType,
11284 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
11285 # 11286 "parser_cocci_menhir.ml"
11286
11287 in
11288
11289 # 602 "parser_cocci_menhir.mly"
11290 ( ty )
11291 # 11292 "parser_cocci_menhir.ml"
11292
11293 in
11294 let cv =
11295 let x = x0 in
11296
11297 # 41 "standard.mly"
11298 ( Some x )
11299 # 11300 "parser_cocci_menhir.ml"
11300
11301 in
11302
11303 # 607 "parser_cocci_menhir.mly"
11304 ( P.pointerify (P.make_cv cv ty) m )
11305 # 11306 "parser_cocci_menhir.ml"
11306 in
11307 _menhir_env.MenhirLib.EngineTypes.stack <- {
11308 MenhirLib.EngineTypes.state = _menhir_s;
11309 MenhirLib.EngineTypes.semv = Obj.repr _v;
11310 MenhirLib.EngineTypes.startp = _startpos;
11311 MenhirLib.EngineTypes.endp = _endpos;
11312 MenhirLib.EngineTypes.next = _menhir_stack;
11313 });
11314 (fun _menhir_env ->
11315 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11316 let {
11317 MenhirLib.EngineTypes.semv = m;
11318 MenhirLib.EngineTypes.startp = _startpos_m_;
11319 MenhirLib.EngineTypes.endp = _endpos_m_;
11320 MenhirLib.EngineTypes.next = {
11321 MenhirLib.EngineTypes.semv = ty00;
11322 MenhirLib.EngineTypes.startp = _startpos_ty00_;
11323 MenhirLib.EngineTypes.endp = _endpos_ty00_;
11324 MenhirLib.EngineTypes.next = {
11325 MenhirLib.EngineTypes.state = _menhir_s;
11326 MenhirLib.EngineTypes.semv = x0;
11327 MenhirLib.EngineTypes.startp = _startpos_x0_;
11328 MenhirLib.EngineTypes.endp = _endpos_x0_;
11329 MenhirLib.EngineTypes.next = _menhir_stack;
11330 };
11331 };
11332 } = _menhir_stack in
11333 let m : 'tv_list_TMul_ = Obj.magic m in
11334 let ty00 : (
11335 # 53 "parser_cocci_menhir.mly"
11336 (Data.clt)
11337 # 11338 "parser_cocci_menhir.ml"
11338 ) = Obj.magic ty00 in
11339 let x0 : 'tv_const_vol = Obj.magic x0 in
11340 let _startpos = _startpos_x0_ in
11341 let _endpos = _endpos_m_ in
11342 let _v : 'tv_ctype = let ty =
11343 let ty0 = ty00 in
11344 let ty =
11345 let ty = ty0 in
11346
11347 # 562 "parser_cocci_menhir.mly"
11348 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
11349 # 11350 "parser_cocci_menhir.ml"
11350
11351 in
11352
11353 # 603 "parser_cocci_menhir.mly"
11354 ( ty )
11355 # 11356 "parser_cocci_menhir.ml"
11356
11357 in
11358 let cv =
11359 let x = x0 in
11360
11361 # 41 "standard.mly"
11362 ( Some x )
11363 # 11364 "parser_cocci_menhir.ml"
11364
11365 in
11366
11367 # 607 "parser_cocci_menhir.mly"
11368 ( P.pointerify (P.make_cv cv ty) m )
11369 # 11370 "parser_cocci_menhir.ml"
11370 in
11371 _menhir_env.MenhirLib.EngineTypes.stack <- {
11372 MenhirLib.EngineTypes.state = _menhir_s;
11373 MenhirLib.EngineTypes.semv = Obj.repr _v;
11374 MenhirLib.EngineTypes.startp = _startpos;
11375 MenhirLib.EngineTypes.endp = _endpos;
11376 MenhirLib.EngineTypes.next = _menhir_stack;
11377 });
11378 (fun _menhir_env ->
11379 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11380 let {
11381 MenhirLib.EngineTypes.semv = m;
11382 MenhirLib.EngineTypes.startp = _startpos_m_;
11383 MenhirLib.EngineTypes.endp = _endpos_m_;
11384 MenhirLib.EngineTypes.next = {
11385 MenhirLib.EngineTypes.semv = ty00;
11386 MenhirLib.EngineTypes.startp = _startpos_ty00_;
11387 MenhirLib.EngineTypes.endp = _endpos_ty00_;
11388 MenhirLib.EngineTypes.next = {
11389 MenhirLib.EngineTypes.state = _menhir_s;
11390 MenhirLib.EngineTypes.semv = x0;
11391 MenhirLib.EngineTypes.startp = _startpos_x0_;
11392 MenhirLib.EngineTypes.endp = _endpos_x0_;
11393 MenhirLib.EngineTypes.next = _menhir_stack;
11394 };
11395 };
11396 } = _menhir_stack in
11397 let m : 'tv_list_TMul_ = Obj.magic m in
11398 let ty00 : (
11399 # 51 "parser_cocci_menhir.mly"
11400 (Data.clt)
11401 # 11402 "parser_cocci_menhir.ml"
11402 ) = Obj.magic ty00 in
11403 let x0 : 'tv_const_vol = Obj.magic x0 in
11404 let _startpos = _startpos_x0_ in
11405 let _endpos = _endpos_m_ in
11406 let _v : 'tv_ctype = let ty =
11407 let ty0 = ty00 in
11408 let ty =
11409 let ty = ty0 in
11410
11411 # 564 "parser_cocci_menhir.mly"
11412 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
11413 # 11414 "parser_cocci_menhir.ml"
11414
11415 in
11416
11417 # 603 "parser_cocci_menhir.mly"
11418 ( ty )
11419 # 11420 "parser_cocci_menhir.ml"
11420
11421 in
11422 let cv =
11423 let x = x0 in
11424
11425 # 41 "standard.mly"
11426 ( Some x )
11427 # 11428 "parser_cocci_menhir.ml"
11428
11429 in
11430
11431 # 607 "parser_cocci_menhir.mly"
11432 ( P.pointerify (P.make_cv cv ty) m )
11433 # 11434 "parser_cocci_menhir.ml"
11434 in
11435 _menhir_env.MenhirLib.EngineTypes.stack <- {
11436 MenhirLib.EngineTypes.state = _menhir_s;
11437 MenhirLib.EngineTypes.semv = Obj.repr _v;
11438 MenhirLib.EngineTypes.startp = _startpos;
11439 MenhirLib.EngineTypes.endp = _endpos;
11440 MenhirLib.EngineTypes.next = _menhir_stack;
11441 });
11442 (fun _menhir_env ->
11443 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11444 let {
11445 MenhirLib.EngineTypes.semv = m;
11446 MenhirLib.EngineTypes.startp = _startpos_m_;
11447 MenhirLib.EngineTypes.endp = _endpos_m_;
11448 MenhirLib.EngineTypes.next = {
11449 MenhirLib.EngineTypes.semv = ty00;
11450 MenhirLib.EngineTypes.startp = _startpos_ty00_;
11451 MenhirLib.EngineTypes.endp = _endpos_ty00_;
11452 MenhirLib.EngineTypes.next = {
11453 MenhirLib.EngineTypes.state = _menhir_s;
11454 MenhirLib.EngineTypes.semv = x0;
11455 MenhirLib.EngineTypes.startp = _startpos_x0_;
11456 MenhirLib.EngineTypes.endp = _endpos_x0_;
11457 MenhirLib.EngineTypes.next = _menhir_stack;
11458 };
11459 };
11460 } = _menhir_stack in
11461 let m : 'tv_list_TMul_ = Obj.magic m in
11462 let ty00 : (
11463 # 51 "parser_cocci_menhir.mly"
11464 (Data.clt)
11465 # 11466 "parser_cocci_menhir.ml"
11466 ) = Obj.magic ty00 in
11467 let x0 : 'tv_const_vol = Obj.magic x0 in
11468 let _startpos = _startpos_x0_ in
11469 let _endpos = _endpos_m_ in
11470 let _v : 'tv_ctype = let ty =
11471 let ty0 = ty00 in
11472 let ty =
11473 let ty = ty0 in
11474
11475 # 566 "parser_cocci_menhir.mly"
11476 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
11477 # 11478 "parser_cocci_menhir.ml"
11478
11479 in
11480
11481 # 603 "parser_cocci_menhir.mly"
11482 ( ty )
11483 # 11484 "parser_cocci_menhir.ml"
11484
11485 in
11486 let cv =
11487 let x = x0 in
11488
11489 # 41 "standard.mly"
11490 ( Some x )
11491 # 11492 "parser_cocci_menhir.ml"
11492
11493 in
11494
11495 # 607 "parser_cocci_menhir.mly"
11496 ( P.pointerify (P.make_cv cv ty) m )
11497 # 11498 "parser_cocci_menhir.ml"
11498 in
11499 _menhir_env.MenhirLib.EngineTypes.stack <- {
11500 MenhirLib.EngineTypes.state = _menhir_s;
11501 MenhirLib.EngineTypes.semv = Obj.repr _v;
11502 MenhirLib.EngineTypes.startp = _startpos;
11503 MenhirLib.EngineTypes.endp = _endpos;
11504 MenhirLib.EngineTypes.next = _menhir_stack;
11505 });
11506 (fun _menhir_env ->
11507 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11508 let {
11509 MenhirLib.EngineTypes.semv = m;
11510 MenhirLib.EngineTypes.startp = _startpos_m_;
11511 MenhirLib.EngineTypes.endp = _endpos_m_;
11512 MenhirLib.EngineTypes.next = {
11513 MenhirLib.EngineTypes.semv = ty00;
11514 MenhirLib.EngineTypes.startp = _startpos_ty00_;
11515 MenhirLib.EngineTypes.endp = _endpos_ty00_;
11516 MenhirLib.EngineTypes.next = {
11517 MenhirLib.EngineTypes.state = _menhir_s;
11518 MenhirLib.EngineTypes.semv = x0;
11519 MenhirLib.EngineTypes.startp = _startpos_x0_;
11520 MenhirLib.EngineTypes.endp = _endpos_x0_;
11521 MenhirLib.EngineTypes.next = _menhir_stack;
11522 };
11523 };
11524 } = _menhir_stack in
11525 let m : 'tv_list_TMul_ = Obj.magic m in
11526 let ty00 : (
11527 # 52 "parser_cocci_menhir.mly"
11528 (Data.clt)
11529 # 11530 "parser_cocci_menhir.ml"
11530 ) = Obj.magic ty00 in
11531 let x0 : 'tv_const_vol = Obj.magic x0 in
11532 let _startpos = _startpos_x0_ in
11533 let _endpos = _endpos_m_ in
11534 let _v : 'tv_ctype = let ty =
11535 let ty0 = ty00 in
11536 let ty =
11537 let ty = ty0 in
11538
11539 # 568 "parser_cocci_menhir.mly"
11540 ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
11541 # 11542 "parser_cocci_menhir.ml"
11542
11543 in
11544
11545 # 603 "parser_cocci_menhir.mly"
11546 ( ty )
11547 # 11548 "parser_cocci_menhir.ml"
11548
11549 in
11550 let cv =
11551 let x = x0 in
11552
11553 # 41 "standard.mly"
11554 ( Some x )
11555 # 11556 "parser_cocci_menhir.ml"
11556
11557 in
11558
11559 # 607 "parser_cocci_menhir.mly"
11560 ( P.pointerify (P.make_cv cv ty) m )
11561 # 11562 "parser_cocci_menhir.ml"
11562 in
11563 _menhir_env.MenhirLib.EngineTypes.stack <- {
11564 MenhirLib.EngineTypes.state = _menhir_s;
11565 MenhirLib.EngineTypes.semv = Obj.repr _v;
11566 MenhirLib.EngineTypes.startp = _startpos;
11567 MenhirLib.EngineTypes.endp = _endpos;
11568 MenhirLib.EngineTypes.next = _menhir_stack;
11569 });
11570 (fun _menhir_env ->
11571 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11572 let {
11573 MenhirLib.EngineTypes.semv = m;
11574 MenhirLib.EngineTypes.startp = _startpos_m_;
11575 MenhirLib.EngineTypes.endp = _endpos_m_;
11576 MenhirLib.EngineTypes.next = {
11577 MenhirLib.EngineTypes.semv = ty00;
11578 MenhirLib.EngineTypes.startp = _startpos_ty00_;
11579 MenhirLib.EngineTypes.endp = _endpos_ty00_;
11580 MenhirLib.EngineTypes.next = {
11581 MenhirLib.EngineTypes.state = _menhir_s;
11582 MenhirLib.EngineTypes.semv = x0;
11583 MenhirLib.EngineTypes.startp = _startpos_x0_;
11584 MenhirLib.EngineTypes.endp = _endpos_x0_;
11585 MenhirLib.EngineTypes.next = _menhir_stack;
11586 };
11587 };
11588 } = _menhir_stack in
11589 let m : 'tv_list_TMul_ = Obj.magic m in
11590 let ty00 : (
11591 # 52 "parser_cocci_menhir.mly"
11592 (Data.clt)
11593 # 11594 "parser_cocci_menhir.ml"
11594 ) = Obj.magic ty00 in
11595 let x0 : 'tv_const_vol = Obj.magic x0 in
11596 let _startpos = _startpos_x0_ in
11597 let _endpos = _endpos_m_ in
11598 let _v : 'tv_ctype = let ty =
11599 let ty0 = ty00 in
11600 let ty =
11601 let ty = ty0 in
11602
11603 # 570 "parser_cocci_menhir.mly"
11604 ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
11605 # 11606 "parser_cocci_menhir.ml"
11606
11607 in
11608
11609 # 603 "parser_cocci_menhir.mly"
11610 ( ty )
11611 # 11612 "parser_cocci_menhir.ml"
11612
11613 in
11614 let cv =
11615 let x = x0 in
11616
11617 # 41 "standard.mly"
11618 ( Some x )
11619 # 11620 "parser_cocci_menhir.ml"
11620
11621 in
11622
11623 # 607 "parser_cocci_menhir.mly"
11624 ( P.pointerify (P.make_cv cv ty) m )
11625 # 11626 "parser_cocci_menhir.ml"
11626 in
11627 _menhir_env.MenhirLib.EngineTypes.stack <- {
11628 MenhirLib.EngineTypes.state = _menhir_s;
11629 MenhirLib.EngineTypes.semv = Obj.repr _v;
11630 MenhirLib.EngineTypes.startp = _startpos;
11631 MenhirLib.EngineTypes.endp = _endpos;
11632 MenhirLib.EngineTypes.next = _menhir_stack;
11633 });
11634 (fun _menhir_env ->
11635 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11636 let {
11637 MenhirLib.EngineTypes.semv = m;
11638 MenhirLib.EngineTypes.startp = _startpos_m_;
11639 MenhirLib.EngineTypes.endp = _endpos_m_;
11640 MenhirLib.EngineTypes.next = {
11641 MenhirLib.EngineTypes.semv = ty00;
11642 MenhirLib.EngineTypes.startp = _startpos_ty00_;
11643 MenhirLib.EngineTypes.endp = _endpos_ty00_;
11644 MenhirLib.EngineTypes.next = {
11645 MenhirLib.EngineTypes.state = _menhir_s;
11646 MenhirLib.EngineTypes.semv = x0;
11647 MenhirLib.EngineTypes.startp = _startpos_x0_;
11648 MenhirLib.EngineTypes.endp = _endpos_x0_;
11649 MenhirLib.EngineTypes.next = _menhir_stack;
11650 };
11651 };
11652 } = _menhir_stack in
11653 let m : 'tv_list_TMul_ = Obj.magic m in
11654 let ty00 : (
11655 # 52 "parser_cocci_menhir.mly"
11656 (Data.clt)
11657 # 11658 "parser_cocci_menhir.ml"
11658 ) = Obj.magic ty00 in
11659 let x0 : 'tv_const_vol = Obj.magic x0 in
11660 let _startpos = _startpos_x0_ in
11661 let _endpos = _endpos_m_ in
11662 let _v : 'tv_ctype = let ty =
11663 let ty0 = ty00 in
11664 let ty =
11665 let ty = ty0 in
11666
11667 # 572 "parser_cocci_menhir.mly"
11668 ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
11669 # 11670 "parser_cocci_menhir.ml"
11670
11671 in
11672
11673 # 603 "parser_cocci_menhir.mly"
11674 ( ty )
11675 # 11676 "parser_cocci_menhir.ml"
11676
11677 in
11678 let cv =
11679 let x = x0 in
11680
11681 # 41 "standard.mly"
11682 ( Some x )
11683 # 11684 "parser_cocci_menhir.ml"
11684
11685 in
11686
11687 # 607 "parser_cocci_menhir.mly"
11688 ( P.pointerify (P.make_cv cv ty) m )
11689 # 11690 "parser_cocci_menhir.ml"
11690 in
11691 _menhir_env.MenhirLib.EngineTypes.stack <- {
11692 MenhirLib.EngineTypes.state = _menhir_s;
11693 MenhirLib.EngineTypes.semv = Obj.repr _v;
11694 MenhirLib.EngineTypes.startp = _startpos;
11695 MenhirLib.EngineTypes.endp = _endpos;
11696 MenhirLib.EngineTypes.next = _menhir_stack;
11697 });
11698 (fun _menhir_env ->
11699 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11700 let {
11701 MenhirLib.EngineTypes.semv = m;
11702 MenhirLib.EngineTypes.startp = _startpos_m_;
11703 MenhirLib.EngineTypes.endp = _endpos_m_;
11704 MenhirLib.EngineTypes.next = {
11705 MenhirLib.EngineTypes.semv = i00;
11706 MenhirLib.EngineTypes.startp = _startpos_i00_;
11707 MenhirLib.EngineTypes.endp = _endpos_i00_;
11708 MenhirLib.EngineTypes.next = {
11709 MenhirLib.EngineTypes.semv = s00;
11710 MenhirLib.EngineTypes.startp = _startpos_s00_;
11711 MenhirLib.EngineTypes.endp = _endpos_s00_;
11712 MenhirLib.EngineTypes.next = {
11713 MenhirLib.EngineTypes.state = _menhir_s;
11714 MenhirLib.EngineTypes.semv = x0;
11715 MenhirLib.EngineTypes.startp = _startpos_x0_;
11716 MenhirLib.EngineTypes.endp = _endpos_x0_;
11717 MenhirLib.EngineTypes.next = _menhir_stack;
11718 };
11719 };
11720 };
11721 } = _menhir_stack in
11722 let m : 'tv_list_TMul_ = Obj.magic m in
11723 let i00 : 'tv_ident = Obj.magic i00 in
11724 let s00 : (
11725 # 53 "parser_cocci_menhir.mly"
11726 (Data.clt)
11727 # 11728 "parser_cocci_menhir.ml"
11728 ) = Obj.magic s00 in
11729 let x0 : 'tv_const_vol = Obj.magic x0 in
11730 let _startpos = _startpos_x0_ in
11731 let _endpos = _endpos_m_ in
11732 let _v : 'tv_ctype = let ty =
11733 let i0 = i00 in
11734 let s0 = s00 in
11735 let ty =
11736 let i = i0 in
11737 let s = s0 in
11738
11739 # 574 "parser_cocci_menhir.mly"
11740 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
11741 # 11742 "parser_cocci_menhir.ml"
11742
11743 in
11744
11745 # 603 "parser_cocci_menhir.mly"
11746 ( ty )
11747 # 11748 "parser_cocci_menhir.ml"
11748
11749 in
11750 let cv =
11751 let x = x0 in
11752
11753 # 41 "standard.mly"
11754 ( Some x )
11755 # 11756 "parser_cocci_menhir.ml"
11756
11757 in
11758
11759 # 607 "parser_cocci_menhir.mly"
11760 ( P.pointerify (P.make_cv cv ty) m )
11761 # 11762 "parser_cocci_menhir.ml"
11762 in
11763 _menhir_env.MenhirLib.EngineTypes.stack <- {
11764 MenhirLib.EngineTypes.state = _menhir_s;
11765 MenhirLib.EngineTypes.semv = Obj.repr _v;
11766 MenhirLib.EngineTypes.startp = _startpos;
11767 MenhirLib.EngineTypes.endp = _endpos;
11768 MenhirLib.EngineTypes.next = _menhir_stack;
11769 });
11770 (fun _menhir_env ->
11771 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11772 let {
11773 MenhirLib.EngineTypes.semv = m;
11774 MenhirLib.EngineTypes.startp = _startpos_m_;
11775 MenhirLib.EngineTypes.endp = _endpos_m_;
11776 MenhirLib.EngineTypes.next = {
11777 MenhirLib.EngineTypes.semv = r00;
11778 MenhirLib.EngineTypes.startp = _startpos_r00_;
11779 MenhirLib.EngineTypes.endp = _endpos_r00_;
11780 MenhirLib.EngineTypes.next = {
11781 MenhirLib.EngineTypes.semv = ids00;
11782 MenhirLib.EngineTypes.startp = _startpos_ids00_;
11783 MenhirLib.EngineTypes.endp = _endpos_ids00_;
11784 MenhirLib.EngineTypes.next = {
11785 MenhirLib.EngineTypes.semv = l00;
11786 MenhirLib.EngineTypes.startp = _startpos_l00_;
11787 MenhirLib.EngineTypes.endp = _endpos_l00_;
11788 MenhirLib.EngineTypes.next = {
11789 MenhirLib.EngineTypes.semv = s00;
11790 MenhirLib.EngineTypes.startp = _startpos_s00_;
11791 MenhirLib.EngineTypes.endp = _endpos_s00_;
11792 MenhirLib.EngineTypes.next = {
11793 MenhirLib.EngineTypes.state = _menhir_s;
11794 MenhirLib.EngineTypes.semv = x0;
11795 MenhirLib.EngineTypes.startp = _startpos_x0_;
11796 MenhirLib.EngineTypes.endp = _endpos_x0_;
11797 MenhirLib.EngineTypes.next = _menhir_stack;
11798 };
11799 };
11800 };
11801 };
11802 };
11803 } = _menhir_stack in
11804 let m : 'tv_list_TMul_ = Obj.magic m in
11805 let r00 : (
11806 # 105 "parser_cocci_menhir.mly"
11807 (Data.clt)
11808 # 11809 "parser_cocci_menhir.ml"
11809 ) = Obj.magic r00 in
11810 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
11811 let l00 : (
11812 # 105 "parser_cocci_menhir.mly"
11813 (Data.clt)
11814 # 11815 "parser_cocci_menhir.ml"
11815 ) = Obj.magic l00 in
11816 let s00 : (
11817 # 53 "parser_cocci_menhir.mly"
11818 (Data.clt)
11819 # 11820 "parser_cocci_menhir.ml"
11820 ) = Obj.magic s00 in
11821 let x0 : 'tv_const_vol = Obj.magic x0 in
11822 let _startpos = _startpos_x0_ in
11823 let _endpos = _endpos_m_ in
11824 let _v : 'tv_ctype = let ty =
11825 let r0 = r00 in
11826 let ids0 = ids00 in
11827 let l0 = l00 in
11828 let s0 = s00 in
11829 let ty =
11830 let r = r0 in
11831 let ids = ids0 in
11832 let l = l0 in
11833 let s = s0 in
11834 let i =
11835
11836 # 39 "standard.mly"
11837 ( None )
11838 # 11839 "parser_cocci_menhir.ml"
11839
11840 in
11841
11842 # 576 "parser_cocci_menhir.mly"
11843 ( (if i = None && !Data.in_iso
11844 then failwith "enums must be named in the iso file");
11845 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
11846 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
11847 # 11848 "parser_cocci_menhir.ml"
11848
11849 in
11850
11851 # 603 "parser_cocci_menhir.mly"
11852 ( ty )
11853 # 11854 "parser_cocci_menhir.ml"
11854
11855 in
11856 let cv =
11857 let x = x0 in
11858
11859 # 41 "standard.mly"
11860 ( Some x )
11861 # 11862 "parser_cocci_menhir.ml"
11862
11863 in
11864
11865 # 607 "parser_cocci_menhir.mly"
11866 ( P.pointerify (P.make_cv cv ty) m )
11867 # 11868 "parser_cocci_menhir.ml"
11868 in
11869 _menhir_env.MenhirLib.EngineTypes.stack <- {
11870 MenhirLib.EngineTypes.state = _menhir_s;
11871 MenhirLib.EngineTypes.semv = Obj.repr _v;
11872 MenhirLib.EngineTypes.startp = _startpos;
11873 MenhirLib.EngineTypes.endp = _endpos;
11874 MenhirLib.EngineTypes.next = _menhir_stack;
11875 });
11876 (fun _menhir_env ->
11877 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11878 let {
11879 MenhirLib.EngineTypes.semv = m;
11880 MenhirLib.EngineTypes.startp = _startpos_m_;
11881 MenhirLib.EngineTypes.endp = _endpos_m_;
11882 MenhirLib.EngineTypes.next = {
11883 MenhirLib.EngineTypes.semv = r00;
11884 MenhirLib.EngineTypes.startp = _startpos_r00_;
11885 MenhirLib.EngineTypes.endp = _endpos_r00_;
11886 MenhirLib.EngineTypes.next = {
11887 MenhirLib.EngineTypes.semv = ids00;
11888 MenhirLib.EngineTypes.startp = _startpos_ids00_;
11889 MenhirLib.EngineTypes.endp = _endpos_ids00_;
11890 MenhirLib.EngineTypes.next = {
11891 MenhirLib.EngineTypes.semv = l00;
11892 MenhirLib.EngineTypes.startp = _startpos_l00_;
11893 MenhirLib.EngineTypes.endp = _endpos_l00_;
11894 MenhirLib.EngineTypes.next = {
11895 MenhirLib.EngineTypes.semv = x000;
11896 MenhirLib.EngineTypes.startp = _startpos_x000_;
11897 MenhirLib.EngineTypes.endp = _endpos_x000_;
11898 MenhirLib.EngineTypes.next = {
11899 MenhirLib.EngineTypes.semv = s00;
11900 MenhirLib.EngineTypes.startp = _startpos_s00_;
11901 MenhirLib.EngineTypes.endp = _endpos_s00_;
11902 MenhirLib.EngineTypes.next = {
11903 MenhirLib.EngineTypes.state = _menhir_s;
11904 MenhirLib.EngineTypes.semv = x0;
11905 MenhirLib.EngineTypes.startp = _startpos_x0_;
11906 MenhirLib.EngineTypes.endp = _endpos_x0_;
11907 MenhirLib.EngineTypes.next = _menhir_stack;
11908 };
11909 };
11910 };
11911 };
11912 };
11913 };
11914 } = _menhir_stack in
11915 let m : 'tv_list_TMul_ = Obj.magic m in
11916 let r00 : (
11917 # 105 "parser_cocci_menhir.mly"
11918 (Data.clt)
11919 # 11920 "parser_cocci_menhir.ml"
11920 ) = Obj.magic r00 in
11921 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
11922 let l00 : (
11923 # 105 "parser_cocci_menhir.mly"
11924 (Data.clt)
11925 # 11926 "parser_cocci_menhir.ml"
11926 ) = Obj.magic l00 in
11927 let x000 : 'tv_ident = Obj.magic x000 in
11928 let s00 : (
11929 # 53 "parser_cocci_menhir.mly"
11930 (Data.clt)
11931 # 11932 "parser_cocci_menhir.ml"
11932 ) = Obj.magic s00 in
11933 let x0 : 'tv_const_vol = Obj.magic x0 in
11934 let _startpos = _startpos_x0_ in
11935 let _endpos = _endpos_m_ in
11936 let _v : 'tv_ctype = let ty =
11937 let r0 = r00 in
11938 let ids0 = ids00 in
11939 let l0 = l00 in
11940 let x00 = x000 in
11941 let s0 = s00 in
11942 let ty =
11943 let r = r0 in
11944 let ids = ids0 in
11945 let l = l0 in
11946 let x0 = x00 in
11947 let s = s0 in
11948 let i =
11949 let x = x0 in
11950
11951 # 41 "standard.mly"
11952 ( Some x )
11953 # 11954 "parser_cocci_menhir.ml"
11954
11955 in
11956
11957 # 576 "parser_cocci_menhir.mly"
11958 ( (if i = None && !Data.in_iso
11959 then failwith "enums must be named in the iso file");
11960 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
11961 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
11962 # 11963 "parser_cocci_menhir.ml"
11963
11964 in
11965
11966 # 603 "parser_cocci_menhir.mly"
11967 ( ty )
11968 # 11969 "parser_cocci_menhir.ml"
11969
11970 in
11971 let cv =
11972 let x = x0 in
11973
11974 # 41 "standard.mly"
11975 ( Some x )
11976 # 11977 "parser_cocci_menhir.ml"
11977
11978 in
11979
11980 # 607 "parser_cocci_menhir.mly"
11981 ( P.pointerify (P.make_cv cv ty) m )
11982 # 11983 "parser_cocci_menhir.ml"
11983 in
11984 _menhir_env.MenhirLib.EngineTypes.stack <- {
11985 MenhirLib.EngineTypes.state = _menhir_s;
11986 MenhirLib.EngineTypes.semv = Obj.repr _v;
11987 MenhirLib.EngineTypes.startp = _startpos;
11988 MenhirLib.EngineTypes.endp = _endpos;
11989 MenhirLib.EngineTypes.next = _menhir_stack;
11990 });
11991 (fun _menhir_env ->
11992 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
11993 let {
11994 MenhirLib.EngineTypes.semv = m;
11995 MenhirLib.EngineTypes.startp = _startpos_m_;
11996 MenhirLib.EngineTypes.endp = _endpos_m_;
11997 MenhirLib.EngineTypes.next = {
11998 MenhirLib.EngineTypes.semv = i00;
11999 MenhirLib.EngineTypes.startp = _startpos_i00_;
12000 MenhirLib.EngineTypes.endp = _endpos_i00_;
12001 MenhirLib.EngineTypes.next = {
12002 MenhirLib.EngineTypes.semv = s00;
12003 MenhirLib.EngineTypes.startp = _startpos_s00_;
12004 MenhirLib.EngineTypes.endp = _endpos_s00_;
12005 MenhirLib.EngineTypes.next = {
12006 MenhirLib.EngineTypes.state = _menhir_s;
12007 MenhirLib.EngineTypes.semv = x0;
12008 MenhirLib.EngineTypes.startp = _startpos_x0_;
12009 MenhirLib.EngineTypes.endp = _endpos_x0_;
12010 MenhirLib.EngineTypes.next = _menhir_stack;
12011 };
12012 };
12013 };
12014 } = _menhir_stack in
12015 let m : 'tv_list_TMul_ = Obj.magic m in
12016 let i00 : 'tv_ident = Obj.magic i00 in
12017 let s00 : 'tv_struct_or_union = Obj.magic s00 in
12018 let x0 : 'tv_const_vol = Obj.magic x0 in
12019 let _startpos = _startpos_x0_ in
12020 let _endpos = _endpos_m_ in
12021 let _v : 'tv_ctype = let ty =
12022 let i0 = i00 in
12023 let s0 = s00 in
12024 let ty =
12025 let i = i0 in
12026 let s = s0 in
12027
12028 # 581 "parser_cocci_menhir.mly"
12029 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
12030 # 12031 "parser_cocci_menhir.ml"
12031
12032 in
12033
12034 # 603 "parser_cocci_menhir.mly"
12035 ( ty )
12036 # 12037 "parser_cocci_menhir.ml"
12037
12038 in
12039 let cv =
12040 let x = x0 in
12041
12042 # 41 "standard.mly"
12043 ( Some x )
12044 # 12045 "parser_cocci_menhir.ml"
12045
12046 in
12047
12048 # 607 "parser_cocci_menhir.mly"
12049 ( P.pointerify (P.make_cv cv ty) m )
12050 # 12051 "parser_cocci_menhir.ml"
12051 in
12052 _menhir_env.MenhirLib.EngineTypes.stack <- {
12053 MenhirLib.EngineTypes.state = _menhir_s;
12054 MenhirLib.EngineTypes.semv = Obj.repr _v;
12055 MenhirLib.EngineTypes.startp = _startpos;
12056 MenhirLib.EngineTypes.endp = _endpos;
12057 MenhirLib.EngineTypes.next = _menhir_stack;
12058 });
12059 (fun _menhir_env ->
12060 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12061 let {
12062 MenhirLib.EngineTypes.semv = m;
12063 MenhirLib.EngineTypes.startp = _startpos_m_;
12064 MenhirLib.EngineTypes.endp = _endpos_m_;
12065 MenhirLib.EngineTypes.next = {
12066 MenhirLib.EngineTypes.semv = r00;
12067 MenhirLib.EngineTypes.startp = _startpos_r00_;
12068 MenhirLib.EngineTypes.endp = _endpos_r00_;
12069 MenhirLib.EngineTypes.next = {
12070 MenhirLib.EngineTypes.semv = d00;
12071 MenhirLib.EngineTypes.startp = _startpos_d00_;
12072 MenhirLib.EngineTypes.endp = _endpos_d00_;
12073 MenhirLib.EngineTypes.next = {
12074 MenhirLib.EngineTypes.semv = l00;
12075 MenhirLib.EngineTypes.startp = _startpos_l00_;
12076 MenhirLib.EngineTypes.endp = _endpos_l00_;
12077 MenhirLib.EngineTypes.next = {
12078 MenhirLib.EngineTypes.semv = s00;
12079 MenhirLib.EngineTypes.startp = _startpos_s00_;
12080 MenhirLib.EngineTypes.endp = _endpos_s00_;
12081 MenhirLib.EngineTypes.next = {
12082 MenhirLib.EngineTypes.state = _menhir_s;
12083 MenhirLib.EngineTypes.semv = x0;
12084 MenhirLib.EngineTypes.startp = _startpos_x0_;
12085 MenhirLib.EngineTypes.endp = _endpos_x0_;
12086 MenhirLib.EngineTypes.next = _menhir_stack;
12087 };
12088 };
12089 };
12090 };
12091 };
12092 } = _menhir_stack in
12093 let m : 'tv_list_TMul_ = Obj.magic m in
12094 let r00 : (
12095 # 105 "parser_cocci_menhir.mly"
12096 (Data.clt)
12097 # 12098 "parser_cocci_menhir.ml"
12098 ) = Obj.magic r00 in
12099 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
12100 let l00 : (
12101 # 105 "parser_cocci_menhir.mly"
12102 (Data.clt)
12103 # 12104 "parser_cocci_menhir.ml"
12104 ) = Obj.magic l00 in
12105 let s00 : 'tv_struct_or_union = Obj.magic s00 in
12106 let x0 : 'tv_const_vol = Obj.magic x0 in
12107 let _startpos = _startpos_x0_ in
12108 let _endpos = _endpos_m_ in
12109 let _v : 'tv_ctype = let ty =
12110 let r0 = r00 in
12111 let d0 = d00 in
12112 let l0 = l00 in
12113 let s0 = s00 in
12114 let ty =
12115 let r = r0 in
12116 let d = d0 in
12117 let l = l0 in
12118 let s = s0 in
12119 let i =
12120
12121 # 39 "standard.mly"
12122 ( None )
12123 # 12124 "parser_cocci_menhir.ml"
12124
12125 in
12126
12127 # 584 "parser_cocci_menhir.mly"
12128 ( (if i = None && !Data.in_iso
12129 then failwith "structures must be named in the iso file");
12130 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
12131 P.clt2mcode "{" l,
12132 d, P.clt2mcode "}" r)) )
12133 # 12134 "parser_cocci_menhir.ml"
12134
12135 in
12136
12137 # 603 "parser_cocci_menhir.mly"
12138 ( ty )
12139 # 12140 "parser_cocci_menhir.ml"
12140
12141 in
12142 let cv =
12143 let x = x0 in
12144
12145 # 41 "standard.mly"
12146 ( Some x )
12147 # 12148 "parser_cocci_menhir.ml"
12148
12149 in
12150
12151 # 607 "parser_cocci_menhir.mly"
12152 ( P.pointerify (P.make_cv cv ty) m )
12153 # 12154 "parser_cocci_menhir.ml"
12154 in
12155 _menhir_env.MenhirLib.EngineTypes.stack <- {
12156 MenhirLib.EngineTypes.state = _menhir_s;
12157 MenhirLib.EngineTypes.semv = Obj.repr _v;
12158 MenhirLib.EngineTypes.startp = _startpos;
12159 MenhirLib.EngineTypes.endp = _endpos;
12160 MenhirLib.EngineTypes.next = _menhir_stack;
12161 });
12162 (fun _menhir_env ->
12163 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12164 let {
12165 MenhirLib.EngineTypes.semv = m;
12166 MenhirLib.EngineTypes.startp = _startpos_m_;
12167 MenhirLib.EngineTypes.endp = _endpos_m_;
12168 MenhirLib.EngineTypes.next = {
12169 MenhirLib.EngineTypes.semv = r00;
12170 MenhirLib.EngineTypes.startp = _startpos_r00_;
12171 MenhirLib.EngineTypes.endp = _endpos_r00_;
12172 MenhirLib.EngineTypes.next = {
12173 MenhirLib.EngineTypes.semv = d00;
12174 MenhirLib.EngineTypes.startp = _startpos_d00_;
12175 MenhirLib.EngineTypes.endp = _endpos_d00_;
12176 MenhirLib.EngineTypes.next = {
12177 MenhirLib.EngineTypes.semv = l00;
12178 MenhirLib.EngineTypes.startp = _startpos_l00_;
12179 MenhirLib.EngineTypes.endp = _endpos_l00_;
12180 MenhirLib.EngineTypes.next = {
12181 MenhirLib.EngineTypes.semv = x000;
12182 MenhirLib.EngineTypes.startp = _startpos_x000_;
12183 MenhirLib.EngineTypes.endp = _endpos_x000_;
12184 MenhirLib.EngineTypes.next = {
12185 MenhirLib.EngineTypes.semv = s00;
12186 MenhirLib.EngineTypes.startp = _startpos_s00_;
12187 MenhirLib.EngineTypes.endp = _endpos_s00_;
12188 MenhirLib.EngineTypes.next = {
12189 MenhirLib.EngineTypes.state = _menhir_s;
12190 MenhirLib.EngineTypes.semv = x0;
12191 MenhirLib.EngineTypes.startp = _startpos_x0_;
12192 MenhirLib.EngineTypes.endp = _endpos_x0_;
12193 MenhirLib.EngineTypes.next = _menhir_stack;
12194 };
12195 };
12196 };
12197 };
12198 };
12199 };
12200 } = _menhir_stack in
12201 let m : 'tv_list_TMul_ = Obj.magic m in
12202 let r00 : (
12203 # 105 "parser_cocci_menhir.mly"
12204 (Data.clt)
12205 # 12206 "parser_cocci_menhir.ml"
12206 ) = Obj.magic r00 in
12207 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
12208 let l00 : (
12209 # 105 "parser_cocci_menhir.mly"
12210 (Data.clt)
12211 # 12212 "parser_cocci_menhir.ml"
12212 ) = Obj.magic l00 in
12213 let x000 : 'tv_ident = Obj.magic x000 in
12214 let s00 : 'tv_struct_or_union = Obj.magic s00 in
12215 let x0 : 'tv_const_vol = Obj.magic x0 in
12216 let _startpos = _startpos_x0_ in
12217 let _endpos = _endpos_m_ in
12218 let _v : 'tv_ctype = let ty =
12219 let r0 = r00 in
12220 let d0 = d00 in
12221 let l0 = l00 in
12222 let x00 = x000 in
12223 let s0 = s00 in
12224 let ty =
12225 let r = r0 in
12226 let d = d0 in
12227 let l = l0 in
12228 let x0 = x00 in
12229 let s = s0 in
12230 let i =
12231 let x = x0 in
12232
12233 # 41 "standard.mly"
12234 ( Some x )
12235 # 12236 "parser_cocci_menhir.ml"
12236
12237 in
12238
12239 # 584 "parser_cocci_menhir.mly"
12240 ( (if i = None && !Data.in_iso
12241 then failwith "structures must be named in the iso file");
12242 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
12243 P.clt2mcode "{" l,
12244 d, P.clt2mcode "}" r)) )
12245 # 12246 "parser_cocci_menhir.ml"
12246
12247 in
12248
12249 # 603 "parser_cocci_menhir.mly"
12250 ( ty )
12251 # 12252 "parser_cocci_menhir.ml"
12252
12253 in
12254 let cv =
12255 let x = x0 in
12256
12257 # 41 "standard.mly"
12258 ( Some x )
12259 # 12260 "parser_cocci_menhir.ml"
12260
12261 in
12262
12263 # 607 "parser_cocci_menhir.mly"
12264 ( P.pointerify (P.make_cv cv ty) m )
12265 # 12266 "parser_cocci_menhir.ml"
12266 in
12267 _menhir_env.MenhirLib.EngineTypes.stack <- {
12268 MenhirLib.EngineTypes.state = _menhir_s;
12269 MenhirLib.EngineTypes.semv = Obj.repr _v;
12270 MenhirLib.EngineTypes.startp = _startpos;
12271 MenhirLib.EngineTypes.endp = _endpos;
12272 MenhirLib.EngineTypes.next = _menhir_stack;
12273 });
12274 (fun _menhir_env ->
12275 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12276 let {
12277 MenhirLib.EngineTypes.semv = m;
12278 MenhirLib.EngineTypes.startp = _startpos_m_;
12279 MenhirLib.EngineTypes.endp = _endpos_m_;
12280 MenhirLib.EngineTypes.next = {
12281 MenhirLib.EngineTypes.semv = r00;
12282 MenhirLib.EngineTypes.startp = _startpos_r00_;
12283 MenhirLib.EngineTypes.endp = _endpos_r00_;
12284 MenhirLib.EngineTypes.next = {
12285 MenhirLib.EngineTypes.semv = d00;
12286 MenhirLib.EngineTypes.startp = _startpos_d00_;
12287 MenhirLib.EngineTypes.endp = _endpos_d00_;
12288 MenhirLib.EngineTypes.next = {
12289 MenhirLib.EngineTypes.semv = l00;
12290 MenhirLib.EngineTypes.startp = _startpos_l00_;
12291 MenhirLib.EngineTypes.endp = _endpos_l00_;
12292 MenhirLib.EngineTypes.next = {
12293 MenhirLib.EngineTypes.semv = s00;
12294 MenhirLib.EngineTypes.startp = _startpos_s00_;
12295 MenhirLib.EngineTypes.endp = _endpos_s00_;
12296 MenhirLib.EngineTypes.next = {
12297 MenhirLib.EngineTypes.state = _menhir_s;
12298 MenhirLib.EngineTypes.semv = x0;
12299 MenhirLib.EngineTypes.startp = _startpos_x0_;
12300 MenhirLib.EngineTypes.endp = _endpos_x0_;
12301 MenhirLib.EngineTypes.next = _menhir_stack;
12302 };
12303 };
12304 };
12305 };
12306 };
12307 } = _menhir_stack in
12308 let m : 'tv_list_TMul_ = Obj.magic m in
12309 let r00 : (
12310 # 105 "parser_cocci_menhir.mly"
12311 (Data.clt)
12312 # 12313 "parser_cocci_menhir.ml"
12313 ) = Obj.magic r00 in
12314 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
12315 let l00 : (
12316 # 105 "parser_cocci_menhir.mly"
12317 (Data.clt)
12318 # 12319 "parser_cocci_menhir.ml"
12319 ) = Obj.magic l00 in
12320 let s00 : (
12321 # 68 "parser_cocci_menhir.mly"
12322 (Parse_aux.info)
12323 # 12324 "parser_cocci_menhir.ml"
12324 ) = Obj.magic s00 in
12325 let x0 : 'tv_const_vol = Obj.magic x0 in
12326 let _startpos = _startpos_x0_ in
12327 let _endpos = _endpos_m_ in
12328 let _v : 'tv_ctype = let ty =
12329 let r0 = r00 in
12330 let d0 = d00 in
12331 let l0 = l00 in
12332 let s0 = s00 in
12333 let ty =
12334 let r = r0 in
12335 let d = d0 in
12336 let l = l0 in
12337 let s = s0 in
12338
12339 # 590 "parser_cocci_menhir.mly"
12340 ( let (nm,pure,clt) = s in
12341 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
12342 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
12343 # 12344 "parser_cocci_menhir.ml"
12344
12345 in
12346
12347 # 603 "parser_cocci_menhir.mly"
12348 ( ty )
12349 # 12350 "parser_cocci_menhir.ml"
12350
12351 in
12352 let cv =
12353 let x = x0 in
12354
12355 # 41 "standard.mly"
12356 ( Some x )
12357 # 12358 "parser_cocci_menhir.ml"
12358
12359 in
12360
12361 # 607 "parser_cocci_menhir.mly"
12362 ( P.pointerify (P.make_cv cv ty) m )
12363 # 12364 "parser_cocci_menhir.ml"
12364 in
12365 _menhir_env.MenhirLib.EngineTypes.stack <- {
12366 MenhirLib.EngineTypes.state = _menhir_s;
12367 MenhirLib.EngineTypes.semv = Obj.repr _v;
12368 MenhirLib.EngineTypes.startp = _startpos;
12369 MenhirLib.EngineTypes.endp = _endpos;
12370 MenhirLib.EngineTypes.next = _menhir_stack;
12371 });
12372 (fun _menhir_env ->
12373 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12374 let {
12375 MenhirLib.EngineTypes.semv = m;
12376 MenhirLib.EngineTypes.startp = _startpos_m_;
12377 MenhirLib.EngineTypes.endp = _endpos_m_;
12378 MenhirLib.EngineTypes.next = {
12379 MenhirLib.EngineTypes.semv = p00;
12380 MenhirLib.EngineTypes.startp = _startpos_p00_;
12381 MenhirLib.EngineTypes.endp = _endpos_p00_;
12382 MenhirLib.EngineTypes.next = {
12383 MenhirLib.EngineTypes.state = _menhir_s;
12384 MenhirLib.EngineTypes.semv = x0;
12385 MenhirLib.EngineTypes.startp = _startpos_x0_;
12386 MenhirLib.EngineTypes.endp = _endpos_x0_;
12387 MenhirLib.EngineTypes.next = _menhir_stack;
12388 };
12389 };
12390 } = _menhir_stack in
12391 let m : 'tv_list_TMul_ = Obj.magic m in
12392 let p00 : (
12393 # 62 "parser_cocci_menhir.mly"
12394 (string * Data.clt)
12395 # 12396 "parser_cocci_menhir.ml"
12396 ) = Obj.magic p00 in
12397 let x0 : 'tv_const_vol = Obj.magic x0 in
12398 let _startpos = _startpos_x0_ in
12399 let _endpos = _endpos_m_ in
12400 let _v : 'tv_ctype = let ty =
12401 let p0 = p00 in
12402 let ty =
12403 let p = p0 in
12404
12405 # 594 "parser_cocci_menhir.mly"
12406 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
12407 # 12408 "parser_cocci_menhir.ml"
12408
12409 in
12410
12411 # 603 "parser_cocci_menhir.mly"
12412 ( ty )
12413 # 12414 "parser_cocci_menhir.ml"
12414
12415 in
12416 let cv =
12417 let x = x0 in
12418
12419 # 41 "standard.mly"
12420 ( Some x )
12421 # 12422 "parser_cocci_menhir.ml"
12422
12423 in
12424
12425 # 607 "parser_cocci_menhir.mly"
12426 ( P.pointerify (P.make_cv cv ty) m )
12427 # 12428 "parser_cocci_menhir.ml"
12428 in
12429 _menhir_env.MenhirLib.EngineTypes.stack <- {
12430 MenhirLib.EngineTypes.state = _menhir_s;
12431 MenhirLib.EngineTypes.semv = Obj.repr _v;
12432 MenhirLib.EngineTypes.startp = _startpos;
12433 MenhirLib.EngineTypes.endp = _endpos;
12434 MenhirLib.EngineTypes.next = _menhir_stack;
12435 });
12436 (fun _menhir_env ->
12437 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12438 let {
12439 MenhirLib.EngineTypes.state = _menhir_s;
12440 MenhirLib.EngineTypes.semv = r;
12441 MenhirLib.EngineTypes.startp = _startpos_r_;
12442 MenhirLib.EngineTypes.endp = _endpos_r_;
12443 MenhirLib.EngineTypes.next = _menhir_stack;
12444 } = _menhir_stack in
12445 let r : (
12446 # 54 "parser_cocci_menhir.mly"
12447 (Data.clt)
12448 # 12449 "parser_cocci_menhir.ml"
12449 ) = Obj.magic r in
12450 let _startpos = _startpos_r_ in
12451 let _endpos = _endpos_r_ in
12452 let _v : 'tv_ctype =
12453 # 609 "parser_cocci_menhir.mly"
12454 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) )
12455 # 12456 "parser_cocci_menhir.ml"
12456 in
12457 _menhir_env.MenhirLib.EngineTypes.stack <- {
12458 MenhirLib.EngineTypes.state = _menhir_s;
12459 MenhirLib.EngineTypes.semv = Obj.repr _v;
12460 MenhirLib.EngineTypes.startp = _startpos;
12461 MenhirLib.EngineTypes.endp = _endpos;
12462 MenhirLib.EngineTypes.next = _menhir_stack;
12463 });
12464 (fun _menhir_env ->
12465 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12466 let {
12467 MenhirLib.EngineTypes.state = _menhir_s;
12468 MenhirLib.EngineTypes.semv = r;
12469 MenhirLib.EngineTypes.startp = _startpos_r_;
12470 MenhirLib.EngineTypes.endp = _endpos_r_;
12471 MenhirLib.EngineTypes.next = _menhir_stack;
12472 } = _menhir_stack in
12473 let r : (
12474 # 54 "parser_cocci_menhir.mly"
12475 (Data.clt)
12476 # 12477 "parser_cocci_menhir.ml"
12477 ) = Obj.magic r in
12478 let _startpos = _startpos_r_ in
12479 let _endpos = _endpos_r_ in
12480 let _v : 'tv_ctype =
12481 # 611 "parser_cocci_menhir.mly"
12482 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) )
12483 # 12484 "parser_cocci_menhir.ml"
12484 in
12485 _menhir_env.MenhirLib.EngineTypes.stack <- {
12486 MenhirLib.EngineTypes.state = _menhir_s;
12487 MenhirLib.EngineTypes.semv = Obj.repr _v;
12488 MenhirLib.EngineTypes.startp = _startpos;
12489 MenhirLib.EngineTypes.endp = _endpos;
12490 MenhirLib.EngineTypes.next = _menhir_stack;
12491 });
12492 (fun _menhir_env ->
12493 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12494 let {
12495 MenhirLib.EngineTypes.semv = rp;
12496 MenhirLib.EngineTypes.startp = _startpos_rp_;
12497 MenhirLib.EngineTypes.endp = _endpos_rp_;
12498 MenhirLib.EngineTypes.next = {
12499 MenhirLib.EngineTypes.semv = t;
12500 MenhirLib.EngineTypes.startp = _startpos_t_;
12501 MenhirLib.EngineTypes.endp = _endpos_t_;
12502 MenhirLib.EngineTypes.next = {
12503 MenhirLib.EngineTypes.state = _menhir_s;
12504 MenhirLib.EngineTypes.semv = lp;
12505 MenhirLib.EngineTypes.startp = _startpos_lp_;
12506 MenhirLib.EngineTypes.endp = _endpos_lp_;
12507 MenhirLib.EngineTypes.next = _menhir_stack;
12508 };
12509 };
12510 } = _menhir_stack in
12511 let rp : (
12512 # 81 "parser_cocci_menhir.mly"
12513 (Data.clt)
12514 # 12515 "parser_cocci_menhir.ml"
12515 ) = Obj.magic rp in
12516 let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
12517 let lp : (
12518 # 80 "parser_cocci_menhir.mly"
12519 (Data.clt)
12520 # 12521 "parser_cocci_menhir.ml"
12521 ) = Obj.magic lp in
12522 let _startpos = _startpos_lp_ in
12523 let _endpos = _endpos_rp_ in
12524 let _v : 'tv_ctype =
12525 # 613 "parser_cocci_menhir.mly"
12526 ( let (mids,code) = t in
12527 Ast0.wrap
12528 (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
12529 # 12530 "parser_cocci_menhir.ml"
12530 in
12531 _menhir_env.MenhirLib.EngineTypes.stack <- {
12532 MenhirLib.EngineTypes.state = _menhir_s;
12533 MenhirLib.EngineTypes.semv = Obj.repr _v;
12534 MenhirLib.EngineTypes.startp = _startpos;
12535 MenhirLib.EngineTypes.endp = _endpos;
12536 MenhirLib.EngineTypes.next = _menhir_stack;
12537 });
12538 (fun _menhir_env ->
12539 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12540 let {
12541 MenhirLib.EngineTypes.semv = _2;
12542 MenhirLib.EngineTypes.startp = _startpos__2_;
12543 MenhirLib.EngineTypes.endp = _endpos__2_;
12544 MenhirLib.EngineTypes.next = {
12545 MenhirLib.EngineTypes.state = _menhir_s;
12546 MenhirLib.EngineTypes.semv = _1;
12547 MenhirLib.EngineTypes.startp = _startpos__1_;
12548 MenhirLib.EngineTypes.endp = _endpos__1_;
12549 MenhirLib.EngineTypes.next = _menhir_stack;
12550 };
12551 } = _menhir_stack in
12552 let _2 : 'tv_list_array_dec_ = Obj.magic _2 in
12553 let _1 : 'tv_ident = Obj.magic _1 in
12554 let _startpos = _startpos__1_ in
12555 let _endpos = _endpos__2_ in
12556 let _v : 'tv_d_ident =
12557 # 1165 "parser_cocci_menhir.mly"
12558 ( (_1,
12559 function t ->
12560 List.fold_right
12561 (function (l,i,r) ->
12562 function rest ->
12563 Ast0.wrap
12564 (Ast0.Array(rest,P.clt2mcode "[" l,i,P.clt2mcode "]" r)))
12565 _2 t) )
12566 # 12567 "parser_cocci_menhir.ml"
12567 in
12568 _menhir_env.MenhirLib.EngineTypes.stack <- {
12569 MenhirLib.EngineTypes.state = _menhir_s;
12570 MenhirLib.EngineTypes.semv = Obj.repr _v;
12571 MenhirLib.EngineTypes.startp = _startpos;
12572 MenhirLib.EngineTypes.endp = _endpos;
12573 MenhirLib.EngineTypes.next = _menhir_stack;
12574 });
12575 (fun _menhir_env ->
12576 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12577 let {
12578 MenhirLib.EngineTypes.semv = i;
12579 MenhirLib.EngineTypes.startp = _startpos_i_;
12580 MenhirLib.EngineTypes.endp = _endpos_i_;
12581 MenhirLib.EngineTypes.next = {
12582 MenhirLib.EngineTypes.state = _menhir_s;
12583 MenhirLib.EngineTypes.semv = t;
12584 MenhirLib.EngineTypes.startp = _startpos_t_;
12585 MenhirLib.EngineTypes.endp = _endpos_t_;
12586 MenhirLib.EngineTypes.next = _menhir_stack;
12587 };
12588 } = _menhir_stack in
12589 let i : 'tv_ident = Obj.magic i in
12590 let t : 'tv_ctype = Obj.magic t in
12591 let _startpos = _startpos_t_ in
12592 let _endpos = _endpos_i_ in
12593 let _v : 'tv_decl =
12594 # 919 "parser_cocci_menhir.mly"
12595 ( Ast0.wrap(Ast0.Param(t, Some i)) )
12596 # 12597 "parser_cocci_menhir.ml"
12597 in
12598 _menhir_env.MenhirLib.EngineTypes.stack <- {
12599 MenhirLib.EngineTypes.state = _menhir_s;
12600 MenhirLib.EngineTypes.semv = Obj.repr _v;
12601 MenhirLib.EngineTypes.startp = _startpos;
12602 MenhirLib.EngineTypes.endp = _endpos;
12603 MenhirLib.EngineTypes.next = _menhir_stack;
12604 });
12605 (fun _menhir_env ->
12606 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12607 let {
12608 MenhirLib.EngineTypes.state = _menhir_s;
12609 MenhirLib.EngineTypes.semv = t;
12610 MenhirLib.EngineTypes.startp = _startpos_t_;
12611 MenhirLib.EngineTypes.endp = _endpos_t_;
12612 MenhirLib.EngineTypes.next = _menhir_stack;
12613 } = _menhir_stack in
12614 let t : 'tv_ctype = Obj.magic t in
12615 let _startpos = _startpos_t_ in
12616 let _endpos = _endpos_t_ in
12617 let _v : 'tv_decl =
12618 # 920 "parser_cocci_menhir.mly"
12619 ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) )
12620 # 12621 "parser_cocci_menhir.ml"
12621 in
12622 _menhir_env.MenhirLib.EngineTypes.stack <- {
12623 MenhirLib.EngineTypes.state = _menhir_s;
12624 MenhirLib.EngineTypes.semv = Obj.repr _v;
12625 MenhirLib.EngineTypes.startp = _startpos;
12626 MenhirLib.EngineTypes.endp = _endpos;
12627 MenhirLib.EngineTypes.next = _menhir_stack;
12628 });
12629 (fun _menhir_env ->
12630 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12631 let {
12632 MenhirLib.EngineTypes.semv = rp1;
12633 MenhirLib.EngineTypes.startp = _startpos_rp1_;
12634 MenhirLib.EngineTypes.endp = _endpos_rp1_;
12635 MenhirLib.EngineTypes.next = {
12636 MenhirLib.EngineTypes.semv = d;
12637 MenhirLib.EngineTypes.startp = _startpos_d_;
12638 MenhirLib.EngineTypes.endp = _endpos_d_;
12639 MenhirLib.EngineTypes.next = {
12640 MenhirLib.EngineTypes.semv = lp1;
12641 MenhirLib.EngineTypes.startp = _startpos_lp1_;
12642 MenhirLib.EngineTypes.endp = _endpos_lp1_;
12643 MenhirLib.EngineTypes.next = {
12644 MenhirLib.EngineTypes.semv = rp;
12645 MenhirLib.EngineTypes.startp = _startpos_rp_;
12646 MenhirLib.EngineTypes.endp = _endpos_rp_;
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.semv = s;
12653 MenhirLib.EngineTypes.startp = _startpos_s_;
12654 MenhirLib.EngineTypes.endp = _endpos_s_;
12655 MenhirLib.EngineTypes.next = {
12656 MenhirLib.EngineTypes.semv = lp;
12657 MenhirLib.EngineTypes.startp = _startpos_lp_;
12658 MenhirLib.EngineTypes.endp = _endpos_lp_;
12659 MenhirLib.EngineTypes.next = {
12660 MenhirLib.EngineTypes.state = _menhir_s;
12661 MenhirLib.EngineTypes.semv = t;
12662 MenhirLib.EngineTypes.startp = _startpos_t_;
12663 MenhirLib.EngineTypes.endp = _endpos_t_;
12664 MenhirLib.EngineTypes.next = _menhir_stack;
12665 };
12666 };
12667 };
12668 };
12669 };
12670 };
12671 };
12672 } = _menhir_stack in
12673 let rp1 : (
12674 # 81 "parser_cocci_menhir.mly"
12675 (Data.clt)
12676 # 12677 "parser_cocci_menhir.ml"
12677 ) = Obj.magic rp1 in
12678 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
12679 let lp1 : (
12680 # 80 "parser_cocci_menhir.mly"
12681 (Data.clt)
12682 # 12683 "parser_cocci_menhir.ml"
12683 ) = Obj.magic lp1 in
12684 let rp : (
12685 # 81 "parser_cocci_menhir.mly"
12686 (Data.clt)
12687 # 12688 "parser_cocci_menhir.ml"
12688 ) = Obj.magic rp in
12689 let i : 'tv_ident = Obj.magic i in
12690 let s : (
12691 # 103 "parser_cocci_menhir.mly"
12692 (Data.clt)
12693 # 12694 "parser_cocci_menhir.ml"
12694 ) = Obj.magic s in
12695 let lp : (
12696 # 80 "parser_cocci_menhir.mly"
12697 (Data.clt)
12698 # 12699 "parser_cocci_menhir.ml"
12699 ) = Obj.magic lp in
12700 let t : 'tv_ctype = Obj.magic t in
12701 let _startpos = _startpos_t_ in
12702 let _endpos = _endpos_rp1_ in
12703 let _v : 'tv_decl =
12704 # 923 "parser_cocci_menhir.mly"
12705 ( let fnptr =
12706 Ast0.wrap
12707 (Ast0.FunctionPointer
12708 (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
12709 P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
12710 Ast0.wrap(Ast0.Param(fnptr, Some i)) )
12711 # 12712 "parser_cocci_menhir.ml"
12712 in
12713 _menhir_env.MenhirLib.EngineTypes.stack <- {
12714 MenhirLib.EngineTypes.state = _menhir_s;
12715 MenhirLib.EngineTypes.semv = Obj.repr _v;
12716 MenhirLib.EngineTypes.startp = _startpos;
12717 MenhirLib.EngineTypes.endp = _endpos;
12718 MenhirLib.EngineTypes.next = _menhir_stack;
12719 });
12720 (fun _menhir_env ->
12721 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12722 let {
12723 MenhirLib.EngineTypes.state = _menhir_s;
12724 MenhirLib.EngineTypes.semv = _1;
12725 MenhirLib.EngineTypes.startp = _startpos__1_;
12726 MenhirLib.EngineTypes.endp = _endpos__1_;
12727 MenhirLib.EngineTypes.next = _menhir_stack;
12728 } = _menhir_stack in
12729 let _1 : (
12730 # 68 "parser_cocci_menhir.mly"
12731 (Parse_aux.info)
12732 # 12733 "parser_cocci_menhir.ml"
12733 ) = Obj.magic _1 in
12734 let _startpos = _startpos__1_ in
12735 let _endpos = _endpos__1_ in
12736 let _v : 'tv_decl =
12737 # 930 "parser_cocci_menhir.mly"
12738 ( let (nm,pure,clt) = _1 in
12739 Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
12740 # 12741 "parser_cocci_menhir.ml"
12741 in
12742 _menhir_env.MenhirLib.EngineTypes.stack <- {
12743 MenhirLib.EngineTypes.state = _menhir_s;
12744 MenhirLib.EngineTypes.semv = Obj.repr _v;
12745 MenhirLib.EngineTypes.startp = _startpos;
12746 MenhirLib.EngineTypes.endp = _endpos;
12747 MenhirLib.EngineTypes.next = _menhir_stack;
12748 });
12749 (fun _menhir_env ->
12750 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12751 let {
12752 MenhirLib.EngineTypes.state = _menhir_s;
12753 MenhirLib.EngineTypes.semv = _1;
12754 MenhirLib.EngineTypes.startp = _startpos__1_;
12755 MenhirLib.EngineTypes.endp = _endpos__1_;
12756 MenhirLib.EngineTypes.next = _menhir_stack;
12757 } = _menhir_stack in
12758 let _1 : (
12759 # 62 "parser_cocci_menhir.mly"
12760 (string * Data.clt)
12761 # 12762 "parser_cocci_menhir.ml"
12762 ) = Obj.magic _1 in
12763 let _startpos = _startpos__1_ in
12764 let _endpos = _endpos__1_ in
12765 let _v : 'tv_decl_ident =
12766 # 1793 "parser_cocci_menhir.mly"
12767 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
12768 # 12769 "parser_cocci_menhir.ml"
12769 in
12770 _menhir_env.MenhirLib.EngineTypes.stack <- {
12771 MenhirLib.EngineTypes.state = _menhir_s;
12772 MenhirLib.EngineTypes.semv = Obj.repr _v;
12773 MenhirLib.EngineTypes.startp = _startpos;
12774 MenhirLib.EngineTypes.endp = _endpos;
12775 MenhirLib.EngineTypes.next = _menhir_stack;
12776 });
12777 (fun _menhir_env ->
12778 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12779 let {
12780 MenhirLib.EngineTypes.state = _menhir_s;
12781 MenhirLib.EngineTypes.semv = _1;
12782 MenhirLib.EngineTypes.startp = _startpos__1_;
12783 MenhirLib.EngineTypes.endp = _endpos__1_;
12784 MenhirLib.EngineTypes.next = _menhir_stack;
12785 } = _menhir_stack in
12786 let _1 : (
12787 # 66 "parser_cocci_menhir.mly"
12788 (Parse_aux.idinfo)
12789 # 12790 "parser_cocci_menhir.ml"
12790 ) = Obj.magic _1 in
12791 let _startpos = _startpos__1_ in
12792 let _endpos = _endpos__1_ in
12793 let _v : 'tv_decl_ident =
12794 # 1795 "parser_cocci_menhir.mly"
12795 ( let (nm,constraints,pure,clt) = _1 in
12796 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
12797 # 12798 "parser_cocci_menhir.ml"
12798 in
12799 _menhir_env.MenhirLib.EngineTypes.stack <- {
12800 MenhirLib.EngineTypes.state = _menhir_s;
12801 MenhirLib.EngineTypes.semv = Obj.repr _v;
12802 MenhirLib.EngineTypes.startp = _startpos;
12803 MenhirLib.EngineTypes.endp = _endpos;
12804 MenhirLib.EngineTypes.next = _menhir_stack;
12805 });
12806 (fun _menhir_env ->
12807 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12808 let {
12809 MenhirLib.EngineTypes.state = _menhir_s;
12810 MenhirLib.EngineTypes.semv = _1;
12811 MenhirLib.EngineTypes.startp = _startpos__1_;
12812 MenhirLib.EngineTypes.endp = _endpos__1_;
12813 MenhirLib.EngineTypes.next = _menhir_stack;
12814 } = _menhir_stack in
12815 let _1 : 'tv_empty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _1 in
12816 let _startpos = _startpos__1_ in
12817 let _endpos = _endpos__1_ in
12818 let _v : 'tv_decl_list_decl_ =
12819 # 1816 "parser_cocci_menhir.mly"
12820 ( Ast0.wrap
12821 (Ast0.DOTS
12822 (_1
12823 (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d)))
12824 (fun c -> Ast0.PComma c))) )
12825 # 12826 "parser_cocci_menhir.ml"
12826 in
12827 _menhir_env.MenhirLib.EngineTypes.stack <- {
12828 MenhirLib.EngineTypes.state = _menhir_s;
12829 MenhirLib.EngineTypes.semv = Obj.repr _v;
12830 MenhirLib.EngineTypes.startp = _startpos;
12831 MenhirLib.EngineTypes.endp = _endpos;
12832 MenhirLib.EngineTypes.next = _menhir_stack;
12833 });
12834 (fun _menhir_env ->
12835 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12836 let {
12837 MenhirLib.EngineTypes.state = _menhir_s;
12838 MenhirLib.EngineTypes.semv = _1;
12839 MenhirLib.EngineTypes.startp = _startpos__1_;
12840 MenhirLib.EngineTypes.endp = _endpos__1_;
12841 MenhirLib.EngineTypes.next = _menhir_stack;
12842 } = _menhir_stack in
12843 let _1 : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _1 in
12844 let _startpos = _startpos__1_ in
12845 let _endpos = _endpos__1_ in
12846 let _v : 'tv_decl_list_name_opt_decl_ =
12847 # 1816 "parser_cocci_menhir.mly"
12848 ( Ast0.wrap
12849 (Ast0.DOTS
12850 (_1
12851 (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d)))
12852 (fun c -> Ast0.PComma c))) )
12853 # 12854 "parser_cocci_menhir.ml"
12854 in
12855 _menhir_env.MenhirLib.EngineTypes.stack <- {
12856 MenhirLib.EngineTypes.state = _menhir_s;
12857 MenhirLib.EngineTypes.semv = Obj.repr _v;
12858 MenhirLib.EngineTypes.startp = _startpos;
12859 MenhirLib.EngineTypes.endp = _endpos;
12860 MenhirLib.EngineTypes.next = _menhir_stack;
12861 });
12862 (fun _menhir_env ->
12863 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12864 let {
12865 MenhirLib.EngineTypes.state = _menhir_s;
12866 MenhirLib.EngineTypes.semv = _1;
12867 MenhirLib.EngineTypes.startp = _startpos__1_;
12868 MenhirLib.EngineTypes.endp = _endpos__1_;
12869 MenhirLib.EngineTypes.next = _menhir_stack;
12870 } = _menhir_stack in
12871 let _1 : (
12872 # 68 "parser_cocci_menhir.mly"
12873 (Parse_aux.info)
12874 # 12875 "parser_cocci_menhir.ml"
12875 ) = Obj.magic _1 in
12876 let _startpos = _startpos__1_ in
12877 let _endpos = _endpos__1_ in
12878 let _v : 'tv_decl_statement =
12879 # 1223 "parser_cocci_menhir.mly"
12880 ( let (nm,pure,clt) = _1 in
12881 [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
12882 # 12883 "parser_cocci_menhir.ml"
12883 in
12884 _menhir_env.MenhirLib.EngineTypes.stack <- {
12885 MenhirLib.EngineTypes.state = _menhir_s;
12886 MenhirLib.EngineTypes.semv = Obj.repr _v;
12887 MenhirLib.EngineTypes.startp = _startpos;
12888 MenhirLib.EngineTypes.endp = _endpos;
12889 MenhirLib.EngineTypes.next = _menhir_stack;
12890 });
12891 (fun _menhir_env ->
12892 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12893 let {
12894 MenhirLib.EngineTypes.state = _menhir_s;
12895 MenhirLib.EngineTypes.semv = _1;
12896 MenhirLib.EngineTypes.startp = _startpos__1_;
12897 MenhirLib.EngineTypes.endp = _endpos__1_;
12898 MenhirLib.EngineTypes.next = _menhir_stack;
12899 } = _menhir_stack in
12900 let _1 : 'tv_decl_var = Obj.magic _1 in
12901 let _startpos = _startpos__1_ in
12902 let _endpos = _endpos__1_ in
12903 let _v : 'tv_decl_statement =
12904 # 1226 "parser_cocci_menhir.mly"
12905 ( List.map
12906 (function x ->
12907 Ast0.wrap
12908 (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
12909 _1 )
12910 # 12911 "parser_cocci_menhir.ml"
12911 in
12912 _menhir_env.MenhirLib.EngineTypes.stack <- {
12913 MenhirLib.EngineTypes.state = _menhir_s;
12914 MenhirLib.EngineTypes.semv = Obj.repr _v;
12915 MenhirLib.EngineTypes.startp = _startpos;
12916 MenhirLib.EngineTypes.endp = _endpos;
12917 MenhirLib.EngineTypes.next = _menhir_stack;
12918 });
12919 (fun _menhir_env ->
12920 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12921 let {
12922 MenhirLib.EngineTypes.state = _menhir_s;
12923 MenhirLib.EngineTypes.semv = _1;
12924 MenhirLib.EngineTypes.startp = _startpos__1_;
12925 MenhirLib.EngineTypes.endp = _endpos__1_;
12926 MenhirLib.EngineTypes.next = _menhir_stack;
12927 } = _menhir_stack in
12928 let _1 : 'tv_statement = Obj.magic _1 in
12929 let _startpos = _startpos__1_ in
12930 let _endpos = _endpos__1_ in
12931 let _v : 'tv_decl_statement =
12932 # 1231 "parser_cocci_menhir.mly"
12933 ( [_1] )
12934 # 12935 "parser_cocci_menhir.ml"
12935 in
12936 _menhir_env.MenhirLib.EngineTypes.stack <- {
12937 MenhirLib.EngineTypes.state = _menhir_s;
12938 MenhirLib.EngineTypes.semv = Obj.repr _v;
12939 MenhirLib.EngineTypes.startp = _startpos;
12940 MenhirLib.EngineTypes.endp = _endpos;
12941 MenhirLib.EngineTypes.next = _menhir_stack;
12942 });
12943 (fun _menhir_env ->
12944 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12945 let {
12946 MenhirLib.EngineTypes.semv = _3;
12947 MenhirLib.EngineTypes.startp = _startpos__3_;
12948 MenhirLib.EngineTypes.endp = _endpos__3_;
12949 MenhirLib.EngineTypes.next = {
12950 MenhirLib.EngineTypes.semv = t;
12951 MenhirLib.EngineTypes.startp = _startpos_t_;
12952 MenhirLib.EngineTypes.endp = _endpos_t_;
12953 MenhirLib.EngineTypes.next = {
12954 MenhirLib.EngineTypes.state = _menhir_s;
12955 MenhirLib.EngineTypes.semv = _1;
12956 MenhirLib.EngineTypes.startp = _startpos__1_;
12957 MenhirLib.EngineTypes.endp = _endpos__1_;
12958 MenhirLib.EngineTypes.next = _menhir_stack;
12959 };
12960 };
12961 } = _menhir_stack in
12962 let _3 : (
12963 # 81 "parser_cocci_menhir.mly"
12964 (Data.clt)
12965 # 12966 "parser_cocci_menhir.ml"
12966 ) = Obj.magic _3 in
12967 let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in
12968 let _1 : (
12969 # 80 "parser_cocci_menhir.mly"
12970 (Data.clt)
12971 # 12972 "parser_cocci_menhir.ml"
12972 ) = Obj.magic _1 in
12973 let _startpos = _startpos__1_ in
12974 let _endpos = _endpos__3_ in
12975 let _v : 'tv_decl_statement =
12976 # 1240 "parser_cocci_menhir.mly"
12977 ( let (mids,code) = t in
12978 if List.for_all
12979 (function x ->
12980 match Ast0.unwrap x with Ast0.DOTS([]) -> true | _ -> false)
12981 code
12982 then []
12983 else
12984 [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, code, mids,
12985 P.clt2mcode ")" _3))] )
12986 # 12987 "parser_cocci_menhir.ml"
12987 in
12988 _menhir_env.MenhirLib.EngineTypes.stack <- {
12989 MenhirLib.EngineTypes.state = _menhir_s;
12990 MenhirLib.EngineTypes.semv = Obj.repr _v;
12991 MenhirLib.EngineTypes.startp = _startpos;
12992 MenhirLib.EngineTypes.endp = _endpos;
12993 MenhirLib.EngineTypes.next = _menhir_stack;
12994 });
12995 (fun _menhir_env ->
12996 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
12997 let {
12998 MenhirLib.EngineTypes.state = _menhir_s;
12999 MenhirLib.EngineTypes.semv = _1;
13000 MenhirLib.EngineTypes.startp = _startpos__1_;
13001 MenhirLib.EngineTypes.endp = _endpos__1_;
13002 MenhirLib.EngineTypes.next = _menhir_stack;
13003 } = _menhir_stack in
13004 let _1 : (
13005 # 68 "parser_cocci_menhir.mly"
13006 (Parse_aux.info)
13007 # 13008 "parser_cocci_menhir.ml"
13008 ) = Obj.magic _1 in
13009 let _startpos = _startpos__1_ in
13010 let _endpos = _endpos__1_ in
13011 let _v : 'tv_decl_statement_expr =
13012 # 1253 "parser_cocci_menhir.mly"
13013 ( let (nm,pure,clt) = _1 in
13014 [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
13015 # 13016 "parser_cocci_menhir.ml"
13016 in
13017 _menhir_env.MenhirLib.EngineTypes.stack <- {
13018 MenhirLib.EngineTypes.state = _menhir_s;
13019 MenhirLib.EngineTypes.semv = Obj.repr _v;
13020 MenhirLib.EngineTypes.startp = _startpos;
13021 MenhirLib.EngineTypes.endp = _endpos;
13022 MenhirLib.EngineTypes.next = _menhir_stack;
13023 });
13024 (fun _menhir_env ->
13025 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13026 let {
13027 MenhirLib.EngineTypes.state = _menhir_s;
13028 MenhirLib.EngineTypes.semv = _1;
13029 MenhirLib.EngineTypes.startp = _startpos__1_;
13030 MenhirLib.EngineTypes.endp = _endpos__1_;
13031 MenhirLib.EngineTypes.next = _menhir_stack;
13032 } = _menhir_stack in
13033 let _1 : 'tv_decl_var = Obj.magic _1 in
13034 let _startpos = _startpos__1_ in
13035 let _endpos = _endpos__1_ in
13036 let _v : 'tv_decl_statement_expr =
13037 # 1256 "parser_cocci_menhir.mly"
13038 ( List.map
13039 (function x ->
13040 Ast0.wrap
13041 (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
13042 _1 )
13043 # 13044 "parser_cocci_menhir.ml"
13044 in
13045 _menhir_env.MenhirLib.EngineTypes.stack <- {
13046 MenhirLib.EngineTypes.state = _menhir_s;
13047 MenhirLib.EngineTypes.semv = Obj.repr _v;
13048 MenhirLib.EngineTypes.startp = _startpos;
13049 MenhirLib.EngineTypes.endp = _endpos;
13050 MenhirLib.EngineTypes.next = _menhir_stack;
13051 });
13052 (fun _menhir_env ->
13053 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13054 let {
13055 MenhirLib.EngineTypes.state = _menhir_s;
13056 MenhirLib.EngineTypes.semv = _1;
13057 MenhirLib.EngineTypes.startp = _startpos__1_;
13058 MenhirLib.EngineTypes.endp = _endpos__1_;
13059 MenhirLib.EngineTypes.next = _menhir_stack;
13060 } = _menhir_stack in
13061 let _1 : 'tv_statement = Obj.magic _1 in
13062 let _startpos = _startpos__1_ in
13063 let _endpos = _endpos__1_ in
13064 let _v : 'tv_decl_statement_expr =
13065 # 1261 "parser_cocci_menhir.mly"
13066 ( [_1] )
13067 # 13068 "parser_cocci_menhir.ml"
13068 in
13069 _menhir_env.MenhirLib.EngineTypes.stack <- {
13070 MenhirLib.EngineTypes.state = _menhir_s;
13071 MenhirLib.EngineTypes.semv = Obj.repr _v;
13072 MenhirLib.EngineTypes.startp = _startpos;
13073 MenhirLib.EngineTypes.endp = _endpos;
13074 MenhirLib.EngineTypes.next = _menhir_stack;
13075 });
13076 (fun _menhir_env ->
13077 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13078 let {
13079 MenhirLib.EngineTypes.semv = _3;
13080 MenhirLib.EngineTypes.startp = _startpos__3_;
13081 MenhirLib.EngineTypes.endp = _endpos__3_;
13082 MenhirLib.EngineTypes.next = {
13083 MenhirLib.EngineTypes.semv = t;
13084 MenhirLib.EngineTypes.startp = _startpos_t_;
13085 MenhirLib.EngineTypes.endp = _endpos_t_;
13086 MenhirLib.EngineTypes.next = {
13087 MenhirLib.EngineTypes.state = _menhir_s;
13088 MenhirLib.EngineTypes.semv = _1;
13089 MenhirLib.EngineTypes.startp = _startpos__1_;
13090 MenhirLib.EngineTypes.endp = _endpos__1_;
13091 MenhirLib.EngineTypes.next = _menhir_stack;
13092 };
13093 };
13094 } = _menhir_stack in
13095 let _3 : (
13096 # 81 "parser_cocci_menhir.mly"
13097 (Data.clt)
13098 # 13099 "parser_cocci_menhir.ml"
13099 ) = Obj.magic _3 in
13100 let t : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = Obj.magic t in
13101 let _1 : (
13102 # 80 "parser_cocci_menhir.mly"
13103 (Data.clt)
13104 # 13105 "parser_cocci_menhir.ml"
13105 ) = Obj.magic _1 in
13106 let _startpos = _startpos__1_ in
13107 let _endpos = _endpos__3_ in
13108 let _v : 'tv_decl_statement_expr =
13109 # 1270 "parser_cocci_menhir.mly"
13110 ( let (mids,code) = t in
13111 if List.for_all (function [] -> true | _ -> false) code
13112 then []
13113 else
13114 let dot_code =
13115 List.map (function x -> Ast0.wrap(Ast0.DOTS x)) code in
13116 [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, dot_code, mids,
13117 P.clt2mcode ")" _3))] )
13118 # 13119 "parser_cocci_menhir.ml"
13119 in
13120 _menhir_env.MenhirLib.EngineTypes.stack <- {
13121 MenhirLib.EngineTypes.state = _menhir_s;
13122 MenhirLib.EngineTypes.semv = Obj.repr _v;
13123 MenhirLib.EngineTypes.startp = _startpos;
13124 MenhirLib.EngineTypes.endp = _endpos;
13125 MenhirLib.EngineTypes.next = _menhir_stack;
13126 });
13127 (fun _menhir_env ->
13128 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13129 let {
13130 MenhirLib.EngineTypes.semv = pv;
13131 MenhirLib.EngineTypes.startp = _startpos_pv_;
13132 MenhirLib.EngineTypes.endp = _endpos_pv_;
13133 MenhirLib.EngineTypes.next = {
13134 MenhirLib.EngineTypes.state = _menhir_s;
13135 MenhirLib.EngineTypes.semv = t;
13136 MenhirLib.EngineTypes.startp = _startpos_t_;
13137 MenhirLib.EngineTypes.endp = _endpos_t_;
13138 MenhirLib.EngineTypes.next = _menhir_stack;
13139 };
13140 } = _menhir_stack in
13141 let pv : (
13142 # 111 "parser_cocci_menhir.mly"
13143 (Data.clt)
13144 # 13145 "parser_cocci_menhir.ml"
13145 ) = Obj.magic pv in
13146 let t : 'tv_ctype = Obj.magic t in
13147 let _startpos = _startpos_t_ in
13148 let _endpos = _endpos_pv_ in
13149 let _v : 'tv_decl_var =
13150 # 1051 "parser_cocci_menhir.mly"
13151 ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] )
13152 # 13153 "parser_cocci_menhir.ml"
13153 in
13154 _menhir_env.MenhirLib.EngineTypes.stack <- {
13155 MenhirLib.EngineTypes.state = _menhir_s;
13156 MenhirLib.EngineTypes.semv = Obj.repr _v;
13157 MenhirLib.EngineTypes.startp = _startpos;
13158 MenhirLib.EngineTypes.endp = _endpos;
13159 MenhirLib.EngineTypes.next = _menhir_stack;
13160 });
13161 (fun _menhir_env ->
13162 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13163 let {
13164 MenhirLib.EngineTypes.state = _menhir_s;
13165 MenhirLib.EngineTypes.semv = _1;
13166 MenhirLib.EngineTypes.startp = _startpos__1_;
13167 MenhirLib.EngineTypes.endp = _endpos__1_;
13168 MenhirLib.EngineTypes.next = _menhir_stack;
13169 } = _menhir_stack in
13170 let _1 : (
13171 # 69 "parser_cocci_menhir.mly"
13172 (Parse_aux.info)
13173 # 13174 "parser_cocci_menhir.ml"
13174 ) = Obj.magic _1 in
13175 let _startpos = _startpos__1_ in
13176 let _endpos = _endpos__1_ in
13177 let _v : 'tv_decl_var =
13178 # 1052 "parser_cocci_menhir.mly"
13179 ( [P.meta_decl _1] )
13180 # 13181 "parser_cocci_menhir.ml"
13181 in
13182 _menhir_env.MenhirLib.EngineTypes.stack <- {
13183 MenhirLib.EngineTypes.state = _menhir_s;
13184 MenhirLib.EngineTypes.semv = Obj.repr _v;
13185 MenhirLib.EngineTypes.startp = _startpos;
13186 MenhirLib.EngineTypes.endp = _endpos;
13187 MenhirLib.EngineTypes.next = _menhir_stack;
13188 });
13189 (fun _menhir_env ->
13190 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13191 let {
13192 MenhirLib.EngineTypes.semv = pv;
13193 MenhirLib.EngineTypes.startp = _startpos_pv_;
13194 MenhirLib.EngineTypes.endp = _endpos_pv_;
13195 MenhirLib.EngineTypes.next = {
13196 MenhirLib.EngineTypes.semv = d;
13197 MenhirLib.EngineTypes.startp = _startpos_d_;
13198 MenhirLib.EngineTypes.endp = _endpos_d_;
13199 MenhirLib.EngineTypes.next = {
13200 MenhirLib.EngineTypes.state = _menhir_s;
13201 MenhirLib.EngineTypes.semv = t;
13202 MenhirLib.EngineTypes.startp = _startpos_t_;
13203 MenhirLib.EngineTypes.endp = _endpos_t_;
13204 MenhirLib.EngineTypes.next = _menhir_stack;
13205 };
13206 };
13207 } = _menhir_stack in
13208 let pv : (
13209 # 111 "parser_cocci_menhir.mly"
13210 (Data.clt)
13211 # 13212 "parser_cocci_menhir.ml"
13212 ) = Obj.magic pv in
13213 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
13214 let t : 'tv_ctype = Obj.magic t in
13215 let _startpos = _startpos_t_ in
13216 let _endpos = _endpos_pv_ in
13217 let _v : 'tv_decl_var = let s =
13218
13219 # 39 "standard.mly"
13220 ( None )
13221 # 13222 "parser_cocci_menhir.ml"
13222
13223 in
13224
13225 # 1054 "parser_cocci_menhir.mly"
13226 ( List.map
13227 (function (id,fn) ->
13228 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
13229 d )
13230 # 13231 "parser_cocci_menhir.ml"
13231 in
13232 _menhir_env.MenhirLib.EngineTypes.stack <- {
13233 MenhirLib.EngineTypes.state = _menhir_s;
13234 MenhirLib.EngineTypes.semv = Obj.repr _v;
13235 MenhirLib.EngineTypes.startp = _startpos;
13236 MenhirLib.EngineTypes.endp = _endpos;
13237 MenhirLib.EngineTypes.next = _menhir_stack;
13238 });
13239 (fun _menhir_env ->
13240 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13241 let {
13242 MenhirLib.EngineTypes.semv = pv;
13243 MenhirLib.EngineTypes.startp = _startpos_pv_;
13244 MenhirLib.EngineTypes.endp = _endpos_pv_;
13245 MenhirLib.EngineTypes.next = {
13246 MenhirLib.EngineTypes.semv = d;
13247 MenhirLib.EngineTypes.startp = _startpos_d_;
13248 MenhirLib.EngineTypes.endp = _endpos_d_;
13249 MenhirLib.EngineTypes.next = {
13250 MenhirLib.EngineTypes.semv = t;
13251 MenhirLib.EngineTypes.startp = _startpos_t_;
13252 MenhirLib.EngineTypes.endp = _endpos_t_;
13253 MenhirLib.EngineTypes.next = {
13254 MenhirLib.EngineTypes.state = _menhir_s;
13255 MenhirLib.EngineTypes.semv = x0;
13256 MenhirLib.EngineTypes.startp = _startpos_x0_;
13257 MenhirLib.EngineTypes.endp = _endpos_x0_;
13258 MenhirLib.EngineTypes.next = _menhir_stack;
13259 };
13260 };
13261 };
13262 } = _menhir_stack in
13263 let pv : (
13264 # 111 "parser_cocci_menhir.mly"
13265 (Data.clt)
13266 # 13267 "parser_cocci_menhir.ml"
13267 ) = Obj.magic pv in
13268 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
13269 let t : 'tv_ctype = Obj.magic t in
13270 let x0 : 'tv_storage = Obj.magic x0 in
13271 let _startpos = _startpos_x0_ in
13272 let _endpos = _endpos_pv_ in
13273 let _v : 'tv_decl_var = let s =
13274 let x = x0 in
13275
13276 # 41 "standard.mly"
13277 ( Some x )
13278 # 13279 "parser_cocci_menhir.ml"
13279
13280 in
13281
13282 # 1054 "parser_cocci_menhir.mly"
13283 ( List.map
13284 (function (id,fn) ->
13285 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
13286 d )
13287 # 13288 "parser_cocci_menhir.ml"
13288 in
13289 _menhir_env.MenhirLib.EngineTypes.stack <- {
13290 MenhirLib.EngineTypes.state = _menhir_s;
13291 MenhirLib.EngineTypes.semv = Obj.repr _v;
13292 MenhirLib.EngineTypes.startp = _startpos;
13293 MenhirLib.EngineTypes.endp = _endpos;
13294 MenhirLib.EngineTypes.next = _menhir_stack;
13295 });
13296 (fun _menhir_env ->
13297 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13298 let {
13299 MenhirLib.EngineTypes.state = _menhir_s;
13300 MenhirLib.EngineTypes.semv = f;
13301 MenhirLib.EngineTypes.startp = _startpos_f_;
13302 MenhirLib.EngineTypes.endp = _endpos_f_;
13303 MenhirLib.EngineTypes.next = _menhir_stack;
13304 } = _menhir_stack in
13305 let f : 'tv_funproto = Obj.magic f in
13306 let _startpos = _startpos_f_ in
13307 let _endpos = _endpos_f_ in
13308 let _v : 'tv_decl_var =
13309 # 1058 "parser_cocci_menhir.mly"
13310 ( [f] )
13311 # 13312 "parser_cocci_menhir.ml"
13312 in
13313 _menhir_env.MenhirLib.EngineTypes.stack <- {
13314 MenhirLib.EngineTypes.state = _menhir_s;
13315 MenhirLib.EngineTypes.semv = Obj.repr _v;
13316 MenhirLib.EngineTypes.startp = _startpos;
13317 MenhirLib.EngineTypes.endp = _endpos;
13318 MenhirLib.EngineTypes.next = _menhir_stack;
13319 });
13320 (fun _menhir_env ->
13321 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13322 let {
13323 MenhirLib.EngineTypes.semv = pv;
13324 MenhirLib.EngineTypes.startp = _startpos_pv_;
13325 MenhirLib.EngineTypes.endp = _endpos_pv_;
13326 MenhirLib.EngineTypes.next = {
13327 MenhirLib.EngineTypes.semv = e;
13328 MenhirLib.EngineTypes.startp = _startpos_e_;
13329 MenhirLib.EngineTypes.endp = _endpos_e_;
13330 MenhirLib.EngineTypes.next = {
13331 MenhirLib.EngineTypes.semv = q;
13332 MenhirLib.EngineTypes.startp = _startpos_q_;
13333 MenhirLib.EngineTypes.endp = _endpos_q_;
13334 MenhirLib.EngineTypes.next = {
13335 MenhirLib.EngineTypes.semv = d;
13336 MenhirLib.EngineTypes.startp = _startpos_d_;
13337 MenhirLib.EngineTypes.endp = _endpos_d_;
13338 MenhirLib.EngineTypes.next = {
13339 MenhirLib.EngineTypes.state = _menhir_s;
13340 MenhirLib.EngineTypes.semv = t;
13341 MenhirLib.EngineTypes.startp = _startpos_t_;
13342 MenhirLib.EngineTypes.endp = _endpos_t_;
13343 MenhirLib.EngineTypes.next = _menhir_stack;
13344 };
13345 };
13346 };
13347 };
13348 } = _menhir_stack in
13349 let pv : (
13350 # 111 "parser_cocci_menhir.mly"
13351 (Data.clt)
13352 # 13353 "parser_cocci_menhir.ml"
13353 ) = Obj.magic pv in
13354 let e : 'tv_initialize = Obj.magic e in
13355 let q : (
13356 # 111 "parser_cocci_menhir.mly"
13357 (Data.clt)
13358 # 13359 "parser_cocci_menhir.ml"
13359 ) = Obj.magic q in
13360 let d : 'tv_d_ident = Obj.magic d in
13361 let t : 'tv_ctype = Obj.magic t in
13362 let _startpos = _startpos_t_ in
13363 let _endpos = _endpos_pv_ in
13364 let _v : 'tv_decl_var = let s =
13365
13366 # 39 "standard.mly"
13367 ( None )
13368 # 13369 "parser_cocci_menhir.ml"
13369
13370 in
13371
13372 # 1060 "parser_cocci_menhir.mly"
13373 (let (id,fn) = d in
13374 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
13375 # 13376 "parser_cocci_menhir.ml"
13376 in
13377 _menhir_env.MenhirLib.EngineTypes.stack <- {
13378 MenhirLib.EngineTypes.state = _menhir_s;
13379 MenhirLib.EngineTypes.semv = Obj.repr _v;
13380 MenhirLib.EngineTypes.startp = _startpos;
13381 MenhirLib.EngineTypes.endp = _endpos;
13382 MenhirLib.EngineTypes.next = _menhir_stack;
13383 });
13384 (fun _menhir_env ->
13385 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13386 let {
13387 MenhirLib.EngineTypes.semv = pv;
13388 MenhirLib.EngineTypes.startp = _startpos_pv_;
13389 MenhirLib.EngineTypes.endp = _endpos_pv_;
13390 MenhirLib.EngineTypes.next = {
13391 MenhirLib.EngineTypes.semv = e;
13392 MenhirLib.EngineTypes.startp = _startpos_e_;
13393 MenhirLib.EngineTypes.endp = _endpos_e_;
13394 MenhirLib.EngineTypes.next = {
13395 MenhirLib.EngineTypes.semv = q;
13396 MenhirLib.EngineTypes.startp = _startpos_q_;
13397 MenhirLib.EngineTypes.endp = _endpos_q_;
13398 MenhirLib.EngineTypes.next = {
13399 MenhirLib.EngineTypes.semv = d;
13400 MenhirLib.EngineTypes.startp = _startpos_d_;
13401 MenhirLib.EngineTypes.endp = _endpos_d_;
13402 MenhirLib.EngineTypes.next = {
13403 MenhirLib.EngineTypes.semv = t;
13404 MenhirLib.EngineTypes.startp = _startpos_t_;
13405 MenhirLib.EngineTypes.endp = _endpos_t_;
13406 MenhirLib.EngineTypes.next = {
13407 MenhirLib.EngineTypes.state = _menhir_s;
13408 MenhirLib.EngineTypes.semv = x0;
13409 MenhirLib.EngineTypes.startp = _startpos_x0_;
13410 MenhirLib.EngineTypes.endp = _endpos_x0_;
13411 MenhirLib.EngineTypes.next = _menhir_stack;
13412 };
13413 };
13414 };
13415 };
13416 };
13417 } = _menhir_stack in
13418 let pv : (
13419 # 111 "parser_cocci_menhir.mly"
13420 (Data.clt)
13421 # 13422 "parser_cocci_menhir.ml"
13422 ) = Obj.magic pv in
13423 let e : 'tv_initialize = Obj.magic e in
13424 let q : (
13425 # 111 "parser_cocci_menhir.mly"
13426 (Data.clt)
13427 # 13428 "parser_cocci_menhir.ml"
13428 ) = Obj.magic q in
13429 let d : 'tv_d_ident = Obj.magic d in
13430 let t : 'tv_ctype = Obj.magic t in
13431 let x0 : 'tv_storage = Obj.magic x0 in
13432 let _startpos = _startpos_x0_ in
13433 let _endpos = _endpos_pv_ in
13434 let _v : 'tv_decl_var = let s =
13435 let x = x0 in
13436
13437 # 41 "standard.mly"
13438 ( Some x )
13439 # 13440 "parser_cocci_menhir.ml"
13440
13441 in
13442
13443 # 1060 "parser_cocci_menhir.mly"
13444 (let (id,fn) = d in
13445 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
13446 # 13447 "parser_cocci_menhir.ml"
13447 in
13448 _menhir_env.MenhirLib.EngineTypes.stack <- {
13449 MenhirLib.EngineTypes.state = _menhir_s;
13450 MenhirLib.EngineTypes.semv = Obj.repr _v;
13451 MenhirLib.EngineTypes.startp = _startpos;
13452 MenhirLib.EngineTypes.endp = _endpos;
13453 MenhirLib.EngineTypes.next = _menhir_stack;
13454 });
13455 (fun _menhir_env ->
13456 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13457 let {
13458 MenhirLib.EngineTypes.semv = pv;
13459 MenhirLib.EngineTypes.startp = _startpos_pv_;
13460 MenhirLib.EngineTypes.endp = _endpos_pv_;
13461 MenhirLib.EngineTypes.next = {
13462 MenhirLib.EngineTypes.semv = d;
13463 MenhirLib.EngineTypes.startp = _startpos_d_;
13464 MenhirLib.EngineTypes.endp = _endpos_d_;
13465 MenhirLib.EngineTypes.next = {
13466 MenhirLib.EngineTypes.state = _menhir_s;
13467 MenhirLib.EngineTypes.semv = i;
13468 MenhirLib.EngineTypes.startp = _startpos_i_;
13469 MenhirLib.EngineTypes.endp = _endpos_i_;
13470 MenhirLib.EngineTypes.next = _menhir_stack;
13471 };
13472 };
13473 } = _menhir_stack in
13474 let pv : (
13475 # 111 "parser_cocci_menhir.mly"
13476 (Data.clt)
13477 # 13478 "parser_cocci_menhir.ml"
13478 ) = Obj.magic pv in
13479 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
13480 let i : 'tv_pure_ident = Obj.magic i in
13481 let _startpos = _startpos_i_ in
13482 let _endpos = _endpos_pv_ in
13483 let _v : 'tv_decl_var = let cv =
13484
13485 # 39 "standard.mly"
13486 ( None )
13487 # 13488 "parser_cocci_menhir.ml"
13488
13489 in
13490 let s =
13491
13492 # 39 "standard.mly"
13493 ( None )
13494 # 13495 "parser_cocci_menhir.ml"
13495
13496 in
13497
13498 # 1065 "parser_cocci_menhir.mly"
13499 ( List.map
13500 (function (id,fn) ->
13501 let idtype =
13502 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
13503 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
13504 d )
13505 # 13506 "parser_cocci_menhir.ml"
13506 in
13507 _menhir_env.MenhirLib.EngineTypes.stack <- {
13508 MenhirLib.EngineTypes.state = _menhir_s;
13509 MenhirLib.EngineTypes.semv = Obj.repr _v;
13510 MenhirLib.EngineTypes.startp = _startpos;
13511 MenhirLib.EngineTypes.endp = _endpos;
13512 MenhirLib.EngineTypes.next = _menhir_stack;
13513 });
13514 (fun _menhir_env ->
13515 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13516 let {
13517 MenhirLib.EngineTypes.semv = pv;
13518 MenhirLib.EngineTypes.startp = _startpos_pv_;
13519 MenhirLib.EngineTypes.endp = _endpos_pv_;
13520 MenhirLib.EngineTypes.next = {
13521 MenhirLib.EngineTypes.semv = d;
13522 MenhirLib.EngineTypes.startp = _startpos_d_;
13523 MenhirLib.EngineTypes.endp = _endpos_d_;
13524 MenhirLib.EngineTypes.next = {
13525 MenhirLib.EngineTypes.semv = i;
13526 MenhirLib.EngineTypes.startp = _startpos_i_;
13527 MenhirLib.EngineTypes.endp = _endpos_i_;
13528 MenhirLib.EngineTypes.next = {
13529 MenhirLib.EngineTypes.state = _menhir_s;
13530 MenhirLib.EngineTypes.semv = x0;
13531 MenhirLib.EngineTypes.startp = _startpos_x0_;
13532 MenhirLib.EngineTypes.endp = _endpos_x0_;
13533 MenhirLib.EngineTypes.next = _menhir_stack;
13534 };
13535 };
13536 };
13537 } = _menhir_stack in
13538 let pv : (
13539 # 111 "parser_cocci_menhir.mly"
13540 (Data.clt)
13541 # 13542 "parser_cocci_menhir.ml"
13542 ) = Obj.magic pv in
13543 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
13544 let i : 'tv_pure_ident = Obj.magic i in
13545 let x0 : 'tv_const_vol = Obj.magic x0 in
13546 let _startpos = _startpos_x0_ in
13547 let _endpos = _endpos_pv_ in
13548 let _v : 'tv_decl_var = let cv =
13549 let x = x0 in
13550
13551 # 41 "standard.mly"
13552 ( Some x )
13553 # 13554 "parser_cocci_menhir.ml"
13554
13555 in
13556 let s =
13557
13558 # 39 "standard.mly"
13559 ( None )
13560 # 13561 "parser_cocci_menhir.ml"
13561
13562 in
13563
13564 # 1065 "parser_cocci_menhir.mly"
13565 ( List.map
13566 (function (id,fn) ->
13567 let idtype =
13568 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
13569 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
13570 d )
13571 # 13572 "parser_cocci_menhir.ml"
13572 in
13573 _menhir_env.MenhirLib.EngineTypes.stack <- {
13574 MenhirLib.EngineTypes.state = _menhir_s;
13575 MenhirLib.EngineTypes.semv = Obj.repr _v;
13576 MenhirLib.EngineTypes.startp = _startpos;
13577 MenhirLib.EngineTypes.endp = _endpos;
13578 MenhirLib.EngineTypes.next = _menhir_stack;
13579 });
13580 (fun _menhir_env ->
13581 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13582 let {
13583 MenhirLib.EngineTypes.semv = pv;
13584 MenhirLib.EngineTypes.startp = _startpos_pv_;
13585 MenhirLib.EngineTypes.endp = _endpos_pv_;
13586 MenhirLib.EngineTypes.next = {
13587 MenhirLib.EngineTypes.semv = d;
13588 MenhirLib.EngineTypes.startp = _startpos_d_;
13589 MenhirLib.EngineTypes.endp = _endpos_d_;
13590 MenhirLib.EngineTypes.next = {
13591 MenhirLib.EngineTypes.semv = i;
13592 MenhirLib.EngineTypes.startp = _startpos_i_;
13593 MenhirLib.EngineTypes.endp = _endpos_i_;
13594 MenhirLib.EngineTypes.next = {
13595 MenhirLib.EngineTypes.state = _menhir_s;
13596 MenhirLib.EngineTypes.semv = x0;
13597 MenhirLib.EngineTypes.startp = _startpos_x0_;
13598 MenhirLib.EngineTypes.endp = _endpos_x0_;
13599 MenhirLib.EngineTypes.next = _menhir_stack;
13600 };
13601 };
13602 };
13603 } = _menhir_stack in
13604 let pv : (
13605 # 111 "parser_cocci_menhir.mly"
13606 (Data.clt)
13607 # 13608 "parser_cocci_menhir.ml"
13608 ) = Obj.magic pv in
13609 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
13610 let i : 'tv_pure_ident = Obj.magic i in
13611 let x0 : 'tv_storage = Obj.magic x0 in
13612 let _startpos = _startpos_x0_ in
13613 let _endpos = _endpos_pv_ in
13614 let _v : 'tv_decl_var = let cv =
13615
13616 # 39 "standard.mly"
13617 ( None )
13618 # 13619 "parser_cocci_menhir.ml"
13619
13620 in
13621 let s =
13622 let x = x0 in
13623
13624 # 41 "standard.mly"
13625 ( Some x )
13626 # 13627 "parser_cocci_menhir.ml"
13627
13628 in
13629
13630 # 1065 "parser_cocci_menhir.mly"
13631 ( List.map
13632 (function (id,fn) ->
13633 let idtype =
13634 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
13635 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
13636 d )
13637 # 13638 "parser_cocci_menhir.ml"
13638 in
13639 _menhir_env.MenhirLib.EngineTypes.stack <- {
13640 MenhirLib.EngineTypes.state = _menhir_s;
13641 MenhirLib.EngineTypes.semv = Obj.repr _v;
13642 MenhirLib.EngineTypes.startp = _startpos;
13643 MenhirLib.EngineTypes.endp = _endpos;
13644 MenhirLib.EngineTypes.next = _menhir_stack;
13645 });
13646 (fun _menhir_env ->
13647 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13648 let {
13649 MenhirLib.EngineTypes.semv = pv;
13650 MenhirLib.EngineTypes.startp = _startpos_pv_;
13651 MenhirLib.EngineTypes.endp = _endpos_pv_;
13652 MenhirLib.EngineTypes.next = {
13653 MenhirLib.EngineTypes.semv = d;
13654 MenhirLib.EngineTypes.startp = _startpos_d_;
13655 MenhirLib.EngineTypes.endp = _endpos_d_;
13656 MenhirLib.EngineTypes.next = {
13657 MenhirLib.EngineTypes.semv = i;
13658 MenhirLib.EngineTypes.startp = _startpos_i_;
13659 MenhirLib.EngineTypes.endp = _endpos_i_;
13660 MenhirLib.EngineTypes.next = {
13661 MenhirLib.EngineTypes.semv = x1;
13662 MenhirLib.EngineTypes.startp = _startpos_x1_;
13663 MenhirLib.EngineTypes.endp = _endpos_x1_;
13664 MenhirLib.EngineTypes.next = {
13665 MenhirLib.EngineTypes.state = _menhir_s;
13666 MenhirLib.EngineTypes.semv = x0;
13667 MenhirLib.EngineTypes.startp = _startpos_x0_;
13668 MenhirLib.EngineTypes.endp = _endpos_x0_;
13669 MenhirLib.EngineTypes.next = _menhir_stack;
13670 };
13671 };
13672 };
13673 };
13674 } = _menhir_stack in
13675 let pv : (
13676 # 111 "parser_cocci_menhir.mly"
13677 (Data.clt)
13678 # 13679 "parser_cocci_menhir.ml"
13679 ) = Obj.magic pv in
13680 let d : 'tv_comma_list_d_ident_ = Obj.magic d in
13681 let i : 'tv_pure_ident = Obj.magic i in
13682 let x1 : 'tv_const_vol = Obj.magic x1 in
13683 let x0 : 'tv_storage = Obj.magic x0 in
13684 let _startpos = _startpos_x0_ in
13685 let _endpos = _endpos_pv_ in
13686 let _v : 'tv_decl_var = let cv =
13687 let x = x1 in
13688
13689 # 41 "standard.mly"
13690 ( Some x )
13691 # 13692 "parser_cocci_menhir.ml"
13692
13693 in
13694 let s =
13695 let x = x0 in
13696
13697 # 41 "standard.mly"
13698 ( Some x )
13699 # 13700 "parser_cocci_menhir.ml"
13700
13701 in
13702
13703 # 1065 "parser_cocci_menhir.mly"
13704 ( List.map
13705 (function (id,fn) ->
13706 let idtype =
13707 P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
13708 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
13709 d )
13710 # 13711 "parser_cocci_menhir.ml"
13711 in
13712 _menhir_env.MenhirLib.EngineTypes.stack <- {
13713 MenhirLib.EngineTypes.state = _menhir_s;
13714 MenhirLib.EngineTypes.semv = Obj.repr _v;
13715 MenhirLib.EngineTypes.startp = _startpos;
13716 MenhirLib.EngineTypes.endp = _endpos;
13717 MenhirLib.EngineTypes.next = _menhir_stack;
13718 });
13719 (fun _menhir_env ->
13720 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13721 let {
13722 MenhirLib.EngineTypes.semv = pv;
13723 MenhirLib.EngineTypes.startp = _startpos_pv_;
13724 MenhirLib.EngineTypes.endp = _endpos_pv_;
13725 MenhirLib.EngineTypes.next = {
13726 MenhirLib.EngineTypes.semv = e;
13727 MenhirLib.EngineTypes.startp = _startpos_e_;
13728 MenhirLib.EngineTypes.endp = _endpos_e_;
13729 MenhirLib.EngineTypes.next = {
13730 MenhirLib.EngineTypes.semv = q;
13731 MenhirLib.EngineTypes.startp = _startpos_q_;
13732 MenhirLib.EngineTypes.endp = _endpos_q_;
13733 MenhirLib.EngineTypes.next = {
13734 MenhirLib.EngineTypes.semv = d;
13735 MenhirLib.EngineTypes.startp = _startpos_d_;
13736 MenhirLib.EngineTypes.endp = _endpos_d_;
13737 MenhirLib.EngineTypes.next = {
13738 MenhirLib.EngineTypes.state = _menhir_s;
13739 MenhirLib.EngineTypes.semv = i;
13740 MenhirLib.EngineTypes.startp = _startpos_i_;
13741 MenhirLib.EngineTypes.endp = _endpos_i_;
13742 MenhirLib.EngineTypes.next = _menhir_stack;
13743 };
13744 };
13745 };
13746 };
13747 } = _menhir_stack in
13748 let pv : (
13749 # 111 "parser_cocci_menhir.mly"
13750 (Data.clt)
13751 # 13752 "parser_cocci_menhir.ml"
13752 ) = Obj.magic pv in
13753 let e : 'tv_initialize = Obj.magic e in
13754 let q : (
13755 # 111 "parser_cocci_menhir.mly"
13756 (Data.clt)
13757 # 13758 "parser_cocci_menhir.ml"
13758 ) = Obj.magic q in
13759 let d : 'tv_d_ident = Obj.magic d in
13760 let i : 'tv_pure_ident = Obj.magic i in
13761 let _startpos = _startpos_i_ in
13762 let _endpos = _endpos_pv_ in
13763 let _v : 'tv_decl_var = let cv =
13764
13765 # 39 "standard.mly"
13766 ( None )
13767 # 13768 "parser_cocci_menhir.ml"
13768
13769 in
13770 let s =
13771
13772 # 39 "standard.mly"
13773 ( None )
13774 # 13775 "parser_cocci_menhir.ml"
13775
13776 in
13777
13778 # 1073 "parser_cocci_menhir.mly"
13779 ( let (id,fn) = d in
13780 !Data.add_type_name (P.id2name i);
13781 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
13782 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
13783 P.clt2mcode ";" pv))] )
13784 # 13785 "parser_cocci_menhir.ml"
13785 in
13786 _menhir_env.MenhirLib.EngineTypes.stack <- {
13787 MenhirLib.EngineTypes.state = _menhir_s;
13788 MenhirLib.EngineTypes.semv = Obj.repr _v;
13789 MenhirLib.EngineTypes.startp = _startpos;
13790 MenhirLib.EngineTypes.endp = _endpos;
13791 MenhirLib.EngineTypes.next = _menhir_stack;
13792 });
13793 (fun _menhir_env ->
13794 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13795 let {
13796 MenhirLib.EngineTypes.semv = pv;
13797 MenhirLib.EngineTypes.startp = _startpos_pv_;
13798 MenhirLib.EngineTypes.endp = _endpos_pv_;
13799 MenhirLib.EngineTypes.next = {
13800 MenhirLib.EngineTypes.semv = e;
13801 MenhirLib.EngineTypes.startp = _startpos_e_;
13802 MenhirLib.EngineTypes.endp = _endpos_e_;
13803 MenhirLib.EngineTypes.next = {
13804 MenhirLib.EngineTypes.semv = q;
13805 MenhirLib.EngineTypes.startp = _startpos_q_;
13806 MenhirLib.EngineTypes.endp = _endpos_q_;
13807 MenhirLib.EngineTypes.next = {
13808 MenhirLib.EngineTypes.semv = d;
13809 MenhirLib.EngineTypes.startp = _startpos_d_;
13810 MenhirLib.EngineTypes.endp = _endpos_d_;
13811 MenhirLib.EngineTypes.next = {
13812 MenhirLib.EngineTypes.semv = i;
13813 MenhirLib.EngineTypes.startp = _startpos_i_;
13814 MenhirLib.EngineTypes.endp = _endpos_i_;
13815 MenhirLib.EngineTypes.next = {
13816 MenhirLib.EngineTypes.state = _menhir_s;
13817 MenhirLib.EngineTypes.semv = x0;
13818 MenhirLib.EngineTypes.startp = _startpos_x0_;
13819 MenhirLib.EngineTypes.endp = _endpos_x0_;
13820 MenhirLib.EngineTypes.next = _menhir_stack;
13821 };
13822 };
13823 };
13824 };
13825 };
13826 } = _menhir_stack in
13827 let pv : (
13828 # 111 "parser_cocci_menhir.mly"
13829 (Data.clt)
13830 # 13831 "parser_cocci_menhir.ml"
13831 ) = Obj.magic pv in
13832 let e : 'tv_initialize = Obj.magic e in
13833 let q : (
13834 # 111 "parser_cocci_menhir.mly"
13835 (Data.clt)
13836 # 13837 "parser_cocci_menhir.ml"
13837 ) = Obj.magic q in
13838 let d : 'tv_d_ident = Obj.magic d in
13839 let i : 'tv_pure_ident = Obj.magic i in
13840 let x0 : 'tv_const_vol = Obj.magic x0 in
13841 let _startpos = _startpos_x0_ in
13842 let _endpos = _endpos_pv_ in
13843 let _v : 'tv_decl_var = let cv =
13844 let x = x0 in
13845
13846 # 41 "standard.mly"
13847 ( Some x )
13848 # 13849 "parser_cocci_menhir.ml"
13849
13850 in
13851 let s =
13852
13853 # 39 "standard.mly"
13854 ( None )
13855 # 13856 "parser_cocci_menhir.ml"
13856
13857 in
13858
13859 # 1073 "parser_cocci_menhir.mly"
13860 ( let (id,fn) = d in
13861 !Data.add_type_name (P.id2name i);
13862 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
13863 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
13864 P.clt2mcode ";" pv))] )
13865 # 13866 "parser_cocci_menhir.ml"
13866 in
13867 _menhir_env.MenhirLib.EngineTypes.stack <- {
13868 MenhirLib.EngineTypes.state = _menhir_s;
13869 MenhirLib.EngineTypes.semv = Obj.repr _v;
13870 MenhirLib.EngineTypes.startp = _startpos;
13871 MenhirLib.EngineTypes.endp = _endpos;
13872 MenhirLib.EngineTypes.next = _menhir_stack;
13873 });
13874 (fun _menhir_env ->
13875 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13876 let {
13877 MenhirLib.EngineTypes.semv = pv;
13878 MenhirLib.EngineTypes.startp = _startpos_pv_;
13879 MenhirLib.EngineTypes.endp = _endpos_pv_;
13880 MenhirLib.EngineTypes.next = {
13881 MenhirLib.EngineTypes.semv = e;
13882 MenhirLib.EngineTypes.startp = _startpos_e_;
13883 MenhirLib.EngineTypes.endp = _endpos_e_;
13884 MenhirLib.EngineTypes.next = {
13885 MenhirLib.EngineTypes.semv = q;
13886 MenhirLib.EngineTypes.startp = _startpos_q_;
13887 MenhirLib.EngineTypes.endp = _endpos_q_;
13888 MenhirLib.EngineTypes.next = {
13889 MenhirLib.EngineTypes.semv = d;
13890 MenhirLib.EngineTypes.startp = _startpos_d_;
13891 MenhirLib.EngineTypes.endp = _endpos_d_;
13892 MenhirLib.EngineTypes.next = {
13893 MenhirLib.EngineTypes.semv = i;
13894 MenhirLib.EngineTypes.startp = _startpos_i_;
13895 MenhirLib.EngineTypes.endp = _endpos_i_;
13896 MenhirLib.EngineTypes.next = {
13897 MenhirLib.EngineTypes.state = _menhir_s;
13898 MenhirLib.EngineTypes.semv = x0;
13899 MenhirLib.EngineTypes.startp = _startpos_x0_;
13900 MenhirLib.EngineTypes.endp = _endpos_x0_;
13901 MenhirLib.EngineTypes.next = _menhir_stack;
13902 };
13903 };
13904 };
13905 };
13906 };
13907 } = _menhir_stack in
13908 let pv : (
13909 # 111 "parser_cocci_menhir.mly"
13910 (Data.clt)
13911 # 13912 "parser_cocci_menhir.ml"
13912 ) = Obj.magic pv in
13913 let e : 'tv_initialize = Obj.magic e in
13914 let q : (
13915 # 111 "parser_cocci_menhir.mly"
13916 (Data.clt)
13917 # 13918 "parser_cocci_menhir.ml"
13918 ) = Obj.magic q in
13919 let d : 'tv_d_ident = Obj.magic d in
13920 let i : 'tv_pure_ident = Obj.magic i in
13921 let x0 : 'tv_storage = Obj.magic x0 in
13922 let _startpos = _startpos_x0_ in
13923 let _endpos = _endpos_pv_ in
13924 let _v : 'tv_decl_var = let cv =
13925
13926 # 39 "standard.mly"
13927 ( None )
13928 # 13929 "parser_cocci_menhir.ml"
13929
13930 in
13931 let s =
13932 let x = x0 in
13933
13934 # 41 "standard.mly"
13935 ( Some x )
13936 # 13937 "parser_cocci_menhir.ml"
13937
13938 in
13939
13940 # 1073 "parser_cocci_menhir.mly"
13941 ( let (id,fn) = d in
13942 !Data.add_type_name (P.id2name i);
13943 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
13944 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
13945 P.clt2mcode ";" pv))] )
13946 # 13947 "parser_cocci_menhir.ml"
13947 in
13948 _menhir_env.MenhirLib.EngineTypes.stack <- {
13949 MenhirLib.EngineTypes.state = _menhir_s;
13950 MenhirLib.EngineTypes.semv = Obj.repr _v;
13951 MenhirLib.EngineTypes.startp = _startpos;
13952 MenhirLib.EngineTypes.endp = _endpos;
13953 MenhirLib.EngineTypes.next = _menhir_stack;
13954 });
13955 (fun _menhir_env ->
13956 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
13957 let {
13958 MenhirLib.EngineTypes.semv = pv;
13959 MenhirLib.EngineTypes.startp = _startpos_pv_;
13960 MenhirLib.EngineTypes.endp = _endpos_pv_;
13961 MenhirLib.EngineTypes.next = {
13962 MenhirLib.EngineTypes.semv = e;
13963 MenhirLib.EngineTypes.startp = _startpos_e_;
13964 MenhirLib.EngineTypes.endp = _endpos_e_;
13965 MenhirLib.EngineTypes.next = {
13966 MenhirLib.EngineTypes.semv = q;
13967 MenhirLib.EngineTypes.startp = _startpos_q_;
13968 MenhirLib.EngineTypes.endp = _endpos_q_;
13969 MenhirLib.EngineTypes.next = {
13970 MenhirLib.EngineTypes.semv = d;
13971 MenhirLib.EngineTypes.startp = _startpos_d_;
13972 MenhirLib.EngineTypes.endp = _endpos_d_;
13973 MenhirLib.EngineTypes.next = {
13974 MenhirLib.EngineTypes.semv = i;
13975 MenhirLib.EngineTypes.startp = _startpos_i_;
13976 MenhirLib.EngineTypes.endp = _endpos_i_;
13977 MenhirLib.EngineTypes.next = {
13978 MenhirLib.EngineTypes.semv = x1;
13979 MenhirLib.EngineTypes.startp = _startpos_x1_;
13980 MenhirLib.EngineTypes.endp = _endpos_x1_;
13981 MenhirLib.EngineTypes.next = {
13982 MenhirLib.EngineTypes.state = _menhir_s;
13983 MenhirLib.EngineTypes.semv = x0;
13984 MenhirLib.EngineTypes.startp = _startpos_x0_;
13985 MenhirLib.EngineTypes.endp = _endpos_x0_;
13986 MenhirLib.EngineTypes.next = _menhir_stack;
13987 };
13988 };
13989 };
13990 };
13991 };
13992 };
13993 } = _menhir_stack in
13994 let pv : (
13995 # 111 "parser_cocci_menhir.mly"
13996 (Data.clt)
13997 # 13998 "parser_cocci_menhir.ml"
13998 ) = Obj.magic pv in
13999 let e : 'tv_initialize = Obj.magic e in
14000 let q : (
14001 # 111 "parser_cocci_menhir.mly"
14002 (Data.clt)
14003 # 14004 "parser_cocci_menhir.ml"
14004 ) = Obj.magic q in
14005 let d : 'tv_d_ident = Obj.magic d in
14006 let i : 'tv_pure_ident = Obj.magic i in
14007 let x1 : 'tv_const_vol = Obj.magic x1 in
14008 let x0 : 'tv_storage = Obj.magic x0 in
14009 let _startpos = _startpos_x0_ in
14010 let _endpos = _endpos_pv_ in
14011 let _v : 'tv_decl_var = let cv =
14012 let x = x1 in
14013
14014 # 41 "standard.mly"
14015 ( Some x )
14016 # 14017 "parser_cocci_menhir.ml"
14017
14018 in
14019 let s =
14020 let x = x0 in
14021
14022 # 41 "standard.mly"
14023 ( Some x )
14024 # 14025 "parser_cocci_menhir.ml"
14025
14026 in
14027
14028 # 1073 "parser_cocci_menhir.mly"
14029 ( let (id,fn) = d in
14030 !Data.add_type_name (P.id2name i);
14031 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
14032 [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
14033 P.clt2mcode ";" pv))] )
14034 # 14035 "parser_cocci_menhir.ml"
14035 in
14036 _menhir_env.MenhirLib.EngineTypes.stack <- {
14037 MenhirLib.EngineTypes.state = _menhir_s;
14038 MenhirLib.EngineTypes.semv = Obj.repr _v;
14039 MenhirLib.EngineTypes.startp = _startpos;
14040 MenhirLib.EngineTypes.endp = _endpos;
14041 MenhirLib.EngineTypes.next = _menhir_stack;
14042 });
14043 (fun _menhir_env ->
14044 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14045 let {
14046 MenhirLib.EngineTypes.semv = pv;
14047 MenhirLib.EngineTypes.startp = _startpos_pv_;
14048 MenhirLib.EngineTypes.endp = _endpos_pv_;
14049 MenhirLib.EngineTypes.next = {
14050 MenhirLib.EngineTypes.semv = rp2;
14051 MenhirLib.EngineTypes.startp = _startpos_rp2_;
14052 MenhirLib.EngineTypes.endp = _endpos_rp2_;
14053 MenhirLib.EngineTypes.next = {
14054 MenhirLib.EngineTypes.semv = p;
14055 MenhirLib.EngineTypes.startp = _startpos_p_;
14056 MenhirLib.EngineTypes.endp = _endpos_p_;
14057 MenhirLib.EngineTypes.next = {
14058 MenhirLib.EngineTypes.semv = lp2;
14059 MenhirLib.EngineTypes.startp = _startpos_lp2_;
14060 MenhirLib.EngineTypes.endp = _endpos_lp2_;
14061 MenhirLib.EngineTypes.next = {
14062 MenhirLib.EngineTypes.semv = rp1;
14063 MenhirLib.EngineTypes.startp = _startpos_rp1_;
14064 MenhirLib.EngineTypes.endp = _endpos_rp1_;
14065 MenhirLib.EngineTypes.next = {
14066 MenhirLib.EngineTypes.semv = d;
14067 MenhirLib.EngineTypes.startp = _startpos_d_;
14068 MenhirLib.EngineTypes.endp = _endpos_d_;
14069 MenhirLib.EngineTypes.next = {
14070 MenhirLib.EngineTypes.semv = st;
14071 MenhirLib.EngineTypes.startp = _startpos_st_;
14072 MenhirLib.EngineTypes.endp = _endpos_st_;
14073 MenhirLib.EngineTypes.next = {
14074 MenhirLib.EngineTypes.semv = lp1;
14075 MenhirLib.EngineTypes.startp = _startpos_lp1_;
14076 MenhirLib.EngineTypes.endp = _endpos_lp1_;
14077 MenhirLib.EngineTypes.next = {
14078 MenhirLib.EngineTypes.state = _menhir_s;
14079 MenhirLib.EngineTypes.semv = t;
14080 MenhirLib.EngineTypes.startp = _startpos_t_;
14081 MenhirLib.EngineTypes.endp = _endpos_t_;
14082 MenhirLib.EngineTypes.next = _menhir_stack;
14083 };
14084 };
14085 };
14086 };
14087 };
14088 };
14089 };
14090 };
14091 } = _menhir_stack in
14092 let pv : (
14093 # 111 "parser_cocci_menhir.mly"
14094 (Data.clt)
14095 # 14096 "parser_cocci_menhir.ml"
14096 ) = Obj.magic pv in
14097 let rp2 : (
14098 # 81 "parser_cocci_menhir.mly"
14099 (Data.clt)
14100 # 14101 "parser_cocci_menhir.ml"
14101 ) = Obj.magic rp2 in
14102 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
14103 let lp2 : (
14104 # 80 "parser_cocci_menhir.mly"
14105 (Data.clt)
14106 # 14107 "parser_cocci_menhir.ml"
14107 ) = Obj.magic lp2 in
14108 let rp1 : (
14109 # 81 "parser_cocci_menhir.mly"
14110 (Data.clt)
14111 # 14112 "parser_cocci_menhir.ml"
14112 ) = Obj.magic rp1 in
14113 let d : 'tv_d_ident = Obj.magic d in
14114 let st : (
14115 # 103 "parser_cocci_menhir.mly"
14116 (Data.clt)
14117 # 14118 "parser_cocci_menhir.ml"
14118 ) = Obj.magic st in
14119 let lp1 : (
14120 # 80 "parser_cocci_menhir.mly"
14121 (Data.clt)
14122 # 14123 "parser_cocci_menhir.ml"
14123 ) = Obj.magic lp1 in
14124 let t : 'tv_ctype = Obj.magic t in
14125 let _startpos = _startpos_t_ in
14126 let _endpos = _endpos_pv_ in
14127 let _v : 'tv_decl_var = let s =
14128
14129 # 39 "standard.mly"
14130 ( None )
14131 # 14132 "parser_cocci_menhir.ml"
14132
14133 in
14134
14135 # 1083 "parser_cocci_menhir.mly"
14136 ( let (id,fn) = d in
14137 let t =
14138 Ast0.wrap
14139 (Ast0.FunctionPointer
14140 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
14141 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
14142 [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
14143 # 14144 "parser_cocci_menhir.ml"
14144 in
14145 _menhir_env.MenhirLib.EngineTypes.stack <- {
14146 MenhirLib.EngineTypes.state = _menhir_s;
14147 MenhirLib.EngineTypes.semv = Obj.repr _v;
14148 MenhirLib.EngineTypes.startp = _startpos;
14149 MenhirLib.EngineTypes.endp = _endpos;
14150 MenhirLib.EngineTypes.next = _menhir_stack;
14151 });
14152 (fun _menhir_env ->
14153 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14154 let {
14155 MenhirLib.EngineTypes.semv = pv;
14156 MenhirLib.EngineTypes.startp = _startpos_pv_;
14157 MenhirLib.EngineTypes.endp = _endpos_pv_;
14158 MenhirLib.EngineTypes.next = {
14159 MenhirLib.EngineTypes.semv = rp2;
14160 MenhirLib.EngineTypes.startp = _startpos_rp2_;
14161 MenhirLib.EngineTypes.endp = _endpos_rp2_;
14162 MenhirLib.EngineTypes.next = {
14163 MenhirLib.EngineTypes.semv = p;
14164 MenhirLib.EngineTypes.startp = _startpos_p_;
14165 MenhirLib.EngineTypes.endp = _endpos_p_;
14166 MenhirLib.EngineTypes.next = {
14167 MenhirLib.EngineTypes.semv = lp2;
14168 MenhirLib.EngineTypes.startp = _startpos_lp2_;
14169 MenhirLib.EngineTypes.endp = _endpos_lp2_;
14170 MenhirLib.EngineTypes.next = {
14171 MenhirLib.EngineTypes.semv = rp1;
14172 MenhirLib.EngineTypes.startp = _startpos_rp1_;
14173 MenhirLib.EngineTypes.endp = _endpos_rp1_;
14174 MenhirLib.EngineTypes.next = {
14175 MenhirLib.EngineTypes.semv = d;
14176 MenhirLib.EngineTypes.startp = _startpos_d_;
14177 MenhirLib.EngineTypes.endp = _endpos_d_;
14178 MenhirLib.EngineTypes.next = {
14179 MenhirLib.EngineTypes.semv = st;
14180 MenhirLib.EngineTypes.startp = _startpos_st_;
14181 MenhirLib.EngineTypes.endp = _endpos_st_;
14182 MenhirLib.EngineTypes.next = {
14183 MenhirLib.EngineTypes.semv = lp1;
14184 MenhirLib.EngineTypes.startp = _startpos_lp1_;
14185 MenhirLib.EngineTypes.endp = _endpos_lp1_;
14186 MenhirLib.EngineTypes.next = {
14187 MenhirLib.EngineTypes.semv = t;
14188 MenhirLib.EngineTypes.startp = _startpos_t_;
14189 MenhirLib.EngineTypes.endp = _endpos_t_;
14190 MenhirLib.EngineTypes.next = {
14191 MenhirLib.EngineTypes.state = _menhir_s;
14192 MenhirLib.EngineTypes.semv = x0;
14193 MenhirLib.EngineTypes.startp = _startpos_x0_;
14194 MenhirLib.EngineTypes.endp = _endpos_x0_;
14195 MenhirLib.EngineTypes.next = _menhir_stack;
14196 };
14197 };
14198 };
14199 };
14200 };
14201 };
14202 };
14203 };
14204 };
14205 } = _menhir_stack in
14206 let pv : (
14207 # 111 "parser_cocci_menhir.mly"
14208 (Data.clt)
14209 # 14210 "parser_cocci_menhir.ml"
14210 ) = Obj.magic pv in
14211 let rp2 : (
14212 # 81 "parser_cocci_menhir.mly"
14213 (Data.clt)
14214 # 14215 "parser_cocci_menhir.ml"
14215 ) = Obj.magic rp2 in
14216 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
14217 let lp2 : (
14218 # 80 "parser_cocci_menhir.mly"
14219 (Data.clt)
14220 # 14221 "parser_cocci_menhir.ml"
14221 ) = Obj.magic lp2 in
14222 let rp1 : (
14223 # 81 "parser_cocci_menhir.mly"
14224 (Data.clt)
14225 # 14226 "parser_cocci_menhir.ml"
14226 ) = Obj.magic rp1 in
14227 let d : 'tv_d_ident = Obj.magic d in
14228 let st : (
14229 # 103 "parser_cocci_menhir.mly"
14230 (Data.clt)
14231 # 14232 "parser_cocci_menhir.ml"
14232 ) = Obj.magic st in
14233 let lp1 : (
14234 # 80 "parser_cocci_menhir.mly"
14235 (Data.clt)
14236 # 14237 "parser_cocci_menhir.ml"
14237 ) = Obj.magic lp1 in
14238 let t : 'tv_ctype = Obj.magic t in
14239 let x0 : 'tv_storage = Obj.magic x0 in
14240 let _startpos = _startpos_x0_ in
14241 let _endpos = _endpos_pv_ in
14242 let _v : 'tv_decl_var = let s =
14243 let x = x0 in
14244
14245 # 41 "standard.mly"
14246 ( Some x )
14247 # 14248 "parser_cocci_menhir.ml"
14248
14249 in
14250
14251 # 1083 "parser_cocci_menhir.mly"
14252 ( let (id,fn) = d in
14253 let t =
14254 Ast0.wrap
14255 (Ast0.FunctionPointer
14256 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
14257 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
14258 [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
14259 # 14260 "parser_cocci_menhir.ml"
14260 in
14261 _menhir_env.MenhirLib.EngineTypes.stack <- {
14262 MenhirLib.EngineTypes.state = _menhir_s;
14263 MenhirLib.EngineTypes.semv = Obj.repr _v;
14264 MenhirLib.EngineTypes.startp = _startpos;
14265 MenhirLib.EngineTypes.endp = _endpos;
14266 MenhirLib.EngineTypes.next = _menhir_stack;
14267 });
14268 (fun _menhir_env ->
14269 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14270 let {
14271 MenhirLib.EngineTypes.semv = _5;
14272 MenhirLib.EngineTypes.startp = _startpos__5_;
14273 MenhirLib.EngineTypes.endp = _endpos__5_;
14274 MenhirLib.EngineTypes.next = {
14275 MenhirLib.EngineTypes.semv = _4;
14276 MenhirLib.EngineTypes.startp = _startpos__4_;
14277 MenhirLib.EngineTypes.endp = _endpos__4_;
14278 MenhirLib.EngineTypes.next = {
14279 MenhirLib.EngineTypes.semv = _3;
14280 MenhirLib.EngineTypes.startp = _startpos__3_;
14281 MenhirLib.EngineTypes.endp = _endpos__3_;
14282 MenhirLib.EngineTypes.next = {
14283 MenhirLib.EngineTypes.semv = _2;
14284 MenhirLib.EngineTypes.startp = _startpos__2_;
14285 MenhirLib.EngineTypes.endp = _endpos__2_;
14286 MenhirLib.EngineTypes.next = {
14287 MenhirLib.EngineTypes.state = _menhir_s;
14288 MenhirLib.EngineTypes.semv = _1;
14289 MenhirLib.EngineTypes.startp = _startpos__1_;
14290 MenhirLib.EngineTypes.endp = _endpos__1_;
14291 MenhirLib.EngineTypes.next = _menhir_stack;
14292 };
14293 };
14294 };
14295 };
14296 } = _menhir_stack in
14297 let _5 : (
14298 # 111 "parser_cocci_menhir.mly"
14299 (Data.clt)
14300 # 14301 "parser_cocci_menhir.ml"
14301 ) = Obj.magic _5 in
14302 let _4 : (
14303 # 81 "parser_cocci_menhir.mly"
14304 (Data.clt)
14305 # 14306 "parser_cocci_menhir.ml"
14306 ) = Obj.magic _4 in
14307 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
14308 let _2 : (
14309 # 80 "parser_cocci_menhir.mly"
14310 (Data.clt)
14311 # 14312 "parser_cocci_menhir.ml"
14312 ) = Obj.magic _2 in
14313 let _1 : 'tv_decl_ident = Obj.magic _1 in
14314 let _startpos = _startpos__1_ in
14315 let _endpos = _endpos__5_ in
14316 let _v : 'tv_decl_var =
14317 # 1091 "parser_cocci_menhir.mly"
14318 ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
14319 P.clt2mcode ")" _4,P.clt2mcode ";" _5))] )
14320 # 14321 "parser_cocci_menhir.ml"
14321 in
14322 _menhir_env.MenhirLib.EngineTypes.stack <- {
14323 MenhirLib.EngineTypes.state = _menhir_s;
14324 MenhirLib.EngineTypes.semv = Obj.repr _v;
14325 MenhirLib.EngineTypes.startp = _startpos;
14326 MenhirLib.EngineTypes.endp = _endpos;
14327 MenhirLib.EngineTypes.next = _menhir_stack;
14328 });
14329 (fun _menhir_env ->
14330 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14331 let {
14332 MenhirLib.EngineTypes.semv = pv;
14333 MenhirLib.EngineTypes.startp = _startpos_pv_;
14334 MenhirLib.EngineTypes.endp = _endpos_pv_;
14335 MenhirLib.EngineTypes.next = {
14336 MenhirLib.EngineTypes.semv = e;
14337 MenhirLib.EngineTypes.startp = _startpos_e_;
14338 MenhirLib.EngineTypes.endp = _endpos_e_;
14339 MenhirLib.EngineTypes.next = {
14340 MenhirLib.EngineTypes.semv = q;
14341 MenhirLib.EngineTypes.startp = _startpos_q_;
14342 MenhirLib.EngineTypes.endp = _endpos_q_;
14343 MenhirLib.EngineTypes.next = {
14344 MenhirLib.EngineTypes.semv = rp2;
14345 MenhirLib.EngineTypes.startp = _startpos_rp2_;
14346 MenhirLib.EngineTypes.endp = _endpos_rp2_;
14347 MenhirLib.EngineTypes.next = {
14348 MenhirLib.EngineTypes.semv = p;
14349 MenhirLib.EngineTypes.startp = _startpos_p_;
14350 MenhirLib.EngineTypes.endp = _endpos_p_;
14351 MenhirLib.EngineTypes.next = {
14352 MenhirLib.EngineTypes.semv = lp2;
14353 MenhirLib.EngineTypes.startp = _startpos_lp2_;
14354 MenhirLib.EngineTypes.endp = _endpos_lp2_;
14355 MenhirLib.EngineTypes.next = {
14356 MenhirLib.EngineTypes.semv = rp1;
14357 MenhirLib.EngineTypes.startp = _startpos_rp1_;
14358 MenhirLib.EngineTypes.endp = _endpos_rp1_;
14359 MenhirLib.EngineTypes.next = {
14360 MenhirLib.EngineTypes.semv = d;
14361 MenhirLib.EngineTypes.startp = _startpos_d_;
14362 MenhirLib.EngineTypes.endp = _endpos_d_;
14363 MenhirLib.EngineTypes.next = {
14364 MenhirLib.EngineTypes.semv = st;
14365 MenhirLib.EngineTypes.startp = _startpos_st_;
14366 MenhirLib.EngineTypes.endp = _endpos_st_;
14367 MenhirLib.EngineTypes.next = {
14368 MenhirLib.EngineTypes.semv = lp1;
14369 MenhirLib.EngineTypes.startp = _startpos_lp1_;
14370 MenhirLib.EngineTypes.endp = _endpos_lp1_;
14371 MenhirLib.EngineTypes.next = {
14372 MenhirLib.EngineTypes.state = _menhir_s;
14373 MenhirLib.EngineTypes.semv = t;
14374 MenhirLib.EngineTypes.startp = _startpos_t_;
14375 MenhirLib.EngineTypes.endp = _endpos_t_;
14376 MenhirLib.EngineTypes.next = _menhir_stack;
14377 };
14378 };
14379 };
14380 };
14381 };
14382 };
14383 };
14384 };
14385 };
14386 };
14387 } = _menhir_stack in
14388 let pv : (
14389 # 111 "parser_cocci_menhir.mly"
14390 (Data.clt)
14391 # 14392 "parser_cocci_menhir.ml"
14392 ) = Obj.magic pv in
14393 let e : 'tv_initialize = Obj.magic e in
14394 let q : (
14395 # 111 "parser_cocci_menhir.mly"
14396 (Data.clt)
14397 # 14398 "parser_cocci_menhir.ml"
14398 ) = Obj.magic q in
14399 let rp2 : (
14400 # 81 "parser_cocci_menhir.mly"
14401 (Data.clt)
14402 # 14403 "parser_cocci_menhir.ml"
14403 ) = Obj.magic rp2 in
14404 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
14405 let lp2 : (
14406 # 80 "parser_cocci_menhir.mly"
14407 (Data.clt)
14408 # 14409 "parser_cocci_menhir.ml"
14409 ) = Obj.magic lp2 in
14410 let rp1 : (
14411 # 81 "parser_cocci_menhir.mly"
14412 (Data.clt)
14413 # 14414 "parser_cocci_menhir.ml"
14414 ) = Obj.magic rp1 in
14415 let d : 'tv_d_ident = Obj.magic d in
14416 let st : (
14417 # 103 "parser_cocci_menhir.mly"
14418 (Data.clt)
14419 # 14420 "parser_cocci_menhir.ml"
14420 ) = Obj.magic st in
14421 let lp1 : (
14422 # 80 "parser_cocci_menhir.mly"
14423 (Data.clt)
14424 # 14425 "parser_cocci_menhir.ml"
14425 ) = Obj.magic lp1 in
14426 let t : 'tv_ctype = Obj.magic t in
14427 let _startpos = _startpos_t_ in
14428 let _endpos = _endpos_pv_ in
14429 let _v : 'tv_decl_var = let s =
14430
14431 # 39 "standard.mly"
14432 ( None )
14433 # 14434 "parser_cocci_menhir.ml"
14434
14435 in
14436
14437 # 1097 "parser_cocci_menhir.mly"
14438 ( let (id,fn) = d in
14439 let t =
14440 Ast0.wrap
14441 (Ast0.FunctionPointer
14442 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
14443 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
14444 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
14445 # 14446 "parser_cocci_menhir.ml"
14446 in
14447 _menhir_env.MenhirLib.EngineTypes.stack <- {
14448 MenhirLib.EngineTypes.state = _menhir_s;
14449 MenhirLib.EngineTypes.semv = Obj.repr _v;
14450 MenhirLib.EngineTypes.startp = _startpos;
14451 MenhirLib.EngineTypes.endp = _endpos;
14452 MenhirLib.EngineTypes.next = _menhir_stack;
14453 });
14454 (fun _menhir_env ->
14455 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14456 let {
14457 MenhirLib.EngineTypes.semv = pv;
14458 MenhirLib.EngineTypes.startp = _startpos_pv_;
14459 MenhirLib.EngineTypes.endp = _endpos_pv_;
14460 MenhirLib.EngineTypes.next = {
14461 MenhirLib.EngineTypes.semv = e;
14462 MenhirLib.EngineTypes.startp = _startpos_e_;
14463 MenhirLib.EngineTypes.endp = _endpos_e_;
14464 MenhirLib.EngineTypes.next = {
14465 MenhirLib.EngineTypes.semv = q;
14466 MenhirLib.EngineTypes.startp = _startpos_q_;
14467 MenhirLib.EngineTypes.endp = _endpos_q_;
14468 MenhirLib.EngineTypes.next = {
14469 MenhirLib.EngineTypes.semv = rp2;
14470 MenhirLib.EngineTypes.startp = _startpos_rp2_;
14471 MenhirLib.EngineTypes.endp = _endpos_rp2_;
14472 MenhirLib.EngineTypes.next = {
14473 MenhirLib.EngineTypes.semv = p;
14474 MenhirLib.EngineTypes.startp = _startpos_p_;
14475 MenhirLib.EngineTypes.endp = _endpos_p_;
14476 MenhirLib.EngineTypes.next = {
14477 MenhirLib.EngineTypes.semv = lp2;
14478 MenhirLib.EngineTypes.startp = _startpos_lp2_;
14479 MenhirLib.EngineTypes.endp = _endpos_lp2_;
14480 MenhirLib.EngineTypes.next = {
14481 MenhirLib.EngineTypes.semv = rp1;
14482 MenhirLib.EngineTypes.startp = _startpos_rp1_;
14483 MenhirLib.EngineTypes.endp = _endpos_rp1_;
14484 MenhirLib.EngineTypes.next = {
14485 MenhirLib.EngineTypes.semv = d;
14486 MenhirLib.EngineTypes.startp = _startpos_d_;
14487 MenhirLib.EngineTypes.endp = _endpos_d_;
14488 MenhirLib.EngineTypes.next = {
14489 MenhirLib.EngineTypes.semv = st;
14490 MenhirLib.EngineTypes.startp = _startpos_st_;
14491 MenhirLib.EngineTypes.endp = _endpos_st_;
14492 MenhirLib.EngineTypes.next = {
14493 MenhirLib.EngineTypes.semv = lp1;
14494 MenhirLib.EngineTypes.startp = _startpos_lp1_;
14495 MenhirLib.EngineTypes.endp = _endpos_lp1_;
14496 MenhirLib.EngineTypes.next = {
14497 MenhirLib.EngineTypes.semv = t;
14498 MenhirLib.EngineTypes.startp = _startpos_t_;
14499 MenhirLib.EngineTypes.endp = _endpos_t_;
14500 MenhirLib.EngineTypes.next = {
14501 MenhirLib.EngineTypes.state = _menhir_s;
14502 MenhirLib.EngineTypes.semv = x0;
14503 MenhirLib.EngineTypes.startp = _startpos_x0_;
14504 MenhirLib.EngineTypes.endp = _endpos_x0_;
14505 MenhirLib.EngineTypes.next = _menhir_stack;
14506 };
14507 };
14508 };
14509 };
14510 };
14511 };
14512 };
14513 };
14514 };
14515 };
14516 };
14517 } = _menhir_stack in
14518 let pv : (
14519 # 111 "parser_cocci_menhir.mly"
14520 (Data.clt)
14521 # 14522 "parser_cocci_menhir.ml"
14522 ) = Obj.magic pv in
14523 let e : 'tv_initialize = Obj.magic e in
14524 let q : (
14525 # 111 "parser_cocci_menhir.mly"
14526 (Data.clt)
14527 # 14528 "parser_cocci_menhir.ml"
14528 ) = Obj.magic q in
14529 let rp2 : (
14530 # 81 "parser_cocci_menhir.mly"
14531 (Data.clt)
14532 # 14533 "parser_cocci_menhir.ml"
14533 ) = Obj.magic rp2 in
14534 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
14535 let lp2 : (
14536 # 80 "parser_cocci_menhir.mly"
14537 (Data.clt)
14538 # 14539 "parser_cocci_menhir.ml"
14539 ) = Obj.magic lp2 in
14540 let rp1 : (
14541 # 81 "parser_cocci_menhir.mly"
14542 (Data.clt)
14543 # 14544 "parser_cocci_menhir.ml"
14544 ) = Obj.magic rp1 in
14545 let d : 'tv_d_ident = Obj.magic d in
14546 let st : (
14547 # 103 "parser_cocci_menhir.mly"
14548 (Data.clt)
14549 # 14550 "parser_cocci_menhir.ml"
14550 ) = Obj.magic st in
14551 let lp1 : (
14552 # 80 "parser_cocci_menhir.mly"
14553 (Data.clt)
14554 # 14555 "parser_cocci_menhir.ml"
14555 ) = Obj.magic lp1 in
14556 let t : 'tv_ctype = Obj.magic t in
14557 let x0 : 'tv_storage = Obj.magic x0 in
14558 let _startpos = _startpos_x0_ in
14559 let _endpos = _endpos_pv_ in
14560 let _v : 'tv_decl_var = let s =
14561 let x = x0 in
14562
14563 # 41 "standard.mly"
14564 ( Some x )
14565 # 14566 "parser_cocci_menhir.ml"
14566
14567 in
14568
14569 # 1097 "parser_cocci_menhir.mly"
14570 ( let (id,fn) = d in
14571 let t =
14572 Ast0.wrap
14573 (Ast0.FunctionPointer
14574 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
14575 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
14576 [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
14577 # 14578 "parser_cocci_menhir.ml"
14578 in
14579 _menhir_env.MenhirLib.EngineTypes.stack <- {
14580 MenhirLib.EngineTypes.state = _menhir_s;
14581 MenhirLib.EngineTypes.semv = Obj.repr _v;
14582 MenhirLib.EngineTypes.startp = _startpos;
14583 MenhirLib.EngineTypes.endp = _endpos;
14584 MenhirLib.EngineTypes.next = _menhir_stack;
14585 });
14586 (fun _menhir_env ->
14587 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14588 let {
14589 MenhirLib.EngineTypes.semv = pv;
14590 MenhirLib.EngineTypes.startp = _startpos_pv_;
14591 MenhirLib.EngineTypes.endp = _endpos_pv_;
14592 MenhirLib.EngineTypes.next = {
14593 MenhirLib.EngineTypes.semv = id;
14594 MenhirLib.EngineTypes.startp = _startpos_id_;
14595 MenhirLib.EngineTypes.endp = _endpos_id_;
14596 MenhirLib.EngineTypes.next = {
14597 MenhirLib.EngineTypes.semv = t;
14598 MenhirLib.EngineTypes.startp = _startpos_t_;
14599 MenhirLib.EngineTypes.endp = _endpos_t_;
14600 MenhirLib.EngineTypes.next = {
14601 MenhirLib.EngineTypes.state = _menhir_s;
14602 MenhirLib.EngineTypes.semv = s;
14603 MenhirLib.EngineTypes.startp = _startpos_s_;
14604 MenhirLib.EngineTypes.endp = _endpos_s_;
14605 MenhirLib.EngineTypes.next = _menhir_stack;
14606 };
14607 };
14608 };
14609 } = _menhir_stack in
14610 let pv : (
14611 # 111 "parser_cocci_menhir.mly"
14612 (Data.clt)
14613 # 14614 "parser_cocci_menhir.ml"
14614 ) = Obj.magic pv in
14615 let id : 'tv_comma_list_typedef_ident_ = Obj.magic id in
14616 let t : 'tv_typedef_ctype = Obj.magic t in
14617 let s : (
14618 # 56 "parser_cocci_menhir.mly"
14619 (Data.clt)
14620 # 14621 "parser_cocci_menhir.ml"
14621 ) = Obj.magic s in
14622 let _startpos = _startpos_s_ in
14623 let _endpos = _endpos_pv_ in
14624 let _v : 'tv_decl_var =
14625 # 1105 "parser_cocci_menhir.mly"
14626 ( let s = P.clt2mcode "typedef" s in
14627 List.map
14628 (function id ->
14629 Ast0.wrap(Ast0.Typedef(s,t,id,P.clt2mcode ";" pv)))
14630 id )
14631 # 14632 "parser_cocci_menhir.ml"
14632 in
14633 _menhir_env.MenhirLib.EngineTypes.stack <- {
14634 MenhirLib.EngineTypes.state = _menhir_s;
14635 MenhirLib.EngineTypes.semv = Obj.repr _v;
14636 MenhirLib.EngineTypes.startp = _startpos;
14637 MenhirLib.EngineTypes.endp = _endpos;
14638 MenhirLib.EngineTypes.next = _menhir_stack;
14639 });
14640 (fun _menhir_env ->
14641 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14642 let {
14643 MenhirLib.EngineTypes.state = _menhir_s;
14644 MenhirLib.EngineTypes.semv = _1;
14645 MenhirLib.EngineTypes.startp = _startpos__1_;
14646 MenhirLib.EngineTypes.endp = _endpos__1_;
14647 MenhirLib.EngineTypes.next = _menhir_stack;
14648 } = _menhir_stack in
14649 let _1 : 'tv_empty_list_start_dparam_TEllipsis_ = Obj.magic _1 in
14650 let _startpos = _startpos__1_ in
14651 let _endpos = _endpos__1_ in
14652 let _v : 'tv_define_param_list_option =
14653 # 842 "parser_cocci_menhir.mly"
14654 ( Ast0.wrap
14655 (Ast0.DOTS
14656 (_1
14657 (fun _ d -> Ast0.wrap(Ast0.DPdots(P.clt2mcode "," d)))
14658 (fun c -> Ast0.DPComma c))) )
14659 # 14660 "parser_cocci_menhir.ml"
14660 in
14661 _menhir_env.MenhirLib.EngineTypes.stack <- {
14662 MenhirLib.EngineTypes.state = _menhir_s;
14663 MenhirLib.EngineTypes.semv = Obj.repr _v;
14664 MenhirLib.EngineTypes.startp = _startpos;
14665 MenhirLib.EngineTypes.endp = _endpos;
14666 MenhirLib.EngineTypes.next = _menhir_stack;
14667 });
14668 (fun _menhir_env ->
14669 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14670 let {
14671 MenhirLib.EngineTypes.state = _menhir_s;
14672 MenhirLib.EngineTypes.semv = _1;
14673 MenhirLib.EngineTypes.startp = _startpos__1_;
14674 MenhirLib.EngineTypes.endp = _endpos__1_;
14675 MenhirLib.EngineTypes.next = _menhir_stack;
14676 } = _menhir_stack in
14677 let _1 : (
14678 # 85 "parser_cocci_menhir.mly"
14679 (Data.clt * token)
14680 # 14681 "parser_cocci_menhir.ml"
14681 ) = Obj.magic _1 in
14682 let _startpos = _startpos__1_ in
14683 let _endpos = _endpos__1_ in
14684 let _v : 'tv_defineop =
14685 # 798 "parser_cocci_menhir.mly"
14686 ( let (clt,ident) = _1 in
14687 function body ->
14688 Ast0.wrap
14689 (Ast0.Define
14690 (P.clt2mcode "#define" clt,
14691 (match ident with
14692 TMetaId((nm,constraints,pure,clt)) ->
14693 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
14694 | TIdent(nm_pure) ->
14695 Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
14696 | _ ->
14697 raise
14698 (Semantic_cocci.Semantic
14699 "unexpected name for a #define")),
14700 Ast0.wrap Ast0.NoParams,
14701 body)) )
14702 # 14703 "parser_cocci_menhir.ml"
14703 in
14704 _menhir_env.MenhirLib.EngineTypes.stack <- {
14705 MenhirLib.EngineTypes.state = _menhir_s;
14706 MenhirLib.EngineTypes.semv = Obj.repr _v;
14707 MenhirLib.EngineTypes.startp = _startpos;
14708 MenhirLib.EngineTypes.endp = _endpos;
14709 MenhirLib.EngineTypes.next = _menhir_stack;
14710 });
14711 (fun _menhir_env ->
14712 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14713 let {
14714 MenhirLib.EngineTypes.semv = _3;
14715 MenhirLib.EngineTypes.startp = _startpos__3_;
14716 MenhirLib.EngineTypes.endp = _endpos__3_;
14717 MenhirLib.EngineTypes.next = {
14718 MenhirLib.EngineTypes.semv = _2;
14719 MenhirLib.EngineTypes.startp = _startpos__2_;
14720 MenhirLib.EngineTypes.endp = _endpos__2_;
14721 MenhirLib.EngineTypes.next = {
14722 MenhirLib.EngineTypes.state = _menhir_s;
14723 MenhirLib.EngineTypes.semv = _1;
14724 MenhirLib.EngineTypes.startp = _startpos__1_;
14725 MenhirLib.EngineTypes.endp = _endpos__1_;
14726 MenhirLib.EngineTypes.next = _menhir_stack;
14727 };
14728 };
14729 } = _menhir_stack in
14730 let _3 : (
14731 # 81 "parser_cocci_menhir.mly"
14732 (Data.clt)
14733 # 14734 "parser_cocci_menhir.ml"
14734 ) = Obj.magic _3 in
14735 let _2 : 'tv_define_param_list_option = Obj.magic _2 in
14736 let _1 : (
14737 # 86 "parser_cocci_menhir.mly"
14738 (Data.clt * token * int * int)
14739 # 14740 "parser_cocci_menhir.ml"
14740 ) = Obj.magic _1 in
14741 let _startpos = _startpos__1_ in
14742 let _endpos = _endpos__3_ in
14743 let _v : 'tv_defineop =
14744 # 815 "parser_cocci_menhir.mly"
14745 ( let (clt,ident,parenoff,parencol) = _1 in
14746 (* clt is the start of the #define itself *)
14747 let (arity,line,lline,offset,col,strbef,straft,pos) = clt in
14748 let lp =
14749 P.clt2mcode "("
14750 (arity,line,lline,parenoff,parencol,[],[],Ast0.NoMetaPos) in
14751 function body ->
14752 Ast0.wrap
14753 (Ast0.Define
14754 (P.clt2mcode "#define" clt,
14755 (match ident with
14756 TMetaId((nm,constraints,pure,clt)) ->
14757 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
14758 | TIdent(nm_pure) ->
14759 Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
14760 | _ ->
14761 raise
14762 (Semantic_cocci.Semantic
14763 "unexpected name for a #define")),
14764 Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" _3)),body)) )
14765 # 14766 "parser_cocci_menhir.ml"
14766 in
14767 _menhir_env.MenhirLib.EngineTypes.stack <- {
14768 MenhirLib.EngineTypes.state = _menhir_s;
14769 MenhirLib.EngineTypes.semv = Obj.repr _v;
14770 MenhirLib.EngineTypes.startp = _startpos;
14771 MenhirLib.EngineTypes.endp = _endpos;
14772 MenhirLib.EngineTypes.next = _menhir_stack;
14773 });
14774 (fun _menhir_env ->
14775 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14776 let {
14777 MenhirLib.EngineTypes.state = _menhir_s;
14778 MenhirLib.EngineTypes.semv = _1;
14779 MenhirLib.EngineTypes.startp = _startpos__1_;
14780 MenhirLib.EngineTypes.endp = _endpos__1_;
14781 MenhirLib.EngineTypes.next = _menhir_stack;
14782 } = _menhir_stack in
14783 let _1 : 'tv_pnrule = Obj.magic _1 in
14784 let _startpos = _startpos__1_ in
14785 let _endpos = _endpos__1_ in
14786 let _v : 'tv_dep =
14787 # 231 "parser_cocci_menhir.mly"
14788 ( _1 )
14789 # 14790 "parser_cocci_menhir.ml"
14790 in
14791 _menhir_env.MenhirLib.EngineTypes.stack <- {
14792 MenhirLib.EngineTypes.state = _menhir_s;
14793 MenhirLib.EngineTypes.semv = Obj.repr _v;
14794 MenhirLib.EngineTypes.startp = _startpos;
14795 MenhirLib.EngineTypes.endp = _endpos;
14796 MenhirLib.EngineTypes.next = _menhir_stack;
14797 });
14798 (fun _menhir_env ->
14799 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14800 let {
14801 MenhirLib.EngineTypes.semv = _3;
14802 MenhirLib.EngineTypes.startp = _startpos__3_;
14803 MenhirLib.EngineTypes.endp = _endpos__3_;
14804 MenhirLib.EngineTypes.next = {
14805 MenhirLib.EngineTypes.startp = _startpos__2_;
14806 MenhirLib.EngineTypes.endp = _endpos__2_;
14807 MenhirLib.EngineTypes.next = {
14808 MenhirLib.EngineTypes.state = _menhir_s;
14809 MenhirLib.EngineTypes.semv = _1;
14810 MenhirLib.EngineTypes.startp = _startpos__1_;
14811 MenhirLib.EngineTypes.endp = _endpos__1_;
14812 MenhirLib.EngineTypes.next = _menhir_stack;
14813 };
14814 };
14815 } = _menhir_stack in
14816 let _3 : 'tv_dep = Obj.magic _3 in
14817 let _1 : 'tv_dep = Obj.magic _1 in
14818 let _startpos = _startpos__1_ in
14819 let _endpos = _endpos__3_ in
14820 let _v : 'tv_dep =
14821 # 232 "parser_cocci_menhir.mly"
14822 ( Ast.AndDep(_1, _3) )
14823 # 14824 "parser_cocci_menhir.ml"
14824 in
14825 _menhir_env.MenhirLib.EngineTypes.stack <- {
14826 MenhirLib.EngineTypes.state = _menhir_s;
14827 MenhirLib.EngineTypes.semv = Obj.repr _v;
14828 MenhirLib.EngineTypes.startp = _startpos;
14829 MenhirLib.EngineTypes.endp = _endpos;
14830 MenhirLib.EngineTypes.next = _menhir_stack;
14831 });
14832 (fun _menhir_env ->
14833 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14834 let {
14835 MenhirLib.EngineTypes.semv = _3;
14836 MenhirLib.EngineTypes.startp = _startpos__3_;
14837 MenhirLib.EngineTypes.endp = _endpos__3_;
14838 MenhirLib.EngineTypes.next = {
14839 MenhirLib.EngineTypes.startp = _startpos__2_;
14840 MenhirLib.EngineTypes.endp = _endpos__2_;
14841 MenhirLib.EngineTypes.next = {
14842 MenhirLib.EngineTypes.state = _menhir_s;
14843 MenhirLib.EngineTypes.semv = _1;
14844 MenhirLib.EngineTypes.startp = _startpos__1_;
14845 MenhirLib.EngineTypes.endp = _endpos__1_;
14846 MenhirLib.EngineTypes.next = _menhir_stack;
14847 };
14848 };
14849 } = _menhir_stack in
14850 let _3 : 'tv_dep = Obj.magic _3 in
14851 let _1 : 'tv_dep = Obj.magic _1 in
14852 let _startpos = _startpos__1_ in
14853 let _endpos = _endpos__3_ in
14854 let _v : 'tv_dep =
14855 # 233 "parser_cocci_menhir.mly"
14856 ( Ast.OrDep (_1, _3) )
14857 # 14858 "parser_cocci_menhir.ml"
14858 in
14859 _menhir_env.MenhirLib.EngineTypes.stack <- {
14860 MenhirLib.EngineTypes.state = _menhir_s;
14861 MenhirLib.EngineTypes.semv = Obj.repr _v;
14862 MenhirLib.EngineTypes.startp = _startpos;
14863 MenhirLib.EngineTypes.endp = _endpos;
14864 MenhirLib.EngineTypes.next = _menhir_stack;
14865 });
14866 (fun _menhir_env ->
14867 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14868 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
14869 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
14870 let _endpos = _startpos in
14871 let _v : 'tv_depends =
14872 # 227 "parser_cocci_menhir.mly"
14873 ( Ast.NoDep )
14874 # 14875 "parser_cocci_menhir.ml"
14875 in
14876 _menhir_env.MenhirLib.EngineTypes.stack <- {
14877 MenhirLib.EngineTypes.state = _menhir_s;
14878 MenhirLib.EngineTypes.semv = Obj.repr _v;
14879 MenhirLib.EngineTypes.startp = _startpos;
14880 MenhirLib.EngineTypes.endp = _endpos;
14881 MenhirLib.EngineTypes.next = _menhir_stack;
14882 });
14883 (fun _menhir_env ->
14884 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14885 let {
14886 MenhirLib.EngineTypes.semv = parents;
14887 MenhirLib.EngineTypes.startp = _startpos_parents_;
14888 MenhirLib.EngineTypes.endp = _endpos_parents_;
14889 MenhirLib.EngineTypes.next = {
14890 MenhirLib.EngineTypes.startp = _startpos__2_;
14891 MenhirLib.EngineTypes.endp = _endpos__2_;
14892 MenhirLib.EngineTypes.next = {
14893 MenhirLib.EngineTypes.state = _menhir_s;
14894 MenhirLib.EngineTypes.startp = _startpos__1_;
14895 MenhirLib.EngineTypes.endp = _endpos__1_;
14896 MenhirLib.EngineTypes.next = _menhir_stack;
14897 };
14898 };
14899 } = _menhir_stack in
14900 let parents : 'tv_dep = Obj.magic parents in
14901 let _startpos = _startpos__1_ in
14902 let _endpos = _endpos_parents_ in
14903 let _v : 'tv_depends =
14904 # 228 "parser_cocci_menhir.mly"
14905 ( parents )
14906 # 14907 "parser_cocci_menhir.ml"
14907 in
14908 _menhir_env.MenhirLib.EngineTypes.stack <- {
14909 MenhirLib.EngineTypes.state = _menhir_s;
14910 MenhirLib.EngineTypes.semv = Obj.repr _v;
14911 MenhirLib.EngineTypes.startp = _startpos;
14912 MenhirLib.EngineTypes.endp = _endpos;
14913 MenhirLib.EngineTypes.next = _menhir_stack;
14914 });
14915 (fun _menhir_env ->
14916 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14917 let {
14918 MenhirLib.EngineTypes.semv = _2;
14919 MenhirLib.EngineTypes.startp = _startpos__2_;
14920 MenhirLib.EngineTypes.endp = _endpos__2_;
14921 MenhirLib.EngineTypes.next = {
14922 MenhirLib.EngineTypes.state = _menhir_s;
14923 MenhirLib.EngineTypes.semv = _1;
14924 MenhirLib.EngineTypes.startp = _startpos__1_;
14925 MenhirLib.EngineTypes.endp = _endpos__1_;
14926 MenhirLib.EngineTypes.next = _menhir_stack;
14927 };
14928 } = _menhir_stack in
14929 let _2 : 'tv_ident = Obj.magic _2 in
14930 let _1 : (
14931 # 111 "parser_cocci_menhir.mly"
14932 (Data.clt)
14933 # 14934 "parser_cocci_menhir.ml"
14934 ) = Obj.magic _1 in
14935 let _startpos = _startpos__1_ in
14936 let _endpos = _endpos__2_ in
14937 let _v : 'tv_designator =
14938 # 1209 "parser_cocci_menhir.mly"
14939 ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) )
14940 # 14941 "parser_cocci_menhir.ml"
14941 in
14942 _menhir_env.MenhirLib.EngineTypes.stack <- {
14943 MenhirLib.EngineTypes.state = _menhir_s;
14944 MenhirLib.EngineTypes.semv = Obj.repr _v;
14945 MenhirLib.EngineTypes.startp = _startpos;
14946 MenhirLib.EngineTypes.endp = _endpos;
14947 MenhirLib.EngineTypes.next = _menhir_stack;
14948 });
14949 (fun _menhir_env ->
14950 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14951 let {
14952 MenhirLib.EngineTypes.semv = _3;
14953 MenhirLib.EngineTypes.startp = _startpos__3_;
14954 MenhirLib.EngineTypes.endp = _endpos__3_;
14955 MenhirLib.EngineTypes.next = {
14956 MenhirLib.EngineTypes.semv = _2;
14957 MenhirLib.EngineTypes.startp = _startpos__2_;
14958 MenhirLib.EngineTypes.endp = _endpos__2_;
14959 MenhirLib.EngineTypes.next = {
14960 MenhirLib.EngineTypes.state = _menhir_s;
14961 MenhirLib.EngineTypes.semv = _1;
14962 MenhirLib.EngineTypes.startp = _startpos__1_;
14963 MenhirLib.EngineTypes.endp = _endpos__1_;
14964 MenhirLib.EngineTypes.next = _menhir_stack;
14965 };
14966 };
14967 } = _menhir_stack in
14968 let _3 : (
14969 # 106 "parser_cocci_menhir.mly"
14970 (Data.clt)
14971 # 14972 "parser_cocci_menhir.ml"
14972 ) = Obj.magic _3 in
14973 let _2 : 'tv_eexpr = Obj.magic _2 in
14974 let _1 : (
14975 # 106 "parser_cocci_menhir.mly"
14976 (Data.clt)
14977 # 14978 "parser_cocci_menhir.ml"
14978 ) = Obj.magic _1 in
14979 let _startpos = _startpos__1_ in
14980 let _endpos = _endpos__3_ in
14981 let _v : 'tv_designator =
14982 # 1211 "parser_cocci_menhir.mly"
14983 ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) )
14984 # 14985 "parser_cocci_menhir.ml"
14985 in
14986 _menhir_env.MenhirLib.EngineTypes.stack <- {
14987 MenhirLib.EngineTypes.state = _menhir_s;
14988 MenhirLib.EngineTypes.semv = Obj.repr _v;
14989 MenhirLib.EngineTypes.startp = _startpos;
14990 MenhirLib.EngineTypes.endp = _endpos;
14991 MenhirLib.EngineTypes.next = _menhir_stack;
14992 });
14993 (fun _menhir_env ->
14994 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
14995 let {
14996 MenhirLib.EngineTypes.semv = _5;
14997 MenhirLib.EngineTypes.startp = _startpos__5_;
14998 MenhirLib.EngineTypes.endp = _endpos__5_;
14999 MenhirLib.EngineTypes.next = {
15000 MenhirLib.EngineTypes.semv = _4;
15001 MenhirLib.EngineTypes.startp = _startpos__4_;
15002 MenhirLib.EngineTypes.endp = _endpos__4_;
15003 MenhirLib.EngineTypes.next = {
15004 MenhirLib.EngineTypes.semv = _3;
15005 MenhirLib.EngineTypes.startp = _startpos__3_;
15006 MenhirLib.EngineTypes.endp = _endpos__3_;
15007 MenhirLib.EngineTypes.next = {
15008 MenhirLib.EngineTypes.semv = _2;
15009 MenhirLib.EngineTypes.startp = _startpos__2_;
15010 MenhirLib.EngineTypes.endp = _endpos__2_;
15011 MenhirLib.EngineTypes.next = {
15012 MenhirLib.EngineTypes.state = _menhir_s;
15013 MenhirLib.EngineTypes.semv = _1;
15014 MenhirLib.EngineTypes.startp = _startpos__1_;
15015 MenhirLib.EngineTypes.endp = _endpos__1_;
15016 MenhirLib.EngineTypes.next = _menhir_stack;
15017 };
15018 };
15019 };
15020 };
15021 } = _menhir_stack in
15022 let _5 : (
15023 # 106 "parser_cocci_menhir.mly"
15024 (Data.clt)
15025 # 15026 "parser_cocci_menhir.ml"
15026 ) = Obj.magic _5 in
15027 let _4 : 'tv_eexpr = Obj.magic _4 in
15028 let _3 : (
15029 # 77 "parser_cocci_menhir.mly"
15030 (Data.clt)
15031 # 15032 "parser_cocci_menhir.ml"
15032 ) = Obj.magic _3 in
15033 let _2 : 'tv_eexpr = Obj.magic _2 in
15034 let _1 : (
15035 # 106 "parser_cocci_menhir.mly"
15036 (Data.clt)
15037 # 15038 "parser_cocci_menhir.ml"
15038 ) = Obj.magic _1 in
15039 let _startpos = _startpos__1_ in
15040 let _endpos = _endpos__5_ in
15041 let _v : 'tv_designator =
15042 # 1213 "parser_cocci_menhir.mly"
15043 ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3,
15044 _4,P.clt2mcode "]" _5) )
15045 # 15046 "parser_cocci_menhir.ml"
15046 in
15047 _menhir_env.MenhirLib.EngineTypes.stack <- {
15048 MenhirLib.EngineTypes.state = _menhir_s;
15049 MenhirLib.EngineTypes.semv = Obj.repr _v;
15050 MenhirLib.EngineTypes.startp = _startpos;
15051 MenhirLib.EngineTypes.endp = _endpos;
15052 MenhirLib.EngineTypes.next = _menhir_stack;
15053 });
15054 (fun _menhir_env ->
15055 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15056 let {
15057 MenhirLib.EngineTypes.state = _menhir_s;
15058 MenhirLib.EngineTypes.semv = _1;
15059 MenhirLib.EngineTypes.startp = _startpos__1_;
15060 MenhirLib.EngineTypes.endp = _endpos__1_;
15061 MenhirLib.EngineTypes.next = _menhir_stack;
15062 } = _menhir_stack in
15063 let _1 : 'tv_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in
15064 let _startpos = _startpos__1_ in
15065 let _endpos = _endpos__1_ in
15066 let _v : 'tv_dexpr =
15067 # 1292 "parser_cocci_menhir.mly"
15068 ( _1 )
15069 # 15070 "parser_cocci_menhir.ml"
15070 in
15071 _menhir_env.MenhirLib.EngineTypes.stack <- {
15072 MenhirLib.EngineTypes.state = _menhir_s;
15073 MenhirLib.EngineTypes.semv = Obj.repr _v;
15074 MenhirLib.EngineTypes.startp = _startpos;
15075 MenhirLib.EngineTypes.endp = _endpos;
15076 MenhirLib.EngineTypes.next = _menhir_stack;
15077 });
15078 (fun _menhir_env ->
15079 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15080 let {
15081 MenhirLib.EngineTypes.semv = _2;
15082 MenhirLib.EngineTypes.startp = _startpos__2_;
15083 MenhirLib.EngineTypes.endp = _endpos__2_;
15084 MenhirLib.EngineTypes.next = {
15085 MenhirLib.EngineTypes.state = _menhir_s;
15086 MenhirLib.EngineTypes.startp = _startpos__1_;
15087 MenhirLib.EngineTypes.endp = _endpos__1_;
15088 MenhirLib.EngineTypes.next = _menhir_stack;
15089 };
15090 } = _menhir_stack in
15091 let _2 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _2 in
15092 let _startpos = _startpos__1_ in
15093 let _endpos = _endpos__2_ in
15094 let _v : 'tv_disable =
15095 # 246 "parser_cocci_menhir.mly"
15096 ( List.map P.id2name _2 )
15097 # 15098 "parser_cocci_menhir.ml"
15098 in
15099 _menhir_env.MenhirLib.EngineTypes.stack <- {
15100 MenhirLib.EngineTypes.state = _menhir_s;
15101 MenhirLib.EngineTypes.semv = Obj.repr _v;
15102 MenhirLib.EngineTypes.startp = _startpos;
15103 MenhirLib.EngineTypes.endp = _endpos;
15104 MenhirLib.EngineTypes.next = _menhir_stack;
15105 });
15106 (fun _menhir_env ->
15107 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15108 let {
15109 MenhirLib.EngineTypes.state = _menhir_s;
15110 MenhirLib.EngineTypes.semv = _1;
15111 MenhirLib.EngineTypes.startp = _startpos__1_;
15112 MenhirLib.EngineTypes.endp = _endpos__1_;
15113 MenhirLib.EngineTypes.next = _menhir_stack;
15114 } = _menhir_stack in
15115 let _1 : (
15116 # 77 "parser_cocci_menhir.mly"
15117 (Data.clt)
15118 # 15119 "parser_cocci_menhir.ml"
15119 ) = Obj.magic _1 in
15120 let _startpos = _startpos__1_ in
15121 let _endpos = _endpos__1_ in
15122 let _v : 'tv_dot_expressions =
15123 # 1301 "parser_cocci_menhir.mly"
15124 ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) )
15125 # 15126 "parser_cocci_menhir.ml"
15126 in
15127 _menhir_env.MenhirLib.EngineTypes.stack <- {
15128 MenhirLib.EngineTypes.state = _menhir_s;
15129 MenhirLib.EngineTypes.semv = Obj.repr _v;
15130 MenhirLib.EngineTypes.startp = _startpos;
15131 MenhirLib.EngineTypes.endp = _endpos;
15132 MenhirLib.EngineTypes.next = _menhir_stack;
15133 });
15134 (fun _menhir_env ->
15135 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15136 let {
15137 MenhirLib.EngineTypes.state = _menhir_s;
15138 MenhirLib.EngineTypes.semv = _1;
15139 MenhirLib.EngineTypes.startp = _startpos__1_;
15140 MenhirLib.EngineTypes.endp = _endpos__1_;
15141 MenhirLib.EngineTypes.next = _menhir_stack;
15142 } = _menhir_stack in
15143 let _1 : 'tv_nest_expressions = Obj.magic _1 in
15144 let _startpos = _startpos__1_ in
15145 let _endpos = _endpos__1_ in
15146 let _v : 'tv_dot_expressions =
15147 # 1302 "parser_cocci_menhir.mly"
15148 ( _1 )
15149 # 15150 "parser_cocci_menhir.ml"
15150 in
15151 _menhir_env.MenhirLib.EngineTypes.stack <- {
15152 MenhirLib.EngineTypes.state = _menhir_s;
15153 MenhirLib.EngineTypes.semv = Obj.repr _v;
15154 MenhirLib.EngineTypes.startp = _startpos;
15155 MenhirLib.EngineTypes.endp = _endpos;
15156 MenhirLib.EngineTypes.next = _menhir_stack;
15157 });
15158 (fun _menhir_env ->
15159 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15160 let {
15161 MenhirLib.EngineTypes.state = _menhir_s;
15162 MenhirLib.EngineTypes.semv = _1;
15163 MenhirLib.EngineTypes.startp = _startpos__1_;
15164 MenhirLib.EngineTypes.endp = _endpos__1_;
15165 MenhirLib.EngineTypes.next = _menhir_stack;
15166 } = _menhir_stack in
15167 let _1 : 'tv_ident = Obj.magic _1 in
15168 let _startpos = _startpos__1_ in
15169 let _endpos = _endpos__1_ in
15170 let _v : 'tv_dparam =
15171 # 838 "parser_cocci_menhir.mly"
15172 ( Ast0.wrap(Ast0.DParam _1) )
15173 # 15174 "parser_cocci_menhir.ml"
15174 in
15175 _menhir_env.MenhirLib.EngineTypes.stack <- {
15176 MenhirLib.EngineTypes.state = _menhir_s;
15177 MenhirLib.EngineTypes.semv = Obj.repr _v;
15178 MenhirLib.EngineTypes.startp = _startpos;
15179 MenhirLib.EngineTypes.endp = _endpos;
15180 MenhirLib.EngineTypes.next = _menhir_stack;
15181 });
15182 (fun _menhir_env ->
15183 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15184 let {
15185 MenhirLib.EngineTypes.state = _menhir_s;
15186 MenhirLib.EngineTypes.semv = d;
15187 MenhirLib.EngineTypes.startp = _startpos_d_;
15188 MenhirLib.EngineTypes.endp = _endpos_d_;
15189 MenhirLib.EngineTypes.next = _menhir_stack;
15190 } = _menhir_stack in
15191 let d : (
15192 # 77 "parser_cocci_menhir.mly"
15193 (Data.clt)
15194 # 15195 "parser_cocci_menhir.ml"
15195 ) = Obj.magic d in
15196 let _startpos = _startpos_d_ in
15197 let _endpos = _endpos_d_ in
15198 let _v : 'tv_edots_when_TEllipsis_eexpr_ =
15199 # 2102 "parser_cocci_menhir.mly"
15200 ( (d,None) )
15201 # 15202 "parser_cocci_menhir.ml"
15202 in
15203 _menhir_env.MenhirLib.EngineTypes.stack <- {
15204 MenhirLib.EngineTypes.state = _menhir_s;
15205 MenhirLib.EngineTypes.semv = Obj.repr _v;
15206 MenhirLib.EngineTypes.startp = _startpos;
15207 MenhirLib.EngineTypes.endp = _endpos;
15208 MenhirLib.EngineTypes.next = _menhir_stack;
15209 });
15210 (fun _menhir_env ->
15211 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15212 let {
15213 MenhirLib.EngineTypes.startp = _startpos__5_;
15214 MenhirLib.EngineTypes.endp = _endpos__5_;
15215 MenhirLib.EngineTypes.next = {
15216 MenhirLib.EngineTypes.semv = w;
15217 MenhirLib.EngineTypes.startp = _startpos_w_;
15218 MenhirLib.EngineTypes.endp = _endpos_w_;
15219 MenhirLib.EngineTypes.next = {
15220 MenhirLib.EngineTypes.startp = _startpos__3_;
15221 MenhirLib.EngineTypes.endp = _endpos__3_;
15222 MenhirLib.EngineTypes.next = {
15223 MenhirLib.EngineTypes.startp = _startpos__2_;
15224 MenhirLib.EngineTypes.endp = _endpos__2_;
15225 MenhirLib.EngineTypes.next = {
15226 MenhirLib.EngineTypes.state = _menhir_s;
15227 MenhirLib.EngineTypes.semv = d;
15228 MenhirLib.EngineTypes.startp = _startpos_d_;
15229 MenhirLib.EngineTypes.endp = _endpos_d_;
15230 MenhirLib.EngineTypes.next = _menhir_stack;
15231 };
15232 };
15233 };
15234 };
15235 } = _menhir_stack in
15236 let w : 'tv_eexpr = Obj.magic w in
15237 let d : (
15238 # 77 "parser_cocci_menhir.mly"
15239 (Data.clt)
15240 # 15241 "parser_cocci_menhir.ml"
15241 ) = Obj.magic d in
15242 let _startpos = _startpos_d_ in
15243 let _endpos = _endpos__5_ in
15244 let _v : 'tv_edots_when_TEllipsis_eexpr_ =
15245 # 2103 "parser_cocci_menhir.mly"
15246 ( (d,Some w) )
15247 # 15248 "parser_cocci_menhir.ml"
15248 in
15249 _menhir_env.MenhirLib.EngineTypes.stack <- {
15250 MenhirLib.EngineTypes.state = _menhir_s;
15251 MenhirLib.EngineTypes.semv = Obj.repr _v;
15252 MenhirLib.EngineTypes.startp = _startpos;
15253 MenhirLib.EngineTypes.endp = _endpos;
15254 MenhirLib.EngineTypes.next = _menhir_stack;
15255 });
15256 (fun _menhir_env ->
15257 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15258 let {
15259 MenhirLib.EngineTypes.state = _menhir_s;
15260 MenhirLib.EngineTypes.semv = d;
15261 MenhirLib.EngineTypes.startp = _startpos_d_;
15262 MenhirLib.EngineTypes.endp = _endpos_d_;
15263 MenhirLib.EngineTypes.next = _menhir_stack;
15264 } = _menhir_stack in
15265 let d : (
15266 # 77 "parser_cocci_menhir.mly"
15267 (Data.clt)
15268 # 15269 "parser_cocci_menhir.ml"
15269 ) = Obj.magic d in
15270 let _startpos = _startpos_d_ in
15271 let _endpos = _endpos_d_ in
15272 let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ =
15273 # 2102 "parser_cocci_menhir.mly"
15274 ( (d,None) )
15275 # 15276 "parser_cocci_menhir.ml"
15276 in
15277 _menhir_env.MenhirLib.EngineTypes.stack <- {
15278 MenhirLib.EngineTypes.state = _menhir_s;
15279 MenhirLib.EngineTypes.semv = Obj.repr _v;
15280 MenhirLib.EngineTypes.startp = _startpos;
15281 MenhirLib.EngineTypes.endp = _endpos;
15282 MenhirLib.EngineTypes.next = _menhir_stack;
15283 });
15284 (fun _menhir_env ->
15285 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15286 let {
15287 MenhirLib.EngineTypes.startp = _startpos__5_;
15288 MenhirLib.EngineTypes.endp = _endpos__5_;
15289 MenhirLib.EngineTypes.next = {
15290 MenhirLib.EngineTypes.semv = w;
15291 MenhirLib.EngineTypes.startp = _startpos_w_;
15292 MenhirLib.EngineTypes.endp = _endpos_w_;
15293 MenhirLib.EngineTypes.next = {
15294 MenhirLib.EngineTypes.startp = _startpos__3_;
15295 MenhirLib.EngineTypes.endp = _endpos__3_;
15296 MenhirLib.EngineTypes.next = {
15297 MenhirLib.EngineTypes.startp = _startpos__2_;
15298 MenhirLib.EngineTypes.endp = _endpos__2_;
15299 MenhirLib.EngineTypes.next = {
15300 MenhirLib.EngineTypes.state = _menhir_s;
15301 MenhirLib.EngineTypes.semv = d;
15302 MenhirLib.EngineTypes.startp = _startpos_d_;
15303 MenhirLib.EngineTypes.endp = _endpos_d_;
15304 MenhirLib.EngineTypes.next = _menhir_stack;
15305 };
15306 };
15307 };
15308 };
15309 } = _menhir_stack in
15310 let w : 'tv_enum_decl_one = Obj.magic w in
15311 let d : (
15312 # 77 "parser_cocci_menhir.mly"
15313 (Data.clt)
15314 # 15315 "parser_cocci_menhir.ml"
15315 ) = Obj.magic d in
15316 let _startpos = _startpos_d_ in
15317 let _endpos = _endpos__5_ in
15318 let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ =
15319 # 2103 "parser_cocci_menhir.mly"
15320 ( (d,Some w) )
15321 # 15322 "parser_cocci_menhir.ml"
15322 in
15323 _menhir_env.MenhirLib.EngineTypes.stack <- {
15324 MenhirLib.EngineTypes.state = _menhir_s;
15325 MenhirLib.EngineTypes.semv = Obj.repr _v;
15326 MenhirLib.EngineTypes.startp = _startpos;
15327 MenhirLib.EngineTypes.endp = _endpos;
15328 MenhirLib.EngineTypes.next = _menhir_stack;
15329 });
15330 (fun _menhir_env ->
15331 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15332 let {
15333 MenhirLib.EngineTypes.state = _menhir_s;
15334 MenhirLib.EngineTypes.semv = d;
15335 MenhirLib.EngineTypes.startp = _startpos_d_;
15336 MenhirLib.EngineTypes.endp = _endpos_d_;
15337 MenhirLib.EngineTypes.next = _menhir_stack;
15338 } = _menhir_stack in
15339 let d : (
15340 # 77 "parser_cocci_menhir.mly"
15341 (Data.clt)
15342 # 15343 "parser_cocci_menhir.ml"
15343 ) = Obj.magic d in
15344 let _startpos = _startpos_d_ in
15345 let _endpos = _endpos_d_ in
15346 let _v : 'tv_edots_when_TEllipsis_initialize_ =
15347 # 2102 "parser_cocci_menhir.mly"
15348 ( (d,None) )
15349 # 15350 "parser_cocci_menhir.ml"
15350 in
15351 _menhir_env.MenhirLib.EngineTypes.stack <- {
15352 MenhirLib.EngineTypes.state = _menhir_s;
15353 MenhirLib.EngineTypes.semv = Obj.repr _v;
15354 MenhirLib.EngineTypes.startp = _startpos;
15355 MenhirLib.EngineTypes.endp = _endpos;
15356 MenhirLib.EngineTypes.next = _menhir_stack;
15357 });
15358 (fun _menhir_env ->
15359 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15360 let {
15361 MenhirLib.EngineTypes.startp = _startpos__5_;
15362 MenhirLib.EngineTypes.endp = _endpos__5_;
15363 MenhirLib.EngineTypes.next = {
15364 MenhirLib.EngineTypes.semv = w;
15365 MenhirLib.EngineTypes.startp = _startpos_w_;
15366 MenhirLib.EngineTypes.endp = _endpos_w_;
15367 MenhirLib.EngineTypes.next = {
15368 MenhirLib.EngineTypes.startp = _startpos__3_;
15369 MenhirLib.EngineTypes.endp = _endpos__3_;
15370 MenhirLib.EngineTypes.next = {
15371 MenhirLib.EngineTypes.startp = _startpos__2_;
15372 MenhirLib.EngineTypes.endp = _endpos__2_;
15373 MenhirLib.EngineTypes.next = {
15374 MenhirLib.EngineTypes.state = _menhir_s;
15375 MenhirLib.EngineTypes.semv = d;
15376 MenhirLib.EngineTypes.startp = _startpos_d_;
15377 MenhirLib.EngineTypes.endp = _endpos_d_;
15378 MenhirLib.EngineTypes.next = _menhir_stack;
15379 };
15380 };
15381 };
15382 };
15383 } = _menhir_stack in
15384 let w : 'tv_initialize = Obj.magic w in
15385 let d : (
15386 # 77 "parser_cocci_menhir.mly"
15387 (Data.clt)
15388 # 15389 "parser_cocci_menhir.ml"
15389 ) = Obj.magic d in
15390 let _startpos = _startpos_d_ in
15391 let _endpos = _endpos__5_ in
15392 let _v : 'tv_edots_when_TEllipsis_initialize_ =
15393 # 2103 "parser_cocci_menhir.mly"
15394 ( (d,Some w) )
15395 # 15396 "parser_cocci_menhir.ml"
15396 in
15397 _menhir_env.MenhirLib.EngineTypes.stack <- {
15398 MenhirLib.EngineTypes.state = _menhir_s;
15399 MenhirLib.EngineTypes.semv = Obj.repr _v;
15400 MenhirLib.EngineTypes.startp = _startpos;
15401 MenhirLib.EngineTypes.endp = _endpos;
15402 MenhirLib.EngineTypes.next = _menhir_stack;
15403 });
15404 (fun _menhir_env ->
15405 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15406 let {
15407 MenhirLib.EngineTypes.state = _menhir_s;
15408 MenhirLib.EngineTypes.semv = d;
15409 MenhirLib.EngineTypes.startp = _startpos_d_;
15410 MenhirLib.EngineTypes.endp = _endpos_d_;
15411 MenhirLib.EngineTypes.next = _menhir_stack;
15412 } = _menhir_stack in
15413 let d : (
15414 # 77 "parser_cocci_menhir.mly"
15415 (Data.clt)
15416 # 15417 "parser_cocci_menhir.ml"
15417 ) = Obj.magic d in
15418 let _startpos = _startpos_d_ in
15419 let _endpos = _endpos_d_ in
15420 let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ =
15421 # 2102 "parser_cocci_menhir.mly"
15422 ( (d,None) )
15423 # 15424 "parser_cocci_menhir.ml"
15424 in
15425 _menhir_env.MenhirLib.EngineTypes.stack <- {
15426 MenhirLib.EngineTypes.state = _menhir_s;
15427 MenhirLib.EngineTypes.semv = Obj.repr _v;
15428 MenhirLib.EngineTypes.startp = _startpos;
15429 MenhirLib.EngineTypes.endp = _endpos;
15430 MenhirLib.EngineTypes.next = _menhir_stack;
15431 });
15432 (fun _menhir_env ->
15433 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15434 let {
15435 MenhirLib.EngineTypes.startp = _startpos__5_;
15436 MenhirLib.EngineTypes.endp = _endpos__5_;
15437 MenhirLib.EngineTypes.next = {
15438 MenhirLib.EngineTypes.semv = w;
15439 MenhirLib.EngineTypes.startp = _startpos_w_;
15440 MenhirLib.EngineTypes.endp = _endpos_w_;
15441 MenhirLib.EngineTypes.next = {
15442 MenhirLib.EngineTypes.startp = _startpos__3_;
15443 MenhirLib.EngineTypes.endp = _endpos__3_;
15444 MenhirLib.EngineTypes.next = {
15445 MenhirLib.EngineTypes.startp = _startpos__2_;
15446 MenhirLib.EngineTypes.endp = _endpos__2_;
15447 MenhirLib.EngineTypes.next = {
15448 MenhirLib.EngineTypes.state = _menhir_s;
15449 MenhirLib.EngineTypes.semv = d;
15450 MenhirLib.EngineTypes.startp = _startpos_d_;
15451 MenhirLib.EngineTypes.endp = _endpos_d_;
15452 MenhirLib.EngineTypes.next = _menhir_stack;
15453 };
15454 };
15455 };
15456 };
15457 } = _menhir_stack in
15458 let w : 'tv_struct_decl_one = Obj.magic w in
15459 let d : (
15460 # 77 "parser_cocci_menhir.mly"
15461 (Data.clt)
15462 # 15463 "parser_cocci_menhir.ml"
15463 ) = Obj.magic d in
15464 let _startpos = _startpos_d_ in
15465 let _endpos = _endpos__5_ in
15466 let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ =
15467 # 2103 "parser_cocci_menhir.mly"
15468 ( (d,Some w) )
15469 # 15470 "parser_cocci_menhir.ml"
15470 in
15471 _menhir_env.MenhirLib.EngineTypes.stack <- {
15472 MenhirLib.EngineTypes.state = _menhir_s;
15473 MenhirLib.EngineTypes.semv = Obj.repr _v;
15474 MenhirLib.EngineTypes.startp = _startpos;
15475 MenhirLib.EngineTypes.endp = _endpos;
15476 MenhirLib.EngineTypes.next = _menhir_stack;
15477 });
15478 (fun _menhir_env ->
15479 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15480 let {
15481 MenhirLib.EngineTypes.state = _menhir_s;
15482 MenhirLib.EngineTypes.semv = _1;
15483 MenhirLib.EngineTypes.startp = _startpos__1_;
15484 MenhirLib.EngineTypes.endp = _endpos__1_;
15485 MenhirLib.EngineTypes.next = _menhir_stack;
15486 } = _menhir_stack in
15487 let _1 : 'tv_basic_expr_eexpr_dot_expressions_ = Obj.magic _1 in
15488 let _startpos = _startpos__1_ in
15489 let _endpos = _endpos__1_ in
15490 let _v : 'tv_eexpr =
15491 # 1290 "parser_cocci_menhir.mly"
15492 ( _1 )
15493 # 15494 "parser_cocci_menhir.ml"
15494 in
15495 _menhir_env.MenhirLib.EngineTypes.stack <- {
15496 MenhirLib.EngineTypes.state = _menhir_s;
15497 MenhirLib.EngineTypes.semv = Obj.repr _v;
15498 MenhirLib.EngineTypes.startp = _startpos;
15499 MenhirLib.EngineTypes.endp = _endpos;
15500 MenhirLib.EngineTypes.next = _menhir_stack;
15501 });
15502 (fun _menhir_env ->
15503 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15504 let {
15505 MenhirLib.EngineTypes.state = _menhir_s;
15506 MenhirLib.EngineTypes.semv = _1;
15507 MenhirLib.EngineTypes.startp = _startpos__1_;
15508 MenhirLib.EngineTypes.endp = _endpos__1_;
15509 MenhirLib.EngineTypes.next = _menhir_stack;
15510 } = _menhir_stack in
15511 let _1 : 'tv_empty_list_start_aexpr_TEllipsis_ = Obj.magic _1 in
15512 let _startpos = _startpos__1_ in
15513 let _endpos = _endpos__1_ in
15514 let _v : 'tv_eexpr_list_option =
15515 # 2082 "parser_cocci_menhir.mly"
15516 ( Ast0.wrap
15517 (Ast0.DOTS
15518 (_1
15519 (fun _ d -> Ast0.wrap(Ast0.Edots(P.clt2mcode "..." d,None)))
15520 (fun c -> Ast0.EComma c))) )
15521 # 15522 "parser_cocci_menhir.ml"
15522 in
15523 _menhir_env.MenhirLib.EngineTypes.stack <- {
15524 MenhirLib.EngineTypes.state = _menhir_s;
15525 MenhirLib.EngineTypes.semv = Obj.repr _v;
15526 MenhirLib.EngineTypes.startp = _startpos;
15527 MenhirLib.EngineTypes.endp = _endpos;
15528 MenhirLib.EngineTypes.next = _menhir_stack;
15529 });
15530 (fun _menhir_env ->
15531 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15532 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15533 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15534 let _endpos = _startpos in
15535 let _v : 'tv_empty_list_start_aexpr_TEllipsis_ =
15536 # 1844 "parser_cocci_menhir.mly"
15537 ( fun build_dots build_comma -> [] )
15538 # 15539 "parser_cocci_menhir.ml"
15539 in
15540 _menhir_env.MenhirLib.EngineTypes.stack <- {
15541 MenhirLib.EngineTypes.state = _menhir_s;
15542 MenhirLib.EngineTypes.semv = Obj.repr _v;
15543 MenhirLib.EngineTypes.startp = _startpos;
15544 MenhirLib.EngineTypes.endp = _endpos;
15545 MenhirLib.EngineTypes.next = _menhir_stack;
15546 });
15547 (fun _menhir_env ->
15548 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15549 let {
15550 MenhirLib.EngineTypes.state = _menhir_s;
15551 MenhirLib.EngineTypes.semv = _1;
15552 MenhirLib.EngineTypes.startp = _startpos__1_;
15553 MenhirLib.EngineTypes.endp = _endpos__1_;
15554 MenhirLib.EngineTypes.next = _menhir_stack;
15555 } = _menhir_stack in
15556 let _1 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _1 in
15557 let _startpos = _startpos__1_ in
15558 let _endpos = _endpos__1_ in
15559 let _v : 'tv_empty_list_start_aexpr_TEllipsis_ =
15560 # 1845 "parser_cocci_menhir.mly"
15561 ( _1 )
15562 # 15563 "parser_cocci_menhir.ml"
15563 in
15564 _menhir_env.MenhirLib.EngineTypes.stack <- {
15565 MenhirLib.EngineTypes.state = _menhir_s;
15566 MenhirLib.EngineTypes.semv = Obj.repr _v;
15567 MenhirLib.EngineTypes.startp = _startpos;
15568 MenhirLib.EngineTypes.endp = _endpos;
15569 MenhirLib.EngineTypes.next = _menhir_stack;
15570 });
15571 (fun _menhir_env ->
15572 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15573 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15574 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15575 let _endpos = _startpos in
15576 let _v : 'tv_empty_list_start_dparam_TEllipsis_ =
15577 # 1844 "parser_cocci_menhir.mly"
15578 ( fun build_dots build_comma -> [] )
15579 # 15580 "parser_cocci_menhir.ml"
15580 in
15581 _menhir_env.MenhirLib.EngineTypes.stack <- {
15582 MenhirLib.EngineTypes.state = _menhir_s;
15583 MenhirLib.EngineTypes.semv = Obj.repr _v;
15584 MenhirLib.EngineTypes.startp = _startpos;
15585 MenhirLib.EngineTypes.endp = _endpos;
15586 MenhirLib.EngineTypes.next = _menhir_stack;
15587 });
15588 (fun _menhir_env ->
15589 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15590 let {
15591 MenhirLib.EngineTypes.state = _menhir_s;
15592 MenhirLib.EngineTypes.semv = _1;
15593 MenhirLib.EngineTypes.startp = _startpos__1_;
15594 MenhirLib.EngineTypes.endp = _endpos__1_;
15595 MenhirLib.EngineTypes.next = _menhir_stack;
15596 } = _menhir_stack in
15597 let _1 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _1 in
15598 let _startpos = _startpos__1_ in
15599 let _endpos = _endpos__1_ in
15600 let _v : 'tv_empty_list_start_dparam_TEllipsis_ =
15601 # 1845 "parser_cocci_menhir.mly"
15602 ( _1 )
15603 # 15604 "parser_cocci_menhir.ml"
15604 in
15605 _menhir_env.MenhirLib.EngineTypes.stack <- {
15606 MenhirLib.EngineTypes.state = _menhir_s;
15607 MenhirLib.EngineTypes.semv = Obj.repr _v;
15608 MenhirLib.EngineTypes.startp = _startpos;
15609 MenhirLib.EngineTypes.endp = _endpos;
15610 MenhirLib.EngineTypes.next = _menhir_stack;
15611 });
15612 (fun _menhir_env ->
15613 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15614 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15615 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15616 let _endpos = _startpos in
15617 let _v : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
15618 # 1844 "parser_cocci_menhir.mly"
15619 ( fun build_dots build_comma -> [] )
15620 # 15621 "parser_cocci_menhir.ml"
15621 in
15622 _menhir_env.MenhirLib.EngineTypes.stack <- {
15623 MenhirLib.EngineTypes.state = _menhir_s;
15624 MenhirLib.EngineTypes.semv = Obj.repr _v;
15625 MenhirLib.EngineTypes.startp = _startpos;
15626 MenhirLib.EngineTypes.endp = _endpos;
15627 MenhirLib.EngineTypes.next = _menhir_stack;
15628 });
15629 (fun _menhir_env ->
15630 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15631 let {
15632 MenhirLib.EngineTypes.state = _menhir_s;
15633 MenhirLib.EngineTypes.semv = _1;
15634 MenhirLib.EngineTypes.startp = _startpos__1_;
15635 MenhirLib.EngineTypes.endp = _endpos__1_;
15636 MenhirLib.EngineTypes.next = _menhir_stack;
15637 } = _menhir_stack in
15638 let _1 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _1 in
15639 let _startpos = _startpos__1_ in
15640 let _endpos = _endpos__1_ in
15641 let _v : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
15642 # 1845 "parser_cocci_menhir.mly"
15643 ( _1 )
15644 # 15645 "parser_cocci_menhir.ml"
15645 in
15646 _menhir_env.MenhirLib.EngineTypes.stack <- {
15647 MenhirLib.EngineTypes.state = _menhir_s;
15648 MenhirLib.EngineTypes.semv = Obj.repr _v;
15649 MenhirLib.EngineTypes.startp = _startpos;
15650 MenhirLib.EngineTypes.endp = _endpos;
15651 MenhirLib.EngineTypes.next = _menhir_stack;
15652 });
15653 (fun _menhir_env ->
15654 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15655 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15656 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15657 let _endpos = _startpos in
15658 let _v : 'tv_empty_list_start_one_dec_decl__TEllipsis_ =
15659 # 1844 "parser_cocci_menhir.mly"
15660 ( fun build_dots build_comma -> [] )
15661 # 15662 "parser_cocci_menhir.ml"
15662 in
15663 _menhir_env.MenhirLib.EngineTypes.stack <- {
15664 MenhirLib.EngineTypes.state = _menhir_s;
15665 MenhirLib.EngineTypes.semv = Obj.repr _v;
15666 MenhirLib.EngineTypes.startp = _startpos;
15667 MenhirLib.EngineTypes.endp = _endpos;
15668 MenhirLib.EngineTypes.next = _menhir_stack;
15669 });
15670 (fun _menhir_env ->
15671 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15672 let {
15673 MenhirLib.EngineTypes.state = _menhir_s;
15674 MenhirLib.EngineTypes.semv = _1;
15675 MenhirLib.EngineTypes.startp = _startpos__1_;
15676 MenhirLib.EngineTypes.endp = _endpos__1_;
15677 MenhirLib.EngineTypes.next = _menhir_stack;
15678 } = _menhir_stack in
15679 let _1 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _1 in
15680 let _startpos = _startpos__1_ in
15681 let _endpos = _endpos__1_ in
15682 let _v : 'tv_empty_list_start_one_dec_decl__TEllipsis_ =
15683 # 1845 "parser_cocci_menhir.mly"
15684 ( _1 )
15685 # 15686 "parser_cocci_menhir.ml"
15686 in
15687 _menhir_env.MenhirLib.EngineTypes.stack <- {
15688 MenhirLib.EngineTypes.state = _menhir_s;
15689 MenhirLib.EngineTypes.semv = Obj.repr _v;
15690 MenhirLib.EngineTypes.startp = _startpos;
15691 MenhirLib.EngineTypes.endp = _endpos;
15692 MenhirLib.EngineTypes.next = _menhir_stack;
15693 });
15694 (fun _menhir_env ->
15695 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15696 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
15697 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
15698 let _endpos = _startpos in
15699 let _v : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ =
15700 # 1844 "parser_cocci_menhir.mly"
15701 ( fun build_dots build_comma -> [] )
15702 # 15703 "parser_cocci_menhir.ml"
15703 in
15704 _menhir_env.MenhirLib.EngineTypes.stack <- {
15705 MenhirLib.EngineTypes.state = _menhir_s;
15706 MenhirLib.EngineTypes.semv = Obj.repr _v;
15707 MenhirLib.EngineTypes.startp = _startpos;
15708 MenhirLib.EngineTypes.endp = _endpos;
15709 MenhirLib.EngineTypes.next = _menhir_stack;
15710 });
15711 (fun _menhir_env ->
15712 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15713 let {
15714 MenhirLib.EngineTypes.state = _menhir_s;
15715 MenhirLib.EngineTypes.semv = _1;
15716 MenhirLib.EngineTypes.startp = _startpos__1_;
15717 MenhirLib.EngineTypes.endp = _endpos__1_;
15718 MenhirLib.EngineTypes.next = _menhir_stack;
15719 } = _menhir_stack in
15720 let _1 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _1 in
15721 let _startpos = _startpos__1_ in
15722 let _endpos = _endpos__1_ in
15723 let _v : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ =
15724 # 1845 "parser_cocci_menhir.mly"
15725 ( _1 )
15726 # 15727 "parser_cocci_menhir.ml"
15727 in
15728 _menhir_env.MenhirLib.EngineTypes.stack <- {
15729 MenhirLib.EngineTypes.state = _menhir_s;
15730 MenhirLib.EngineTypes.semv = Obj.repr _v;
15731 MenhirLib.EngineTypes.startp = _startpos;
15732 MenhirLib.EngineTypes.endp = _endpos;
15733 MenhirLib.EngineTypes.next = _menhir_stack;
15734 });
15735 (fun _menhir_env ->
15736 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15737 let {
15738 MenhirLib.EngineTypes.state = _menhir_s;
15739 MenhirLib.EngineTypes.semv = _1;
15740 MenhirLib.EngineTypes.startp = _startpos__1_;
15741 MenhirLib.EngineTypes.endp = _endpos__1_;
15742 MenhirLib.EngineTypes.next = _menhir_stack;
15743 } = _menhir_stack in
15744 let _1 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _1 in
15745 let _startpos = _startpos__1_ in
15746 let _endpos = _endpos__1_ in
15747 let _v : 'tv_enum_decl_list =
15748 # 702 "parser_cocci_menhir.mly"
15749 ( Ast0.wrap(Ast0.DOTS(_1 P.mkedots (fun c -> Ast0.EComma c))) )
15750 # 15751 "parser_cocci_menhir.ml"
15751 in
15752 _menhir_env.MenhirLib.EngineTypes.stack <- {
15753 MenhirLib.EngineTypes.state = _menhir_s;
15754 MenhirLib.EngineTypes.semv = Obj.repr _v;
15755 MenhirLib.EngineTypes.startp = _startpos;
15756 MenhirLib.EngineTypes.endp = _endpos;
15757 MenhirLib.EngineTypes.next = _menhir_stack;
15758 });
15759 (fun _menhir_env ->
15760 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15761 let {
15762 MenhirLib.EngineTypes.state = _menhir_s;
15763 MenhirLib.EngineTypes.semv = _1;
15764 MenhirLib.EngineTypes.startp = _startpos__1_;
15765 MenhirLib.EngineTypes.endp = _endpos__1_;
15766 MenhirLib.EngineTypes.next = _menhir_stack;
15767 } = _menhir_stack in
15768 let _1 : 'tv_ident = Obj.magic _1 in
15769 let _startpos = _startpos__1_ in
15770 let _endpos = _endpos__1_ in
15771 let _v : 'tv_enum_decl_one =
15772 # 674 "parser_cocci_menhir.mly"
15773 ( Ast0.wrap(Ast0.Ident(_1)) )
15774 # 15775 "parser_cocci_menhir.ml"
15775 in
15776 _menhir_env.MenhirLib.EngineTypes.stack <- {
15777 MenhirLib.EngineTypes.state = _menhir_s;
15778 MenhirLib.EngineTypes.semv = Obj.repr _v;
15779 MenhirLib.EngineTypes.startp = _startpos;
15780 MenhirLib.EngineTypes.endp = _endpos;
15781 MenhirLib.EngineTypes.next = _menhir_stack;
15782 });
15783 (fun _menhir_env ->
15784 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15785 let {
15786 MenhirLib.EngineTypes.semv = _3;
15787 MenhirLib.EngineTypes.startp = _startpos__3_;
15788 MenhirLib.EngineTypes.endp = _endpos__3_;
15789 MenhirLib.EngineTypes.next = {
15790 MenhirLib.EngineTypes.semv = _2;
15791 MenhirLib.EngineTypes.startp = _startpos__2_;
15792 MenhirLib.EngineTypes.endp = _endpos__2_;
15793 MenhirLib.EngineTypes.next = {
15794 MenhirLib.EngineTypes.state = _menhir_s;
15795 MenhirLib.EngineTypes.semv = _1;
15796 MenhirLib.EngineTypes.startp = _startpos__1_;
15797 MenhirLib.EngineTypes.endp = _endpos__1_;
15798 MenhirLib.EngineTypes.next = _menhir_stack;
15799 };
15800 };
15801 } = _menhir_stack in
15802 let _3 : 'tv_enum_val = Obj.magic _3 in
15803 let _2 : (
15804 # 111 "parser_cocci_menhir.mly"
15805 (Data.clt)
15806 # 15807 "parser_cocci_menhir.ml"
15807 ) = Obj.magic _2 in
15808 let _1 : 'tv_ident = Obj.magic _1 in
15809 let _startpos = _startpos__1_ in
15810 let _endpos = _endpos__3_ in
15811 let _v : 'tv_enum_decl_one =
15812 # 676 "parser_cocci_menhir.mly"
15813 ( let id = Ast0.wrap(Ast0.Ident(_1)) in
15814 Ast0.wrap
15815 (Ast0.Assignment
15816 (id,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,
15817 false)) )
15818 # 15819 "parser_cocci_menhir.ml"
15819 in
15820 _menhir_env.MenhirLib.EngineTypes.stack <- {
15821 MenhirLib.EngineTypes.state = _menhir_s;
15822 MenhirLib.EngineTypes.semv = Obj.repr _v;
15823 MenhirLib.EngineTypes.startp = _startpos;
15824 MenhirLib.EngineTypes.endp = _endpos;
15825 MenhirLib.EngineTypes.next = _menhir_stack;
15826 });
15827 (fun _menhir_env ->
15828 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15829 let {
15830 MenhirLib.EngineTypes.state = _menhir_s;
15831 MenhirLib.EngineTypes.semv = _1;
15832 MenhirLib.EngineTypes.startp = _startpos__1_;
15833 MenhirLib.EngineTypes.endp = _endpos__1_;
15834 MenhirLib.EngineTypes.next = _menhir_stack;
15835 } = _menhir_stack in
15836 let _1 : 'tv_ident = Obj.magic _1 in
15837 let _startpos = _startpos__1_ in
15838 let _endpos = _endpos__1_ in
15839 let _v : 'tv_enum_val =
15840 # 683 "parser_cocci_menhir.mly"
15841 ( Ast0.wrap(Ast0.Ident(_1)) )
15842 # 15843 "parser_cocci_menhir.ml"
15843 in
15844 _menhir_env.MenhirLib.EngineTypes.stack <- {
15845 MenhirLib.EngineTypes.state = _menhir_s;
15846 MenhirLib.EngineTypes.semv = Obj.repr _v;
15847 MenhirLib.EngineTypes.startp = _startpos;
15848 MenhirLib.EngineTypes.endp = _endpos;
15849 MenhirLib.EngineTypes.next = _menhir_stack;
15850 });
15851 (fun _menhir_env ->
15852 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15853 let {
15854 MenhirLib.EngineTypes.state = _menhir_s;
15855 MenhirLib.EngineTypes.semv = _1;
15856 MenhirLib.EngineTypes.startp = _startpos__1_;
15857 MenhirLib.EngineTypes.endp = _endpos__1_;
15858 MenhirLib.EngineTypes.next = _menhir_stack;
15859 } = _menhir_stack in
15860 let _1 : (
15861 # 91 "parser_cocci_menhir.mly"
15862 (string * Data.clt)
15863 # 15864 "parser_cocci_menhir.ml"
15864 ) = Obj.magic _1 in
15865 let _startpos = _startpos__1_ in
15866 let _endpos = _endpos__1_ in
15867 let _v : 'tv_enum_val =
15868 # 685 "parser_cocci_menhir.mly"
15869 ( let (x,clt) = _1 in
15870 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
15871 # 15872 "parser_cocci_menhir.ml"
15872 in
15873 _menhir_env.MenhirLib.EngineTypes.stack <- {
15874 MenhirLib.EngineTypes.state = _menhir_s;
15875 MenhirLib.EngineTypes.semv = Obj.repr _v;
15876 MenhirLib.EngineTypes.startp = _startpos;
15877 MenhirLib.EngineTypes.endp = _endpos;
15878 MenhirLib.EngineTypes.next = _menhir_stack;
15879 });
15880 (fun _menhir_env ->
15881 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15882 let {
15883 MenhirLib.EngineTypes.state = _menhir_s;
15884 MenhirLib.EngineTypes.semv = _1;
15885 MenhirLib.EngineTypes.startp = _startpos__1_;
15886 MenhirLib.EngineTypes.endp = _endpos__1_;
15887 MenhirLib.EngineTypes.next = _menhir_stack;
15888 } = _menhir_stack in
15889 let _1 : (
15890 # 71 "parser_cocci_menhir.mly"
15891 (Parse_aux.typed_expinfo)
15892 # 15893 "parser_cocci_menhir.ml"
15893 ) = Obj.magic _1 in
15894 let _startpos = _startpos__1_ in
15895 let _endpos = _endpos__1_ in
15896 let _v : 'tv_enum_val =
15897 # 688 "parser_cocci_menhir.mly"
15898 ( let (nm,constraints,pure,ty,clt) = _1 in
15899 Ast0.wrap
15900 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
15901 # 15902 "parser_cocci_menhir.ml"
15902 in
15903 _menhir_env.MenhirLib.EngineTypes.stack <- {
15904 MenhirLib.EngineTypes.state = _menhir_s;
15905 MenhirLib.EngineTypes.semv = Obj.repr _v;
15906 MenhirLib.EngineTypes.startp = _startpos;
15907 MenhirLib.EngineTypes.endp = _endpos;
15908 MenhirLib.EngineTypes.next = _menhir_stack;
15909 });
15910 (fun _menhir_env ->
15911 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15912 let {
15913 MenhirLib.EngineTypes.state = _menhir_s;
15914 MenhirLib.EngineTypes.semv = _1;
15915 MenhirLib.EngineTypes.startp = _startpos__1_;
15916 MenhirLib.EngineTypes.endp = _endpos__1_;
15917 MenhirLib.EngineTypes.next = _menhir_stack;
15918 } = _menhir_stack in
15919 let _1 : (
15920 # 71 "parser_cocci_menhir.mly"
15921 (Parse_aux.typed_expinfo)
15922 # 15923 "parser_cocci_menhir.ml"
15923 ) = Obj.magic _1 in
15924 let _startpos = _startpos__1_ in
15925 let _endpos = _endpos__1_ in
15926 let _v : 'tv_enum_val =
15927 # 692 "parser_cocci_menhir.mly"
15928 ( let (nm,constraints,pure,ty,clt) = _1 in
15929 Ast0.wrap
15930 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
15931 # 15932 "parser_cocci_menhir.ml"
15932 in
15933 _menhir_env.MenhirLib.EngineTypes.stack <- {
15934 MenhirLib.EngineTypes.state = _menhir_s;
15935 MenhirLib.EngineTypes.semv = Obj.repr _v;
15936 MenhirLib.EngineTypes.startp = _startpos;
15937 MenhirLib.EngineTypes.endp = _endpos;
15938 MenhirLib.EngineTypes.next = _menhir_stack;
15939 });
15940 (fun _menhir_env ->
15941 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15942 let {
15943 MenhirLib.EngineTypes.state = _menhir_s;
15944 MenhirLib.EngineTypes.semv = _1;
15945 MenhirLib.EngineTypes.startp = _startpos__1_;
15946 MenhirLib.EngineTypes.endp = _endpos__1_;
15947 MenhirLib.EngineTypes.next = _menhir_stack;
15948 } = _menhir_stack in
15949 let _1 : (
15950 # 71 "parser_cocci_menhir.mly"
15951 (Parse_aux.typed_expinfo)
15952 # 15953 "parser_cocci_menhir.ml"
15953 ) = Obj.magic _1 in
15954 let _startpos = _startpos__1_ in
15955 let _endpos = _endpos__1_ in
15956 let _v : 'tv_enum_val =
15957 # 696 "parser_cocci_menhir.mly"
15958 ( let (nm,constraints,pure,ty,clt) = _1 in
15959 Ast0.wrap
15960 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
15961 # 15962 "parser_cocci_menhir.ml"
15962 in
15963 _menhir_env.MenhirLib.EngineTypes.stack <- {
15964 MenhirLib.EngineTypes.state = _menhir_s;
15965 MenhirLib.EngineTypes.semv = Obj.repr _v;
15966 MenhirLib.EngineTypes.startp = _startpos;
15967 MenhirLib.EngineTypes.endp = _endpos;
15968 MenhirLib.EngineTypes.next = _menhir_stack;
15969 });
15970 (fun _menhir_env ->
15971 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15972 let {
15973 MenhirLib.EngineTypes.state = _menhir_s;
15974 MenhirLib.EngineTypes.startp = _startpos__1_;
15975 MenhirLib.EngineTypes.endp = _endpos__1_;
15976 MenhirLib.EngineTypes.next = _menhir_stack;
15977 } = _menhir_stack in
15978 let _startpos = _startpos__1_ in
15979 let _endpos = _endpos__1_ in
15980 let _v : 'tv_exists =
15981 # 249 "parser_cocci_menhir.mly"
15982 ( Ast.Exists )
15983 # 15984 "parser_cocci_menhir.ml"
15984 in
15985 _menhir_env.MenhirLib.EngineTypes.stack <- {
15986 MenhirLib.EngineTypes.state = _menhir_s;
15987 MenhirLib.EngineTypes.semv = Obj.repr _v;
15988 MenhirLib.EngineTypes.startp = _startpos;
15989 MenhirLib.EngineTypes.endp = _endpos;
15990 MenhirLib.EngineTypes.next = _menhir_stack;
15991 });
15992 (fun _menhir_env ->
15993 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
15994 let {
15995 MenhirLib.EngineTypes.state = _menhir_s;
15996 MenhirLib.EngineTypes.startp = _startpos__1_;
15997 MenhirLib.EngineTypes.endp = _endpos__1_;
15998 MenhirLib.EngineTypes.next = _menhir_stack;
15999 } = _menhir_stack in
16000 let _startpos = _startpos__1_ in
16001 let _endpos = _endpos__1_ in
16002 let _v : 'tv_exists =
16003 # 250 "parser_cocci_menhir.mly"
16004 ( Ast.Forall )
16005 # 16006 "parser_cocci_menhir.ml"
16006 in
16007 _menhir_env.MenhirLib.EngineTypes.stack <- {
16008 MenhirLib.EngineTypes.state = _menhir_s;
16009 MenhirLib.EngineTypes.semv = Obj.repr _v;
16010 MenhirLib.EngineTypes.startp = _startpos;
16011 MenhirLib.EngineTypes.endp = _endpos;
16012 MenhirLib.EngineTypes.next = _menhir_stack;
16013 });
16014 (fun _menhir_env ->
16015 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16016 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16017 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16018 let _endpos = _startpos in
16019 let _v : 'tv_exists =
16020 # 251 "parser_cocci_menhir.mly"
16021 ( Ast.Undetermined )
16022 # 16023 "parser_cocci_menhir.ml"
16023 in
16024 _menhir_env.MenhirLib.EngineTypes.stack <- {
16025 MenhirLib.EngineTypes.state = _menhir_s;
16026 MenhirLib.EngineTypes.semv = Obj.repr _v;
16027 MenhirLib.EngineTypes.startp = _startpos;
16028 MenhirLib.EngineTypes.endp = _endpos;
16029 MenhirLib.EngineTypes.next = _menhir_stack;
16030 });
16031 (fun _menhir_env ->
16032 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16033 let {
16034 MenhirLib.EngineTypes.state = _menhir_s;
16035 MenhirLib.EngineTypes.semv = _1;
16036 MenhirLib.EngineTypes.startp = _startpos__1_;
16037 MenhirLib.EngineTypes.endp = _endpos__1_;
16038 MenhirLib.EngineTypes.next = _menhir_stack;
16039 } = _menhir_stack in
16040 let _1 : 'tv_basic_expr_expr_invalid_ = Obj.magic _1 in
16041 let _startpos = _startpos__1_ in
16042 let _endpos = _endpos__1_ in
16043 let _v : 'tv_expr =
16044 # 1288 "parser_cocci_menhir.mly"
16045 ( _1 )
16046 # 16047 "parser_cocci_menhir.ml"
16047 in
16048 _menhir_env.MenhirLib.EngineTypes.stack <- {
16049 MenhirLib.EngineTypes.state = _menhir_s;
16050 MenhirLib.EngineTypes.semv = Obj.repr _v;
16051 MenhirLib.EngineTypes.startp = _startpos;
16052 MenhirLib.EngineTypes.endp = _endpos;
16053 MenhirLib.EngineTypes.next = _menhir_stack;
16054 });
16055 (fun _menhir_env ->
16056 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16057 let {
16058 MenhirLib.EngineTypes.state = _menhir_s;
16059 MenhirLib.EngineTypes.semv = r;
16060 MenhirLib.EngineTypes.startp = _startpos_r_;
16061 MenhirLib.EngineTypes.endp = _endpos_r_;
16062 MenhirLib.EngineTypes.next = _menhir_stack;
16063 } = _menhir_stack in
16064 let r : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = Obj.magic r in
16065 let _startpos = _startpos_r_ in
16066 let _endpos = _endpos_r_ in
16067 let _v : 'tv_expr_dots_TEllipsis_ =
16068 # 1524 "parser_cocci_menhir.mly"
16069 ( r )
16070 # 16071 "parser_cocci_menhir.ml"
16071 in
16072 _menhir_env.MenhirLib.EngineTypes.stack <- {
16073 MenhirLib.EngineTypes.state = _menhir_s;
16074 MenhirLib.EngineTypes.semv = Obj.repr _v;
16075 MenhirLib.EngineTypes.startp = _startpos;
16076 MenhirLib.EngineTypes.endp = _endpos;
16077 MenhirLib.EngineTypes.next = _menhir_stack;
16078 });
16079 (fun _menhir_env ->
16080 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16081 let {
16082 MenhirLib.EngineTypes.state = _menhir_s;
16083 MenhirLib.EngineTypes.semv = m;
16084 MenhirLib.EngineTypes.startp = _startpos_m_;
16085 MenhirLib.EngineTypes.endp = _endpos_m_;
16086 MenhirLib.EngineTypes.next = _menhir_stack;
16087 } = _menhir_stack in
16088 let m : 'tv_nonempty_list_TMul_ = Obj.magic m in
16089 let _startpos = _startpos_m_ in
16090 let _endpos = _endpos_m_ in
16091 let _v : 'tv_expression_type =
16092 # 475 "parser_cocci_menhir.mly"
16093 ( P.ty_pointerify Type_cocci.Unknown m )
16094 # 16095 "parser_cocci_menhir.ml"
16095 in
16096 _menhir_env.MenhirLib.EngineTypes.stack <- {
16097 MenhirLib.EngineTypes.state = _menhir_s;
16098 MenhirLib.EngineTypes.semv = Obj.repr _v;
16099 MenhirLib.EngineTypes.startp = _startpos;
16100 MenhirLib.EngineTypes.endp = _endpos;
16101 MenhirLib.EngineTypes.next = _menhir_stack;
16102 });
16103 (fun _menhir_env ->
16104 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16105 let {
16106 MenhirLib.EngineTypes.semv = m;
16107 MenhirLib.EngineTypes.startp = _startpos_m_;
16108 MenhirLib.EngineTypes.endp = _endpos_m_;
16109 MenhirLib.EngineTypes.next = {
16110 MenhirLib.EngineTypes.state = _menhir_s;
16111 MenhirLib.EngineTypes.startp = _startpos__1_;
16112 MenhirLib.EngineTypes.endp = _endpos__1_;
16113 MenhirLib.EngineTypes.next = _menhir_stack;
16114 };
16115 } = _menhir_stack in
16116 let m : 'tv_list_TMul_ = Obj.magic m in
16117 let _startpos = _startpos__1_ in
16118 let _endpos = _endpos_m_ in
16119 let _v : 'tv_expression_type =
16120 # 477 "parser_cocci_menhir.mly"
16121 ( P.ty_pointerify (Type_cocci.EnumName Type_cocci.NoName) m )
16122 # 16123 "parser_cocci_menhir.ml"
16123 in
16124 _menhir_env.MenhirLib.EngineTypes.stack <- {
16125 MenhirLib.EngineTypes.state = _menhir_s;
16126 MenhirLib.EngineTypes.semv = Obj.repr _v;
16127 MenhirLib.EngineTypes.startp = _startpos;
16128 MenhirLib.EngineTypes.endp = _endpos;
16129 MenhirLib.EngineTypes.next = _menhir_stack;
16130 });
16131 (fun _menhir_env ->
16132 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16133 let {
16134 MenhirLib.EngineTypes.semv = m;
16135 MenhirLib.EngineTypes.startp = _startpos_m_;
16136 MenhirLib.EngineTypes.endp = _endpos_m_;
16137 MenhirLib.EngineTypes.next = {
16138 MenhirLib.EngineTypes.state = _menhir_s;
16139 MenhirLib.EngineTypes.startp = _startpos__1_;
16140 MenhirLib.EngineTypes.endp = _endpos__1_;
16141 MenhirLib.EngineTypes.next = _menhir_stack;
16142 };
16143 } = _menhir_stack in
16144 let m : 'tv_list_TMul_ = Obj.magic m in
16145 let _startpos = _startpos__1_ in
16146 let _endpos = _endpos_m_ in
16147 let _v : 'tv_expression_type =
16148 # 479 "parser_cocci_menhir.mly"
16149 ( P.ty_pointerify
16150 (Type_cocci.StructUnionName (Type_cocci.Struct,Type_cocci.NoName)) m )
16151 # 16152 "parser_cocci_menhir.ml"
16152 in
16153 _menhir_env.MenhirLib.EngineTypes.stack <- {
16154 MenhirLib.EngineTypes.state = _menhir_s;
16155 MenhirLib.EngineTypes.semv = Obj.repr _v;
16156 MenhirLib.EngineTypes.startp = _startpos;
16157 MenhirLib.EngineTypes.endp = _endpos;
16158 MenhirLib.EngineTypes.next = _menhir_stack;
16159 });
16160 (fun _menhir_env ->
16161 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16162 let {
16163 MenhirLib.EngineTypes.semv = m;
16164 MenhirLib.EngineTypes.startp = _startpos_m_;
16165 MenhirLib.EngineTypes.endp = _endpos_m_;
16166 MenhirLib.EngineTypes.next = {
16167 MenhirLib.EngineTypes.state = _menhir_s;
16168 MenhirLib.EngineTypes.startp = _startpos__1_;
16169 MenhirLib.EngineTypes.endp = _endpos__1_;
16170 MenhirLib.EngineTypes.next = _menhir_stack;
16171 };
16172 } = _menhir_stack in
16173 let m : 'tv_list_TMul_ = Obj.magic m in
16174 let _startpos = _startpos__1_ in
16175 let _endpos = _endpos_m_ in
16176 let _v : 'tv_expression_type =
16177 # 482 "parser_cocci_menhir.mly"
16178 ( P.ty_pointerify
16179 (Type_cocci.StructUnionName (Type_cocci.Union,Type_cocci.NoName)) m )
16180 # 16181 "parser_cocci_menhir.ml"
16181 in
16182 _menhir_env.MenhirLib.EngineTypes.stack <- {
16183 MenhirLib.EngineTypes.state = _menhir_s;
16184 MenhirLib.EngineTypes.semv = Obj.repr _v;
16185 MenhirLib.EngineTypes.startp = _startpos;
16186 MenhirLib.EngineTypes.endp = _endpos;
16187 MenhirLib.EngineTypes.next = _menhir_stack;
16188 });
16189 (fun _menhir_env ->
16190 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16191 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16192 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16193 let _endpos = _startpos in
16194 let _v : 'tv_extends =
16195 # 222 "parser_cocci_menhir.mly"
16196 ( () )
16197 # 16198 "parser_cocci_menhir.ml"
16198 in
16199 _menhir_env.MenhirLib.EngineTypes.stack <- {
16200 MenhirLib.EngineTypes.state = _menhir_s;
16201 MenhirLib.EngineTypes.semv = Obj.repr _v;
16202 MenhirLib.EngineTypes.startp = _startpos;
16203 MenhirLib.EngineTypes.endp = _endpos;
16204 MenhirLib.EngineTypes.next = _menhir_stack;
16205 });
16206 (fun _menhir_env ->
16207 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16208 let {
16209 MenhirLib.EngineTypes.semv = parent;
16210 MenhirLib.EngineTypes.startp = _startpos_parent_;
16211 MenhirLib.EngineTypes.endp = _endpos_parent_;
16212 MenhirLib.EngineTypes.next = {
16213 MenhirLib.EngineTypes.state = _menhir_s;
16214 MenhirLib.EngineTypes.startp = _startpos__1_;
16215 MenhirLib.EngineTypes.endp = _endpos__1_;
16216 MenhirLib.EngineTypes.next = _menhir_stack;
16217 };
16218 } = _menhir_stack in
16219 let parent : (
16220 # 49 "parser_cocci_menhir.mly"
16221 (string)
16222 # 16223 "parser_cocci_menhir.ml"
16223 ) = Obj.magic parent in
16224 let _startpos = _startpos__1_ in
16225 let _endpos = _endpos_parent_ in
16226 let _v : 'tv_extends =
16227 # 224 "parser_cocci_menhir.mly"
16228 ( !Data.install_bindings (parent) )
16229 # 16230 "parser_cocci_menhir.ml"
16230 in
16231 _menhir_env.MenhirLib.EngineTypes.stack <- {
16232 MenhirLib.EngineTypes.state = _menhir_s;
16233 MenhirLib.EngineTypes.semv = Obj.repr _v;
16234 MenhirLib.EngineTypes.startp = _startpos;
16235 MenhirLib.EngineTypes.endp = _endpos;
16236 MenhirLib.EngineTypes.next = _menhir_stack;
16237 });
16238 (fun _menhir_env ->
16239 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16240 let {
16241 MenhirLib.EngineTypes.semv = _2;
16242 MenhirLib.EngineTypes.startp = _startpos__2_;
16243 MenhirLib.EngineTypes.endp = _endpos__2_;
16244 MenhirLib.EngineTypes.next = {
16245 MenhirLib.EngineTypes.state = _menhir_s;
16246 MenhirLib.EngineTypes.semv = _1;
16247 MenhirLib.EngineTypes.startp = _startpos__1_;
16248 MenhirLib.EngineTypes.endp = _endpos__1_;
16249 MenhirLib.EngineTypes.next = _menhir_stack;
16250 };
16251 } = _menhir_stack in
16252 let _2 : (
16253 # 87 "parser_cocci_menhir.mly"
16254 (string * Data.clt)
16255 # 16256 "parser_cocci_menhir.ml"
16256 ) = Obj.magic _2 in
16257 let _1 : (
16258 # 87 "parser_cocci_menhir.mly"
16259 (string * Data.clt)
16260 # 16261 "parser_cocci_menhir.ml"
16261 ) = Obj.magic _1 in
16262 let _startpos = _startpos__1_ in
16263 let _endpos = _endpos__2_ in
16264 let _v : 'tv_filespec =
16265 # 739 "parser_cocci_menhir.mly"
16266 ( [Ast0.wrap
16267 (Ast0.FILEINFO(P.id2mcode _1,
16268 P.id2mcode _2))] )
16269 # 16270 "parser_cocci_menhir.ml"
16270 in
16271 _menhir_env.MenhirLib.EngineTypes.stack <- {
16272 MenhirLib.EngineTypes.state = _menhir_s;
16273 MenhirLib.EngineTypes.semv = Obj.repr _v;
16274 MenhirLib.EngineTypes.startp = _startpos;
16275 MenhirLib.EngineTypes.endp = _endpos;
16276 MenhirLib.EngineTypes.next = _menhir_stack;
16277 });
16278 (fun _menhir_env ->
16279 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16280 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16281 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16282 let _endpos = _startpos in
16283 let _v : 'tv_fninfo =
16284 # 874 "parser_cocci_menhir.mly"
16285 ( [] )
16286 # 16287 "parser_cocci_menhir.ml"
16287 in
16288 _menhir_env.MenhirLib.EngineTypes.stack <- {
16289 MenhirLib.EngineTypes.state = _menhir_s;
16290 MenhirLib.EngineTypes.semv = Obj.repr _v;
16291 MenhirLib.EngineTypes.startp = _startpos;
16292 MenhirLib.EngineTypes.endp = _endpos;
16293 MenhirLib.EngineTypes.next = _menhir_stack;
16294 });
16295 (fun _menhir_env ->
16296 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16297 let {
16298 MenhirLib.EngineTypes.semv = _2;
16299 MenhirLib.EngineTypes.startp = _startpos__2_;
16300 MenhirLib.EngineTypes.endp = _endpos__2_;
16301 MenhirLib.EngineTypes.next = {
16302 MenhirLib.EngineTypes.state = _menhir_s;
16303 MenhirLib.EngineTypes.semv = _1;
16304 MenhirLib.EngineTypes.startp = _startpos__1_;
16305 MenhirLib.EngineTypes.endp = _endpos__1_;
16306 MenhirLib.EngineTypes.next = _menhir_stack;
16307 };
16308 } = _menhir_stack in
16309 let _2 : 'tv_fninfo = Obj.magic _2 in
16310 let _1 : 'tv_storage = Obj.magic _1 in
16311 let _startpos = _startpos__1_ in
16312 let _endpos = _endpos__2_ in
16313 let _v : 'tv_fninfo =
16314 # 876 "parser_cocci_menhir.mly"
16315 ( try
16316 let _ =
16317 List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
16318 raise (Semantic_cocci.Semantic "duplicate storage")
16319 with Not_found -> (Ast0.FStorage(_1))::_2 )
16320 # 16321 "parser_cocci_menhir.ml"
16321 in
16322 _menhir_env.MenhirLib.EngineTypes.stack <- {
16323 MenhirLib.EngineTypes.state = _menhir_s;
16324 MenhirLib.EngineTypes.semv = Obj.repr _v;
16325 MenhirLib.EngineTypes.startp = _startpos;
16326 MenhirLib.EngineTypes.endp = _endpos;
16327 MenhirLib.EngineTypes.next = _menhir_stack;
16328 });
16329 (fun _menhir_env ->
16330 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16331 let {
16332 MenhirLib.EngineTypes.semv = r;
16333 MenhirLib.EngineTypes.startp = _startpos_r_;
16334 MenhirLib.EngineTypes.endp = _endpos_r_;
16335 MenhirLib.EngineTypes.next = {
16336 MenhirLib.EngineTypes.state = _menhir_s;
16337 MenhirLib.EngineTypes.semv = t;
16338 MenhirLib.EngineTypes.startp = _startpos_t_;
16339 MenhirLib.EngineTypes.endp = _endpos_t_;
16340 MenhirLib.EngineTypes.next = _menhir_stack;
16341 };
16342 } = _menhir_stack in
16343 let r : 'tv_fninfo_nt = Obj.magic r in
16344 let t : 'tv_ctype = Obj.magic t in
16345 let _startpos = _startpos_t_ in
16346 let _endpos = _endpos_r_ in
16347 let _v : 'tv_fninfo =
16348 # 881 "parser_cocci_menhir.mly"
16349 ( (Ast0.FType(t))::r )
16350 # 16351 "parser_cocci_menhir.ml"
16351 in
16352 _menhir_env.MenhirLib.EngineTypes.stack <- {
16353 MenhirLib.EngineTypes.state = _menhir_s;
16354 MenhirLib.EngineTypes.semv = Obj.repr _v;
16355 MenhirLib.EngineTypes.startp = _startpos;
16356 MenhirLib.EngineTypes.endp = _endpos;
16357 MenhirLib.EngineTypes.next = _menhir_stack;
16358 });
16359 (fun _menhir_env ->
16360 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16361 let {
16362 MenhirLib.EngineTypes.semv = _2;
16363 MenhirLib.EngineTypes.startp = _startpos__2_;
16364 MenhirLib.EngineTypes.endp = _endpos__2_;
16365 MenhirLib.EngineTypes.next = {
16366 MenhirLib.EngineTypes.state = _menhir_s;
16367 MenhirLib.EngineTypes.semv = _1;
16368 MenhirLib.EngineTypes.startp = _startpos__1_;
16369 MenhirLib.EngineTypes.endp = _endpos__1_;
16370 MenhirLib.EngineTypes.next = _menhir_stack;
16371 };
16372 } = _menhir_stack in
16373 let _2 : 'tv_fninfo = Obj.magic _2 in
16374 let _1 : (
16375 # 56 "parser_cocci_menhir.mly"
16376 (Data.clt)
16377 # 16378 "parser_cocci_menhir.ml"
16378 ) = Obj.magic _1 in
16379 let _startpos = _startpos__1_ in
16380 let _endpos = _endpos__2_ in
16381 let _v : 'tv_fninfo =
16382 # 883 "parser_cocci_menhir.mly"
16383 ( try
16384 let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
16385 raise (Semantic_cocci.Semantic "duplicate inline")
16386 with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
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.semv = _2;
16400 MenhirLib.EngineTypes.startp = _startpos__2_;
16401 MenhirLib.EngineTypes.endp = _endpos__2_;
16402 MenhirLib.EngineTypes.next = {
16403 MenhirLib.EngineTypes.state = _menhir_s;
16404 MenhirLib.EngineTypes.semv = _1;
16405 MenhirLib.EngineTypes.startp = _startpos__1_;
16406 MenhirLib.EngineTypes.endp = _endpos__1_;
16407 MenhirLib.EngineTypes.next = _menhir_stack;
16408 };
16409 } = _menhir_stack in
16410 let _2 : 'tv_fninfo = Obj.magic _2 in
16411 let _1 : (
16412 # 58 "parser_cocci_menhir.mly"
16413 (string * Data.clt)
16414 # 16415 "parser_cocci_menhir.ml"
16415 ) = Obj.magic _1 in
16416 let _startpos = _startpos__1_ in
16417 let _endpos = _endpos__2_ in
16418 let _v : 'tv_fninfo =
16419 # 888 "parser_cocci_menhir.mly"
16420 ( try
16421 let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
16422 raise (Semantic_cocci.Semantic "multiple attributes")
16423 with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
16424 # 16425 "parser_cocci_menhir.ml"
16425 in
16426 _menhir_env.MenhirLib.EngineTypes.stack <- {
16427 MenhirLib.EngineTypes.state = _menhir_s;
16428 MenhirLib.EngineTypes.semv = Obj.repr _v;
16429 MenhirLib.EngineTypes.startp = _startpos;
16430 MenhirLib.EngineTypes.endp = _endpos;
16431 MenhirLib.EngineTypes.next = _menhir_stack;
16432 });
16433 (fun _menhir_env ->
16434 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16435 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16436 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16437 let _endpos = _startpos in
16438 let _v : 'tv_fninfo_nt =
16439 # 894 "parser_cocci_menhir.mly"
16440 ( [] )
16441 # 16442 "parser_cocci_menhir.ml"
16442 in
16443 _menhir_env.MenhirLib.EngineTypes.stack <- {
16444 MenhirLib.EngineTypes.state = _menhir_s;
16445 MenhirLib.EngineTypes.semv = Obj.repr _v;
16446 MenhirLib.EngineTypes.startp = _startpos;
16447 MenhirLib.EngineTypes.endp = _endpos;
16448 MenhirLib.EngineTypes.next = _menhir_stack;
16449 });
16450 (fun _menhir_env ->
16451 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16452 let {
16453 MenhirLib.EngineTypes.semv = _2;
16454 MenhirLib.EngineTypes.startp = _startpos__2_;
16455 MenhirLib.EngineTypes.endp = _endpos__2_;
16456 MenhirLib.EngineTypes.next = {
16457 MenhirLib.EngineTypes.state = _menhir_s;
16458 MenhirLib.EngineTypes.semv = _1;
16459 MenhirLib.EngineTypes.startp = _startpos__1_;
16460 MenhirLib.EngineTypes.endp = _endpos__1_;
16461 MenhirLib.EngineTypes.next = _menhir_stack;
16462 };
16463 } = _menhir_stack in
16464 let _2 : 'tv_fninfo_nt = Obj.magic _2 in
16465 let _1 : 'tv_storage = Obj.magic _1 in
16466 let _startpos = _startpos__1_ in
16467 let _endpos = _endpos__2_ in
16468 let _v : 'tv_fninfo_nt =
16469 # 896 "parser_cocci_menhir.mly"
16470 ( try
16471 let _ =
16472 List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
16473 raise (Semantic_cocci.Semantic "duplicate storage")
16474 with Not_found -> (Ast0.FStorage(_1))::_2 )
16475 # 16476 "parser_cocci_menhir.ml"
16476 in
16477 _menhir_env.MenhirLib.EngineTypes.stack <- {
16478 MenhirLib.EngineTypes.state = _menhir_s;
16479 MenhirLib.EngineTypes.semv = Obj.repr _v;
16480 MenhirLib.EngineTypes.startp = _startpos;
16481 MenhirLib.EngineTypes.endp = _endpos;
16482 MenhirLib.EngineTypes.next = _menhir_stack;
16483 });
16484 (fun _menhir_env ->
16485 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16486 let {
16487 MenhirLib.EngineTypes.semv = _2;
16488 MenhirLib.EngineTypes.startp = _startpos__2_;
16489 MenhirLib.EngineTypes.endp = _endpos__2_;
16490 MenhirLib.EngineTypes.next = {
16491 MenhirLib.EngineTypes.state = _menhir_s;
16492 MenhirLib.EngineTypes.semv = _1;
16493 MenhirLib.EngineTypes.startp = _startpos__1_;
16494 MenhirLib.EngineTypes.endp = _endpos__1_;
16495 MenhirLib.EngineTypes.next = _menhir_stack;
16496 };
16497 } = _menhir_stack in
16498 let _2 : 'tv_fninfo_nt = Obj.magic _2 in
16499 let _1 : (
16500 # 56 "parser_cocci_menhir.mly"
16501 (Data.clt)
16502 # 16503 "parser_cocci_menhir.ml"
16503 ) = Obj.magic _1 in
16504 let _startpos = _startpos__1_ in
16505 let _endpos = _endpos__2_ in
16506 let _v : 'tv_fninfo_nt =
16507 # 902 "parser_cocci_menhir.mly"
16508 ( try
16509 let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
16510 raise (Semantic_cocci.Semantic "duplicate inline")
16511 with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
16512 # 16513 "parser_cocci_menhir.ml"
16513 in
16514 _menhir_env.MenhirLib.EngineTypes.stack <- {
16515 MenhirLib.EngineTypes.state = _menhir_s;
16516 MenhirLib.EngineTypes.semv = Obj.repr _v;
16517 MenhirLib.EngineTypes.startp = _startpos;
16518 MenhirLib.EngineTypes.endp = _endpos;
16519 MenhirLib.EngineTypes.next = _menhir_stack;
16520 });
16521 (fun _menhir_env ->
16522 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16523 let {
16524 MenhirLib.EngineTypes.semv = _2;
16525 MenhirLib.EngineTypes.startp = _startpos__2_;
16526 MenhirLib.EngineTypes.endp = _endpos__2_;
16527 MenhirLib.EngineTypes.next = {
16528 MenhirLib.EngineTypes.state = _menhir_s;
16529 MenhirLib.EngineTypes.semv = _1;
16530 MenhirLib.EngineTypes.startp = _startpos__1_;
16531 MenhirLib.EngineTypes.endp = _endpos__1_;
16532 MenhirLib.EngineTypes.next = _menhir_stack;
16533 };
16534 } = _menhir_stack in
16535 let _2 : 'tv_fninfo_nt = Obj.magic _2 in
16536 let _1 : (
16537 # 58 "parser_cocci_menhir.mly"
16538 (string * Data.clt)
16539 # 16540 "parser_cocci_menhir.ml"
16540 ) = Obj.magic _1 in
16541 let _startpos = _startpos__1_ in
16542 let _endpos = _endpos__2_ in
16543 let _v : 'tv_fninfo_nt =
16544 # 907 "parser_cocci_menhir.mly"
16545 ( try
16546 let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
16547 raise (Semantic_cocci.Semantic "duplicate init")
16548 with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
16549 # 16550 "parser_cocci_menhir.ml"
16550 in
16551 _menhir_env.MenhirLib.EngineTypes.stack <- {
16552 MenhirLib.EngineTypes.state = _menhir_s;
16553 MenhirLib.EngineTypes.semv = Obj.repr _v;
16554 MenhirLib.EngineTypes.startp = _startpos;
16555 MenhirLib.EngineTypes.endp = _endpos;
16556 MenhirLib.EngineTypes.next = _menhir_stack;
16557 });
16558 (fun _menhir_env ->
16559 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16560 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16561 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16562 let _endpos = _startpos in
16563 let _v : 'tv_fun_after_dots =
16564 # 2015 "parser_cocci_menhir.mly"
16565 ([])
16566 # 16567 "parser_cocci_menhir.ml"
16567 in
16568 _menhir_env.MenhirLib.EngineTypes.stack <- {
16569 MenhirLib.EngineTypes.state = _menhir_s;
16570 MenhirLib.EngineTypes.semv = Obj.repr _v;
16571 MenhirLib.EngineTypes.startp = _startpos;
16572 MenhirLib.EngineTypes.endp = _endpos;
16573 MenhirLib.EngineTypes.next = _menhir_stack;
16574 });
16575 (fun _menhir_env ->
16576 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16577 let {
16578 MenhirLib.EngineTypes.semv = _2;
16579 MenhirLib.EngineTypes.startp = _startpos__2_;
16580 MenhirLib.EngineTypes.endp = _endpos__2_;
16581 MenhirLib.EngineTypes.next = {
16582 MenhirLib.EngineTypes.state = _menhir_s;
16583 MenhirLib.EngineTypes.startp = _startpos__1_;
16584 MenhirLib.EngineTypes.endp = _endpos__1_;
16585 MenhirLib.EngineTypes.next = _menhir_stack;
16586 };
16587 } = _menhir_stack in
16588 let _2 : 'tv_fun_after_exp = Obj.magic _2 in
16589 let _startpos = _startpos__1_ in
16590 let _endpos = _endpos__2_ in
16591 let _v : 'tv_fun_after_dots =
16592 # 2016 "parser_cocci_menhir.mly"
16593 (_2)
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.semv = _2;
16607 MenhirLib.EngineTypes.startp = _startpos__2_;
16608 MenhirLib.EngineTypes.endp = _endpos__2_;
16609 MenhirLib.EngineTypes.next = {
16610 MenhirLib.EngineTypes.state = _menhir_s;
16611 MenhirLib.EngineTypes.semv = _1;
16612 MenhirLib.EngineTypes.startp = _startpos__1_;
16613 MenhirLib.EngineTypes.endp = _endpos__1_;
16614 MenhirLib.EngineTypes.next = _menhir_stack;
16615 };
16616 } = _menhir_stack in
16617 let _2 : 'tv_fun_after_exp = Obj.magic _2 in
16618 let _1 : 'tv_expr = Obj.magic _1 in
16619 let _startpos = _startpos__1_ in
16620 let _endpos = _endpos__2_ in
16621 let _v : 'tv_fun_after_dots =
16622 # 2017 "parser_cocci_menhir.mly"
16623 (Ast0.wrap(Ast0.Exp(_1))::_2)
16624 # 16625 "parser_cocci_menhir.ml"
16625 in
16626 _menhir_env.MenhirLib.EngineTypes.stack <- {
16627 MenhirLib.EngineTypes.state = _menhir_s;
16628 MenhirLib.EngineTypes.semv = Obj.repr _v;
16629 MenhirLib.EngineTypes.startp = _startpos;
16630 MenhirLib.EngineTypes.endp = _endpos;
16631 MenhirLib.EngineTypes.next = _menhir_stack;
16632 });
16633 (fun _menhir_env ->
16634 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16635 let {
16636 MenhirLib.EngineTypes.semv = _2;
16637 MenhirLib.EngineTypes.startp = _startpos__2_;
16638 MenhirLib.EngineTypes.endp = _endpos__2_;
16639 MenhirLib.EngineTypes.next = {
16640 MenhirLib.EngineTypes.state = _menhir_s;
16641 MenhirLib.EngineTypes.semv = _1;
16642 MenhirLib.EngineTypes.startp = _startpos__1_;
16643 MenhirLib.EngineTypes.endp = _endpos__1_;
16644 MenhirLib.EngineTypes.next = _menhir_stack;
16645 };
16646 } = _menhir_stack in
16647 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
16648 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
16649 let _startpos = _startpos__1_ in
16650 let _endpos = _endpos__2_ in
16651 let _v : 'tv_fun_after_dots =
16652 # 2018 "parser_cocci_menhir.mly"
16653 (_1@_2)
16654 # 16655 "parser_cocci_menhir.ml"
16655 in
16656 _menhir_env.MenhirLib.EngineTypes.stack <- {
16657 MenhirLib.EngineTypes.state = _menhir_s;
16658 MenhirLib.EngineTypes.semv = Obj.repr _v;
16659 MenhirLib.EngineTypes.startp = _startpos;
16660 MenhirLib.EngineTypes.endp = _endpos;
16661 MenhirLib.EngineTypes.next = _menhir_stack;
16662 });
16663 (fun _menhir_env ->
16664 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16665 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16666 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16667 let _endpos = _startpos in
16668 let _v : 'tv_fun_after_dots_or =
16669 # 2025 "parser_cocci_menhir.mly"
16670 ([])
16671 # 16672 "parser_cocci_menhir.ml"
16672 in
16673 _menhir_env.MenhirLib.EngineTypes.stack <- {
16674 MenhirLib.EngineTypes.state = _menhir_s;
16675 MenhirLib.EngineTypes.semv = Obj.repr _v;
16676 MenhirLib.EngineTypes.startp = _startpos;
16677 MenhirLib.EngineTypes.endp = _endpos;
16678 MenhirLib.EngineTypes.next = _menhir_stack;
16679 });
16680 (fun _menhir_env ->
16681 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16682 let {
16683 MenhirLib.EngineTypes.semv = _2;
16684 MenhirLib.EngineTypes.startp = _startpos__2_;
16685 MenhirLib.EngineTypes.endp = _endpos__2_;
16686 MenhirLib.EngineTypes.next = {
16687 MenhirLib.EngineTypes.state = _menhir_s;
16688 MenhirLib.EngineTypes.startp = _startpos__1_;
16689 MenhirLib.EngineTypes.endp = _endpos__1_;
16690 MenhirLib.EngineTypes.next = _menhir_stack;
16691 };
16692 } = _menhir_stack in
16693 let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
16694 let _startpos = _startpos__1_ in
16695 let _endpos = _endpos__2_ in
16696 let _v : 'tv_fun_after_dots_or =
16697 # 2026 "parser_cocci_menhir.mly"
16698 (_2)
16699 # 16700 "parser_cocci_menhir.ml"
16700 in
16701 _menhir_env.MenhirLib.EngineTypes.stack <- {
16702 MenhirLib.EngineTypes.state = _menhir_s;
16703 MenhirLib.EngineTypes.semv = Obj.repr _v;
16704 MenhirLib.EngineTypes.startp = _startpos;
16705 MenhirLib.EngineTypes.endp = _endpos;
16706 MenhirLib.EngineTypes.next = _menhir_stack;
16707 });
16708 (fun _menhir_env ->
16709 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16710 let {
16711 MenhirLib.EngineTypes.semv = _2;
16712 MenhirLib.EngineTypes.startp = _startpos__2_;
16713 MenhirLib.EngineTypes.endp = _endpos__2_;
16714 MenhirLib.EngineTypes.next = {
16715 MenhirLib.EngineTypes.state = _menhir_s;
16716 MenhirLib.EngineTypes.semv = _1;
16717 MenhirLib.EngineTypes.startp = _startpos__1_;
16718 MenhirLib.EngineTypes.endp = _endpos__1_;
16719 MenhirLib.EngineTypes.next = _menhir_stack;
16720 };
16721 } = _menhir_stack in
16722 let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
16723 let _1 : 'tv_expr = Obj.magic _1 in
16724 let _startpos = _startpos__1_ in
16725 let _endpos = _endpos__2_ in
16726 let _v : 'tv_fun_after_dots_or =
16727 # 2027 "parser_cocci_menhir.mly"
16728 (Ast0.wrap(Ast0.Exp(_1))::_2)
16729 # 16730 "parser_cocci_menhir.ml"
16730 in
16731 _menhir_env.MenhirLib.EngineTypes.stack <- {
16732 MenhirLib.EngineTypes.state = _menhir_s;
16733 MenhirLib.EngineTypes.semv = Obj.repr _v;
16734 MenhirLib.EngineTypes.startp = _startpos;
16735 MenhirLib.EngineTypes.endp = _endpos;
16736 MenhirLib.EngineTypes.next = _menhir_stack;
16737 });
16738 (fun _menhir_env ->
16739 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16740 let {
16741 MenhirLib.EngineTypes.semv = _2;
16742 MenhirLib.EngineTypes.startp = _startpos__2_;
16743 MenhirLib.EngineTypes.endp = _endpos__2_;
16744 MenhirLib.EngineTypes.next = {
16745 MenhirLib.EngineTypes.state = _menhir_s;
16746 MenhirLib.EngineTypes.semv = _1;
16747 MenhirLib.EngineTypes.startp = _startpos__1_;
16748 MenhirLib.EngineTypes.endp = _endpos__1_;
16749 MenhirLib.EngineTypes.next = _menhir_stack;
16750 };
16751 } = _menhir_stack in
16752 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
16753 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
16754 let _startpos = _startpos__1_ in
16755 let _endpos = _endpos__2_ in
16756 let _v : 'tv_fun_after_dots_or =
16757 # 2028 "parser_cocci_menhir.mly"
16758 (_1@_2)
16759 # 16760 "parser_cocci_menhir.ml"
16760 in
16761 _menhir_env.MenhirLib.EngineTypes.stack <- {
16762 MenhirLib.EngineTypes.state = _menhir_s;
16763 MenhirLib.EngineTypes.semv = Obj.repr _v;
16764 MenhirLib.EngineTypes.startp = _startpos;
16765 MenhirLib.EngineTypes.endp = _endpos;
16766 MenhirLib.EngineTypes.next = _menhir_stack;
16767 });
16768 (fun _menhir_env ->
16769 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16770 let {
16771 MenhirLib.EngineTypes.semv = _2;
16772 MenhirLib.EngineTypes.startp = _startpos__2_;
16773 MenhirLib.EngineTypes.endp = _endpos__2_;
16774 MenhirLib.EngineTypes.next = {
16775 MenhirLib.EngineTypes.state = _menhir_s;
16776 MenhirLib.EngineTypes.semv = _1;
16777 MenhirLib.EngineTypes.startp = _startpos__1_;
16778 MenhirLib.EngineTypes.endp = _endpos__1_;
16779 MenhirLib.EngineTypes.next = _menhir_stack;
16780 };
16781 } = _menhir_stack in
16782 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
16783 let _1 : 'tv_stm_dots = Obj.magic _1 in
16784 let _startpos = _startpos__1_ in
16785 let _endpos = _endpos__2_ in
16786 let _v : 'tv_fun_after_exp =
16787 # 2021 "parser_cocci_menhir.mly"
16788 (_1::_2)
16789 # 16790 "parser_cocci_menhir.ml"
16790 in
16791 _menhir_env.MenhirLib.EngineTypes.stack <- {
16792 MenhirLib.EngineTypes.state = _menhir_s;
16793 MenhirLib.EngineTypes.semv = Obj.repr _v;
16794 MenhirLib.EngineTypes.startp = _startpos;
16795 MenhirLib.EngineTypes.endp = _endpos;
16796 MenhirLib.EngineTypes.next = _menhir_stack;
16797 });
16798 (fun _menhir_env ->
16799 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16800 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16801 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16802 let _endpos = _startpos in
16803 let _v : 'tv_fun_after_exp_or =
16804 # 2031 "parser_cocci_menhir.mly"
16805 ([])
16806 # 16807 "parser_cocci_menhir.ml"
16807 in
16808 _menhir_env.MenhirLib.EngineTypes.stack <- {
16809 MenhirLib.EngineTypes.state = _menhir_s;
16810 MenhirLib.EngineTypes.semv = Obj.repr _v;
16811 MenhirLib.EngineTypes.startp = _startpos;
16812 MenhirLib.EngineTypes.endp = _endpos;
16813 MenhirLib.EngineTypes.next = _menhir_stack;
16814 });
16815 (fun _menhir_env ->
16816 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16817 let {
16818 MenhirLib.EngineTypes.semv = _2;
16819 MenhirLib.EngineTypes.startp = _startpos__2_;
16820 MenhirLib.EngineTypes.endp = _endpos__2_;
16821 MenhirLib.EngineTypes.next = {
16822 MenhirLib.EngineTypes.state = _menhir_s;
16823 MenhirLib.EngineTypes.semv = _1;
16824 MenhirLib.EngineTypes.startp = _startpos__1_;
16825 MenhirLib.EngineTypes.endp = _endpos__1_;
16826 MenhirLib.EngineTypes.next = _menhir_stack;
16827 };
16828 } = _menhir_stack in
16829 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
16830 let _1 : 'tv_stm_dots = Obj.magic _1 in
16831 let _startpos = _startpos__1_ in
16832 let _endpos = _endpos__2_ in
16833 let _v : 'tv_fun_after_exp_or =
16834 # 2032 "parser_cocci_menhir.mly"
16835 (_1::_2)
16836 # 16837 "parser_cocci_menhir.ml"
16837 in
16838 _menhir_env.MenhirLib.EngineTypes.stack <- {
16839 MenhirLib.EngineTypes.state = _menhir_s;
16840 MenhirLib.EngineTypes.semv = Obj.repr _v;
16841 MenhirLib.EngineTypes.startp = _startpos;
16842 MenhirLib.EngineTypes.endp = _endpos;
16843 MenhirLib.EngineTypes.next = _menhir_stack;
16844 });
16845 (fun _menhir_env ->
16846 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16847 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
16848 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
16849 let _endpos = _startpos in
16850 let _v : 'tv_fun_after_stm =
16851 # 2010 "parser_cocci_menhir.mly"
16852 ([])
16853 # 16854 "parser_cocci_menhir.ml"
16854 in
16855 _menhir_env.MenhirLib.EngineTypes.stack <- {
16856 MenhirLib.EngineTypes.state = _menhir_s;
16857 MenhirLib.EngineTypes.semv = Obj.repr _v;
16858 MenhirLib.EngineTypes.startp = _startpos;
16859 MenhirLib.EngineTypes.endp = _endpos;
16860 MenhirLib.EngineTypes.next = _menhir_stack;
16861 });
16862 (fun _menhir_env ->
16863 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16864 let {
16865 MenhirLib.EngineTypes.semv = _2;
16866 MenhirLib.EngineTypes.startp = _startpos__2_;
16867 MenhirLib.EngineTypes.endp = _endpos__2_;
16868 MenhirLib.EngineTypes.next = {
16869 MenhirLib.EngineTypes.state = _menhir_s;
16870 MenhirLib.EngineTypes.semv = _1;
16871 MenhirLib.EngineTypes.startp = _startpos__1_;
16872 MenhirLib.EngineTypes.endp = _endpos__1_;
16873 MenhirLib.EngineTypes.next = _menhir_stack;
16874 };
16875 } = _menhir_stack in
16876 let _2 : 'tv_fun_after_dots = Obj.magic _2 in
16877 let _1 : 'tv_stm_dots = Obj.magic _1 in
16878 let _startpos = _startpos__1_ in
16879 let _endpos = _endpos__2_ in
16880 let _v : 'tv_fun_after_stm =
16881 # 2011 "parser_cocci_menhir.mly"
16882 (_1::_2)
16883 # 16884 "parser_cocci_menhir.ml"
16884 in
16885 _menhir_env.MenhirLib.EngineTypes.stack <- {
16886 MenhirLib.EngineTypes.state = _menhir_s;
16887 MenhirLib.EngineTypes.semv = Obj.repr _v;
16888 MenhirLib.EngineTypes.startp = _startpos;
16889 MenhirLib.EngineTypes.endp = _endpos;
16890 MenhirLib.EngineTypes.next = _menhir_stack;
16891 });
16892 (fun _menhir_env ->
16893 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16894 let {
16895 MenhirLib.EngineTypes.semv = _2;
16896 MenhirLib.EngineTypes.startp = _startpos__2_;
16897 MenhirLib.EngineTypes.endp = _endpos__2_;
16898 MenhirLib.EngineTypes.next = {
16899 MenhirLib.EngineTypes.state = _menhir_s;
16900 MenhirLib.EngineTypes.semv = _1;
16901 MenhirLib.EngineTypes.startp = _startpos__1_;
16902 MenhirLib.EngineTypes.endp = _endpos__1_;
16903 MenhirLib.EngineTypes.next = _menhir_stack;
16904 };
16905 } = _menhir_stack in
16906 let _2 : 'tv_fun_after_stm = Obj.magic _2 in
16907 let _1 : 'tv_decl_statement = Obj.magic _1 in
16908 let _startpos = _startpos__1_ in
16909 let _endpos = _endpos__2_ in
16910 let _v : 'tv_fun_after_stm =
16911 # 2012 "parser_cocci_menhir.mly"
16912 (_1@_2)
16913 # 16914 "parser_cocci_menhir.ml"
16914 in
16915 _menhir_env.MenhirLib.EngineTypes.stack <- {
16916 MenhirLib.EngineTypes.state = _menhir_s;
16917 MenhirLib.EngineTypes.semv = Obj.repr _v;
16918 MenhirLib.EngineTypes.startp = _startpos;
16919 MenhirLib.EngineTypes.endp = _endpos;
16920 MenhirLib.EngineTypes.next = _menhir_stack;
16921 });
16922 (fun _menhir_env ->
16923 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16924 let {
16925 MenhirLib.EngineTypes.state = _menhir_s;
16926 MenhirLib.EngineTypes.semv = _1;
16927 MenhirLib.EngineTypes.startp = _startpos__1_;
16928 MenhirLib.EngineTypes.endp = _endpos__1_;
16929 MenhirLib.EngineTypes.next = _menhir_stack;
16930 } = _menhir_stack in
16931 let _1 : 'tv_fun_after_stm = Obj.magic _1 in
16932 let _startpos = _startpos__1_ in
16933 let _endpos = _endpos__1_ in
16934 let _v : 'tv_fun_start =
16935 # 2007 "parser_cocci_menhir.mly"
16936 ( Ast0.wrap(Ast0.DOTS(_1)) )
16937 # 16938 "parser_cocci_menhir.ml"
16938 in
16939 _menhir_env.MenhirLib.EngineTypes.stack <- {
16940 MenhirLib.EngineTypes.state = _menhir_s;
16941 MenhirLib.EngineTypes.semv = Obj.repr _v;
16942 MenhirLib.EngineTypes.startp = _startpos;
16943 MenhirLib.EngineTypes.endp = _endpos;
16944 MenhirLib.EngineTypes.next = _menhir_stack;
16945 });
16946 (fun _menhir_env ->
16947 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16948 let {
16949 MenhirLib.EngineTypes.state = _menhir_s;
16950 MenhirLib.EngineTypes.semv = _1;
16951 MenhirLib.EngineTypes.startp = _startpos__1_;
16952 MenhirLib.EngineTypes.endp = _endpos__1_;
16953 MenhirLib.EngineTypes.next = _menhir_stack;
16954 } = _menhir_stack in
16955 let _1 : 'tv_pure_ident = Obj.magic _1 in
16956 let _startpos = _startpos__1_ in
16957 let _endpos = _endpos__1_ in
16958 let _v : 'tv_func_ident =
16959 # 1773 "parser_cocci_menhir.mly"
16960 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
16961 # 16962 "parser_cocci_menhir.ml"
16962 in
16963 _menhir_env.MenhirLib.EngineTypes.stack <- {
16964 MenhirLib.EngineTypes.state = _menhir_s;
16965 MenhirLib.EngineTypes.semv = Obj.repr _v;
16966 MenhirLib.EngineTypes.startp = _startpos;
16967 MenhirLib.EngineTypes.endp = _endpos;
16968 MenhirLib.EngineTypes.next = _menhir_stack;
16969 });
16970 (fun _menhir_env ->
16971 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
16972 let {
16973 MenhirLib.EngineTypes.state = _menhir_s;
16974 MenhirLib.EngineTypes.semv = _1;
16975 MenhirLib.EngineTypes.startp = _startpos__1_;
16976 MenhirLib.EngineTypes.endp = _endpos__1_;
16977 MenhirLib.EngineTypes.next = _menhir_stack;
16978 } = _menhir_stack in
16979 let _1 : (
16980 # 65 "parser_cocci_menhir.mly"
16981 (Parse_aux.idinfo)
16982 # 16983 "parser_cocci_menhir.ml"
16983 ) = Obj.magic _1 in
16984 let _startpos = _startpos__1_ in
16985 let _endpos = _endpos__1_ in
16986 let _v : 'tv_func_ident =
16987 # 1775 "parser_cocci_menhir.mly"
16988 ( let (nm,constraints,pure,clt) = _1 in
16989 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
16990 # 16991 "parser_cocci_menhir.ml"
16991 in
16992 _menhir_env.MenhirLib.EngineTypes.stack <- {
16993 MenhirLib.EngineTypes.state = _menhir_s;
16994 MenhirLib.EngineTypes.semv = Obj.repr _v;
16995 MenhirLib.EngineTypes.startp = _startpos;
16996 MenhirLib.EngineTypes.endp = _endpos;
16997 MenhirLib.EngineTypes.next = _menhir_stack;
16998 });
16999 (fun _menhir_env ->
17000 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17001 let {
17002 MenhirLib.EngineTypes.state = _menhir_s;
17003 MenhirLib.EngineTypes.semv = _1;
17004 MenhirLib.EngineTypes.startp = _startpos__1_;
17005 MenhirLib.EngineTypes.endp = _endpos__1_;
17006 MenhirLib.EngineTypes.next = _menhir_stack;
17007 } = _menhir_stack in
17008 let _1 : (
17009 # 65 "parser_cocci_menhir.mly"
17010 (Parse_aux.idinfo)
17011 # 17012 "parser_cocci_menhir.ml"
17012 ) = Obj.magic _1 in
17013 let _startpos = _startpos__1_ in
17014 let _endpos = _endpos__1_ in
17015 let _v : 'tv_func_ident =
17016 # 1778 "parser_cocci_menhir.mly"
17017 ( let (nm,constraints,pure,clt) = _1 in
17018 Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
17019 # 17020 "parser_cocci_menhir.ml"
17020 in
17021 _menhir_env.MenhirLib.EngineTypes.stack <- {
17022 MenhirLib.EngineTypes.state = _menhir_s;
17023 MenhirLib.EngineTypes.semv = Obj.repr _v;
17024 MenhirLib.EngineTypes.startp = _startpos;
17025 MenhirLib.EngineTypes.endp = _endpos;
17026 MenhirLib.EngineTypes.next = _menhir_stack;
17027 });
17028 (fun _menhir_env ->
17029 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17030 let {
17031 MenhirLib.EngineTypes.state = _menhir_s;
17032 MenhirLib.EngineTypes.semv = _1;
17033 MenhirLib.EngineTypes.startp = _startpos__1_;
17034 MenhirLib.EngineTypes.endp = _endpos__1_;
17035 MenhirLib.EngineTypes.next = _menhir_stack;
17036 } = _menhir_stack in
17037 let _1 : (
17038 # 65 "parser_cocci_menhir.mly"
17039 (Parse_aux.idinfo)
17040 # 17041 "parser_cocci_menhir.ml"
17041 ) = Obj.magic _1 in
17042 let _startpos = _startpos__1_ in
17043 let _endpos = _endpos__1_ in
17044 let _v : 'tv_func_ident =
17045 # 1781 "parser_cocci_menhir.mly"
17046 ( let (nm,constraints,pure,clt) = _1 in
17047 Ast0.wrap
17048 (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
17049 # 17050 "parser_cocci_menhir.ml"
17050 in
17051 _menhir_env.MenhirLib.EngineTypes.stack <- {
17052 MenhirLib.EngineTypes.state = _menhir_s;
17053 MenhirLib.EngineTypes.semv = Obj.repr _v;
17054 MenhirLib.EngineTypes.startp = _startpos;
17055 MenhirLib.EngineTypes.endp = _endpos;
17056 MenhirLib.EngineTypes.next = _menhir_stack;
17057 });
17058 (fun _menhir_env ->
17059 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17060 let {
17061 MenhirLib.EngineTypes.semv = rb;
17062 MenhirLib.EngineTypes.startp = _startpos_rb_;
17063 MenhirLib.EngineTypes.endp = _endpos_rb_;
17064 MenhirLib.EngineTypes.next = {
17065 MenhirLib.EngineTypes.semv = b;
17066 MenhirLib.EngineTypes.startp = _startpos_b_;
17067 MenhirLib.EngineTypes.endp = _endpos_b_;
17068 MenhirLib.EngineTypes.next = {
17069 MenhirLib.EngineTypes.semv = lb;
17070 MenhirLib.EngineTypes.startp = _startpos_lb_;
17071 MenhirLib.EngineTypes.endp = _endpos_lb_;
17072 MenhirLib.EngineTypes.next = {
17073 MenhirLib.EngineTypes.semv = rp;
17074 MenhirLib.EngineTypes.startp = _startpos_rp_;
17075 MenhirLib.EngineTypes.endp = _endpos_rp_;
17076 MenhirLib.EngineTypes.next = {
17077 MenhirLib.EngineTypes.semv = d;
17078 MenhirLib.EngineTypes.startp = _startpos_d_;
17079 MenhirLib.EngineTypes.endp = _endpos_d_;
17080 MenhirLib.EngineTypes.next = {
17081 MenhirLib.EngineTypes.semv = lp;
17082 MenhirLib.EngineTypes.startp = _startpos_lp_;
17083 MenhirLib.EngineTypes.endp = _endpos_lp_;
17084 MenhirLib.EngineTypes.next = {
17085 MenhirLib.EngineTypes.semv = i;
17086 MenhirLib.EngineTypes.startp = _startpos_i_;
17087 MenhirLib.EngineTypes.endp = _endpos_i_;
17088 MenhirLib.EngineTypes.next = {
17089 MenhirLib.EngineTypes.startp = _startpos__2_;
17090 MenhirLib.EngineTypes.endp = _endpos__2_;
17091 MenhirLib.EngineTypes.next = {
17092 MenhirLib.EngineTypes.state = _menhir_s;
17093 MenhirLib.EngineTypes.semv = f;
17094 MenhirLib.EngineTypes.startp = _startpos_f_;
17095 MenhirLib.EngineTypes.endp = _endpos_f_;
17096 MenhirLib.EngineTypes.next = _menhir_stack;
17097 };
17098 };
17099 };
17100 };
17101 };
17102 };
17103 };
17104 };
17105 } = _menhir_stack in
17106 let rb : (
17107 # 105 "parser_cocci_menhir.mly"
17108 (Data.clt)
17109 # 17110 "parser_cocci_menhir.ml"
17110 ) = Obj.magic rb in
17111 let b : 'tv_fun_start = Obj.magic b in
17112 let lb : (
17113 # 105 "parser_cocci_menhir.mly"
17114 (Data.clt)
17115 # 17116 "parser_cocci_menhir.ml"
17116 ) = Obj.magic lb in
17117 let rp : (
17118 # 81 "parser_cocci_menhir.mly"
17119 (Data.clt)
17120 # 17121 "parser_cocci_menhir.ml"
17121 ) = Obj.magic rp in
17122 let d : 'tv_decl_list_decl_ = Obj.magic d in
17123 let lp : (
17124 # 80 "parser_cocci_menhir.mly"
17125 (Data.clt)
17126 # 17127 "parser_cocci_menhir.ml"
17127 ) = Obj.magic lp in
17128 let i : 'tv_func_ident = Obj.magic i in
17129 let f : 'tv_fninfo = Obj.magic f in
17130 let _startpos = _startpos_f_ in
17131 let _endpos = _endpos_rb_ in
17132 let _v : 'tv_fundecl =
17133 # 865 "parser_cocci_menhir.mly"
17134 ( P.verify_parameter_declarations (Ast0.undots d);
17135 Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()),
17136 f, i,
17137 P.clt2mcode "(" lp, d,
17138 P.clt2mcode ")" rp,
17139 P.clt2mcode "{" lb, b,
17140 P.clt2mcode "}" rb)) )
17141 # 17142 "parser_cocci_menhir.ml"
17142 in
17143 _menhir_env.MenhirLib.EngineTypes.stack <- {
17144 MenhirLib.EngineTypes.state = _menhir_s;
17145 MenhirLib.EngineTypes.semv = Obj.repr _v;
17146 MenhirLib.EngineTypes.startp = _startpos;
17147 MenhirLib.EngineTypes.endp = _endpos;
17148 MenhirLib.EngineTypes.next = _menhir_stack;
17149 });
17150 (fun _menhir_env ->
17151 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17152 let {
17153 MenhirLib.EngineTypes.semv = pt;
17154 MenhirLib.EngineTypes.startp = _startpos_pt_;
17155 MenhirLib.EngineTypes.endp = _endpos_pt_;
17156 MenhirLib.EngineTypes.next = {
17157 MenhirLib.EngineTypes.semv = rp;
17158 MenhirLib.EngineTypes.startp = _startpos_rp_;
17159 MenhirLib.EngineTypes.endp = _endpos_rp_;
17160 MenhirLib.EngineTypes.next = {
17161 MenhirLib.EngineTypes.semv = d;
17162 MenhirLib.EngineTypes.startp = _startpos_d_;
17163 MenhirLib.EngineTypes.endp = _endpos_d_;
17164 MenhirLib.EngineTypes.next = {
17165 MenhirLib.EngineTypes.semv = lp;
17166 MenhirLib.EngineTypes.startp = _startpos_lp_;
17167 MenhirLib.EngineTypes.endp = _endpos_lp_;
17168 MenhirLib.EngineTypes.next = {
17169 MenhirLib.EngineTypes.semv = id;
17170 MenhirLib.EngineTypes.startp = _startpos_id_;
17171 MenhirLib.EngineTypes.endp = _endpos_id_;
17172 MenhirLib.EngineTypes.next = {
17173 MenhirLib.EngineTypes.state = _menhir_s;
17174 MenhirLib.EngineTypes.semv = t;
17175 MenhirLib.EngineTypes.startp = _startpos_t_;
17176 MenhirLib.EngineTypes.endp = _endpos_t_;
17177 MenhirLib.EngineTypes.next = _menhir_stack;
17178 };
17179 };
17180 };
17181 };
17182 };
17183 } = _menhir_stack in
17184 let pt : (
17185 # 111 "parser_cocci_menhir.mly"
17186 (Data.clt)
17187 # 17188 "parser_cocci_menhir.ml"
17188 ) = Obj.magic pt in
17189 let rp : (
17190 # 81 "parser_cocci_menhir.mly"
17191 (Data.clt)
17192 # 17193 "parser_cocci_menhir.ml"
17193 ) = Obj.magic rp in
17194 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
17195 let lp : (
17196 # 80 "parser_cocci_menhir.mly"
17197 (Data.clt)
17198 # 17199 "parser_cocci_menhir.ml"
17199 ) = Obj.magic lp in
17200 let id : 'tv_func_ident = Obj.magic id in
17201 let t : 'tv_ctype = Obj.magic t in
17202 let _startpos = _startpos_t_ in
17203 let _endpos = _endpos_pt_ in
17204 let _v : 'tv_funproto = let s =
17205
17206 # 39 "standard.mly"
17207 ( None )
17208 # 17209 "parser_cocci_menhir.ml"
17209
17210 in
17211
17212 # 853 "parser_cocci_menhir.mly"
17213 ( Ast0.wrap
17214 (Ast0.UnInit
17215 (s,
17216 Ast0.wrap
17217 (Ast0.FunctionType(Some t,
17218 P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
17219 id, P.clt2mcode ";" pt)) )
17220 # 17221 "parser_cocci_menhir.ml"
17221 in
17222 _menhir_env.MenhirLib.EngineTypes.stack <- {
17223 MenhirLib.EngineTypes.state = _menhir_s;
17224 MenhirLib.EngineTypes.semv = Obj.repr _v;
17225 MenhirLib.EngineTypes.startp = _startpos;
17226 MenhirLib.EngineTypes.endp = _endpos;
17227 MenhirLib.EngineTypes.next = _menhir_stack;
17228 });
17229 (fun _menhir_env ->
17230 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17231 let {
17232 MenhirLib.EngineTypes.semv = pt;
17233 MenhirLib.EngineTypes.startp = _startpos_pt_;
17234 MenhirLib.EngineTypes.endp = _endpos_pt_;
17235 MenhirLib.EngineTypes.next = {
17236 MenhirLib.EngineTypes.semv = rp;
17237 MenhirLib.EngineTypes.startp = _startpos_rp_;
17238 MenhirLib.EngineTypes.endp = _endpos_rp_;
17239 MenhirLib.EngineTypes.next = {
17240 MenhirLib.EngineTypes.semv = d;
17241 MenhirLib.EngineTypes.startp = _startpos_d_;
17242 MenhirLib.EngineTypes.endp = _endpos_d_;
17243 MenhirLib.EngineTypes.next = {
17244 MenhirLib.EngineTypes.semv = lp;
17245 MenhirLib.EngineTypes.startp = _startpos_lp_;
17246 MenhirLib.EngineTypes.endp = _endpos_lp_;
17247 MenhirLib.EngineTypes.next = {
17248 MenhirLib.EngineTypes.semv = id;
17249 MenhirLib.EngineTypes.startp = _startpos_id_;
17250 MenhirLib.EngineTypes.endp = _endpos_id_;
17251 MenhirLib.EngineTypes.next = {
17252 MenhirLib.EngineTypes.semv = t;
17253 MenhirLib.EngineTypes.startp = _startpos_t_;
17254 MenhirLib.EngineTypes.endp = _endpos_t_;
17255 MenhirLib.EngineTypes.next = {
17256 MenhirLib.EngineTypes.state = _menhir_s;
17257 MenhirLib.EngineTypes.semv = x0;
17258 MenhirLib.EngineTypes.startp = _startpos_x0_;
17259 MenhirLib.EngineTypes.endp = _endpos_x0_;
17260 MenhirLib.EngineTypes.next = _menhir_stack;
17261 };
17262 };
17263 };
17264 };
17265 };
17266 };
17267 } = _menhir_stack in
17268 let pt : (
17269 # 111 "parser_cocci_menhir.mly"
17270 (Data.clt)
17271 # 17272 "parser_cocci_menhir.ml"
17272 ) = Obj.magic pt in
17273 let rp : (
17274 # 81 "parser_cocci_menhir.mly"
17275 (Data.clt)
17276 # 17277 "parser_cocci_menhir.ml"
17277 ) = Obj.magic rp in
17278 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
17279 let lp : (
17280 # 80 "parser_cocci_menhir.mly"
17281 (Data.clt)
17282 # 17283 "parser_cocci_menhir.ml"
17283 ) = Obj.magic lp in
17284 let id : 'tv_func_ident = Obj.magic id in
17285 let t : 'tv_ctype = Obj.magic t in
17286 let x0 : 'tv_storage = Obj.magic x0 in
17287 let _startpos = _startpos_x0_ in
17288 let _endpos = _endpos_pt_ in
17289 let _v : 'tv_funproto = let s =
17290 let x = x0 in
17291
17292 # 41 "standard.mly"
17293 ( Some x )
17294 # 17295 "parser_cocci_menhir.ml"
17295
17296 in
17297
17298 # 853 "parser_cocci_menhir.mly"
17299 ( Ast0.wrap
17300 (Ast0.UnInit
17301 (s,
17302 Ast0.wrap
17303 (Ast0.FunctionType(Some t,
17304 P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
17305 id, P.clt2mcode ";" pt)) )
17306 # 17307 "parser_cocci_menhir.ml"
17307 in
17308 _menhir_env.MenhirLib.EngineTypes.stack <- {
17309 MenhirLib.EngineTypes.state = _menhir_s;
17310 MenhirLib.EngineTypes.semv = Obj.repr _v;
17311 MenhirLib.EngineTypes.startp = _startpos;
17312 MenhirLib.EngineTypes.endp = _endpos;
17313 MenhirLib.EngineTypes.next = _menhir_stack;
17314 });
17315 (fun _menhir_env ->
17316 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17317 let {
17318 MenhirLib.EngineTypes.state = _menhir_s;
17319 MenhirLib.EngineTypes.semv = _1;
17320 MenhirLib.EngineTypes.startp = _startpos__1_;
17321 MenhirLib.EngineTypes.endp = _endpos__1_;
17322 MenhirLib.EngineTypes.next = _menhir_stack;
17323 } = _menhir_stack in
17324 let _1 : 'tv_pure_ident = Obj.magic _1 in
17325 let _startpos = _startpos__1_ in
17326 let _endpos = _endpos__1_ in
17327 let _v : 'tv_ident =
17328 # 1786 "parser_cocci_menhir.mly"
17329 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
17330 # 17331 "parser_cocci_menhir.ml"
17331 in
17332 _menhir_env.MenhirLib.EngineTypes.stack <- {
17333 MenhirLib.EngineTypes.state = _menhir_s;
17334 MenhirLib.EngineTypes.semv = Obj.repr _v;
17335 MenhirLib.EngineTypes.startp = _startpos;
17336 MenhirLib.EngineTypes.endp = _endpos;
17337 MenhirLib.EngineTypes.next = _menhir_stack;
17338 });
17339 (fun _menhir_env ->
17340 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17341 let {
17342 MenhirLib.EngineTypes.state = _menhir_s;
17343 MenhirLib.EngineTypes.semv = _1;
17344 MenhirLib.EngineTypes.startp = _startpos__1_;
17345 MenhirLib.EngineTypes.endp = _endpos__1_;
17346 MenhirLib.EngineTypes.next = _menhir_stack;
17347 } = _menhir_stack in
17348 let _1 : (
17349 # 65 "parser_cocci_menhir.mly"
17350 (Parse_aux.idinfo)
17351 # 17352 "parser_cocci_menhir.ml"
17352 ) = Obj.magic _1 in
17353 let _startpos = _startpos__1_ in
17354 let _endpos = _endpos__1_ in
17355 let _v : 'tv_ident =
17356 # 1788 "parser_cocci_menhir.mly"
17357 ( let (nm,constraints,pure,clt) = _1 in
17358 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
17359 # 17360 "parser_cocci_menhir.ml"
17360 in
17361 _menhir_env.MenhirLib.EngineTypes.stack <- {
17362 MenhirLib.EngineTypes.state = _menhir_s;
17363 MenhirLib.EngineTypes.semv = Obj.repr _v;
17364 MenhirLib.EngineTypes.startp = _startpos;
17365 MenhirLib.EngineTypes.endp = _endpos;
17366 MenhirLib.EngineTypes.next = _menhir_stack;
17367 });
17368 (fun _menhir_env ->
17369 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17370 let {
17371 MenhirLib.EngineTypes.state = _menhir_s;
17372 MenhirLib.EngineTypes.semv = i;
17373 MenhirLib.EngineTypes.startp = _startpos_i_;
17374 MenhirLib.EngineTypes.endp = _endpos_i_;
17375 MenhirLib.EngineTypes.next = _menhir_stack;
17376 } = _menhir_stack in
17377 let i : 'tv_pure_ident = Obj.magic i in
17378 let _startpos = _startpos_i_ in
17379 let _endpos = _endpos_i_ in
17380 let _v : 'tv_ident_or_const =
17381 # 1746 "parser_cocci_menhir.mly"
17382 ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) )
17383 # 17384 "parser_cocci_menhir.ml"
17384 in
17385 _menhir_env.MenhirLib.EngineTypes.stack <- {
17386 MenhirLib.EngineTypes.state = _menhir_s;
17387 MenhirLib.EngineTypes.semv = Obj.repr _v;
17388 MenhirLib.EngineTypes.startp = _startpos;
17389 MenhirLib.EngineTypes.endp = _endpos;
17390 MenhirLib.EngineTypes.next = _menhir_stack;
17391 });
17392 (fun _menhir_env ->
17393 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17394 let {
17395 MenhirLib.EngineTypes.state = _menhir_s;
17396 MenhirLib.EngineTypes.semv = _1;
17397 MenhirLib.EngineTypes.startp = _startpos__1_;
17398 MenhirLib.EngineTypes.endp = _endpos__1_;
17399 MenhirLib.EngineTypes.next = _menhir_stack;
17400 } = _menhir_stack in
17401 let _1 : (
17402 # 91 "parser_cocci_menhir.mly"
17403 (string * Data.clt)
17404 # 17405 "parser_cocci_menhir.ml"
17405 ) = Obj.magic _1 in
17406 let _startpos = _startpos__1_ in
17407 let _endpos = _endpos__1_ in
17408 let _v : 'tv_ident_or_const =
17409 # 1748 "parser_cocci_menhir.mly"
17410 ( let (x,clt) = _1 in
17411 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
17412 # 17413 "parser_cocci_menhir.ml"
17413 in
17414 _menhir_env.MenhirLib.EngineTypes.stack <- {
17415 MenhirLib.EngineTypes.state = _menhir_s;
17416 MenhirLib.EngineTypes.semv = Obj.repr _v;
17417 MenhirLib.EngineTypes.startp = _startpos;
17418 MenhirLib.EngineTypes.endp = _endpos;
17419 MenhirLib.EngineTypes.next = _menhir_stack;
17420 });
17421 (fun _menhir_env ->
17422 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17423 let {
17424 MenhirLib.EngineTypes.state = _menhir_s;
17425 MenhirLib.EngineTypes.semv = _1;
17426 MenhirLib.EngineTypes.startp = _startpos__1_;
17427 MenhirLib.EngineTypes.endp = _endpos__1_;
17428 MenhirLib.EngineTypes.next = _menhir_stack;
17429 } = _menhir_stack in
17430 let _1 : (
17431 # 84 "parser_cocci_menhir.mly"
17432 (string * Data.clt)
17433 # 17434 "parser_cocci_menhir.ml"
17434 ) = Obj.magic _1 in
17435 let _startpos = _startpos__1_ in
17436 let _endpos = _endpos__1_ in
17437 let _v : 'tv_incl =
17438 # 262 "parser_cocci_menhir.mly"
17439 ( let (x,_) = _1 in Data.Include(x) )
17440 # 17441 "parser_cocci_menhir.ml"
17441 in
17442 _menhir_env.MenhirLib.EngineTypes.stack <- {
17443 MenhirLib.EngineTypes.state = _menhir_s;
17444 MenhirLib.EngineTypes.semv = Obj.repr _v;
17445 MenhirLib.EngineTypes.startp = _startpos;
17446 MenhirLib.EngineTypes.endp = _endpos;
17447 MenhirLib.EngineTypes.next = _menhir_stack;
17448 });
17449 (fun _menhir_env ->
17450 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17451 let {
17452 MenhirLib.EngineTypes.semv = _2;
17453 MenhirLib.EngineTypes.startp = _startpos__2_;
17454 MenhirLib.EngineTypes.endp = _endpos__2_;
17455 MenhirLib.EngineTypes.next = {
17456 MenhirLib.EngineTypes.state = _menhir_s;
17457 MenhirLib.EngineTypes.startp = _startpos__1_;
17458 MenhirLib.EngineTypes.endp = _endpos__1_;
17459 MenhirLib.EngineTypes.next = _menhir_stack;
17460 };
17461 } = _menhir_stack in
17462 let _2 : (
17463 # 91 "parser_cocci_menhir.mly"
17464 (string * Data.clt)
17465 # 17466 "parser_cocci_menhir.ml"
17466 ) = Obj.magic _2 in
17467 let _startpos = _startpos__1_ in
17468 let _endpos = _endpos__2_ in
17469 let _v : 'tv_incl =
17470 # 263 "parser_cocci_menhir.mly"
17471 ( Data.Iso(Common.Left(P.id2name _2)) )
17472 # 17473 "parser_cocci_menhir.ml"
17473 in
17474 _menhir_env.MenhirLib.EngineTypes.stack <- {
17475 MenhirLib.EngineTypes.state = _menhir_s;
17476 MenhirLib.EngineTypes.semv = Obj.repr _v;
17477 MenhirLib.EngineTypes.startp = _startpos;
17478 MenhirLib.EngineTypes.endp = _endpos;
17479 MenhirLib.EngineTypes.next = _menhir_stack;
17480 });
17481 (fun _menhir_env ->
17482 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17483 let {
17484 MenhirLib.EngineTypes.semv = _2;
17485 MenhirLib.EngineTypes.startp = _startpos__2_;
17486 MenhirLib.EngineTypes.endp = _endpos__2_;
17487 MenhirLib.EngineTypes.next = {
17488 MenhirLib.EngineTypes.state = _menhir_s;
17489 MenhirLib.EngineTypes.startp = _startpos__1_;
17490 MenhirLib.EngineTypes.endp = _endpos__1_;
17491 MenhirLib.EngineTypes.next = _menhir_stack;
17492 };
17493 } = _menhir_stack in
17494 let _2 : (
17495 # 83 "parser_cocci_menhir.mly"
17496 (string)
17497 # 17498 "parser_cocci_menhir.ml"
17498 ) = Obj.magic _2 in
17499 let _startpos = _startpos__1_ in
17500 let _endpos = _endpos__2_ in
17501 let _v : 'tv_incl =
17502 # 264 "parser_cocci_menhir.mly"
17503 ( Data.Iso(Common.Right _2) )
17504 # 17505 "parser_cocci_menhir.ml"
17505 in
17506 _menhir_env.MenhirLib.EngineTypes.stack <- {
17507 MenhirLib.EngineTypes.state = _menhir_s;
17508 MenhirLib.EngineTypes.semv = Obj.repr _v;
17509 MenhirLib.EngineTypes.startp = _startpos;
17510 MenhirLib.EngineTypes.endp = _endpos;
17511 MenhirLib.EngineTypes.next = _menhir_stack;
17512 });
17513 (fun _menhir_env ->
17514 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17515 let {
17516 MenhirLib.EngineTypes.semv = _2;
17517 MenhirLib.EngineTypes.startp = _startpos__2_;
17518 MenhirLib.EngineTypes.endp = _endpos__2_;
17519 MenhirLib.EngineTypes.next = {
17520 MenhirLib.EngineTypes.state = _menhir_s;
17521 MenhirLib.EngineTypes.startp = _startpos__1_;
17522 MenhirLib.EngineTypes.endp = _endpos__1_;
17523 MenhirLib.EngineTypes.next = _menhir_stack;
17524 };
17525 } = _menhir_stack in
17526 let _2 : 'tv_comma_list_pure_ident_ = Obj.magic _2 in
17527 let _startpos = _startpos__1_ in
17528 let _endpos = _endpos__2_ in
17529 let _v : 'tv_incl =
17530 # 266 "parser_cocci_menhir.mly"
17531 ( let names = List.map P.id2name _2 in
17532 Iteration.parsed_virtual_rules :=
17533 Common.union_set names !Iteration.parsed_virtual_rules;
17534 (* ensure that the names of virtual and real rules don't overlap *)
17535 List.iter
17536 (function name -> Hashtbl.add Data.all_metadecls name [])
17537 names;
17538 Data.Virt(names) )
17539 # 17540 "parser_cocci_menhir.ml"
17540 in
17541 _menhir_env.MenhirLib.EngineTypes.stack <- {
17542 MenhirLib.EngineTypes.state = _menhir_s;
17543 MenhirLib.EngineTypes.semv = Obj.repr _v;
17544 MenhirLib.EngineTypes.startp = _startpos;
17545 MenhirLib.EngineTypes.endp = _endpos;
17546 MenhirLib.EngineTypes.next = _menhir_stack;
17547 });
17548 (fun _menhir_env ->
17549 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17550 let {
17551 MenhirLib.EngineTypes.startp = _startpos__2_;
17552 MenhirLib.EngineTypes.endp = _endpos__2_;
17553 MenhirLib.EngineTypes.next = {
17554 MenhirLib.EngineTypes.state = _menhir_s;
17555 MenhirLib.EngineTypes.semv = _1;
17556 MenhirLib.EngineTypes.startp = _startpos__1_;
17557 MenhirLib.EngineTypes.endp = _endpos__1_;
17558 MenhirLib.EngineTypes.next = _menhir_stack;
17559 };
17560 } = _menhir_stack in
17561 let _1 : 'tv_list_incl_ = Obj.magic _1 in
17562 let _startpos = _startpos__1_ in
17563 let _endpos = _endpos__2_ in
17564 let _v : (
17565 # 152 "parser_cocci_menhir.mly"
17566 (Data.incl_iso list)
17567 # 17568 "parser_cocci_menhir.ml"
17568 ) =
17569 # 258 "parser_cocci_menhir.mly"
17570 ( _1 )
17571 # 17572 "parser_cocci_menhir.ml"
17572 in
17573 _menhir_env.MenhirLib.EngineTypes.stack <- {
17574 MenhirLib.EngineTypes.state = _menhir_s;
17575 MenhirLib.EngineTypes.semv = Obj.repr _v;
17576 MenhirLib.EngineTypes.startp = _startpos;
17577 MenhirLib.EngineTypes.endp = _endpos;
17578 MenhirLib.EngineTypes.next = _menhir_stack;
17579 });
17580 (fun _menhir_env ->
17581 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17582 let {
17583 MenhirLib.EngineTypes.startp = _startpos__2_;
17584 MenhirLib.EngineTypes.endp = _endpos__2_;
17585 MenhirLib.EngineTypes.next = {
17586 MenhirLib.EngineTypes.state = _menhir_s;
17587 MenhirLib.EngineTypes.semv = _1;
17588 MenhirLib.EngineTypes.startp = _startpos__1_;
17589 MenhirLib.EngineTypes.endp = _endpos__1_;
17590 MenhirLib.EngineTypes.next = _menhir_stack;
17591 };
17592 } = _menhir_stack in
17593 let _1 : 'tv_list_incl_ = Obj.magic _1 in
17594 let _startpos = _startpos__1_ in
17595 let _endpos = _endpos__2_ in
17596 let _v : (
17597 # 152 "parser_cocci_menhir.mly"
17598 (Data.incl_iso list)
17599 # 17600 "parser_cocci_menhir.ml"
17600 ) =
17601 # 259 "parser_cocci_menhir.mly"
17602 ( _1 )
17603 # 17604 "parser_cocci_menhir.ml"
17604 in
17605 _menhir_env.MenhirLib.EngineTypes.stack <- {
17606 MenhirLib.EngineTypes.state = _menhir_s;
17607 MenhirLib.EngineTypes.semv = Obj.repr _v;
17608 MenhirLib.EngineTypes.startp = _startpos;
17609 MenhirLib.EngineTypes.endp = _endpos;
17610 MenhirLib.EngineTypes.next = _menhir_stack;
17611 });
17612 (fun _menhir_env ->
17613 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17614 let {
17615 MenhirLib.EngineTypes.state = _menhir_s;
17616 MenhirLib.EngineTypes.semv = _1;
17617 MenhirLib.EngineTypes.startp = _startpos__1_;
17618 MenhirLib.EngineTypes.endp = _endpos__1_;
17619 MenhirLib.EngineTypes.next = _menhir_stack;
17620 } = _menhir_stack in
17621 let _1 : (
17622 # 84 "parser_cocci_menhir.mly"
17623 (string * Data.clt)
17624 # 17625 "parser_cocci_menhir.ml"
17625 ) = Obj.magic _1 in
17626 let _startpos = _startpos__1_ in
17627 let _endpos = _endpos__1_ in
17628 let _v : 'tv_includes =
17629 # 745 "parser_cocci_menhir.mly"
17630 ( Ast0.wrap
17631 (Ast0.Include(P.clt2mcode "#include"
17632 (P.drop_pos (P.drop_aft (P.id2clt _1))),
17633 let (arity,ln,lln,offset,col,strbef,straft,pos) =
17634 P.id2clt _1 in
17635 let clt =
17636 (arity,ln,lln,offset,0,strbef,straft,pos) in
17637 P.clt2mcode
17638 (Ast.Local (Parse_aux.str2inc (P.id2name _1)))
17639 (P.drop_bef clt))) )
17640 # 17641 "parser_cocci_menhir.ml"
17641 in
17642 _menhir_env.MenhirLib.EngineTypes.stack <- {
17643 MenhirLib.EngineTypes.state = _menhir_s;
17644 MenhirLib.EngineTypes.semv = Obj.repr _v;
17645 MenhirLib.EngineTypes.startp = _startpos;
17646 MenhirLib.EngineTypes.endp = _endpos;
17647 MenhirLib.EngineTypes.next = _menhir_stack;
17648 });
17649 (fun _menhir_env ->
17650 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17651 let {
17652 MenhirLib.EngineTypes.state = _menhir_s;
17653 MenhirLib.EngineTypes.semv = _1;
17654 MenhirLib.EngineTypes.startp = _startpos__1_;
17655 MenhirLib.EngineTypes.endp = _endpos__1_;
17656 MenhirLib.EngineTypes.next = _menhir_stack;
17657 } = _menhir_stack in
17658 let _1 : (
17659 # 84 "parser_cocci_menhir.mly"
17660 (string * Data.clt)
17661 # 17662 "parser_cocci_menhir.ml"
17662 ) = Obj.magic _1 in
17663 let _startpos = _startpos__1_ in
17664 let _endpos = _endpos__1_ in
17665 let _v : 'tv_includes =
17666 # 756 "parser_cocci_menhir.mly"
17667 ( Ast0.wrap
17668 (Ast0.Include(P.clt2mcode "#include"
17669 (P.drop_pos (P.drop_aft (P.id2clt _1))),
17670 let (arity,ln,lln,offset,col,strbef,straft,pos) =
17671 P.id2clt _1 in
17672 let clt =
17673 (arity,ln,lln,offset,0,strbef,straft,pos) in
17674 P.clt2mcode
17675 (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1)))
17676 (P.drop_bef clt))) )
17677 # 17678 "parser_cocci_menhir.ml"
17678 in
17679 _menhir_env.MenhirLib.EngineTypes.stack <- {
17680 MenhirLib.EngineTypes.state = _menhir_s;
17681 MenhirLib.EngineTypes.semv = Obj.repr _v;
17682 MenhirLib.EngineTypes.startp = _startpos;
17683 MenhirLib.EngineTypes.endp = _endpos;
17684 MenhirLib.EngineTypes.next = _menhir_stack;
17685 });
17686 (fun _menhir_env ->
17687 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17688 let {
17689 MenhirLib.EngineTypes.startp = _startpos__2_;
17690 MenhirLib.EngineTypes.endp = _endpos__2_;
17691 MenhirLib.EngineTypes.next = {
17692 MenhirLib.EngineTypes.state = _menhir_s;
17693 MenhirLib.EngineTypes.semv = _1;
17694 MenhirLib.EngineTypes.startp = _startpos__1_;
17695 MenhirLib.EngineTypes.endp = _endpos__1_;
17696 MenhirLib.EngineTypes.next = _menhir_stack;
17697 };
17698 } = _menhir_stack in
17699 let _1 : (
17700 # 85 "parser_cocci_menhir.mly"
17701 (Data.clt * token)
17702 # 17703 "parser_cocci_menhir.ml"
17703 ) = Obj.magic _1 in
17704 let _startpos = _startpos__1_ in
17705 let _endpos = _endpos__2_ in
17706 let _v : 'tv_includes =
17707 # 767 "parser_cocci_menhir.mly"
17708 ( let (clt,ident) = _1 in
17709 Ast0.wrap
17710 (Ast0.Undef
17711 (P.clt2mcode "#undef" clt,
17712 (match ident with
17713 TMetaId((nm,constraints,pure,clt)) ->
17714 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
17715 | TIdent(nm_pure) ->
17716 Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
17717 | _ ->
17718 raise
17719 (Semantic_cocci.Semantic
17720 "unexpected name for a #define")))) )
17721 # 17722 "parser_cocci_menhir.ml"
17722 in
17723 _menhir_env.MenhirLib.EngineTypes.stack <- {
17724 MenhirLib.EngineTypes.state = _menhir_s;
17725 MenhirLib.EngineTypes.semv = Obj.repr _v;
17726 MenhirLib.EngineTypes.startp = _startpos;
17727 MenhirLib.EngineTypes.endp = _endpos;
17728 MenhirLib.EngineTypes.next = _menhir_stack;
17729 });
17730 (fun _menhir_env ->
17731 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17732 let {
17733 MenhirLib.EngineTypes.startp = _startpos__2_;
17734 MenhirLib.EngineTypes.endp = _endpos__2_;
17735 MenhirLib.EngineTypes.next = {
17736 MenhirLib.EngineTypes.state = _menhir_s;
17737 MenhirLib.EngineTypes.semv = d;
17738 MenhirLib.EngineTypes.startp = _startpos_d_;
17739 MenhirLib.EngineTypes.endp = _endpos_d_;
17740 MenhirLib.EngineTypes.next = _menhir_stack;
17741 };
17742 } = _menhir_stack in
17743 let d : 'tv_defineop = Obj.magic d in
17744 let _startpos = _startpos_d_ in
17745 let _endpos = _endpos__2_ in
17746 let _v : 'tv_includes =
17747 # 781 "parser_cocci_menhir.mly"
17748 ( d (Ast0.wrap(Ast0.DOTS([]))) )
17749 # 17750 "parser_cocci_menhir.ml"
17750 in
17751 _menhir_env.MenhirLib.EngineTypes.stack <- {
17752 MenhirLib.EngineTypes.state = _menhir_s;
17753 MenhirLib.EngineTypes.semv = Obj.repr _v;
17754 MenhirLib.EngineTypes.startp = _startpos;
17755 MenhirLib.EngineTypes.endp = _endpos;
17756 MenhirLib.EngineTypes.next = _menhir_stack;
17757 });
17758 (fun _menhir_env ->
17759 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17760 let {
17761 MenhirLib.EngineTypes.startp = _startpos__3_;
17762 MenhirLib.EngineTypes.endp = _endpos__3_;
17763 MenhirLib.EngineTypes.next = {
17764 MenhirLib.EngineTypes.semv = t;
17765 MenhirLib.EngineTypes.startp = _startpos_t_;
17766 MenhirLib.EngineTypes.endp = _endpos_t_;
17767 MenhirLib.EngineTypes.next = {
17768 MenhirLib.EngineTypes.state = _menhir_s;
17769 MenhirLib.EngineTypes.semv = d;
17770 MenhirLib.EngineTypes.startp = _startpos_d_;
17771 MenhirLib.EngineTypes.endp = _endpos_d_;
17772 MenhirLib.EngineTypes.next = _menhir_stack;
17773 };
17774 };
17775 } = _menhir_stack in
17776 let t : 'tv_ctype = Obj.magic t in
17777 let d : 'tv_defineop = Obj.magic d in
17778 let _startpos = _startpos_d_ in
17779 let _endpos = _endpos__3_ in
17780 let _v : 'tv_includes =
17781 # 783 "parser_cocci_menhir.mly"
17782 ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in
17783 d (Ast0.wrap(Ast0.DOTS([ty]))) )
17784 # 17785 "parser_cocci_menhir.ml"
17785 in
17786 _menhir_env.MenhirLib.EngineTypes.stack <- {
17787 MenhirLib.EngineTypes.state = _menhir_s;
17788 MenhirLib.EngineTypes.semv = Obj.repr _v;
17789 MenhirLib.EngineTypes.startp = _startpos;
17790 MenhirLib.EngineTypes.endp = _endpos;
17791 MenhirLib.EngineTypes.next = _menhir_stack;
17792 });
17793 (fun _menhir_env ->
17794 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17795 let {
17796 MenhirLib.EngineTypes.startp = _startpos__3_;
17797 MenhirLib.EngineTypes.endp = _endpos__3_;
17798 MenhirLib.EngineTypes.next = {
17799 MenhirLib.EngineTypes.semv = b;
17800 MenhirLib.EngineTypes.startp = _startpos_b_;
17801 MenhirLib.EngineTypes.endp = _endpos_b_;
17802 MenhirLib.EngineTypes.next = {
17803 MenhirLib.EngineTypes.state = _menhir_s;
17804 MenhirLib.EngineTypes.semv = _1;
17805 MenhirLib.EngineTypes.startp = _startpos__1_;
17806 MenhirLib.EngineTypes.endp = _endpos__1_;
17807 MenhirLib.EngineTypes.next = _menhir_stack;
17808 };
17809 };
17810 } = _menhir_stack in
17811 let b : 'tv_toplevel_seq_start_toplevel_after_dots_ = Obj.magic b in
17812 let _1 : 'tv_defineop = Obj.magic _1 in
17813 let _startpos = _startpos__1_ in
17814 let _endpos = _endpos__3_ in
17815 let _v : 'tv_includes =
17816 # 786 "parser_cocci_menhir.mly"
17817 ( let body =
17818 match b with
17819 [e] ->
17820 (match Ast0.unwrap e with
17821 Ast0.Exp(e1) ->
17822 [Ast0.rewrap e (Ast0.TopExp(Ast0.set_arg_exp (e1)))]
17823 | _ -> b)
17824 | _ -> b in
17825 _1 (Ast0.wrap(Ast0.DOTS(body))) )
17826 # 17827 "parser_cocci_menhir.ml"
17827 in
17828 _menhir_env.MenhirLib.EngineTypes.stack <- {
17829 MenhirLib.EngineTypes.state = _menhir_s;
17830 MenhirLib.EngineTypes.semv = Obj.repr _v;
17831 MenhirLib.EngineTypes.startp = _startpos;
17832 MenhirLib.EngineTypes.endp = _endpos;
17833 MenhirLib.EngineTypes.next = _menhir_stack;
17834 });
17835 (fun _menhir_env ->
17836 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17837 let {
17838 MenhirLib.EngineTypes.state = _menhir_s;
17839 MenhirLib.EngineTypes.semv = _1;
17840 MenhirLib.EngineTypes.startp = _startpos__1_;
17841 MenhirLib.EngineTypes.endp = _endpos__1_;
17842 MenhirLib.EngineTypes.next = _menhir_stack;
17843 } = _menhir_stack in
17844 let _1 : 'tv_eexpr = Obj.magic _1 in
17845 let _startpos = _startpos__1_ in
17846 let _endpos = _endpos__1_ in
17847 let _v : 'tv_initialize =
17848 # 1178 "parser_cocci_menhir.mly"
17849 ( Ast0.wrap(Ast0.InitExpr(_1)) )
17850 # 17851 "parser_cocci_menhir.ml"
17851 in
17852 _menhir_env.MenhirLib.EngineTypes.stack <- {
17853 MenhirLib.EngineTypes.state = _menhir_s;
17854 MenhirLib.EngineTypes.semv = Obj.repr _v;
17855 MenhirLib.EngineTypes.startp = _startpos;
17856 MenhirLib.EngineTypes.endp = _endpos;
17857 MenhirLib.EngineTypes.next = _menhir_stack;
17858 });
17859 (fun _menhir_env ->
17860 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17861 let {
17862 MenhirLib.EngineTypes.semv = _3;
17863 MenhirLib.EngineTypes.startp = _startpos__3_;
17864 MenhirLib.EngineTypes.endp = _endpos__3_;
17865 MenhirLib.EngineTypes.next = {
17866 MenhirLib.EngineTypes.semv = _2;
17867 MenhirLib.EngineTypes.startp = _startpos__2_;
17868 MenhirLib.EngineTypes.endp = _endpos__2_;
17869 MenhirLib.EngineTypes.next = {
17870 MenhirLib.EngineTypes.state = _menhir_s;
17871 MenhirLib.EngineTypes.semv = _1;
17872 MenhirLib.EngineTypes.startp = _startpos__1_;
17873 MenhirLib.EngineTypes.endp = _endpos__1_;
17874 MenhirLib.EngineTypes.next = _menhir_stack;
17875 };
17876 };
17877 } = _menhir_stack in
17878 let _3 : (
17879 # 105 "parser_cocci_menhir.mly"
17880 (Data.clt)
17881 # 17882 "parser_cocci_menhir.ml"
17882 ) = Obj.magic _3 in
17883 let _2 : 'tv_initialize_list = Obj.magic _2 in
17884 let _1 : (
17885 # 105 "parser_cocci_menhir.mly"
17886 (Data.clt)
17887 # 17888 "parser_cocci_menhir.ml"
17888 ) = Obj.magic _1 in
17889 let _startpos = _startpos__1_ in
17890 let _endpos = _endpos__3_ in
17891 let _v : 'tv_initialize =
17892 # 1180 "parser_cocci_menhir.mly"
17893 ( if P.struct_initializer _2
17894 then
17895 let il = P.drop_dot_commas _2 in
17896 Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
17897 else
17898 Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
17899 # 17900 "parser_cocci_menhir.ml"
17900 in
17901 _menhir_env.MenhirLib.EngineTypes.stack <- {
17902 MenhirLib.EngineTypes.state = _menhir_s;
17903 MenhirLib.EngineTypes.semv = Obj.repr _v;
17904 MenhirLib.EngineTypes.startp = _startpos;
17905 MenhirLib.EngineTypes.endp = _endpos;
17906 MenhirLib.EngineTypes.next = _menhir_stack;
17907 });
17908 (fun _menhir_env ->
17909 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17910 let {
17911 MenhirLib.EngineTypes.state = _menhir_s;
17912 MenhirLib.EngineTypes.semv = _1;
17913 MenhirLib.EngineTypes.startp = _startpos__1_;
17914 MenhirLib.EngineTypes.endp = _endpos__1_;
17915 MenhirLib.EngineTypes.next = _menhir_stack;
17916 } = _menhir_stack in
17917 let _1 : (
17918 # 69 "parser_cocci_menhir.mly"
17919 (Parse_aux.info)
17920 # 17921 "parser_cocci_menhir.ml"
17921 ) = Obj.magic _1 in
17922 let _startpos = _startpos__1_ in
17923 let _endpos = _endpos__1_ in
17924 let _v : 'tv_initialize =
17925 # 1187 "parser_cocci_menhir.mly"
17926 (let (nm,pure,clt) = _1 in
17927 Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
17928 # 17929 "parser_cocci_menhir.ml"
17929 in
17930 _menhir_env.MenhirLib.EngineTypes.stack <- {
17931 MenhirLib.EngineTypes.state = _menhir_s;
17932 MenhirLib.EngineTypes.semv = Obj.repr _v;
17933 MenhirLib.EngineTypes.startp = _startpos;
17934 MenhirLib.EngineTypes.endp = _endpos;
17935 MenhirLib.EngineTypes.next = _menhir_stack;
17936 });
17937 (fun _menhir_env ->
17938 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17939 let {
17940 MenhirLib.EngineTypes.state = _menhir_s;
17941 MenhirLib.EngineTypes.semv = _1;
17942 MenhirLib.EngineTypes.startp = _startpos__1_;
17943 MenhirLib.EngineTypes.endp = _endpos__1_;
17944 MenhirLib.EngineTypes.next = _menhir_stack;
17945 } = _menhir_stack in
17946 let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
17947 let _startpos = _startpos__1_ in
17948 let _endpos = _endpos__1_ in
17949 let _v : 'tv_initialize2 =
17950 # 1193 "parser_cocci_menhir.mly"
17951 ( Ast0.wrap(Ast0.InitExpr(_1)) )
17952 # 17953 "parser_cocci_menhir.ml"
17953 in
17954 _menhir_env.MenhirLib.EngineTypes.stack <- {
17955 MenhirLib.EngineTypes.state = _menhir_s;
17956 MenhirLib.EngineTypes.semv = Obj.repr _v;
17957 MenhirLib.EngineTypes.startp = _startpos;
17958 MenhirLib.EngineTypes.endp = _endpos;
17959 MenhirLib.EngineTypes.next = _menhir_stack;
17960 });
17961 (fun _menhir_env ->
17962 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
17963 let {
17964 MenhirLib.EngineTypes.semv = _3;
17965 MenhirLib.EngineTypes.startp = _startpos__3_;
17966 MenhirLib.EngineTypes.endp = _endpos__3_;
17967 MenhirLib.EngineTypes.next = {
17968 MenhirLib.EngineTypes.semv = _2;
17969 MenhirLib.EngineTypes.startp = _startpos__2_;
17970 MenhirLib.EngineTypes.endp = _endpos__2_;
17971 MenhirLib.EngineTypes.next = {
17972 MenhirLib.EngineTypes.state = _menhir_s;
17973 MenhirLib.EngineTypes.semv = _1;
17974 MenhirLib.EngineTypes.startp = _startpos__1_;
17975 MenhirLib.EngineTypes.endp = _endpos__1_;
17976 MenhirLib.EngineTypes.next = _menhir_stack;
17977 };
17978 };
17979 } = _menhir_stack in
17980 let _3 : (
17981 # 105 "parser_cocci_menhir.mly"
17982 (Data.clt)
17983 # 17984 "parser_cocci_menhir.ml"
17984 ) = Obj.magic _3 in
17985 let _2 : 'tv_initialize_list = Obj.magic _2 in
17986 let _1 : (
17987 # 105 "parser_cocci_menhir.mly"
17988 (Data.clt)
17989 # 17990 "parser_cocci_menhir.ml"
17990 ) = Obj.magic _1 in
17991 let _startpos = _startpos__1_ in
17992 let _endpos = _endpos__3_ in
17993 let _v : 'tv_initialize2 =
17994 # 1195 "parser_cocci_menhir.mly"
17995 ( if P.struct_initializer _2
17996 then
17997 let il = P.drop_dot_commas _2 in
17998 Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
17999 else
18000 Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
18001 # 18002 "parser_cocci_menhir.ml"
18002 in
18003 _menhir_env.MenhirLib.EngineTypes.stack <- {
18004 MenhirLib.EngineTypes.state = _menhir_s;
18005 MenhirLib.EngineTypes.semv = Obj.repr _v;
18006 MenhirLib.EngineTypes.startp = _startpos;
18007 MenhirLib.EngineTypes.endp = _endpos;
18008 MenhirLib.EngineTypes.next = _menhir_stack;
18009 });
18010 (fun _menhir_env ->
18011 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18012 let {
18013 MenhirLib.EngineTypes.semv = _3;
18014 MenhirLib.EngineTypes.startp = _startpos__3_;
18015 MenhirLib.EngineTypes.endp = _endpos__3_;
18016 MenhirLib.EngineTypes.next = {
18017 MenhirLib.EngineTypes.semv = _2;
18018 MenhirLib.EngineTypes.startp = _startpos__2_;
18019 MenhirLib.EngineTypes.endp = _endpos__2_;
18020 MenhirLib.EngineTypes.next = {
18021 MenhirLib.EngineTypes.state = _menhir_s;
18022 MenhirLib.EngineTypes.semv = _1;
18023 MenhirLib.EngineTypes.startp = _startpos__1_;
18024 MenhirLib.EngineTypes.endp = _endpos__1_;
18025 MenhirLib.EngineTypes.next = _menhir_stack;
18026 };
18027 };
18028 } = _menhir_stack in
18029 let _3 : 'tv_initialize2 = Obj.magic _3 in
18030 let _2 : (
18031 # 111 "parser_cocci_menhir.mly"
18032 (Data.clt)
18033 # 18034 "parser_cocci_menhir.ml"
18034 ) = Obj.magic _2 in
18035 let _1 : 'tv_list_designator_ = Obj.magic _1 in
18036 let _startpos = _startpos__1_ in
18037 let _endpos = _endpos__3_ in
18038 let _v : 'tv_initialize2 =
18039 # 1203 "parser_cocci_menhir.mly"
18040 ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
18041 # 18042 "parser_cocci_menhir.ml"
18042 in
18043 _menhir_env.MenhirLib.EngineTypes.stack <- {
18044 MenhirLib.EngineTypes.state = _menhir_s;
18045 MenhirLib.EngineTypes.semv = Obj.repr _v;
18046 MenhirLib.EngineTypes.startp = _startpos;
18047 MenhirLib.EngineTypes.endp = _endpos;
18048 MenhirLib.EngineTypes.next = _menhir_stack;
18049 });
18050 (fun _menhir_env ->
18051 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18052 let {
18053 MenhirLib.EngineTypes.semv = _3;
18054 MenhirLib.EngineTypes.startp = _startpos__3_;
18055 MenhirLib.EngineTypes.endp = _endpos__3_;
18056 MenhirLib.EngineTypes.next = {
18057 MenhirLib.EngineTypes.semv = _2;
18058 MenhirLib.EngineTypes.startp = _startpos__2_;
18059 MenhirLib.EngineTypes.endp = _endpos__2_;
18060 MenhirLib.EngineTypes.next = {
18061 MenhirLib.EngineTypes.state = _menhir_s;
18062 MenhirLib.EngineTypes.semv = _1;
18063 MenhirLib.EngineTypes.startp = _startpos__1_;
18064 MenhirLib.EngineTypes.endp = _endpos__1_;
18065 MenhirLib.EngineTypes.next = _menhir_stack;
18066 };
18067 };
18068 } = _menhir_stack in
18069 let _3 : 'tv_initialize2 = Obj.magic _3 in
18070 let _2 : (
18071 # 80 "parser_cocci_menhir.mly"
18072 (Data.clt)
18073 # 18074 "parser_cocci_menhir.ml"
18074 ) = Obj.magic _2 in
18075 let _1 : 'tv_ident = Obj.magic _1 in
18076 let _startpos = _startpos__1_ in
18077 let _endpos = _endpos__3_ in
18078 let _v : 'tv_initialize2 =
18079 # 1205 "parser_cocci_menhir.mly"
18080 ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
18081 # 18082 "parser_cocci_menhir.ml"
18082 in
18083 _menhir_env.MenhirLib.EngineTypes.stack <- {
18084 MenhirLib.EngineTypes.state = _menhir_s;
18085 MenhirLib.EngineTypes.semv = Obj.repr _v;
18086 MenhirLib.EngineTypes.startp = _startpos;
18087 MenhirLib.EngineTypes.endp = _endpos;
18088 MenhirLib.EngineTypes.next = _menhir_stack;
18089 });
18090 (fun _menhir_env ->
18091 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18092 let {
18093 MenhirLib.EngineTypes.state = _menhir_s;
18094 MenhirLib.EngineTypes.semv = _1;
18095 MenhirLib.EngineTypes.startp = _startpos__1_;
18096 MenhirLib.EngineTypes.endp = _endpos__1_;
18097 MenhirLib.EngineTypes.next = _menhir_stack;
18098 } = _menhir_stack in
18099 let _1 : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _1 in
18100 let _startpos = _startpos__1_ in
18101 let _endpos = _endpos__1_ in
18102 let _v : 'tv_initialize_list =
18103 # 1218 "parser_cocci_menhir.mly"
18104 ( Ast0.wrap(Ast0.DOTS(_1 P.mkidots (fun c -> Ast0.IComma c))) )
18105 # 18106 "parser_cocci_menhir.ml"
18106 in
18107 _menhir_env.MenhirLib.EngineTypes.stack <- {
18108 MenhirLib.EngineTypes.state = _menhir_s;
18109 MenhirLib.EngineTypes.semv = Obj.repr _v;
18110 MenhirLib.EngineTypes.startp = _startpos;
18111 MenhirLib.EngineTypes.endp = _endpos;
18112 MenhirLib.EngineTypes.next = _menhir_stack;
18113 });
18114 (fun _menhir_env ->
18115 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18116 let {
18117 MenhirLib.EngineTypes.state = _menhir_s;
18118 MenhirLib.EngineTypes.startp = _startpos__1_;
18119 MenhirLib.EngineTypes.endp = _endpos__1_;
18120 MenhirLib.EngineTypes.next = _menhir_stack;
18121 } = _menhir_stack in
18122 let _startpos = _startpos__1_ in
18123 let _endpos = _endpos__1_ in
18124 let _v : 'tv_invalid =
18125 # 1298 "parser_cocci_menhir.mly"
18126 ( raise (Semantic_cocci.Semantic "not matchable") )
18127 # 18128 "parser_cocci_menhir.ml"
18128 in
18129 _menhir_env.MenhirLib.EngineTypes.stack <- {
18130 MenhirLib.EngineTypes.state = _menhir_s;
18131 MenhirLib.EngineTypes.semv = Obj.repr _v;
18132 MenhirLib.EngineTypes.startp = _startpos;
18133 MenhirLib.EngineTypes.endp = _endpos;
18134 MenhirLib.EngineTypes.next = _menhir_stack;
18135 });
18136 (fun _menhir_env ->
18137 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18138 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18139 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18140 let _endpos = _startpos in
18141 let _v : 'tv_is_expression =
18142 # 254 "parser_cocci_menhir.mly"
18143 ( false )
18144 # 18145 "parser_cocci_menhir.ml"
18145 in
18146 _menhir_env.MenhirLib.EngineTypes.stack <- {
18147 MenhirLib.EngineTypes.state = _menhir_s;
18148 MenhirLib.EngineTypes.semv = Obj.repr _v;
18149 MenhirLib.EngineTypes.startp = _startpos;
18150 MenhirLib.EngineTypes.endp = _endpos;
18151 MenhirLib.EngineTypes.next = _menhir_stack;
18152 });
18153 (fun _menhir_env ->
18154 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18155 let {
18156 MenhirLib.EngineTypes.state = _menhir_s;
18157 MenhirLib.EngineTypes.startp = _startpos__1_;
18158 MenhirLib.EngineTypes.endp = _endpos__1_;
18159 MenhirLib.EngineTypes.next = _menhir_stack;
18160 } = _menhir_stack in
18161 let _startpos = _startpos__1_ in
18162 let _endpos = _endpos__1_ in
18163 let _v : 'tv_is_expression =
18164 # 255 "parser_cocci_menhir.mly"
18165 ( true )
18166 # 18167 "parser_cocci_menhir.ml"
18167 in
18168 _menhir_env.MenhirLib.EngineTypes.stack <- {
18169 MenhirLib.EngineTypes.state = _menhir_s;
18170 MenhirLib.EngineTypes.semv = Obj.repr _v;
18171 MenhirLib.EngineTypes.startp = _startpos;
18172 MenhirLib.EngineTypes.endp = _endpos;
18173 MenhirLib.EngineTypes.next = _menhir_stack;
18174 });
18175 (fun _menhir_env ->
18176 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18177 let {
18178 MenhirLib.EngineTypes.semv = t;
18179 MenhirLib.EngineTypes.startp = _startpos_t_;
18180 MenhirLib.EngineTypes.endp = _endpos_t_;
18181 MenhirLib.EngineTypes.next = {
18182 MenhirLib.EngineTypes.state = _menhir_s;
18183 MenhirLib.EngineTypes.startp = _startpos__1_;
18184 MenhirLib.EngineTypes.endp = _endpos__1_;
18185 MenhirLib.EngineTypes.next = _menhir_stack;
18186 };
18187 } = _menhir_stack in
18188 let t : 'tv_ctype = Obj.magic t in
18189 let _startpos = _startpos__1_ in
18190 let _endpos = _endpos_t_ in
18191 let _v : 'tv_iso_ctype_ =
18192 # 2158 "parser_cocci_menhir.mly"
18193 ( Common.Left t )
18194 # 18195 "parser_cocci_menhir.ml"
18195 in
18196 _menhir_env.MenhirLib.EngineTypes.stack <- {
18197 MenhirLib.EngineTypes.state = _menhir_s;
18198 MenhirLib.EngineTypes.semv = Obj.repr _v;
18199 MenhirLib.EngineTypes.startp = _startpos;
18200 MenhirLib.EngineTypes.endp = _endpos;
18201 MenhirLib.EngineTypes.next = _menhir_stack;
18202 });
18203 (fun _menhir_env ->
18204 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18205 let {
18206 MenhirLib.EngineTypes.semv = t;
18207 MenhirLib.EngineTypes.startp = _startpos_t_;
18208 MenhirLib.EngineTypes.endp = _endpos_t_;
18209 MenhirLib.EngineTypes.next = {
18210 MenhirLib.EngineTypes.state = _menhir_s;
18211 MenhirLib.EngineTypes.startp = _startpos__1_;
18212 MenhirLib.EngineTypes.endp = _endpos__1_;
18213 MenhirLib.EngineTypes.next = _menhir_stack;
18214 };
18215 } = _menhir_stack in
18216 let t : 'tv_ctype = Obj.magic t in
18217 let _startpos = _startpos__1_ in
18218 let _endpos = _endpos_t_ in
18219 let _v : 'tv_iso_ctype_ =
18220 # 2159 "parser_cocci_menhir.mly"
18221 ( Common.Right t )
18222 # 18223 "parser_cocci_menhir.ml"
18223 in
18224 _menhir_env.MenhirLib.EngineTypes.stack <- {
18225 MenhirLib.EngineTypes.state = _menhir_s;
18226 MenhirLib.EngineTypes.semv = Obj.repr _v;
18227 MenhirLib.EngineTypes.startp = _startpos;
18228 MenhirLib.EngineTypes.endp = _endpos;
18229 MenhirLib.EngineTypes.next = _menhir_stack;
18230 });
18231 (fun _menhir_env ->
18232 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18233 let {
18234 MenhirLib.EngineTypes.semv = t;
18235 MenhirLib.EngineTypes.startp = _startpos_t_;
18236 MenhirLib.EngineTypes.endp = _endpos_t_;
18237 MenhirLib.EngineTypes.next = {
18238 MenhirLib.EngineTypes.state = _menhir_s;
18239 MenhirLib.EngineTypes.startp = _startpos__1_;
18240 MenhirLib.EngineTypes.endp = _endpos__1_;
18241 MenhirLib.EngineTypes.next = _menhir_stack;
18242 };
18243 } = _menhir_stack in
18244 let t : 'tv_decl_var = Obj.magic t in
18245 let _startpos = _startpos__1_ in
18246 let _endpos = _endpos_t_ in
18247 let _v : 'tv_iso_decl_var_ =
18248 # 2158 "parser_cocci_menhir.mly"
18249 ( Common.Left t )
18250 # 18251 "parser_cocci_menhir.ml"
18251 in
18252 _menhir_env.MenhirLib.EngineTypes.stack <- {
18253 MenhirLib.EngineTypes.state = _menhir_s;
18254 MenhirLib.EngineTypes.semv = Obj.repr _v;
18255 MenhirLib.EngineTypes.startp = _startpos;
18256 MenhirLib.EngineTypes.endp = _endpos;
18257 MenhirLib.EngineTypes.next = _menhir_stack;
18258 });
18259 (fun _menhir_env ->
18260 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18261 let {
18262 MenhirLib.EngineTypes.semv = t;
18263 MenhirLib.EngineTypes.startp = _startpos_t_;
18264 MenhirLib.EngineTypes.endp = _endpos_t_;
18265 MenhirLib.EngineTypes.next = {
18266 MenhirLib.EngineTypes.state = _menhir_s;
18267 MenhirLib.EngineTypes.startp = _startpos__1_;
18268 MenhirLib.EngineTypes.endp = _endpos__1_;
18269 MenhirLib.EngineTypes.next = _menhir_stack;
18270 };
18271 } = _menhir_stack in
18272 let t : 'tv_decl_var = Obj.magic t in
18273 let _startpos = _startpos__1_ in
18274 let _endpos = _endpos_t_ in
18275 let _v : 'tv_iso_decl_var_ =
18276 # 2159 "parser_cocci_menhir.mly"
18277 ( Common.Right t )
18278 # 18279 "parser_cocci_menhir.ml"
18279 in
18280 _menhir_env.MenhirLib.EngineTypes.stack <- {
18281 MenhirLib.EngineTypes.state = _menhir_s;
18282 MenhirLib.EngineTypes.semv = Obj.repr _v;
18283 MenhirLib.EngineTypes.startp = _startpos;
18284 MenhirLib.EngineTypes.endp = _endpos;
18285 MenhirLib.EngineTypes.next = _menhir_stack;
18286 });
18287 (fun _menhir_env ->
18288 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18289 let {
18290 MenhirLib.EngineTypes.semv = t;
18291 MenhirLib.EngineTypes.startp = _startpos_t_;
18292 MenhirLib.EngineTypes.endp = _endpos_t_;
18293 MenhirLib.EngineTypes.next = {
18294 MenhirLib.EngineTypes.state = _menhir_s;
18295 MenhirLib.EngineTypes.startp = _startpos__1_;
18296 MenhirLib.EngineTypes.endp = _endpos__1_;
18297 MenhirLib.EngineTypes.next = _menhir_stack;
18298 };
18299 } = _menhir_stack in
18300 let t : 'tv_eexpr = Obj.magic t in
18301 let _startpos = _startpos__1_ in
18302 let _endpos = _endpos_t_ in
18303 let _v : 'tv_iso_eexpr_ =
18304 # 2158 "parser_cocci_menhir.mly"
18305 ( Common.Left t )
18306 # 18307 "parser_cocci_menhir.ml"
18307 in
18308 _menhir_env.MenhirLib.EngineTypes.stack <- {
18309 MenhirLib.EngineTypes.state = _menhir_s;
18310 MenhirLib.EngineTypes.semv = Obj.repr _v;
18311 MenhirLib.EngineTypes.startp = _startpos;
18312 MenhirLib.EngineTypes.endp = _endpos;
18313 MenhirLib.EngineTypes.next = _menhir_stack;
18314 });
18315 (fun _menhir_env ->
18316 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18317 let {
18318 MenhirLib.EngineTypes.semv = t;
18319 MenhirLib.EngineTypes.startp = _startpos_t_;
18320 MenhirLib.EngineTypes.endp = _endpos_t_;
18321 MenhirLib.EngineTypes.next = {
18322 MenhirLib.EngineTypes.state = _menhir_s;
18323 MenhirLib.EngineTypes.startp = _startpos__1_;
18324 MenhirLib.EngineTypes.endp = _endpos__1_;
18325 MenhirLib.EngineTypes.next = _menhir_stack;
18326 };
18327 } = _menhir_stack in
18328 let t : 'tv_eexpr = Obj.magic t in
18329 let _startpos = _startpos__1_ in
18330 let _endpos = _endpos_t_ in
18331 let _v : 'tv_iso_eexpr_ =
18332 # 2159 "parser_cocci_menhir.mly"
18333 ( Common.Right t )
18334 # 18335 "parser_cocci_menhir.ml"
18335 in
18336 _menhir_env.MenhirLib.EngineTypes.stack <- {
18337 MenhirLib.EngineTypes.state = _menhir_s;
18338 MenhirLib.EngineTypes.semv = Obj.repr _v;
18339 MenhirLib.EngineTypes.startp = _startpos;
18340 MenhirLib.EngineTypes.endp = _endpos;
18341 MenhirLib.EngineTypes.next = _menhir_stack;
18342 });
18343 (fun _menhir_env ->
18344 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18345 let {
18346 MenhirLib.EngineTypes.semv = t;
18347 MenhirLib.EngineTypes.startp = _startpos_t_;
18348 MenhirLib.EngineTypes.endp = _endpos_t_;
18349 MenhirLib.EngineTypes.next = {
18350 MenhirLib.EngineTypes.state = _menhir_s;
18351 MenhirLib.EngineTypes.startp = _startpos__1_;
18352 MenhirLib.EngineTypes.endp = _endpos__1_;
18353 MenhirLib.EngineTypes.next = _menhir_stack;
18354 };
18355 } = _menhir_stack in
18356 let t : 'tv_nest_start = Obj.magic t in
18357 let _startpos = _startpos__1_ in
18358 let _endpos = _endpos_t_ in
18359 let _v : 'tv_iso_nest_start_ =
18360 # 2158 "parser_cocci_menhir.mly"
18361 ( Common.Left t )
18362 # 18363 "parser_cocci_menhir.ml"
18363 in
18364 _menhir_env.MenhirLib.EngineTypes.stack <- {
18365 MenhirLib.EngineTypes.state = _menhir_s;
18366 MenhirLib.EngineTypes.semv = Obj.repr _v;
18367 MenhirLib.EngineTypes.startp = _startpos;
18368 MenhirLib.EngineTypes.endp = _endpos;
18369 MenhirLib.EngineTypes.next = _menhir_stack;
18370 });
18371 (fun _menhir_env ->
18372 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18373 let {
18374 MenhirLib.EngineTypes.semv = t;
18375 MenhirLib.EngineTypes.startp = _startpos_t_;
18376 MenhirLib.EngineTypes.endp = _endpos_t_;
18377 MenhirLib.EngineTypes.next = {
18378 MenhirLib.EngineTypes.state = _menhir_s;
18379 MenhirLib.EngineTypes.startp = _startpos__1_;
18380 MenhirLib.EngineTypes.endp = _endpos__1_;
18381 MenhirLib.EngineTypes.next = _menhir_stack;
18382 };
18383 } = _menhir_stack in
18384 let t : 'tv_nest_start = Obj.magic t in
18385 let _startpos = _startpos__1_ in
18386 let _endpos = _endpos_t_ in
18387 let _v : 'tv_iso_nest_start_ =
18388 # 2159 "parser_cocci_menhir.mly"
18389 ( Common.Right t )
18390 # 18391 "parser_cocci_menhir.ml"
18391 in
18392 _menhir_env.MenhirLib.EngineTypes.stack <- {
18393 MenhirLib.EngineTypes.state = _menhir_s;
18394 MenhirLib.EngineTypes.semv = Obj.repr _v;
18395 MenhirLib.EngineTypes.startp = _startpos;
18396 MenhirLib.EngineTypes.endp = _endpos;
18397 MenhirLib.EngineTypes.next = _menhir_stack;
18398 });
18399 (fun _menhir_env ->
18400 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18401 let {
18402 MenhirLib.EngineTypes.semv = t;
18403 MenhirLib.EngineTypes.startp = _startpos_t_;
18404 MenhirLib.EngineTypes.endp = _endpos_t_;
18405 MenhirLib.EngineTypes.next = {
18406 MenhirLib.EngineTypes.state = _menhir_s;
18407 MenhirLib.EngineTypes.startp = _startpos__1_;
18408 MenhirLib.EngineTypes.endp = _endpos__1_;
18409 MenhirLib.EngineTypes.next = _menhir_stack;
18410 };
18411 } = _menhir_stack in
18412 let t : 'tv_single_statement = Obj.magic t in
18413 let _startpos = _startpos__1_ in
18414 let _endpos = _endpos_t_ in
18415 let _v : 'tv_iso_single_statement_ =
18416 # 2158 "parser_cocci_menhir.mly"
18417 ( Common.Left t )
18418 # 18419 "parser_cocci_menhir.ml"
18419 in
18420 _menhir_env.MenhirLib.EngineTypes.stack <- {
18421 MenhirLib.EngineTypes.state = _menhir_s;
18422 MenhirLib.EngineTypes.semv = Obj.repr _v;
18423 MenhirLib.EngineTypes.startp = _startpos;
18424 MenhirLib.EngineTypes.endp = _endpos;
18425 MenhirLib.EngineTypes.next = _menhir_stack;
18426 });
18427 (fun _menhir_env ->
18428 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18429 let {
18430 MenhirLib.EngineTypes.semv = t;
18431 MenhirLib.EngineTypes.startp = _startpos_t_;
18432 MenhirLib.EngineTypes.endp = _endpos_t_;
18433 MenhirLib.EngineTypes.next = {
18434 MenhirLib.EngineTypes.state = _menhir_s;
18435 MenhirLib.EngineTypes.startp = _startpos__1_;
18436 MenhirLib.EngineTypes.endp = _endpos__1_;
18437 MenhirLib.EngineTypes.next = _menhir_stack;
18438 };
18439 } = _menhir_stack in
18440 let t : 'tv_single_statement = Obj.magic t in
18441 let _startpos = _startpos__1_ in
18442 let _endpos = _endpos_t_ in
18443 let _v : 'tv_iso_single_statement_ =
18444 # 2159 "parser_cocci_menhir.mly"
18445 ( Common.Right t )
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 {
18458 MenhirLib.EngineTypes.startp = _startpos__4_;
18459 MenhirLib.EngineTypes.endp = _endpos__4_;
18460 MenhirLib.EngineTypes.next = {
18461 MenhirLib.EngineTypes.semv = el;
18462 MenhirLib.EngineTypes.startp = _startpos_el_;
18463 MenhirLib.EngineTypes.endp = _endpos_el_;
18464 MenhirLib.EngineTypes.next = {
18465 MenhirLib.EngineTypes.semv = e1;
18466 MenhirLib.EngineTypes.startp = _startpos_e1_;
18467 MenhirLib.EngineTypes.endp = _endpos_e1_;
18468 MenhirLib.EngineTypes.next = {
18469 MenhirLib.EngineTypes.state = _menhir_s;
18470 MenhirLib.EngineTypes.startp = _startpos__1_;
18471 MenhirLib.EngineTypes.endp = _endpos__1_;
18472 MenhirLib.EngineTypes.next = _menhir_stack;
18473 };
18474 };
18475 };
18476 } = _menhir_stack in
18477 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
18478 let e1 : 'tv_eexpr = Obj.magic e1 in
18479 let _startpos = _startpos__1_ in
18480 let _endpos = _endpos__4_ in
18481 let _v : (
18482 # 168 "parser_cocci_menhir.mly"
18483 (Ast0_cocci.anything list list)
18484 # 18485 "parser_cocci_menhir.ml"
18485 ) =
18486 # 2126 "parser_cocci_menhir.mly"
18487 ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el )
18488 # 18489 "parser_cocci_menhir.ml"
18489 in
18490 _menhir_env.MenhirLib.EngineTypes.stack <- {
18491 MenhirLib.EngineTypes.state = _menhir_s;
18492 MenhirLib.EngineTypes.semv = Obj.repr _v;
18493 MenhirLib.EngineTypes.startp = _startpos;
18494 MenhirLib.EngineTypes.endp = _endpos;
18495 MenhirLib.EngineTypes.next = _menhir_stack;
18496 });
18497 (fun _menhir_env ->
18498 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18499 let {
18500 MenhirLib.EngineTypes.startp = _startpos__4_;
18501 MenhirLib.EngineTypes.endp = _endpos__4_;
18502 MenhirLib.EngineTypes.next = {
18503 MenhirLib.EngineTypes.semv = el;
18504 MenhirLib.EngineTypes.startp = _startpos_el_;
18505 MenhirLib.EngineTypes.endp = _endpos_el_;
18506 MenhirLib.EngineTypes.next = {
18507 MenhirLib.EngineTypes.semv = e1;
18508 MenhirLib.EngineTypes.startp = _startpos_e1_;
18509 MenhirLib.EngineTypes.endp = _endpos_e1_;
18510 MenhirLib.EngineTypes.next = {
18511 MenhirLib.EngineTypes.state = _menhir_s;
18512 MenhirLib.EngineTypes.startp = _startpos__1_;
18513 MenhirLib.EngineTypes.endp = _endpos__1_;
18514 MenhirLib.EngineTypes.next = _menhir_stack;
18515 };
18516 };
18517 };
18518 } = _menhir_stack in
18519 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
18520 let e1 : 'tv_eexpr = Obj.magic e1 in
18521 let _startpos = _startpos__1_ in
18522 let _endpos = _endpos__4_ in
18523 let _v : (
18524 # 168 "parser_cocci_menhir.mly"
18525 (Ast0_cocci.anything list list)
18526 # 18527 "parser_cocci_menhir.ml"
18527 ) =
18528 # 2128 "parser_cocci_menhir.mly"
18529 ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el )
18530 # 18531 "parser_cocci_menhir.ml"
18531 in
18532 _menhir_env.MenhirLib.EngineTypes.stack <- {
18533 MenhirLib.EngineTypes.state = _menhir_s;
18534 MenhirLib.EngineTypes.semv = Obj.repr _v;
18535 MenhirLib.EngineTypes.startp = _startpos;
18536 MenhirLib.EngineTypes.endp = _endpos;
18537 MenhirLib.EngineTypes.next = _menhir_stack;
18538 });
18539 (fun _menhir_env ->
18540 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18541 let {
18542 MenhirLib.EngineTypes.startp = _startpos__4_;
18543 MenhirLib.EngineTypes.endp = _endpos__4_;
18544 MenhirLib.EngineTypes.next = {
18545 MenhirLib.EngineTypes.semv = el;
18546 MenhirLib.EngineTypes.startp = _startpos_el_;
18547 MenhirLib.EngineTypes.endp = _endpos_el_;
18548 MenhirLib.EngineTypes.next = {
18549 MenhirLib.EngineTypes.semv = e1;
18550 MenhirLib.EngineTypes.startp = _startpos_e1_;
18551 MenhirLib.EngineTypes.endp = _endpos_e1_;
18552 MenhirLib.EngineTypes.next = {
18553 MenhirLib.EngineTypes.state = _menhir_s;
18554 MenhirLib.EngineTypes.startp = _startpos__1_;
18555 MenhirLib.EngineTypes.endp = _endpos__1_;
18556 MenhirLib.EngineTypes.next = _menhir_stack;
18557 };
18558 };
18559 };
18560 } = _menhir_stack in
18561 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
18562 let e1 : 'tv_eexpr = Obj.magic e1 in
18563 let _startpos = _startpos__1_ in
18564 let _endpos = _endpos__4_ in
18565 let _v : (
18566 # 168 "parser_cocci_menhir.mly"
18567 (Ast0_cocci.anything list list)
18568 # 18569 "parser_cocci_menhir.ml"
18569 ) =
18570 # 2130 "parser_cocci_menhir.mly"
18571 ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el )
18572 # 18573 "parser_cocci_menhir.ml"
18573 in
18574 _menhir_env.MenhirLib.EngineTypes.stack <- {
18575 MenhirLib.EngineTypes.state = _menhir_s;
18576 MenhirLib.EngineTypes.semv = Obj.repr _v;
18577 MenhirLib.EngineTypes.startp = _startpos;
18578 MenhirLib.EngineTypes.endp = _endpos;
18579 MenhirLib.EngineTypes.next = _menhir_stack;
18580 });
18581 (fun _menhir_env ->
18582 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18583 let {
18584 MenhirLib.EngineTypes.startp = _startpos__4_;
18585 MenhirLib.EngineTypes.endp = _endpos__4_;
18586 MenhirLib.EngineTypes.next = {
18587 MenhirLib.EngineTypes.semv = el;
18588 MenhirLib.EngineTypes.startp = _startpos_el_;
18589 MenhirLib.EngineTypes.endp = _endpos_el_;
18590 MenhirLib.EngineTypes.next = {
18591 MenhirLib.EngineTypes.semv = e1;
18592 MenhirLib.EngineTypes.startp = _startpos_e1_;
18593 MenhirLib.EngineTypes.endp = _endpos_e1_;
18594 MenhirLib.EngineTypes.next = {
18595 MenhirLib.EngineTypes.state = _menhir_s;
18596 MenhirLib.EngineTypes.startp = _startpos__1_;
18597 MenhirLib.EngineTypes.endp = _endpos__1_;
18598 MenhirLib.EngineTypes.next = _menhir_stack;
18599 };
18600 };
18601 };
18602 } = _menhir_stack in
18603 let el : 'tv_list_iso_eexpr__ = Obj.magic el in
18604 let e1 : 'tv_eexpr = Obj.magic e1 in
18605 let _startpos = _startpos__1_ in
18606 let _endpos = _endpos__4_ in
18607 let _v : (
18608 # 168 "parser_cocci_menhir.mly"
18609 (Ast0_cocci.anything list list)
18610 # 18611 "parser_cocci_menhir.ml"
18611 ) =
18612 # 2132 "parser_cocci_menhir.mly"
18613 ( let ffn x = Ast0.ExprTag x in
18614 let fn x = Ast0.TestExprTag x in
18615 P.iso_adjust ffn fn e1 el )
18616 # 18617 "parser_cocci_menhir.ml"
18617 in
18618 _menhir_env.MenhirLib.EngineTypes.stack <- {
18619 MenhirLib.EngineTypes.state = _menhir_s;
18620 MenhirLib.EngineTypes.semv = Obj.repr _v;
18621 MenhirLib.EngineTypes.startp = _startpos;
18622 MenhirLib.EngineTypes.endp = _endpos;
18623 MenhirLib.EngineTypes.next = _menhir_stack;
18624 });
18625 (fun _menhir_env ->
18626 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18627 let {
18628 MenhirLib.EngineTypes.startp = _startpos__4_;
18629 MenhirLib.EngineTypes.endp = _endpos__4_;
18630 MenhirLib.EngineTypes.next = {
18631 MenhirLib.EngineTypes.semv = sl;
18632 MenhirLib.EngineTypes.startp = _startpos_sl_;
18633 MenhirLib.EngineTypes.endp = _endpos_sl_;
18634 MenhirLib.EngineTypes.next = {
18635 MenhirLib.EngineTypes.semv = s1;
18636 MenhirLib.EngineTypes.startp = _startpos_s1_;
18637 MenhirLib.EngineTypes.endp = _endpos_s1_;
18638 MenhirLib.EngineTypes.next = {
18639 MenhirLib.EngineTypes.state = _menhir_s;
18640 MenhirLib.EngineTypes.startp = _startpos__1_;
18641 MenhirLib.EngineTypes.endp = _endpos__1_;
18642 MenhirLib.EngineTypes.next = _menhir_stack;
18643 };
18644 };
18645 };
18646 } = _menhir_stack in
18647 let sl : 'tv_list_iso_single_statement__ = Obj.magic sl in
18648 let s1 : 'tv_single_statement = Obj.magic s1 in
18649 let _startpos = _startpos__1_ in
18650 let _endpos = _endpos__4_ in
18651 let _v : (
18652 # 168 "parser_cocci_menhir.mly"
18653 (Ast0_cocci.anything list list)
18654 # 18655 "parser_cocci_menhir.ml"
18655 ) =
18656 # 2136 "parser_cocci_menhir.mly"
18657 ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl )
18658 # 18659 "parser_cocci_menhir.ml"
18659 in
18660 _menhir_env.MenhirLib.EngineTypes.stack <- {
18661 MenhirLib.EngineTypes.state = _menhir_s;
18662 MenhirLib.EngineTypes.semv = Obj.repr _v;
18663 MenhirLib.EngineTypes.startp = _startpos;
18664 MenhirLib.EngineTypes.endp = _endpos;
18665 MenhirLib.EngineTypes.next = _menhir_stack;
18666 });
18667 (fun _menhir_env ->
18668 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18669 let {
18670 MenhirLib.EngineTypes.startp = _startpos__4_;
18671 MenhirLib.EngineTypes.endp = _endpos__4_;
18672 MenhirLib.EngineTypes.next = {
18673 MenhirLib.EngineTypes.semv = tl;
18674 MenhirLib.EngineTypes.startp = _startpos_tl_;
18675 MenhirLib.EngineTypes.endp = _endpos_tl_;
18676 MenhirLib.EngineTypes.next = {
18677 MenhirLib.EngineTypes.semv = t1;
18678 MenhirLib.EngineTypes.startp = _startpos_t1_;
18679 MenhirLib.EngineTypes.endp = _endpos_t1_;
18680 MenhirLib.EngineTypes.next = {
18681 MenhirLib.EngineTypes.state = _menhir_s;
18682 MenhirLib.EngineTypes.startp = _startpos__1_;
18683 MenhirLib.EngineTypes.endp = _endpos__1_;
18684 MenhirLib.EngineTypes.next = _menhir_stack;
18685 };
18686 };
18687 };
18688 } = _menhir_stack in
18689 let tl : 'tv_list_iso_ctype__ = Obj.magic tl in
18690 let t1 : 'tv_ctype = Obj.magic t1 in
18691 let _startpos = _startpos__1_ in
18692 let _endpos = _endpos__4_ in
18693 let _v : (
18694 # 168 "parser_cocci_menhir.mly"
18695 (Ast0_cocci.anything list list)
18696 # 18697 "parser_cocci_menhir.ml"
18697 ) =
18698 # 2138 "parser_cocci_menhir.mly"
18699 ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl )
18700 # 18701 "parser_cocci_menhir.ml"
18701 in
18702 _menhir_env.MenhirLib.EngineTypes.stack <- {
18703 MenhirLib.EngineTypes.state = _menhir_s;
18704 MenhirLib.EngineTypes.semv = Obj.repr _v;
18705 MenhirLib.EngineTypes.startp = _startpos;
18706 MenhirLib.EngineTypes.endp = _endpos;
18707 MenhirLib.EngineTypes.next = _menhir_stack;
18708 });
18709 (fun _menhir_env ->
18710 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18711 let {
18712 MenhirLib.EngineTypes.startp = _startpos__4_;
18713 MenhirLib.EngineTypes.endp = _endpos__4_;
18714 MenhirLib.EngineTypes.next = {
18715 MenhirLib.EngineTypes.semv = el;
18716 MenhirLib.EngineTypes.startp = _startpos_el_;
18717 MenhirLib.EngineTypes.endp = _endpos_el_;
18718 MenhirLib.EngineTypes.next = {
18719 MenhirLib.EngineTypes.semv = e1;
18720 MenhirLib.EngineTypes.startp = _startpos_e1_;
18721 MenhirLib.EngineTypes.endp = _endpos_e1_;
18722 MenhirLib.EngineTypes.next = {
18723 MenhirLib.EngineTypes.state = _menhir_s;
18724 MenhirLib.EngineTypes.startp = _startpos__1_;
18725 MenhirLib.EngineTypes.endp = _endpos__1_;
18726 MenhirLib.EngineTypes.next = _menhir_stack;
18727 };
18728 };
18729 };
18730 } = _menhir_stack in
18731 let el : 'tv_list_iso_nest_start__ = Obj.magic el in
18732 let e1 : 'tv_nest_start = Obj.magic e1 in
18733 let _startpos = _startpos__1_ in
18734 let _endpos = _endpos__4_ in
18735 let _v : (
18736 # 168 "parser_cocci_menhir.mly"
18737 (Ast0_cocci.anything list list)
18738 # 18739 "parser_cocci_menhir.ml"
18739 ) =
18740 # 2140 "parser_cocci_menhir.mly"
18741 ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el )
18742 # 18743 "parser_cocci_menhir.ml"
18743 in
18744 _menhir_env.MenhirLib.EngineTypes.stack <- {
18745 MenhirLib.EngineTypes.state = _menhir_s;
18746 MenhirLib.EngineTypes.semv = Obj.repr _v;
18747 MenhirLib.EngineTypes.startp = _startpos;
18748 MenhirLib.EngineTypes.endp = _endpos;
18749 MenhirLib.EngineTypes.next = _menhir_stack;
18750 });
18751 (fun _menhir_env ->
18752 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18753 let {
18754 MenhirLib.EngineTypes.startp = _startpos__4_;
18755 MenhirLib.EngineTypes.endp = _endpos__4_;
18756 MenhirLib.EngineTypes.next = {
18757 MenhirLib.EngineTypes.semv = dl;
18758 MenhirLib.EngineTypes.startp = _startpos_dl_;
18759 MenhirLib.EngineTypes.endp = _endpos_dl_;
18760 MenhirLib.EngineTypes.next = {
18761 MenhirLib.EngineTypes.semv = d1;
18762 MenhirLib.EngineTypes.startp = _startpos_d1_;
18763 MenhirLib.EngineTypes.endp = _endpos_d1_;
18764 MenhirLib.EngineTypes.next = {
18765 MenhirLib.EngineTypes.state = _menhir_s;
18766 MenhirLib.EngineTypes.startp = _startpos__1_;
18767 MenhirLib.EngineTypes.endp = _endpos__1_;
18768 MenhirLib.EngineTypes.next = _menhir_stack;
18769 };
18770 };
18771 };
18772 } = _menhir_stack in
18773 let dl : 'tv_list_iso_decl_var__ = Obj.magic dl in
18774 let d1 : 'tv_decl_var = Obj.magic d1 in
18775 let _startpos = _startpos__1_ in
18776 let _endpos = _endpos__4_ in
18777 let _v : (
18778 # 168 "parser_cocci_menhir.mly"
18779 (Ast0_cocci.anything list list)
18780 # 18781 "parser_cocci_menhir.ml"
18781 ) =
18782 # 2142 "parser_cocci_menhir.mly"
18783 ( let check_one = function
18784 [x] -> x
18785 | _ ->
18786 raise
18787 (Semantic_cocci.Semantic
18788 "only one variable per declaration in an isomorphism rule") in
18789 let d1 = check_one d1 in
18790 let dl =
18791 List.map
18792 (function
18793 Common.Left x -> Common.Left(check_one x)
18794 | Common.Right x -> Common.Right(check_one x))
18795 dl in
18796 let fn x = Ast0.DeclTag x in P.iso_adjust fn fn d1 dl )
18797 # 18798 "parser_cocci_menhir.ml"
18798 in
18799 _menhir_env.MenhirLib.EngineTypes.stack <- {
18800 MenhirLib.EngineTypes.state = _menhir_s;
18801 MenhirLib.EngineTypes.semv = Obj.repr _v;
18802 MenhirLib.EngineTypes.startp = _startpos;
18803 MenhirLib.EngineTypes.endp = _endpos;
18804 MenhirLib.EngineTypes.next = _menhir_stack;
18805 });
18806 (fun _menhir_env ->
18807 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18808 let {
18809 MenhirLib.EngineTypes.state = _menhir_s;
18810 MenhirLib.EngineTypes.semv = m;
18811 MenhirLib.EngineTypes.startp = _startpos_m_;
18812 MenhirLib.EngineTypes.endp = _endpos_m_;
18813 MenhirLib.EngineTypes.next = _menhir_stack;
18814 } = _menhir_stack in
18815 let m : 'tv_metadec = Obj.magic m in
18816 let _startpos = _startpos_m_ in
18817 let _endpos = _endpos_m_ in
18818 let _v : (
18819 # 171 "parser_cocci_menhir.mly"
18820 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
18821 # 18822 "parser_cocci_menhir.ml"
18822 ) =
18823 # 188 "parser_cocci_menhir.mly"
18824 ( m "" )
18825 # 18826 "parser_cocci_menhir.ml"
18826 in
18827 _menhir_env.MenhirLib.EngineTypes.stack <- {
18828 MenhirLib.EngineTypes.state = _menhir_s;
18829 MenhirLib.EngineTypes.semv = Obj.repr _v;
18830 MenhirLib.EngineTypes.startp = _startpos;
18831 MenhirLib.EngineTypes.endp = _endpos;
18832 MenhirLib.EngineTypes.next = _menhir_stack;
18833 });
18834 (fun _menhir_env ->
18835 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18836 let {
18837 MenhirLib.EngineTypes.startp = _startpos__2_;
18838 MenhirLib.EngineTypes.endp = _endpos__2_;
18839 MenhirLib.EngineTypes.next = {
18840 MenhirLib.EngineTypes.state = _menhir_s;
18841 MenhirLib.EngineTypes.semv = nm;
18842 MenhirLib.EngineTypes.startp = _startpos_nm_;
18843 MenhirLib.EngineTypes.endp = _endpos_nm_;
18844 MenhirLib.EngineTypes.next = _menhir_stack;
18845 };
18846 } = _menhir_stack in
18847 let nm : 'tv_pure_ident = Obj.magic nm in
18848 let _startpos = _startpos_nm_ in
18849 let _endpos = _endpos__2_ in
18850 let _v : (
18851 # 155 "parser_cocci_menhir.mly"
18852 (Ast_cocci.rulename)
18853 # 18854 "parser_cocci_menhir.ml"
18854 ) =
18855 # 203 "parser_cocci_menhir.mly"
18856 ( P.make_iso_rule_name_result (P.id2name nm) )
18857 # 18858 "parser_cocci_menhir.ml"
18858 in
18859 _menhir_env.MenhirLib.EngineTypes.stack <- {
18860 MenhirLib.EngineTypes.state = _menhir_s;
18861 MenhirLib.EngineTypes.semv = Obj.repr _v;
18862 MenhirLib.EngineTypes.startp = _startpos;
18863 MenhirLib.EngineTypes.endp = _endpos;
18864 MenhirLib.EngineTypes.next = _menhir_stack;
18865 });
18866 (fun _menhir_env ->
18867 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18868 let {
18869 MenhirLib.EngineTypes.state = _menhir_s;
18870 MenhirLib.EngineTypes.semv = _1;
18871 MenhirLib.EngineTypes.startp = _startpos__1_;
18872 MenhirLib.EngineTypes.endp = _endpos__1_;
18873 MenhirLib.EngineTypes.next = _menhir_stack;
18874 } = _menhir_stack in
18875 let _1 : (
18876 # 62 "parser_cocci_menhir.mly"
18877 (string * Data.clt)
18878 # 18879 "parser_cocci_menhir.ml"
18879 ) = Obj.magic _1 in
18880 let _startpos = _startpos__1_ in
18881 let _endpos = _endpos__1_ in
18882 let _v : 'tv_iter_ident =
18883 # 1800 "parser_cocci_menhir.mly"
18884 ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
18885 # 18886 "parser_cocci_menhir.ml"
18886 in
18887 _menhir_env.MenhirLib.EngineTypes.stack <- {
18888 MenhirLib.EngineTypes.state = _menhir_s;
18889 MenhirLib.EngineTypes.semv = Obj.repr _v;
18890 MenhirLib.EngineTypes.startp = _startpos;
18891 MenhirLib.EngineTypes.endp = _endpos;
18892 MenhirLib.EngineTypes.next = _menhir_stack;
18893 });
18894 (fun _menhir_env ->
18895 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18896 let {
18897 MenhirLib.EngineTypes.state = _menhir_s;
18898 MenhirLib.EngineTypes.semv = _1;
18899 MenhirLib.EngineTypes.startp = _startpos__1_;
18900 MenhirLib.EngineTypes.endp = _endpos__1_;
18901 MenhirLib.EngineTypes.next = _menhir_stack;
18902 } = _menhir_stack in
18903 let _1 : (
18904 # 66 "parser_cocci_menhir.mly"
18905 (Parse_aux.idinfo)
18906 # 18907 "parser_cocci_menhir.ml"
18907 ) = Obj.magic _1 in
18908 let _startpos = _startpos__1_ in
18909 let _endpos = _endpos__1_ in
18910 let _v : 'tv_iter_ident =
18911 # 1802 "parser_cocci_menhir.mly"
18912 ( let (nm,constraints,pure,clt) = _1 in
18913 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
18914 # 18915 "parser_cocci_menhir.ml"
18915 in
18916 _menhir_env.MenhirLib.EngineTypes.stack <- {
18917 MenhirLib.EngineTypes.state = _menhir_s;
18918 MenhirLib.EngineTypes.semv = Obj.repr _v;
18919 MenhirLib.EngineTypes.startp = _startpos;
18920 MenhirLib.EngineTypes.endp = _endpos;
18921 MenhirLib.EngineTypes.next = _menhir_stack;
18922 });
18923 (fun _menhir_env ->
18924 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18925 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18926 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18927 let _endpos = _startpos in
18928 let _v : 'tv_list_TMul_ =
18929 # 114 "standard.mly"
18930 ( [] )
18931 # 18932 "parser_cocci_menhir.ml"
18932 in
18933 _menhir_env.MenhirLib.EngineTypes.stack <- {
18934 MenhirLib.EngineTypes.state = _menhir_s;
18935 MenhirLib.EngineTypes.semv = Obj.repr _v;
18936 MenhirLib.EngineTypes.startp = _startpos;
18937 MenhirLib.EngineTypes.endp = _endpos;
18938 MenhirLib.EngineTypes.next = _menhir_stack;
18939 });
18940 (fun _menhir_env ->
18941 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18942 let {
18943 MenhirLib.EngineTypes.semv = xs;
18944 MenhirLib.EngineTypes.startp = _startpos_xs_;
18945 MenhirLib.EngineTypes.endp = _endpos_xs_;
18946 MenhirLib.EngineTypes.next = {
18947 MenhirLib.EngineTypes.state = _menhir_s;
18948 MenhirLib.EngineTypes.semv = x;
18949 MenhirLib.EngineTypes.startp = _startpos_x_;
18950 MenhirLib.EngineTypes.endp = _endpos_x_;
18951 MenhirLib.EngineTypes.next = _menhir_stack;
18952 };
18953 } = _menhir_stack in
18954 let xs : 'tv_list_TMul_ = Obj.magic xs in
18955 let x : (
18956 # 103 "parser_cocci_menhir.mly"
18957 (Data.clt)
18958 # 18959 "parser_cocci_menhir.ml"
18959 ) = Obj.magic x in
18960 let _startpos = _startpos_x_ in
18961 let _endpos = _endpos_xs_ in
18962 let _v : 'tv_list_TMul_ =
18963 # 116 "standard.mly"
18964 ( x :: xs )
18965 # 18966 "parser_cocci_menhir.ml"
18966 in
18967 _menhir_env.MenhirLib.EngineTypes.stack <- {
18968 MenhirLib.EngineTypes.state = _menhir_s;
18969 MenhirLib.EngineTypes.semv = Obj.repr _v;
18970 MenhirLib.EngineTypes.startp = _startpos;
18971 MenhirLib.EngineTypes.endp = _endpos;
18972 MenhirLib.EngineTypes.next = _menhir_stack;
18973 });
18974 (fun _menhir_env ->
18975 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18976 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
18977 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
18978 let _endpos = _startpos in
18979 let _v : 'tv_list_array_dec_ =
18980 # 114 "standard.mly"
18981 ( [] )
18982 # 18983 "parser_cocci_menhir.ml"
18983 in
18984 _menhir_env.MenhirLib.EngineTypes.stack <- {
18985 MenhirLib.EngineTypes.state = _menhir_s;
18986 MenhirLib.EngineTypes.semv = Obj.repr _v;
18987 MenhirLib.EngineTypes.startp = _startpos;
18988 MenhirLib.EngineTypes.endp = _endpos;
18989 MenhirLib.EngineTypes.next = _menhir_stack;
18990 });
18991 (fun _menhir_env ->
18992 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
18993 let {
18994 MenhirLib.EngineTypes.semv = xs;
18995 MenhirLib.EngineTypes.startp = _startpos_xs_;
18996 MenhirLib.EngineTypes.endp = _endpos_xs_;
18997 MenhirLib.EngineTypes.next = {
18998 MenhirLib.EngineTypes.state = _menhir_s;
18999 MenhirLib.EngineTypes.semv = x;
19000 MenhirLib.EngineTypes.startp = _startpos_x_;
19001 MenhirLib.EngineTypes.endp = _endpos_x_;
19002 MenhirLib.EngineTypes.next = _menhir_stack;
19003 };
19004 } = _menhir_stack in
19005 let xs : 'tv_list_array_dec_ = Obj.magic xs in
19006 let x : 'tv_array_dec = Obj.magic x in
19007 let _startpos = _startpos_x_ in
19008 let _endpos = _endpos_xs_ in
19009 let _v : 'tv_list_array_dec_ =
19010 # 116 "standard.mly"
19011 ( x :: xs )
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_list_case_line_ =
19027 # 114 "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.semv = xs;
19042 MenhirLib.EngineTypes.startp = _startpos_xs_;
19043 MenhirLib.EngineTypes.endp = _endpos_xs_;
19044 MenhirLib.EngineTypes.next = {
19045 MenhirLib.EngineTypes.state = _menhir_s;
19046 MenhirLib.EngineTypes.semv = x;
19047 MenhirLib.EngineTypes.startp = _startpos_x_;
19048 MenhirLib.EngineTypes.endp = _endpos_x_;
19049 MenhirLib.EngineTypes.next = _menhir_stack;
19050 };
19051 } = _menhir_stack in
19052 let xs : 'tv_list_case_line_ = Obj.magic xs in
19053 let x : 'tv_case_line = Obj.magic x in
19054 let _startpos = _startpos_x_ in
19055 let _endpos = _endpos_xs_ in
19056 let _v : 'tv_list_case_line_ =
19057 # 116 "standard.mly"
19058 ( x :: xs )
19059 # 19060 "parser_cocci_menhir.ml"
19060 in
19061 _menhir_env.MenhirLib.EngineTypes.stack <- {
19062 MenhirLib.EngineTypes.state = _menhir_s;
19063 MenhirLib.EngineTypes.semv = Obj.repr _v;
19064 MenhirLib.EngineTypes.startp = _startpos;
19065 MenhirLib.EngineTypes.endp = _endpos;
19066 MenhirLib.EngineTypes.next = _menhir_stack;
19067 });
19068 (fun _menhir_env ->
19069 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19070 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19071 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19072 let _endpos = _startpos in
19073 let _v : 'tv_list_decl_var_ =
19074 # 114 "standard.mly"
19075 ( [] )
19076 # 19077 "parser_cocci_menhir.ml"
19077 in
19078 _menhir_env.MenhirLib.EngineTypes.stack <- {
19079 MenhirLib.EngineTypes.state = _menhir_s;
19080 MenhirLib.EngineTypes.semv = Obj.repr _v;
19081 MenhirLib.EngineTypes.startp = _startpos;
19082 MenhirLib.EngineTypes.endp = _endpos;
19083 MenhirLib.EngineTypes.next = _menhir_stack;
19084 });
19085 (fun _menhir_env ->
19086 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19087 let {
19088 MenhirLib.EngineTypes.semv = xs;
19089 MenhirLib.EngineTypes.startp = _startpos_xs_;
19090 MenhirLib.EngineTypes.endp = _endpos_xs_;
19091 MenhirLib.EngineTypes.next = {
19092 MenhirLib.EngineTypes.state = _menhir_s;
19093 MenhirLib.EngineTypes.semv = x;
19094 MenhirLib.EngineTypes.startp = _startpos_x_;
19095 MenhirLib.EngineTypes.endp = _endpos_x_;
19096 MenhirLib.EngineTypes.next = _menhir_stack;
19097 };
19098 } = _menhir_stack in
19099 let xs : 'tv_list_decl_var_ = Obj.magic xs in
19100 let x : 'tv_decl_var = Obj.magic x in
19101 let _startpos = _startpos_x_ in
19102 let _endpos = _endpos_xs_ in
19103 let _v : 'tv_list_decl_var_ =
19104 # 116 "standard.mly"
19105 ( x :: xs )
19106 # 19107 "parser_cocci_menhir.ml"
19107 in
19108 _menhir_env.MenhirLib.EngineTypes.stack <- {
19109 MenhirLib.EngineTypes.state = _menhir_s;
19110 MenhirLib.EngineTypes.semv = Obj.repr _v;
19111 MenhirLib.EngineTypes.startp = _startpos;
19112 MenhirLib.EngineTypes.endp = _endpos;
19113 MenhirLib.EngineTypes.next = _menhir_stack;
19114 });
19115 (fun _menhir_env ->
19116 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19117 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19118 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19119 let _endpos = _startpos in
19120 let _v : 'tv_list_designator_ =
19121 # 114 "standard.mly"
19122 ( [] )
19123 # 19124 "parser_cocci_menhir.ml"
19124 in
19125 _menhir_env.MenhirLib.EngineTypes.stack <- {
19126 MenhirLib.EngineTypes.state = _menhir_s;
19127 MenhirLib.EngineTypes.semv = Obj.repr _v;
19128 MenhirLib.EngineTypes.startp = _startpos;
19129 MenhirLib.EngineTypes.endp = _endpos;
19130 MenhirLib.EngineTypes.next = _menhir_stack;
19131 });
19132 (fun _menhir_env ->
19133 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19134 let {
19135 MenhirLib.EngineTypes.semv = xs;
19136 MenhirLib.EngineTypes.startp = _startpos_xs_;
19137 MenhirLib.EngineTypes.endp = _endpos_xs_;
19138 MenhirLib.EngineTypes.next = {
19139 MenhirLib.EngineTypes.state = _menhir_s;
19140 MenhirLib.EngineTypes.semv = x;
19141 MenhirLib.EngineTypes.startp = _startpos_x_;
19142 MenhirLib.EngineTypes.endp = _endpos_x_;
19143 MenhirLib.EngineTypes.next = _menhir_stack;
19144 };
19145 } = _menhir_stack in
19146 let xs : 'tv_list_designator_ = Obj.magic xs in
19147 let x : 'tv_designator = Obj.magic x in
19148 let _startpos = _startpos_x_ in
19149 let _endpos = _endpos_xs_ in
19150 let _v : 'tv_list_designator_ =
19151 # 116 "standard.mly"
19152 ( x :: xs )
19153 # 19154 "parser_cocci_menhir.ml"
19154 in
19155 _menhir_env.MenhirLib.EngineTypes.stack <- {
19156 MenhirLib.EngineTypes.state = _menhir_s;
19157 MenhirLib.EngineTypes.semv = Obj.repr _v;
19158 MenhirLib.EngineTypes.startp = _startpos;
19159 MenhirLib.EngineTypes.endp = _endpos;
19160 MenhirLib.EngineTypes.next = _menhir_stack;
19161 });
19162 (fun _menhir_env ->
19163 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19164 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19165 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19166 let _endpos = _startpos in
19167 let _v : 'tv_list_incl_ =
19168 # 114 "standard.mly"
19169 ( [] )
19170 # 19171 "parser_cocci_menhir.ml"
19171 in
19172 _menhir_env.MenhirLib.EngineTypes.stack <- {
19173 MenhirLib.EngineTypes.state = _menhir_s;
19174 MenhirLib.EngineTypes.semv = Obj.repr _v;
19175 MenhirLib.EngineTypes.startp = _startpos;
19176 MenhirLib.EngineTypes.endp = _endpos;
19177 MenhirLib.EngineTypes.next = _menhir_stack;
19178 });
19179 (fun _menhir_env ->
19180 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19181 let {
19182 MenhirLib.EngineTypes.semv = xs;
19183 MenhirLib.EngineTypes.startp = _startpos_xs_;
19184 MenhirLib.EngineTypes.endp = _endpos_xs_;
19185 MenhirLib.EngineTypes.next = {
19186 MenhirLib.EngineTypes.state = _menhir_s;
19187 MenhirLib.EngineTypes.semv = x;
19188 MenhirLib.EngineTypes.startp = _startpos_x_;
19189 MenhirLib.EngineTypes.endp = _endpos_x_;
19190 MenhirLib.EngineTypes.next = _menhir_stack;
19191 };
19192 } = _menhir_stack in
19193 let xs : 'tv_list_incl_ = Obj.magic xs in
19194 let x : 'tv_incl = Obj.magic x in
19195 let _startpos = _startpos_x_ in
19196 let _endpos = _endpos_xs_ in
19197 let _v : 'tv_list_incl_ =
19198 # 116 "standard.mly"
19199 ( x :: xs )
19200 # 19201 "parser_cocci_menhir.ml"
19201 in
19202 _menhir_env.MenhirLib.EngineTypes.stack <- {
19203 MenhirLib.EngineTypes.state = _menhir_s;
19204 MenhirLib.EngineTypes.semv = Obj.repr _v;
19205 MenhirLib.EngineTypes.startp = _startpos;
19206 MenhirLib.EngineTypes.endp = _endpos;
19207 MenhirLib.EngineTypes.next = _menhir_stack;
19208 });
19209 (fun _menhir_env ->
19210 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19211 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19212 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19213 let _endpos = _startpos in
19214 let _v : 'tv_list_iso_ctype__ =
19215 # 114 "standard.mly"
19216 ( [] )
19217 # 19218 "parser_cocci_menhir.ml"
19218 in
19219 _menhir_env.MenhirLib.EngineTypes.stack <- {
19220 MenhirLib.EngineTypes.state = _menhir_s;
19221 MenhirLib.EngineTypes.semv = Obj.repr _v;
19222 MenhirLib.EngineTypes.startp = _startpos;
19223 MenhirLib.EngineTypes.endp = _endpos;
19224 MenhirLib.EngineTypes.next = _menhir_stack;
19225 });
19226 (fun _menhir_env ->
19227 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19228 let {
19229 MenhirLib.EngineTypes.semv = xs;
19230 MenhirLib.EngineTypes.startp = _startpos_xs_;
19231 MenhirLib.EngineTypes.endp = _endpos_xs_;
19232 MenhirLib.EngineTypes.next = {
19233 MenhirLib.EngineTypes.state = _menhir_s;
19234 MenhirLib.EngineTypes.semv = x;
19235 MenhirLib.EngineTypes.startp = _startpos_x_;
19236 MenhirLib.EngineTypes.endp = _endpos_x_;
19237 MenhirLib.EngineTypes.next = _menhir_stack;
19238 };
19239 } = _menhir_stack in
19240 let xs : 'tv_list_iso_ctype__ = Obj.magic xs in
19241 let x : 'tv_iso_ctype_ = Obj.magic x in
19242 let _startpos = _startpos_x_ in
19243 let _endpos = _endpos_xs_ in
19244 let _v : 'tv_list_iso_ctype__ =
19245 # 116 "standard.mly"
19246 ( x :: xs )
19247 # 19248 "parser_cocci_menhir.ml"
19248 in
19249 _menhir_env.MenhirLib.EngineTypes.stack <- {
19250 MenhirLib.EngineTypes.state = _menhir_s;
19251 MenhirLib.EngineTypes.semv = Obj.repr _v;
19252 MenhirLib.EngineTypes.startp = _startpos;
19253 MenhirLib.EngineTypes.endp = _endpos;
19254 MenhirLib.EngineTypes.next = _menhir_stack;
19255 });
19256 (fun _menhir_env ->
19257 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19258 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19259 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19260 let _endpos = _startpos in
19261 let _v : 'tv_list_iso_decl_var__ =
19262 # 114 "standard.mly"
19263 ( [] )
19264 # 19265 "parser_cocci_menhir.ml"
19265 in
19266 _menhir_env.MenhirLib.EngineTypes.stack <- {
19267 MenhirLib.EngineTypes.state = _menhir_s;
19268 MenhirLib.EngineTypes.semv = Obj.repr _v;
19269 MenhirLib.EngineTypes.startp = _startpos;
19270 MenhirLib.EngineTypes.endp = _endpos;
19271 MenhirLib.EngineTypes.next = _menhir_stack;
19272 });
19273 (fun _menhir_env ->
19274 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19275 let {
19276 MenhirLib.EngineTypes.semv = xs;
19277 MenhirLib.EngineTypes.startp = _startpos_xs_;
19278 MenhirLib.EngineTypes.endp = _endpos_xs_;
19279 MenhirLib.EngineTypes.next = {
19280 MenhirLib.EngineTypes.state = _menhir_s;
19281 MenhirLib.EngineTypes.semv = x;
19282 MenhirLib.EngineTypes.startp = _startpos_x_;
19283 MenhirLib.EngineTypes.endp = _endpos_x_;
19284 MenhirLib.EngineTypes.next = _menhir_stack;
19285 };
19286 } = _menhir_stack in
19287 let xs : 'tv_list_iso_decl_var__ = Obj.magic xs in
19288 let x : 'tv_iso_decl_var_ = Obj.magic x in
19289 let _startpos = _startpos_x_ in
19290 let _endpos = _endpos_xs_ in
19291 let _v : 'tv_list_iso_decl_var__ =
19292 # 116 "standard.mly"
19293 ( x :: xs )
19294 # 19295 "parser_cocci_menhir.ml"
19295 in
19296 _menhir_env.MenhirLib.EngineTypes.stack <- {
19297 MenhirLib.EngineTypes.state = _menhir_s;
19298 MenhirLib.EngineTypes.semv = Obj.repr _v;
19299 MenhirLib.EngineTypes.startp = _startpos;
19300 MenhirLib.EngineTypes.endp = _endpos;
19301 MenhirLib.EngineTypes.next = _menhir_stack;
19302 });
19303 (fun _menhir_env ->
19304 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19305 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19306 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19307 let _endpos = _startpos in
19308 let _v : 'tv_list_iso_eexpr__ =
19309 # 114 "standard.mly"
19310 ( [] )
19311 # 19312 "parser_cocci_menhir.ml"
19312 in
19313 _menhir_env.MenhirLib.EngineTypes.stack <- {
19314 MenhirLib.EngineTypes.state = _menhir_s;
19315 MenhirLib.EngineTypes.semv = Obj.repr _v;
19316 MenhirLib.EngineTypes.startp = _startpos;
19317 MenhirLib.EngineTypes.endp = _endpos;
19318 MenhirLib.EngineTypes.next = _menhir_stack;
19319 });
19320 (fun _menhir_env ->
19321 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19322 let {
19323 MenhirLib.EngineTypes.semv = xs;
19324 MenhirLib.EngineTypes.startp = _startpos_xs_;
19325 MenhirLib.EngineTypes.endp = _endpos_xs_;
19326 MenhirLib.EngineTypes.next = {
19327 MenhirLib.EngineTypes.state = _menhir_s;
19328 MenhirLib.EngineTypes.semv = x;
19329 MenhirLib.EngineTypes.startp = _startpos_x_;
19330 MenhirLib.EngineTypes.endp = _endpos_x_;
19331 MenhirLib.EngineTypes.next = _menhir_stack;
19332 };
19333 } = _menhir_stack in
19334 let xs : 'tv_list_iso_eexpr__ = Obj.magic xs in
19335 let x : 'tv_iso_eexpr_ = Obj.magic x in
19336 let _startpos = _startpos_x_ in
19337 let _endpos = _endpos_xs_ in
19338 let _v : 'tv_list_iso_eexpr__ =
19339 # 116 "standard.mly"
19340 ( x :: xs )
19341 # 19342 "parser_cocci_menhir.ml"
19342 in
19343 _menhir_env.MenhirLib.EngineTypes.stack <- {
19344 MenhirLib.EngineTypes.state = _menhir_s;
19345 MenhirLib.EngineTypes.semv = Obj.repr _v;
19346 MenhirLib.EngineTypes.startp = _startpos;
19347 MenhirLib.EngineTypes.endp = _endpos;
19348 MenhirLib.EngineTypes.next = _menhir_stack;
19349 });
19350 (fun _menhir_env ->
19351 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19352 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19353 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19354 let _endpos = _startpos in
19355 let _v : 'tv_list_iso_nest_start__ =
19356 # 114 "standard.mly"
19357 ( [] )
19358 # 19359 "parser_cocci_menhir.ml"
19359 in
19360 _menhir_env.MenhirLib.EngineTypes.stack <- {
19361 MenhirLib.EngineTypes.state = _menhir_s;
19362 MenhirLib.EngineTypes.semv = Obj.repr _v;
19363 MenhirLib.EngineTypes.startp = _startpos;
19364 MenhirLib.EngineTypes.endp = _endpos;
19365 MenhirLib.EngineTypes.next = _menhir_stack;
19366 });
19367 (fun _menhir_env ->
19368 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19369 let {
19370 MenhirLib.EngineTypes.semv = xs;
19371 MenhirLib.EngineTypes.startp = _startpos_xs_;
19372 MenhirLib.EngineTypes.endp = _endpos_xs_;
19373 MenhirLib.EngineTypes.next = {
19374 MenhirLib.EngineTypes.state = _menhir_s;
19375 MenhirLib.EngineTypes.semv = x;
19376 MenhirLib.EngineTypes.startp = _startpos_x_;
19377 MenhirLib.EngineTypes.endp = _endpos_x_;
19378 MenhirLib.EngineTypes.next = _menhir_stack;
19379 };
19380 } = _menhir_stack in
19381 let xs : 'tv_list_iso_nest_start__ = Obj.magic xs in
19382 let x : 'tv_iso_nest_start_ = Obj.magic x in
19383 let _startpos = _startpos_x_ in
19384 let _endpos = _endpos_xs_ in
19385 let _v : 'tv_list_iso_nest_start__ =
19386 # 116 "standard.mly"
19387 ( x :: xs )
19388 # 19389 "parser_cocci_menhir.ml"
19389 in
19390 _menhir_env.MenhirLib.EngineTypes.stack <- {
19391 MenhirLib.EngineTypes.state = _menhir_s;
19392 MenhirLib.EngineTypes.semv = Obj.repr _v;
19393 MenhirLib.EngineTypes.startp = _startpos;
19394 MenhirLib.EngineTypes.endp = _endpos;
19395 MenhirLib.EngineTypes.next = _menhir_stack;
19396 });
19397 (fun _menhir_env ->
19398 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19399 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19400 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19401 let _endpos = _startpos in
19402 let _v : 'tv_list_iso_single_statement__ =
19403 # 114 "standard.mly"
19404 ( [] )
19405 # 19406 "parser_cocci_menhir.ml"
19406 in
19407 _menhir_env.MenhirLib.EngineTypes.stack <- {
19408 MenhirLib.EngineTypes.state = _menhir_s;
19409 MenhirLib.EngineTypes.semv = Obj.repr _v;
19410 MenhirLib.EngineTypes.startp = _startpos;
19411 MenhirLib.EngineTypes.endp = _endpos;
19412 MenhirLib.EngineTypes.next = _menhir_stack;
19413 });
19414 (fun _menhir_env ->
19415 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19416 let {
19417 MenhirLib.EngineTypes.semv = xs;
19418 MenhirLib.EngineTypes.startp = _startpos_xs_;
19419 MenhirLib.EngineTypes.endp = _endpos_xs_;
19420 MenhirLib.EngineTypes.next = {
19421 MenhirLib.EngineTypes.state = _menhir_s;
19422 MenhirLib.EngineTypes.semv = x;
19423 MenhirLib.EngineTypes.startp = _startpos_x_;
19424 MenhirLib.EngineTypes.endp = _endpos_x_;
19425 MenhirLib.EngineTypes.next = _menhir_stack;
19426 };
19427 } = _menhir_stack in
19428 let xs : 'tv_list_iso_single_statement__ = Obj.magic xs in
19429 let x : 'tv_iso_single_statement_ = Obj.magic x in
19430 let _startpos = _startpos_x_ in
19431 let _endpos = _endpos_xs_ in
19432 let _v : 'tv_list_iso_single_statement__ =
19433 # 116 "standard.mly"
19434 ( x :: xs )
19435 # 19436 "parser_cocci_menhir.ml"
19436 in
19437 _menhir_env.MenhirLib.EngineTypes.stack <- {
19438 MenhirLib.EngineTypes.state = _menhir_s;
19439 MenhirLib.EngineTypes.semv = Obj.repr _v;
19440 MenhirLib.EngineTypes.startp = _startpos;
19441 MenhirLib.EngineTypes.endp = _endpos;
19442 MenhirLib.EngineTypes.next = _menhir_stack;
19443 });
19444 (fun _menhir_env ->
19445 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19446 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19447 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19448 let _endpos = _startpos in
19449 let _v : 'tv_list_mzl_ctype__ =
19450 # 114 "standard.mly"
19451 ( [] )
19452 # 19453 "parser_cocci_menhir.ml"
19453 in
19454 _menhir_env.MenhirLib.EngineTypes.stack <- {
19455 MenhirLib.EngineTypes.state = _menhir_s;
19456 MenhirLib.EngineTypes.semv = Obj.repr _v;
19457 MenhirLib.EngineTypes.startp = _startpos;
19458 MenhirLib.EngineTypes.endp = _endpos;
19459 MenhirLib.EngineTypes.next = _menhir_stack;
19460 });
19461 (fun _menhir_env ->
19462 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19463 let {
19464 MenhirLib.EngineTypes.semv = xs;
19465 MenhirLib.EngineTypes.startp = _startpos_xs_;
19466 MenhirLib.EngineTypes.endp = _endpos_xs_;
19467 MenhirLib.EngineTypes.next = {
19468 MenhirLib.EngineTypes.state = _menhir_s;
19469 MenhirLib.EngineTypes.semv = x;
19470 MenhirLib.EngineTypes.startp = _startpos_x_;
19471 MenhirLib.EngineTypes.endp = _endpos_x_;
19472 MenhirLib.EngineTypes.next = _menhir_stack;
19473 };
19474 } = _menhir_stack in
19475 let xs : 'tv_list_mzl_ctype__ = Obj.magic xs in
19476 let x : 'tv_mzl_ctype_ = Obj.magic x in
19477 let _startpos = _startpos_x_ in
19478 let _endpos = _endpos_xs_ in
19479 let _v : 'tv_list_mzl_ctype__ =
19480 # 116 "standard.mly"
19481 ( x :: xs )
19482 # 19483 "parser_cocci_menhir.ml"
19483 in
19484 _menhir_env.MenhirLib.EngineTypes.stack <- {
19485 MenhirLib.EngineTypes.state = _menhir_s;
19486 MenhirLib.EngineTypes.semv = Obj.repr _v;
19487 MenhirLib.EngineTypes.startp = _startpos;
19488 MenhirLib.EngineTypes.endp = _endpos;
19489 MenhirLib.EngineTypes.next = _menhir_stack;
19490 });
19491 (fun _menhir_env ->
19492 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19493 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19494 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19495 let _endpos = _startpos in
19496 let _v : 'tv_list_mzl_eexpr__ =
19497 # 114 "standard.mly"
19498 ( [] )
19499 # 19500 "parser_cocci_menhir.ml"
19500 in
19501 _menhir_env.MenhirLib.EngineTypes.stack <- {
19502 MenhirLib.EngineTypes.state = _menhir_s;
19503 MenhirLib.EngineTypes.semv = Obj.repr _v;
19504 MenhirLib.EngineTypes.startp = _startpos;
19505 MenhirLib.EngineTypes.endp = _endpos;
19506 MenhirLib.EngineTypes.next = _menhir_stack;
19507 });
19508 (fun _menhir_env ->
19509 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19510 let {
19511 MenhirLib.EngineTypes.semv = xs;
19512 MenhirLib.EngineTypes.startp = _startpos_xs_;
19513 MenhirLib.EngineTypes.endp = _endpos_xs_;
19514 MenhirLib.EngineTypes.next = {
19515 MenhirLib.EngineTypes.state = _menhir_s;
19516 MenhirLib.EngineTypes.semv = x;
19517 MenhirLib.EngineTypes.startp = _startpos_x_;
19518 MenhirLib.EngineTypes.endp = _endpos_x_;
19519 MenhirLib.EngineTypes.next = _menhir_stack;
19520 };
19521 } = _menhir_stack in
19522 let xs : 'tv_list_mzl_eexpr__ = Obj.magic xs in
19523 let x : 'tv_mzl_eexpr_ = Obj.magic x in
19524 let _startpos = _startpos_x_ in
19525 let _endpos = _endpos_xs_ in
19526 let _v : 'tv_list_mzl_eexpr__ =
19527 # 116 "standard.mly"
19528 ( x :: xs )
19529 # 19530 "parser_cocci_menhir.ml"
19530 in
19531 _menhir_env.MenhirLib.EngineTypes.stack <- {
19532 MenhirLib.EngineTypes.state = _menhir_s;
19533 MenhirLib.EngineTypes.semv = Obj.repr _v;
19534 MenhirLib.EngineTypes.startp = _startpos;
19535 MenhirLib.EngineTypes.endp = _endpos;
19536 MenhirLib.EngineTypes.next = _menhir_stack;
19537 });
19538 (fun _menhir_env ->
19539 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19540 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19541 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19542 let _endpos = _startpos in
19543 let _v : 'tv_list_mzl_fun_after_dots_or__ =
19544 # 114 "standard.mly"
19545 ( [] )
19546 # 19547 "parser_cocci_menhir.ml"
19547 in
19548 _menhir_env.MenhirLib.EngineTypes.stack <- {
19549 MenhirLib.EngineTypes.state = _menhir_s;
19550 MenhirLib.EngineTypes.semv = Obj.repr _v;
19551 MenhirLib.EngineTypes.startp = _startpos;
19552 MenhirLib.EngineTypes.endp = _endpos;
19553 MenhirLib.EngineTypes.next = _menhir_stack;
19554 });
19555 (fun _menhir_env ->
19556 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19557 let {
19558 MenhirLib.EngineTypes.semv = xs;
19559 MenhirLib.EngineTypes.startp = _startpos_xs_;
19560 MenhirLib.EngineTypes.endp = _endpos_xs_;
19561 MenhirLib.EngineTypes.next = {
19562 MenhirLib.EngineTypes.state = _menhir_s;
19563 MenhirLib.EngineTypes.semv = x;
19564 MenhirLib.EngineTypes.startp = _startpos_x_;
19565 MenhirLib.EngineTypes.endp = _endpos_x_;
19566 MenhirLib.EngineTypes.next = _menhir_stack;
19567 };
19568 } = _menhir_stack in
19569 let xs : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic xs in
19570 let x : 'tv_mzl_fun_after_dots_or_ = Obj.magic x in
19571 let _startpos = _startpos_x_ in
19572 let _endpos = _endpos_xs_ in
19573 let _v : 'tv_list_mzl_fun_after_dots_or__ =
19574 # 116 "standard.mly"
19575 ( x :: xs )
19576 # 19577 "parser_cocci_menhir.ml"
19577 in
19578 _menhir_env.MenhirLib.EngineTypes.stack <- {
19579 MenhirLib.EngineTypes.state = _menhir_s;
19580 MenhirLib.EngineTypes.semv = Obj.repr _v;
19581 MenhirLib.EngineTypes.startp = _startpos;
19582 MenhirLib.EngineTypes.endp = _endpos;
19583 MenhirLib.EngineTypes.next = _menhir_stack;
19584 });
19585 (fun _menhir_env ->
19586 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19587 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19588 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19589 let _endpos = _startpos in
19590 let _v : 'tv_list_mzl_fun_start__ =
19591 # 114 "standard.mly"
19592 ( [] )
19593 # 19594 "parser_cocci_menhir.ml"
19594 in
19595 _menhir_env.MenhirLib.EngineTypes.stack <- {
19596 MenhirLib.EngineTypes.state = _menhir_s;
19597 MenhirLib.EngineTypes.semv = Obj.repr _v;
19598 MenhirLib.EngineTypes.startp = _startpos;
19599 MenhirLib.EngineTypes.endp = _endpos;
19600 MenhirLib.EngineTypes.next = _menhir_stack;
19601 });
19602 (fun _menhir_env ->
19603 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19604 let {
19605 MenhirLib.EngineTypes.semv = xs;
19606 MenhirLib.EngineTypes.startp = _startpos_xs_;
19607 MenhirLib.EngineTypes.endp = _endpos_xs_;
19608 MenhirLib.EngineTypes.next = {
19609 MenhirLib.EngineTypes.state = _menhir_s;
19610 MenhirLib.EngineTypes.semv = x;
19611 MenhirLib.EngineTypes.startp = _startpos_x_;
19612 MenhirLib.EngineTypes.endp = _endpos_x_;
19613 MenhirLib.EngineTypes.next = _menhir_stack;
19614 };
19615 } = _menhir_stack in
19616 let xs : 'tv_list_mzl_fun_start__ = Obj.magic xs in
19617 let x : 'tv_mzl_fun_start_ = Obj.magic x in
19618 let _startpos = _startpos_x_ in
19619 let _endpos = _endpos_xs_ in
19620 let _v : 'tv_list_mzl_fun_start__ =
19621 # 116 "standard.mly"
19622 ( x :: xs )
19623 # 19624 "parser_cocci_menhir.ml"
19624 in
19625 _menhir_env.MenhirLib.EngineTypes.stack <- {
19626 MenhirLib.EngineTypes.state = _menhir_s;
19627 MenhirLib.EngineTypes.semv = Obj.repr _v;
19628 MenhirLib.EngineTypes.startp = _startpos;
19629 MenhirLib.EngineTypes.endp = _endpos;
19630 MenhirLib.EngineTypes.next = _menhir_stack;
19631 });
19632 (fun _menhir_env ->
19633 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19634 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19635 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19636 let _endpos = _startpos in
19637 let _v : 'tv_list_mzl_rule_elem_statement__ =
19638 # 114 "standard.mly"
19639 ( [] )
19640 # 19641 "parser_cocci_menhir.ml"
19641 in
19642 _menhir_env.MenhirLib.EngineTypes.stack <- {
19643 MenhirLib.EngineTypes.state = _menhir_s;
19644 MenhirLib.EngineTypes.semv = Obj.repr _v;
19645 MenhirLib.EngineTypes.startp = _startpos;
19646 MenhirLib.EngineTypes.endp = _endpos;
19647 MenhirLib.EngineTypes.next = _menhir_stack;
19648 });
19649 (fun _menhir_env ->
19650 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19651 let {
19652 MenhirLib.EngineTypes.semv = xs;
19653 MenhirLib.EngineTypes.startp = _startpos_xs_;
19654 MenhirLib.EngineTypes.endp = _endpos_xs_;
19655 MenhirLib.EngineTypes.next = {
19656 MenhirLib.EngineTypes.state = _menhir_s;
19657 MenhirLib.EngineTypes.semv = x;
19658 MenhirLib.EngineTypes.startp = _startpos_x_;
19659 MenhirLib.EngineTypes.endp = _endpos_x_;
19660 MenhirLib.EngineTypes.next = _menhir_stack;
19661 };
19662 } = _menhir_stack in
19663 let xs : 'tv_list_mzl_rule_elem_statement__ = Obj.magic xs in
19664 let x : 'tv_mzl_rule_elem_statement_ = Obj.magic x in
19665 let _startpos = _startpos_x_ in
19666 let _endpos = _endpos_xs_ in
19667 let _v : 'tv_list_mzl_rule_elem_statement__ =
19668 # 116 "standard.mly"
19669 ( x :: xs )
19670 # 19671 "parser_cocci_menhir.ml"
19671 in
19672 _menhir_env.MenhirLib.EngineTypes.stack <- {
19673 MenhirLib.EngineTypes.state = _menhir_s;
19674 MenhirLib.EngineTypes.semv = Obj.repr _v;
19675 MenhirLib.EngineTypes.startp = _startpos;
19676 MenhirLib.EngineTypes.endp = _endpos;
19677 MenhirLib.EngineTypes.next = _menhir_stack;
19678 });
19679 (fun _menhir_env ->
19680 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19681 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19682 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19683 let _endpos = _startpos in
19684 let _v : 'tv_list_mzl_statement__ =
19685 # 114 "standard.mly"
19686 ( [] )
19687 # 19688 "parser_cocci_menhir.ml"
19688 in
19689 _menhir_env.MenhirLib.EngineTypes.stack <- {
19690 MenhirLib.EngineTypes.state = _menhir_s;
19691 MenhirLib.EngineTypes.semv = Obj.repr _v;
19692 MenhirLib.EngineTypes.startp = _startpos;
19693 MenhirLib.EngineTypes.endp = _endpos;
19694 MenhirLib.EngineTypes.next = _menhir_stack;
19695 });
19696 (fun _menhir_env ->
19697 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19698 let {
19699 MenhirLib.EngineTypes.semv = xs;
19700 MenhirLib.EngineTypes.startp = _startpos_xs_;
19701 MenhirLib.EngineTypes.endp = _endpos_xs_;
19702 MenhirLib.EngineTypes.next = {
19703 MenhirLib.EngineTypes.state = _menhir_s;
19704 MenhirLib.EngineTypes.semv = x;
19705 MenhirLib.EngineTypes.startp = _startpos_x_;
19706 MenhirLib.EngineTypes.endp = _endpos_x_;
19707 MenhirLib.EngineTypes.next = _menhir_stack;
19708 };
19709 } = _menhir_stack in
19710 let xs : 'tv_list_mzl_statement__ = Obj.magic xs in
19711 let x : 'tv_mzl_statement_ = Obj.magic x in
19712 let _startpos = _startpos_x_ in
19713 let _endpos = _endpos_xs_ in
19714 let _v : 'tv_list_mzl_statement__ =
19715 # 116 "standard.mly"
19716 ( x :: xs )
19717 # 19718 "parser_cocci_menhir.ml"
19718 in
19719 _menhir_env.MenhirLib.EngineTypes.stack <- {
19720 MenhirLib.EngineTypes.state = _menhir_s;
19721 MenhirLib.EngineTypes.semv = Obj.repr _v;
19722 MenhirLib.EngineTypes.startp = _startpos;
19723 MenhirLib.EngineTypes.endp = _endpos;
19724 MenhirLib.EngineTypes.next = _menhir_stack;
19725 });
19726 (fun _menhir_env ->
19727 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19728 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19729 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19730 let _endpos = _startpos in
19731 let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ =
19732 # 114 "standard.mly"
19733 ( [] )
19734 # 19735 "parser_cocci_menhir.ml"
19735 in
19736 _menhir_env.MenhirLib.EngineTypes.stack <- {
19737 MenhirLib.EngineTypes.state = _menhir_s;
19738 MenhirLib.EngineTypes.semv = Obj.repr _v;
19739 MenhirLib.EngineTypes.startp = _startpos;
19740 MenhirLib.EngineTypes.endp = _endpos;
19741 MenhirLib.EngineTypes.next = _menhir_stack;
19742 });
19743 (fun _menhir_env ->
19744 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19745 let {
19746 MenhirLib.EngineTypes.semv = xs;
19747 MenhirLib.EngineTypes.startp = _startpos_xs_;
19748 MenhirLib.EngineTypes.endp = _endpos_xs_;
19749 MenhirLib.EngineTypes.next = {
19750 MenhirLib.EngineTypes.semv = y0;
19751 MenhirLib.EngineTypes.startp = _startpos_y0_;
19752 MenhirLib.EngineTypes.endp = _endpos_y0_;
19753 MenhirLib.EngineTypes.next = {
19754 MenhirLib.EngineTypes.state = _menhir_s;
19755 MenhirLib.EngineTypes.semv = x0;
19756 MenhirLib.EngineTypes.startp = _startpos_x0_;
19757 MenhirLib.EngineTypes.endp = _endpos_x0_;
19758 MenhirLib.EngineTypes.next = _menhir_stack;
19759 };
19760 };
19761 } = _menhir_stack in
19762 let xs : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic xs in
19763 let y0 : 'tv_dexpr = Obj.magic y0 in
19764 let x0 : 'tv_edots_when_TEllipsis_eexpr_ = Obj.magic x0 in
19765 let _startpos = _startpos_x0_ in
19766 let _endpos = _endpos_xs_ in
19767 let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = let x =
19768 let y = y0 in
19769 let x = x0 in
19770
19771 # 70 "standard.mly"
19772 ( (x, y) )
19773 # 19774 "parser_cocci_menhir.ml"
19774
19775 in
19776
19777 # 116 "standard.mly"
19778 ( x :: xs )
19779 # 19780 "parser_cocci_menhir.ml"
19780 in
19781 _menhir_env.MenhirLib.EngineTypes.stack <- {
19782 MenhirLib.EngineTypes.state = _menhir_s;
19783 MenhirLib.EngineTypes.semv = Obj.repr _v;
19784 MenhirLib.EngineTypes.startp = _startpos;
19785 MenhirLib.EngineTypes.endp = _endpos;
19786 MenhirLib.EngineTypes.next = _menhir_stack;
19787 });
19788 (fun _menhir_env ->
19789 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19790 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19791 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19792 let _endpos = _startpos in
19793 let _v : 'tv_list_whenppdecs_ =
19794 # 114 "standard.mly"
19795 ( [] )
19796 # 19797 "parser_cocci_menhir.ml"
19797 in
19798 _menhir_env.MenhirLib.EngineTypes.stack <- {
19799 MenhirLib.EngineTypes.state = _menhir_s;
19800 MenhirLib.EngineTypes.semv = Obj.repr _v;
19801 MenhirLib.EngineTypes.startp = _startpos;
19802 MenhirLib.EngineTypes.endp = _endpos;
19803 MenhirLib.EngineTypes.next = _menhir_stack;
19804 });
19805 (fun _menhir_env ->
19806 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19807 let {
19808 MenhirLib.EngineTypes.semv = xs;
19809 MenhirLib.EngineTypes.startp = _startpos_xs_;
19810 MenhirLib.EngineTypes.endp = _endpos_xs_;
19811 MenhirLib.EngineTypes.next = {
19812 MenhirLib.EngineTypes.state = _menhir_s;
19813 MenhirLib.EngineTypes.semv = x;
19814 MenhirLib.EngineTypes.startp = _startpos_x_;
19815 MenhirLib.EngineTypes.endp = _endpos_x_;
19816 MenhirLib.EngineTypes.next = _menhir_stack;
19817 };
19818 } = _menhir_stack in
19819 let xs : 'tv_list_whenppdecs_ = Obj.magic xs in
19820 let x : 'tv_whenppdecs = Obj.magic x in
19821 let _startpos = _startpos_x_ in
19822 let _endpos = _endpos_xs_ in
19823 let _v : 'tv_list_whenppdecs_ =
19824 # 116 "standard.mly"
19825 ( x :: xs )
19826 # 19827 "parser_cocci_menhir.ml"
19827 in
19828 _menhir_env.MenhirLib.EngineTypes.stack <- {
19829 MenhirLib.EngineTypes.state = _menhir_s;
19830 MenhirLib.EngineTypes.semv = Obj.repr _v;
19831 MenhirLib.EngineTypes.startp = _startpos;
19832 MenhirLib.EngineTypes.endp = _endpos;
19833 MenhirLib.EngineTypes.next = _menhir_stack;
19834 });
19835 (fun _menhir_env ->
19836 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19837 let {
19838 MenhirLib.EngineTypes.state = _menhir_s;
19839 MenhirLib.EngineTypes.semv = _1;
19840 MenhirLib.EngineTypes.startp = _startpos__1_;
19841 MenhirLib.EngineTypes.endp = _endpos__1_;
19842 MenhirLib.EngineTypes.next = _menhir_stack;
19843 } = _menhir_stack in
19844 let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
19845 let _startpos = _startpos__1_ in
19846 let _endpos = _endpos__1_ in
19847 let _v : 'tv_list_len =
19848 # 337 "parser_cocci_menhir.mly"
19849 ( Common.Left _1 )
19850 # 19851 "parser_cocci_menhir.ml"
19851 in
19852 _menhir_env.MenhirLib.EngineTypes.stack <- {
19853 MenhirLib.EngineTypes.state = _menhir_s;
19854 MenhirLib.EngineTypes.semv = Obj.repr _v;
19855 MenhirLib.EngineTypes.startp = _startpos;
19856 MenhirLib.EngineTypes.endp = _endpos;
19857 MenhirLib.EngineTypes.next = _menhir_stack;
19858 });
19859 (fun _menhir_env ->
19860 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19861 let {
19862 MenhirLib.EngineTypes.state = _menhir_s;
19863 MenhirLib.EngineTypes.semv = _1;
19864 MenhirLib.EngineTypes.startp = _startpos__1_;
19865 MenhirLib.EngineTypes.endp = _endpos__1_;
19866 MenhirLib.EngineTypes.next = _menhir_stack;
19867 } = _menhir_stack in
19868 let _1 : (
19869 # 91 "parser_cocci_menhir.mly"
19870 (string * Data.clt)
19871 # 19872 "parser_cocci_menhir.ml"
19872 ) = Obj.magic _1 in
19873 let _startpos = _startpos__1_ in
19874 let _endpos = _endpos__1_ in
19875 let _v : 'tv_list_len =
19876 # 338 "parser_cocci_menhir.mly"
19877 ( let (x,clt) = _1 in Common.Right (int_of_string x) )
19878 # 19879 "parser_cocci_menhir.ml"
19879 in
19880 _menhir_env.MenhirLib.EngineTypes.stack <- {
19881 MenhirLib.EngineTypes.state = _menhir_s;
19882 MenhirLib.EngineTypes.semv = Obj.repr _v;
19883 MenhirLib.EngineTypes.startp = _startpos;
19884 MenhirLib.EngineTypes.endp = _endpos;
19885 MenhirLib.EngineTypes.next = _menhir_stack;
19886 });
19887 (fun _menhir_env ->
19888 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19889 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19890 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19891 let _endpos = _startpos in
19892 let _v : 'tv_loption_choose_iso_ =
19893 # 57 "standard.mly"
19894 ( [] )
19895 # 19896 "parser_cocci_menhir.ml"
19896 in
19897 _menhir_env.MenhirLib.EngineTypes.stack <- {
19898 MenhirLib.EngineTypes.state = _menhir_s;
19899 MenhirLib.EngineTypes.semv = Obj.repr _v;
19900 MenhirLib.EngineTypes.startp = _startpos;
19901 MenhirLib.EngineTypes.endp = _endpos;
19902 MenhirLib.EngineTypes.next = _menhir_stack;
19903 });
19904 (fun _menhir_env ->
19905 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19906 let {
19907 MenhirLib.EngineTypes.state = _menhir_s;
19908 MenhirLib.EngineTypes.semv = x;
19909 MenhirLib.EngineTypes.startp = _startpos_x_;
19910 MenhirLib.EngineTypes.endp = _endpos_x_;
19911 MenhirLib.EngineTypes.next = _menhir_stack;
19912 } = _menhir_stack in
19913 let x : 'tv_choose_iso = Obj.magic x in
19914 let _startpos = _startpos_x_ in
19915 let _endpos = _endpos_x_ in
19916 let _v : 'tv_loption_choose_iso_ =
19917 # 59 "standard.mly"
19918 ( x )
19919 # 19920 "parser_cocci_menhir.ml"
19920 in
19921 _menhir_env.MenhirLib.EngineTypes.stack <- {
19922 MenhirLib.EngineTypes.state = _menhir_s;
19923 MenhirLib.EngineTypes.semv = Obj.repr _v;
19924 MenhirLib.EngineTypes.startp = _startpos;
19925 MenhirLib.EngineTypes.endp = _endpos;
19926 MenhirLib.EngineTypes.next = _menhir_stack;
19927 });
19928 (fun _menhir_env ->
19929 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19930 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19931 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19932 let _endpos = _startpos in
19933 let _v : 'tv_loption_disable_ =
19934 # 57 "standard.mly"
19935 ( [] )
19936 # 19937 "parser_cocci_menhir.ml"
19937 in
19938 _menhir_env.MenhirLib.EngineTypes.stack <- {
19939 MenhirLib.EngineTypes.state = _menhir_s;
19940 MenhirLib.EngineTypes.semv = Obj.repr _v;
19941 MenhirLib.EngineTypes.startp = _startpos;
19942 MenhirLib.EngineTypes.endp = _endpos;
19943 MenhirLib.EngineTypes.next = _menhir_stack;
19944 });
19945 (fun _menhir_env ->
19946 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19947 let {
19948 MenhirLib.EngineTypes.state = _menhir_s;
19949 MenhirLib.EngineTypes.semv = x;
19950 MenhirLib.EngineTypes.startp = _startpos_x_;
19951 MenhirLib.EngineTypes.endp = _endpos_x_;
19952 MenhirLib.EngineTypes.next = _menhir_stack;
19953 } = _menhir_stack in
19954 let x : 'tv_disable = Obj.magic x in
19955 let _startpos = _startpos_x_ in
19956 let _endpos = _endpos_x_ in
19957 let _v : 'tv_loption_disable_ =
19958 # 59 "standard.mly"
19959 ( x )
19960 # 19961 "parser_cocci_menhir.ml"
19961 in
19962 _menhir_env.MenhirLib.EngineTypes.stack <- {
19963 MenhirLib.EngineTypes.state = _menhir_s;
19964 MenhirLib.EngineTypes.semv = Obj.repr _v;
19965 MenhirLib.EngineTypes.startp = _startpos;
19966 MenhirLib.EngineTypes.endp = _endpos;
19967 MenhirLib.EngineTypes.next = _menhir_stack;
19968 });
19969 (fun _menhir_env ->
19970 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19971 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
19972 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
19973 let _endpos = _startpos in
19974 let _v : 'tv_loption_filespec_ =
19975 # 57 "standard.mly"
19976 ( [] )
19977 # 19978 "parser_cocci_menhir.ml"
19978 in
19979 _menhir_env.MenhirLib.EngineTypes.stack <- {
19980 MenhirLib.EngineTypes.state = _menhir_s;
19981 MenhirLib.EngineTypes.semv = Obj.repr _v;
19982 MenhirLib.EngineTypes.startp = _startpos;
19983 MenhirLib.EngineTypes.endp = _endpos;
19984 MenhirLib.EngineTypes.next = _menhir_stack;
19985 });
19986 (fun _menhir_env ->
19987 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
19988 let {
19989 MenhirLib.EngineTypes.state = _menhir_s;
19990 MenhirLib.EngineTypes.semv = x;
19991 MenhirLib.EngineTypes.startp = _startpos_x_;
19992 MenhirLib.EngineTypes.endp = _endpos_x_;
19993 MenhirLib.EngineTypes.next = _menhir_stack;
19994 } = _menhir_stack in
19995 let x : 'tv_filespec = Obj.magic x in
19996 let _startpos = _startpos_x_ in
19997 let _endpos = _endpos_x_ in
19998 let _v : 'tv_loption_filespec_ =
19999 # 59 "standard.mly"
20000 ( x )
20001 # 20002 "parser_cocci_menhir.ml"
20002 in
20003 _menhir_env.MenhirLib.EngineTypes.stack <- {
20004 MenhirLib.EngineTypes.state = _menhir_s;
20005 MenhirLib.EngineTypes.semv = Obj.repr _v;
20006 MenhirLib.EngineTypes.startp = _startpos;
20007 MenhirLib.EngineTypes.endp = _endpos;
20008 MenhirLib.EngineTypes.next = _menhir_stack;
20009 });
20010 (fun _menhir_env ->
20011 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20012 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
20013 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
20014 let _endpos = _startpos in
20015 let _v : 'tv_loption_minus_start_ =
20016 # 57 "standard.mly"
20017 ( [] )
20018 # 20019 "parser_cocci_menhir.ml"
20019 in
20020 _menhir_env.MenhirLib.EngineTypes.stack <- {
20021 MenhirLib.EngineTypes.state = _menhir_s;
20022 MenhirLib.EngineTypes.semv = Obj.repr _v;
20023 MenhirLib.EngineTypes.startp = _startpos;
20024 MenhirLib.EngineTypes.endp = _endpos;
20025 MenhirLib.EngineTypes.next = _menhir_stack;
20026 });
20027 (fun _menhir_env ->
20028 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20029 let {
20030 MenhirLib.EngineTypes.state = _menhir_s;
20031 MenhirLib.EngineTypes.semv = x;
20032 MenhirLib.EngineTypes.startp = _startpos_x_;
20033 MenhirLib.EngineTypes.endp = _endpos_x_;
20034 MenhirLib.EngineTypes.next = _menhir_stack;
20035 } = _menhir_stack in
20036 let x : 'tv_minus_start = Obj.magic x in
20037 let _startpos = _startpos_x_ in
20038 let _endpos = _endpos_x_ in
20039 let _v : 'tv_loption_minus_start_ =
20040 # 59 "standard.mly"
20041 ( x )
20042 # 20043 "parser_cocci_menhir.ml"
20043 in
20044 _menhir_env.MenhirLib.EngineTypes.stack <- {
20045 MenhirLib.EngineTypes.state = _menhir_s;
20046 MenhirLib.EngineTypes.semv = Obj.repr _v;
20047 MenhirLib.EngineTypes.startp = _startpos;
20048 MenhirLib.EngineTypes.endp = _endpos;
20049 MenhirLib.EngineTypes.next = _menhir_stack;
20050 });
20051 (fun _menhir_env ->
20052 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20053 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
20054 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
20055 let _endpos = _startpos in
20056 let _v : 'tv_loption_not_pos_ =
20057 # 57 "standard.mly"
20058 ( [] )
20059 # 20060 "parser_cocci_menhir.ml"
20060 in
20061 _menhir_env.MenhirLib.EngineTypes.stack <- {
20062 MenhirLib.EngineTypes.state = _menhir_s;
20063 MenhirLib.EngineTypes.semv = Obj.repr _v;
20064 MenhirLib.EngineTypes.startp = _startpos;
20065 MenhirLib.EngineTypes.endp = _endpos;
20066 MenhirLib.EngineTypes.next = _menhir_stack;
20067 });
20068 (fun _menhir_env ->
20069 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20070 let {
20071 MenhirLib.EngineTypes.state = _menhir_s;
20072 MenhirLib.EngineTypes.semv = x;
20073 MenhirLib.EngineTypes.startp = _startpos_x_;
20074 MenhirLib.EngineTypes.endp = _endpos_x_;
20075 MenhirLib.EngineTypes.next = _menhir_stack;
20076 } = _menhir_stack in
20077 let x : 'tv_not_pos = Obj.magic x in
20078 let _startpos = _startpos_x_ in
20079 let _endpos = _endpos_x_ in
20080 let _v : 'tv_loption_not_pos_ =
20081 # 59 "standard.mly"
20082 ( x )
20083 # 20084 "parser_cocci_menhir.ml"
20084 in
20085 _menhir_env.MenhirLib.EngineTypes.stack <- {
20086 MenhirLib.EngineTypes.state = _menhir_s;
20087 MenhirLib.EngineTypes.semv = Obj.repr _v;
20088 MenhirLib.EngineTypes.startp = _startpos;
20089 MenhirLib.EngineTypes.endp = _endpos;
20090 MenhirLib.EngineTypes.next = _menhir_stack;
20091 });
20092 (fun _menhir_env ->
20093 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20094 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
20095 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
20096 let _endpos = _startpos in
20097 let _v : 'tv_loption_plus_start_ =
20098 # 57 "standard.mly"
20099 ( [] )
20100 # 20101 "parser_cocci_menhir.ml"
20101 in
20102 _menhir_env.MenhirLib.EngineTypes.stack <- {
20103 MenhirLib.EngineTypes.state = _menhir_s;
20104 MenhirLib.EngineTypes.semv = Obj.repr _v;
20105 MenhirLib.EngineTypes.startp = _startpos;
20106 MenhirLib.EngineTypes.endp = _endpos;
20107 MenhirLib.EngineTypes.next = _menhir_stack;
20108 });
20109 (fun _menhir_env ->
20110 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20111 let {
20112 MenhirLib.EngineTypes.state = _menhir_s;
20113 MenhirLib.EngineTypes.semv = x;
20114 MenhirLib.EngineTypes.startp = _startpos_x_;
20115 MenhirLib.EngineTypes.endp = _endpos_x_;
20116 MenhirLib.EngineTypes.next = _menhir_stack;
20117 } = _menhir_stack in
20118 let x : 'tv_plus_start = Obj.magic x in
20119 let _startpos = _startpos_x_ in
20120 let _endpos = _endpos_x_ in
20121 let _v : 'tv_loption_plus_start_ =
20122 # 59 "standard.mly"
20123 ( x )
20124 # 20125 "parser_cocci_menhir.ml"
20125 in
20126 _menhir_env.MenhirLib.EngineTypes.stack <- {
20127 MenhirLib.EngineTypes.state = _menhir_s;
20128 MenhirLib.EngineTypes.semv = Obj.repr _v;
20129 MenhirLib.EngineTypes.startp = _startpos;
20130 MenhirLib.EngineTypes.endp = _endpos;
20131 MenhirLib.EngineTypes.next = _menhir_stack;
20132 });
20133 (fun _menhir_env ->
20134 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20135 let {
20136 MenhirLib.EngineTypes.state = _menhir_s;
20137 MenhirLib.EngineTypes.semv = t;
20138 MenhirLib.EngineTypes.startp = _startpos_t_;
20139 MenhirLib.EngineTypes.endp = _endpos_t_;
20140 MenhirLib.EngineTypes.next = _menhir_stack;
20141 } = _menhir_stack in
20142 let t : 'tv_typedef_ctype = Obj.magic t in
20143 let _startpos = _startpos_t_ in
20144 let _endpos = _endpos_t_ in
20145 let _v : 'tv_meta_exp_type =
20146 # 518 "parser_cocci_menhir.mly"
20147 ( [Ast0_cocci.ast0_type_to_type t] )
20148 # 20149 "parser_cocci_menhir.ml"
20149 in
20150 _menhir_env.MenhirLib.EngineTypes.stack <- {
20151 MenhirLib.EngineTypes.state = _menhir_s;
20152 MenhirLib.EngineTypes.semv = Obj.repr _v;
20153 MenhirLib.EngineTypes.startp = _startpos;
20154 MenhirLib.EngineTypes.endp = _endpos;
20155 MenhirLib.EngineTypes.next = _menhir_stack;
20156 });
20157 (fun _menhir_env ->
20158 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20159 let {
20160 MenhirLib.EngineTypes.startp = _startpos__3_;
20161 MenhirLib.EngineTypes.endp = _endpos__3_;
20162 MenhirLib.EngineTypes.next = {
20163 MenhirLib.EngineTypes.startp = _startpos__2_;
20164 MenhirLib.EngineTypes.endp = _endpos__2_;
20165 MenhirLib.EngineTypes.next = {
20166 MenhirLib.EngineTypes.state = _menhir_s;
20167 MenhirLib.EngineTypes.semv = t;
20168 MenhirLib.EngineTypes.startp = _startpos_t_;
20169 MenhirLib.EngineTypes.endp = _endpos_t_;
20170 MenhirLib.EngineTypes.next = _menhir_stack;
20171 };
20172 };
20173 } = _menhir_stack in
20174 let t : 'tv_typedef_ctype = Obj.magic t in
20175 let _startpos = _startpos_t_ in
20176 let _endpos = _endpos__3_ in
20177 let _v : 'tv_meta_exp_type =
20178 # 520 "parser_cocci_menhir.mly"
20179 ( [Type_cocci.Array (Ast0_cocci.ast0_type_to_type t)] )
20180 # 20181 "parser_cocci_menhir.ml"
20181 in
20182 _menhir_env.MenhirLib.EngineTypes.stack <- {
20183 MenhirLib.EngineTypes.state = _menhir_s;
20184 MenhirLib.EngineTypes.semv = Obj.repr _v;
20185 MenhirLib.EngineTypes.startp = _startpos;
20186 MenhirLib.EngineTypes.endp = _endpos;
20187 MenhirLib.EngineTypes.next = _menhir_stack;
20188 });
20189 (fun _menhir_env ->
20190 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20191 let {
20192 MenhirLib.EngineTypes.semv = m;
20193 MenhirLib.EngineTypes.startp = _startpos_m_;
20194 MenhirLib.EngineTypes.endp = _endpos_m_;
20195 MenhirLib.EngineTypes.next = {
20196 MenhirLib.EngineTypes.startp = _startpos__3_;
20197 MenhirLib.EngineTypes.endp = _endpos__3_;
20198 MenhirLib.EngineTypes.next = {
20199 MenhirLib.EngineTypes.semv = t;
20200 MenhirLib.EngineTypes.startp = _startpos_t_;
20201 MenhirLib.EngineTypes.endp = _endpos_t_;
20202 MenhirLib.EngineTypes.next = {
20203 MenhirLib.EngineTypes.state = _menhir_s;
20204 MenhirLib.EngineTypes.startp = _startpos__1_;
20205 MenhirLib.EngineTypes.endp = _endpos__1_;
20206 MenhirLib.EngineTypes.next = _menhir_stack;
20207 };
20208 };
20209 };
20210 } = _menhir_stack in
20211 let m : 'tv_list_TMul_ = Obj.magic m in
20212 let t : 'tv_comma_list_ctype_ = Obj.magic t in
20213 let _startpos = _startpos__1_ in
20214 let _endpos = _endpos_m_ in
20215 let _v : 'tv_meta_exp_type =
20216 # 522 "parser_cocci_menhir.mly"
20217 ( List.map
20218 (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
20219 t )
20220 # 20221 "parser_cocci_menhir.ml"
20221 in
20222 _menhir_env.MenhirLib.EngineTypes.stack <- {
20223 MenhirLib.EngineTypes.state = _menhir_s;
20224 MenhirLib.EngineTypes.semv = Obj.repr _v;
20225 MenhirLib.EngineTypes.startp = _startpos;
20226 MenhirLib.EngineTypes.endp = _endpos;
20227 MenhirLib.EngineTypes.next = _menhir_stack;
20228 });
20229 (fun _menhir_env ->
20230 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20231 let {
20232 MenhirLib.EngineTypes.semv = _3;
20233 MenhirLib.EngineTypes.startp = _startpos__3_;
20234 MenhirLib.EngineTypes.endp = _endpos__3_;
20235 MenhirLib.EngineTypes.next = {
20236 MenhirLib.EngineTypes.startp = _startpos__2_;
20237 MenhirLib.EngineTypes.endp = _endpos__2_;
20238 MenhirLib.EngineTypes.next = {
20239 MenhirLib.EngineTypes.state = _menhir_s;
20240 MenhirLib.EngineTypes.semv = _1;
20241 MenhirLib.EngineTypes.startp = _startpos__1_;
20242 MenhirLib.EngineTypes.endp = _endpos__1_;
20243 MenhirLib.EngineTypes.next = _menhir_stack;
20244 };
20245 };
20246 } = _menhir_stack in
20247 let _3 : 'tv_pure_ident = Obj.magic _3 in
20248 let _1 : (
20249 # 49 "parser_cocci_menhir.mly"
20250 (string)
20251 # 20252 "parser_cocci_menhir.ml"
20252 ) = Obj.magic _1 in
20253 let _startpos = _startpos__1_ in
20254 let _endpos = _endpos__3_ in
20255 let _v : 'tv_meta_ident =
20256 # 1562 "parser_cocci_menhir.mly"
20257 ( (Some _1,P.id2name _3) )
20258 # 20259 "parser_cocci_menhir.ml"
20259 in
20260 _menhir_env.MenhirLib.EngineTypes.stack <- {
20261 MenhirLib.EngineTypes.state = _menhir_s;
20262 MenhirLib.EngineTypes.semv = Obj.repr _v;
20263 MenhirLib.EngineTypes.startp = _startpos;
20264 MenhirLib.EngineTypes.endp = _endpos;
20265 MenhirLib.EngineTypes.next = _menhir_stack;
20266 });
20267 (fun _menhir_env ->
20268 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20269 let {
20270 MenhirLib.EngineTypes.semv = _3;
20271 MenhirLib.EngineTypes.startp = _startpos__3_;
20272 MenhirLib.EngineTypes.endp = _endpos__3_;
20273 MenhirLib.EngineTypes.next = {
20274 MenhirLib.EngineTypes.startp = _startpos__2_;
20275 MenhirLib.EngineTypes.endp = _endpos__2_;
20276 MenhirLib.EngineTypes.next = {
20277 MenhirLib.EngineTypes.state = _menhir_s;
20278 MenhirLib.EngineTypes.semv = _1;
20279 MenhirLib.EngineTypes.startp = _startpos__1_;
20280 MenhirLib.EngineTypes.endp = _endpos__1_;
20281 MenhirLib.EngineTypes.next = _menhir_stack;
20282 };
20283 };
20284 } = _menhir_stack in
20285 let _3 : 'tv_pure_ident_kwd = Obj.magic _3 in
20286 let _1 : (
20287 # 49 "parser_cocci_menhir.mly"
20288 (string)
20289 # 20290 "parser_cocci_menhir.ml"
20290 ) = Obj.magic _1 in
20291 let _startpos = _startpos__1_ in
20292 let _endpos = _endpos__3_ in
20293 let _v : 'tv_meta_ident =
20294 # 1563 "parser_cocci_menhir.mly"
20295 ( (Some _1,_3) )
20296 # 20297 "parser_cocci_menhir.ml"
20297 in
20298 _menhir_env.MenhirLib.EngineTypes.stack <- {
20299 MenhirLib.EngineTypes.state = _menhir_s;
20300 MenhirLib.EngineTypes.semv = Obj.repr _v;
20301 MenhirLib.EngineTypes.startp = _startpos;
20302 MenhirLib.EngineTypes.endp = _endpos;
20303 MenhirLib.EngineTypes.next = _menhir_stack;
20304 });
20305 (fun _menhir_env ->
20306 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20307 let {
20308 MenhirLib.EngineTypes.state = _menhir_s;
20309 MenhirLib.EngineTypes.semv = m;
20310 MenhirLib.EngineTypes.startp = _startpos_m_;
20311 MenhirLib.EngineTypes.endp = _endpos_m_;
20312 MenhirLib.EngineTypes.next = _menhir_stack;
20313 } = _menhir_stack in
20314 let m : 'tv_metadec = Obj.magic m in
20315 let _startpos = _startpos_m_ in
20316 let _endpos = _endpos_m_ in
20317 let _v : (
20318 # 163 "parser_cocci_menhir.mly"
20319 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
20320 # 20321 "parser_cocci_menhir.ml"
20321 ) =
20322 # 187 "parser_cocci_menhir.mly"
20323 ( m (!Ast0.rule_name) )
20324 # 20325 "parser_cocci_menhir.ml"
20325 in
20326 _menhir_env.MenhirLib.EngineTypes.stack <- {
20327 MenhirLib.EngineTypes.state = _menhir_s;
20328 MenhirLib.EngineTypes.semv = Obj.repr _v;
20329 MenhirLib.EngineTypes.startp = _startpos;
20330 MenhirLib.EngineTypes.endp = _endpos;
20331 MenhirLib.EngineTypes.next = _menhir_stack;
20332 });
20333 (fun _menhir_env ->
20334 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20335 let {
20336 MenhirLib.EngineTypes.startp = _startpos__5_;
20337 MenhirLib.EngineTypes.endp = _endpos__5_;
20338 MenhirLib.EngineTypes.next = {
20339 MenhirLib.EngineTypes.semv = ids;
20340 MenhirLib.EngineTypes.startp = _startpos_ids_;
20341 MenhirLib.EngineTypes.endp = _endpos_ids_;
20342 MenhirLib.EngineTypes.next = {
20343 MenhirLib.EngineTypes.startp = _startpos__3_;
20344 MenhirLib.EngineTypes.endp = _endpos__3_;
20345 MenhirLib.EngineTypes.next = {
20346 MenhirLib.EngineTypes.semv = ispure;
20347 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20348 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20349 MenhirLib.EngineTypes.next = {
20350 MenhirLib.EngineTypes.state = _menhir_s;
20351 MenhirLib.EngineTypes.semv = ar;
20352 MenhirLib.EngineTypes.startp = _startpos_ar_;
20353 MenhirLib.EngineTypes.endp = _endpos_ar_;
20354 MenhirLib.EngineTypes.next = _menhir_stack;
20355 };
20356 };
20357 };
20358 };
20359 } = _menhir_stack in
20360 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
20361 let ispure : 'tv_pure = Obj.magic ispure in
20362 let ar : 'tv_arity = Obj.magic ar in
20363 let _startpos = _startpos_ar_ in
20364 let _endpos = _endpos__5_ in
20365 let _v : 'tv_metadec = let kindfn =
20366
20367 # 349 "parser_cocci_menhir.mly"
20368 ( (fun arity name pure check_meta ->
20369 let tok = check_meta(Ast.MetaParamDecl(arity,name)) in
20370 !Data.add_param_meta name pure; tok) )
20371 # 20372 "parser_cocci_menhir.ml"
20372
20373 in
20374
20375 # 278 "parser_cocci_menhir.mly"
20376 ( P.create_metadec ar ispure kindfn ids )
20377 # 20378 "parser_cocci_menhir.ml"
20378 in
20379 _menhir_env.MenhirLib.EngineTypes.stack <- {
20380 MenhirLib.EngineTypes.state = _menhir_s;
20381 MenhirLib.EngineTypes.semv = Obj.repr _v;
20382 MenhirLib.EngineTypes.startp = _startpos;
20383 MenhirLib.EngineTypes.endp = _endpos;
20384 MenhirLib.EngineTypes.next = _menhir_stack;
20385 });
20386 (fun _menhir_env ->
20387 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20388 let {
20389 MenhirLib.EngineTypes.startp = _startpos__6_;
20390 MenhirLib.EngineTypes.endp = _endpos__6_;
20391 MenhirLib.EngineTypes.next = {
20392 MenhirLib.EngineTypes.semv = ids;
20393 MenhirLib.EngineTypes.startp = _startpos_ids_;
20394 MenhirLib.EngineTypes.endp = _endpos_ids_;
20395 MenhirLib.EngineTypes.next = {
20396 MenhirLib.EngineTypes.startp = _startpos__4_;
20397 MenhirLib.EngineTypes.endp = _endpos__4_;
20398 MenhirLib.EngineTypes.next = {
20399 MenhirLib.EngineTypes.startp = _startpos__3_;
20400 MenhirLib.EngineTypes.endp = _endpos__3_;
20401 MenhirLib.EngineTypes.next = {
20402 MenhirLib.EngineTypes.semv = ispure;
20403 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20404 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20405 MenhirLib.EngineTypes.next = {
20406 MenhirLib.EngineTypes.state = _menhir_s;
20407 MenhirLib.EngineTypes.semv = ar;
20408 MenhirLib.EngineTypes.startp = _startpos_ar_;
20409 MenhirLib.EngineTypes.endp = _endpos_ar_;
20410 MenhirLib.EngineTypes.next = _menhir_stack;
20411 };
20412 };
20413 };
20414 };
20415 };
20416 } = _menhir_stack in
20417 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
20418 let ispure : 'tv_pure = Obj.magic ispure in
20419 let ar : 'tv_arity = Obj.magic ar in
20420 let _startpos = _startpos_ar_ in
20421 let _endpos = _endpos__6_ in
20422 let _v : 'tv_metadec = let kindfn =
20423
20424 # 353 "parser_cocci_menhir.mly"
20425 ( (fun arity name pure check_meta ->
20426 let len = Ast.AnyLen in
20427 let tok = check_meta(Ast.MetaParamListDecl(arity,name,len)) in
20428 !Data.add_paramlist_meta name len pure; tok) )
20429 # 20430 "parser_cocci_menhir.ml"
20430
20431 in
20432
20433 # 278 "parser_cocci_menhir.mly"
20434 ( P.create_metadec ar ispure kindfn ids )
20435 # 20436 "parser_cocci_menhir.ml"
20436 in
20437 _menhir_env.MenhirLib.EngineTypes.stack <- {
20438 MenhirLib.EngineTypes.state = _menhir_s;
20439 MenhirLib.EngineTypes.semv = Obj.repr _v;
20440 MenhirLib.EngineTypes.startp = _startpos;
20441 MenhirLib.EngineTypes.endp = _endpos;
20442 MenhirLib.EngineTypes.next = _menhir_stack;
20443 });
20444 (fun _menhir_env ->
20445 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20446 let {
20447 MenhirLib.EngineTypes.startp = _startpos__6_;
20448 MenhirLib.EngineTypes.endp = _endpos__6_;
20449 MenhirLib.EngineTypes.next = {
20450 MenhirLib.EngineTypes.semv = ids;
20451 MenhirLib.EngineTypes.startp = _startpos_ids_;
20452 MenhirLib.EngineTypes.endp = _endpos_ids_;
20453 MenhirLib.EngineTypes.next = {
20454 MenhirLib.EngineTypes.startp = _startpos__4_;
20455 MenhirLib.EngineTypes.endp = _endpos__4_;
20456 MenhirLib.EngineTypes.next = {
20457 MenhirLib.EngineTypes.startp = _startpos__3_;
20458 MenhirLib.EngineTypes.endp = _endpos__3_;
20459 MenhirLib.EngineTypes.next = {
20460 MenhirLib.EngineTypes.semv = ispure;
20461 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20462 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20463 MenhirLib.EngineTypes.next = {
20464 MenhirLib.EngineTypes.state = _menhir_s;
20465 MenhirLib.EngineTypes.semv = ar;
20466 MenhirLib.EngineTypes.startp = _startpos_ar_;
20467 MenhirLib.EngineTypes.endp = _endpos_ar_;
20468 MenhirLib.EngineTypes.next = _menhir_stack;
20469 };
20470 };
20471 };
20472 };
20473 };
20474 } = _menhir_stack in
20475 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
20476 let ispure : 'tv_pure = Obj.magic ispure in
20477 let ar : 'tv_arity = Obj.magic ar in
20478 let _startpos = _startpos_ar_ in
20479 let _endpos = _endpos__6_ in
20480 let _v : 'tv_metadec = let kindfn =
20481
20482 # 358 "parser_cocci_menhir.mly"
20483 ( (fun arity name pure check_meta ->
20484 let len = Ast.AnyLen in
20485 let tok = check_meta(Ast.MetaExpListDecl(arity,name,len)) in
20486 !Data.add_explist_meta name len pure; tok) )
20487 # 20488 "parser_cocci_menhir.ml"
20488
20489 in
20490
20491 # 278 "parser_cocci_menhir.mly"
20492 ( P.create_metadec ar ispure kindfn ids )
20493 # 20494 "parser_cocci_menhir.ml"
20494 in
20495 _menhir_env.MenhirLib.EngineTypes.stack <- {
20496 MenhirLib.EngineTypes.state = _menhir_s;
20497 MenhirLib.EngineTypes.semv = Obj.repr _v;
20498 MenhirLib.EngineTypes.startp = _startpos;
20499 MenhirLib.EngineTypes.endp = _endpos;
20500 MenhirLib.EngineTypes.next = _menhir_stack;
20501 });
20502 (fun _menhir_env ->
20503 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20504 let {
20505 MenhirLib.EngineTypes.startp = _startpos__5_;
20506 MenhirLib.EngineTypes.endp = _endpos__5_;
20507 MenhirLib.EngineTypes.next = {
20508 MenhirLib.EngineTypes.semv = ids;
20509 MenhirLib.EngineTypes.startp = _startpos_ids_;
20510 MenhirLib.EngineTypes.endp = _endpos_ids_;
20511 MenhirLib.EngineTypes.next = {
20512 MenhirLib.EngineTypes.startp = _startpos__3_;
20513 MenhirLib.EngineTypes.endp = _endpos__3_;
20514 MenhirLib.EngineTypes.next = {
20515 MenhirLib.EngineTypes.semv = ispure;
20516 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20517 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20518 MenhirLib.EngineTypes.next = {
20519 MenhirLib.EngineTypes.state = _menhir_s;
20520 MenhirLib.EngineTypes.semv = ar;
20521 MenhirLib.EngineTypes.startp = _startpos_ar_;
20522 MenhirLib.EngineTypes.endp = _endpos_ar_;
20523 MenhirLib.EngineTypes.next = _menhir_stack;
20524 };
20525 };
20526 };
20527 };
20528 } = _menhir_stack in
20529 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
20530 let ispure : 'tv_pure = Obj.magic ispure in
20531 let ar : 'tv_arity = Obj.magic ar in
20532 let _startpos = _startpos_ar_ in
20533 let _endpos = _endpos__5_ in
20534 let _v : 'tv_metadec = let kindfn =
20535
20536 # 363 "parser_cocci_menhir.mly"
20537 ( (fun arity name pure check_meta ->
20538 let tok = check_meta(Ast.MetaTypeDecl(arity,name)) in
20539 !Data.add_type_meta name pure; tok) )
20540 # 20541 "parser_cocci_menhir.ml"
20541
20542 in
20543
20544 # 278 "parser_cocci_menhir.mly"
20545 ( P.create_metadec ar ispure kindfn ids )
20546 # 20547 "parser_cocci_menhir.ml"
20547 in
20548 _menhir_env.MenhirLib.EngineTypes.stack <- {
20549 MenhirLib.EngineTypes.state = _menhir_s;
20550 MenhirLib.EngineTypes.semv = Obj.repr _v;
20551 MenhirLib.EngineTypes.startp = _startpos;
20552 MenhirLib.EngineTypes.endp = _endpos;
20553 MenhirLib.EngineTypes.next = _menhir_stack;
20554 });
20555 (fun _menhir_env ->
20556 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20557 let {
20558 MenhirLib.EngineTypes.startp = _startpos__5_;
20559 MenhirLib.EngineTypes.endp = _endpos__5_;
20560 MenhirLib.EngineTypes.next = {
20561 MenhirLib.EngineTypes.semv = ids;
20562 MenhirLib.EngineTypes.startp = _startpos_ids_;
20563 MenhirLib.EngineTypes.endp = _endpos_ids_;
20564 MenhirLib.EngineTypes.next = {
20565 MenhirLib.EngineTypes.startp = _startpos__3_;
20566 MenhirLib.EngineTypes.endp = _endpos__3_;
20567 MenhirLib.EngineTypes.next = {
20568 MenhirLib.EngineTypes.semv = ispure;
20569 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20570 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20571 MenhirLib.EngineTypes.next = {
20572 MenhirLib.EngineTypes.state = _menhir_s;
20573 MenhirLib.EngineTypes.semv = ar;
20574 MenhirLib.EngineTypes.startp = _startpos_ar_;
20575 MenhirLib.EngineTypes.endp = _endpos_ar_;
20576 MenhirLib.EngineTypes.next = _menhir_stack;
20577 };
20578 };
20579 };
20580 };
20581 } = _menhir_stack in
20582 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
20583 let ispure : 'tv_pure = Obj.magic ispure in
20584 let ar : 'tv_arity = Obj.magic ar in
20585 let _startpos = _startpos_ar_ in
20586 let _endpos = _endpos__5_ in
20587 let _v : 'tv_metadec = let kindfn =
20588
20589 # 367 "parser_cocci_menhir.mly"
20590 ( (fun arity name pure check_meta ->
20591 let tok = check_meta(Ast.MetaInitDecl(arity,name)) in
20592 !Data.add_init_meta name pure; tok) )
20593 # 20594 "parser_cocci_menhir.ml"
20594
20595 in
20596
20597 # 278 "parser_cocci_menhir.mly"
20598 ( P.create_metadec ar ispure kindfn ids )
20599 # 20600 "parser_cocci_menhir.ml"
20600 in
20601 _menhir_env.MenhirLib.EngineTypes.stack <- {
20602 MenhirLib.EngineTypes.state = _menhir_s;
20603 MenhirLib.EngineTypes.semv = Obj.repr _v;
20604 MenhirLib.EngineTypes.startp = _startpos;
20605 MenhirLib.EngineTypes.endp = _endpos;
20606 MenhirLib.EngineTypes.next = _menhir_stack;
20607 });
20608 (fun _menhir_env ->
20609 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20610 let {
20611 MenhirLib.EngineTypes.startp = _startpos__5_;
20612 MenhirLib.EngineTypes.endp = _endpos__5_;
20613 MenhirLib.EngineTypes.next = {
20614 MenhirLib.EngineTypes.semv = ids;
20615 MenhirLib.EngineTypes.startp = _startpos_ids_;
20616 MenhirLib.EngineTypes.endp = _endpos_ids_;
20617 MenhirLib.EngineTypes.next = {
20618 MenhirLib.EngineTypes.startp = _startpos__3_;
20619 MenhirLib.EngineTypes.endp = _endpos__3_;
20620 MenhirLib.EngineTypes.next = {
20621 MenhirLib.EngineTypes.semv = ispure;
20622 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20623 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20624 MenhirLib.EngineTypes.next = {
20625 MenhirLib.EngineTypes.state = _menhir_s;
20626 MenhirLib.EngineTypes.semv = ar;
20627 MenhirLib.EngineTypes.startp = _startpos_ar_;
20628 MenhirLib.EngineTypes.endp = _endpos_ar_;
20629 MenhirLib.EngineTypes.next = _menhir_stack;
20630 };
20631 };
20632 };
20633 };
20634 } = _menhir_stack in
20635 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
20636 let ispure : 'tv_pure = Obj.magic ispure in
20637 let ar : 'tv_arity = Obj.magic ar in
20638 let _startpos = _startpos_ar_ in
20639 let _endpos = _endpos__5_ in
20640 let _v : 'tv_metadec = let kindfn =
20641
20642 # 371 "parser_cocci_menhir.mly"
20643 ( (fun arity name pure check_meta ->
20644 let tok = check_meta(Ast.MetaStmDecl(arity,name)) in
20645 !Data.add_stm_meta name pure; tok) )
20646 # 20647 "parser_cocci_menhir.ml"
20647
20648 in
20649
20650 # 278 "parser_cocci_menhir.mly"
20651 ( P.create_metadec ar ispure kindfn ids )
20652 # 20653 "parser_cocci_menhir.ml"
20653 in
20654 _menhir_env.MenhirLib.EngineTypes.stack <- {
20655 MenhirLib.EngineTypes.state = _menhir_s;
20656 MenhirLib.EngineTypes.semv = Obj.repr _v;
20657 MenhirLib.EngineTypes.startp = _startpos;
20658 MenhirLib.EngineTypes.endp = _endpos;
20659 MenhirLib.EngineTypes.next = _menhir_stack;
20660 });
20661 (fun _menhir_env ->
20662 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20663 let {
20664 MenhirLib.EngineTypes.startp = _startpos__5_;
20665 MenhirLib.EngineTypes.endp = _endpos__5_;
20666 MenhirLib.EngineTypes.next = {
20667 MenhirLib.EngineTypes.semv = ids;
20668 MenhirLib.EngineTypes.startp = _startpos_ids_;
20669 MenhirLib.EngineTypes.endp = _endpos_ids_;
20670 MenhirLib.EngineTypes.next = {
20671 MenhirLib.EngineTypes.startp = _startpos__3_;
20672 MenhirLib.EngineTypes.endp = _endpos__3_;
20673 MenhirLib.EngineTypes.next = {
20674 MenhirLib.EngineTypes.semv = ispure;
20675 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20676 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20677 MenhirLib.EngineTypes.next = {
20678 MenhirLib.EngineTypes.state = _menhir_s;
20679 MenhirLib.EngineTypes.semv = ar;
20680 MenhirLib.EngineTypes.startp = _startpos_ar_;
20681 MenhirLib.EngineTypes.endp = _endpos_ar_;
20682 MenhirLib.EngineTypes.next = _menhir_stack;
20683 };
20684 };
20685 };
20686 };
20687 } = _menhir_stack in
20688 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
20689 let ispure : 'tv_pure = Obj.magic ispure in
20690 let ar : 'tv_arity = Obj.magic ar in
20691 let _startpos = _startpos_ar_ in
20692 let _endpos = _endpos__5_ in
20693 let _v : 'tv_metadec = let kindfn =
20694
20695 # 375 "parser_cocci_menhir.mly"
20696 ( (fun arity name pure check_meta ->
20697 let tok = check_meta(Ast.MetaDeclDecl(arity,name)) in
20698 !Data.add_decl_meta name pure; tok) )
20699 # 20700 "parser_cocci_menhir.ml"
20700
20701 in
20702
20703 # 278 "parser_cocci_menhir.mly"
20704 ( P.create_metadec ar ispure kindfn ids )
20705 # 20706 "parser_cocci_menhir.ml"
20706 in
20707 _menhir_env.MenhirLib.EngineTypes.stack <- {
20708 MenhirLib.EngineTypes.state = _menhir_s;
20709 MenhirLib.EngineTypes.semv = Obj.repr _v;
20710 MenhirLib.EngineTypes.startp = _startpos;
20711 MenhirLib.EngineTypes.endp = _endpos;
20712 MenhirLib.EngineTypes.next = _menhir_stack;
20713 });
20714 (fun _menhir_env ->
20715 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20716 let {
20717 MenhirLib.EngineTypes.startp = _startpos__5_;
20718 MenhirLib.EngineTypes.endp = _endpos__5_;
20719 MenhirLib.EngineTypes.next = {
20720 MenhirLib.EngineTypes.semv = ids;
20721 MenhirLib.EngineTypes.startp = _startpos_ids_;
20722 MenhirLib.EngineTypes.endp = _endpos_ids_;
20723 MenhirLib.EngineTypes.next = {
20724 MenhirLib.EngineTypes.startp = _startpos__3_;
20725 MenhirLib.EngineTypes.endp = _endpos__3_;
20726 MenhirLib.EngineTypes.next = {
20727 MenhirLib.EngineTypes.semv = ispure;
20728 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20729 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20730 MenhirLib.EngineTypes.next = {
20731 MenhirLib.EngineTypes.state = _menhir_s;
20732 MenhirLib.EngineTypes.semv = ar;
20733 MenhirLib.EngineTypes.startp = _startpos_ar_;
20734 MenhirLib.EngineTypes.endp = _endpos_ar_;
20735 MenhirLib.EngineTypes.next = _menhir_stack;
20736 };
20737 };
20738 };
20739 };
20740 } = _menhir_stack in
20741 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
20742 let ispure : 'tv_pure = Obj.magic ispure in
20743 let ar : 'tv_arity = Obj.magic ar in
20744 let _startpos = _startpos_ar_ in
20745 let _endpos = _endpos__5_ in
20746 let _v : 'tv_metadec = let kindfn =
20747
20748 # 379 "parser_cocci_menhir.mly"
20749 ( (fun arity name pure check_meta ->
20750 let tok = check_meta(Ast.MetaFieldDecl(arity,name)) in
20751 !Data.add_field_meta name pure; tok) )
20752 # 20753 "parser_cocci_menhir.ml"
20753
20754 in
20755
20756 # 278 "parser_cocci_menhir.mly"
20757 ( P.create_metadec ar ispure kindfn ids )
20758 # 20759 "parser_cocci_menhir.ml"
20759 in
20760 _menhir_env.MenhirLib.EngineTypes.stack <- {
20761 MenhirLib.EngineTypes.state = _menhir_s;
20762 MenhirLib.EngineTypes.semv = Obj.repr _v;
20763 MenhirLib.EngineTypes.startp = _startpos;
20764 MenhirLib.EngineTypes.endp = _endpos;
20765 MenhirLib.EngineTypes.next = _menhir_stack;
20766 });
20767 (fun _menhir_env ->
20768 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20769 let {
20770 MenhirLib.EngineTypes.startp = _startpos__6_;
20771 MenhirLib.EngineTypes.endp = _endpos__6_;
20772 MenhirLib.EngineTypes.next = {
20773 MenhirLib.EngineTypes.semv = ids;
20774 MenhirLib.EngineTypes.startp = _startpos_ids_;
20775 MenhirLib.EngineTypes.endp = _endpos_ids_;
20776 MenhirLib.EngineTypes.next = {
20777 MenhirLib.EngineTypes.startp = _startpos__4_;
20778 MenhirLib.EngineTypes.endp = _endpos__4_;
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_ = Obj.magic ids in
20799 let ispure : 'tv_pure = Obj.magic ispure in
20800 let ar : 'tv_arity = Obj.magic ar in
20801 let _startpos = _startpos_ar_ in
20802 let _endpos = _endpos__6_ in
20803 let _v : 'tv_metadec = let kindfn =
20804
20805 # 383 "parser_cocci_menhir.mly"
20806 ( (fun arity name pure check_meta ->
20807 let tok = check_meta(Ast.MetaStmListDecl(arity,name)) in
20808 !Data.add_stmlist_meta name pure; tok) )
20809 # 20810 "parser_cocci_menhir.ml"
20810
20811 in
20812
20813 # 278 "parser_cocci_menhir.mly"
20814 ( P.create_metadec ar ispure kindfn ids )
20815 # 20816 "parser_cocci_menhir.ml"
20816 in
20817 _menhir_env.MenhirLib.EngineTypes.stack <- {
20818 MenhirLib.EngineTypes.state = _menhir_s;
20819 MenhirLib.EngineTypes.semv = Obj.repr _v;
20820 MenhirLib.EngineTypes.startp = _startpos;
20821 MenhirLib.EngineTypes.endp = _endpos;
20822 MenhirLib.EngineTypes.next = _menhir_stack;
20823 });
20824 (fun _menhir_env ->
20825 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20826 let {
20827 MenhirLib.EngineTypes.startp = _startpos__5_;
20828 MenhirLib.EngineTypes.endp = _endpos__5_;
20829 MenhirLib.EngineTypes.next = {
20830 MenhirLib.EngineTypes.semv = ids;
20831 MenhirLib.EngineTypes.startp = _startpos_ids_;
20832 MenhirLib.EngineTypes.endp = _endpos_ids_;
20833 MenhirLib.EngineTypes.next = {
20834 MenhirLib.EngineTypes.startp = _startpos__3_;
20835 MenhirLib.EngineTypes.endp = _endpos__3_;
20836 MenhirLib.EngineTypes.next = {
20837 MenhirLib.EngineTypes.semv = ispure;
20838 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20839 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20840 MenhirLib.EngineTypes.next = {
20841 MenhirLib.EngineTypes.state = _menhir_s;
20842 MenhirLib.EngineTypes.semv = ar;
20843 MenhirLib.EngineTypes.startp = _startpos_ar_;
20844 MenhirLib.EngineTypes.endp = _endpos_ar_;
20845 MenhirLib.EngineTypes.next = _menhir_stack;
20846 };
20847 };
20848 };
20849 };
20850 } = _menhir_stack in
20851 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
20852 let ispure : 'tv_pure = Obj.magic ispure in
20853 let ar : 'tv_arity = Obj.magic ar in
20854 let _startpos = _startpos_ar_ in
20855 let _endpos = _endpos__5_ in
20856 let _v : 'tv_metadec = let kindfn =
20857
20858 # 387 "parser_cocci_menhir.mly"
20859 ( (fun arity (_,name) pure check_meta ->
20860 if arity = Ast.NONE && pure = Ast0.Impure
20861 then (!Data.add_type_name name; [])
20862 else raise (Semantic_cocci.Semantic "bad typedef")) )
20863 # 20864 "parser_cocci_menhir.ml"
20864
20865 in
20866
20867 # 278 "parser_cocci_menhir.mly"
20868 ( P.create_metadec ar ispure kindfn ids )
20869 # 20870 "parser_cocci_menhir.ml"
20870 in
20871 _menhir_env.MenhirLib.EngineTypes.stack <- {
20872 MenhirLib.EngineTypes.state = _menhir_s;
20873 MenhirLib.EngineTypes.semv = Obj.repr _v;
20874 MenhirLib.EngineTypes.startp = _startpos;
20875 MenhirLib.EngineTypes.endp = _endpos;
20876 MenhirLib.EngineTypes.next = _menhir_stack;
20877 });
20878 (fun _menhir_env ->
20879 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20880 let {
20881 MenhirLib.EngineTypes.startp = _startpos__6_;
20882 MenhirLib.EngineTypes.endp = _endpos__6_;
20883 MenhirLib.EngineTypes.next = {
20884 MenhirLib.EngineTypes.semv = ids;
20885 MenhirLib.EngineTypes.startp = _startpos_ids_;
20886 MenhirLib.EngineTypes.endp = _endpos_ids_;
20887 MenhirLib.EngineTypes.next = {
20888 MenhirLib.EngineTypes.startp = _startpos__4_;
20889 MenhirLib.EngineTypes.endp = _endpos__4_;
20890 MenhirLib.EngineTypes.next = {
20891 MenhirLib.EngineTypes.startp = _startpos__3_;
20892 MenhirLib.EngineTypes.endp = _endpos__3_;
20893 MenhirLib.EngineTypes.next = {
20894 MenhirLib.EngineTypes.semv = ispure;
20895 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20896 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20897 MenhirLib.EngineTypes.next = {
20898 MenhirLib.EngineTypes.state = _menhir_s;
20899 MenhirLib.EngineTypes.semv = ar;
20900 MenhirLib.EngineTypes.startp = _startpos_ar_;
20901 MenhirLib.EngineTypes.endp = _endpos_ar_;
20902 MenhirLib.EngineTypes.next = _menhir_stack;
20903 };
20904 };
20905 };
20906 };
20907 };
20908 } = _menhir_stack in
20909 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
20910 let ispure : 'tv_pure = Obj.magic ispure in
20911 let ar : 'tv_arity = Obj.magic ar in
20912 let _startpos = _startpos_ar_ in
20913 let _endpos = _endpos__6_ in
20914 let _v : 'tv_metadec = let kindfn =
20915
20916 # 392 "parser_cocci_menhir.mly"
20917 ( (fun arity (_,name) pure check_meta ->
20918 if arity = Ast.NONE && pure = Ast0.Impure
20919 then (!Data.add_declarer_name name; [])
20920 else raise (Semantic_cocci.Semantic "bad declarer")) )
20921 # 20922 "parser_cocci_menhir.ml"
20922
20923 in
20924
20925 # 278 "parser_cocci_menhir.mly"
20926 ( P.create_metadec ar ispure kindfn ids )
20927 # 20928 "parser_cocci_menhir.ml"
20928 in
20929 _menhir_env.MenhirLib.EngineTypes.stack <- {
20930 MenhirLib.EngineTypes.state = _menhir_s;
20931 MenhirLib.EngineTypes.semv = Obj.repr _v;
20932 MenhirLib.EngineTypes.startp = _startpos;
20933 MenhirLib.EngineTypes.endp = _endpos;
20934 MenhirLib.EngineTypes.next = _menhir_stack;
20935 });
20936 (fun _menhir_env ->
20937 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20938 let {
20939 MenhirLib.EngineTypes.startp = _startpos__6_;
20940 MenhirLib.EngineTypes.endp = _endpos__6_;
20941 MenhirLib.EngineTypes.next = {
20942 MenhirLib.EngineTypes.semv = ids;
20943 MenhirLib.EngineTypes.startp = _startpos_ids_;
20944 MenhirLib.EngineTypes.endp = _endpos_ids_;
20945 MenhirLib.EngineTypes.next = {
20946 MenhirLib.EngineTypes.startp = _startpos__4_;
20947 MenhirLib.EngineTypes.endp = _endpos__4_;
20948 MenhirLib.EngineTypes.next = {
20949 MenhirLib.EngineTypes.startp = _startpos__3_;
20950 MenhirLib.EngineTypes.endp = _endpos__3_;
20951 MenhirLib.EngineTypes.next = {
20952 MenhirLib.EngineTypes.semv = ispure;
20953 MenhirLib.EngineTypes.startp = _startpos_ispure_;
20954 MenhirLib.EngineTypes.endp = _endpos_ispure_;
20955 MenhirLib.EngineTypes.next = {
20956 MenhirLib.EngineTypes.state = _menhir_s;
20957 MenhirLib.EngineTypes.semv = ar;
20958 MenhirLib.EngineTypes.startp = _startpos_ar_;
20959 MenhirLib.EngineTypes.endp = _endpos_ar_;
20960 MenhirLib.EngineTypes.next = _menhir_stack;
20961 };
20962 };
20963 };
20964 };
20965 };
20966 } = _menhir_stack in
20967 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
20968 let ispure : 'tv_pure = Obj.magic ispure in
20969 let ar : 'tv_arity = Obj.magic ar in
20970 let _startpos = _startpos_ar_ in
20971 let _endpos = _endpos__6_ in
20972 let _v : 'tv_metadec = let kindfn =
20973
20974 # 397 "parser_cocci_menhir.mly"
20975 ( (fun arity (_,name) pure check_meta ->
20976 if arity = Ast.NONE && pure = Ast0.Impure
20977 then (!Data.add_iterator_name name; [])
20978 else raise (Semantic_cocci.Semantic "bad iterator")) )
20979 # 20980 "parser_cocci_menhir.ml"
20980
20981 in
20982
20983 # 278 "parser_cocci_menhir.mly"
20984 ( P.create_metadec ar ispure kindfn ids )
20985 # 20986 "parser_cocci_menhir.ml"
20986 in
20987 _menhir_env.MenhirLib.EngineTypes.stack <- {
20988 MenhirLib.EngineTypes.state = _menhir_s;
20989 MenhirLib.EngineTypes.semv = Obj.repr _v;
20990 MenhirLib.EngineTypes.startp = _startpos;
20991 MenhirLib.EngineTypes.endp = _endpos;
20992 MenhirLib.EngineTypes.next = _menhir_stack;
20993 });
20994 (fun _menhir_env ->
20995 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
20996 let {
20997 MenhirLib.EngineTypes.startp = _startpos__4_;
20998 MenhirLib.EngineTypes.endp = _endpos__4_;
20999 MenhirLib.EngineTypes.next = {
21000 MenhirLib.EngineTypes.semv = ids;
21001 MenhirLib.EngineTypes.startp = _startpos_ids_;
21002 MenhirLib.EngineTypes.endp = _endpos_ids_;
21003 MenhirLib.EngineTypes.next = {
21004 MenhirLib.EngineTypes.startp = _startpos__2_;
21005 MenhirLib.EngineTypes.endp = _endpos__2_;
21006 MenhirLib.EngineTypes.next = {
21007 MenhirLib.EngineTypes.state = _menhir_s;
21008 MenhirLib.EngineTypes.startp = _startpos__1_;
21009 MenhirLib.EngineTypes.endp = _endpos__1_;
21010 MenhirLib.EngineTypes.next = _menhir_stack;
21011 };
21012 };
21013 };
21014 } = _menhir_stack in
21015 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = Obj.magic ids in
21016 let _startpos = _startpos__1_ in
21017 let _endpos = _endpos__4_ in
21018 let _v : 'tv_metadec = let kindfn =
21019
21020 # 342 "parser_cocci_menhir.mly"
21021 ( (fun name check_meta seed ->
21022 let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in
21023 !Data.add_fresh_id_meta name; tok) )
21024 # 21025 "parser_cocci_menhir.ml"
21025
21026 in
21027
21028 # 281 "parser_cocci_menhir.mly"
21029 ( P.create_fresh_metadec kindfn ids )
21030 # 21031 "parser_cocci_menhir.ml"
21031 in
21032 _menhir_env.MenhirLib.EngineTypes.stack <- {
21033 MenhirLib.EngineTypes.state = _menhir_s;
21034 MenhirLib.EngineTypes.semv = Obj.repr _v;
21035 MenhirLib.EngineTypes.startp = _startpos;
21036 MenhirLib.EngineTypes.endp = _endpos;
21037 MenhirLib.EngineTypes.next = _menhir_stack;
21038 });
21039 (fun _menhir_env ->
21040 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21041 let {
21042 MenhirLib.EngineTypes.startp = _startpos__5_;
21043 MenhirLib.EngineTypes.endp = _endpos__5_;
21044 MenhirLib.EngineTypes.next = {
21045 MenhirLib.EngineTypes.semv = ids;
21046 MenhirLib.EngineTypes.startp = _startpos_ids_;
21047 MenhirLib.EngineTypes.endp = _endpos_ids_;
21048 MenhirLib.EngineTypes.next = {
21049 MenhirLib.EngineTypes.startp = _startpos__3_;
21050 MenhirLib.EngineTypes.endp = _endpos__3_;
21051 MenhirLib.EngineTypes.next = {
21052 MenhirLib.EngineTypes.semv = ispure;
21053 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21054 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21055 MenhirLib.EngineTypes.next = {
21056 MenhirLib.EngineTypes.state = _menhir_s;
21057 MenhirLib.EngineTypes.semv = ar;
21058 MenhirLib.EngineTypes.startp = _startpos_ar_;
21059 MenhirLib.EngineTypes.endp = _endpos_ar_;
21060 MenhirLib.EngineTypes.next = _menhir_stack;
21061 };
21062 };
21063 };
21064 };
21065 } = _menhir_stack in
21066 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic ids in
21067 let ispure : 'tv_pure = Obj.magic ispure in
21068 let ar : 'tv_arity = Obj.magic ar in
21069 let _startpos = _startpos_ar_ in
21070 let _endpos = _endpos__5_ in
21071 let _v : 'tv_metadec = let kindfn =
21072
21073 # 404 "parser_cocci_menhir.mly"
21074 (
21075 let idfn arity name pure check_meta constraints =
21076 let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
21077 !Data.add_id_meta name constraints pure; tok in
21078 let virtfn arity name pure check_meta virtual_env =
21079 try
21080 let vl = List.assoc name virtual_env in
21081 !Data.add_virt_id_meta_found name vl; []
21082 with Not_found ->
21083 Iteration.parsed_virtual_identifiers :=
21084 Common.union_set [name]
21085 !Iteration.parsed_virtual_identifiers;
21086 let name = ("virtual",name) in
21087 let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
21088 !Data.add_virt_id_meta_not_found name pure; tok in
21089 (idfn,virtfn) )
21090 # 21091 "parser_cocci_menhir.ml"
21091
21092 in
21093
21094 # 287 "parser_cocci_menhir.mly"
21095 ( let (normal,virt) = Common.partition_either (fun x -> x) ids in
21096 let (idfn,virtfn) = kindfn in
21097 function cr ->
21098 (P.create_metadec_with_constraints ar ispure idfn normal cr) @
21099 (P.create_metadec_virt ar ispure virtfn virt cr) )
21100 # 21101 "parser_cocci_menhir.ml"
21101 in
21102 _menhir_env.MenhirLib.EngineTypes.stack <- {
21103 MenhirLib.EngineTypes.state = _menhir_s;
21104 MenhirLib.EngineTypes.semv = Obj.repr _v;
21105 MenhirLib.EngineTypes.startp = _startpos;
21106 MenhirLib.EngineTypes.endp = _endpos;
21107 MenhirLib.EngineTypes.next = _menhir_stack;
21108 });
21109 (fun _menhir_env ->
21110 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21111 let {
21112 MenhirLib.EngineTypes.startp = _startpos__5_;
21113 MenhirLib.EngineTypes.endp = _endpos__5_;
21114 MenhirLib.EngineTypes.next = {
21115 MenhirLib.EngineTypes.semv = ids;
21116 MenhirLib.EngineTypes.startp = _startpos_ids_;
21117 MenhirLib.EngineTypes.endp = _endpos_ids_;
21118 MenhirLib.EngineTypes.next = {
21119 MenhirLib.EngineTypes.startp = _startpos__3_;
21120 MenhirLib.EngineTypes.endp = _endpos__3_;
21121 MenhirLib.EngineTypes.next = {
21122 MenhirLib.EngineTypes.semv = ispure;
21123 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21124 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21125 MenhirLib.EngineTypes.next = {
21126 MenhirLib.EngineTypes.state = _menhir_s;
21127 MenhirLib.EngineTypes.semv = ar;
21128 MenhirLib.EngineTypes.startp = _startpos_ar_;
21129 MenhirLib.EngineTypes.endp = _endpos_ar_;
21130 MenhirLib.EngineTypes.next = _menhir_stack;
21131 };
21132 };
21133 };
21134 };
21135 } = _menhir_stack in
21136 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
21137 let ispure : 'tv_pure = Obj.magic ispure in
21138 let ar : 'tv_arity = Obj.magic ar in
21139 let _startpos = _startpos_ar_ in
21140 let _endpos = _endpos__5_ in
21141 let _v : 'tv_metadec = let kindfn =
21142
21143 # 423 "parser_cocci_menhir.mly"
21144 ( (fun arity name pure check_meta constraints ->
21145 let tok = check_meta(Ast.MetaFuncDecl(arity,name)) in
21146 !Data.add_func_meta name constraints pure; tok) )
21147 # 21148 "parser_cocci_menhir.ml"
21148
21149 in
21150
21151 # 296 "parser_cocci_menhir.mly"
21152 ( P.create_metadec_with_constraints ar ispure kindfn ids )
21153 # 21154 "parser_cocci_menhir.ml"
21154 in
21155 _menhir_env.MenhirLib.EngineTypes.stack <- {
21156 MenhirLib.EngineTypes.state = _menhir_s;
21157 MenhirLib.EngineTypes.semv = Obj.repr _v;
21158 MenhirLib.EngineTypes.startp = _startpos;
21159 MenhirLib.EngineTypes.endp = _endpos;
21160 MenhirLib.EngineTypes.next = _menhir_stack;
21161 });
21162 (fun _menhir_env ->
21163 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21164 let {
21165 MenhirLib.EngineTypes.startp = _startpos__6_;
21166 MenhirLib.EngineTypes.endp = _endpos__6_;
21167 MenhirLib.EngineTypes.next = {
21168 MenhirLib.EngineTypes.semv = ids;
21169 MenhirLib.EngineTypes.startp = _startpos_ids_;
21170 MenhirLib.EngineTypes.endp = _endpos_ids_;
21171 MenhirLib.EngineTypes.next = {
21172 MenhirLib.EngineTypes.startp = _startpos__4_;
21173 MenhirLib.EngineTypes.endp = _endpos__4_;
21174 MenhirLib.EngineTypes.next = {
21175 MenhirLib.EngineTypes.startp = _startpos__3_;
21176 MenhirLib.EngineTypes.endp = _endpos__3_;
21177 MenhirLib.EngineTypes.next = {
21178 MenhirLib.EngineTypes.semv = ispure;
21179 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21180 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21181 MenhirLib.EngineTypes.next = {
21182 MenhirLib.EngineTypes.state = _menhir_s;
21183 MenhirLib.EngineTypes.semv = ar;
21184 MenhirLib.EngineTypes.startp = _startpos_ar_;
21185 MenhirLib.EngineTypes.endp = _endpos_ar_;
21186 MenhirLib.EngineTypes.next = _menhir_stack;
21187 };
21188 };
21189 };
21190 };
21191 };
21192 } = _menhir_stack in
21193 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
21194 let ispure : 'tv_pure = Obj.magic ispure in
21195 let ar : 'tv_arity = Obj.magic ar in
21196 let _startpos = _startpos_ar_ in
21197 let _endpos = _endpos__6_ in
21198 let _v : 'tv_metadec = let kindfn =
21199
21200 # 427 "parser_cocci_menhir.mly"
21201 ( (fun arity name pure check_meta constraints ->
21202 let tok = check_meta(Ast.MetaLocalFuncDecl(arity,name)) in
21203 !Data.add_local_func_meta name constraints pure;
21204 tok) )
21205 # 21206 "parser_cocci_menhir.ml"
21206
21207 in
21208
21209 # 296 "parser_cocci_menhir.mly"
21210 ( P.create_metadec_with_constraints ar ispure kindfn ids )
21211 # 21212 "parser_cocci_menhir.ml"
21212 in
21213 _menhir_env.MenhirLib.EngineTypes.stack <- {
21214 MenhirLib.EngineTypes.state = _menhir_s;
21215 MenhirLib.EngineTypes.semv = Obj.repr _v;
21216 MenhirLib.EngineTypes.startp = _startpos;
21217 MenhirLib.EngineTypes.endp = _endpos;
21218 MenhirLib.EngineTypes.next = _menhir_stack;
21219 });
21220 (fun _menhir_env ->
21221 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21222 let {
21223 MenhirLib.EngineTypes.startp = _startpos__5_;
21224 MenhirLib.EngineTypes.endp = _endpos__5_;
21225 MenhirLib.EngineTypes.next = {
21226 MenhirLib.EngineTypes.semv = ids;
21227 MenhirLib.EngineTypes.startp = _startpos_ids_;
21228 MenhirLib.EngineTypes.endp = _endpos_ids_;
21229 MenhirLib.EngineTypes.next = {
21230 MenhirLib.EngineTypes.startp = _startpos__3_;
21231 MenhirLib.EngineTypes.endp = _endpos__3_;
21232 MenhirLib.EngineTypes.next = {
21233 MenhirLib.EngineTypes.semv = ispure;
21234 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21235 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21236 MenhirLib.EngineTypes.next = {
21237 MenhirLib.EngineTypes.state = _menhir_s;
21238 MenhirLib.EngineTypes.semv = ar;
21239 MenhirLib.EngineTypes.startp = _startpos_ar_;
21240 MenhirLib.EngineTypes.endp = _endpos_ar_;
21241 MenhirLib.EngineTypes.next = _menhir_stack;
21242 };
21243 };
21244 };
21245 };
21246 } = _menhir_stack in
21247 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
21248 let ispure : 'tv_pure = Obj.magic ispure in
21249 let ar : 'tv_arity = Obj.magic ar in
21250 let _startpos = _startpos_ar_ in
21251 let _endpos = _endpos__5_ in
21252 let _v : 'tv_metadec = let kindfn =
21253
21254 # 432 "parser_cocci_menhir.mly"
21255 ( (fun arity name pure check_meta constraints ->
21256 let tok = check_meta(Ast.MetaDeclarerDecl(arity,name)) in
21257 !Data.add_declarer_meta name constraints pure; tok) )
21258 # 21259 "parser_cocci_menhir.ml"
21259
21260 in
21261
21262 # 296 "parser_cocci_menhir.mly"
21263 ( P.create_metadec_with_constraints ar ispure kindfn ids )
21264 # 21265 "parser_cocci_menhir.ml"
21265 in
21266 _menhir_env.MenhirLib.EngineTypes.stack <- {
21267 MenhirLib.EngineTypes.state = _menhir_s;
21268 MenhirLib.EngineTypes.semv = Obj.repr _v;
21269 MenhirLib.EngineTypes.startp = _startpos;
21270 MenhirLib.EngineTypes.endp = _endpos;
21271 MenhirLib.EngineTypes.next = _menhir_stack;
21272 });
21273 (fun _menhir_env ->
21274 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21275 let {
21276 MenhirLib.EngineTypes.startp = _startpos__5_;
21277 MenhirLib.EngineTypes.endp = _endpos__5_;
21278 MenhirLib.EngineTypes.next = {
21279 MenhirLib.EngineTypes.semv = ids;
21280 MenhirLib.EngineTypes.startp = _startpos_ids_;
21281 MenhirLib.EngineTypes.endp = _endpos_ids_;
21282 MenhirLib.EngineTypes.next = {
21283 MenhirLib.EngineTypes.startp = _startpos__3_;
21284 MenhirLib.EngineTypes.endp = _endpos__3_;
21285 MenhirLib.EngineTypes.next = {
21286 MenhirLib.EngineTypes.semv = ispure;
21287 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21288 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21289 MenhirLib.EngineTypes.next = {
21290 MenhirLib.EngineTypes.state = _menhir_s;
21291 MenhirLib.EngineTypes.semv = ar;
21292 MenhirLib.EngineTypes.startp = _startpos_ar_;
21293 MenhirLib.EngineTypes.endp = _endpos_ar_;
21294 MenhirLib.EngineTypes.next = _menhir_stack;
21295 };
21296 };
21297 };
21298 };
21299 } = _menhir_stack in
21300 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
21301 let ispure : 'tv_pure = Obj.magic ispure in
21302 let ar : 'tv_arity = Obj.magic ar in
21303 let _startpos = _startpos_ar_ in
21304 let _endpos = _endpos__5_ in
21305 let _v : 'tv_metadec = let kindfn =
21306
21307 # 436 "parser_cocci_menhir.mly"
21308 ( (fun arity name pure check_meta constraints ->
21309 let tok = check_meta(Ast.MetaIteratorDecl(arity,name)) in
21310 !Data.add_iterator_meta name constraints pure; tok) )
21311 # 21312 "parser_cocci_menhir.ml"
21312
21313 in
21314
21315 # 296 "parser_cocci_menhir.mly"
21316 ( P.create_metadec_with_constraints ar ispure kindfn ids )
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.startp = _startpos__5_;
21330 MenhirLib.EngineTypes.endp = _endpos__5_;
21331 MenhirLib.EngineTypes.next = {
21332 MenhirLib.EngineTypes.semv = ids;
21333 MenhirLib.EngineTypes.startp = _startpos_ids_;
21334 MenhirLib.EngineTypes.endp = _endpos_ids_;
21335 MenhirLib.EngineTypes.next = {
21336 MenhirLib.EngineTypes.startp = _startpos__3_;
21337 MenhirLib.EngineTypes.endp = _endpos__3_;
21338 MenhirLib.EngineTypes.next = {
21339 MenhirLib.EngineTypes.semv = ispure;
21340 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21341 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21342 MenhirLib.EngineTypes.next = {
21343 MenhirLib.EngineTypes.state = _menhir_s;
21344 MenhirLib.EngineTypes.semv = ar;
21345 MenhirLib.EngineTypes.startp = _startpos_ar_;
21346 MenhirLib.EngineTypes.endp = _endpos_ar_;
21347 MenhirLib.EngineTypes.next = _menhir_stack;
21348 };
21349 };
21350 };
21351 };
21352 } = _menhir_stack in
21353 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
21354 let ispure : 'tv_pure = Obj.magic ispure in
21355 let ar : 'tv_arity = Obj.magic ar in
21356 let _startpos = _startpos_ar_ in
21357 let _endpos = _endpos__5_ in
21358 let _v : 'tv_metadec = let kindfn =
21359
21360 # 442 "parser_cocci_menhir.mly"
21361 ( (fun arity name pure check_meta constraints ->
21362 let tok = check_meta(Ast.MetaErrDecl(arity,name)) in
21363 !Data.add_err_meta name constraints pure; tok) )
21364 # 21365 "parser_cocci_menhir.ml"
21365
21366 in
21367
21368 # 301 "parser_cocci_menhir.mly"
21369 ( P.create_metadec_with_constraints ar ispure kindfn ids )
21370 # 21371 "parser_cocci_menhir.ml"
21371 in
21372 _menhir_env.MenhirLib.EngineTypes.stack <- {
21373 MenhirLib.EngineTypes.state = _menhir_s;
21374 MenhirLib.EngineTypes.semv = Obj.repr _v;
21375 MenhirLib.EngineTypes.startp = _startpos;
21376 MenhirLib.EngineTypes.endp = _endpos;
21377 MenhirLib.EngineTypes.next = _menhir_stack;
21378 });
21379 (fun _menhir_env ->
21380 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21381 let {
21382 MenhirLib.EngineTypes.startp = _startpos__6_;
21383 MenhirLib.EngineTypes.endp = _endpos__6_;
21384 MenhirLib.EngineTypes.next = {
21385 MenhirLib.EngineTypes.semv = ids;
21386 MenhirLib.EngineTypes.startp = _startpos_ids_;
21387 MenhirLib.EngineTypes.endp = _endpos_ids_;
21388 MenhirLib.EngineTypes.next = {
21389 MenhirLib.EngineTypes.startp = _startpos__4_;
21390 MenhirLib.EngineTypes.endp = _endpos__4_;
21391 MenhirLib.EngineTypes.next = {
21392 MenhirLib.EngineTypes.semv = l0;
21393 MenhirLib.EngineTypes.startp = _startpos_l0_;
21394 MenhirLib.EngineTypes.endp = _endpos_l0_;
21395 MenhirLib.EngineTypes.next = {
21396 MenhirLib.EngineTypes.semv = ispure;
21397 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21398 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21399 MenhirLib.EngineTypes.next = {
21400 MenhirLib.EngineTypes.state = _menhir_s;
21401 MenhirLib.EngineTypes.semv = ar;
21402 MenhirLib.EngineTypes.startp = _startpos_ar_;
21403 MenhirLib.EngineTypes.endp = _endpos_ar_;
21404 MenhirLib.EngineTypes.next = _menhir_stack;
21405 };
21406 };
21407 };
21408 };
21409 };
21410 } = _menhir_stack in
21411 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
21412 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
21413 let ispure : 'tv_pure = Obj.magic ispure in
21414 let ar : 'tv_arity = Obj.magic ar in
21415 let _startpos = _startpos_ar_ in
21416 let _endpos = _endpos__6_ in
21417 let _v : 'tv_metadec = let kindfn =
21418 let l = l0 in
21419 let ty =
21420
21421 # 39 "standard.mly"
21422 ( None )
21423 # 21424 "parser_cocci_menhir.ml"
21424
21425 in
21426
21427 # 446 "parser_cocci_menhir.mly"
21428 ( (fun arity name pure check_meta constraints ->
21429 match l with
21430 None ->
21431 !Data.add_idexp_meta ty name constraints pure;
21432 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
21433 | Some _ ->
21434 !Data.add_local_idexp_meta ty name constraints pure;
21435 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
21436 # 21437 "parser_cocci_menhir.ml"
21437
21438 in
21439
21440 # 301 "parser_cocci_menhir.mly"
21441 ( P.create_metadec_with_constraints ar ispure kindfn ids )
21442 # 21443 "parser_cocci_menhir.ml"
21443 in
21444 _menhir_env.MenhirLib.EngineTypes.stack <- {
21445 MenhirLib.EngineTypes.state = _menhir_s;
21446 MenhirLib.EngineTypes.semv = Obj.repr _v;
21447 MenhirLib.EngineTypes.startp = _startpos;
21448 MenhirLib.EngineTypes.endp = _endpos;
21449 MenhirLib.EngineTypes.next = _menhir_stack;
21450 });
21451 (fun _menhir_env ->
21452 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21453 let {
21454 MenhirLib.EngineTypes.startp = _startpos__7_;
21455 MenhirLib.EngineTypes.endp = _endpos__7_;
21456 MenhirLib.EngineTypes.next = {
21457 MenhirLib.EngineTypes.semv = ids;
21458 MenhirLib.EngineTypes.startp = _startpos_ids_;
21459 MenhirLib.EngineTypes.endp = _endpos_ids_;
21460 MenhirLib.EngineTypes.next = {
21461 MenhirLib.EngineTypes.semv = x00;
21462 MenhirLib.EngineTypes.startp = _startpos_x00_;
21463 MenhirLib.EngineTypes.endp = _endpos_x00_;
21464 MenhirLib.EngineTypes.next = {
21465 MenhirLib.EngineTypes.startp = _startpos__4_;
21466 MenhirLib.EngineTypes.endp = _endpos__4_;
21467 MenhirLib.EngineTypes.next = {
21468 MenhirLib.EngineTypes.semv = l0;
21469 MenhirLib.EngineTypes.startp = _startpos_l0_;
21470 MenhirLib.EngineTypes.endp = _endpos_l0_;
21471 MenhirLib.EngineTypes.next = {
21472 MenhirLib.EngineTypes.semv = ispure;
21473 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21474 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21475 MenhirLib.EngineTypes.next = {
21476 MenhirLib.EngineTypes.state = _menhir_s;
21477 MenhirLib.EngineTypes.semv = ar;
21478 MenhirLib.EngineTypes.startp = _startpos_ar_;
21479 MenhirLib.EngineTypes.endp = _endpos_ar_;
21480 MenhirLib.EngineTypes.next = _menhir_stack;
21481 };
21482 };
21483 };
21484 };
21485 };
21486 };
21487 } = _menhir_stack in
21488 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
21489 let x00 : 'tv_meta_exp_type = Obj.magic x00 in
21490 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
21491 let ispure : 'tv_pure = Obj.magic ispure in
21492 let ar : 'tv_arity = Obj.magic ar in
21493 let _startpos = _startpos_ar_ in
21494 let _endpos = _endpos__7_ in
21495 let _v : 'tv_metadec = let kindfn =
21496 let x0 = x00 in
21497 let l = l0 in
21498 let ty =
21499 let x = x0 in
21500
21501 # 41 "standard.mly"
21502 ( Some x )
21503 # 21504 "parser_cocci_menhir.ml"
21504
21505 in
21506
21507 # 446 "parser_cocci_menhir.mly"
21508 ( (fun arity name pure check_meta constraints ->
21509 match l with
21510 None ->
21511 !Data.add_idexp_meta ty name constraints pure;
21512 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
21513 | Some _ ->
21514 !Data.add_local_idexp_meta ty name constraints pure;
21515 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
21516 # 21517 "parser_cocci_menhir.ml"
21517
21518 in
21519
21520 # 301 "parser_cocci_menhir.mly"
21521 ( P.create_metadec_with_constraints ar ispure kindfn ids )
21522 # 21523 "parser_cocci_menhir.ml"
21523 in
21524 _menhir_env.MenhirLib.EngineTypes.stack <- {
21525 MenhirLib.EngineTypes.state = _menhir_s;
21526 MenhirLib.EngineTypes.semv = Obj.repr _v;
21527 MenhirLib.EngineTypes.startp = _startpos;
21528 MenhirLib.EngineTypes.endp = _endpos;
21529 MenhirLib.EngineTypes.next = _menhir_stack;
21530 });
21531 (fun _menhir_env ->
21532 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21533 let {
21534 MenhirLib.EngineTypes.startp = _startpos__7_;
21535 MenhirLib.EngineTypes.endp = _endpos__7_;
21536 MenhirLib.EngineTypes.next = {
21537 MenhirLib.EngineTypes.semv = ids;
21538 MenhirLib.EngineTypes.startp = _startpos_ids_;
21539 MenhirLib.EngineTypes.endp = _endpos_ids_;
21540 MenhirLib.EngineTypes.next = {
21541 MenhirLib.EngineTypes.semv = m0;
21542 MenhirLib.EngineTypes.startp = _startpos_m0_;
21543 MenhirLib.EngineTypes.endp = _endpos_m0_;
21544 MenhirLib.EngineTypes.next = {
21545 MenhirLib.EngineTypes.startp = _startpos__4_;
21546 MenhirLib.EngineTypes.endp = _endpos__4_;
21547 MenhirLib.EngineTypes.next = {
21548 MenhirLib.EngineTypes.semv = l0;
21549 MenhirLib.EngineTypes.startp = _startpos_l0_;
21550 MenhirLib.EngineTypes.endp = _endpos_l0_;
21551 MenhirLib.EngineTypes.next = {
21552 MenhirLib.EngineTypes.semv = ispure;
21553 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21554 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21555 MenhirLib.EngineTypes.next = {
21556 MenhirLib.EngineTypes.state = _menhir_s;
21557 MenhirLib.EngineTypes.semv = ar;
21558 MenhirLib.EngineTypes.startp = _startpos_ar_;
21559 MenhirLib.EngineTypes.endp = _endpos_ar_;
21560 MenhirLib.EngineTypes.next = _menhir_stack;
21561 };
21562 };
21563 };
21564 };
21565 };
21566 };
21567 } = _menhir_stack in
21568 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
21569 let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
21570 let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
21571 let ispure : 'tv_pure = Obj.magic ispure in
21572 let ar : 'tv_arity = Obj.magic ar in
21573 let _startpos = _startpos_ar_ in
21574 let _endpos = _endpos__7_ in
21575 let _v : 'tv_metadec = let kindfn =
21576 let m = m0 in
21577 let l = l0 in
21578
21579 # 455 "parser_cocci_menhir.mly"
21580 ( (fun arity name pure check_meta constraints ->
21581 let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
21582 match l with
21583 None ->
21584 !Data.add_idexp_meta ty name constraints pure;
21585 check_meta(Ast.MetaIdExpDecl(arity,name,ty))
21586 | Some _ ->
21587 !Data.add_local_idexp_meta ty name constraints pure;
21588 check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
21589 # 21590 "parser_cocci_menhir.ml"
21590
21591 in
21592
21593 # 301 "parser_cocci_menhir.mly"
21594 ( P.create_metadec_with_constraints ar ispure kindfn ids )
21595 # 21596 "parser_cocci_menhir.ml"
21596 in
21597 _menhir_env.MenhirLib.EngineTypes.stack <- {
21598 MenhirLib.EngineTypes.state = _menhir_s;
21599 MenhirLib.EngineTypes.semv = Obj.repr _v;
21600 MenhirLib.EngineTypes.startp = _startpos;
21601 MenhirLib.EngineTypes.endp = _endpos;
21602 MenhirLib.EngineTypes.next = _menhir_stack;
21603 });
21604 (fun _menhir_env ->
21605 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21606 let {
21607 MenhirLib.EngineTypes.startp = _startpos__6_;
21608 MenhirLib.EngineTypes.endp = _endpos__6_;
21609 MenhirLib.EngineTypes.next = {
21610 MenhirLib.EngineTypes.semv = ids;
21611 MenhirLib.EngineTypes.startp = _startpos_ids_;
21612 MenhirLib.EngineTypes.endp = _endpos_ids_;
21613 MenhirLib.EngineTypes.next = {
21614 MenhirLib.EngineTypes.semv = ty0;
21615 MenhirLib.EngineTypes.startp = _startpos_ty0_;
21616 MenhirLib.EngineTypes.endp = _endpos_ty0_;
21617 MenhirLib.EngineTypes.next = {
21618 MenhirLib.EngineTypes.startp = _startpos__3_;
21619 MenhirLib.EngineTypes.endp = _endpos__3_;
21620 MenhirLib.EngineTypes.next = {
21621 MenhirLib.EngineTypes.semv = ispure;
21622 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21623 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21624 MenhirLib.EngineTypes.next = {
21625 MenhirLib.EngineTypes.state = _menhir_s;
21626 MenhirLib.EngineTypes.semv = ar;
21627 MenhirLib.EngineTypes.startp = _startpos_ar_;
21628 MenhirLib.EngineTypes.endp = _endpos_ar_;
21629 MenhirLib.EngineTypes.next = _menhir_stack;
21630 };
21631 };
21632 };
21633 };
21634 };
21635 } = _menhir_stack in
21636 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
21637 let ty0 : 'tv_expression_type = Obj.magic ty0 in
21638 let ispure : 'tv_pure = Obj.magic ispure in
21639 let ar : 'tv_arity = Obj.magic ar in
21640 let _startpos = _startpos_ar_ in
21641 let _endpos = _endpos__6_ in
21642 let _v : 'tv_metadec = let kindfn =
21643 let ty = ty0 in
21644
21645 # 465 "parser_cocci_menhir.mly"
21646 ( (fun arity name pure check_meta constraints ->
21647 let ty = Some [ty] in
21648 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
21649 !Data.add_exp_meta ty name constraints pure; tok) )
21650 # 21651 "parser_cocci_menhir.ml"
21651
21652 in
21653
21654 # 301 "parser_cocci_menhir.mly"
21655 ( P.create_metadec_with_constraints ar ispure kindfn ids )
21656 # 21657 "parser_cocci_menhir.ml"
21657 in
21658 _menhir_env.MenhirLib.EngineTypes.stack <- {
21659 MenhirLib.EngineTypes.state = _menhir_s;
21660 MenhirLib.EngineTypes.semv = Obj.repr _v;
21661 MenhirLib.EngineTypes.startp = _startpos;
21662 MenhirLib.EngineTypes.endp = _endpos;
21663 MenhirLib.EngineTypes.next = _menhir_stack;
21664 });
21665 (fun _menhir_env ->
21666 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21667 let {
21668 MenhirLib.EngineTypes.startp = _startpos__5_;
21669 MenhirLib.EngineTypes.endp = _endpos__5_;
21670 MenhirLib.EngineTypes.next = {
21671 MenhirLib.EngineTypes.semv = ids;
21672 MenhirLib.EngineTypes.startp = _startpos_ids_;
21673 MenhirLib.EngineTypes.endp = _endpos_ids_;
21674 MenhirLib.EngineTypes.next = {
21675 MenhirLib.EngineTypes.startp = _startpos__3_;
21676 MenhirLib.EngineTypes.endp = _endpos__3_;
21677 MenhirLib.EngineTypes.next = {
21678 MenhirLib.EngineTypes.semv = ispure;
21679 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21680 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21681 MenhirLib.EngineTypes.next = {
21682 MenhirLib.EngineTypes.state = _menhir_s;
21683 MenhirLib.EngineTypes.semv = ar;
21684 MenhirLib.EngineTypes.startp = _startpos_ar_;
21685 MenhirLib.EngineTypes.endp = _endpos_ar_;
21686 MenhirLib.EngineTypes.next = _menhir_stack;
21687 };
21688 };
21689 };
21690 };
21691 } = _menhir_stack in
21692 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
21693 let ispure : 'tv_pure = Obj.magic ispure in
21694 let ar : 'tv_arity = Obj.magic ar in
21695 let _startpos = _startpos_ar_ in
21696 let _endpos = _endpos__5_ in
21697 let _v : 'tv_metadec = let kindfn =
21698 let ty =
21699
21700 # 39 "standard.mly"
21701 ( None )
21702 # 21703 "parser_cocci_menhir.ml"
21703
21704 in
21705
21706 # 470 "parser_cocci_menhir.mly"
21707 ( (fun arity name pure check_meta constraints ->
21708 let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
21709 !Data.add_const_meta ty name constraints pure; tok) )
21710 # 21711 "parser_cocci_menhir.ml"
21711
21712 in
21713
21714 # 301 "parser_cocci_menhir.mly"
21715 ( P.create_metadec_with_constraints ar ispure kindfn ids )
21716 # 21717 "parser_cocci_menhir.ml"
21717 in
21718 _menhir_env.MenhirLib.EngineTypes.stack <- {
21719 MenhirLib.EngineTypes.state = _menhir_s;
21720 MenhirLib.EngineTypes.semv = Obj.repr _v;
21721 MenhirLib.EngineTypes.startp = _startpos;
21722 MenhirLib.EngineTypes.endp = _endpos;
21723 MenhirLib.EngineTypes.next = _menhir_stack;
21724 });
21725 (fun _menhir_env ->
21726 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21727 let {
21728 MenhirLib.EngineTypes.startp = _startpos__6_;
21729 MenhirLib.EngineTypes.endp = _endpos__6_;
21730 MenhirLib.EngineTypes.next = {
21731 MenhirLib.EngineTypes.semv = ids;
21732 MenhirLib.EngineTypes.startp = _startpos_ids_;
21733 MenhirLib.EngineTypes.endp = _endpos_ids_;
21734 MenhirLib.EngineTypes.next = {
21735 MenhirLib.EngineTypes.semv = x00;
21736 MenhirLib.EngineTypes.startp = _startpos_x00_;
21737 MenhirLib.EngineTypes.endp = _endpos_x00_;
21738 MenhirLib.EngineTypes.next = {
21739 MenhirLib.EngineTypes.startp = _startpos__3_;
21740 MenhirLib.EngineTypes.endp = _endpos__3_;
21741 MenhirLib.EngineTypes.next = {
21742 MenhirLib.EngineTypes.semv = ispure;
21743 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21744 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21745 MenhirLib.EngineTypes.next = {
21746 MenhirLib.EngineTypes.state = _menhir_s;
21747 MenhirLib.EngineTypes.semv = ar;
21748 MenhirLib.EngineTypes.startp = _startpos_ar_;
21749 MenhirLib.EngineTypes.endp = _endpos_ar_;
21750 MenhirLib.EngineTypes.next = _menhir_stack;
21751 };
21752 };
21753 };
21754 };
21755 };
21756 } = _menhir_stack in
21757 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
21758 let x00 : 'tv_meta_exp_type = Obj.magic x00 in
21759 let ispure : 'tv_pure = Obj.magic ispure in
21760 let ar : 'tv_arity = Obj.magic ar in
21761 let _startpos = _startpos_ar_ in
21762 let _endpos = _endpos__6_ in
21763 let _v : 'tv_metadec = let kindfn =
21764 let x0 = x00 in
21765 let ty =
21766 let x = x0 in
21767
21768 # 41 "standard.mly"
21769 ( Some x )
21770 # 21771 "parser_cocci_menhir.ml"
21771
21772 in
21773
21774 # 470 "parser_cocci_menhir.mly"
21775 ( (fun arity name pure check_meta constraints ->
21776 let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
21777 !Data.add_const_meta ty name constraints pure; tok) )
21778 # 21779 "parser_cocci_menhir.ml"
21779
21780 in
21781
21782 # 301 "parser_cocci_menhir.mly"
21783 ( P.create_metadec_with_constraints ar ispure kindfn ids )
21784 # 21785 "parser_cocci_menhir.ml"
21785 in
21786 _menhir_env.MenhirLib.EngineTypes.stack <- {
21787 MenhirLib.EngineTypes.state = _menhir_s;
21788 MenhirLib.EngineTypes.semv = Obj.repr _v;
21789 MenhirLib.EngineTypes.startp = _startpos;
21790 MenhirLib.EngineTypes.endp = _endpos;
21791 MenhirLib.EngineTypes.next = _menhir_stack;
21792 });
21793 (fun _menhir_env ->
21794 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21795 let {
21796 MenhirLib.EngineTypes.startp = _startpos__5_;
21797 MenhirLib.EngineTypes.endp = _endpos__5_;
21798 MenhirLib.EngineTypes.next = {
21799 MenhirLib.EngineTypes.semv = ids;
21800 MenhirLib.EngineTypes.startp = _startpos_ids_;
21801 MenhirLib.EngineTypes.endp = _endpos_ids_;
21802 MenhirLib.EngineTypes.next = {
21803 MenhirLib.EngineTypes.startp = _startpos__3_;
21804 MenhirLib.EngineTypes.endp = _endpos__3_;
21805 MenhirLib.EngineTypes.next = {
21806 MenhirLib.EngineTypes.semv = ispure;
21807 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21808 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21809 MenhirLib.EngineTypes.next = {
21810 MenhirLib.EngineTypes.state = _menhir_s;
21811 MenhirLib.EngineTypes.semv = ar;
21812 MenhirLib.EngineTypes.startp = _startpos_ar_;
21813 MenhirLib.EngineTypes.endp = _endpos_ar_;
21814 MenhirLib.EngineTypes.next = _menhir_stack;
21815 };
21816 };
21817 };
21818 };
21819 } = _menhir_stack in
21820 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic ids in
21821 let ispure : 'tv_pure = Obj.magic ispure in
21822 let ar : 'tv_arity = Obj.magic ar in
21823 let _startpos = _startpos_ar_ in
21824 let _endpos = _endpos__5_ in
21825 let _v : 'tv_metadec = let kindfn =
21826
21827 # 487 "parser_cocci_menhir.mly"
21828 ( (fun arity name pure check_meta constraints ->
21829 let tok = check_meta(Ast.MetaExpDecl(arity,name,None)) in
21830 !Data.add_exp_meta None name constraints pure; tok) )
21831 # 21832 "parser_cocci_menhir.ml"
21832
21833 in
21834
21835 # 306 "parser_cocci_menhir.mly"
21836 ( P.create_metadec_with_constraints ar ispure kindfn ids )
21837 # 21838 "parser_cocci_menhir.ml"
21838 in
21839 _menhir_env.MenhirLib.EngineTypes.stack <- {
21840 MenhirLib.EngineTypes.state = _menhir_s;
21841 MenhirLib.EngineTypes.semv = Obj.repr _v;
21842 MenhirLib.EngineTypes.startp = _startpos;
21843 MenhirLib.EngineTypes.endp = _endpos;
21844 MenhirLib.EngineTypes.next = _menhir_stack;
21845 });
21846 (fun _menhir_env ->
21847 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21848 let {
21849 MenhirLib.EngineTypes.startp = _startpos__5_;
21850 MenhirLib.EngineTypes.endp = _endpos__5_;
21851 MenhirLib.EngineTypes.next = {
21852 MenhirLib.EngineTypes.semv = ids;
21853 MenhirLib.EngineTypes.startp = _startpos_ids_;
21854 MenhirLib.EngineTypes.endp = _endpos_ids_;
21855 MenhirLib.EngineTypes.next = {
21856 MenhirLib.EngineTypes.semv = vl0;
21857 MenhirLib.EngineTypes.startp = _startpos_vl0_;
21858 MenhirLib.EngineTypes.endp = _endpos_vl0_;
21859 MenhirLib.EngineTypes.next = {
21860 MenhirLib.EngineTypes.semv = ispure;
21861 MenhirLib.EngineTypes.startp = _startpos_ispure_;
21862 MenhirLib.EngineTypes.endp = _endpos_ispure_;
21863 MenhirLib.EngineTypes.next = {
21864 MenhirLib.EngineTypes.state = _menhir_s;
21865 MenhirLib.EngineTypes.semv = ar;
21866 MenhirLib.EngineTypes.startp = _startpos_ar_;
21867 MenhirLib.EngineTypes.endp = _endpos_ar_;
21868 MenhirLib.EngineTypes.next = _menhir_stack;
21869 };
21870 };
21871 };
21872 };
21873 } = _menhir_stack in
21874 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic ids in
21875 let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
21876 let ispure : 'tv_pure = Obj.magic ispure in
21877 let ar : 'tv_arity = Obj.magic ar in
21878 let _startpos = _startpos_ar_ in
21879 let _endpos = _endpos__5_ in
21880 let _v : 'tv_metadec = let kindfn =
21881 let vl = vl0 in
21882
21883 # 491 "parser_cocci_menhir.mly"
21884 ( (fun arity name pure check_meta constraints ->
21885 let ty = Some vl in
21886 (match constraints with
21887 Ast0.NotExpCstrt constraints ->
21888 List.iter
21889 (function c ->
21890 match Ast0.unwrap c with
21891 Ast0.Constant(_) ->
21892 if not
21893 (List.exists
21894 (function
21895 Type_cocci.BaseType(Type_cocci.IntType) -> true
21896 | Type_cocci.BaseType(Type_cocci.ShortType) -> true
21897 | Type_cocci.BaseType(Type_cocci.LongType) -> true
21898 | _ -> false)
21899 vl)
21900 then
21901 failwith "metavariable with int constraint must be an int"
21902 | _ -> ())
21903 constraints
21904 | _ -> ());
21905 let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
21906 !Data.add_exp_meta ty name constraints pure; tok)
21907 )
21908 # 21909 "parser_cocci_menhir.ml"
21909
21910 in
21911
21912 # 306 "parser_cocci_menhir.mly"
21913 ( P.create_metadec_with_constraints ar ispure kindfn ids )
21914 # 21915 "parser_cocci_menhir.ml"
21915 in
21916 _menhir_env.MenhirLib.EngineTypes.stack <- {
21917 MenhirLib.EngineTypes.state = _menhir_s;
21918 MenhirLib.EngineTypes.semv = Obj.repr _v;
21919 MenhirLib.EngineTypes.startp = _startpos;
21920 MenhirLib.EngineTypes.endp = _endpos;
21921 MenhirLib.EngineTypes.next = _menhir_stack;
21922 });
21923 (fun _menhir_env ->
21924 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21925 let {
21926 MenhirLib.EngineTypes.startp = _startpos__5_;
21927 MenhirLib.EngineTypes.endp = _endpos__5_;
21928 MenhirLib.EngineTypes.next = {
21929 MenhirLib.EngineTypes.semv = ids;
21930 MenhirLib.EngineTypes.startp = _startpos_ids_;
21931 MenhirLib.EngineTypes.endp = _endpos_ids_;
21932 MenhirLib.EngineTypes.next = {
21933 MenhirLib.EngineTypes.semv = a;
21934 MenhirLib.EngineTypes.startp = _startpos_a_;
21935 MenhirLib.EngineTypes.endp = _endpos_a_;
21936 MenhirLib.EngineTypes.next = {
21937 MenhirLib.EngineTypes.startp = _startpos__2_;
21938 MenhirLib.EngineTypes.endp = _endpos__2_;
21939 MenhirLib.EngineTypes.next = {
21940 MenhirLib.EngineTypes.state = _menhir_s;
21941 MenhirLib.EngineTypes.semv = ar;
21942 MenhirLib.EngineTypes.startp = _startpos_ar_;
21943 MenhirLib.EngineTypes.endp = _endpos_ar_;
21944 MenhirLib.EngineTypes.next = _menhir_stack;
21945 };
21946 };
21947 };
21948 };
21949 } = _menhir_stack in
21950 let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic ids in
21951 let a : 'tv_option_TPosAny_ = Obj.magic a in
21952 let ar : 'tv_arity = Obj.magic ar in
21953 let _startpos = _startpos_ar_ in
21954 let _endpos = _endpos__5_ in
21955 let _v : 'tv_metadec =
21956 # 312 "parser_cocci_menhir.mly"
21957 ( (if !Data.in_generating
21958 then failwith "position variables not allowed in a generated rule file");
21959 let kindfn arity name pure check_meta constraints =
21960 let tok = check_meta(Ast.MetaPosDecl(arity,name)) in
21961 let any = match a with None -> Ast.PER | Some _ -> Ast.ALL in
21962 !Data.add_pos_meta name constraints any; tok in
21963 P.create_metadec_with_constraints ar false kindfn ids )
21964 # 21965 "parser_cocci_menhir.ml"
21965 in
21966 _menhir_env.MenhirLib.EngineTypes.stack <- {
21967 MenhirLib.EngineTypes.state = _menhir_s;
21968 MenhirLib.EngineTypes.semv = Obj.repr _v;
21969 MenhirLib.EngineTypes.startp = _startpos;
21970 MenhirLib.EngineTypes.endp = _endpos;
21971 MenhirLib.EngineTypes.next = _menhir_stack;
21972 });
21973 (fun _menhir_env ->
21974 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
21975 let {
21976 MenhirLib.EngineTypes.startp = _startpos__9_;
21977 MenhirLib.EngineTypes.endp = _endpos__9_;
21978 MenhirLib.EngineTypes.next = {
21979 MenhirLib.EngineTypes.semv = ids;
21980 MenhirLib.EngineTypes.startp = _startpos_ids_;
21981 MenhirLib.EngineTypes.endp = _endpos_ids_;
21982 MenhirLib.EngineTypes.next = {
21983 MenhirLib.EngineTypes.startp = _startpos__7_;
21984 MenhirLib.EngineTypes.endp = _endpos__7_;
21985 MenhirLib.EngineTypes.next = {
21986 MenhirLib.EngineTypes.semv = len;
21987 MenhirLib.EngineTypes.startp = _startpos_len_;
21988 MenhirLib.EngineTypes.endp = _endpos_len_;
21989 MenhirLib.EngineTypes.next = {
21990 MenhirLib.EngineTypes.startp = _startpos__5_;
21991 MenhirLib.EngineTypes.endp = _endpos__5_;
21992 MenhirLib.EngineTypes.next = {
21993 MenhirLib.EngineTypes.startp = _startpos__4_;
21994 MenhirLib.EngineTypes.endp = _endpos__4_;
21995 MenhirLib.EngineTypes.next = {
21996 MenhirLib.EngineTypes.startp = _startpos__3_;
21997 MenhirLib.EngineTypes.endp = _endpos__3_;
21998 MenhirLib.EngineTypes.next = {
21999 MenhirLib.EngineTypes.semv = ispure;
22000 MenhirLib.EngineTypes.startp = _startpos_ispure_;
22001 MenhirLib.EngineTypes.endp = _endpos_ispure_;
22002 MenhirLib.EngineTypes.next = {
22003 MenhirLib.EngineTypes.state = _menhir_s;
22004 MenhirLib.EngineTypes.semv = ar;
22005 MenhirLib.EngineTypes.startp = _startpos_ar_;
22006 MenhirLib.EngineTypes.endp = _endpos_ar_;
22007 MenhirLib.EngineTypes.next = _menhir_stack;
22008 };
22009 };
22010 };
22011 };
22012 };
22013 };
22014 };
22015 };
22016 } = _menhir_stack in
22017 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
22018 let len : 'tv_list_len = Obj.magic len in
22019 let ispure : 'tv_pure = Obj.magic ispure in
22020 let ar : 'tv_arity = Obj.magic ar in
22021 let _startpos = _startpos_ar_ in
22022 let _endpos = _endpos__9_ in
22023 let _v : 'tv_metadec =
22024 # 322 "parser_cocci_menhir.mly"
22025 ( P.create_len_metadec ar ispure
22026 (fun lenname arity name pure check_meta ->
22027 let tok = check_meta(Ast.MetaParamListDecl(arity,name,lenname)) in
22028 !Data.add_paramlist_meta name lenname pure; tok)
22029 len ids )
22030 # 22031 "parser_cocci_menhir.ml"
22031 in
22032 _menhir_env.MenhirLib.EngineTypes.stack <- {
22033 MenhirLib.EngineTypes.state = _menhir_s;
22034 MenhirLib.EngineTypes.semv = Obj.repr _v;
22035 MenhirLib.EngineTypes.startp = _startpos;
22036 MenhirLib.EngineTypes.endp = _endpos;
22037 MenhirLib.EngineTypes.next = _menhir_stack;
22038 });
22039 (fun _menhir_env ->
22040 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22041 let {
22042 MenhirLib.EngineTypes.startp = _startpos__9_;
22043 MenhirLib.EngineTypes.endp = _endpos__9_;
22044 MenhirLib.EngineTypes.next = {
22045 MenhirLib.EngineTypes.semv = ids;
22046 MenhirLib.EngineTypes.startp = _startpos_ids_;
22047 MenhirLib.EngineTypes.endp = _endpos_ids_;
22048 MenhirLib.EngineTypes.next = {
22049 MenhirLib.EngineTypes.startp = _startpos__7_;
22050 MenhirLib.EngineTypes.endp = _endpos__7_;
22051 MenhirLib.EngineTypes.next = {
22052 MenhirLib.EngineTypes.semv = len;
22053 MenhirLib.EngineTypes.startp = _startpos_len_;
22054 MenhirLib.EngineTypes.endp = _endpos_len_;
22055 MenhirLib.EngineTypes.next = {
22056 MenhirLib.EngineTypes.startp = _startpos__5_;
22057 MenhirLib.EngineTypes.endp = _endpos__5_;
22058 MenhirLib.EngineTypes.next = {
22059 MenhirLib.EngineTypes.startp = _startpos__4_;
22060 MenhirLib.EngineTypes.endp = _endpos__4_;
22061 MenhirLib.EngineTypes.next = {
22062 MenhirLib.EngineTypes.startp = _startpos__3_;
22063 MenhirLib.EngineTypes.endp = _endpos__3_;
22064 MenhirLib.EngineTypes.next = {
22065 MenhirLib.EngineTypes.semv = ispure;
22066 MenhirLib.EngineTypes.startp = _startpos_ispure_;
22067 MenhirLib.EngineTypes.endp = _endpos_ispure_;
22068 MenhirLib.EngineTypes.next = {
22069 MenhirLib.EngineTypes.state = _menhir_s;
22070 MenhirLib.EngineTypes.semv = ar;
22071 MenhirLib.EngineTypes.startp = _startpos_ar_;
22072 MenhirLib.EngineTypes.endp = _endpos_ar_;
22073 MenhirLib.EngineTypes.next = _menhir_stack;
22074 };
22075 };
22076 };
22077 };
22078 };
22079 };
22080 };
22081 };
22082 } = _menhir_stack in
22083 let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
22084 let len : 'tv_list_len = Obj.magic len in
22085 let ispure : 'tv_pure = Obj.magic ispure in
22086 let ar : 'tv_arity = Obj.magic ar in
22087 let _startpos = _startpos_ar_ in
22088 let _endpos = _endpos__9_ in
22089 let _v : 'tv_metadec =
22090 # 330 "parser_cocci_menhir.mly"
22091 ( P.create_len_metadec ar ispure
22092 (fun lenname arity name pure check_meta ->
22093 let tok = check_meta(Ast.MetaExpListDecl(arity,name,lenname)) in
22094 !Data.add_explist_meta name lenname pure; tok)
22095 len ids )
22096 # 22097 "parser_cocci_menhir.ml"
22097 in
22098 _menhir_env.MenhirLib.EngineTypes.stack <- {
22099 MenhirLib.EngineTypes.state = _menhir_s;
22100 MenhirLib.EngineTypes.semv = Obj.repr _v;
22101 MenhirLib.EngineTypes.startp = _startpos;
22102 MenhirLib.EngineTypes.endp = _endpos;
22103 MenhirLib.EngineTypes.next = _menhir_stack;
22104 });
22105 (fun _menhir_env ->
22106 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22107 let {
22108 MenhirLib.EngineTypes.semv = b;
22109 MenhirLib.EngineTypes.startp = _startpos_b_;
22110 MenhirLib.EngineTypes.endp = _endpos_b_;
22111 MenhirLib.EngineTypes.next = {
22112 MenhirLib.EngineTypes.state = _menhir_s;
22113 MenhirLib.EngineTypes.semv = a;
22114 MenhirLib.EngineTypes.startp = _startpos_a_;
22115 MenhirLib.EngineTypes.endp = _endpos_a_;
22116 MenhirLib.EngineTypes.next = _menhir_stack;
22117 };
22118 } = _menhir_stack in
22119 let b : 'tv_list_mzl_ctype__ = Obj.magic b in
22120 let a : 'tv_ctype = Obj.magic a in
22121 let _startpos = _startpos_a_ in
22122 let _endpos = _endpos_b_ in
22123 let _v : 'tv_midzero_list_ctype_ctype_ =
22124 # 2096 "parser_cocci_menhir.mly"
22125 ( let (mids,code) = List.split b in (mids,(a::code)) )
22126 # 22127 "parser_cocci_menhir.ml"
22127 in
22128 _menhir_env.MenhirLib.EngineTypes.stack <- {
22129 MenhirLib.EngineTypes.state = _menhir_s;
22130 MenhirLib.EngineTypes.semv = Obj.repr _v;
22131 MenhirLib.EngineTypes.startp = _startpos;
22132 MenhirLib.EngineTypes.endp = _endpos;
22133 MenhirLib.EngineTypes.next = _menhir_stack;
22134 });
22135 (fun _menhir_env ->
22136 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22137 let {
22138 MenhirLib.EngineTypes.semv = b;
22139 MenhirLib.EngineTypes.startp = _startpos_b_;
22140 MenhirLib.EngineTypes.endp = _endpos_b_;
22141 MenhirLib.EngineTypes.next = {
22142 MenhirLib.EngineTypes.state = _menhir_s;
22143 MenhirLib.EngineTypes.semv = a;
22144 MenhirLib.EngineTypes.startp = _startpos_a_;
22145 MenhirLib.EngineTypes.endp = _endpos_a_;
22146 MenhirLib.EngineTypes.next = _menhir_stack;
22147 };
22148 } = _menhir_stack in
22149 let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
22150 let a : 'tv_eexpr = Obj.magic a in
22151 let _startpos = _startpos_a_ in
22152 let _endpos = _endpos_b_ in
22153 let _v : 'tv_midzero_list_eexpr_eexpr_ =
22154 # 2096 "parser_cocci_menhir.mly"
22155 ( let (mids,code) = List.split b in (mids,(a::code)) )
22156 # 22157 "parser_cocci_menhir.ml"
22157 in
22158 _menhir_env.MenhirLib.EngineTypes.stack <- {
22159 MenhirLib.EngineTypes.state = _menhir_s;
22160 MenhirLib.EngineTypes.semv = Obj.repr _v;
22161 MenhirLib.EngineTypes.startp = _startpos;
22162 MenhirLib.EngineTypes.endp = _endpos;
22163 MenhirLib.EngineTypes.next = _menhir_stack;
22164 });
22165 (fun _menhir_env ->
22166 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22167 let {
22168 MenhirLib.EngineTypes.semv = b;
22169 MenhirLib.EngineTypes.startp = _startpos_b_;
22170 MenhirLib.EngineTypes.endp = _endpos_b_;
22171 MenhirLib.EngineTypes.next = {
22172 MenhirLib.EngineTypes.state = _menhir_s;
22173 MenhirLib.EngineTypes.semv = a;
22174 MenhirLib.EngineTypes.startp = _startpos_a_;
22175 MenhirLib.EngineTypes.endp = _endpos_a_;
22176 MenhirLib.EngineTypes.next = _menhir_stack;
22177 };
22178 } = _menhir_stack in
22179 let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
22180 let a : 'tv_expr = Obj.magic a in
22181 let _startpos = _startpos_a_ in
22182 let _endpos = _endpos_b_ in
22183 let _v : 'tv_midzero_list_expr_eexpr_ =
22184 # 2096 "parser_cocci_menhir.mly"
22185 ( let (mids,code) = List.split b in (mids,(a::code)) )
22186 # 22187 "parser_cocci_menhir.ml"
22187 in
22188 _menhir_env.MenhirLib.EngineTypes.stack <- {
22189 MenhirLib.EngineTypes.state = _menhir_s;
22190 MenhirLib.EngineTypes.semv = Obj.repr _v;
22191 MenhirLib.EngineTypes.startp = _startpos;
22192 MenhirLib.EngineTypes.endp = _endpos;
22193 MenhirLib.EngineTypes.next = _menhir_stack;
22194 });
22195 (fun _menhir_env ->
22196 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22197 let {
22198 MenhirLib.EngineTypes.semv = b;
22199 MenhirLib.EngineTypes.startp = _startpos_b_;
22200 MenhirLib.EngineTypes.endp = _endpos_b_;
22201 MenhirLib.EngineTypes.next = {
22202 MenhirLib.EngineTypes.state = _menhir_s;
22203 MenhirLib.EngineTypes.semv = a;
22204 MenhirLib.EngineTypes.startp = _startpos_a_;
22205 MenhirLib.EngineTypes.endp = _endpos_a_;
22206 MenhirLib.EngineTypes.next = _menhir_stack;
22207 };
22208 } = _menhir_stack in
22209 let b : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic b in
22210 let a : 'tv_fun_after_stm = Obj.magic a in
22211 let _startpos = _startpos_a_ in
22212 let _endpos = _endpos_b_ in
22213 let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ =
22214 # 2096 "parser_cocci_menhir.mly"
22215 ( let (mids,code) = List.split b in (mids,(a::code)) )
22216 # 22217 "parser_cocci_menhir.ml"
22217 in
22218 _menhir_env.MenhirLib.EngineTypes.stack <- {
22219 MenhirLib.EngineTypes.state = _menhir_s;
22220 MenhirLib.EngineTypes.semv = Obj.repr _v;
22221 MenhirLib.EngineTypes.startp = _startpos;
22222 MenhirLib.EngineTypes.endp = _endpos;
22223 MenhirLib.EngineTypes.next = _menhir_stack;
22224 });
22225 (fun _menhir_env ->
22226 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22227 let {
22228 MenhirLib.EngineTypes.semv = b;
22229 MenhirLib.EngineTypes.startp = _startpos_b_;
22230 MenhirLib.EngineTypes.endp = _endpos_b_;
22231 MenhirLib.EngineTypes.next = {
22232 MenhirLib.EngineTypes.state = _menhir_s;
22233 MenhirLib.EngineTypes.semv = a;
22234 MenhirLib.EngineTypes.startp = _startpos_a_;
22235 MenhirLib.EngineTypes.endp = _endpos_a_;
22236 MenhirLib.EngineTypes.next = _menhir_stack;
22237 };
22238 } = _menhir_stack in
22239 let b : 'tv_list_mzl_fun_start__ = Obj.magic b in
22240 let a : 'tv_fun_start = Obj.magic a in
22241 let _startpos = _startpos_a_ in
22242 let _endpos = _endpos_b_ in
22243 let _v : 'tv_midzero_list_fun_start_fun_start_ =
22244 # 2096 "parser_cocci_menhir.mly"
22245 ( let (mids,code) = List.split b in (mids,(a::code)) )
22246 # 22247 "parser_cocci_menhir.ml"
22247 in
22248 _menhir_env.MenhirLib.EngineTypes.stack <- {
22249 MenhirLib.EngineTypes.state = _menhir_s;
22250 MenhirLib.EngineTypes.semv = Obj.repr _v;
22251 MenhirLib.EngineTypes.startp = _startpos;
22252 MenhirLib.EngineTypes.endp = _endpos;
22253 MenhirLib.EngineTypes.next = _menhir_stack;
22254 });
22255 (fun _menhir_env ->
22256 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22257 let {
22258 MenhirLib.EngineTypes.semv = b;
22259 MenhirLib.EngineTypes.startp = _startpos_b_;
22260 MenhirLib.EngineTypes.endp = _endpos_b_;
22261 MenhirLib.EngineTypes.next = {
22262 MenhirLib.EngineTypes.state = _menhir_s;
22263 MenhirLib.EngineTypes.semv = a;
22264 MenhirLib.EngineTypes.startp = _startpos_a_;
22265 MenhirLib.EngineTypes.endp = _endpos_a_;
22266 MenhirLib.EngineTypes.next = _menhir_stack;
22267 };
22268 } = _menhir_stack in
22269 let b : 'tv_list_mzl_rule_elem_statement__ = Obj.magic b in
22270 let a : 'tv_rule_elem_statement = Obj.magic a in
22271 let _startpos = _startpos_a_ in
22272 let _endpos = _endpos_b_ in
22273 let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ =
22274 # 2096 "parser_cocci_menhir.mly"
22275 ( let (mids,code) = List.split b in (mids,(a::code)) )
22276 # 22277 "parser_cocci_menhir.ml"
22277 in
22278 _menhir_env.MenhirLib.EngineTypes.stack <- {
22279 MenhirLib.EngineTypes.state = _menhir_s;
22280 MenhirLib.EngineTypes.semv = Obj.repr _v;
22281 MenhirLib.EngineTypes.startp = _startpos;
22282 MenhirLib.EngineTypes.endp = _endpos;
22283 MenhirLib.EngineTypes.next = _menhir_stack;
22284 });
22285 (fun _menhir_env ->
22286 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22287 let {
22288 MenhirLib.EngineTypes.semv = b;
22289 MenhirLib.EngineTypes.startp = _startpos_b_;
22290 MenhirLib.EngineTypes.endp = _endpos_b_;
22291 MenhirLib.EngineTypes.next = {
22292 MenhirLib.EngineTypes.state = _menhir_s;
22293 MenhirLib.EngineTypes.semv = a;
22294 MenhirLib.EngineTypes.startp = _startpos_a_;
22295 MenhirLib.EngineTypes.endp = _endpos_a_;
22296 MenhirLib.EngineTypes.next = _menhir_stack;
22297 };
22298 } = _menhir_stack in
22299 let b : 'tv_list_mzl_statement__ = Obj.magic b in
22300 let a : 'tv_statement = Obj.magic a in
22301 let _startpos = _startpos_a_ in
22302 let _endpos = _endpos_b_ in
22303 let _v : 'tv_midzero_list_statement_statement_ =
22304 # 2096 "parser_cocci_menhir.mly"
22305 ( let (mids,code) = List.split b in (mids,(a::code)) )
22306 # 22307 "parser_cocci_menhir.ml"
22307 in
22308 _menhir_env.MenhirLib.EngineTypes.stack <- {
22309 MenhirLib.EngineTypes.state = _menhir_s;
22310 MenhirLib.EngineTypes.semv = Obj.repr _v;
22311 MenhirLib.EngineTypes.startp = _startpos;
22312 MenhirLib.EngineTypes.endp = _endpos;
22313 MenhirLib.EngineTypes.next = _menhir_stack;
22314 });
22315 (fun _menhir_env ->
22316 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22317 let {
22318 MenhirLib.EngineTypes.semv = b;
22319 MenhirLib.EngineTypes.startp = _startpos_b_;
22320 MenhirLib.EngineTypes.endp = _endpos_b_;
22321 MenhirLib.EngineTypes.next = {
22322 MenhirLib.EngineTypes.state = _menhir_s;
22323 MenhirLib.EngineTypes.semv = f;
22324 MenhirLib.EngineTypes.startp = _startpos_f_;
22325 MenhirLib.EngineTypes.endp = _endpos_f_;
22326 MenhirLib.EngineTypes.next = _menhir_stack;
22327 };
22328 } = _menhir_stack in
22329 let b : 'tv_loption_minus_start_ = Obj.magic b in
22330 let f : 'tv_loption_filespec_ = Obj.magic f in
22331 let _startpos = _startpos_f_ in
22332 let _endpos = _endpos_b_ in
22333 let _v : 'tv_minus_body =
22334 # 713 "parser_cocci_menhir.mly"
22335 ( match f@b(*@ew*) with
22336 [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
22337 | code -> Top_level.top_level code )
22338 # 22339 "parser_cocci_menhir.ml"
22339 in
22340 _menhir_env.MenhirLib.EngineTypes.stack <- {
22341 MenhirLib.EngineTypes.state = _menhir_s;
22342 MenhirLib.EngineTypes.semv = Obj.repr _v;
22343 MenhirLib.EngineTypes.startp = _startpos;
22344 MenhirLib.EngineTypes.endp = _endpos;
22345 MenhirLib.EngineTypes.next = _menhir_stack;
22346 });
22347 (fun _menhir_env ->
22348 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22349 let {
22350 MenhirLib.EngineTypes.semv = b;
22351 MenhirLib.EngineTypes.startp = _startpos_b_;
22352 MenhirLib.EngineTypes.endp = _endpos_b_;
22353 MenhirLib.EngineTypes.next = {
22354 MenhirLib.EngineTypes.state = _menhir_s;
22355 MenhirLib.EngineTypes.semv = f;
22356 MenhirLib.EngineTypes.startp = _startpos_f_;
22357 MenhirLib.EngineTypes.endp = _endpos_f_;
22358 MenhirLib.EngineTypes.next = _menhir_stack;
22359 };
22360 } = _menhir_stack in
22361 let b : 'tv_top_eexpr = Obj.magic b in
22362 let f : 'tv_loption_filespec_ = Obj.magic f in
22363 let _startpos = _startpos_f_ in
22364 let _endpos = _endpos_b_ in
22365 let _v : 'tv_minus_exp_body =
22366 # 727 "parser_cocci_menhir.mly"
22367 ( match f@[b](*@ew*) with
22368 [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
22369 | code -> Top_level.top_level code )
22370 # 22371 "parser_cocci_menhir.ml"
22371 in
22372 _menhir_env.MenhirLib.EngineTypes.stack <- {
22373 MenhirLib.EngineTypes.state = _menhir_s;
22374 MenhirLib.EngineTypes.semv = Obj.repr _v;
22375 MenhirLib.EngineTypes.startp = _startpos;
22376 MenhirLib.EngineTypes.endp = _endpos;
22377 MenhirLib.EngineTypes.next = _menhir_stack;
22378 });
22379 (fun _menhir_env ->
22380 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22381 let {
22382 MenhirLib.EngineTypes.startp = _startpos__2_;
22383 MenhirLib.EngineTypes.endp = _endpos__2_;
22384 MenhirLib.EngineTypes.next = {
22385 MenhirLib.EngineTypes.state = _menhir_s;
22386 MenhirLib.EngineTypes.semv = _1;
22387 MenhirLib.EngineTypes.startp = _startpos__1_;
22388 MenhirLib.EngineTypes.endp = _endpos__1_;
22389 MenhirLib.EngineTypes.next = _menhir_stack;
22390 };
22391 } = _menhir_stack in
22392 let _1 : 'tv_minus_exp_body = Obj.magic _1 in
22393 let _startpos = _startpos__1_ in
22394 let _endpos = _endpos__2_ in
22395 let _v : (
22396 # 143 "parser_cocci_menhir.mly"
22397 (Ast0_cocci.rule)
22398 # 22399 "parser_cocci_menhir.ml"
22399 ) =
22400 # 183 "parser_cocci_menhir.mly"
22401 ( _1 )
22402 # 22403 "parser_cocci_menhir.ml"
22403 in
22404 _menhir_env.MenhirLib.EngineTypes.stack <- {
22405 MenhirLib.EngineTypes.state = _menhir_s;
22406 MenhirLib.EngineTypes.semv = Obj.repr _v;
22407 MenhirLib.EngineTypes.startp = _startpos;
22408 MenhirLib.EngineTypes.endp = _endpos;
22409 MenhirLib.EngineTypes.next = _menhir_stack;
22410 });
22411 (fun _menhir_env ->
22412 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22413 let {
22414 MenhirLib.EngineTypes.startp = _startpos__2_;
22415 MenhirLib.EngineTypes.endp = _endpos__2_;
22416 MenhirLib.EngineTypes.next = {
22417 MenhirLib.EngineTypes.state = _menhir_s;
22418 MenhirLib.EngineTypes.semv = m;
22419 MenhirLib.EngineTypes.startp = _startpos_m_;
22420 MenhirLib.EngineTypes.endp = _endpos_m_;
22421 MenhirLib.EngineTypes.next = _menhir_stack;
22422 };
22423 } = _menhir_stack in
22424 let m : 'tv_minus_exp_body = Obj.magic m in
22425 let _startpos = _startpos_m_ in
22426 let _endpos = _endpos__2_ in
22427 let _v : (
22428 # 143 "parser_cocci_menhir.mly"
22429 (Ast0_cocci.rule)
22430 # 22431 "parser_cocci_menhir.ml"
22431 ) =
22432 # 183 "parser_cocci_menhir.mly"
22433 ( m )
22434 # 22435 "parser_cocci_menhir.ml"
22435 in
22436 _menhir_env.MenhirLib.EngineTypes.stack <- {
22437 MenhirLib.EngineTypes.state = _menhir_s;
22438 MenhirLib.EngineTypes.semv = Obj.repr _v;
22439 MenhirLib.EngineTypes.startp = _startpos;
22440 MenhirLib.EngineTypes.endp = _endpos;
22441 MenhirLib.EngineTypes.next = _menhir_stack;
22442 });
22443 (fun _menhir_env ->
22444 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22445 let {
22446 MenhirLib.EngineTypes.startp = _startpos__2_;
22447 MenhirLib.EngineTypes.endp = _endpos__2_;
22448 MenhirLib.EngineTypes.next = {
22449 MenhirLib.EngineTypes.state = _menhir_s;
22450 MenhirLib.EngineTypes.semv = m;
22451 MenhirLib.EngineTypes.startp = _startpos_m_;
22452 MenhirLib.EngineTypes.endp = _endpos_m_;
22453 MenhirLib.EngineTypes.next = _menhir_stack;
22454 };
22455 } = _menhir_stack in
22456 let m : 'tv_minus_exp_body = Obj.magic m in
22457 let _startpos = _startpos_m_ in
22458 let _endpos = _endpos__2_ in
22459 let _v : (
22460 # 143 "parser_cocci_menhir.mly"
22461 (Ast0_cocci.rule)
22462 # 22463 "parser_cocci_menhir.ml"
22463 ) =
22464 # 184 "parser_cocci_menhir.mly"
22465 ( m )
22466 # 22467 "parser_cocci_menhir.ml"
22467 in
22468 _menhir_env.MenhirLib.EngineTypes.stack <- {
22469 MenhirLib.EngineTypes.state = _menhir_s;
22470 MenhirLib.EngineTypes.semv = Obj.repr _v;
22471 MenhirLib.EngineTypes.startp = _startpos;
22472 MenhirLib.EngineTypes.endp = _endpos;
22473 MenhirLib.EngineTypes.next = _menhir_stack;
22474 });
22475 (fun _menhir_env ->
22476 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22477 let {
22478 MenhirLib.EngineTypes.startp = _startpos__2_;
22479 MenhirLib.EngineTypes.endp = _endpos__2_;
22480 MenhirLib.EngineTypes.next = {
22481 MenhirLib.EngineTypes.state = _menhir_s;
22482 MenhirLib.EngineTypes.semv = _1;
22483 MenhirLib.EngineTypes.startp = _startpos__1_;
22484 MenhirLib.EngineTypes.endp = _endpos__1_;
22485 MenhirLib.EngineTypes.next = _menhir_stack;
22486 };
22487 } = _menhir_stack in
22488 let _1 : 'tv_minus_body = Obj.magic _1 in
22489 let _startpos = _startpos__1_ in
22490 let _endpos = _endpos__2_ in
22491 let _v : (
22492 # 140 "parser_cocci_menhir.mly"
22493 (Ast0_cocci.rule)
22494 # 22495 "parser_cocci_menhir.ml"
22495 ) =
22496 # 179 "parser_cocci_menhir.mly"
22497 ( _1 )
22498 # 22499 "parser_cocci_menhir.ml"
22499 in
22500 _menhir_env.MenhirLib.EngineTypes.stack <- {
22501 MenhirLib.EngineTypes.state = _menhir_s;
22502 MenhirLib.EngineTypes.semv = Obj.repr _v;
22503 MenhirLib.EngineTypes.startp = _startpos;
22504 MenhirLib.EngineTypes.endp = _endpos;
22505 MenhirLib.EngineTypes.next = _menhir_stack;
22506 });
22507 (fun _menhir_env ->
22508 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22509 let {
22510 MenhirLib.EngineTypes.startp = _startpos__2_;
22511 MenhirLib.EngineTypes.endp = _endpos__2_;
22512 MenhirLib.EngineTypes.next = {
22513 MenhirLib.EngineTypes.state = _menhir_s;
22514 MenhirLib.EngineTypes.semv = m;
22515 MenhirLib.EngineTypes.startp = _startpos_m_;
22516 MenhirLib.EngineTypes.endp = _endpos_m_;
22517 MenhirLib.EngineTypes.next = _menhir_stack;
22518 };
22519 } = _menhir_stack in
22520 let m : 'tv_minus_body = Obj.magic m in
22521 let _startpos = _startpos_m_ in
22522 let _endpos = _endpos__2_ in
22523 let _v : (
22524 # 140 "parser_cocci_menhir.mly"
22525 (Ast0_cocci.rule)
22526 # 22527 "parser_cocci_menhir.ml"
22527 ) =
22528 # 179 "parser_cocci_menhir.mly"
22529 ( m )
22530 # 22531 "parser_cocci_menhir.ml"
22531 in
22532 _menhir_env.MenhirLib.EngineTypes.stack <- {
22533 MenhirLib.EngineTypes.state = _menhir_s;
22534 MenhirLib.EngineTypes.semv = Obj.repr _v;
22535 MenhirLib.EngineTypes.startp = _startpos;
22536 MenhirLib.EngineTypes.endp = _endpos;
22537 MenhirLib.EngineTypes.next = _menhir_stack;
22538 });
22539 (fun _menhir_env ->
22540 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22541 let {
22542 MenhirLib.EngineTypes.startp = _startpos__2_;
22543 MenhirLib.EngineTypes.endp = _endpos__2_;
22544 MenhirLib.EngineTypes.next = {
22545 MenhirLib.EngineTypes.state = _menhir_s;
22546 MenhirLib.EngineTypes.semv = m;
22547 MenhirLib.EngineTypes.startp = _startpos_m_;
22548 MenhirLib.EngineTypes.endp = _endpos_m_;
22549 MenhirLib.EngineTypes.next = _menhir_stack;
22550 };
22551 } = _menhir_stack in
22552 let m : 'tv_minus_body = Obj.magic m in
22553 let _startpos = _startpos_m_ in
22554 let _endpos = _endpos__2_ in
22555 let _v : (
22556 # 140 "parser_cocci_menhir.mly"
22557 (Ast0_cocci.rule)
22558 # 22559 "parser_cocci_menhir.ml"
22559 ) =
22560 # 180 "parser_cocci_menhir.mly"
22561 ( m )
22562 # 22563 "parser_cocci_menhir.ml"
22563 in
22564 _menhir_env.MenhirLib.EngineTypes.stack <- {
22565 MenhirLib.EngineTypes.state = _menhir_s;
22566 MenhirLib.EngineTypes.semv = Obj.repr _v;
22567 MenhirLib.EngineTypes.startp = _startpos;
22568 MenhirLib.EngineTypes.endp = _endpos;
22569 MenhirLib.EngineTypes.next = _menhir_stack;
22570 });
22571 (fun _menhir_env ->
22572 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22573 let {
22574 MenhirLib.EngineTypes.state = _menhir_s;
22575 MenhirLib.EngineTypes.semv = _1;
22576 MenhirLib.EngineTypes.startp = _startpos__1_;
22577 MenhirLib.EngineTypes.endp = _endpos__1_;
22578 MenhirLib.EngineTypes.next = _menhir_stack;
22579 } = _menhir_stack in
22580 let _1 : 'tv_fundecl = Obj.magic _1 in
22581 let _startpos = _startpos__1_ in
22582 let _endpos = _endpos__1_ in
22583 let _v : 'tv_minus_start =
22584 # 1921 "parser_cocci_menhir.mly"
22585 ( [Ast0.wrap(Ast0.DECL(_1))] )
22586 # 22587 "parser_cocci_menhir.ml"
22587 in
22588 _menhir_env.MenhirLib.EngineTypes.stack <- {
22589 MenhirLib.EngineTypes.state = _menhir_s;
22590 MenhirLib.EngineTypes.semv = Obj.repr _v;
22591 MenhirLib.EngineTypes.startp = _startpos;
22592 MenhirLib.EngineTypes.endp = _endpos;
22593 MenhirLib.EngineTypes.next = _menhir_stack;
22594 });
22595 (fun _menhir_env ->
22596 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22597 let {
22598 MenhirLib.EngineTypes.state = _menhir_s;
22599 MenhirLib.EngineTypes.semv = _1;
22600 MenhirLib.EngineTypes.startp = _startpos__1_;
22601 MenhirLib.EngineTypes.endp = _endpos__1_;
22602 MenhirLib.EngineTypes.next = _menhir_stack;
22603 } = _menhir_stack in
22604 let _1 : 'tv_ctype = Obj.magic _1 in
22605 let _startpos = _startpos__1_ in
22606 let _endpos = _endpos__1_ in
22607 let _v : 'tv_minus_start =
22608 # 1922 "parser_cocci_menhir.mly"
22609 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
22610 # 22611 "parser_cocci_menhir.ml"
22611 in
22612 _menhir_env.MenhirLib.EngineTypes.stack <- {
22613 MenhirLib.EngineTypes.state = _menhir_s;
22614 MenhirLib.EngineTypes.semv = Obj.repr _v;
22615 MenhirLib.EngineTypes.startp = _startpos;
22616 MenhirLib.EngineTypes.endp = _endpos;
22617 MenhirLib.EngineTypes.next = _menhir_stack;
22618 });
22619 (fun _menhir_env ->
22620 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22621 let {
22622 MenhirLib.EngineTypes.state = _menhir_s;
22623 MenhirLib.EngineTypes.semv = _1;
22624 MenhirLib.EngineTypes.startp = _startpos__1_;
22625 MenhirLib.EngineTypes.endp = _endpos__1_;
22626 MenhirLib.EngineTypes.next = _menhir_stack;
22627 } = _menhir_stack in
22628 let _1 : 'tv_top_init = Obj.magic _1 in
22629 let _startpos = _startpos__1_ in
22630 let _endpos = _endpos__1_ in
22631 let _v : 'tv_minus_start =
22632 # 1923 "parser_cocci_menhir.mly"
22633 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
22634 # 22635 "parser_cocci_menhir.ml"
22635 in
22636 _menhir_env.MenhirLib.EngineTypes.stack <- {
22637 MenhirLib.EngineTypes.state = _menhir_s;
22638 MenhirLib.EngineTypes.semv = Obj.repr _v;
22639 MenhirLib.EngineTypes.startp = _startpos;
22640 MenhirLib.EngineTypes.endp = _endpos;
22641 MenhirLib.EngineTypes.next = _menhir_stack;
22642 });
22643 (fun _menhir_env ->
22644 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22645 let {
22646 MenhirLib.EngineTypes.state = _menhir_s;
22647 MenhirLib.EngineTypes.semv = _1;
22648 MenhirLib.EngineTypes.startp = _startpos__1_;
22649 MenhirLib.EngineTypes.endp = _endpos__1_;
22650 MenhirLib.EngineTypes.next = _menhir_stack;
22651 } = _menhir_stack in
22652 let _1 : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = Obj.magic _1 in
22653 let _startpos = _startpos__1_ in
22654 let _endpos = _endpos__1_ in
22655 let _v : 'tv_minus_start =
22656 # 1925 "parser_cocci_menhir.mly"
22657 ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
22658 # 22659 "parser_cocci_menhir.ml"
22659 in
22660 _menhir_env.MenhirLib.EngineTypes.stack <- {
22661 MenhirLib.EngineTypes.state = _menhir_s;
22662 MenhirLib.EngineTypes.semv = Obj.repr _v;
22663 MenhirLib.EngineTypes.startp = _startpos;
22664 MenhirLib.EngineTypes.endp = _endpos;
22665 MenhirLib.EngineTypes.next = _menhir_stack;
22666 });
22667 (fun _menhir_env ->
22668 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22669 let {
22670 MenhirLib.EngineTypes.semv = b;
22671 MenhirLib.EngineTypes.startp = _startpos_b_;
22672 MenhirLib.EngineTypes.endp = _endpos_b_;
22673 MenhirLib.EngineTypes.next = {
22674 MenhirLib.EngineTypes.state = _menhir_s;
22675 MenhirLib.EngineTypes.semv = a;
22676 MenhirLib.EngineTypes.startp = _startpos_a_;
22677 MenhirLib.EngineTypes.endp = _endpos_a_;
22678 MenhirLib.EngineTypes.next = _menhir_stack;
22679 };
22680 } = _menhir_stack in
22681 let b : 'tv_ctype = Obj.magic b in
22682 let a : (
22683 # 81 "parser_cocci_menhir.mly"
22684 (Data.clt)
22685 # 22686 "parser_cocci_menhir.ml"
22686 ) = Obj.magic a in
22687 let _startpos = _startpos_a_ in
22688 let _endpos = _endpos_b_ in
22689 let _v : 'tv_mzl_ctype_ =
22690 # 2099 "parser_cocci_menhir.mly"
22691 ( (P.clt2mcode "|" a, b) )
22692 # 22693 "parser_cocci_menhir.ml"
22693 in
22694 _menhir_env.MenhirLib.EngineTypes.stack <- {
22695 MenhirLib.EngineTypes.state = _menhir_s;
22696 MenhirLib.EngineTypes.semv = Obj.repr _v;
22697 MenhirLib.EngineTypes.startp = _startpos;
22698 MenhirLib.EngineTypes.endp = _endpos;
22699 MenhirLib.EngineTypes.next = _menhir_stack;
22700 });
22701 (fun _menhir_env ->
22702 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22703 let {
22704 MenhirLib.EngineTypes.semv = b;
22705 MenhirLib.EngineTypes.startp = _startpos_b_;
22706 MenhirLib.EngineTypes.endp = _endpos_b_;
22707 MenhirLib.EngineTypes.next = {
22708 MenhirLib.EngineTypes.state = _menhir_s;
22709 MenhirLib.EngineTypes.semv = a;
22710 MenhirLib.EngineTypes.startp = _startpos_a_;
22711 MenhirLib.EngineTypes.endp = _endpos_a_;
22712 MenhirLib.EngineTypes.next = _menhir_stack;
22713 };
22714 } = _menhir_stack in
22715 let b : 'tv_eexpr = Obj.magic b in
22716 let a : (
22717 # 81 "parser_cocci_menhir.mly"
22718 (Data.clt)
22719 # 22720 "parser_cocci_menhir.ml"
22720 ) = Obj.magic a in
22721 let _startpos = _startpos_a_ in
22722 let _endpos = _endpos_b_ in
22723 let _v : 'tv_mzl_eexpr_ =
22724 # 2099 "parser_cocci_menhir.mly"
22725 ( (P.clt2mcode "|" a, b) )
22726 # 22727 "parser_cocci_menhir.ml"
22727 in
22728 _menhir_env.MenhirLib.EngineTypes.stack <- {
22729 MenhirLib.EngineTypes.state = _menhir_s;
22730 MenhirLib.EngineTypes.semv = Obj.repr _v;
22731 MenhirLib.EngineTypes.startp = _startpos;
22732 MenhirLib.EngineTypes.endp = _endpos;
22733 MenhirLib.EngineTypes.next = _menhir_stack;
22734 });
22735 (fun _menhir_env ->
22736 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22737 let {
22738 MenhirLib.EngineTypes.semv = b;
22739 MenhirLib.EngineTypes.startp = _startpos_b_;
22740 MenhirLib.EngineTypes.endp = _endpos_b_;
22741 MenhirLib.EngineTypes.next = {
22742 MenhirLib.EngineTypes.state = _menhir_s;
22743 MenhirLib.EngineTypes.semv = a;
22744 MenhirLib.EngineTypes.startp = _startpos_a_;
22745 MenhirLib.EngineTypes.endp = _endpos_a_;
22746 MenhirLib.EngineTypes.next = _menhir_stack;
22747 };
22748 } = _menhir_stack in
22749 let b : 'tv_fun_after_dots_or = Obj.magic b in
22750 let a : (
22751 # 81 "parser_cocci_menhir.mly"
22752 (Data.clt)
22753 # 22754 "parser_cocci_menhir.ml"
22754 ) = Obj.magic a in
22755 let _startpos = _startpos_a_ in
22756 let _endpos = _endpos_b_ in
22757 let _v : 'tv_mzl_fun_after_dots_or_ =
22758 # 2099 "parser_cocci_menhir.mly"
22759 ( (P.clt2mcode "|" a, b) )
22760 # 22761 "parser_cocci_menhir.ml"
22761 in
22762 _menhir_env.MenhirLib.EngineTypes.stack <- {
22763 MenhirLib.EngineTypes.state = _menhir_s;
22764 MenhirLib.EngineTypes.semv = Obj.repr _v;
22765 MenhirLib.EngineTypes.startp = _startpos;
22766 MenhirLib.EngineTypes.endp = _endpos;
22767 MenhirLib.EngineTypes.next = _menhir_stack;
22768 });
22769 (fun _menhir_env ->
22770 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22771 let {
22772 MenhirLib.EngineTypes.semv = b;
22773 MenhirLib.EngineTypes.startp = _startpos_b_;
22774 MenhirLib.EngineTypes.endp = _endpos_b_;
22775 MenhirLib.EngineTypes.next = {
22776 MenhirLib.EngineTypes.state = _menhir_s;
22777 MenhirLib.EngineTypes.semv = a;
22778 MenhirLib.EngineTypes.startp = _startpos_a_;
22779 MenhirLib.EngineTypes.endp = _endpos_a_;
22780 MenhirLib.EngineTypes.next = _menhir_stack;
22781 };
22782 } = _menhir_stack in
22783 let b : 'tv_fun_start = Obj.magic b in
22784 let a : (
22785 # 81 "parser_cocci_menhir.mly"
22786 (Data.clt)
22787 # 22788 "parser_cocci_menhir.ml"
22788 ) = Obj.magic a in
22789 let _startpos = _startpos_a_ in
22790 let _endpos = _endpos_b_ in
22791 let _v : 'tv_mzl_fun_start_ =
22792 # 2099 "parser_cocci_menhir.mly"
22793 ( (P.clt2mcode "|" a, b) )
22794 # 22795 "parser_cocci_menhir.ml"
22795 in
22796 _menhir_env.MenhirLib.EngineTypes.stack <- {
22797 MenhirLib.EngineTypes.state = _menhir_s;
22798 MenhirLib.EngineTypes.semv = Obj.repr _v;
22799 MenhirLib.EngineTypes.startp = _startpos;
22800 MenhirLib.EngineTypes.endp = _endpos;
22801 MenhirLib.EngineTypes.next = _menhir_stack;
22802 });
22803 (fun _menhir_env ->
22804 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22805 let {
22806 MenhirLib.EngineTypes.semv = b;
22807 MenhirLib.EngineTypes.startp = _startpos_b_;
22808 MenhirLib.EngineTypes.endp = _endpos_b_;
22809 MenhirLib.EngineTypes.next = {
22810 MenhirLib.EngineTypes.state = _menhir_s;
22811 MenhirLib.EngineTypes.semv = a;
22812 MenhirLib.EngineTypes.startp = _startpos_a_;
22813 MenhirLib.EngineTypes.endp = _endpos_a_;
22814 MenhirLib.EngineTypes.next = _menhir_stack;
22815 };
22816 } = _menhir_stack in
22817 let b : 'tv_rule_elem_statement = Obj.magic b in
22818 let a : (
22819 # 81 "parser_cocci_menhir.mly"
22820 (Data.clt)
22821 # 22822 "parser_cocci_menhir.ml"
22822 ) = Obj.magic a in
22823 let _startpos = _startpos_a_ in
22824 let _endpos = _endpos_b_ in
22825 let _v : 'tv_mzl_rule_elem_statement_ =
22826 # 2099 "parser_cocci_menhir.mly"
22827 ( (P.clt2mcode "|" a, b) )
22828 # 22829 "parser_cocci_menhir.ml"
22829 in
22830 _menhir_env.MenhirLib.EngineTypes.stack <- {
22831 MenhirLib.EngineTypes.state = _menhir_s;
22832 MenhirLib.EngineTypes.semv = Obj.repr _v;
22833 MenhirLib.EngineTypes.startp = _startpos;
22834 MenhirLib.EngineTypes.endp = _endpos;
22835 MenhirLib.EngineTypes.next = _menhir_stack;
22836 });
22837 (fun _menhir_env ->
22838 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22839 let {
22840 MenhirLib.EngineTypes.semv = b;
22841 MenhirLib.EngineTypes.startp = _startpos_b_;
22842 MenhirLib.EngineTypes.endp = _endpos_b_;
22843 MenhirLib.EngineTypes.next = {
22844 MenhirLib.EngineTypes.state = _menhir_s;
22845 MenhirLib.EngineTypes.semv = a;
22846 MenhirLib.EngineTypes.startp = _startpos_a_;
22847 MenhirLib.EngineTypes.endp = _endpos_a_;
22848 MenhirLib.EngineTypes.next = _menhir_stack;
22849 };
22850 } = _menhir_stack in
22851 let b : 'tv_statement = Obj.magic b in
22852 let a : (
22853 # 81 "parser_cocci_menhir.mly"
22854 (Data.clt)
22855 # 22856 "parser_cocci_menhir.ml"
22856 ) = Obj.magic a in
22857 let _startpos = _startpos_a_ in
22858 let _endpos = _endpos_b_ in
22859 let _v : 'tv_mzl_statement_ =
22860 # 2099 "parser_cocci_menhir.mly"
22861 ( (P.clt2mcode "|" a, b) )
22862 # 22863 "parser_cocci_menhir.ml"
22863 in
22864 _menhir_env.MenhirLib.EngineTypes.stack <- {
22865 MenhirLib.EngineTypes.state = _menhir_s;
22866 MenhirLib.EngineTypes.semv = Obj.repr _v;
22867 MenhirLib.EngineTypes.startp = _startpos;
22868 MenhirLib.EngineTypes.endp = _endpos;
22869 MenhirLib.EngineTypes.next = _menhir_stack;
22870 });
22871 (fun _menhir_env ->
22872 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22873 let {
22874 MenhirLib.EngineTypes.state = _menhir_s;
22875 MenhirLib.EngineTypes.semv = _1;
22876 MenhirLib.EngineTypes.startp = _startpos__1_;
22877 MenhirLib.EngineTypes.endp = _endpos__1_;
22878 MenhirLib.EngineTypes.next = _menhir_stack;
22879 } = _menhir_stack in
22880 let _1 : 'tv_decl = Obj.magic _1 in
22881 let _startpos = _startpos__1_ in
22882 let _endpos = _endpos__1_ in
22883 let _v : 'tv_name_opt_decl =
22884 # 934 "parser_cocci_menhir.mly"
22885 ( _1 )
22886 # 22887 "parser_cocci_menhir.ml"
22887 in
22888 _menhir_env.MenhirLib.EngineTypes.stack <- {
22889 MenhirLib.EngineTypes.state = _menhir_s;
22890 MenhirLib.EngineTypes.semv = Obj.repr _v;
22891 MenhirLib.EngineTypes.startp = _startpos;
22892 MenhirLib.EngineTypes.endp = _endpos;
22893 MenhirLib.EngineTypes.next = _menhir_stack;
22894 });
22895 (fun _menhir_env ->
22896 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22897 let {
22898 MenhirLib.EngineTypes.semv = rp1;
22899 MenhirLib.EngineTypes.startp = _startpos_rp1_;
22900 MenhirLib.EngineTypes.endp = _endpos_rp1_;
22901 MenhirLib.EngineTypes.next = {
22902 MenhirLib.EngineTypes.semv = d;
22903 MenhirLib.EngineTypes.startp = _startpos_d_;
22904 MenhirLib.EngineTypes.endp = _endpos_d_;
22905 MenhirLib.EngineTypes.next = {
22906 MenhirLib.EngineTypes.semv = lp1;
22907 MenhirLib.EngineTypes.startp = _startpos_lp1_;
22908 MenhirLib.EngineTypes.endp = _endpos_lp1_;
22909 MenhirLib.EngineTypes.next = {
22910 MenhirLib.EngineTypes.semv = rp;
22911 MenhirLib.EngineTypes.startp = _startpos_rp_;
22912 MenhirLib.EngineTypes.endp = _endpos_rp_;
22913 MenhirLib.EngineTypes.next = {
22914 MenhirLib.EngineTypes.semv = s;
22915 MenhirLib.EngineTypes.startp = _startpos_s_;
22916 MenhirLib.EngineTypes.endp = _endpos_s_;
22917 MenhirLib.EngineTypes.next = {
22918 MenhirLib.EngineTypes.semv = lp;
22919 MenhirLib.EngineTypes.startp = _startpos_lp_;
22920 MenhirLib.EngineTypes.endp = _endpos_lp_;
22921 MenhirLib.EngineTypes.next = {
22922 MenhirLib.EngineTypes.state = _menhir_s;
22923 MenhirLib.EngineTypes.semv = t;
22924 MenhirLib.EngineTypes.startp = _startpos_t_;
22925 MenhirLib.EngineTypes.endp = _endpos_t_;
22926 MenhirLib.EngineTypes.next = _menhir_stack;
22927 };
22928 };
22929 };
22930 };
22931 };
22932 };
22933 } = _menhir_stack in
22934 let rp1 : (
22935 # 81 "parser_cocci_menhir.mly"
22936 (Data.clt)
22937 # 22938 "parser_cocci_menhir.ml"
22938 ) = Obj.magic rp1 in
22939 let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
22940 let lp1 : (
22941 # 80 "parser_cocci_menhir.mly"
22942 (Data.clt)
22943 # 22944 "parser_cocci_menhir.ml"
22944 ) = Obj.magic lp1 in
22945 let rp : (
22946 # 81 "parser_cocci_menhir.mly"
22947 (Data.clt)
22948 # 22949 "parser_cocci_menhir.ml"
22949 ) = Obj.magic rp in
22950 let s : (
22951 # 103 "parser_cocci_menhir.mly"
22952 (Data.clt)
22953 # 22954 "parser_cocci_menhir.ml"
22954 ) = Obj.magic s in
22955 let lp : (
22956 # 80 "parser_cocci_menhir.mly"
22957 (Data.clt)
22958 # 22959 "parser_cocci_menhir.ml"
22959 ) = Obj.magic lp in
22960 let t : 'tv_ctype = Obj.magic t in
22961 let _startpos = _startpos_t_ in
22962 let _endpos = _endpos_rp1_ in
22963 let _v : 'tv_name_opt_decl =
22964 # 937 "parser_cocci_menhir.mly"
22965 ( let fnptr =
22966 Ast0.wrap
22967 (Ast0.FunctionPointer
22968 (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
22969 P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
22970 Ast0.wrap(Ast0.Param(fnptr, None)) )
22971 # 22972 "parser_cocci_menhir.ml"
22972 in
22973 _menhir_env.MenhirLib.EngineTypes.stack <- {
22974 MenhirLib.EngineTypes.state = _menhir_s;
22975 MenhirLib.EngineTypes.semv = Obj.repr _v;
22976 MenhirLib.EngineTypes.startp = _startpos;
22977 MenhirLib.EngineTypes.endp = _endpos;
22978 MenhirLib.EngineTypes.next = _menhir_stack;
22979 });
22980 (fun _menhir_env ->
22981 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
22982 let {
22983 MenhirLib.EngineTypes.semv = _2;
22984 MenhirLib.EngineTypes.startp = _startpos__2_;
22985 MenhirLib.EngineTypes.endp = _endpos__2_;
22986 MenhirLib.EngineTypes.next = {
22987 MenhirLib.EngineTypes.state = _menhir_s;
22988 MenhirLib.EngineTypes.semv = _1;
22989 MenhirLib.EngineTypes.startp = _startpos__1_;
22990 MenhirLib.EngineTypes.endp = _endpos__1_;
22991 MenhirLib.EngineTypes.next = _menhir_stack;
22992 };
22993 } = _menhir_stack in
22994 let _2 : 'tv_nest_after_stm = Obj.magic _2 in
22995 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
22996 let _startpos = _startpos__1_ in
22997 let _endpos = _endpos__2_ in
22998 let _v : 'tv_nest_after_dots =
22999 # 2041 "parser_cocci_menhir.mly"
23000 (_1@_2)
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.semv = _2;
23014 MenhirLib.EngineTypes.startp = _startpos__2_;
23015 MenhirLib.EngineTypes.endp = _endpos__2_;
23016 MenhirLib.EngineTypes.next = {
23017 MenhirLib.EngineTypes.state = _menhir_s;
23018 MenhirLib.EngineTypes.startp = _startpos__1_;
23019 MenhirLib.EngineTypes.endp = _endpos__1_;
23020 MenhirLib.EngineTypes.next = _menhir_stack;
23021 };
23022 } = _menhir_stack in
23023 let _2 : 'tv_nest_after_exp = Obj.magic _2 in
23024 let _startpos = _startpos__1_ in
23025 let _endpos = _endpos__2_ in
23026 let _v : 'tv_nest_after_dots =
23027 # 2042 "parser_cocci_menhir.mly"
23028 (_2)
23029 # 23030 "parser_cocci_menhir.ml"
23030 in
23031 _menhir_env.MenhirLib.EngineTypes.stack <- {
23032 MenhirLib.EngineTypes.state = _menhir_s;
23033 MenhirLib.EngineTypes.semv = Obj.repr _v;
23034 MenhirLib.EngineTypes.startp = _startpos;
23035 MenhirLib.EngineTypes.endp = _endpos;
23036 MenhirLib.EngineTypes.next = _menhir_stack;
23037 });
23038 (fun _menhir_env ->
23039 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23040 let {
23041 MenhirLib.EngineTypes.semv = _2;
23042 MenhirLib.EngineTypes.startp = _startpos__2_;
23043 MenhirLib.EngineTypes.endp = _endpos__2_;
23044 MenhirLib.EngineTypes.next = {
23045 MenhirLib.EngineTypes.state = _menhir_s;
23046 MenhirLib.EngineTypes.semv = _1;
23047 MenhirLib.EngineTypes.startp = _startpos__1_;
23048 MenhirLib.EngineTypes.endp = _endpos__1_;
23049 MenhirLib.EngineTypes.next = _menhir_stack;
23050 };
23051 } = _menhir_stack in
23052 let _2 : 'tv_nest_after_exp = Obj.magic _2 in
23053 let _1 : 'tv_expr = Obj.magic _1 in
23054 let _startpos = _startpos__1_ in
23055 let _endpos = _endpos__2_ in
23056 let _v : 'tv_nest_after_dots =
23057 # 2043 "parser_cocci_menhir.mly"
23058 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
23059 # 23060 "parser_cocci_menhir.ml"
23060 in
23061 _menhir_env.MenhirLib.EngineTypes.stack <- {
23062 MenhirLib.EngineTypes.state = _menhir_s;
23063 MenhirLib.EngineTypes.semv = Obj.repr _v;
23064 MenhirLib.EngineTypes.startp = _startpos;
23065 MenhirLib.EngineTypes.endp = _endpos;
23066 MenhirLib.EngineTypes.next = _menhir_stack;
23067 });
23068 (fun _menhir_env ->
23069 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23070 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23071 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23072 let _endpos = _startpos in
23073 let _v : 'tv_nest_after_exp =
23074 # 2051 "parser_cocci_menhir.mly"
23075 ([])
23076 # 23077 "parser_cocci_menhir.ml"
23077 in
23078 _menhir_env.MenhirLib.EngineTypes.stack <- {
23079 MenhirLib.EngineTypes.state = _menhir_s;
23080 MenhirLib.EngineTypes.semv = Obj.repr _v;
23081 MenhirLib.EngineTypes.startp = _startpos;
23082 MenhirLib.EngineTypes.endp = _endpos;
23083 MenhirLib.EngineTypes.next = _menhir_stack;
23084 });
23085 (fun _menhir_env ->
23086 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23087 let {
23088 MenhirLib.EngineTypes.semv = _2;
23089 MenhirLib.EngineTypes.startp = _startpos__2_;
23090 MenhirLib.EngineTypes.endp = _endpos__2_;
23091 MenhirLib.EngineTypes.next = {
23092 MenhirLib.EngineTypes.state = _menhir_s;
23093 MenhirLib.EngineTypes.semv = _1;
23094 MenhirLib.EngineTypes.startp = _startpos__1_;
23095 MenhirLib.EngineTypes.endp = _endpos__1_;
23096 MenhirLib.EngineTypes.next = _menhir_stack;
23097 };
23098 } = _menhir_stack in
23099 let _2 : 'tv_nest_after_dots = Obj.magic _2 in
23100 let _1 : 'tv_stm_dots = Obj.magic _1 in
23101 let _startpos = _startpos__1_ in
23102 let _endpos = _endpos__2_ in
23103 let _v : 'tv_nest_after_exp =
23104 # 2052 "parser_cocci_menhir.mly"
23105 (_1::_2)
23106 # 23107 "parser_cocci_menhir.ml"
23107 in
23108 _menhir_env.MenhirLib.EngineTypes.stack <- {
23109 MenhirLib.EngineTypes.state = _menhir_s;
23110 MenhirLib.EngineTypes.semv = Obj.repr _v;
23111 MenhirLib.EngineTypes.startp = _startpos;
23112 MenhirLib.EngineTypes.endp = _endpos;
23113 MenhirLib.EngineTypes.next = _menhir_stack;
23114 });
23115 (fun _menhir_env ->
23116 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23117 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
23118 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
23119 let _endpos = _startpos in
23120 let _v : 'tv_nest_after_stm =
23121 # 2046 "parser_cocci_menhir.mly"
23122 ([])
23123 # 23124 "parser_cocci_menhir.ml"
23124 in
23125 _menhir_env.MenhirLib.EngineTypes.stack <- {
23126 MenhirLib.EngineTypes.state = _menhir_s;
23127 MenhirLib.EngineTypes.semv = Obj.repr _v;
23128 MenhirLib.EngineTypes.startp = _startpos;
23129 MenhirLib.EngineTypes.endp = _endpos;
23130 MenhirLib.EngineTypes.next = _menhir_stack;
23131 });
23132 (fun _menhir_env ->
23133 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23134 let {
23135 MenhirLib.EngineTypes.semv = _2;
23136 MenhirLib.EngineTypes.startp = _startpos__2_;
23137 MenhirLib.EngineTypes.endp = _endpos__2_;
23138 MenhirLib.EngineTypes.next = {
23139 MenhirLib.EngineTypes.state = _menhir_s;
23140 MenhirLib.EngineTypes.semv = _1;
23141 MenhirLib.EngineTypes.startp = _startpos__1_;
23142 MenhirLib.EngineTypes.endp = _endpos__1_;
23143 MenhirLib.EngineTypes.next = _menhir_stack;
23144 };
23145 } = _menhir_stack in
23146 let _2 : 'tv_nest_after_dots = Obj.magic _2 in
23147 let _1 : 'tv_stm_dots = Obj.magic _1 in
23148 let _startpos = _startpos__1_ in
23149 let _endpos = _endpos__2_ in
23150 let _v : 'tv_nest_after_stm =
23151 # 2047 "parser_cocci_menhir.mly"
23152 (_1::_2)
23153 # 23154 "parser_cocci_menhir.ml"
23154 in
23155 _menhir_env.MenhirLib.EngineTypes.stack <- {
23156 MenhirLib.EngineTypes.state = _menhir_s;
23157 MenhirLib.EngineTypes.semv = Obj.repr _v;
23158 MenhirLib.EngineTypes.startp = _startpos;
23159 MenhirLib.EngineTypes.endp = _endpos;
23160 MenhirLib.EngineTypes.next = _menhir_stack;
23161 });
23162 (fun _menhir_env ->
23163 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23164 let {
23165 MenhirLib.EngineTypes.semv = _2;
23166 MenhirLib.EngineTypes.startp = _startpos__2_;
23167 MenhirLib.EngineTypes.endp = _endpos__2_;
23168 MenhirLib.EngineTypes.next = {
23169 MenhirLib.EngineTypes.state = _menhir_s;
23170 MenhirLib.EngineTypes.semv = _1;
23171 MenhirLib.EngineTypes.startp = _startpos__1_;
23172 MenhirLib.EngineTypes.endp = _endpos__1_;
23173 MenhirLib.EngineTypes.next = _menhir_stack;
23174 };
23175 } = _menhir_stack in
23176 let _2 : 'tv_nest_after_stm = Obj.magic _2 in
23177 let _1 : 'tv_decl_statement = Obj.magic _1 in
23178 let _startpos = _startpos__1_ in
23179 let _endpos = _endpos__2_ in
23180 let _v : 'tv_nest_after_stm =
23181 # 2048 "parser_cocci_menhir.mly"
23182 (_1@_2)
23183 # 23184 "parser_cocci_menhir.ml"
23184 in
23185 _menhir_env.MenhirLib.EngineTypes.stack <- {
23186 MenhirLib.EngineTypes.state = _menhir_s;
23187 MenhirLib.EngineTypes.semv = Obj.repr _v;
23188 MenhirLib.EngineTypes.startp = _startpos;
23189 MenhirLib.EngineTypes.endp = _endpos;
23190 MenhirLib.EngineTypes.next = _menhir_stack;
23191 });
23192 (fun _menhir_env ->
23193 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23194 let {
23195 MenhirLib.EngineTypes.semv = c;
23196 MenhirLib.EngineTypes.startp = _startpos_c_;
23197 MenhirLib.EngineTypes.endp = _endpos_c_;
23198 MenhirLib.EngineTypes.next = {
23199 MenhirLib.EngineTypes.semv = e;
23200 MenhirLib.EngineTypes.startp = _startpos_e_;
23201 MenhirLib.EngineTypes.endp = _endpos_e_;
23202 MenhirLib.EngineTypes.next = {
23203 MenhirLib.EngineTypes.state = _menhir_s;
23204 MenhirLib.EngineTypes.semv = _1;
23205 MenhirLib.EngineTypes.startp = _startpos__1_;
23206 MenhirLib.EngineTypes.endp = _endpos__1_;
23207 MenhirLib.EngineTypes.next = _menhir_stack;
23208 };
23209 };
23210 } = _menhir_stack in
23211 let c : (
23212 # 77 "parser_cocci_menhir.mly"
23213 (Data.clt)
23214 # 23215 "parser_cocci_menhir.ml"
23215 ) = Obj.magic c in
23216 let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
23217 let _1 : (
23218 # 77 "parser_cocci_menhir.mly"
23219 (Data.clt)
23220 # 23221 "parser_cocci_menhir.ml"
23221 ) = Obj.magic _1 in
23222 let _startpos = _startpos__1_ in
23223 let _endpos = _endpos_c_ in
23224 let _v : 'tv_nest_expressions =
23225 # 1307 "parser_cocci_menhir.mly"
23226 ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
23227 Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
23228 P.clt2mcode "...>" c, None, false)) )
23229 # 23230 "parser_cocci_menhir.ml"
23230 in
23231 _menhir_env.MenhirLib.EngineTypes.stack <- {
23232 MenhirLib.EngineTypes.state = _menhir_s;
23233 MenhirLib.EngineTypes.semv = Obj.repr _v;
23234 MenhirLib.EngineTypes.startp = _startpos;
23235 MenhirLib.EngineTypes.endp = _endpos;
23236 MenhirLib.EngineTypes.next = _menhir_stack;
23237 });
23238 (fun _menhir_env ->
23239 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23240 let {
23241 MenhirLib.EngineTypes.semv = c;
23242 MenhirLib.EngineTypes.startp = _startpos_c_;
23243 MenhirLib.EngineTypes.endp = _endpos_c_;
23244 MenhirLib.EngineTypes.next = {
23245 MenhirLib.EngineTypes.semv = e;
23246 MenhirLib.EngineTypes.startp = _startpos_e_;
23247 MenhirLib.EngineTypes.endp = _endpos_e_;
23248 MenhirLib.EngineTypes.next = {
23249 MenhirLib.EngineTypes.state = _menhir_s;
23250 MenhirLib.EngineTypes.semv = _1;
23251 MenhirLib.EngineTypes.startp = _startpos__1_;
23252 MenhirLib.EngineTypes.endp = _endpos__1_;
23253 MenhirLib.EngineTypes.next = _menhir_stack;
23254 };
23255 };
23256 } = _menhir_stack in
23257 let c : (
23258 # 77 "parser_cocci_menhir.mly"
23259 (Data.clt)
23260 # 23261 "parser_cocci_menhir.ml"
23261 ) = Obj.magic c in
23262 let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
23263 let _1 : (
23264 # 77 "parser_cocci_menhir.mly"
23265 (Data.clt)
23266 # 23267 "parser_cocci_menhir.ml"
23267 ) = Obj.magic _1 in
23268 let _startpos = _startpos__1_ in
23269 let _endpos = _endpos_c_ in
23270 let _v : 'tv_nest_expressions =
23271 # 1311 "parser_cocci_menhir.mly"
23272 ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
23273 Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
23274 P.clt2mcode "...+>" c, None, true)) )
23275 # 23276 "parser_cocci_menhir.ml"
23276 in
23277 _menhir_env.MenhirLib.EngineTypes.stack <- {
23278 MenhirLib.EngineTypes.state = _menhir_s;
23279 MenhirLib.EngineTypes.semv = Obj.repr _v;
23280 MenhirLib.EngineTypes.startp = _startpos;
23281 MenhirLib.EngineTypes.endp = _endpos;
23282 MenhirLib.EngineTypes.next = _menhir_stack;
23283 });
23284 (fun _menhir_env ->
23285 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23286 let {
23287 MenhirLib.EngineTypes.state = _menhir_s;
23288 MenhirLib.EngineTypes.semv = _1;
23289 MenhirLib.EngineTypes.startp = _startpos__1_;
23290 MenhirLib.EngineTypes.endp = _endpos__1_;
23291 MenhirLib.EngineTypes.next = _menhir_stack;
23292 } = _menhir_stack in
23293 let _1 : 'tv_nest_after_dots = Obj.magic _1 in
23294 let _startpos = _startpos__1_ in
23295 let _endpos = _endpos__1_ in
23296 let _v : 'tv_nest_start =
23297 # 2038 "parser_cocci_menhir.mly"
23298 ( Ast0.wrap(Ast0.DOTS(_1)) )
23299 # 23300 "parser_cocci_menhir.ml"
23300 in
23301 _menhir_env.MenhirLib.EngineTypes.stack <- {
23302 MenhirLib.EngineTypes.state = _menhir_s;
23303 MenhirLib.EngineTypes.semv = Obj.repr _v;
23304 MenhirLib.EngineTypes.startp = _startpos;
23305 MenhirLib.EngineTypes.endp = _endpos;
23306 MenhirLib.EngineTypes.next = _menhir_stack;
23307 });
23308 (fun _menhir_env ->
23309 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23310 let {
23311 MenhirLib.EngineTypes.state = _menhir_s;
23312 MenhirLib.EngineTypes.startp = _startpos__1_;
23313 MenhirLib.EngineTypes.endp = _endpos__1_;
23314 MenhirLib.EngineTypes.next = _menhir_stack;
23315 } = _menhir_stack in
23316 let _startpos = _startpos__1_ in
23317 let _endpos = _endpos__1_ in
23318 let _v : (
23319 # 174 "parser_cocci_menhir.mly"
23320 (unit)
23321 # 23322 "parser_cocci_menhir.ml"
23322 ) =
23323 # 2166 "parser_cocci_menhir.mly"
23324 ( () )
23325 # 23326 "parser_cocci_menhir.ml"
23326 in
23327 _menhir_env.MenhirLib.EngineTypes.stack <- {
23328 MenhirLib.EngineTypes.state = _menhir_s;
23329 MenhirLib.EngineTypes.semv = Obj.repr _v;
23330 MenhirLib.EngineTypes.startp = _startpos;
23331 MenhirLib.EngineTypes.endp = _endpos;
23332 MenhirLib.EngineTypes.next = _menhir_stack;
23333 });
23334 (fun _menhir_env ->
23335 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23336 let {
23337 MenhirLib.EngineTypes.startp = _startpos__2_;
23338 MenhirLib.EngineTypes.endp = _endpos__2_;
23339 MenhirLib.EngineTypes.next = {
23340 MenhirLib.EngineTypes.state = _menhir_s;
23341 MenhirLib.EngineTypes.startp = _startpos__1_;
23342 MenhirLib.EngineTypes.endp = _endpos__1_;
23343 MenhirLib.EngineTypes.next = _menhir_stack;
23344 };
23345 } = _menhir_stack in
23346 let _startpos = _startpos__1_ in
23347 let _endpos = _endpos__2_ in
23348 let _v : (
23349 # 174 "parser_cocci_menhir.mly"
23350 (unit)
23351 # 23352 "parser_cocci_menhir.ml"
23352 ) =
23353 # 2167 "parser_cocci_menhir.mly"
23354 ( () )
23355 # 23356 "parser_cocci_menhir.ml"
23356 in
23357 _menhir_env.MenhirLib.EngineTypes.stack <- {
23358 MenhirLib.EngineTypes.state = _menhir_s;
23359 MenhirLib.EngineTypes.semv = Obj.repr _v;
23360 MenhirLib.EngineTypes.startp = _startpos;
23361 MenhirLib.EngineTypes.endp = _endpos;
23362 MenhirLib.EngineTypes.next = _menhir_stack;
23363 });
23364 (fun _menhir_env ->
23365 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23366 let {
23367 MenhirLib.EngineTypes.state = _menhir_s;
23368 MenhirLib.EngineTypes.startp = _startpos__1_;
23369 MenhirLib.EngineTypes.endp = _endpos__1_;
23370 MenhirLib.EngineTypes.next = _menhir_stack;
23371 } = _menhir_stack in
23372 let _startpos = _startpos__1_ in
23373 let _endpos = _endpos__1_ in
23374 let _v : (
23375 # 174 "parser_cocci_menhir.mly"
23376 (unit)
23377 # 23378 "parser_cocci_menhir.ml"
23378 ) =
23379 # 2168 "parser_cocci_menhir.mly"
23380 ( () )
23381 # 23382 "parser_cocci_menhir.ml"
23382 in
23383 _menhir_env.MenhirLib.EngineTypes.stack <- {
23384 MenhirLib.EngineTypes.state = _menhir_s;
23385 MenhirLib.EngineTypes.semv = Obj.repr _v;
23386 MenhirLib.EngineTypes.startp = _startpos;
23387 MenhirLib.EngineTypes.endp = _endpos;
23388 MenhirLib.EngineTypes.next = _menhir_stack;
23389 });
23390 (fun _menhir_env ->
23391 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23392 let {
23393 MenhirLib.EngineTypes.semv = dg;
23394 MenhirLib.EngineTypes.startp = _startpos_dg_;
23395 MenhirLib.EngineTypes.endp = _endpos_dg_;
23396 MenhirLib.EngineTypes.next = {
23397 MenhirLib.EngineTypes.state = _menhir_s;
23398 MenhirLib.EngineTypes.semv = g;
23399 MenhirLib.EngineTypes.startp = _startpos_g_;
23400 MenhirLib.EngineTypes.endp = _endpos_g_;
23401 MenhirLib.EngineTypes.next = _menhir_stack;
23402 };
23403 } = _menhir_stack in
23404 let dg : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic dg in
23405 let g : 'tv_dexpr = Obj.magic g in
23406 let _startpos = _startpos_g_ in
23407 let _endpos = _endpos_dg_ in
23408 let _v : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ =
23409 # 1529 "parser_cocci_menhir.mly"
23410 ( function dot_builder ->
23411 g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
23412 # 23413 "parser_cocci_menhir.ml"
23413 in
23414 _menhir_env.MenhirLib.EngineTypes.stack <- {
23415 MenhirLib.EngineTypes.state = _menhir_s;
23416 MenhirLib.EngineTypes.semv = Obj.repr _v;
23417 MenhirLib.EngineTypes.startp = _startpos;
23418 MenhirLib.EngineTypes.endp = _endpos;
23419 MenhirLib.EngineTypes.next = _menhir_stack;
23420 });
23421 (fun _menhir_env ->
23422 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23423 let {
23424 MenhirLib.EngineTypes.state = _menhir_s;
23425 MenhirLib.EngineTypes.semv = x;
23426 MenhirLib.EngineTypes.startp = _startpos_x_;
23427 MenhirLib.EngineTypes.endp = _endpos_x_;
23428 MenhirLib.EngineTypes.next = _menhir_stack;
23429 } = _menhir_stack in
23430 let x : (
23431 # 103 "parser_cocci_menhir.mly"
23432 (Data.clt)
23433 # 23434 "parser_cocci_menhir.ml"
23434 ) = Obj.magic x in
23435 let _startpos = _startpos_x_ in
23436 let _endpos = _endpos_x_ in
23437 let _v : 'tv_nonempty_list_TMul_ =
23438 # 124 "standard.mly"
23439 ( [ x ] )
23440 # 23441 "parser_cocci_menhir.ml"
23441 in
23442 _menhir_env.MenhirLib.EngineTypes.stack <- {
23443 MenhirLib.EngineTypes.state = _menhir_s;
23444 MenhirLib.EngineTypes.semv = Obj.repr _v;
23445 MenhirLib.EngineTypes.startp = _startpos;
23446 MenhirLib.EngineTypes.endp = _endpos;
23447 MenhirLib.EngineTypes.next = _menhir_stack;
23448 });
23449 (fun _menhir_env ->
23450 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23451 let {
23452 MenhirLib.EngineTypes.semv = xs;
23453 MenhirLib.EngineTypes.startp = _startpos_xs_;
23454 MenhirLib.EngineTypes.endp = _endpos_xs_;
23455 MenhirLib.EngineTypes.next = {
23456 MenhirLib.EngineTypes.state = _menhir_s;
23457 MenhirLib.EngineTypes.semv = x;
23458 MenhirLib.EngineTypes.startp = _startpos_x_;
23459 MenhirLib.EngineTypes.endp = _endpos_x_;
23460 MenhirLib.EngineTypes.next = _menhir_stack;
23461 };
23462 } = _menhir_stack in
23463 let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in
23464 let x : (
23465 # 103 "parser_cocci_menhir.mly"
23466 (Data.clt)
23467 # 23468 "parser_cocci_menhir.ml"
23468 ) = Obj.magic x in
23469 let _startpos = _startpos_x_ in
23470 let _endpos = _endpos_xs_ in
23471 let _v : 'tv_nonempty_list_TMul_ =
23472 # 126 "standard.mly"
23473 ( x :: xs )
23474 # 23475 "parser_cocci_menhir.ml"
23475 in
23476 _menhir_env.MenhirLib.EngineTypes.stack <- {
23477 MenhirLib.EngineTypes.state = _menhir_s;
23478 MenhirLib.EngineTypes.semv = Obj.repr _v;
23479 MenhirLib.EngineTypes.startp = _startpos;
23480 MenhirLib.EngineTypes.endp = _endpos;
23481 MenhirLib.EngineTypes.next = _menhir_stack;
23482 });
23483 (fun _menhir_env ->
23484 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23485 let {
23486 MenhirLib.EngineTypes.state = _menhir_s;
23487 MenhirLib.EngineTypes.semv = _1;
23488 MenhirLib.EngineTypes.startp = _startpos__1_;
23489 MenhirLib.EngineTypes.endp = _endpos__1_;
23490 MenhirLib.EngineTypes.next = _menhir_stack;
23491 } = _menhir_stack in
23492 let _1 : 'tv_aexpr = Obj.magic _1 in
23493 let _startpos = _startpos__1_ in
23494 let _endpos = _endpos__1_ in
23495 let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
23496 # 1848 "parser_cocci_menhir.mly"
23497 ( fun build_dots build_comma -> [_1] )
23498 # 23499 "parser_cocci_menhir.ml"
23499 in
23500 _menhir_env.MenhirLib.EngineTypes.stack <- {
23501 MenhirLib.EngineTypes.state = _menhir_s;
23502 MenhirLib.EngineTypes.semv = Obj.repr _v;
23503 MenhirLib.EngineTypes.startp = _startpos;
23504 MenhirLib.EngineTypes.endp = _endpos;
23505 MenhirLib.EngineTypes.next = _menhir_stack;
23506 });
23507 (fun _menhir_env ->
23508 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23509 let {
23510 MenhirLib.EngineTypes.semv = _2;
23511 MenhirLib.EngineTypes.startp = _startpos__2_;
23512 MenhirLib.EngineTypes.endp = _endpos__2_;
23513 MenhirLib.EngineTypes.next = {
23514 MenhirLib.EngineTypes.state = _menhir_s;
23515 MenhirLib.EngineTypes.semv = _1;
23516 MenhirLib.EngineTypes.startp = _startpos__1_;
23517 MenhirLib.EngineTypes.endp = _endpos__1_;
23518 MenhirLib.EngineTypes.next = _menhir_stack;
23519 };
23520 } = _menhir_stack in
23521 let _2 : (
23522 # 111 "parser_cocci_menhir.mly"
23523 (Data.clt)
23524 # 23525 "parser_cocci_menhir.ml"
23525 ) = Obj.magic _2 in
23526 let _1 : 'tv_aexpr = Obj.magic _1 in
23527 let _startpos = _startpos__1_ in
23528 let _endpos = _endpos__2_ in
23529 let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
23530 # 1850 "parser_cocci_menhir.mly"
23531 ( fun build_dots build_comma ->
23532 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
23533 # 23534 "parser_cocci_menhir.ml"
23534 in
23535 _menhir_env.MenhirLib.EngineTypes.stack <- {
23536 MenhirLib.EngineTypes.state = _menhir_s;
23537 MenhirLib.EngineTypes.semv = Obj.repr _v;
23538 MenhirLib.EngineTypes.startp = _startpos;
23539 MenhirLib.EngineTypes.endp = _endpos;
23540 MenhirLib.EngineTypes.next = _menhir_stack;
23541 });
23542 (fun _menhir_env ->
23543 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23544 let {
23545 MenhirLib.EngineTypes.semv = _3;
23546 MenhirLib.EngineTypes.startp = _startpos__3_;
23547 MenhirLib.EngineTypes.endp = _endpos__3_;
23548 MenhirLib.EngineTypes.next = {
23549 MenhirLib.EngineTypes.semv = _2;
23550 MenhirLib.EngineTypes.startp = _startpos__2_;
23551 MenhirLib.EngineTypes.endp = _endpos__2_;
23552 MenhirLib.EngineTypes.next = {
23553 MenhirLib.EngineTypes.state = _menhir_s;
23554 MenhirLib.EngineTypes.semv = _1;
23555 MenhirLib.EngineTypes.startp = _startpos__1_;
23556 MenhirLib.EngineTypes.endp = _endpos__1_;
23557 MenhirLib.EngineTypes.next = _menhir_stack;
23558 };
23559 };
23560 } = _menhir_stack in
23561 let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in
23562 let _2 : (
23563 # 111 "parser_cocci_menhir.mly"
23564 (Data.clt)
23565 # 23566 "parser_cocci_menhir.ml"
23566 ) = Obj.magic _2 in
23567 let _1 : 'tv_aexpr = Obj.magic _1 in
23568 let _startpos = _startpos__1_ in
23569 let _endpos = _endpos__3_ in
23570 let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
23571 # 1853 "parser_cocci_menhir.mly"
23572 ( fun build_dots build_comma ->
23573 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
23574 (_3 build_dots build_comma) )
23575 # 23576 "parser_cocci_menhir.ml"
23576 in
23577 _menhir_env.MenhirLib.EngineTypes.stack <- {
23578 MenhirLib.EngineTypes.state = _menhir_s;
23579 MenhirLib.EngineTypes.semv = Obj.repr _v;
23580 MenhirLib.EngineTypes.startp = _startpos;
23581 MenhirLib.EngineTypes.endp = _endpos;
23582 MenhirLib.EngineTypes.next = _menhir_stack;
23583 });
23584 (fun _menhir_env ->
23585 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23586 let {
23587 MenhirLib.EngineTypes.semv = _2;
23588 MenhirLib.EngineTypes.startp = _startpos__2_;
23589 MenhirLib.EngineTypes.endp = _endpos__2_;
23590 MenhirLib.EngineTypes.next = {
23591 MenhirLib.EngineTypes.state = _menhir_s;
23592 MenhirLib.EngineTypes.startp = _startpos__1_;
23593 MenhirLib.EngineTypes.endp = _endpos__1_;
23594 MenhirLib.EngineTypes.next = _menhir_stack;
23595 };
23596 } = _menhir_stack in
23597 let _2 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _2 in
23598 let _startpos = _startpos__1_ in
23599 let _endpos = _endpos__2_ in
23600 let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
23601 # 1856 "parser_cocci_menhir.mly"
23602 ( _2 )
23603 # 23604 "parser_cocci_menhir.ml"
23604 in
23605 _menhir_env.MenhirLib.EngineTypes.stack <- {
23606 MenhirLib.EngineTypes.state = _menhir_s;
23607 MenhirLib.EngineTypes.semv = Obj.repr _v;
23608 MenhirLib.EngineTypes.startp = _startpos;
23609 MenhirLib.EngineTypes.endp = _endpos;
23610 MenhirLib.EngineTypes.next = _menhir_stack;
23611 });
23612 (fun _menhir_env ->
23613 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23614 let {
23615 MenhirLib.EngineTypes.state = _menhir_s;
23616 MenhirLib.EngineTypes.semv = d;
23617 MenhirLib.EngineTypes.startp = _startpos_d_;
23618 MenhirLib.EngineTypes.endp = _endpos_d_;
23619 MenhirLib.EngineTypes.next = _menhir_stack;
23620 } = _menhir_stack in
23621 let d : (
23622 # 77 "parser_cocci_menhir.mly"
23623 (Data.clt)
23624 # 23625 "parser_cocci_menhir.ml"
23625 ) = Obj.magic d in
23626 let _startpos = _startpos_d_ in
23627 let _endpos = _endpos_d_ in
23628 let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
23629 # 1857 "parser_cocci_menhir.mly"
23630 ( fun build_dots build_comma -> [(build_dots "..." d)] )
23631 # 23632 "parser_cocci_menhir.ml"
23632 in
23633 _menhir_env.MenhirLib.EngineTypes.stack <- {
23634 MenhirLib.EngineTypes.state = _menhir_s;
23635 MenhirLib.EngineTypes.semv = Obj.repr _v;
23636 MenhirLib.EngineTypes.startp = _startpos;
23637 MenhirLib.EngineTypes.endp = _endpos;
23638 MenhirLib.EngineTypes.next = _menhir_stack;
23639 });
23640 (fun _menhir_env ->
23641 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23642 let {
23643 MenhirLib.EngineTypes.semv = _2;
23644 MenhirLib.EngineTypes.startp = _startpos__2_;
23645 MenhirLib.EngineTypes.endp = _endpos__2_;
23646 MenhirLib.EngineTypes.next = {
23647 MenhirLib.EngineTypes.state = _menhir_s;
23648 MenhirLib.EngineTypes.semv = d;
23649 MenhirLib.EngineTypes.startp = _startpos_d_;
23650 MenhirLib.EngineTypes.endp = _endpos_d_;
23651 MenhirLib.EngineTypes.next = _menhir_stack;
23652 };
23653 } = _menhir_stack in
23654 let _2 : (
23655 # 111 "parser_cocci_menhir.mly"
23656 (Data.clt)
23657 # 23658 "parser_cocci_menhir.ml"
23658 ) = Obj.magic _2 in
23659 let d : (
23660 # 77 "parser_cocci_menhir.mly"
23661 (Data.clt)
23662 # 23663 "parser_cocci_menhir.ml"
23663 ) = Obj.magic d in
23664 let _startpos = _startpos_d_ in
23665 let _endpos = _endpos__2_ in
23666 let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
23667 # 1859 "parser_cocci_menhir.mly"
23668 ( fun build_dots build_comma ->
23669 [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
23670 # 23671 "parser_cocci_menhir.ml"
23671 in
23672 _menhir_env.MenhirLib.EngineTypes.stack <- {
23673 MenhirLib.EngineTypes.state = _menhir_s;
23674 MenhirLib.EngineTypes.semv = Obj.repr _v;
23675 MenhirLib.EngineTypes.startp = _startpos;
23676 MenhirLib.EngineTypes.endp = _endpos;
23677 MenhirLib.EngineTypes.next = _menhir_stack;
23678 });
23679 (fun _menhir_env ->
23680 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23681 let {
23682 MenhirLib.EngineTypes.semv = r;
23683 MenhirLib.EngineTypes.startp = _startpos_r_;
23684 MenhirLib.EngineTypes.endp = _endpos_r_;
23685 MenhirLib.EngineTypes.next = {
23686 MenhirLib.EngineTypes.semv = _2;
23687 MenhirLib.EngineTypes.startp = _startpos__2_;
23688 MenhirLib.EngineTypes.endp = _endpos__2_;
23689 MenhirLib.EngineTypes.next = {
23690 MenhirLib.EngineTypes.state = _menhir_s;
23691 MenhirLib.EngineTypes.semv = d;
23692 MenhirLib.EngineTypes.startp = _startpos_d_;
23693 MenhirLib.EngineTypes.endp = _endpos_d_;
23694 MenhirLib.EngineTypes.next = _menhir_stack;
23695 };
23696 };
23697 } = _menhir_stack in
23698 let r : 'tv_continue_list_aexpr_TEllipsis_ = Obj.magic r in
23699 let _2 : (
23700 # 111 "parser_cocci_menhir.mly"
23701 (Data.clt)
23702 # 23703 "parser_cocci_menhir.ml"
23703 ) = Obj.magic _2 in
23704 let d : (
23705 # 77 "parser_cocci_menhir.mly"
23706 (Data.clt)
23707 # 23708 "parser_cocci_menhir.ml"
23708 ) = Obj.magic d in
23709 let _startpos = _startpos_d_ in
23710 let _endpos = _endpos_r_ in
23711 let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
23712 # 1862 "parser_cocci_menhir.mly"
23713 ( fun build_dots build_comma ->
23714 (build_dots "..." d)::
23715 (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
23716 (r build_dots build_comma) )
23717 # 23718 "parser_cocci_menhir.ml"
23718 in
23719 _menhir_env.MenhirLib.EngineTypes.stack <- {
23720 MenhirLib.EngineTypes.state = _menhir_s;
23721 MenhirLib.EngineTypes.semv = Obj.repr _v;
23722 MenhirLib.EngineTypes.startp = _startpos;
23723 MenhirLib.EngineTypes.endp = _endpos;
23724 MenhirLib.EngineTypes.next = _menhir_stack;
23725 });
23726 (fun _menhir_env ->
23727 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23728 let {
23729 MenhirLib.EngineTypes.state = _menhir_s;
23730 MenhirLib.EngineTypes.semv = _1;
23731 MenhirLib.EngineTypes.startp = _startpos__1_;
23732 MenhirLib.EngineTypes.endp = _endpos__1_;
23733 MenhirLib.EngineTypes.next = _menhir_stack;
23734 } = _menhir_stack in
23735 let _1 : 'tv_dparam = Obj.magic _1 in
23736 let _startpos = _startpos__1_ in
23737 let _endpos = _endpos__1_ in
23738 let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
23739 # 1848 "parser_cocci_menhir.mly"
23740 ( fun build_dots build_comma -> [_1] )
23741 # 23742 "parser_cocci_menhir.ml"
23742 in
23743 _menhir_env.MenhirLib.EngineTypes.stack <- {
23744 MenhirLib.EngineTypes.state = _menhir_s;
23745 MenhirLib.EngineTypes.semv = Obj.repr _v;
23746 MenhirLib.EngineTypes.startp = _startpos;
23747 MenhirLib.EngineTypes.endp = _endpos;
23748 MenhirLib.EngineTypes.next = _menhir_stack;
23749 });
23750 (fun _menhir_env ->
23751 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23752 let {
23753 MenhirLib.EngineTypes.semv = _2;
23754 MenhirLib.EngineTypes.startp = _startpos__2_;
23755 MenhirLib.EngineTypes.endp = _endpos__2_;
23756 MenhirLib.EngineTypes.next = {
23757 MenhirLib.EngineTypes.state = _menhir_s;
23758 MenhirLib.EngineTypes.semv = _1;
23759 MenhirLib.EngineTypes.startp = _startpos__1_;
23760 MenhirLib.EngineTypes.endp = _endpos__1_;
23761 MenhirLib.EngineTypes.next = _menhir_stack;
23762 };
23763 } = _menhir_stack in
23764 let _2 : (
23765 # 111 "parser_cocci_menhir.mly"
23766 (Data.clt)
23767 # 23768 "parser_cocci_menhir.ml"
23768 ) = Obj.magic _2 in
23769 let _1 : 'tv_dparam = Obj.magic _1 in
23770 let _startpos = _startpos__1_ in
23771 let _endpos = _endpos__2_ in
23772 let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
23773 # 1850 "parser_cocci_menhir.mly"
23774 ( fun build_dots build_comma ->
23775 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
23776 # 23777 "parser_cocci_menhir.ml"
23777 in
23778 _menhir_env.MenhirLib.EngineTypes.stack <- {
23779 MenhirLib.EngineTypes.state = _menhir_s;
23780 MenhirLib.EngineTypes.semv = Obj.repr _v;
23781 MenhirLib.EngineTypes.startp = _startpos;
23782 MenhirLib.EngineTypes.endp = _endpos;
23783 MenhirLib.EngineTypes.next = _menhir_stack;
23784 });
23785 (fun _menhir_env ->
23786 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23787 let {
23788 MenhirLib.EngineTypes.semv = _3;
23789 MenhirLib.EngineTypes.startp = _startpos__3_;
23790 MenhirLib.EngineTypes.endp = _endpos__3_;
23791 MenhirLib.EngineTypes.next = {
23792 MenhirLib.EngineTypes.semv = _2;
23793 MenhirLib.EngineTypes.startp = _startpos__2_;
23794 MenhirLib.EngineTypes.endp = _endpos__2_;
23795 MenhirLib.EngineTypes.next = {
23796 MenhirLib.EngineTypes.state = _menhir_s;
23797 MenhirLib.EngineTypes.semv = _1;
23798 MenhirLib.EngineTypes.startp = _startpos__1_;
23799 MenhirLib.EngineTypes.endp = _endpos__1_;
23800 MenhirLib.EngineTypes.next = _menhir_stack;
23801 };
23802 };
23803 } = _menhir_stack in
23804 let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in
23805 let _2 : (
23806 # 111 "parser_cocci_menhir.mly"
23807 (Data.clt)
23808 # 23809 "parser_cocci_menhir.ml"
23809 ) = Obj.magic _2 in
23810 let _1 : 'tv_dparam = Obj.magic _1 in
23811 let _startpos = _startpos__1_ in
23812 let _endpos = _endpos__3_ in
23813 let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
23814 # 1853 "parser_cocci_menhir.mly"
23815 ( fun build_dots build_comma ->
23816 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
23817 (_3 build_dots build_comma) )
23818 # 23819 "parser_cocci_menhir.ml"
23819 in
23820 _menhir_env.MenhirLib.EngineTypes.stack <- {
23821 MenhirLib.EngineTypes.state = _menhir_s;
23822 MenhirLib.EngineTypes.semv = Obj.repr _v;
23823 MenhirLib.EngineTypes.startp = _startpos;
23824 MenhirLib.EngineTypes.endp = _endpos;
23825 MenhirLib.EngineTypes.next = _menhir_stack;
23826 });
23827 (fun _menhir_env ->
23828 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23829 let {
23830 MenhirLib.EngineTypes.semv = _2;
23831 MenhirLib.EngineTypes.startp = _startpos__2_;
23832 MenhirLib.EngineTypes.endp = _endpos__2_;
23833 MenhirLib.EngineTypes.next = {
23834 MenhirLib.EngineTypes.state = _menhir_s;
23835 MenhirLib.EngineTypes.startp = _startpos__1_;
23836 MenhirLib.EngineTypes.endp = _endpos__1_;
23837 MenhirLib.EngineTypes.next = _menhir_stack;
23838 };
23839 } = _menhir_stack in
23840 let _2 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _2 in
23841 let _startpos = _startpos__1_ in
23842 let _endpos = _endpos__2_ in
23843 let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
23844 # 1856 "parser_cocci_menhir.mly"
23845 ( _2 )
23846 # 23847 "parser_cocci_menhir.ml"
23847 in
23848 _menhir_env.MenhirLib.EngineTypes.stack <- {
23849 MenhirLib.EngineTypes.state = _menhir_s;
23850 MenhirLib.EngineTypes.semv = Obj.repr _v;
23851 MenhirLib.EngineTypes.startp = _startpos;
23852 MenhirLib.EngineTypes.endp = _endpos;
23853 MenhirLib.EngineTypes.next = _menhir_stack;
23854 });
23855 (fun _menhir_env ->
23856 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23857 let {
23858 MenhirLib.EngineTypes.state = _menhir_s;
23859 MenhirLib.EngineTypes.semv = d;
23860 MenhirLib.EngineTypes.startp = _startpos_d_;
23861 MenhirLib.EngineTypes.endp = _endpos_d_;
23862 MenhirLib.EngineTypes.next = _menhir_stack;
23863 } = _menhir_stack in
23864 let d : (
23865 # 77 "parser_cocci_menhir.mly"
23866 (Data.clt)
23867 # 23868 "parser_cocci_menhir.ml"
23868 ) = Obj.magic d in
23869 let _startpos = _startpos_d_ in
23870 let _endpos = _endpos_d_ in
23871 let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
23872 # 1857 "parser_cocci_menhir.mly"
23873 ( fun build_dots build_comma -> [(build_dots "..." d)] )
23874 # 23875 "parser_cocci_menhir.ml"
23875 in
23876 _menhir_env.MenhirLib.EngineTypes.stack <- {
23877 MenhirLib.EngineTypes.state = _menhir_s;
23878 MenhirLib.EngineTypes.semv = Obj.repr _v;
23879 MenhirLib.EngineTypes.startp = _startpos;
23880 MenhirLib.EngineTypes.endp = _endpos;
23881 MenhirLib.EngineTypes.next = _menhir_stack;
23882 });
23883 (fun _menhir_env ->
23884 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23885 let {
23886 MenhirLib.EngineTypes.semv = _2;
23887 MenhirLib.EngineTypes.startp = _startpos__2_;
23888 MenhirLib.EngineTypes.endp = _endpos__2_;
23889 MenhirLib.EngineTypes.next = {
23890 MenhirLib.EngineTypes.state = _menhir_s;
23891 MenhirLib.EngineTypes.semv = d;
23892 MenhirLib.EngineTypes.startp = _startpos_d_;
23893 MenhirLib.EngineTypes.endp = _endpos_d_;
23894 MenhirLib.EngineTypes.next = _menhir_stack;
23895 };
23896 } = _menhir_stack in
23897 let _2 : (
23898 # 111 "parser_cocci_menhir.mly"
23899 (Data.clt)
23900 # 23901 "parser_cocci_menhir.ml"
23901 ) = Obj.magic _2 in
23902 let d : (
23903 # 77 "parser_cocci_menhir.mly"
23904 (Data.clt)
23905 # 23906 "parser_cocci_menhir.ml"
23906 ) = Obj.magic d in
23907 let _startpos = _startpos_d_ in
23908 let _endpos = _endpos__2_ in
23909 let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
23910 # 1859 "parser_cocci_menhir.mly"
23911 ( fun build_dots build_comma ->
23912 [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
23913 # 23914 "parser_cocci_menhir.ml"
23914 in
23915 _menhir_env.MenhirLib.EngineTypes.stack <- {
23916 MenhirLib.EngineTypes.state = _menhir_s;
23917 MenhirLib.EngineTypes.semv = Obj.repr _v;
23918 MenhirLib.EngineTypes.startp = _startpos;
23919 MenhirLib.EngineTypes.endp = _endpos;
23920 MenhirLib.EngineTypes.next = _menhir_stack;
23921 });
23922 (fun _menhir_env ->
23923 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23924 let {
23925 MenhirLib.EngineTypes.semv = r;
23926 MenhirLib.EngineTypes.startp = _startpos_r_;
23927 MenhirLib.EngineTypes.endp = _endpos_r_;
23928 MenhirLib.EngineTypes.next = {
23929 MenhirLib.EngineTypes.semv = _2;
23930 MenhirLib.EngineTypes.startp = _startpos__2_;
23931 MenhirLib.EngineTypes.endp = _endpos__2_;
23932 MenhirLib.EngineTypes.next = {
23933 MenhirLib.EngineTypes.state = _menhir_s;
23934 MenhirLib.EngineTypes.semv = d;
23935 MenhirLib.EngineTypes.startp = _startpos_d_;
23936 MenhirLib.EngineTypes.endp = _endpos_d_;
23937 MenhirLib.EngineTypes.next = _menhir_stack;
23938 };
23939 };
23940 } = _menhir_stack in
23941 let r : 'tv_continue_list_dparam_TEllipsis_ = Obj.magic r in
23942 let _2 : (
23943 # 111 "parser_cocci_menhir.mly"
23944 (Data.clt)
23945 # 23946 "parser_cocci_menhir.ml"
23946 ) = Obj.magic _2 in
23947 let d : (
23948 # 77 "parser_cocci_menhir.mly"
23949 (Data.clt)
23950 # 23951 "parser_cocci_menhir.ml"
23951 ) = Obj.magic d in
23952 let _startpos = _startpos_d_ in
23953 let _endpos = _endpos_r_ in
23954 let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
23955 # 1862 "parser_cocci_menhir.mly"
23956 ( fun build_dots build_comma ->
23957 (build_dots "..." d)::
23958 (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
23959 (r build_dots build_comma) )
23960 # 23961 "parser_cocci_menhir.ml"
23961 in
23962 _menhir_env.MenhirLib.EngineTypes.stack <- {
23963 MenhirLib.EngineTypes.state = _menhir_s;
23964 MenhirLib.EngineTypes.semv = Obj.repr _v;
23965 MenhirLib.EngineTypes.startp = _startpos;
23966 MenhirLib.EngineTypes.endp = _endpos;
23967 MenhirLib.EngineTypes.next = _menhir_stack;
23968 });
23969 (fun _menhir_env ->
23970 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23971 let {
23972 MenhirLib.EngineTypes.state = _menhir_s;
23973 MenhirLib.EngineTypes.semv = _1;
23974 MenhirLib.EngineTypes.startp = _startpos__1_;
23975 MenhirLib.EngineTypes.endp = _endpos__1_;
23976 MenhirLib.EngineTypes.next = _menhir_stack;
23977 } = _menhir_stack in
23978 let _1 : 'tv_enum_decl_one = Obj.magic _1 in
23979 let _startpos = _startpos__1_ in
23980 let _endpos = _endpos__1_ in
23981 let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
23982 # 1848 "parser_cocci_menhir.mly"
23983 ( fun build_dots build_comma -> [_1] )
23984 # 23985 "parser_cocci_menhir.ml"
23985 in
23986 _menhir_env.MenhirLib.EngineTypes.stack <- {
23987 MenhirLib.EngineTypes.state = _menhir_s;
23988 MenhirLib.EngineTypes.semv = Obj.repr _v;
23989 MenhirLib.EngineTypes.startp = _startpos;
23990 MenhirLib.EngineTypes.endp = _endpos;
23991 MenhirLib.EngineTypes.next = _menhir_stack;
23992 });
23993 (fun _menhir_env ->
23994 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
23995 let {
23996 MenhirLib.EngineTypes.semv = _2;
23997 MenhirLib.EngineTypes.startp = _startpos__2_;
23998 MenhirLib.EngineTypes.endp = _endpos__2_;
23999 MenhirLib.EngineTypes.next = {
24000 MenhirLib.EngineTypes.state = _menhir_s;
24001 MenhirLib.EngineTypes.semv = _1;
24002 MenhirLib.EngineTypes.startp = _startpos__1_;
24003 MenhirLib.EngineTypes.endp = _endpos__1_;
24004 MenhirLib.EngineTypes.next = _menhir_stack;
24005 };
24006 } = _menhir_stack in
24007 let _2 : (
24008 # 111 "parser_cocci_menhir.mly"
24009 (Data.clt)
24010 # 24011 "parser_cocci_menhir.ml"
24011 ) = Obj.magic _2 in
24012 let _1 : 'tv_enum_decl_one = Obj.magic _1 in
24013 let _startpos = _startpos__1_ in
24014 let _endpos = _endpos__2_ in
24015 let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
24016 # 1850 "parser_cocci_menhir.mly"
24017 ( fun build_dots build_comma ->
24018 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
24019 # 24020 "parser_cocci_menhir.ml"
24020 in
24021 _menhir_env.MenhirLib.EngineTypes.stack <- {
24022 MenhirLib.EngineTypes.state = _menhir_s;
24023 MenhirLib.EngineTypes.semv = Obj.repr _v;
24024 MenhirLib.EngineTypes.startp = _startpos;
24025 MenhirLib.EngineTypes.endp = _endpos;
24026 MenhirLib.EngineTypes.next = _menhir_stack;
24027 });
24028 (fun _menhir_env ->
24029 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24030 let {
24031 MenhirLib.EngineTypes.semv = _3;
24032 MenhirLib.EngineTypes.startp = _startpos__3_;
24033 MenhirLib.EngineTypes.endp = _endpos__3_;
24034 MenhirLib.EngineTypes.next = {
24035 MenhirLib.EngineTypes.semv = _2;
24036 MenhirLib.EngineTypes.startp = _startpos__2_;
24037 MenhirLib.EngineTypes.endp = _endpos__2_;
24038 MenhirLib.EngineTypes.next = {
24039 MenhirLib.EngineTypes.state = _menhir_s;
24040 MenhirLib.EngineTypes.semv = _1;
24041 MenhirLib.EngineTypes.startp = _startpos__1_;
24042 MenhirLib.EngineTypes.endp = _endpos__1_;
24043 MenhirLib.EngineTypes.next = _menhir_stack;
24044 };
24045 };
24046 } = _menhir_stack in
24047 let _3 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _3 in
24048 let _2 : (
24049 # 111 "parser_cocci_menhir.mly"
24050 (Data.clt)
24051 # 24052 "parser_cocci_menhir.ml"
24052 ) = Obj.magic _2 in
24053 let _1 : 'tv_enum_decl_one = Obj.magic _1 in
24054 let _startpos = _startpos__1_ in
24055 let _endpos = _endpos__3_ in
24056 let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
24057 # 1853 "parser_cocci_menhir.mly"
24058 ( fun build_dots build_comma ->
24059 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
24060 (_3 build_dots build_comma) )
24061 # 24062 "parser_cocci_menhir.ml"
24062 in
24063 _menhir_env.MenhirLib.EngineTypes.stack <- {
24064 MenhirLib.EngineTypes.state = _menhir_s;
24065 MenhirLib.EngineTypes.semv = Obj.repr _v;
24066 MenhirLib.EngineTypes.startp = _startpos;
24067 MenhirLib.EngineTypes.endp = _endpos;
24068 MenhirLib.EngineTypes.next = _menhir_stack;
24069 });
24070 (fun _menhir_env ->
24071 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24072 let {
24073 MenhirLib.EngineTypes.semv = _2;
24074 MenhirLib.EngineTypes.startp = _startpos__2_;
24075 MenhirLib.EngineTypes.endp = _endpos__2_;
24076 MenhirLib.EngineTypes.next = {
24077 MenhirLib.EngineTypes.state = _menhir_s;
24078 MenhirLib.EngineTypes.startp = _startpos__1_;
24079 MenhirLib.EngineTypes.endp = _endpos__1_;
24080 MenhirLib.EngineTypes.next = _menhir_stack;
24081 };
24082 } = _menhir_stack in
24083 let _2 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _2 in
24084 let _startpos = _startpos__1_ in
24085 let _endpos = _endpos__2_ in
24086 let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
24087 # 1856 "parser_cocci_menhir.mly"
24088 ( _2 )
24089 # 24090 "parser_cocci_menhir.ml"
24090 in
24091 _menhir_env.MenhirLib.EngineTypes.stack <- {
24092 MenhirLib.EngineTypes.state = _menhir_s;
24093 MenhirLib.EngineTypes.semv = Obj.repr _v;
24094 MenhirLib.EngineTypes.startp = _startpos;
24095 MenhirLib.EngineTypes.endp = _endpos;
24096 MenhirLib.EngineTypes.next = _menhir_stack;
24097 });
24098 (fun _menhir_env ->
24099 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24100 let {
24101 MenhirLib.EngineTypes.state = _menhir_s;
24102 MenhirLib.EngineTypes.semv = d;
24103 MenhirLib.EngineTypes.startp = _startpos_d_;
24104 MenhirLib.EngineTypes.endp = _endpos_d_;
24105 MenhirLib.EngineTypes.next = _menhir_stack;
24106 } = _menhir_stack in
24107 let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in
24108 let _startpos = _startpos_d_ in
24109 let _endpos = _endpos_d_ in
24110 let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
24111 # 1857 "parser_cocci_menhir.mly"
24112 ( fun build_dots build_comma -> [(build_dots "..." d)] )
24113 # 24114 "parser_cocci_menhir.ml"
24114 in
24115 _menhir_env.MenhirLib.EngineTypes.stack <- {
24116 MenhirLib.EngineTypes.state = _menhir_s;
24117 MenhirLib.EngineTypes.semv = Obj.repr _v;
24118 MenhirLib.EngineTypes.startp = _startpos;
24119 MenhirLib.EngineTypes.endp = _endpos;
24120 MenhirLib.EngineTypes.next = _menhir_stack;
24121 });
24122 (fun _menhir_env ->
24123 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24124 let {
24125 MenhirLib.EngineTypes.semv = _2;
24126 MenhirLib.EngineTypes.startp = _startpos__2_;
24127 MenhirLib.EngineTypes.endp = _endpos__2_;
24128 MenhirLib.EngineTypes.next = {
24129 MenhirLib.EngineTypes.state = _menhir_s;
24130 MenhirLib.EngineTypes.semv = d;
24131 MenhirLib.EngineTypes.startp = _startpos_d_;
24132 MenhirLib.EngineTypes.endp = _endpos_d_;
24133 MenhirLib.EngineTypes.next = _menhir_stack;
24134 };
24135 } = _menhir_stack in
24136 let _2 : (
24137 # 111 "parser_cocci_menhir.mly"
24138 (Data.clt)
24139 # 24140 "parser_cocci_menhir.ml"
24140 ) = Obj.magic _2 in
24141 let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in
24142 let _startpos = _startpos_d_ in
24143 let _endpos = _endpos__2_ in
24144 let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
24145 # 1859 "parser_cocci_menhir.mly"
24146 ( fun build_dots build_comma ->
24147 [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
24148 # 24149 "parser_cocci_menhir.ml"
24149 in
24150 _menhir_env.MenhirLib.EngineTypes.stack <- {
24151 MenhirLib.EngineTypes.state = _menhir_s;
24152 MenhirLib.EngineTypes.semv = Obj.repr _v;
24153 MenhirLib.EngineTypes.startp = _startpos;
24154 MenhirLib.EngineTypes.endp = _endpos;
24155 MenhirLib.EngineTypes.next = _menhir_stack;
24156 });
24157 (fun _menhir_env ->
24158 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24159 let {
24160 MenhirLib.EngineTypes.semv = r;
24161 MenhirLib.EngineTypes.startp = _startpos_r_;
24162 MenhirLib.EngineTypes.endp = _endpos_r_;
24163 MenhirLib.EngineTypes.next = {
24164 MenhirLib.EngineTypes.semv = _2;
24165 MenhirLib.EngineTypes.startp = _startpos__2_;
24166 MenhirLib.EngineTypes.endp = _endpos__2_;
24167 MenhirLib.EngineTypes.next = {
24168 MenhirLib.EngineTypes.state = _menhir_s;
24169 MenhirLib.EngineTypes.semv = d;
24170 MenhirLib.EngineTypes.startp = _startpos_d_;
24171 MenhirLib.EngineTypes.endp = _endpos_d_;
24172 MenhirLib.EngineTypes.next = _menhir_stack;
24173 };
24174 };
24175 } = _menhir_stack in
24176 let r : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic r in
24177 let _2 : (
24178 # 111 "parser_cocci_menhir.mly"
24179 (Data.clt)
24180 # 24181 "parser_cocci_menhir.ml"
24181 ) = Obj.magic _2 in
24182 let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in
24183 let _startpos = _startpos_d_ in
24184 let _endpos = _endpos_r_ in
24185 let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
24186 # 1862 "parser_cocci_menhir.mly"
24187 ( fun build_dots build_comma ->
24188 (build_dots "..." d)::
24189 (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
24190 (r build_dots build_comma) )
24191 # 24192 "parser_cocci_menhir.ml"
24192 in
24193 _menhir_env.MenhirLib.EngineTypes.stack <- {
24194 MenhirLib.EngineTypes.state = _menhir_s;
24195 MenhirLib.EngineTypes.semv = Obj.repr _v;
24196 MenhirLib.EngineTypes.startp = _startpos;
24197 MenhirLib.EngineTypes.endp = _endpos;
24198 MenhirLib.EngineTypes.next = _menhir_stack;
24199 });
24200 (fun _menhir_env ->
24201 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24202 let {
24203 MenhirLib.EngineTypes.state = _menhir_s;
24204 MenhirLib.EngineTypes.semv = _1;
24205 MenhirLib.EngineTypes.startp = _startpos__1_;
24206 MenhirLib.EngineTypes.endp = _endpos__1_;
24207 MenhirLib.EngineTypes.next = _menhir_stack;
24208 } = _menhir_stack in
24209 let _1 : 'tv_initialize2 = Obj.magic _1 in
24210 let _startpos = _startpos__1_ in
24211 let _endpos = _endpos__1_ in
24212 let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
24213 # 1848 "parser_cocci_menhir.mly"
24214 ( fun build_dots build_comma -> [_1] )
24215 # 24216 "parser_cocci_menhir.ml"
24216 in
24217 _menhir_env.MenhirLib.EngineTypes.stack <- {
24218 MenhirLib.EngineTypes.state = _menhir_s;
24219 MenhirLib.EngineTypes.semv = Obj.repr _v;
24220 MenhirLib.EngineTypes.startp = _startpos;
24221 MenhirLib.EngineTypes.endp = _endpos;
24222 MenhirLib.EngineTypes.next = _menhir_stack;
24223 });
24224 (fun _menhir_env ->
24225 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24226 let {
24227 MenhirLib.EngineTypes.semv = _2;
24228 MenhirLib.EngineTypes.startp = _startpos__2_;
24229 MenhirLib.EngineTypes.endp = _endpos__2_;
24230 MenhirLib.EngineTypes.next = {
24231 MenhirLib.EngineTypes.state = _menhir_s;
24232 MenhirLib.EngineTypes.semv = _1;
24233 MenhirLib.EngineTypes.startp = _startpos__1_;
24234 MenhirLib.EngineTypes.endp = _endpos__1_;
24235 MenhirLib.EngineTypes.next = _menhir_stack;
24236 };
24237 } = _menhir_stack in
24238 let _2 : (
24239 # 111 "parser_cocci_menhir.mly"
24240 (Data.clt)
24241 # 24242 "parser_cocci_menhir.ml"
24242 ) = Obj.magic _2 in
24243 let _1 : 'tv_initialize2 = Obj.magic _1 in
24244 let _startpos = _startpos__1_ in
24245 let _endpos = _endpos__2_ in
24246 let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
24247 # 1850 "parser_cocci_menhir.mly"
24248 ( fun build_dots build_comma ->
24249 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
24250 # 24251 "parser_cocci_menhir.ml"
24251 in
24252 _menhir_env.MenhirLib.EngineTypes.stack <- {
24253 MenhirLib.EngineTypes.state = _menhir_s;
24254 MenhirLib.EngineTypes.semv = Obj.repr _v;
24255 MenhirLib.EngineTypes.startp = _startpos;
24256 MenhirLib.EngineTypes.endp = _endpos;
24257 MenhirLib.EngineTypes.next = _menhir_stack;
24258 });
24259 (fun _menhir_env ->
24260 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24261 let {
24262 MenhirLib.EngineTypes.semv = _3;
24263 MenhirLib.EngineTypes.startp = _startpos__3_;
24264 MenhirLib.EngineTypes.endp = _endpos__3_;
24265 MenhirLib.EngineTypes.next = {
24266 MenhirLib.EngineTypes.semv = _2;
24267 MenhirLib.EngineTypes.startp = _startpos__2_;
24268 MenhirLib.EngineTypes.endp = _endpos__2_;
24269 MenhirLib.EngineTypes.next = {
24270 MenhirLib.EngineTypes.state = _menhir_s;
24271 MenhirLib.EngineTypes.semv = _1;
24272 MenhirLib.EngineTypes.startp = _startpos__1_;
24273 MenhirLib.EngineTypes.endp = _endpos__1_;
24274 MenhirLib.EngineTypes.next = _menhir_stack;
24275 };
24276 };
24277 } = _menhir_stack in
24278 let _3 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _3 in
24279 let _2 : (
24280 # 111 "parser_cocci_menhir.mly"
24281 (Data.clt)
24282 # 24283 "parser_cocci_menhir.ml"
24283 ) = Obj.magic _2 in
24284 let _1 : 'tv_initialize2 = Obj.magic _1 in
24285 let _startpos = _startpos__1_ in
24286 let _endpos = _endpos__3_ in
24287 let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
24288 # 1853 "parser_cocci_menhir.mly"
24289 ( fun build_dots build_comma ->
24290 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
24291 (_3 build_dots build_comma) )
24292 # 24293 "parser_cocci_menhir.ml"
24293 in
24294 _menhir_env.MenhirLib.EngineTypes.stack <- {
24295 MenhirLib.EngineTypes.state = _menhir_s;
24296 MenhirLib.EngineTypes.semv = Obj.repr _v;
24297 MenhirLib.EngineTypes.startp = _startpos;
24298 MenhirLib.EngineTypes.endp = _endpos;
24299 MenhirLib.EngineTypes.next = _menhir_stack;
24300 });
24301 (fun _menhir_env ->
24302 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24303 let {
24304 MenhirLib.EngineTypes.semv = _2;
24305 MenhirLib.EngineTypes.startp = _startpos__2_;
24306 MenhirLib.EngineTypes.endp = _endpos__2_;
24307 MenhirLib.EngineTypes.next = {
24308 MenhirLib.EngineTypes.state = _menhir_s;
24309 MenhirLib.EngineTypes.startp = _startpos__1_;
24310 MenhirLib.EngineTypes.endp = _endpos__1_;
24311 MenhirLib.EngineTypes.next = _menhir_stack;
24312 };
24313 } = _menhir_stack in
24314 let _2 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _2 in
24315 let _startpos = _startpos__1_ in
24316 let _endpos = _endpos__2_ in
24317 let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
24318 # 1856 "parser_cocci_menhir.mly"
24319 ( _2 )
24320 # 24321 "parser_cocci_menhir.ml"
24321 in
24322 _menhir_env.MenhirLib.EngineTypes.stack <- {
24323 MenhirLib.EngineTypes.state = _menhir_s;
24324 MenhirLib.EngineTypes.semv = Obj.repr _v;
24325 MenhirLib.EngineTypes.startp = _startpos;
24326 MenhirLib.EngineTypes.endp = _endpos;
24327 MenhirLib.EngineTypes.next = _menhir_stack;
24328 });
24329 (fun _menhir_env ->
24330 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24331 let {
24332 MenhirLib.EngineTypes.state = _menhir_s;
24333 MenhirLib.EngineTypes.semv = d;
24334 MenhirLib.EngineTypes.startp = _startpos_d_;
24335 MenhirLib.EngineTypes.endp = _endpos_d_;
24336 MenhirLib.EngineTypes.next = _menhir_stack;
24337 } = _menhir_stack in
24338 let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
24339 let _startpos = _startpos_d_ in
24340 let _endpos = _endpos_d_ in
24341 let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
24342 # 1857 "parser_cocci_menhir.mly"
24343 ( fun build_dots build_comma -> [(build_dots "..." d)] )
24344 # 24345 "parser_cocci_menhir.ml"
24345 in
24346 _menhir_env.MenhirLib.EngineTypes.stack <- {
24347 MenhirLib.EngineTypes.state = _menhir_s;
24348 MenhirLib.EngineTypes.semv = Obj.repr _v;
24349 MenhirLib.EngineTypes.startp = _startpos;
24350 MenhirLib.EngineTypes.endp = _endpos;
24351 MenhirLib.EngineTypes.next = _menhir_stack;
24352 });
24353 (fun _menhir_env ->
24354 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24355 let {
24356 MenhirLib.EngineTypes.semv = _2;
24357 MenhirLib.EngineTypes.startp = _startpos__2_;
24358 MenhirLib.EngineTypes.endp = _endpos__2_;
24359 MenhirLib.EngineTypes.next = {
24360 MenhirLib.EngineTypes.state = _menhir_s;
24361 MenhirLib.EngineTypes.semv = d;
24362 MenhirLib.EngineTypes.startp = _startpos_d_;
24363 MenhirLib.EngineTypes.endp = _endpos_d_;
24364 MenhirLib.EngineTypes.next = _menhir_stack;
24365 };
24366 } = _menhir_stack in
24367 let _2 : (
24368 # 111 "parser_cocci_menhir.mly"
24369 (Data.clt)
24370 # 24371 "parser_cocci_menhir.ml"
24371 ) = Obj.magic _2 in
24372 let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
24373 let _startpos = _startpos_d_ in
24374 let _endpos = _endpos__2_ in
24375 let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
24376 # 1859 "parser_cocci_menhir.mly"
24377 ( fun build_dots build_comma ->
24378 [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
24379 # 24380 "parser_cocci_menhir.ml"
24380 in
24381 _menhir_env.MenhirLib.EngineTypes.stack <- {
24382 MenhirLib.EngineTypes.state = _menhir_s;
24383 MenhirLib.EngineTypes.semv = Obj.repr _v;
24384 MenhirLib.EngineTypes.startp = _startpos;
24385 MenhirLib.EngineTypes.endp = _endpos;
24386 MenhirLib.EngineTypes.next = _menhir_stack;
24387 });
24388 (fun _menhir_env ->
24389 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24390 let {
24391 MenhirLib.EngineTypes.semv = r;
24392 MenhirLib.EngineTypes.startp = _startpos_r_;
24393 MenhirLib.EngineTypes.endp = _endpos_r_;
24394 MenhirLib.EngineTypes.next = {
24395 MenhirLib.EngineTypes.semv = _2;
24396 MenhirLib.EngineTypes.startp = _startpos__2_;
24397 MenhirLib.EngineTypes.endp = _endpos__2_;
24398 MenhirLib.EngineTypes.next = {
24399 MenhirLib.EngineTypes.state = _menhir_s;
24400 MenhirLib.EngineTypes.semv = d;
24401 MenhirLib.EngineTypes.startp = _startpos_d_;
24402 MenhirLib.EngineTypes.endp = _endpos_d_;
24403 MenhirLib.EngineTypes.next = _menhir_stack;
24404 };
24405 };
24406 } = _menhir_stack in
24407 let r : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic r in
24408 let _2 : (
24409 # 111 "parser_cocci_menhir.mly"
24410 (Data.clt)
24411 # 24412 "parser_cocci_menhir.ml"
24412 ) = Obj.magic _2 in
24413 let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
24414 let _startpos = _startpos_d_ in
24415 let _endpos = _endpos_r_ in
24416 let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
24417 # 1862 "parser_cocci_menhir.mly"
24418 ( fun build_dots build_comma ->
24419 (build_dots "..." d)::
24420 (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
24421 (r build_dots build_comma) )
24422 # 24423 "parser_cocci_menhir.ml"
24423 in
24424 _menhir_env.MenhirLib.EngineTypes.stack <- {
24425 MenhirLib.EngineTypes.state = _menhir_s;
24426 MenhirLib.EngineTypes.semv = Obj.repr _v;
24427 MenhirLib.EngineTypes.startp = _startpos;
24428 MenhirLib.EngineTypes.endp = _endpos;
24429 MenhirLib.EngineTypes.next = _menhir_stack;
24430 });
24431 (fun _menhir_env ->
24432 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24433 let {
24434 MenhirLib.EngineTypes.state = _menhir_s;
24435 MenhirLib.EngineTypes.semv = _1;
24436 MenhirLib.EngineTypes.startp = _startpos__1_;
24437 MenhirLib.EngineTypes.endp = _endpos__1_;
24438 MenhirLib.EngineTypes.next = _menhir_stack;
24439 } = _menhir_stack in
24440 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
24441 let _startpos = _startpos__1_ in
24442 let _endpos = _endpos__1_ in
24443 let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
24444 # 1848 "parser_cocci_menhir.mly"
24445 ( fun build_dots build_comma -> [_1] )
24446 # 24447 "parser_cocci_menhir.ml"
24447 in
24448 _menhir_env.MenhirLib.EngineTypes.stack <- {
24449 MenhirLib.EngineTypes.state = _menhir_s;
24450 MenhirLib.EngineTypes.semv = Obj.repr _v;
24451 MenhirLib.EngineTypes.startp = _startpos;
24452 MenhirLib.EngineTypes.endp = _endpos;
24453 MenhirLib.EngineTypes.next = _menhir_stack;
24454 });
24455 (fun _menhir_env ->
24456 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24457 let {
24458 MenhirLib.EngineTypes.semv = _2;
24459 MenhirLib.EngineTypes.startp = _startpos__2_;
24460 MenhirLib.EngineTypes.endp = _endpos__2_;
24461 MenhirLib.EngineTypes.next = {
24462 MenhirLib.EngineTypes.state = _menhir_s;
24463 MenhirLib.EngineTypes.semv = _1;
24464 MenhirLib.EngineTypes.startp = _startpos__1_;
24465 MenhirLib.EngineTypes.endp = _endpos__1_;
24466 MenhirLib.EngineTypes.next = _menhir_stack;
24467 };
24468 } = _menhir_stack in
24469 let _2 : (
24470 # 111 "parser_cocci_menhir.mly"
24471 (Data.clt)
24472 # 24473 "parser_cocci_menhir.ml"
24473 ) = Obj.magic _2 in
24474 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
24475 let _startpos = _startpos__1_ in
24476 let _endpos = _endpos__2_ in
24477 let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
24478 # 1850 "parser_cocci_menhir.mly"
24479 ( fun build_dots build_comma ->
24480 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
24481 # 24482 "parser_cocci_menhir.ml"
24482 in
24483 _menhir_env.MenhirLib.EngineTypes.stack <- {
24484 MenhirLib.EngineTypes.state = _menhir_s;
24485 MenhirLib.EngineTypes.semv = Obj.repr _v;
24486 MenhirLib.EngineTypes.startp = _startpos;
24487 MenhirLib.EngineTypes.endp = _endpos;
24488 MenhirLib.EngineTypes.next = _menhir_stack;
24489 });
24490 (fun _menhir_env ->
24491 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24492 let {
24493 MenhirLib.EngineTypes.semv = _3;
24494 MenhirLib.EngineTypes.startp = _startpos__3_;
24495 MenhirLib.EngineTypes.endp = _endpos__3_;
24496 MenhirLib.EngineTypes.next = {
24497 MenhirLib.EngineTypes.semv = _2;
24498 MenhirLib.EngineTypes.startp = _startpos__2_;
24499 MenhirLib.EngineTypes.endp = _endpos__2_;
24500 MenhirLib.EngineTypes.next = {
24501 MenhirLib.EngineTypes.state = _menhir_s;
24502 MenhirLib.EngineTypes.semv = _1;
24503 MenhirLib.EngineTypes.startp = _startpos__1_;
24504 MenhirLib.EngineTypes.endp = _endpos__1_;
24505 MenhirLib.EngineTypes.next = _menhir_stack;
24506 };
24507 };
24508 } = _menhir_stack in
24509 let _3 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in
24510 let _2 : (
24511 # 111 "parser_cocci_menhir.mly"
24512 (Data.clt)
24513 # 24514 "parser_cocci_menhir.ml"
24514 ) = Obj.magic _2 in
24515 let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
24516 let _startpos = _startpos__1_ in
24517 let _endpos = _endpos__3_ in
24518 let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
24519 # 1853 "parser_cocci_menhir.mly"
24520 ( fun build_dots build_comma ->
24521 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
24522 (_3 build_dots build_comma) )
24523 # 24524 "parser_cocci_menhir.ml"
24524 in
24525 _menhir_env.MenhirLib.EngineTypes.stack <- {
24526 MenhirLib.EngineTypes.state = _menhir_s;
24527 MenhirLib.EngineTypes.semv = Obj.repr _v;
24528 MenhirLib.EngineTypes.startp = _startpos;
24529 MenhirLib.EngineTypes.endp = _endpos;
24530 MenhirLib.EngineTypes.next = _menhir_stack;
24531 });
24532 (fun _menhir_env ->
24533 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24534 let {
24535 MenhirLib.EngineTypes.semv = _2;
24536 MenhirLib.EngineTypes.startp = _startpos__2_;
24537 MenhirLib.EngineTypes.endp = _endpos__2_;
24538 MenhirLib.EngineTypes.next = {
24539 MenhirLib.EngineTypes.state = _menhir_s;
24540 MenhirLib.EngineTypes.startp = _startpos__1_;
24541 MenhirLib.EngineTypes.endp = _endpos__1_;
24542 MenhirLib.EngineTypes.next = _menhir_stack;
24543 };
24544 } = _menhir_stack in
24545 let _2 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _2 in
24546 let _startpos = _startpos__1_ in
24547 let _endpos = _endpos__2_ in
24548 let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
24549 # 1856 "parser_cocci_menhir.mly"
24550 ( _2 )
24551 # 24552 "parser_cocci_menhir.ml"
24552 in
24553 _menhir_env.MenhirLib.EngineTypes.stack <- {
24554 MenhirLib.EngineTypes.state = _menhir_s;
24555 MenhirLib.EngineTypes.semv = Obj.repr _v;
24556 MenhirLib.EngineTypes.startp = _startpos;
24557 MenhirLib.EngineTypes.endp = _endpos;
24558 MenhirLib.EngineTypes.next = _menhir_stack;
24559 });
24560 (fun _menhir_env ->
24561 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24562 let {
24563 MenhirLib.EngineTypes.state = _menhir_s;
24564 MenhirLib.EngineTypes.semv = d;
24565 MenhirLib.EngineTypes.startp = _startpos_d_;
24566 MenhirLib.EngineTypes.endp = _endpos_d_;
24567 MenhirLib.EngineTypes.next = _menhir_stack;
24568 } = _menhir_stack in
24569 let d : (
24570 # 77 "parser_cocci_menhir.mly"
24571 (Data.clt)
24572 # 24573 "parser_cocci_menhir.ml"
24573 ) = Obj.magic d in
24574 let _startpos = _startpos_d_ in
24575 let _endpos = _endpos_d_ in
24576 let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
24577 # 1857 "parser_cocci_menhir.mly"
24578 ( fun build_dots build_comma -> [(build_dots "..." d)] )
24579 # 24580 "parser_cocci_menhir.ml"
24580 in
24581 _menhir_env.MenhirLib.EngineTypes.stack <- {
24582 MenhirLib.EngineTypes.state = _menhir_s;
24583 MenhirLib.EngineTypes.semv = Obj.repr _v;
24584 MenhirLib.EngineTypes.startp = _startpos;
24585 MenhirLib.EngineTypes.endp = _endpos;
24586 MenhirLib.EngineTypes.next = _menhir_stack;
24587 });
24588 (fun _menhir_env ->
24589 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24590 let {
24591 MenhirLib.EngineTypes.semv = _2;
24592 MenhirLib.EngineTypes.startp = _startpos__2_;
24593 MenhirLib.EngineTypes.endp = _endpos__2_;
24594 MenhirLib.EngineTypes.next = {
24595 MenhirLib.EngineTypes.state = _menhir_s;
24596 MenhirLib.EngineTypes.semv = d;
24597 MenhirLib.EngineTypes.startp = _startpos_d_;
24598 MenhirLib.EngineTypes.endp = _endpos_d_;
24599 MenhirLib.EngineTypes.next = _menhir_stack;
24600 };
24601 } = _menhir_stack in
24602 let _2 : (
24603 # 111 "parser_cocci_menhir.mly"
24604 (Data.clt)
24605 # 24606 "parser_cocci_menhir.ml"
24606 ) = Obj.magic _2 in
24607 let d : (
24608 # 77 "parser_cocci_menhir.mly"
24609 (Data.clt)
24610 # 24611 "parser_cocci_menhir.ml"
24611 ) = Obj.magic d in
24612 let _startpos = _startpos_d_ in
24613 let _endpos = _endpos__2_ in
24614 let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
24615 # 1859 "parser_cocci_menhir.mly"
24616 ( fun build_dots build_comma ->
24617 [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
24618 # 24619 "parser_cocci_menhir.ml"
24619 in
24620 _menhir_env.MenhirLib.EngineTypes.stack <- {
24621 MenhirLib.EngineTypes.state = _menhir_s;
24622 MenhirLib.EngineTypes.semv = Obj.repr _v;
24623 MenhirLib.EngineTypes.startp = _startpos;
24624 MenhirLib.EngineTypes.endp = _endpos;
24625 MenhirLib.EngineTypes.next = _menhir_stack;
24626 });
24627 (fun _menhir_env ->
24628 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24629 let {
24630 MenhirLib.EngineTypes.semv = r;
24631 MenhirLib.EngineTypes.startp = _startpos_r_;
24632 MenhirLib.EngineTypes.endp = _endpos_r_;
24633 MenhirLib.EngineTypes.next = {
24634 MenhirLib.EngineTypes.semv = _2;
24635 MenhirLib.EngineTypes.startp = _startpos__2_;
24636 MenhirLib.EngineTypes.endp = _endpos__2_;
24637 MenhirLib.EngineTypes.next = {
24638 MenhirLib.EngineTypes.state = _menhir_s;
24639 MenhirLib.EngineTypes.semv = d;
24640 MenhirLib.EngineTypes.startp = _startpos_d_;
24641 MenhirLib.EngineTypes.endp = _endpos_d_;
24642 MenhirLib.EngineTypes.next = _menhir_stack;
24643 };
24644 };
24645 } = _menhir_stack in
24646 let r : 'tv_continue_list_one_dec_decl__TEllipsis_ = Obj.magic r in
24647 let _2 : (
24648 # 111 "parser_cocci_menhir.mly"
24649 (Data.clt)
24650 # 24651 "parser_cocci_menhir.ml"
24651 ) = Obj.magic _2 in
24652 let d : (
24653 # 77 "parser_cocci_menhir.mly"
24654 (Data.clt)
24655 # 24656 "parser_cocci_menhir.ml"
24656 ) = Obj.magic d in
24657 let _startpos = _startpos_d_ in
24658 let _endpos = _endpos_r_ in
24659 let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
24660 # 1862 "parser_cocci_menhir.mly"
24661 ( fun build_dots build_comma ->
24662 (build_dots "..." d)::
24663 (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
24664 (r build_dots build_comma) )
24665 # 24666 "parser_cocci_menhir.ml"
24666 in
24667 _menhir_env.MenhirLib.EngineTypes.stack <- {
24668 MenhirLib.EngineTypes.state = _menhir_s;
24669 MenhirLib.EngineTypes.semv = Obj.repr _v;
24670 MenhirLib.EngineTypes.startp = _startpos;
24671 MenhirLib.EngineTypes.endp = _endpos;
24672 MenhirLib.EngineTypes.next = _menhir_stack;
24673 });
24674 (fun _menhir_env ->
24675 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24676 let {
24677 MenhirLib.EngineTypes.state = _menhir_s;
24678 MenhirLib.EngineTypes.semv = _1;
24679 MenhirLib.EngineTypes.startp = _startpos__1_;
24680 MenhirLib.EngineTypes.endp = _endpos__1_;
24681 MenhirLib.EngineTypes.next = _menhir_stack;
24682 } = _menhir_stack in
24683 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
24684 let _startpos = _startpos__1_ in
24685 let _endpos = _endpos__1_ in
24686 let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
24687 # 1848 "parser_cocci_menhir.mly"
24688 ( fun build_dots build_comma -> [_1] )
24689 # 24690 "parser_cocci_menhir.ml"
24690 in
24691 _menhir_env.MenhirLib.EngineTypes.stack <- {
24692 MenhirLib.EngineTypes.state = _menhir_s;
24693 MenhirLib.EngineTypes.semv = Obj.repr _v;
24694 MenhirLib.EngineTypes.startp = _startpos;
24695 MenhirLib.EngineTypes.endp = _endpos;
24696 MenhirLib.EngineTypes.next = _menhir_stack;
24697 });
24698 (fun _menhir_env ->
24699 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24700 let {
24701 MenhirLib.EngineTypes.semv = _2;
24702 MenhirLib.EngineTypes.startp = _startpos__2_;
24703 MenhirLib.EngineTypes.endp = _endpos__2_;
24704 MenhirLib.EngineTypes.next = {
24705 MenhirLib.EngineTypes.state = _menhir_s;
24706 MenhirLib.EngineTypes.semv = _1;
24707 MenhirLib.EngineTypes.startp = _startpos__1_;
24708 MenhirLib.EngineTypes.endp = _endpos__1_;
24709 MenhirLib.EngineTypes.next = _menhir_stack;
24710 };
24711 } = _menhir_stack in
24712 let _2 : (
24713 # 111 "parser_cocci_menhir.mly"
24714 (Data.clt)
24715 # 24716 "parser_cocci_menhir.ml"
24716 ) = Obj.magic _2 in
24717 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
24718 let _startpos = _startpos__1_ in
24719 let _endpos = _endpos__2_ in
24720 let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
24721 # 1850 "parser_cocci_menhir.mly"
24722 ( fun build_dots build_comma ->
24723 _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
24724 # 24725 "parser_cocci_menhir.ml"
24725 in
24726 _menhir_env.MenhirLib.EngineTypes.stack <- {
24727 MenhirLib.EngineTypes.state = _menhir_s;
24728 MenhirLib.EngineTypes.semv = Obj.repr _v;
24729 MenhirLib.EngineTypes.startp = _startpos;
24730 MenhirLib.EngineTypes.endp = _endpos;
24731 MenhirLib.EngineTypes.next = _menhir_stack;
24732 });
24733 (fun _menhir_env ->
24734 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24735 let {
24736 MenhirLib.EngineTypes.semv = _3;
24737 MenhirLib.EngineTypes.startp = _startpos__3_;
24738 MenhirLib.EngineTypes.endp = _endpos__3_;
24739 MenhirLib.EngineTypes.next = {
24740 MenhirLib.EngineTypes.semv = _2;
24741 MenhirLib.EngineTypes.startp = _startpos__2_;
24742 MenhirLib.EngineTypes.endp = _endpos__2_;
24743 MenhirLib.EngineTypes.next = {
24744 MenhirLib.EngineTypes.state = _menhir_s;
24745 MenhirLib.EngineTypes.semv = _1;
24746 MenhirLib.EngineTypes.startp = _startpos__1_;
24747 MenhirLib.EngineTypes.endp = _endpos__1_;
24748 MenhirLib.EngineTypes.next = _menhir_stack;
24749 };
24750 };
24751 } = _menhir_stack in
24752 let _3 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _3 in
24753 let _2 : (
24754 # 111 "parser_cocci_menhir.mly"
24755 (Data.clt)
24756 # 24757 "parser_cocci_menhir.ml"
24757 ) = Obj.magic _2 in
24758 let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
24759 let _startpos = _startpos__1_ in
24760 let _endpos = _endpos__3_ in
24761 let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
24762 # 1853 "parser_cocci_menhir.mly"
24763 ( fun build_dots build_comma ->
24764 _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
24765 (_3 build_dots build_comma) )
24766 # 24767 "parser_cocci_menhir.ml"
24767 in
24768 _menhir_env.MenhirLib.EngineTypes.stack <- {
24769 MenhirLib.EngineTypes.state = _menhir_s;
24770 MenhirLib.EngineTypes.semv = Obj.repr _v;
24771 MenhirLib.EngineTypes.startp = _startpos;
24772 MenhirLib.EngineTypes.endp = _endpos;
24773 MenhirLib.EngineTypes.next = _menhir_stack;
24774 });
24775 (fun _menhir_env ->
24776 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24777 let {
24778 MenhirLib.EngineTypes.semv = _2;
24779 MenhirLib.EngineTypes.startp = _startpos__2_;
24780 MenhirLib.EngineTypes.endp = _endpos__2_;
24781 MenhirLib.EngineTypes.next = {
24782 MenhirLib.EngineTypes.state = _menhir_s;
24783 MenhirLib.EngineTypes.startp = _startpos__1_;
24784 MenhirLib.EngineTypes.endp = _endpos__1_;
24785 MenhirLib.EngineTypes.next = _menhir_stack;
24786 };
24787 } = _menhir_stack in
24788 let _2 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _2 in
24789 let _startpos = _startpos__1_ in
24790 let _endpos = _endpos__2_ in
24791 let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
24792 # 1856 "parser_cocci_menhir.mly"
24793 ( _2 )
24794 # 24795 "parser_cocci_menhir.ml"
24795 in
24796 _menhir_env.MenhirLib.EngineTypes.stack <- {
24797 MenhirLib.EngineTypes.state = _menhir_s;
24798 MenhirLib.EngineTypes.semv = Obj.repr _v;
24799 MenhirLib.EngineTypes.startp = _startpos;
24800 MenhirLib.EngineTypes.endp = _endpos;
24801 MenhirLib.EngineTypes.next = _menhir_stack;
24802 });
24803 (fun _menhir_env ->
24804 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24805 let {
24806 MenhirLib.EngineTypes.state = _menhir_s;
24807 MenhirLib.EngineTypes.semv = d;
24808 MenhirLib.EngineTypes.startp = _startpos_d_;
24809 MenhirLib.EngineTypes.endp = _endpos_d_;
24810 MenhirLib.EngineTypes.next = _menhir_stack;
24811 } = _menhir_stack in
24812 let d : (
24813 # 77 "parser_cocci_menhir.mly"
24814 (Data.clt)
24815 # 24816 "parser_cocci_menhir.ml"
24816 ) = Obj.magic d in
24817 let _startpos = _startpos_d_ in
24818 let _endpos = _endpos_d_ in
24819 let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
24820 # 1857 "parser_cocci_menhir.mly"
24821 ( fun build_dots build_comma -> [(build_dots "..." d)] )
24822 # 24823 "parser_cocci_menhir.ml"
24823 in
24824 _menhir_env.MenhirLib.EngineTypes.stack <- {
24825 MenhirLib.EngineTypes.state = _menhir_s;
24826 MenhirLib.EngineTypes.semv = Obj.repr _v;
24827 MenhirLib.EngineTypes.startp = _startpos;
24828 MenhirLib.EngineTypes.endp = _endpos;
24829 MenhirLib.EngineTypes.next = _menhir_stack;
24830 });
24831 (fun _menhir_env ->
24832 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24833 let {
24834 MenhirLib.EngineTypes.semv = _2;
24835 MenhirLib.EngineTypes.startp = _startpos__2_;
24836 MenhirLib.EngineTypes.endp = _endpos__2_;
24837 MenhirLib.EngineTypes.next = {
24838 MenhirLib.EngineTypes.state = _menhir_s;
24839 MenhirLib.EngineTypes.semv = d;
24840 MenhirLib.EngineTypes.startp = _startpos_d_;
24841 MenhirLib.EngineTypes.endp = _endpos_d_;
24842 MenhirLib.EngineTypes.next = _menhir_stack;
24843 };
24844 } = _menhir_stack in
24845 let _2 : (
24846 # 111 "parser_cocci_menhir.mly"
24847 (Data.clt)
24848 # 24849 "parser_cocci_menhir.ml"
24849 ) = Obj.magic _2 in
24850 let d : (
24851 # 77 "parser_cocci_menhir.mly"
24852 (Data.clt)
24853 # 24854 "parser_cocci_menhir.ml"
24854 ) = Obj.magic d in
24855 let _startpos = _startpos_d_ in
24856 let _endpos = _endpos__2_ in
24857 let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
24858 # 1859 "parser_cocci_menhir.mly"
24859 ( fun build_dots build_comma ->
24860 [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
24861 # 24862 "parser_cocci_menhir.ml"
24862 in
24863 _menhir_env.MenhirLib.EngineTypes.stack <- {
24864 MenhirLib.EngineTypes.state = _menhir_s;
24865 MenhirLib.EngineTypes.semv = Obj.repr _v;
24866 MenhirLib.EngineTypes.startp = _startpos;
24867 MenhirLib.EngineTypes.endp = _endpos;
24868 MenhirLib.EngineTypes.next = _menhir_stack;
24869 });
24870 (fun _menhir_env ->
24871 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24872 let {
24873 MenhirLib.EngineTypes.semv = r;
24874 MenhirLib.EngineTypes.startp = _startpos_r_;
24875 MenhirLib.EngineTypes.endp = _endpos_r_;
24876 MenhirLib.EngineTypes.next = {
24877 MenhirLib.EngineTypes.semv = _2;
24878 MenhirLib.EngineTypes.startp = _startpos__2_;
24879 MenhirLib.EngineTypes.endp = _endpos__2_;
24880 MenhirLib.EngineTypes.next = {
24881 MenhirLib.EngineTypes.state = _menhir_s;
24882 MenhirLib.EngineTypes.semv = d;
24883 MenhirLib.EngineTypes.startp = _startpos_d_;
24884 MenhirLib.EngineTypes.endp = _endpos_d_;
24885 MenhirLib.EngineTypes.next = _menhir_stack;
24886 };
24887 };
24888 } = _menhir_stack in
24889 let r : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = Obj.magic r in
24890 let _2 : (
24891 # 111 "parser_cocci_menhir.mly"
24892 (Data.clt)
24893 # 24894 "parser_cocci_menhir.ml"
24894 ) = Obj.magic _2 in
24895 let d : (
24896 # 77 "parser_cocci_menhir.mly"
24897 (Data.clt)
24898 # 24899 "parser_cocci_menhir.ml"
24899 ) = Obj.magic d in
24900 let _startpos = _startpos_d_ in
24901 let _endpos = _endpos_r_ in
24902 let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
24903 # 1862 "parser_cocci_menhir.mly"
24904 ( fun build_dots build_comma ->
24905 (build_dots "..." d)::
24906 (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
24907 (r build_dots build_comma) )
24908 # 24909 "parser_cocci_menhir.ml"
24909 in
24910 _menhir_env.MenhirLib.EngineTypes.stack <- {
24911 MenhirLib.EngineTypes.state = _menhir_s;
24912 MenhirLib.EngineTypes.semv = Obj.repr _v;
24913 MenhirLib.EngineTypes.startp = _startpos;
24914 MenhirLib.EngineTypes.endp = _endpos;
24915 MenhirLib.EngineTypes.next = _menhir_stack;
24916 });
24917 (fun _menhir_env ->
24918 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24919 let {
24920 MenhirLib.EngineTypes.semv = i;
24921 MenhirLib.EngineTypes.startp = _startpos_i_;
24922 MenhirLib.EngineTypes.endp = _endpos_i_;
24923 MenhirLib.EngineTypes.next = {
24924 MenhirLib.EngineTypes.state = _menhir_s;
24925 MenhirLib.EngineTypes.startp = _startpos__1_;
24926 MenhirLib.EngineTypes.endp = _endpos__1_;
24927 MenhirLib.EngineTypes.next = _menhir_stack;
24928 };
24929 } = _menhir_stack in
24930 let i : 'tv_ident_or_const = Obj.magic i in
24931 let _startpos = _startpos__1_ in
24932 let _endpos = _endpos_i_ in
24933 let _v : 'tv_not_ceq =
24934 # 1709 "parser_cocci_menhir.mly"
24935 ( (if !Data.in_iso
24936 then failwith "constraints not allowed in iso file");
24937 (if !Data.in_generating
24938 then failwith "constraints not allowed in a generated rule file");
24939 [i] )
24940 # 24941 "parser_cocci_menhir.ml"
24941 in
24942 _menhir_env.MenhirLib.EngineTypes.stack <- {
24943 MenhirLib.EngineTypes.state = _menhir_s;
24944 MenhirLib.EngineTypes.semv = Obj.repr _v;
24945 MenhirLib.EngineTypes.startp = _startpos;
24946 MenhirLib.EngineTypes.endp = _endpos;
24947 MenhirLib.EngineTypes.next = _menhir_stack;
24948 });
24949 (fun _menhir_env ->
24950 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24951 let {
24952 MenhirLib.EngineTypes.startp = _startpos__4_;
24953 MenhirLib.EngineTypes.endp = _endpos__4_;
24954 MenhirLib.EngineTypes.next = {
24955 MenhirLib.EngineTypes.semv = l;
24956 MenhirLib.EngineTypes.startp = _startpos_l_;
24957 MenhirLib.EngineTypes.endp = _endpos_l_;
24958 MenhirLib.EngineTypes.next = {
24959 MenhirLib.EngineTypes.startp = _startpos__2_;
24960 MenhirLib.EngineTypes.endp = _endpos__2_;
24961 MenhirLib.EngineTypes.next = {
24962 MenhirLib.EngineTypes.state = _menhir_s;
24963 MenhirLib.EngineTypes.startp = _startpos__1_;
24964 MenhirLib.EngineTypes.endp = _endpos__1_;
24965 MenhirLib.EngineTypes.next = _menhir_stack;
24966 };
24967 };
24968 };
24969 } = _menhir_stack in
24970 let l : 'tv_comma_list_ident_or_const_ = Obj.magic l in
24971 let _startpos = _startpos__1_ in
24972 let _endpos = _endpos__4_ in
24973 let _v : 'tv_not_ceq =
24974 # 1715 "parser_cocci_menhir.mly"
24975 ( (if !Data.in_iso
24976 then failwith "constraints not allowed in iso file");
24977 (if !Data.in_generating
24978 then failwith "constraints not allowed in a generated rule file");
24979 l )
24980 # 24981 "parser_cocci_menhir.ml"
24981 in
24982 _menhir_env.MenhirLib.EngineTypes.stack <- {
24983 MenhirLib.EngineTypes.state = _menhir_s;
24984 MenhirLib.EngineTypes.semv = Obj.repr _v;
24985 MenhirLib.EngineTypes.startp = _startpos;
24986 MenhirLib.EngineTypes.endp = _endpos;
24987 MenhirLib.EngineTypes.next = _menhir_stack;
24988 });
24989 (fun _menhir_env ->
24990 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
24991 let {
24992 MenhirLib.EngineTypes.state = _menhir_s;
24993 MenhirLib.EngineTypes.semv = ceq;
24994 MenhirLib.EngineTypes.startp = _startpos_ceq_;
24995 MenhirLib.EngineTypes.endp = _endpos_ceq_;
24996 MenhirLib.EngineTypes.next = _menhir_stack;
24997 } = _menhir_stack in
24998 let ceq : 'tv_not_ceq = Obj.magic ceq in
24999 let _startpos = _startpos_ceq_ in
25000 let _endpos = _endpos_ceq_ in
25001 let _v : 'tv_not_ceq_or_sub =
25002 # 1685 "parser_cocci_menhir.mly"
25003 (Ast0.NotExpCstrt ceq)
25004 # 25005 "parser_cocci_menhir.ml"
25005 in
25006 _menhir_env.MenhirLib.EngineTypes.stack <- {
25007 MenhirLib.EngineTypes.state = _menhir_s;
25008 MenhirLib.EngineTypes.semv = Obj.repr _v;
25009 MenhirLib.EngineTypes.startp = _startpos;
25010 MenhirLib.EngineTypes.endp = _endpos;
25011 MenhirLib.EngineTypes.next = _menhir_stack;
25012 });
25013 (fun _menhir_env ->
25014 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25015 let {
25016 MenhirLib.EngineTypes.state = _menhir_s;
25017 MenhirLib.EngineTypes.semv = s;
25018 MenhirLib.EngineTypes.startp = _startpos_s_;
25019 MenhirLib.EngineTypes.endp = _endpos_s_;
25020 MenhirLib.EngineTypes.next = _menhir_stack;
25021 } = _menhir_stack in
25022 let s : 'tv_sub = Obj.magic s in
25023 let _startpos = _startpos_s_ in
25024 let _endpos = _endpos_s_ in
25025 let _v : 'tv_not_ceq_or_sub =
25026 # 1686 "parser_cocci_menhir.mly"
25027 (Ast0.SubExpCstrt s)
25028 # 25029 "parser_cocci_menhir.ml"
25029 in
25030 _menhir_env.MenhirLib.EngineTypes.stack <- {
25031 MenhirLib.EngineTypes.state = _menhir_s;
25032 MenhirLib.EngineTypes.semv = Obj.repr _v;
25033 MenhirLib.EngineTypes.startp = _startpos;
25034 MenhirLib.EngineTypes.endp = _endpos;
25035 MenhirLib.EngineTypes.next = _menhir_stack;
25036 });
25037 (fun _menhir_env ->
25038 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25039 let {
25040 MenhirLib.EngineTypes.semv = i;
25041 MenhirLib.EngineTypes.startp = _startpos_i_;
25042 MenhirLib.EngineTypes.endp = _endpos_i_;
25043 MenhirLib.EngineTypes.next = {
25044 MenhirLib.EngineTypes.state = _menhir_s;
25045 MenhirLib.EngineTypes.startp = _startpos__1_;
25046 MenhirLib.EngineTypes.endp = _endpos__1_;
25047 MenhirLib.EngineTypes.next = _menhir_stack;
25048 };
25049 } = _menhir_stack in
25050 let i : 'tv_pure_ident = Obj.magic i in
25051 let _startpos = _startpos__1_ in
25052 let _endpos = _endpos_i_ in
25053 let _v : 'tv_not_eqe =
25054 # 1690 "parser_cocci_menhir.mly"
25055 ( (if !Data.in_iso
25056 then failwith "constraints not allowed in iso file");
25057 (if !Data.in_generating
25058 then failwith "constraints not allowed in a generated rule file");
25059 [Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))]
25060 )
25061 # 25062 "parser_cocci_menhir.ml"
25062 in
25063 _menhir_env.MenhirLib.EngineTypes.stack <- {
25064 MenhirLib.EngineTypes.state = _menhir_s;
25065 MenhirLib.EngineTypes.semv = Obj.repr _v;
25066 MenhirLib.EngineTypes.startp = _startpos;
25067 MenhirLib.EngineTypes.endp = _endpos;
25068 MenhirLib.EngineTypes.next = _menhir_stack;
25069 });
25070 (fun _menhir_env ->
25071 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25072 let {
25073 MenhirLib.EngineTypes.startp = _startpos__4_;
25074 MenhirLib.EngineTypes.endp = _endpos__4_;
25075 MenhirLib.EngineTypes.next = {
25076 MenhirLib.EngineTypes.semv = l;
25077 MenhirLib.EngineTypes.startp = _startpos_l_;
25078 MenhirLib.EngineTypes.endp = _endpos_l_;
25079 MenhirLib.EngineTypes.next = {
25080 MenhirLib.EngineTypes.startp = _startpos__2_;
25081 MenhirLib.EngineTypes.endp = _endpos__2_;
25082 MenhirLib.EngineTypes.next = {
25083 MenhirLib.EngineTypes.state = _menhir_s;
25084 MenhirLib.EngineTypes.startp = _startpos__1_;
25085 MenhirLib.EngineTypes.endp = _endpos__1_;
25086 MenhirLib.EngineTypes.next = _menhir_stack;
25087 };
25088 };
25089 };
25090 } = _menhir_stack in
25091 let l : 'tv_comma_list_pure_ident_ = Obj.magic l in
25092 let _startpos = _startpos__1_ in
25093 let _endpos = _endpos__4_ in
25094 let _v : 'tv_not_eqe =
25095 # 1697 "parser_cocci_menhir.mly"
25096 ( (if !Data.in_iso
25097 then failwith "constraints not allowed in iso file");
25098 (if !Data.in_generating
25099 then failwith "constraints not allowed in a generated rule file");
25100 List.map
25101 (function i ->
25102 Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))))
25103 l
25104 )
25105 # 25106 "parser_cocci_menhir.ml"
25106 in
25107 _menhir_env.MenhirLib.EngineTypes.stack <- {
25108 MenhirLib.EngineTypes.state = _menhir_s;
25109 MenhirLib.EngineTypes.semv = Obj.repr _v;
25110 MenhirLib.EngineTypes.startp = _startpos;
25111 MenhirLib.EngineTypes.endp = _endpos;
25112 MenhirLib.EngineTypes.next = _menhir_stack;
25113 });
25114 (fun _menhir_env ->
25115 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25116 let {
25117 MenhirLib.EngineTypes.semv = i;
25118 MenhirLib.EngineTypes.startp = _startpos_i_;
25119 MenhirLib.EngineTypes.endp = _endpos_i_;
25120 MenhirLib.EngineTypes.next = {
25121 MenhirLib.EngineTypes.state = _menhir_s;
25122 MenhirLib.EngineTypes.startp = _startpos__1_;
25123 MenhirLib.EngineTypes.endp = _endpos__1_;
25124 MenhirLib.EngineTypes.next = _menhir_stack;
25125 };
25126 } = _menhir_stack in
25127 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
25128 let _startpos = _startpos__1_ in
25129 let _endpos = _endpos_i_ in
25130 let _v : 'tv_not_eqid =
25131 # 1647 "parser_cocci_menhir.mly"
25132 ( (if !Data.in_iso
25133 then failwith "constraints not allowed in iso file");
25134 (if !Data.in_generating
25135 (* pb: constraints not stored with metavars; too lazy to search for
25136 them in the pattern *)
25137 then failwith "constraints not allowed in a generated rule file");
25138 (match i with
25139 (Some rn,id) ->
25140 let i =
25141 P.check_inherited_constraint i
25142 (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in
25143 Ast.IdNegIdSet([],[i])
25144 | (None,i) -> Ast.IdNegIdSet([i],[])) )
25145 # 25146 "parser_cocci_menhir.ml"
25146 in
25147 _menhir_env.MenhirLib.EngineTypes.stack <- {
25148 MenhirLib.EngineTypes.state = _menhir_s;
25149 MenhirLib.EngineTypes.semv = Obj.repr _v;
25150 MenhirLib.EngineTypes.startp = _startpos;
25151 MenhirLib.EngineTypes.endp = _endpos;
25152 MenhirLib.EngineTypes.next = _menhir_stack;
25153 });
25154 (fun _menhir_env ->
25155 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25156 let {
25157 MenhirLib.EngineTypes.startp = _startpos__4_;
25158 MenhirLib.EngineTypes.endp = _endpos__4_;
25159 MenhirLib.EngineTypes.next = {
25160 MenhirLib.EngineTypes.semv = l;
25161 MenhirLib.EngineTypes.startp = _startpos_l_;
25162 MenhirLib.EngineTypes.endp = _endpos_l_;
25163 MenhirLib.EngineTypes.next = {
25164 MenhirLib.EngineTypes.startp = _startpos__2_;
25165 MenhirLib.EngineTypes.endp = _endpos__2_;
25166 MenhirLib.EngineTypes.next = {
25167 MenhirLib.EngineTypes.state = _menhir_s;
25168 MenhirLib.EngineTypes.startp = _startpos__1_;
25169 MenhirLib.EngineTypes.endp = _endpos__1_;
25170 MenhirLib.EngineTypes.next = _menhir_stack;
25171 };
25172 };
25173 };
25174 } = _menhir_stack in
25175 let l : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic l in
25176 let _startpos = _startpos__1_ in
25177 let _endpos = _endpos__4_ in
25178 let _v : 'tv_not_eqid =
25179 # 1661 "parser_cocci_menhir.mly"
25180 ( (if !Data.in_iso
25181 then failwith "constraints not allowed in iso file");
25182 (if !Data.in_generating
25183 then failwith "constraints not allowed in a generated rule file");
25184 let (str,meta) =
25185 List.fold_left
25186 (function (str,meta) ->
25187 function
25188 (Some rn,id) as i ->
25189 let i =
25190 P.check_inherited_constraint i
25191 (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in
25192 (str,i::meta)
25193 | (None,i) -> (i::str,meta))
25194 ([],[]) l in
25195 Ast.IdNegIdSet(str,meta)
25196 )
25197 # 25198 "parser_cocci_menhir.ml"
25198 in
25199 _menhir_env.MenhirLib.EngineTypes.stack <- {
25200 MenhirLib.EngineTypes.state = _menhir_s;
25201 MenhirLib.EngineTypes.semv = Obj.repr _v;
25202 MenhirLib.EngineTypes.startp = _startpos;
25203 MenhirLib.EngineTypes.endp = _endpos;
25204 MenhirLib.EngineTypes.next = _menhir_stack;
25205 });
25206 (fun _menhir_env ->
25207 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25208 let {
25209 MenhirLib.EngineTypes.semv = i;
25210 MenhirLib.EngineTypes.startp = _startpos_i_;
25211 MenhirLib.EngineTypes.endp = _endpos_i_;
25212 MenhirLib.EngineTypes.next = {
25213 MenhirLib.EngineTypes.state = _menhir_s;
25214 MenhirLib.EngineTypes.startp = _startpos__1_;
25215 MenhirLib.EngineTypes.endp = _endpos__1_;
25216 MenhirLib.EngineTypes.next = _menhir_stack;
25217 };
25218 } = _menhir_stack in
25219 let i : 'tv_meta_ident = Obj.magic i in
25220 let _startpos = _startpos__1_ in
25221 let _endpos = _endpos_i_ in
25222 let _v : 'tv_not_pos =
25223 # 1753 "parser_cocci_menhir.mly"
25224 ( (if !Data.in_iso
25225 then failwith "constraints not allowed in iso file");
25226 (if !Data.in_generating
25227 then failwith "constraints not allowed in a generated rule file");
25228 let i =
25229 P.check_inherited_constraint i
25230 (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)) in
25231 [i] )
25232 # 25233 "parser_cocci_menhir.ml"
25233 in
25234 _menhir_env.MenhirLib.EngineTypes.stack <- {
25235 MenhirLib.EngineTypes.state = _menhir_s;
25236 MenhirLib.EngineTypes.semv = Obj.repr _v;
25237 MenhirLib.EngineTypes.startp = _startpos;
25238 MenhirLib.EngineTypes.endp = _endpos;
25239 MenhirLib.EngineTypes.next = _menhir_stack;
25240 });
25241 (fun _menhir_env ->
25242 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25243 let {
25244 MenhirLib.EngineTypes.startp = _startpos__4_;
25245 MenhirLib.EngineTypes.endp = _endpos__4_;
25246 MenhirLib.EngineTypes.next = {
25247 MenhirLib.EngineTypes.semv = l;
25248 MenhirLib.EngineTypes.startp = _startpos_l_;
25249 MenhirLib.EngineTypes.endp = _endpos_l_;
25250 MenhirLib.EngineTypes.next = {
25251 MenhirLib.EngineTypes.startp = _startpos__2_;
25252 MenhirLib.EngineTypes.endp = _endpos__2_;
25253 MenhirLib.EngineTypes.next = {
25254 MenhirLib.EngineTypes.state = _menhir_s;
25255 MenhirLib.EngineTypes.startp = _startpos__1_;
25256 MenhirLib.EngineTypes.endp = _endpos__1_;
25257 MenhirLib.EngineTypes.next = _menhir_stack;
25258 };
25259 };
25260 };
25261 } = _menhir_stack in
25262 let l : 'tv_comma_list_meta_ident_ = Obj.magic l in
25263 let _startpos = _startpos__1_ in
25264 let _endpos = _endpos__4_ in
25265 let _v : 'tv_not_pos =
25266 # 1762 "parser_cocci_menhir.mly"
25267 ( (if !Data.in_iso
25268 then failwith "constraints not allowed in iso file");
25269 (if !Data.in_generating
25270 then failwith "constraints not allowed in a generated rule file");
25271 List.map
25272 (function i ->
25273 P.check_inherited_constraint i
25274 (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)))
25275 l )
25276 # 25277 "parser_cocci_menhir.ml"
25277 in
25278 _menhir_env.MenhirLib.EngineTypes.stack <- {
25279 MenhirLib.EngineTypes.state = _menhir_s;
25280 MenhirLib.EngineTypes.semv = Obj.repr _v;
25281 MenhirLib.EngineTypes.startp = _startpos;
25282 MenhirLib.EngineTypes.endp = _endpos;
25283 MenhirLib.EngineTypes.next = _menhir_stack;
25284 });
25285 (fun _menhir_env ->
25286 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25287 let {
25288 MenhirLib.EngineTypes.state = _menhir_s;
25289 MenhirLib.EngineTypes.semv = _1;
25290 MenhirLib.EngineTypes.startp = _startpos__1_;
25291 MenhirLib.EngineTypes.endp = _endpos__1_;
25292 MenhirLib.EngineTypes.next = _menhir_stack;
25293 } = _menhir_stack in
25294 let _1 : 'tv_decl = Obj.magic _1 in
25295 let _startpos = _startpos__1_ in
25296 let _endpos = _endpos__1_ in
25297 let _v : 'tv_one_dec_decl_ =
25298 # 1823 "parser_cocci_menhir.mly"
25299 ( _1 )
25300 # 25301 "parser_cocci_menhir.ml"
25301 in
25302 _menhir_env.MenhirLib.EngineTypes.stack <- {
25303 MenhirLib.EngineTypes.state = _menhir_s;
25304 MenhirLib.EngineTypes.semv = Obj.repr _v;
25305 MenhirLib.EngineTypes.startp = _startpos;
25306 MenhirLib.EngineTypes.endp = _endpos;
25307 MenhirLib.EngineTypes.next = _menhir_stack;
25308 });
25309 (fun _menhir_env ->
25310 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25311 let {
25312 MenhirLib.EngineTypes.state = _menhir_s;
25313 MenhirLib.EngineTypes.semv = _1;
25314 MenhirLib.EngineTypes.startp = _startpos__1_;
25315 MenhirLib.EngineTypes.endp = _endpos__1_;
25316 MenhirLib.EngineTypes.next = _menhir_stack;
25317 } = _menhir_stack in
25318 let _1 : (
25319 # 70 "parser_cocci_menhir.mly"
25320 (Parse_aux.list_info)
25321 # 25322 "parser_cocci_menhir.ml"
25322 ) = Obj.magic _1 in
25323 let _startpos = _startpos__1_ in
25324 let _endpos = _endpos__1_ in
25325 let _v : 'tv_one_dec_decl_ =
25326 # 1825 "parser_cocci_menhir.mly"
25327 ( let (nm,lenname,pure,clt) = _1 in
25328 let nm = P.clt2mcode nm clt in
25329 let lenname =
25330 match lenname with
25331 Ast.AnyLen -> Ast0.AnyListLen
25332 | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
25333 | Ast.CstLen n -> Ast0.CstListLen n in
25334 Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
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.state = _menhir_s;
25348 MenhirLib.EngineTypes.semv = _1;
25349 MenhirLib.EngineTypes.startp = _startpos__1_;
25350 MenhirLib.EngineTypes.endp = _endpos__1_;
25351 MenhirLib.EngineTypes.next = _menhir_stack;
25352 } = _menhir_stack in
25353 let _1 : 'tv_name_opt_decl = Obj.magic _1 in
25354 let _startpos = _startpos__1_ in
25355 let _endpos = _endpos__1_ in
25356 let _v : 'tv_one_dec_name_opt_decl_ =
25357 # 1823 "parser_cocci_menhir.mly"
25358 ( _1 )
25359 # 25360 "parser_cocci_menhir.ml"
25360 in
25361 _menhir_env.MenhirLib.EngineTypes.stack <- {
25362 MenhirLib.EngineTypes.state = _menhir_s;
25363 MenhirLib.EngineTypes.semv = Obj.repr _v;
25364 MenhirLib.EngineTypes.startp = _startpos;
25365 MenhirLib.EngineTypes.endp = _endpos;
25366 MenhirLib.EngineTypes.next = _menhir_stack;
25367 });
25368 (fun _menhir_env ->
25369 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25370 let {
25371 MenhirLib.EngineTypes.state = _menhir_s;
25372 MenhirLib.EngineTypes.semv = _1;
25373 MenhirLib.EngineTypes.startp = _startpos__1_;
25374 MenhirLib.EngineTypes.endp = _endpos__1_;
25375 MenhirLib.EngineTypes.next = _menhir_stack;
25376 } = _menhir_stack in
25377 let _1 : (
25378 # 70 "parser_cocci_menhir.mly"
25379 (Parse_aux.list_info)
25380 # 25381 "parser_cocci_menhir.ml"
25381 ) = Obj.magic _1 in
25382 let _startpos = _startpos__1_ in
25383 let _endpos = _endpos__1_ in
25384 let _v : 'tv_one_dec_name_opt_decl_ =
25385 # 1825 "parser_cocci_menhir.mly"
25386 ( let (nm,lenname,pure,clt) = _1 in
25387 let nm = P.clt2mcode nm clt in
25388 let lenname =
25389 match lenname with
25390 Ast.AnyLen -> Ast0.AnyListLen
25391 | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
25392 | Ast.CstLen n -> Ast0.CstListLen n in
25393 Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
25394 # 25395 "parser_cocci_menhir.ml"
25395 in
25396 _menhir_env.MenhirLib.EngineTypes.stack <- {
25397 MenhirLib.EngineTypes.state = _menhir_s;
25398 MenhirLib.EngineTypes.semv = Obj.repr _v;
25399 MenhirLib.EngineTypes.startp = _startpos;
25400 MenhirLib.EngineTypes.endp = _endpos;
25401 MenhirLib.EngineTypes.next = _menhir_stack;
25402 });
25403 (fun _menhir_env ->
25404 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25405 let {
25406 MenhirLib.EngineTypes.semv = pv;
25407 MenhirLib.EngineTypes.startp = _startpos_pv_;
25408 MenhirLib.EngineTypes.endp = _endpos_pv_;
25409 MenhirLib.EngineTypes.next = {
25410 MenhirLib.EngineTypes.state = _menhir_s;
25411 MenhirLib.EngineTypes.semv = t;
25412 MenhirLib.EngineTypes.startp = _startpos_t_;
25413 MenhirLib.EngineTypes.endp = _endpos_t_;
25414 MenhirLib.EngineTypes.next = _menhir_stack;
25415 };
25416 } = _menhir_stack in
25417 let pv : (
25418 # 111 "parser_cocci_menhir.mly"
25419 (Data.clt)
25420 # 25421 "parser_cocci_menhir.ml"
25421 ) = Obj.magic pv in
25422 let t : 'tv_ctype = Obj.magic t in
25423 let _startpos = _startpos_t_ in
25424 let _endpos = _endpos_pv_ in
25425 let _v : 'tv_one_decl_var =
25426 # 1113 "parser_cocci_menhir.mly"
25427 ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) )
25428 # 25429 "parser_cocci_menhir.ml"
25429 in
25430 _menhir_env.MenhirLib.EngineTypes.stack <- {
25431 MenhirLib.EngineTypes.state = _menhir_s;
25432 MenhirLib.EngineTypes.semv = Obj.repr _v;
25433 MenhirLib.EngineTypes.startp = _startpos;
25434 MenhirLib.EngineTypes.endp = _endpos;
25435 MenhirLib.EngineTypes.next = _menhir_stack;
25436 });
25437 (fun _menhir_env ->
25438 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25439 let {
25440 MenhirLib.EngineTypes.state = _menhir_s;
25441 MenhirLib.EngineTypes.semv = _1;
25442 MenhirLib.EngineTypes.startp = _startpos__1_;
25443 MenhirLib.EngineTypes.endp = _endpos__1_;
25444 MenhirLib.EngineTypes.next = _menhir_stack;
25445 } = _menhir_stack in
25446 let _1 : (
25447 # 69 "parser_cocci_menhir.mly"
25448 (Parse_aux.info)
25449 # 25450 "parser_cocci_menhir.ml"
25450 ) = Obj.magic _1 in
25451 let _startpos = _startpos__1_ in
25452 let _endpos = _endpos__1_ in
25453 let _v : 'tv_one_decl_var =
25454 # 1114 "parser_cocci_menhir.mly"
25455 ( P.meta_decl _1 )
25456 # 25457 "parser_cocci_menhir.ml"
25457 in
25458 _menhir_env.MenhirLib.EngineTypes.stack <- {
25459 MenhirLib.EngineTypes.state = _menhir_s;
25460 MenhirLib.EngineTypes.semv = Obj.repr _v;
25461 MenhirLib.EngineTypes.startp = _startpos;
25462 MenhirLib.EngineTypes.endp = _endpos;
25463 MenhirLib.EngineTypes.next = _menhir_stack;
25464 });
25465 (fun _menhir_env ->
25466 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25467 let {
25468 MenhirLib.EngineTypes.semv = pv;
25469 MenhirLib.EngineTypes.startp = _startpos_pv_;
25470 MenhirLib.EngineTypes.endp = _endpos_pv_;
25471 MenhirLib.EngineTypes.next = {
25472 MenhirLib.EngineTypes.semv = d;
25473 MenhirLib.EngineTypes.startp = _startpos_d_;
25474 MenhirLib.EngineTypes.endp = _endpos_d_;
25475 MenhirLib.EngineTypes.next = {
25476 MenhirLib.EngineTypes.state = _menhir_s;
25477 MenhirLib.EngineTypes.semv = t;
25478 MenhirLib.EngineTypes.startp = _startpos_t_;
25479 MenhirLib.EngineTypes.endp = _endpos_t_;
25480 MenhirLib.EngineTypes.next = _menhir_stack;
25481 };
25482 };
25483 } = _menhir_stack in
25484 let pv : (
25485 # 111 "parser_cocci_menhir.mly"
25486 (Data.clt)
25487 # 25488 "parser_cocci_menhir.ml"
25488 ) = Obj.magic pv in
25489 let d : 'tv_d_ident = Obj.magic d in
25490 let t : 'tv_ctype = Obj.magic t in
25491 let _startpos = _startpos_t_ in
25492 let _endpos = _endpos_pv_ in
25493 let _v : 'tv_one_decl_var = let s =
25494
25495 # 39 "standard.mly"
25496 ( None )
25497 # 25498 "parser_cocci_menhir.ml"
25498
25499 in
25500
25501 # 1116 "parser_cocci_menhir.mly"
25502 ( let (id,fn) = d in
25503 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
25504 # 25505 "parser_cocci_menhir.ml"
25505 in
25506 _menhir_env.MenhirLib.EngineTypes.stack <- {
25507 MenhirLib.EngineTypes.state = _menhir_s;
25508 MenhirLib.EngineTypes.semv = Obj.repr _v;
25509 MenhirLib.EngineTypes.startp = _startpos;
25510 MenhirLib.EngineTypes.endp = _endpos;
25511 MenhirLib.EngineTypes.next = _menhir_stack;
25512 });
25513 (fun _menhir_env ->
25514 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25515 let {
25516 MenhirLib.EngineTypes.semv = pv;
25517 MenhirLib.EngineTypes.startp = _startpos_pv_;
25518 MenhirLib.EngineTypes.endp = _endpos_pv_;
25519 MenhirLib.EngineTypes.next = {
25520 MenhirLib.EngineTypes.semv = d;
25521 MenhirLib.EngineTypes.startp = _startpos_d_;
25522 MenhirLib.EngineTypes.endp = _endpos_d_;
25523 MenhirLib.EngineTypes.next = {
25524 MenhirLib.EngineTypes.semv = t;
25525 MenhirLib.EngineTypes.startp = _startpos_t_;
25526 MenhirLib.EngineTypes.endp = _endpos_t_;
25527 MenhirLib.EngineTypes.next = {
25528 MenhirLib.EngineTypes.state = _menhir_s;
25529 MenhirLib.EngineTypes.semv = x0;
25530 MenhirLib.EngineTypes.startp = _startpos_x0_;
25531 MenhirLib.EngineTypes.endp = _endpos_x0_;
25532 MenhirLib.EngineTypes.next = _menhir_stack;
25533 };
25534 };
25535 };
25536 } = _menhir_stack in
25537 let pv : (
25538 # 111 "parser_cocci_menhir.mly"
25539 (Data.clt)
25540 # 25541 "parser_cocci_menhir.ml"
25541 ) = Obj.magic pv in
25542 let d : 'tv_d_ident = Obj.magic d in
25543 let t : 'tv_ctype = Obj.magic t in
25544 let x0 : 'tv_storage = Obj.magic x0 in
25545 let _startpos = _startpos_x0_ in
25546 let _endpos = _endpos_pv_ in
25547 let _v : 'tv_one_decl_var = let s =
25548 let x = x0 in
25549
25550 # 41 "standard.mly"
25551 ( Some x )
25552 # 25553 "parser_cocci_menhir.ml"
25553
25554 in
25555
25556 # 1116 "parser_cocci_menhir.mly"
25557 ( let (id,fn) = d in
25558 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
25559 # 25560 "parser_cocci_menhir.ml"
25560 in
25561 _menhir_env.MenhirLib.EngineTypes.stack <- {
25562 MenhirLib.EngineTypes.state = _menhir_s;
25563 MenhirLib.EngineTypes.semv = Obj.repr _v;
25564 MenhirLib.EngineTypes.startp = _startpos;
25565 MenhirLib.EngineTypes.endp = _endpos;
25566 MenhirLib.EngineTypes.next = _menhir_stack;
25567 });
25568 (fun _menhir_env ->
25569 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25570 let {
25571 MenhirLib.EngineTypes.state = _menhir_s;
25572 MenhirLib.EngineTypes.semv = f;
25573 MenhirLib.EngineTypes.startp = _startpos_f_;
25574 MenhirLib.EngineTypes.endp = _endpos_f_;
25575 MenhirLib.EngineTypes.next = _menhir_stack;
25576 } = _menhir_stack in
25577 let f : 'tv_funproto = Obj.magic f in
25578 let _startpos = _startpos_f_ in
25579 let _endpos = _endpos_f_ in
25580 let _v : 'tv_one_decl_var =
25581 # 1118 "parser_cocci_menhir.mly"
25582 ( f )
25583 # 25584 "parser_cocci_menhir.ml"
25584 in
25585 _menhir_env.MenhirLib.EngineTypes.stack <- {
25586 MenhirLib.EngineTypes.state = _menhir_s;
25587 MenhirLib.EngineTypes.semv = Obj.repr _v;
25588 MenhirLib.EngineTypes.startp = _startpos;
25589 MenhirLib.EngineTypes.endp = _endpos;
25590 MenhirLib.EngineTypes.next = _menhir_stack;
25591 });
25592 (fun _menhir_env ->
25593 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25594 let {
25595 MenhirLib.EngineTypes.semv = pv;
25596 MenhirLib.EngineTypes.startp = _startpos_pv_;
25597 MenhirLib.EngineTypes.endp = _endpos_pv_;
25598 MenhirLib.EngineTypes.next = {
25599 MenhirLib.EngineTypes.semv = e;
25600 MenhirLib.EngineTypes.startp = _startpos_e_;
25601 MenhirLib.EngineTypes.endp = _endpos_e_;
25602 MenhirLib.EngineTypes.next = {
25603 MenhirLib.EngineTypes.semv = q;
25604 MenhirLib.EngineTypes.startp = _startpos_q_;
25605 MenhirLib.EngineTypes.endp = _endpos_q_;
25606 MenhirLib.EngineTypes.next = {
25607 MenhirLib.EngineTypes.semv = d;
25608 MenhirLib.EngineTypes.startp = _startpos_d_;
25609 MenhirLib.EngineTypes.endp = _endpos_d_;
25610 MenhirLib.EngineTypes.next = {
25611 MenhirLib.EngineTypes.state = _menhir_s;
25612 MenhirLib.EngineTypes.semv = t;
25613 MenhirLib.EngineTypes.startp = _startpos_t_;
25614 MenhirLib.EngineTypes.endp = _endpos_t_;
25615 MenhirLib.EngineTypes.next = _menhir_stack;
25616 };
25617 };
25618 };
25619 };
25620 } = _menhir_stack in
25621 let pv : (
25622 # 111 "parser_cocci_menhir.mly"
25623 (Data.clt)
25624 # 25625 "parser_cocci_menhir.ml"
25625 ) = Obj.magic pv in
25626 let e : 'tv_initialize = Obj.magic e in
25627 let q : (
25628 # 111 "parser_cocci_menhir.mly"
25629 (Data.clt)
25630 # 25631 "parser_cocci_menhir.ml"
25631 ) = Obj.magic q in
25632 let d : 'tv_d_ident = Obj.magic d in
25633 let t : 'tv_ctype = Obj.magic t in
25634 let _startpos = _startpos_t_ in
25635 let _endpos = _endpos_pv_ in
25636 let _v : 'tv_one_decl_var = let s =
25637
25638 # 39 "standard.mly"
25639 ( None )
25640 # 25641 "parser_cocci_menhir.ml"
25641
25642 in
25643
25644 # 1120 "parser_cocci_menhir.mly"
25645 ( let (id,fn) = d in
25646 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
25647 # 25648 "parser_cocci_menhir.ml"
25648 in
25649 _menhir_env.MenhirLib.EngineTypes.stack <- {
25650 MenhirLib.EngineTypes.state = _menhir_s;
25651 MenhirLib.EngineTypes.semv = Obj.repr _v;
25652 MenhirLib.EngineTypes.startp = _startpos;
25653 MenhirLib.EngineTypes.endp = _endpos;
25654 MenhirLib.EngineTypes.next = _menhir_stack;
25655 });
25656 (fun _menhir_env ->
25657 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25658 let {
25659 MenhirLib.EngineTypes.semv = pv;
25660 MenhirLib.EngineTypes.startp = _startpos_pv_;
25661 MenhirLib.EngineTypes.endp = _endpos_pv_;
25662 MenhirLib.EngineTypes.next = {
25663 MenhirLib.EngineTypes.semv = e;
25664 MenhirLib.EngineTypes.startp = _startpos_e_;
25665 MenhirLib.EngineTypes.endp = _endpos_e_;
25666 MenhirLib.EngineTypes.next = {
25667 MenhirLib.EngineTypes.semv = q;
25668 MenhirLib.EngineTypes.startp = _startpos_q_;
25669 MenhirLib.EngineTypes.endp = _endpos_q_;
25670 MenhirLib.EngineTypes.next = {
25671 MenhirLib.EngineTypes.semv = d;
25672 MenhirLib.EngineTypes.startp = _startpos_d_;
25673 MenhirLib.EngineTypes.endp = _endpos_d_;
25674 MenhirLib.EngineTypes.next = {
25675 MenhirLib.EngineTypes.semv = t;
25676 MenhirLib.EngineTypes.startp = _startpos_t_;
25677 MenhirLib.EngineTypes.endp = _endpos_t_;
25678 MenhirLib.EngineTypes.next = {
25679 MenhirLib.EngineTypes.state = _menhir_s;
25680 MenhirLib.EngineTypes.semv = x0;
25681 MenhirLib.EngineTypes.startp = _startpos_x0_;
25682 MenhirLib.EngineTypes.endp = _endpos_x0_;
25683 MenhirLib.EngineTypes.next = _menhir_stack;
25684 };
25685 };
25686 };
25687 };
25688 };
25689 } = _menhir_stack in
25690 let pv : (
25691 # 111 "parser_cocci_menhir.mly"
25692 (Data.clt)
25693 # 25694 "parser_cocci_menhir.ml"
25694 ) = Obj.magic pv in
25695 let e : 'tv_initialize = Obj.magic e in
25696 let q : (
25697 # 111 "parser_cocci_menhir.mly"
25698 (Data.clt)
25699 # 25700 "parser_cocci_menhir.ml"
25700 ) = Obj.magic q in
25701 let d : 'tv_d_ident = Obj.magic d in
25702 let t : 'tv_ctype = Obj.magic t in
25703 let x0 : 'tv_storage = Obj.magic x0 in
25704 let _startpos = _startpos_x0_ in
25705 let _endpos = _endpos_pv_ in
25706 let _v : 'tv_one_decl_var = let s =
25707 let x = x0 in
25708
25709 # 41 "standard.mly"
25710 ( Some x )
25711 # 25712 "parser_cocci_menhir.ml"
25712
25713 in
25714
25715 # 1120 "parser_cocci_menhir.mly"
25716 ( let (id,fn) = d in
25717 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
25718 # 25719 "parser_cocci_menhir.ml"
25719 in
25720 _menhir_env.MenhirLib.EngineTypes.stack <- {
25721 MenhirLib.EngineTypes.state = _menhir_s;
25722 MenhirLib.EngineTypes.semv = Obj.repr _v;
25723 MenhirLib.EngineTypes.startp = _startpos;
25724 MenhirLib.EngineTypes.endp = _endpos;
25725 MenhirLib.EngineTypes.next = _menhir_stack;
25726 });
25727 (fun _menhir_env ->
25728 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25729 let {
25730 MenhirLib.EngineTypes.semv = pv;
25731 MenhirLib.EngineTypes.startp = _startpos_pv_;
25732 MenhirLib.EngineTypes.endp = _endpos_pv_;
25733 MenhirLib.EngineTypes.next = {
25734 MenhirLib.EngineTypes.semv = d;
25735 MenhirLib.EngineTypes.startp = _startpos_d_;
25736 MenhirLib.EngineTypes.endp = _endpos_d_;
25737 MenhirLib.EngineTypes.next = {
25738 MenhirLib.EngineTypes.state = _menhir_s;
25739 MenhirLib.EngineTypes.semv = i;
25740 MenhirLib.EngineTypes.startp = _startpos_i_;
25741 MenhirLib.EngineTypes.endp = _endpos_i_;
25742 MenhirLib.EngineTypes.next = _menhir_stack;
25743 };
25744 };
25745 } = _menhir_stack in
25746 let pv : (
25747 # 111 "parser_cocci_menhir.mly"
25748 (Data.clt)
25749 # 25750 "parser_cocci_menhir.ml"
25750 ) = Obj.magic pv in
25751 let d : 'tv_d_ident = Obj.magic d in
25752 let i : 'tv_pure_ident = Obj.magic i in
25753 let _startpos = _startpos_i_ in
25754 let _endpos = _endpos_pv_ in
25755 let _v : 'tv_one_decl_var = let cv =
25756
25757 # 39 "standard.mly"
25758 ( None )
25759 # 25760 "parser_cocci_menhir.ml"
25760
25761 in
25762 let s =
25763
25764 # 39 "standard.mly"
25765 ( None )
25766 # 25767 "parser_cocci_menhir.ml"
25767
25768 in
25769
25770 # 1125 "parser_cocci_menhir.mly"
25771 ( let (id,fn) = d in
25772 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
25773 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
25774 # 25775 "parser_cocci_menhir.ml"
25775 in
25776 _menhir_env.MenhirLib.EngineTypes.stack <- {
25777 MenhirLib.EngineTypes.state = _menhir_s;
25778 MenhirLib.EngineTypes.semv = Obj.repr _v;
25779 MenhirLib.EngineTypes.startp = _startpos;
25780 MenhirLib.EngineTypes.endp = _endpos;
25781 MenhirLib.EngineTypes.next = _menhir_stack;
25782 });
25783 (fun _menhir_env ->
25784 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25785 let {
25786 MenhirLib.EngineTypes.semv = pv;
25787 MenhirLib.EngineTypes.startp = _startpos_pv_;
25788 MenhirLib.EngineTypes.endp = _endpos_pv_;
25789 MenhirLib.EngineTypes.next = {
25790 MenhirLib.EngineTypes.semv = d;
25791 MenhirLib.EngineTypes.startp = _startpos_d_;
25792 MenhirLib.EngineTypes.endp = _endpos_d_;
25793 MenhirLib.EngineTypes.next = {
25794 MenhirLib.EngineTypes.semv = i;
25795 MenhirLib.EngineTypes.startp = _startpos_i_;
25796 MenhirLib.EngineTypes.endp = _endpos_i_;
25797 MenhirLib.EngineTypes.next = {
25798 MenhirLib.EngineTypes.state = _menhir_s;
25799 MenhirLib.EngineTypes.semv = x0;
25800 MenhirLib.EngineTypes.startp = _startpos_x0_;
25801 MenhirLib.EngineTypes.endp = _endpos_x0_;
25802 MenhirLib.EngineTypes.next = _menhir_stack;
25803 };
25804 };
25805 };
25806 } = _menhir_stack in
25807 let pv : (
25808 # 111 "parser_cocci_menhir.mly"
25809 (Data.clt)
25810 # 25811 "parser_cocci_menhir.ml"
25811 ) = Obj.magic pv in
25812 let d : 'tv_d_ident = Obj.magic d in
25813 let i : 'tv_pure_ident = Obj.magic i in
25814 let x0 : 'tv_const_vol = Obj.magic x0 in
25815 let _startpos = _startpos_x0_ in
25816 let _endpos = _endpos_pv_ in
25817 let _v : 'tv_one_decl_var = let cv =
25818 let x = x0 in
25819
25820 # 41 "standard.mly"
25821 ( Some x )
25822 # 25823 "parser_cocci_menhir.ml"
25823
25824 in
25825 let s =
25826
25827 # 39 "standard.mly"
25828 ( None )
25829 # 25830 "parser_cocci_menhir.ml"
25830
25831 in
25832
25833 # 1125 "parser_cocci_menhir.mly"
25834 ( let (id,fn) = d in
25835 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
25836 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
25837 # 25838 "parser_cocci_menhir.ml"
25838 in
25839 _menhir_env.MenhirLib.EngineTypes.stack <- {
25840 MenhirLib.EngineTypes.state = _menhir_s;
25841 MenhirLib.EngineTypes.semv = Obj.repr _v;
25842 MenhirLib.EngineTypes.startp = _startpos;
25843 MenhirLib.EngineTypes.endp = _endpos;
25844 MenhirLib.EngineTypes.next = _menhir_stack;
25845 });
25846 (fun _menhir_env ->
25847 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25848 let {
25849 MenhirLib.EngineTypes.semv = pv;
25850 MenhirLib.EngineTypes.startp = _startpos_pv_;
25851 MenhirLib.EngineTypes.endp = _endpos_pv_;
25852 MenhirLib.EngineTypes.next = {
25853 MenhirLib.EngineTypes.semv = d;
25854 MenhirLib.EngineTypes.startp = _startpos_d_;
25855 MenhirLib.EngineTypes.endp = _endpos_d_;
25856 MenhirLib.EngineTypes.next = {
25857 MenhirLib.EngineTypes.semv = i;
25858 MenhirLib.EngineTypes.startp = _startpos_i_;
25859 MenhirLib.EngineTypes.endp = _endpos_i_;
25860 MenhirLib.EngineTypes.next = {
25861 MenhirLib.EngineTypes.state = _menhir_s;
25862 MenhirLib.EngineTypes.semv = x0;
25863 MenhirLib.EngineTypes.startp = _startpos_x0_;
25864 MenhirLib.EngineTypes.endp = _endpos_x0_;
25865 MenhirLib.EngineTypes.next = _menhir_stack;
25866 };
25867 };
25868 };
25869 } = _menhir_stack in
25870 let pv : (
25871 # 111 "parser_cocci_menhir.mly"
25872 (Data.clt)
25873 # 25874 "parser_cocci_menhir.ml"
25874 ) = Obj.magic pv in
25875 let d : 'tv_d_ident = Obj.magic d in
25876 let i : 'tv_pure_ident = Obj.magic i in
25877 let x0 : 'tv_storage = Obj.magic x0 in
25878 let _startpos = _startpos_x0_ in
25879 let _endpos = _endpos_pv_ in
25880 let _v : 'tv_one_decl_var = let cv =
25881
25882 # 39 "standard.mly"
25883 ( None )
25884 # 25885 "parser_cocci_menhir.ml"
25885
25886 in
25887 let s =
25888 let x = x0 in
25889
25890 # 41 "standard.mly"
25891 ( Some x )
25892 # 25893 "parser_cocci_menhir.ml"
25893
25894 in
25895
25896 # 1125 "parser_cocci_menhir.mly"
25897 ( let (id,fn) = d in
25898 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
25899 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
25900 # 25901 "parser_cocci_menhir.ml"
25901 in
25902 _menhir_env.MenhirLib.EngineTypes.stack <- {
25903 MenhirLib.EngineTypes.state = _menhir_s;
25904 MenhirLib.EngineTypes.semv = Obj.repr _v;
25905 MenhirLib.EngineTypes.startp = _startpos;
25906 MenhirLib.EngineTypes.endp = _endpos;
25907 MenhirLib.EngineTypes.next = _menhir_stack;
25908 });
25909 (fun _menhir_env ->
25910 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25911 let {
25912 MenhirLib.EngineTypes.semv = pv;
25913 MenhirLib.EngineTypes.startp = _startpos_pv_;
25914 MenhirLib.EngineTypes.endp = _endpos_pv_;
25915 MenhirLib.EngineTypes.next = {
25916 MenhirLib.EngineTypes.semv = d;
25917 MenhirLib.EngineTypes.startp = _startpos_d_;
25918 MenhirLib.EngineTypes.endp = _endpos_d_;
25919 MenhirLib.EngineTypes.next = {
25920 MenhirLib.EngineTypes.semv = i;
25921 MenhirLib.EngineTypes.startp = _startpos_i_;
25922 MenhirLib.EngineTypes.endp = _endpos_i_;
25923 MenhirLib.EngineTypes.next = {
25924 MenhirLib.EngineTypes.semv = x1;
25925 MenhirLib.EngineTypes.startp = _startpos_x1_;
25926 MenhirLib.EngineTypes.endp = _endpos_x1_;
25927 MenhirLib.EngineTypes.next = {
25928 MenhirLib.EngineTypes.state = _menhir_s;
25929 MenhirLib.EngineTypes.semv = x0;
25930 MenhirLib.EngineTypes.startp = _startpos_x0_;
25931 MenhirLib.EngineTypes.endp = _endpos_x0_;
25932 MenhirLib.EngineTypes.next = _menhir_stack;
25933 };
25934 };
25935 };
25936 };
25937 } = _menhir_stack in
25938 let pv : (
25939 # 111 "parser_cocci_menhir.mly"
25940 (Data.clt)
25941 # 25942 "parser_cocci_menhir.ml"
25942 ) = Obj.magic pv in
25943 let d : 'tv_d_ident = Obj.magic d in
25944 let i : 'tv_pure_ident = Obj.magic i in
25945 let x1 : 'tv_const_vol = Obj.magic x1 in
25946 let x0 : 'tv_storage = Obj.magic x0 in
25947 let _startpos = _startpos_x0_ in
25948 let _endpos = _endpos_pv_ in
25949 let _v : 'tv_one_decl_var = let cv =
25950 let x = x1 in
25951
25952 # 41 "standard.mly"
25953 ( Some x )
25954 # 25955 "parser_cocci_menhir.ml"
25955
25956 in
25957 let s =
25958 let x = x0 in
25959
25960 # 41 "standard.mly"
25961 ( Some x )
25962 # 25963 "parser_cocci_menhir.ml"
25963
25964 in
25965
25966 # 1125 "parser_cocci_menhir.mly"
25967 ( let (id,fn) = d in
25968 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
25969 Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
25970 # 25971 "parser_cocci_menhir.ml"
25971 in
25972 _menhir_env.MenhirLib.EngineTypes.stack <- {
25973 MenhirLib.EngineTypes.state = _menhir_s;
25974 MenhirLib.EngineTypes.semv = Obj.repr _v;
25975 MenhirLib.EngineTypes.startp = _startpos;
25976 MenhirLib.EngineTypes.endp = _endpos;
25977 MenhirLib.EngineTypes.next = _menhir_stack;
25978 });
25979 (fun _menhir_env ->
25980 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
25981 let {
25982 MenhirLib.EngineTypes.semv = pv;
25983 MenhirLib.EngineTypes.startp = _startpos_pv_;
25984 MenhirLib.EngineTypes.endp = _endpos_pv_;
25985 MenhirLib.EngineTypes.next = {
25986 MenhirLib.EngineTypes.semv = e;
25987 MenhirLib.EngineTypes.startp = _startpos_e_;
25988 MenhirLib.EngineTypes.endp = _endpos_e_;
25989 MenhirLib.EngineTypes.next = {
25990 MenhirLib.EngineTypes.semv = q;
25991 MenhirLib.EngineTypes.startp = _startpos_q_;
25992 MenhirLib.EngineTypes.endp = _endpos_q_;
25993 MenhirLib.EngineTypes.next = {
25994 MenhirLib.EngineTypes.semv = d;
25995 MenhirLib.EngineTypes.startp = _startpos_d_;
25996 MenhirLib.EngineTypes.endp = _endpos_d_;
25997 MenhirLib.EngineTypes.next = {
25998 MenhirLib.EngineTypes.state = _menhir_s;
25999 MenhirLib.EngineTypes.semv = i;
26000 MenhirLib.EngineTypes.startp = _startpos_i_;
26001 MenhirLib.EngineTypes.endp = _endpos_i_;
26002 MenhirLib.EngineTypes.next = _menhir_stack;
26003 };
26004 };
26005 };
26006 };
26007 } = _menhir_stack in
26008 let pv : (
26009 # 111 "parser_cocci_menhir.mly"
26010 (Data.clt)
26011 # 26012 "parser_cocci_menhir.ml"
26012 ) = Obj.magic pv in
26013 let e : 'tv_initialize = Obj.magic e in
26014 let q : (
26015 # 111 "parser_cocci_menhir.mly"
26016 (Data.clt)
26017 # 26018 "parser_cocci_menhir.ml"
26018 ) = Obj.magic q in
26019 let d : 'tv_d_ident = Obj.magic d in
26020 let i : 'tv_pure_ident = Obj.magic i in
26021 let _startpos = _startpos_i_ in
26022 let _endpos = _endpos_pv_ in
26023 let _v : 'tv_one_decl_var = let cv =
26024
26025 # 39 "standard.mly"
26026 ( None )
26027 # 26028 "parser_cocci_menhir.ml"
26028
26029 in
26030 let s =
26031
26032 # 39 "standard.mly"
26033 ( None )
26034 # 26035 "parser_cocci_menhir.ml"
26035
26036 in
26037
26038 # 1130 "parser_cocci_menhir.mly"
26039 ( let (id,fn) = d in
26040 !Data.add_type_name (P.id2name i);
26041 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
26042 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
26043 P.clt2mcode ";" pv)) )
26044 # 26045 "parser_cocci_menhir.ml"
26045 in
26046 _menhir_env.MenhirLib.EngineTypes.stack <- {
26047 MenhirLib.EngineTypes.state = _menhir_s;
26048 MenhirLib.EngineTypes.semv = Obj.repr _v;
26049 MenhirLib.EngineTypes.startp = _startpos;
26050 MenhirLib.EngineTypes.endp = _endpos;
26051 MenhirLib.EngineTypes.next = _menhir_stack;
26052 });
26053 (fun _menhir_env ->
26054 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26055 let {
26056 MenhirLib.EngineTypes.semv = pv;
26057 MenhirLib.EngineTypes.startp = _startpos_pv_;
26058 MenhirLib.EngineTypes.endp = _endpos_pv_;
26059 MenhirLib.EngineTypes.next = {
26060 MenhirLib.EngineTypes.semv = e;
26061 MenhirLib.EngineTypes.startp = _startpos_e_;
26062 MenhirLib.EngineTypes.endp = _endpos_e_;
26063 MenhirLib.EngineTypes.next = {
26064 MenhirLib.EngineTypes.semv = q;
26065 MenhirLib.EngineTypes.startp = _startpos_q_;
26066 MenhirLib.EngineTypes.endp = _endpos_q_;
26067 MenhirLib.EngineTypes.next = {
26068 MenhirLib.EngineTypes.semv = d;
26069 MenhirLib.EngineTypes.startp = _startpos_d_;
26070 MenhirLib.EngineTypes.endp = _endpos_d_;
26071 MenhirLib.EngineTypes.next = {
26072 MenhirLib.EngineTypes.semv = i;
26073 MenhirLib.EngineTypes.startp = _startpos_i_;
26074 MenhirLib.EngineTypes.endp = _endpos_i_;
26075 MenhirLib.EngineTypes.next = {
26076 MenhirLib.EngineTypes.state = _menhir_s;
26077 MenhirLib.EngineTypes.semv = x0;
26078 MenhirLib.EngineTypes.startp = _startpos_x0_;
26079 MenhirLib.EngineTypes.endp = _endpos_x0_;
26080 MenhirLib.EngineTypes.next = _menhir_stack;
26081 };
26082 };
26083 };
26084 };
26085 };
26086 } = _menhir_stack in
26087 let pv : (
26088 # 111 "parser_cocci_menhir.mly"
26089 (Data.clt)
26090 # 26091 "parser_cocci_menhir.ml"
26091 ) = Obj.magic pv in
26092 let e : 'tv_initialize = Obj.magic e in
26093 let q : (
26094 # 111 "parser_cocci_menhir.mly"
26095 (Data.clt)
26096 # 26097 "parser_cocci_menhir.ml"
26097 ) = Obj.magic q in
26098 let d : 'tv_d_ident = Obj.magic d in
26099 let i : 'tv_pure_ident = Obj.magic i in
26100 let x0 : 'tv_const_vol = Obj.magic x0 in
26101 let _startpos = _startpos_x0_ in
26102 let _endpos = _endpos_pv_ in
26103 let _v : 'tv_one_decl_var = let cv =
26104 let x = x0 in
26105
26106 # 41 "standard.mly"
26107 ( Some x )
26108 # 26109 "parser_cocci_menhir.ml"
26109
26110 in
26111 let s =
26112
26113 # 39 "standard.mly"
26114 ( None )
26115 # 26116 "parser_cocci_menhir.ml"
26116
26117 in
26118
26119 # 1130 "parser_cocci_menhir.mly"
26120 ( let (id,fn) = d in
26121 !Data.add_type_name (P.id2name i);
26122 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
26123 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
26124 P.clt2mcode ";" pv)) )
26125 # 26126 "parser_cocci_menhir.ml"
26126 in
26127 _menhir_env.MenhirLib.EngineTypes.stack <- {
26128 MenhirLib.EngineTypes.state = _menhir_s;
26129 MenhirLib.EngineTypes.semv = Obj.repr _v;
26130 MenhirLib.EngineTypes.startp = _startpos;
26131 MenhirLib.EngineTypes.endp = _endpos;
26132 MenhirLib.EngineTypes.next = _menhir_stack;
26133 });
26134 (fun _menhir_env ->
26135 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26136 let {
26137 MenhirLib.EngineTypes.semv = pv;
26138 MenhirLib.EngineTypes.startp = _startpos_pv_;
26139 MenhirLib.EngineTypes.endp = _endpos_pv_;
26140 MenhirLib.EngineTypes.next = {
26141 MenhirLib.EngineTypes.semv = e;
26142 MenhirLib.EngineTypes.startp = _startpos_e_;
26143 MenhirLib.EngineTypes.endp = _endpos_e_;
26144 MenhirLib.EngineTypes.next = {
26145 MenhirLib.EngineTypes.semv = q;
26146 MenhirLib.EngineTypes.startp = _startpos_q_;
26147 MenhirLib.EngineTypes.endp = _endpos_q_;
26148 MenhirLib.EngineTypes.next = {
26149 MenhirLib.EngineTypes.semv = d;
26150 MenhirLib.EngineTypes.startp = _startpos_d_;
26151 MenhirLib.EngineTypes.endp = _endpos_d_;
26152 MenhirLib.EngineTypes.next = {
26153 MenhirLib.EngineTypes.semv = i;
26154 MenhirLib.EngineTypes.startp = _startpos_i_;
26155 MenhirLib.EngineTypes.endp = _endpos_i_;
26156 MenhirLib.EngineTypes.next = {
26157 MenhirLib.EngineTypes.state = _menhir_s;
26158 MenhirLib.EngineTypes.semv = x0;
26159 MenhirLib.EngineTypes.startp = _startpos_x0_;
26160 MenhirLib.EngineTypes.endp = _endpos_x0_;
26161 MenhirLib.EngineTypes.next = _menhir_stack;
26162 };
26163 };
26164 };
26165 };
26166 };
26167 } = _menhir_stack in
26168 let pv : (
26169 # 111 "parser_cocci_menhir.mly"
26170 (Data.clt)
26171 # 26172 "parser_cocci_menhir.ml"
26172 ) = Obj.magic pv in
26173 let e : 'tv_initialize = Obj.magic e in
26174 let q : (
26175 # 111 "parser_cocci_menhir.mly"
26176 (Data.clt)
26177 # 26178 "parser_cocci_menhir.ml"
26178 ) = Obj.magic q in
26179 let d : 'tv_d_ident = Obj.magic d in
26180 let i : 'tv_pure_ident = Obj.magic i in
26181 let x0 : 'tv_storage = Obj.magic x0 in
26182 let _startpos = _startpos_x0_ in
26183 let _endpos = _endpos_pv_ in
26184 let _v : 'tv_one_decl_var = let cv =
26185
26186 # 39 "standard.mly"
26187 ( None )
26188 # 26189 "parser_cocci_menhir.ml"
26189
26190 in
26191 let s =
26192 let x = x0 in
26193
26194 # 41 "standard.mly"
26195 ( Some x )
26196 # 26197 "parser_cocci_menhir.ml"
26197
26198 in
26199
26200 # 1130 "parser_cocci_menhir.mly"
26201 ( let (id,fn) = d in
26202 !Data.add_type_name (P.id2name i);
26203 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
26204 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
26205 P.clt2mcode ";" pv)) )
26206 # 26207 "parser_cocci_menhir.ml"
26207 in
26208 _menhir_env.MenhirLib.EngineTypes.stack <- {
26209 MenhirLib.EngineTypes.state = _menhir_s;
26210 MenhirLib.EngineTypes.semv = Obj.repr _v;
26211 MenhirLib.EngineTypes.startp = _startpos;
26212 MenhirLib.EngineTypes.endp = _endpos;
26213 MenhirLib.EngineTypes.next = _menhir_stack;
26214 });
26215 (fun _menhir_env ->
26216 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26217 let {
26218 MenhirLib.EngineTypes.semv = pv;
26219 MenhirLib.EngineTypes.startp = _startpos_pv_;
26220 MenhirLib.EngineTypes.endp = _endpos_pv_;
26221 MenhirLib.EngineTypes.next = {
26222 MenhirLib.EngineTypes.semv = e;
26223 MenhirLib.EngineTypes.startp = _startpos_e_;
26224 MenhirLib.EngineTypes.endp = _endpos_e_;
26225 MenhirLib.EngineTypes.next = {
26226 MenhirLib.EngineTypes.semv = q;
26227 MenhirLib.EngineTypes.startp = _startpos_q_;
26228 MenhirLib.EngineTypes.endp = _endpos_q_;
26229 MenhirLib.EngineTypes.next = {
26230 MenhirLib.EngineTypes.semv = d;
26231 MenhirLib.EngineTypes.startp = _startpos_d_;
26232 MenhirLib.EngineTypes.endp = _endpos_d_;
26233 MenhirLib.EngineTypes.next = {
26234 MenhirLib.EngineTypes.semv = i;
26235 MenhirLib.EngineTypes.startp = _startpos_i_;
26236 MenhirLib.EngineTypes.endp = _endpos_i_;
26237 MenhirLib.EngineTypes.next = {
26238 MenhirLib.EngineTypes.semv = x1;
26239 MenhirLib.EngineTypes.startp = _startpos_x1_;
26240 MenhirLib.EngineTypes.endp = _endpos_x1_;
26241 MenhirLib.EngineTypes.next = {
26242 MenhirLib.EngineTypes.state = _menhir_s;
26243 MenhirLib.EngineTypes.semv = x0;
26244 MenhirLib.EngineTypes.startp = _startpos_x0_;
26245 MenhirLib.EngineTypes.endp = _endpos_x0_;
26246 MenhirLib.EngineTypes.next = _menhir_stack;
26247 };
26248 };
26249 };
26250 };
26251 };
26252 };
26253 } = _menhir_stack in
26254 let pv : (
26255 # 111 "parser_cocci_menhir.mly"
26256 (Data.clt)
26257 # 26258 "parser_cocci_menhir.ml"
26258 ) = Obj.magic pv in
26259 let e : 'tv_initialize = Obj.magic e in
26260 let q : (
26261 # 111 "parser_cocci_menhir.mly"
26262 (Data.clt)
26263 # 26264 "parser_cocci_menhir.ml"
26264 ) = Obj.magic q in
26265 let d : 'tv_d_ident = Obj.magic d in
26266 let i : 'tv_pure_ident = Obj.magic i in
26267 let x1 : 'tv_const_vol = Obj.magic x1 in
26268 let x0 : 'tv_storage = Obj.magic x0 in
26269 let _startpos = _startpos_x0_ in
26270 let _endpos = _endpos_pv_ in
26271 let _v : 'tv_one_decl_var = let cv =
26272 let x = x1 in
26273
26274 # 41 "standard.mly"
26275 ( Some x )
26276 # 26277 "parser_cocci_menhir.ml"
26277
26278 in
26279 let s =
26280 let x = x0 in
26281
26282 # 41 "standard.mly"
26283 ( Some x )
26284 # 26285 "parser_cocci_menhir.ml"
26285
26286 in
26287
26288 # 1130 "parser_cocci_menhir.mly"
26289 ( let (id,fn) = d in
26290 !Data.add_type_name (P.id2name i);
26291 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
26292 Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
26293 P.clt2mcode ";" pv)) )
26294 # 26295 "parser_cocci_menhir.ml"
26295 in
26296 _menhir_env.MenhirLib.EngineTypes.stack <- {
26297 MenhirLib.EngineTypes.state = _menhir_s;
26298 MenhirLib.EngineTypes.semv = Obj.repr _v;
26299 MenhirLib.EngineTypes.startp = _startpos;
26300 MenhirLib.EngineTypes.endp = _endpos;
26301 MenhirLib.EngineTypes.next = _menhir_stack;
26302 });
26303 (fun _menhir_env ->
26304 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26305 let {
26306 MenhirLib.EngineTypes.semv = pv;
26307 MenhirLib.EngineTypes.startp = _startpos_pv_;
26308 MenhirLib.EngineTypes.endp = _endpos_pv_;
26309 MenhirLib.EngineTypes.next = {
26310 MenhirLib.EngineTypes.semv = rp2;
26311 MenhirLib.EngineTypes.startp = _startpos_rp2_;
26312 MenhirLib.EngineTypes.endp = _endpos_rp2_;
26313 MenhirLib.EngineTypes.next = {
26314 MenhirLib.EngineTypes.semv = p;
26315 MenhirLib.EngineTypes.startp = _startpos_p_;
26316 MenhirLib.EngineTypes.endp = _endpos_p_;
26317 MenhirLib.EngineTypes.next = {
26318 MenhirLib.EngineTypes.semv = lp2;
26319 MenhirLib.EngineTypes.startp = _startpos_lp2_;
26320 MenhirLib.EngineTypes.endp = _endpos_lp2_;
26321 MenhirLib.EngineTypes.next = {
26322 MenhirLib.EngineTypes.semv = rp1;
26323 MenhirLib.EngineTypes.startp = _startpos_rp1_;
26324 MenhirLib.EngineTypes.endp = _endpos_rp1_;
26325 MenhirLib.EngineTypes.next = {
26326 MenhirLib.EngineTypes.semv = d;
26327 MenhirLib.EngineTypes.startp = _startpos_d_;
26328 MenhirLib.EngineTypes.endp = _endpos_d_;
26329 MenhirLib.EngineTypes.next = {
26330 MenhirLib.EngineTypes.semv = st;
26331 MenhirLib.EngineTypes.startp = _startpos_st_;
26332 MenhirLib.EngineTypes.endp = _endpos_st_;
26333 MenhirLib.EngineTypes.next = {
26334 MenhirLib.EngineTypes.semv = lp1;
26335 MenhirLib.EngineTypes.startp = _startpos_lp1_;
26336 MenhirLib.EngineTypes.endp = _endpos_lp1_;
26337 MenhirLib.EngineTypes.next = {
26338 MenhirLib.EngineTypes.state = _menhir_s;
26339 MenhirLib.EngineTypes.semv = t;
26340 MenhirLib.EngineTypes.startp = _startpos_t_;
26341 MenhirLib.EngineTypes.endp = _endpos_t_;
26342 MenhirLib.EngineTypes.next = _menhir_stack;
26343 };
26344 };
26345 };
26346 };
26347 };
26348 };
26349 };
26350 };
26351 } = _menhir_stack in
26352 let pv : (
26353 # 111 "parser_cocci_menhir.mly"
26354 (Data.clt)
26355 # 26356 "parser_cocci_menhir.ml"
26356 ) = Obj.magic pv in
26357 let rp2 : (
26358 # 81 "parser_cocci_menhir.mly"
26359 (Data.clt)
26360 # 26361 "parser_cocci_menhir.ml"
26361 ) = Obj.magic rp2 in
26362 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
26363 let lp2 : (
26364 # 80 "parser_cocci_menhir.mly"
26365 (Data.clt)
26366 # 26367 "parser_cocci_menhir.ml"
26367 ) = Obj.magic lp2 in
26368 let rp1 : (
26369 # 81 "parser_cocci_menhir.mly"
26370 (Data.clt)
26371 # 26372 "parser_cocci_menhir.ml"
26372 ) = Obj.magic rp1 in
26373 let d : 'tv_d_ident = Obj.magic d in
26374 let st : (
26375 # 103 "parser_cocci_menhir.mly"
26376 (Data.clt)
26377 # 26378 "parser_cocci_menhir.ml"
26378 ) = Obj.magic st in
26379 let lp1 : (
26380 # 80 "parser_cocci_menhir.mly"
26381 (Data.clt)
26382 # 26383 "parser_cocci_menhir.ml"
26383 ) = Obj.magic lp1 in
26384 let t : 'tv_ctype = Obj.magic t in
26385 let _startpos = _startpos_t_ in
26386 let _endpos = _endpos_pv_ in
26387 let _v : 'tv_one_decl_var = let s =
26388
26389 # 39 "standard.mly"
26390 ( None )
26391 # 26392 "parser_cocci_menhir.ml"
26392
26393 in
26394
26395 # 1140 "parser_cocci_menhir.mly"
26396 ( let (id,fn) = d in
26397 let t =
26398 Ast0.wrap
26399 (Ast0.FunctionPointer
26400 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
26401 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
26402 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
26403 # 26404 "parser_cocci_menhir.ml"
26404 in
26405 _menhir_env.MenhirLib.EngineTypes.stack <- {
26406 MenhirLib.EngineTypes.state = _menhir_s;
26407 MenhirLib.EngineTypes.semv = Obj.repr _v;
26408 MenhirLib.EngineTypes.startp = _startpos;
26409 MenhirLib.EngineTypes.endp = _endpos;
26410 MenhirLib.EngineTypes.next = _menhir_stack;
26411 });
26412 (fun _menhir_env ->
26413 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26414 let {
26415 MenhirLib.EngineTypes.semv = pv;
26416 MenhirLib.EngineTypes.startp = _startpos_pv_;
26417 MenhirLib.EngineTypes.endp = _endpos_pv_;
26418 MenhirLib.EngineTypes.next = {
26419 MenhirLib.EngineTypes.semv = rp2;
26420 MenhirLib.EngineTypes.startp = _startpos_rp2_;
26421 MenhirLib.EngineTypes.endp = _endpos_rp2_;
26422 MenhirLib.EngineTypes.next = {
26423 MenhirLib.EngineTypes.semv = p;
26424 MenhirLib.EngineTypes.startp = _startpos_p_;
26425 MenhirLib.EngineTypes.endp = _endpos_p_;
26426 MenhirLib.EngineTypes.next = {
26427 MenhirLib.EngineTypes.semv = lp2;
26428 MenhirLib.EngineTypes.startp = _startpos_lp2_;
26429 MenhirLib.EngineTypes.endp = _endpos_lp2_;
26430 MenhirLib.EngineTypes.next = {
26431 MenhirLib.EngineTypes.semv = rp1;
26432 MenhirLib.EngineTypes.startp = _startpos_rp1_;
26433 MenhirLib.EngineTypes.endp = _endpos_rp1_;
26434 MenhirLib.EngineTypes.next = {
26435 MenhirLib.EngineTypes.semv = d;
26436 MenhirLib.EngineTypes.startp = _startpos_d_;
26437 MenhirLib.EngineTypes.endp = _endpos_d_;
26438 MenhirLib.EngineTypes.next = {
26439 MenhirLib.EngineTypes.semv = st;
26440 MenhirLib.EngineTypes.startp = _startpos_st_;
26441 MenhirLib.EngineTypes.endp = _endpos_st_;
26442 MenhirLib.EngineTypes.next = {
26443 MenhirLib.EngineTypes.semv = lp1;
26444 MenhirLib.EngineTypes.startp = _startpos_lp1_;
26445 MenhirLib.EngineTypes.endp = _endpos_lp1_;
26446 MenhirLib.EngineTypes.next = {
26447 MenhirLib.EngineTypes.semv = t;
26448 MenhirLib.EngineTypes.startp = _startpos_t_;
26449 MenhirLib.EngineTypes.endp = _endpos_t_;
26450 MenhirLib.EngineTypes.next = {
26451 MenhirLib.EngineTypes.state = _menhir_s;
26452 MenhirLib.EngineTypes.semv = x0;
26453 MenhirLib.EngineTypes.startp = _startpos_x0_;
26454 MenhirLib.EngineTypes.endp = _endpos_x0_;
26455 MenhirLib.EngineTypes.next = _menhir_stack;
26456 };
26457 };
26458 };
26459 };
26460 };
26461 };
26462 };
26463 };
26464 };
26465 } = _menhir_stack in
26466 let pv : (
26467 # 111 "parser_cocci_menhir.mly"
26468 (Data.clt)
26469 # 26470 "parser_cocci_menhir.ml"
26470 ) = Obj.magic pv in
26471 let rp2 : (
26472 # 81 "parser_cocci_menhir.mly"
26473 (Data.clt)
26474 # 26475 "parser_cocci_menhir.ml"
26475 ) = Obj.magic rp2 in
26476 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
26477 let lp2 : (
26478 # 80 "parser_cocci_menhir.mly"
26479 (Data.clt)
26480 # 26481 "parser_cocci_menhir.ml"
26481 ) = Obj.magic lp2 in
26482 let rp1 : (
26483 # 81 "parser_cocci_menhir.mly"
26484 (Data.clt)
26485 # 26486 "parser_cocci_menhir.ml"
26486 ) = Obj.magic rp1 in
26487 let d : 'tv_d_ident = Obj.magic d in
26488 let st : (
26489 # 103 "parser_cocci_menhir.mly"
26490 (Data.clt)
26491 # 26492 "parser_cocci_menhir.ml"
26492 ) = Obj.magic st in
26493 let lp1 : (
26494 # 80 "parser_cocci_menhir.mly"
26495 (Data.clt)
26496 # 26497 "parser_cocci_menhir.ml"
26497 ) = Obj.magic lp1 in
26498 let t : 'tv_ctype = Obj.magic t in
26499 let x0 : 'tv_storage = Obj.magic x0 in
26500 let _startpos = _startpos_x0_ in
26501 let _endpos = _endpos_pv_ in
26502 let _v : 'tv_one_decl_var = let s =
26503 let x = x0 in
26504
26505 # 41 "standard.mly"
26506 ( Some x )
26507 # 26508 "parser_cocci_menhir.ml"
26508
26509 in
26510
26511 # 1140 "parser_cocci_menhir.mly"
26512 ( let (id,fn) = d in
26513 let t =
26514 Ast0.wrap
26515 (Ast0.FunctionPointer
26516 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
26517 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
26518 Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
26519 # 26520 "parser_cocci_menhir.ml"
26520 in
26521 _menhir_env.MenhirLib.EngineTypes.stack <- {
26522 MenhirLib.EngineTypes.state = _menhir_s;
26523 MenhirLib.EngineTypes.semv = Obj.repr _v;
26524 MenhirLib.EngineTypes.startp = _startpos;
26525 MenhirLib.EngineTypes.endp = _endpos;
26526 MenhirLib.EngineTypes.next = _menhir_stack;
26527 });
26528 (fun _menhir_env ->
26529 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26530 let {
26531 MenhirLib.EngineTypes.semv = _5;
26532 MenhirLib.EngineTypes.startp = _startpos__5_;
26533 MenhirLib.EngineTypes.endp = _endpos__5_;
26534 MenhirLib.EngineTypes.next = {
26535 MenhirLib.EngineTypes.semv = _4;
26536 MenhirLib.EngineTypes.startp = _startpos__4_;
26537 MenhirLib.EngineTypes.endp = _endpos__4_;
26538 MenhirLib.EngineTypes.next = {
26539 MenhirLib.EngineTypes.semv = _3;
26540 MenhirLib.EngineTypes.startp = _startpos__3_;
26541 MenhirLib.EngineTypes.endp = _endpos__3_;
26542 MenhirLib.EngineTypes.next = {
26543 MenhirLib.EngineTypes.semv = _2;
26544 MenhirLib.EngineTypes.startp = _startpos__2_;
26545 MenhirLib.EngineTypes.endp = _endpos__2_;
26546 MenhirLib.EngineTypes.next = {
26547 MenhirLib.EngineTypes.state = _menhir_s;
26548 MenhirLib.EngineTypes.semv = _1;
26549 MenhirLib.EngineTypes.startp = _startpos__1_;
26550 MenhirLib.EngineTypes.endp = _endpos__1_;
26551 MenhirLib.EngineTypes.next = _menhir_stack;
26552 };
26553 };
26554 };
26555 };
26556 } = _menhir_stack in
26557 let _5 : (
26558 # 111 "parser_cocci_menhir.mly"
26559 (Data.clt)
26560 # 26561 "parser_cocci_menhir.ml"
26561 ) = Obj.magic _5 in
26562 let _4 : (
26563 # 81 "parser_cocci_menhir.mly"
26564 (Data.clt)
26565 # 26566 "parser_cocci_menhir.ml"
26566 ) = Obj.magic _4 in
26567 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
26568 let _2 : (
26569 # 80 "parser_cocci_menhir.mly"
26570 (Data.clt)
26571 # 26572 "parser_cocci_menhir.ml"
26572 ) = Obj.magic _2 in
26573 let _1 : 'tv_decl_ident = Obj.magic _1 in
26574 let _startpos = _startpos__1_ in
26575 let _endpos = _endpos__5_ in
26576 let _v : 'tv_one_decl_var =
26577 # 1148 "parser_cocci_menhir.mly"
26578 ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
26579 P.clt2mcode ")" _4,P.clt2mcode ";" _5)) )
26580 # 26581 "parser_cocci_menhir.ml"
26581 in
26582 _menhir_env.MenhirLib.EngineTypes.stack <- {
26583 MenhirLib.EngineTypes.state = _menhir_s;
26584 MenhirLib.EngineTypes.semv = Obj.repr _v;
26585 MenhirLib.EngineTypes.startp = _startpos;
26586 MenhirLib.EngineTypes.endp = _endpos;
26587 MenhirLib.EngineTypes.next = _menhir_stack;
26588 });
26589 (fun _menhir_env ->
26590 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26591 let {
26592 MenhirLib.EngineTypes.semv = pv;
26593 MenhirLib.EngineTypes.startp = _startpos_pv_;
26594 MenhirLib.EngineTypes.endp = _endpos_pv_;
26595 MenhirLib.EngineTypes.next = {
26596 MenhirLib.EngineTypes.semv = e;
26597 MenhirLib.EngineTypes.startp = _startpos_e_;
26598 MenhirLib.EngineTypes.endp = _endpos_e_;
26599 MenhirLib.EngineTypes.next = {
26600 MenhirLib.EngineTypes.semv = q;
26601 MenhirLib.EngineTypes.startp = _startpos_q_;
26602 MenhirLib.EngineTypes.endp = _endpos_q_;
26603 MenhirLib.EngineTypes.next = {
26604 MenhirLib.EngineTypes.semv = rp2;
26605 MenhirLib.EngineTypes.startp = _startpos_rp2_;
26606 MenhirLib.EngineTypes.endp = _endpos_rp2_;
26607 MenhirLib.EngineTypes.next = {
26608 MenhirLib.EngineTypes.semv = p;
26609 MenhirLib.EngineTypes.startp = _startpos_p_;
26610 MenhirLib.EngineTypes.endp = _endpos_p_;
26611 MenhirLib.EngineTypes.next = {
26612 MenhirLib.EngineTypes.semv = lp2;
26613 MenhirLib.EngineTypes.startp = _startpos_lp2_;
26614 MenhirLib.EngineTypes.endp = _endpos_lp2_;
26615 MenhirLib.EngineTypes.next = {
26616 MenhirLib.EngineTypes.semv = rp1;
26617 MenhirLib.EngineTypes.startp = _startpos_rp1_;
26618 MenhirLib.EngineTypes.endp = _endpos_rp1_;
26619 MenhirLib.EngineTypes.next = {
26620 MenhirLib.EngineTypes.semv = d;
26621 MenhirLib.EngineTypes.startp = _startpos_d_;
26622 MenhirLib.EngineTypes.endp = _endpos_d_;
26623 MenhirLib.EngineTypes.next = {
26624 MenhirLib.EngineTypes.semv = st;
26625 MenhirLib.EngineTypes.startp = _startpos_st_;
26626 MenhirLib.EngineTypes.endp = _endpos_st_;
26627 MenhirLib.EngineTypes.next = {
26628 MenhirLib.EngineTypes.semv = lp1;
26629 MenhirLib.EngineTypes.startp = _startpos_lp1_;
26630 MenhirLib.EngineTypes.endp = _endpos_lp1_;
26631 MenhirLib.EngineTypes.next = {
26632 MenhirLib.EngineTypes.state = _menhir_s;
26633 MenhirLib.EngineTypes.semv = t;
26634 MenhirLib.EngineTypes.startp = _startpos_t_;
26635 MenhirLib.EngineTypes.endp = _endpos_t_;
26636 MenhirLib.EngineTypes.next = _menhir_stack;
26637 };
26638 };
26639 };
26640 };
26641 };
26642 };
26643 };
26644 };
26645 };
26646 };
26647 } = _menhir_stack in
26648 let pv : (
26649 # 111 "parser_cocci_menhir.mly"
26650 (Data.clt)
26651 # 26652 "parser_cocci_menhir.ml"
26652 ) = Obj.magic pv in
26653 let e : 'tv_initialize = Obj.magic e in
26654 let q : (
26655 # 111 "parser_cocci_menhir.mly"
26656 (Data.clt)
26657 # 26658 "parser_cocci_menhir.ml"
26658 ) = Obj.magic q in
26659 let rp2 : (
26660 # 81 "parser_cocci_menhir.mly"
26661 (Data.clt)
26662 # 26663 "parser_cocci_menhir.ml"
26663 ) = Obj.magic rp2 in
26664 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
26665 let lp2 : (
26666 # 80 "parser_cocci_menhir.mly"
26667 (Data.clt)
26668 # 26669 "parser_cocci_menhir.ml"
26669 ) = Obj.magic lp2 in
26670 let rp1 : (
26671 # 81 "parser_cocci_menhir.mly"
26672 (Data.clt)
26673 # 26674 "parser_cocci_menhir.ml"
26674 ) = Obj.magic rp1 in
26675 let d : 'tv_d_ident = Obj.magic d in
26676 let st : (
26677 # 103 "parser_cocci_menhir.mly"
26678 (Data.clt)
26679 # 26680 "parser_cocci_menhir.ml"
26680 ) = Obj.magic st in
26681 let lp1 : (
26682 # 80 "parser_cocci_menhir.mly"
26683 (Data.clt)
26684 # 26685 "parser_cocci_menhir.ml"
26685 ) = Obj.magic lp1 in
26686 let t : 'tv_ctype = Obj.magic t in
26687 let _startpos = _startpos_t_ in
26688 let _endpos = _endpos_pv_ in
26689 let _v : 'tv_one_decl_var = let s =
26690
26691 # 39 "standard.mly"
26692 ( None )
26693 # 26694 "parser_cocci_menhir.ml"
26694
26695 in
26696
26697 # 1154 "parser_cocci_menhir.mly"
26698 ( let (id,fn) = d in
26699 let t =
26700 Ast0.wrap
26701 (Ast0.FunctionPointer
26702 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
26703 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
26704 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
26705 # 26706 "parser_cocci_menhir.ml"
26706 in
26707 _menhir_env.MenhirLib.EngineTypes.stack <- {
26708 MenhirLib.EngineTypes.state = _menhir_s;
26709 MenhirLib.EngineTypes.semv = Obj.repr _v;
26710 MenhirLib.EngineTypes.startp = _startpos;
26711 MenhirLib.EngineTypes.endp = _endpos;
26712 MenhirLib.EngineTypes.next = _menhir_stack;
26713 });
26714 (fun _menhir_env ->
26715 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26716 let {
26717 MenhirLib.EngineTypes.semv = pv;
26718 MenhirLib.EngineTypes.startp = _startpos_pv_;
26719 MenhirLib.EngineTypes.endp = _endpos_pv_;
26720 MenhirLib.EngineTypes.next = {
26721 MenhirLib.EngineTypes.semv = e;
26722 MenhirLib.EngineTypes.startp = _startpos_e_;
26723 MenhirLib.EngineTypes.endp = _endpos_e_;
26724 MenhirLib.EngineTypes.next = {
26725 MenhirLib.EngineTypes.semv = q;
26726 MenhirLib.EngineTypes.startp = _startpos_q_;
26727 MenhirLib.EngineTypes.endp = _endpos_q_;
26728 MenhirLib.EngineTypes.next = {
26729 MenhirLib.EngineTypes.semv = rp2;
26730 MenhirLib.EngineTypes.startp = _startpos_rp2_;
26731 MenhirLib.EngineTypes.endp = _endpos_rp2_;
26732 MenhirLib.EngineTypes.next = {
26733 MenhirLib.EngineTypes.semv = p;
26734 MenhirLib.EngineTypes.startp = _startpos_p_;
26735 MenhirLib.EngineTypes.endp = _endpos_p_;
26736 MenhirLib.EngineTypes.next = {
26737 MenhirLib.EngineTypes.semv = lp2;
26738 MenhirLib.EngineTypes.startp = _startpos_lp2_;
26739 MenhirLib.EngineTypes.endp = _endpos_lp2_;
26740 MenhirLib.EngineTypes.next = {
26741 MenhirLib.EngineTypes.semv = rp1;
26742 MenhirLib.EngineTypes.startp = _startpos_rp1_;
26743 MenhirLib.EngineTypes.endp = _endpos_rp1_;
26744 MenhirLib.EngineTypes.next = {
26745 MenhirLib.EngineTypes.semv = d;
26746 MenhirLib.EngineTypes.startp = _startpos_d_;
26747 MenhirLib.EngineTypes.endp = _endpos_d_;
26748 MenhirLib.EngineTypes.next = {
26749 MenhirLib.EngineTypes.semv = st;
26750 MenhirLib.EngineTypes.startp = _startpos_st_;
26751 MenhirLib.EngineTypes.endp = _endpos_st_;
26752 MenhirLib.EngineTypes.next = {
26753 MenhirLib.EngineTypes.semv = lp1;
26754 MenhirLib.EngineTypes.startp = _startpos_lp1_;
26755 MenhirLib.EngineTypes.endp = _endpos_lp1_;
26756 MenhirLib.EngineTypes.next = {
26757 MenhirLib.EngineTypes.semv = t;
26758 MenhirLib.EngineTypes.startp = _startpos_t_;
26759 MenhirLib.EngineTypes.endp = _endpos_t_;
26760 MenhirLib.EngineTypes.next = {
26761 MenhirLib.EngineTypes.state = _menhir_s;
26762 MenhirLib.EngineTypes.semv = x0;
26763 MenhirLib.EngineTypes.startp = _startpos_x0_;
26764 MenhirLib.EngineTypes.endp = _endpos_x0_;
26765 MenhirLib.EngineTypes.next = _menhir_stack;
26766 };
26767 };
26768 };
26769 };
26770 };
26771 };
26772 };
26773 };
26774 };
26775 };
26776 };
26777 } = _menhir_stack in
26778 let pv : (
26779 # 111 "parser_cocci_menhir.mly"
26780 (Data.clt)
26781 # 26782 "parser_cocci_menhir.ml"
26782 ) = Obj.magic pv in
26783 let e : 'tv_initialize = Obj.magic e in
26784 let q : (
26785 # 111 "parser_cocci_menhir.mly"
26786 (Data.clt)
26787 # 26788 "parser_cocci_menhir.ml"
26788 ) = Obj.magic q in
26789 let rp2 : (
26790 # 81 "parser_cocci_menhir.mly"
26791 (Data.clt)
26792 # 26793 "parser_cocci_menhir.ml"
26793 ) = Obj.magic rp2 in
26794 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
26795 let lp2 : (
26796 # 80 "parser_cocci_menhir.mly"
26797 (Data.clt)
26798 # 26799 "parser_cocci_menhir.ml"
26799 ) = Obj.magic lp2 in
26800 let rp1 : (
26801 # 81 "parser_cocci_menhir.mly"
26802 (Data.clt)
26803 # 26804 "parser_cocci_menhir.ml"
26804 ) = Obj.magic rp1 in
26805 let d : 'tv_d_ident = Obj.magic d in
26806 let st : (
26807 # 103 "parser_cocci_menhir.mly"
26808 (Data.clt)
26809 # 26810 "parser_cocci_menhir.ml"
26810 ) = Obj.magic st in
26811 let lp1 : (
26812 # 80 "parser_cocci_menhir.mly"
26813 (Data.clt)
26814 # 26815 "parser_cocci_menhir.ml"
26815 ) = Obj.magic lp1 in
26816 let t : 'tv_ctype = Obj.magic t in
26817 let x0 : 'tv_storage = Obj.magic x0 in
26818 let _startpos = _startpos_x0_ in
26819 let _endpos = _endpos_pv_ in
26820 let _v : 'tv_one_decl_var = let s =
26821 let x = x0 in
26822
26823 # 41 "standard.mly"
26824 ( Some x )
26825 # 26826 "parser_cocci_menhir.ml"
26826
26827 in
26828
26829 # 1154 "parser_cocci_menhir.mly"
26830 ( let (id,fn) = d in
26831 let t =
26832 Ast0.wrap
26833 (Ast0.FunctionPointer
26834 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
26835 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
26836 Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
26837 # 26838 "parser_cocci_menhir.ml"
26838 in
26839 _menhir_env.MenhirLib.EngineTypes.stack <- {
26840 MenhirLib.EngineTypes.state = _menhir_s;
26841 MenhirLib.EngineTypes.semv = Obj.repr _v;
26842 MenhirLib.EngineTypes.startp = _startpos;
26843 MenhirLib.EngineTypes.endp = _endpos;
26844 MenhirLib.EngineTypes.next = _menhir_stack;
26845 });
26846 (fun _menhir_env ->
26847 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26848 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
26849 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
26850 let _endpos = _startpos in
26851 let _v : 'tv_option_TLocal_ =
26852 # 29 "standard.mly"
26853 ( None )
26854 # 26855 "parser_cocci_menhir.ml"
26855 in
26856 _menhir_env.MenhirLib.EngineTypes.stack <- {
26857 MenhirLib.EngineTypes.state = _menhir_s;
26858 MenhirLib.EngineTypes.semv = Obj.repr _v;
26859 MenhirLib.EngineTypes.startp = _startpos;
26860 MenhirLib.EngineTypes.endp = _endpos;
26861 MenhirLib.EngineTypes.next = _menhir_stack;
26862 });
26863 (fun _menhir_env ->
26864 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26865 let {
26866 MenhirLib.EngineTypes.state = _menhir_s;
26867 MenhirLib.EngineTypes.semv = x;
26868 MenhirLib.EngineTypes.startp = _startpos_x_;
26869 MenhirLib.EngineTypes.endp = _endpos_x_;
26870 MenhirLib.EngineTypes.next = _menhir_stack;
26871 } = _menhir_stack in
26872 let x : unit = Obj.magic x in
26873 let _startpos = _startpos_x_ in
26874 let _endpos = _endpos_x_ in
26875 let _v : 'tv_option_TLocal_ =
26876 # 31 "standard.mly"
26877 ( Some x )
26878 # 26879 "parser_cocci_menhir.ml"
26879 in
26880 _menhir_env.MenhirLib.EngineTypes.stack <- {
26881 MenhirLib.EngineTypes.state = _menhir_s;
26882 MenhirLib.EngineTypes.semv = Obj.repr _v;
26883 MenhirLib.EngineTypes.startp = _startpos;
26884 MenhirLib.EngineTypes.endp = _endpos;
26885 MenhirLib.EngineTypes.next = _menhir_stack;
26886 });
26887 (fun _menhir_env ->
26888 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26889 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
26890 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
26891 let _endpos = _startpos in
26892 let _v : 'tv_option_TPosAny_ =
26893 # 29 "standard.mly"
26894 ( None )
26895 # 26896 "parser_cocci_menhir.ml"
26896 in
26897 _menhir_env.MenhirLib.EngineTypes.stack <- {
26898 MenhirLib.EngineTypes.state = _menhir_s;
26899 MenhirLib.EngineTypes.semv = Obj.repr _v;
26900 MenhirLib.EngineTypes.startp = _startpos;
26901 MenhirLib.EngineTypes.endp = _endpos;
26902 MenhirLib.EngineTypes.next = _menhir_stack;
26903 });
26904 (fun _menhir_env ->
26905 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26906 let {
26907 MenhirLib.EngineTypes.state = _menhir_s;
26908 MenhirLib.EngineTypes.semv = x;
26909 MenhirLib.EngineTypes.startp = _startpos_x_;
26910 MenhirLib.EngineTypes.endp = _endpos_x_;
26911 MenhirLib.EngineTypes.next = _menhir_stack;
26912 } = _menhir_stack in
26913 let x : unit = Obj.magic x in
26914 let _startpos = _startpos_x_ in
26915 let _endpos = _endpos_x_ in
26916 let _v : 'tv_option_TPosAny_ =
26917 # 31 "standard.mly"
26918 ( Some x )
26919 # 26920 "parser_cocci_menhir.ml"
26920 in
26921 _menhir_env.MenhirLib.EngineTypes.stack <- {
26922 MenhirLib.EngineTypes.state = _menhir_s;
26923 MenhirLib.EngineTypes.semv = Obj.repr _v;
26924 MenhirLib.EngineTypes.startp = _startpos;
26925 MenhirLib.EngineTypes.endp = _endpos;
26926 MenhirLib.EngineTypes.next = _menhir_stack;
26927 });
26928 (fun _menhir_env ->
26929 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26930 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
26931 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
26932 let _endpos = _startpos in
26933 let _v : 'tv_option_eexpr_ =
26934 # 29 "standard.mly"
26935 ( None )
26936 # 26937 "parser_cocci_menhir.ml"
26937 in
26938 _menhir_env.MenhirLib.EngineTypes.stack <- {
26939 MenhirLib.EngineTypes.state = _menhir_s;
26940 MenhirLib.EngineTypes.semv = Obj.repr _v;
26941 MenhirLib.EngineTypes.startp = _startpos;
26942 MenhirLib.EngineTypes.endp = _endpos;
26943 MenhirLib.EngineTypes.next = _menhir_stack;
26944 });
26945 (fun _menhir_env ->
26946 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26947 let {
26948 MenhirLib.EngineTypes.state = _menhir_s;
26949 MenhirLib.EngineTypes.semv = x;
26950 MenhirLib.EngineTypes.startp = _startpos_x_;
26951 MenhirLib.EngineTypes.endp = _endpos_x_;
26952 MenhirLib.EngineTypes.next = _menhir_stack;
26953 } = _menhir_stack in
26954 let x : 'tv_eexpr = Obj.magic x in
26955 let _startpos = _startpos_x_ in
26956 let _endpos = _endpos_x_ in
26957 let _v : 'tv_option_eexpr_ =
26958 # 31 "standard.mly"
26959 ( Some x )
26960 # 26961 "parser_cocci_menhir.ml"
26961 in
26962 _menhir_env.MenhirLib.EngineTypes.stack <- {
26963 MenhirLib.EngineTypes.state = _menhir_s;
26964 MenhirLib.EngineTypes.semv = Obj.repr _v;
26965 MenhirLib.EngineTypes.startp = _startpos;
26966 MenhirLib.EngineTypes.endp = _endpos;
26967 MenhirLib.EngineTypes.next = _menhir_stack;
26968 });
26969 (fun _menhir_env ->
26970 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26971 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
26972 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
26973 let _endpos = _startpos in
26974 let _v : 'tv_option_not_ceq_or_sub_ =
26975 # 29 "standard.mly"
26976 ( None )
26977 # 26978 "parser_cocci_menhir.ml"
26978 in
26979 _menhir_env.MenhirLib.EngineTypes.stack <- {
26980 MenhirLib.EngineTypes.state = _menhir_s;
26981 MenhirLib.EngineTypes.semv = Obj.repr _v;
26982 MenhirLib.EngineTypes.startp = _startpos;
26983 MenhirLib.EngineTypes.endp = _endpos;
26984 MenhirLib.EngineTypes.next = _menhir_stack;
26985 });
26986 (fun _menhir_env ->
26987 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
26988 let {
26989 MenhirLib.EngineTypes.state = _menhir_s;
26990 MenhirLib.EngineTypes.semv = x;
26991 MenhirLib.EngineTypes.startp = _startpos_x_;
26992 MenhirLib.EngineTypes.endp = _endpos_x_;
26993 MenhirLib.EngineTypes.next = _menhir_stack;
26994 } = _menhir_stack in
26995 let x : 'tv_not_ceq_or_sub = Obj.magic x in
26996 let _startpos = _startpos_x_ in
26997 let _endpos = _endpos_x_ in
26998 let _v : 'tv_option_not_ceq_or_sub_ =
26999 # 31 "standard.mly"
27000 ( Some x )
27001 # 27002 "parser_cocci_menhir.ml"
27002 in
27003 _menhir_env.MenhirLib.EngineTypes.stack <- {
27004 MenhirLib.EngineTypes.state = _menhir_s;
27005 MenhirLib.EngineTypes.semv = Obj.repr _v;
27006 MenhirLib.EngineTypes.startp = _startpos;
27007 MenhirLib.EngineTypes.endp = _endpos;
27008 MenhirLib.EngineTypes.next = _menhir_stack;
27009 });
27010 (fun _menhir_env ->
27011 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27012 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
27013 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
27014 let _endpos = _startpos in
27015 let _v : 'tv_option_re_or_not_eqe_or_sub_ =
27016 # 29 "standard.mly"
27017 ( None )
27018 # 27019 "parser_cocci_menhir.ml"
27019 in
27020 _menhir_env.MenhirLib.EngineTypes.stack <- {
27021 MenhirLib.EngineTypes.state = _menhir_s;
27022 MenhirLib.EngineTypes.semv = Obj.repr _v;
27023 MenhirLib.EngineTypes.startp = _startpos;
27024 MenhirLib.EngineTypes.endp = _endpos;
27025 MenhirLib.EngineTypes.next = _menhir_stack;
27026 });
27027 (fun _menhir_env ->
27028 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27029 let {
27030 MenhirLib.EngineTypes.state = _menhir_s;
27031 MenhirLib.EngineTypes.semv = x;
27032 MenhirLib.EngineTypes.startp = _startpos_x_;
27033 MenhirLib.EngineTypes.endp = _endpos_x_;
27034 MenhirLib.EngineTypes.next = _menhir_stack;
27035 } = _menhir_stack in
27036 let x : 'tv_re_or_not_eqe_or_sub = Obj.magic x in
27037 let _startpos = _startpos_x_ in
27038 let _endpos = _endpos_x_ in
27039 let _v : 'tv_option_re_or_not_eqe_or_sub_ =
27040 # 31 "standard.mly"
27041 ( Some x )
27042 # 27043 "parser_cocci_menhir.ml"
27043 in
27044 _menhir_env.MenhirLib.EngineTypes.stack <- {
27045 MenhirLib.EngineTypes.state = _menhir_s;
27046 MenhirLib.EngineTypes.semv = Obj.repr _v;
27047 MenhirLib.EngineTypes.startp = _startpos;
27048 MenhirLib.EngineTypes.endp = _endpos;
27049 MenhirLib.EngineTypes.next = _menhir_stack;
27050 });
27051 (fun _menhir_env ->
27052 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27053 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
27054 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
27055 let _endpos = _startpos in
27056 let _v : 'tv_option_re_or_not_eqid_ =
27057 # 29 "standard.mly"
27058 ( None )
27059 # 27060 "parser_cocci_menhir.ml"
27060 in
27061 _menhir_env.MenhirLib.EngineTypes.stack <- {
27062 MenhirLib.EngineTypes.state = _menhir_s;
27063 MenhirLib.EngineTypes.semv = Obj.repr _v;
27064 MenhirLib.EngineTypes.startp = _startpos;
27065 MenhirLib.EngineTypes.endp = _endpos;
27066 MenhirLib.EngineTypes.next = _menhir_stack;
27067 });
27068 (fun _menhir_env ->
27069 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27070 let {
27071 MenhirLib.EngineTypes.state = _menhir_s;
27072 MenhirLib.EngineTypes.semv = x;
27073 MenhirLib.EngineTypes.startp = _startpos_x_;
27074 MenhirLib.EngineTypes.endp = _endpos_x_;
27075 MenhirLib.EngineTypes.next = _menhir_stack;
27076 } = _menhir_stack in
27077 let x : 'tv_re_or_not_eqid = Obj.magic x in
27078 let _startpos = _startpos_x_ in
27079 let _endpos = _endpos_x_ in
27080 let _v : 'tv_option_re_or_not_eqid_ =
27081 # 31 "standard.mly"
27082 ( Some x )
27083 # 27084 "parser_cocci_menhir.ml"
27084 in
27085 _menhir_env.MenhirLib.EngineTypes.stack <- {
27086 MenhirLib.EngineTypes.state = _menhir_s;
27087 MenhirLib.EngineTypes.semv = Obj.repr _v;
27088 MenhirLib.EngineTypes.startp = _startpos;
27089 MenhirLib.EngineTypes.endp = _endpos;
27090 MenhirLib.EngineTypes.next = _menhir_stack;
27091 });
27092 (fun _menhir_env ->
27093 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27094 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
27095 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
27096 let _endpos = _startpos in
27097 let _v : 'tv_plus_after_dots =
27098 # 1988 "parser_cocci_menhir.mly"
27099 ([])
27100 # 27101 "parser_cocci_menhir.ml"
27101 in
27102 _menhir_env.MenhirLib.EngineTypes.stack <- {
27103 MenhirLib.EngineTypes.state = _menhir_s;
27104 MenhirLib.EngineTypes.semv = Obj.repr _v;
27105 MenhirLib.EngineTypes.startp = _startpos;
27106 MenhirLib.EngineTypes.endp = _endpos;
27107 MenhirLib.EngineTypes.next = _menhir_stack;
27108 });
27109 (fun _menhir_env ->
27110 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27111 let {
27112 MenhirLib.EngineTypes.semv = _2;
27113 MenhirLib.EngineTypes.startp = _startpos__2_;
27114 MenhirLib.EngineTypes.endp = _endpos__2_;
27115 MenhirLib.EngineTypes.next = {
27116 MenhirLib.EngineTypes.state = _menhir_s;
27117 MenhirLib.EngineTypes.startp = _startpos__1_;
27118 MenhirLib.EngineTypes.endp = _endpos__1_;
27119 MenhirLib.EngineTypes.next = _menhir_stack;
27120 };
27121 } = _menhir_stack in
27122 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
27123 let _startpos = _startpos__1_ in
27124 let _endpos = _endpos__2_ in
27125 let _v : 'tv_plus_after_dots =
27126 # 1989 "parser_cocci_menhir.mly"
27127 (_2)
27128 # 27129 "parser_cocci_menhir.ml"
27129 in
27130 _menhir_env.MenhirLib.EngineTypes.stack <- {
27131 MenhirLib.EngineTypes.state = _menhir_s;
27132 MenhirLib.EngineTypes.semv = Obj.repr _v;
27133 MenhirLib.EngineTypes.startp = _startpos;
27134 MenhirLib.EngineTypes.endp = _endpos;
27135 MenhirLib.EngineTypes.next = _menhir_stack;
27136 });
27137 (fun _menhir_env ->
27138 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27139 let {
27140 MenhirLib.EngineTypes.semv = _2;
27141 MenhirLib.EngineTypes.startp = _startpos__2_;
27142 MenhirLib.EngineTypes.endp = _endpos__2_;
27143 MenhirLib.EngineTypes.next = {
27144 MenhirLib.EngineTypes.state = _menhir_s;
27145 MenhirLib.EngineTypes.semv = _1;
27146 MenhirLib.EngineTypes.startp = _startpos__1_;
27147 MenhirLib.EngineTypes.endp = _endpos__1_;
27148 MenhirLib.EngineTypes.next = _menhir_stack;
27149 };
27150 } = _menhir_stack in
27151 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
27152 let _1 : 'tv_expr = Obj.magic _1 in
27153 let _startpos = _startpos__1_ in
27154 let _endpos = _endpos__2_ in
27155 let _v : 'tv_plus_after_dots =
27156 # 1991 "parser_cocci_menhir.mly"
27157 ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
27158 # 27159 "parser_cocci_menhir.ml"
27159 in
27160 _menhir_env.MenhirLib.EngineTypes.stack <- {
27161 MenhirLib.EngineTypes.state = _menhir_s;
27162 MenhirLib.EngineTypes.semv = Obj.repr _v;
27163 MenhirLib.EngineTypes.startp = _startpos;
27164 MenhirLib.EngineTypes.endp = _endpos;
27165 MenhirLib.EngineTypes.next = _menhir_stack;
27166 });
27167 (fun _menhir_env ->
27168 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27169 let {
27170 MenhirLib.EngineTypes.semv = _2;
27171 MenhirLib.EngineTypes.startp = _startpos__2_;
27172 MenhirLib.EngineTypes.endp = _endpos__2_;
27173 MenhirLib.EngineTypes.next = {
27174 MenhirLib.EngineTypes.state = _menhir_s;
27175 MenhirLib.EngineTypes.semv = _1;
27176 MenhirLib.EngineTypes.startp = _startpos__1_;
27177 MenhirLib.EngineTypes.endp = _endpos__1_;
27178 MenhirLib.EngineTypes.next = _menhir_stack;
27179 };
27180 } = _menhir_stack in
27181 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
27182 let _1 : 'tv_fundecl = Obj.magic _1 in
27183 let _startpos = _startpos__1_ in
27184 let _endpos = _endpos__2_ in
27185 let _v : 'tv_plus_after_dots =
27186 # 1992 "parser_cocci_menhir.mly"
27187 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
27188 # 27189 "parser_cocci_menhir.ml"
27189 in
27190 _menhir_env.MenhirLib.EngineTypes.stack <- {
27191 MenhirLib.EngineTypes.state = _menhir_s;
27192 MenhirLib.EngineTypes.semv = Obj.repr _v;
27193 MenhirLib.EngineTypes.startp = _startpos;
27194 MenhirLib.EngineTypes.endp = _endpos;
27195 MenhirLib.EngineTypes.next = _menhir_stack;
27196 });
27197 (fun _menhir_env ->
27198 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27199 let {
27200 MenhirLib.EngineTypes.semv = _2;
27201 MenhirLib.EngineTypes.startp = _startpos__2_;
27202 MenhirLib.EngineTypes.endp = _endpos__2_;
27203 MenhirLib.EngineTypes.next = {
27204 MenhirLib.EngineTypes.state = _menhir_s;
27205 MenhirLib.EngineTypes.semv = _1;
27206 MenhirLib.EngineTypes.startp = _startpos__1_;
27207 MenhirLib.EngineTypes.endp = _endpos__1_;
27208 MenhirLib.EngineTypes.next = _menhir_stack;
27209 };
27210 } = _menhir_stack in
27211 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
27212 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
27213 let _startpos = _startpos__1_ in
27214 let _endpos = _endpos__2_ in
27215 let _v : 'tv_plus_after_dots =
27216 # 1994 "parser_cocci_menhir.mly"
27217 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
27218 # 27219 "parser_cocci_menhir.ml"
27219 in
27220 _menhir_env.MenhirLib.EngineTypes.stack <- {
27221 MenhirLib.EngineTypes.state = _menhir_s;
27222 MenhirLib.EngineTypes.semv = Obj.repr _v;
27223 MenhirLib.EngineTypes.startp = _startpos;
27224 MenhirLib.EngineTypes.endp = _endpos;
27225 MenhirLib.EngineTypes.next = _menhir_stack;
27226 });
27227 (fun _menhir_env ->
27228 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27229 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
27230 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
27231 let _endpos = _startpos in
27232 let _v : 'tv_plus_after_exp =
27233 # 1984 "parser_cocci_menhir.mly"
27234 ([])
27235 # 27236 "parser_cocci_menhir.ml"
27236 in
27237 _menhir_env.MenhirLib.EngineTypes.stack <- {
27238 MenhirLib.EngineTypes.state = _menhir_s;
27239 MenhirLib.EngineTypes.semv = Obj.repr _v;
27240 MenhirLib.EngineTypes.startp = _startpos;
27241 MenhirLib.EngineTypes.endp = _endpos;
27242 MenhirLib.EngineTypes.next = _menhir_stack;
27243 });
27244 (fun _menhir_env ->
27245 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27246 let {
27247 MenhirLib.EngineTypes.semv = _2;
27248 MenhirLib.EngineTypes.startp = _startpos__2_;
27249 MenhirLib.EngineTypes.endp = _endpos__2_;
27250 MenhirLib.EngineTypes.next = {
27251 MenhirLib.EngineTypes.state = _menhir_s;
27252 MenhirLib.EngineTypes.semv = _1;
27253 MenhirLib.EngineTypes.startp = _startpos__1_;
27254 MenhirLib.EngineTypes.endp = _endpos__1_;
27255 MenhirLib.EngineTypes.next = _menhir_stack;
27256 };
27257 } = _menhir_stack in
27258 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
27259 let _1 : 'tv_stm_dots = Obj.magic _1 in
27260 let _startpos = _startpos__1_ in
27261 let _endpos = _endpos__2_ in
27262 let _v : 'tv_plus_after_exp =
27263 # 1985 "parser_cocci_menhir.mly"
27264 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
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 _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
27277 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
27278 let _endpos = _startpos in
27279 let _v : 'tv_plus_after_stm =
27280 # 1997 "parser_cocci_menhir.mly"
27281 ([])
27282 # 27283 "parser_cocci_menhir.ml"
27283 in
27284 _menhir_env.MenhirLib.EngineTypes.stack <- {
27285 MenhirLib.EngineTypes.state = _menhir_s;
27286 MenhirLib.EngineTypes.semv = Obj.repr _v;
27287 MenhirLib.EngineTypes.startp = _startpos;
27288 MenhirLib.EngineTypes.endp = _endpos;
27289 MenhirLib.EngineTypes.next = _menhir_stack;
27290 });
27291 (fun _menhir_env ->
27292 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27293 let {
27294 MenhirLib.EngineTypes.semv = _2;
27295 MenhirLib.EngineTypes.startp = _startpos__2_;
27296 MenhirLib.EngineTypes.endp = _endpos__2_;
27297 MenhirLib.EngineTypes.next = {
27298 MenhirLib.EngineTypes.state = _menhir_s;
27299 MenhirLib.EngineTypes.semv = _1;
27300 MenhirLib.EngineTypes.startp = _startpos__1_;
27301 MenhirLib.EngineTypes.endp = _endpos__1_;
27302 MenhirLib.EngineTypes.next = _menhir_stack;
27303 };
27304 } = _menhir_stack in
27305 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
27306 let _1 : 'tv_stm_dots = Obj.magic _1 in
27307 let _startpos = _startpos__1_ in
27308 let _endpos = _endpos__2_ in
27309 let _v : 'tv_plus_after_stm =
27310 # 1998 "parser_cocci_menhir.mly"
27311 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
27312 # 27313 "parser_cocci_menhir.ml"
27313 in
27314 _menhir_env.MenhirLib.EngineTypes.stack <- {
27315 MenhirLib.EngineTypes.state = _menhir_s;
27316 MenhirLib.EngineTypes.semv = Obj.repr _v;
27317 MenhirLib.EngineTypes.startp = _startpos;
27318 MenhirLib.EngineTypes.endp = _endpos;
27319 MenhirLib.EngineTypes.next = _menhir_stack;
27320 });
27321 (fun _menhir_env ->
27322 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27323 let {
27324 MenhirLib.EngineTypes.semv = _2;
27325 MenhirLib.EngineTypes.startp = _startpos__2_;
27326 MenhirLib.EngineTypes.endp = _endpos__2_;
27327 MenhirLib.EngineTypes.next = {
27328 MenhirLib.EngineTypes.state = _menhir_s;
27329 MenhirLib.EngineTypes.semv = _1;
27330 MenhirLib.EngineTypes.startp = _startpos__1_;
27331 MenhirLib.EngineTypes.endp = _endpos__1_;
27332 MenhirLib.EngineTypes.next = _menhir_stack;
27333 };
27334 } = _menhir_stack in
27335 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
27336 let _1 : 'tv_fundecl = Obj.magic _1 in
27337 let _startpos = _startpos__1_ in
27338 let _endpos = _endpos__2_ in
27339 let _v : 'tv_plus_after_stm =
27340 # 1999 "parser_cocci_menhir.mly"
27341 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
27342 # 27343 "parser_cocci_menhir.ml"
27343 in
27344 _menhir_env.MenhirLib.EngineTypes.stack <- {
27345 MenhirLib.EngineTypes.state = _menhir_s;
27346 MenhirLib.EngineTypes.semv = Obj.repr _v;
27347 MenhirLib.EngineTypes.startp = _startpos;
27348 MenhirLib.EngineTypes.endp = _endpos;
27349 MenhirLib.EngineTypes.next = _menhir_stack;
27350 });
27351 (fun _menhir_env ->
27352 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27353 let {
27354 MenhirLib.EngineTypes.semv = _2;
27355 MenhirLib.EngineTypes.startp = _startpos__2_;
27356 MenhirLib.EngineTypes.endp = _endpos__2_;
27357 MenhirLib.EngineTypes.next = {
27358 MenhirLib.EngineTypes.state = _menhir_s;
27359 MenhirLib.EngineTypes.semv = _1;
27360 MenhirLib.EngineTypes.startp = _startpos__1_;
27361 MenhirLib.EngineTypes.endp = _endpos__1_;
27362 MenhirLib.EngineTypes.next = _menhir_stack;
27363 };
27364 } = _menhir_stack in
27365 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
27366 let _1 : 'tv_decl_statement = Obj.magic _1 in
27367 let _startpos = _startpos__1_ in
27368 let _endpos = _endpos__2_ in
27369 let _v : 'tv_plus_after_stm =
27370 # 2001 "parser_cocci_menhir.mly"
27371 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
27372 # 27373 "parser_cocci_menhir.ml"
27373 in
27374 _menhir_env.MenhirLib.EngineTypes.stack <- {
27375 MenhirLib.EngineTypes.state = _menhir_s;
27376 MenhirLib.EngineTypes.semv = Obj.repr _v;
27377 MenhirLib.EngineTypes.startp = _startpos;
27378 MenhirLib.EngineTypes.endp = _endpos;
27379 MenhirLib.EngineTypes.next = _menhir_stack;
27380 });
27381 (fun _menhir_env ->
27382 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27383 let {
27384 MenhirLib.EngineTypes.semv = b;
27385 MenhirLib.EngineTypes.startp = _startpos_b_;
27386 MenhirLib.EngineTypes.endp = _endpos_b_;
27387 MenhirLib.EngineTypes.next = {
27388 MenhirLib.EngineTypes.state = _menhir_s;
27389 MenhirLib.EngineTypes.semv = f;
27390 MenhirLib.EngineTypes.startp = _startpos_f_;
27391 MenhirLib.EngineTypes.endp = _endpos_f_;
27392 MenhirLib.EngineTypes.next = _menhir_stack;
27393 };
27394 } = _menhir_stack in
27395 let b : 'tv_loption_plus_start_ = Obj.magic b in
27396 let f : 'tv_loption_filespec_ = Obj.magic f in
27397 let _startpos = _startpos_f_ in
27398 let _endpos = _endpos_b_ in
27399 let _v : 'tv_plus_body =
27400 # 721 "parser_cocci_menhir.mly"
27401 ( Top_level.top_level (f@b(*@ew*)) )
27402 # 27403 "parser_cocci_menhir.ml"
27403 in
27404 _menhir_env.MenhirLib.EngineTypes.stack <- {
27405 MenhirLib.EngineTypes.state = _menhir_s;
27406 MenhirLib.EngineTypes.semv = Obj.repr _v;
27407 MenhirLib.EngineTypes.startp = _startpos;
27408 MenhirLib.EngineTypes.endp = _endpos;
27409 MenhirLib.EngineTypes.next = _menhir_stack;
27410 });
27411 (fun _menhir_env ->
27412 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27413 let {
27414 MenhirLib.EngineTypes.semv = b;
27415 MenhirLib.EngineTypes.startp = _startpos_b_;
27416 MenhirLib.EngineTypes.endp = _endpos_b_;
27417 MenhirLib.EngineTypes.next = {
27418 MenhirLib.EngineTypes.state = _menhir_s;
27419 MenhirLib.EngineTypes.semv = f;
27420 MenhirLib.EngineTypes.startp = _startpos_f_;
27421 MenhirLib.EngineTypes.endp = _endpos_f_;
27422 MenhirLib.EngineTypes.next = _menhir_stack;
27423 };
27424 } = _menhir_stack in
27425 let b : 'tv_top_eexpr = Obj.magic b in
27426 let f : 'tv_loption_filespec_ = Obj.magic f in
27427 let _startpos = _startpos_f_ in
27428 let _endpos = _endpos_b_ in
27429 let _v : 'tv_plus_exp_body =
27430 # 735 "parser_cocci_menhir.mly"
27431 ( Top_level.top_level (f@[b](*@ew*)) )
27432 # 27433 "parser_cocci_menhir.ml"
27433 in
27434 _menhir_env.MenhirLib.EngineTypes.stack <- {
27435 MenhirLib.EngineTypes.state = _menhir_s;
27436 MenhirLib.EngineTypes.semv = Obj.repr _v;
27437 MenhirLib.EngineTypes.startp = _startpos;
27438 MenhirLib.EngineTypes.endp = _endpos;
27439 MenhirLib.EngineTypes.next = _menhir_stack;
27440 });
27441 (fun _menhir_env ->
27442 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27443 let {
27444 MenhirLib.EngineTypes.startp = _startpos__2_;
27445 MenhirLib.EngineTypes.endp = _endpos__2_;
27446 MenhirLib.EngineTypes.next = {
27447 MenhirLib.EngineTypes.state = _menhir_s;
27448 MenhirLib.EngineTypes.semv = _1;
27449 MenhirLib.EngineTypes.startp = _startpos__1_;
27450 MenhirLib.EngineTypes.endp = _endpos__1_;
27451 MenhirLib.EngineTypes.next = _menhir_stack;
27452 };
27453 } = _menhir_stack in
27454 let _1 : 'tv_plus_exp_body = Obj.magic _1 in
27455 let _startpos = _startpos__1_ in
27456 let _endpos = _endpos__2_ in
27457 let _v : (
27458 # 149 "parser_cocci_menhir.mly"
27459 (Ast0_cocci.rule)
27460 # 27461 "parser_cocci_menhir.ml"
27461 ) =
27462 # 185 "parser_cocci_menhir.mly"
27463 ( _1 )
27464 # 27465 "parser_cocci_menhir.ml"
27465 in
27466 _menhir_env.MenhirLib.EngineTypes.stack <- {
27467 MenhirLib.EngineTypes.state = _menhir_s;
27468 MenhirLib.EngineTypes.semv = Obj.repr _v;
27469 MenhirLib.EngineTypes.startp = _startpos;
27470 MenhirLib.EngineTypes.endp = _endpos;
27471 MenhirLib.EngineTypes.next = _menhir_stack;
27472 });
27473 (fun _menhir_env ->
27474 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27475 let {
27476 MenhirLib.EngineTypes.startp = _startpos__2_;
27477 MenhirLib.EngineTypes.endp = _endpos__2_;
27478 MenhirLib.EngineTypes.next = {
27479 MenhirLib.EngineTypes.state = _menhir_s;
27480 MenhirLib.EngineTypes.semv = p;
27481 MenhirLib.EngineTypes.startp = _startpos_p_;
27482 MenhirLib.EngineTypes.endp = _endpos_p_;
27483 MenhirLib.EngineTypes.next = _menhir_stack;
27484 };
27485 } = _menhir_stack in
27486 let p : 'tv_plus_exp_body = Obj.magic p in
27487 let _startpos = _startpos_p_ in
27488 let _endpos = _endpos__2_ in
27489 let _v : (
27490 # 149 "parser_cocci_menhir.mly"
27491 (Ast0_cocci.rule)
27492 # 27493 "parser_cocci_menhir.ml"
27493 ) =
27494 # 185 "parser_cocci_menhir.mly"
27495 ( p )
27496 # 27497 "parser_cocci_menhir.ml"
27497 in
27498 _menhir_env.MenhirLib.EngineTypes.stack <- {
27499 MenhirLib.EngineTypes.state = _menhir_s;
27500 MenhirLib.EngineTypes.semv = Obj.repr _v;
27501 MenhirLib.EngineTypes.startp = _startpos;
27502 MenhirLib.EngineTypes.endp = _endpos;
27503 MenhirLib.EngineTypes.next = _menhir_stack;
27504 });
27505 (fun _menhir_env ->
27506 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27507 let {
27508 MenhirLib.EngineTypes.startp = _startpos__2_;
27509 MenhirLib.EngineTypes.endp = _endpos__2_;
27510 MenhirLib.EngineTypes.next = {
27511 MenhirLib.EngineTypes.state = _menhir_s;
27512 MenhirLib.EngineTypes.semv = p;
27513 MenhirLib.EngineTypes.startp = _startpos_p_;
27514 MenhirLib.EngineTypes.endp = _endpos_p_;
27515 MenhirLib.EngineTypes.next = _menhir_stack;
27516 };
27517 } = _menhir_stack in
27518 let p : 'tv_plus_exp_body = Obj.magic p in
27519 let _startpos = _startpos_p_ in
27520 let _endpos = _endpos__2_ in
27521 let _v : (
27522 # 149 "parser_cocci_menhir.mly"
27523 (Ast0_cocci.rule)
27524 # 27525 "parser_cocci_menhir.ml"
27525 ) =
27526 # 186 "parser_cocci_menhir.mly"
27527 ( p )
27528 # 27529 "parser_cocci_menhir.ml"
27529 in
27530 _menhir_env.MenhirLib.EngineTypes.stack <- {
27531 MenhirLib.EngineTypes.state = _menhir_s;
27532 MenhirLib.EngineTypes.semv = Obj.repr _v;
27533 MenhirLib.EngineTypes.startp = _startpos;
27534 MenhirLib.EngineTypes.endp = _endpos;
27535 MenhirLib.EngineTypes.next = _menhir_stack;
27536 });
27537 (fun _menhir_env ->
27538 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27539 let {
27540 MenhirLib.EngineTypes.startp = _startpos__2_;
27541 MenhirLib.EngineTypes.endp = _endpos__2_;
27542 MenhirLib.EngineTypes.next = {
27543 MenhirLib.EngineTypes.state = _menhir_s;
27544 MenhirLib.EngineTypes.semv = _1;
27545 MenhirLib.EngineTypes.startp = _startpos__1_;
27546 MenhirLib.EngineTypes.endp = _endpos__1_;
27547 MenhirLib.EngineTypes.next = _menhir_stack;
27548 };
27549 } = _menhir_stack in
27550 let _1 : 'tv_plus_body = Obj.magic _1 in
27551 let _startpos = _startpos__1_ in
27552 let _endpos = _endpos__2_ in
27553 let _v : (
27554 # 146 "parser_cocci_menhir.mly"
27555 (Ast0_cocci.rule)
27556 # 27557 "parser_cocci_menhir.ml"
27557 ) =
27558 # 181 "parser_cocci_menhir.mly"
27559 ( _1 )
27560 # 27561 "parser_cocci_menhir.ml"
27561 in
27562 _menhir_env.MenhirLib.EngineTypes.stack <- {
27563 MenhirLib.EngineTypes.state = _menhir_s;
27564 MenhirLib.EngineTypes.semv = Obj.repr _v;
27565 MenhirLib.EngineTypes.startp = _startpos;
27566 MenhirLib.EngineTypes.endp = _endpos;
27567 MenhirLib.EngineTypes.next = _menhir_stack;
27568 });
27569 (fun _menhir_env ->
27570 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27571 let {
27572 MenhirLib.EngineTypes.startp = _startpos__2_;
27573 MenhirLib.EngineTypes.endp = _endpos__2_;
27574 MenhirLib.EngineTypes.next = {
27575 MenhirLib.EngineTypes.state = _menhir_s;
27576 MenhirLib.EngineTypes.semv = p;
27577 MenhirLib.EngineTypes.startp = _startpos_p_;
27578 MenhirLib.EngineTypes.endp = _endpos_p_;
27579 MenhirLib.EngineTypes.next = _menhir_stack;
27580 };
27581 } = _menhir_stack in
27582 let p : 'tv_plus_body = Obj.magic p in
27583 let _startpos = _startpos_p_ in
27584 let _endpos = _endpos__2_ in
27585 let _v : (
27586 # 146 "parser_cocci_menhir.mly"
27587 (Ast0_cocci.rule)
27588 # 27589 "parser_cocci_menhir.ml"
27589 ) =
27590 # 181 "parser_cocci_menhir.mly"
27591 ( p )
27592 # 27593 "parser_cocci_menhir.ml"
27593 in
27594 _menhir_env.MenhirLib.EngineTypes.stack <- {
27595 MenhirLib.EngineTypes.state = _menhir_s;
27596 MenhirLib.EngineTypes.semv = Obj.repr _v;
27597 MenhirLib.EngineTypes.startp = _startpos;
27598 MenhirLib.EngineTypes.endp = _endpos;
27599 MenhirLib.EngineTypes.next = _menhir_stack;
27600 });
27601 (fun _menhir_env ->
27602 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27603 let {
27604 MenhirLib.EngineTypes.startp = _startpos__2_;
27605 MenhirLib.EngineTypes.endp = _endpos__2_;
27606 MenhirLib.EngineTypes.next = {
27607 MenhirLib.EngineTypes.state = _menhir_s;
27608 MenhirLib.EngineTypes.semv = p;
27609 MenhirLib.EngineTypes.startp = _startpos_p_;
27610 MenhirLib.EngineTypes.endp = _endpos_p_;
27611 MenhirLib.EngineTypes.next = _menhir_stack;
27612 };
27613 } = _menhir_stack in
27614 let p : 'tv_plus_body = Obj.magic p in
27615 let _startpos = _startpos_p_ in
27616 let _endpos = _endpos__2_ in
27617 let _v : (
27618 # 146 "parser_cocci_menhir.mly"
27619 (Ast0_cocci.rule)
27620 # 27621 "parser_cocci_menhir.ml"
27621 ) =
27622 # 182 "parser_cocci_menhir.mly"
27623 ( p )
27624 # 27625 "parser_cocci_menhir.ml"
27625 in
27626 _menhir_env.MenhirLib.EngineTypes.stack <- {
27627 MenhirLib.EngineTypes.state = _menhir_s;
27628 MenhirLib.EngineTypes.semv = Obj.repr _v;
27629 MenhirLib.EngineTypes.startp = _startpos;
27630 MenhirLib.EngineTypes.endp = _endpos;
27631 MenhirLib.EngineTypes.next = _menhir_stack;
27632 });
27633 (fun _menhir_env ->
27634 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27635 let {
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 } = _menhir_stack in
27642 let _1 : 'tv_ctype = Obj.magic _1 in
27643 let _startpos = _startpos__1_ in
27644 let _endpos = _endpos__1_ in
27645 let _v : 'tv_plus_start =
27646 # 1973 "parser_cocci_menhir.mly"
27647 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
27648 # 27649 "parser_cocci_menhir.ml"
27649 in
27650 _menhir_env.MenhirLib.EngineTypes.stack <- {
27651 MenhirLib.EngineTypes.state = _menhir_s;
27652 MenhirLib.EngineTypes.semv = Obj.repr _v;
27653 MenhirLib.EngineTypes.startp = _startpos;
27654 MenhirLib.EngineTypes.endp = _endpos;
27655 MenhirLib.EngineTypes.next = _menhir_stack;
27656 });
27657 (fun _menhir_env ->
27658 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27659 let {
27660 MenhirLib.EngineTypes.state = _menhir_s;
27661 MenhirLib.EngineTypes.semv = _1;
27662 MenhirLib.EngineTypes.startp = _startpos__1_;
27663 MenhirLib.EngineTypes.endp = _endpos__1_;
27664 MenhirLib.EngineTypes.next = _menhir_stack;
27665 } = _menhir_stack in
27666 let _1 : 'tv_top_init = Obj.magic _1 in
27667 let _startpos = _startpos__1_ in
27668 let _endpos = _endpos__1_ in
27669 let _v : 'tv_plus_start =
27670 # 1974 "parser_cocci_menhir.mly"
27671 ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
27672 # 27673 "parser_cocci_menhir.ml"
27673 in
27674 _menhir_env.MenhirLib.EngineTypes.stack <- {
27675 MenhirLib.EngineTypes.state = _menhir_s;
27676 MenhirLib.EngineTypes.semv = Obj.repr _v;
27677 MenhirLib.EngineTypes.startp = _startpos;
27678 MenhirLib.EngineTypes.endp = _endpos;
27679 MenhirLib.EngineTypes.next = _menhir_stack;
27680 });
27681 (fun _menhir_env ->
27682 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27683 let {
27684 MenhirLib.EngineTypes.semv = _2;
27685 MenhirLib.EngineTypes.startp = _startpos__2_;
27686 MenhirLib.EngineTypes.endp = _endpos__2_;
27687 MenhirLib.EngineTypes.next = {
27688 MenhirLib.EngineTypes.state = _menhir_s;
27689 MenhirLib.EngineTypes.semv = _1;
27690 MenhirLib.EngineTypes.startp = _startpos__1_;
27691 MenhirLib.EngineTypes.endp = _endpos__1_;
27692 MenhirLib.EngineTypes.next = _menhir_stack;
27693 };
27694 } = _menhir_stack in
27695 let _2 : 'tv_plus_after_dots = Obj.magic _2 in
27696 let _1 : 'tv_stm_dots = Obj.magic _1 in
27697 let _startpos = _startpos__1_ in
27698 let _endpos = _endpos__2_ in
27699 let _v : 'tv_plus_start =
27700 # 1976 "parser_cocci_menhir.mly"
27701 ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
27702 # 27703 "parser_cocci_menhir.ml"
27703 in
27704 _menhir_env.MenhirLib.EngineTypes.stack <- {
27705 MenhirLib.EngineTypes.state = _menhir_s;
27706 MenhirLib.EngineTypes.semv = Obj.repr _v;
27707 MenhirLib.EngineTypes.startp = _startpos;
27708 MenhirLib.EngineTypes.endp = _endpos;
27709 MenhirLib.EngineTypes.next = _menhir_stack;
27710 });
27711 (fun _menhir_env ->
27712 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27713 let {
27714 MenhirLib.EngineTypes.semv = _2;
27715 MenhirLib.EngineTypes.startp = _startpos__2_;
27716 MenhirLib.EngineTypes.endp = _endpos__2_;
27717 MenhirLib.EngineTypes.next = {
27718 MenhirLib.EngineTypes.state = _menhir_s;
27719 MenhirLib.EngineTypes.semv = _1;
27720 MenhirLib.EngineTypes.startp = _startpos__1_;
27721 MenhirLib.EngineTypes.endp = _endpos__1_;
27722 MenhirLib.EngineTypes.next = _menhir_stack;
27723 };
27724 } = _menhir_stack in
27725 let _2 : 'tv_plus_after_exp = Obj.magic _2 in
27726 let _1 : 'tv_expr = Obj.magic _1 in
27727 let _startpos = _startpos__1_ in
27728 let _endpos = _endpos__2_ in
27729 let _v : 'tv_plus_start =
27730 # 1978 "parser_cocci_menhir.mly"
27731 ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
27732 # 27733 "parser_cocci_menhir.ml"
27733 in
27734 _menhir_env.MenhirLib.EngineTypes.stack <- {
27735 MenhirLib.EngineTypes.state = _menhir_s;
27736 MenhirLib.EngineTypes.semv = Obj.repr _v;
27737 MenhirLib.EngineTypes.startp = _startpos;
27738 MenhirLib.EngineTypes.endp = _endpos;
27739 MenhirLib.EngineTypes.next = _menhir_stack;
27740 });
27741 (fun _menhir_env ->
27742 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27743 let {
27744 MenhirLib.EngineTypes.semv = _2;
27745 MenhirLib.EngineTypes.startp = _startpos__2_;
27746 MenhirLib.EngineTypes.endp = _endpos__2_;
27747 MenhirLib.EngineTypes.next = {
27748 MenhirLib.EngineTypes.state = _menhir_s;
27749 MenhirLib.EngineTypes.semv = _1;
27750 MenhirLib.EngineTypes.startp = _startpos__1_;
27751 MenhirLib.EngineTypes.endp = _endpos__1_;
27752 MenhirLib.EngineTypes.next = _menhir_stack;
27753 };
27754 } = _menhir_stack in
27755 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
27756 let _1 : 'tv_fundecl = Obj.magic _1 in
27757 let _startpos = _startpos__1_ in
27758 let _endpos = _endpos__2_ in
27759 let _v : 'tv_plus_start =
27760 # 1979 "parser_cocci_menhir.mly"
27761 ( Ast0.wrap(Ast0.DECL(_1))::_2 )
27762 # 27763 "parser_cocci_menhir.ml"
27763 in
27764 _menhir_env.MenhirLib.EngineTypes.stack <- {
27765 MenhirLib.EngineTypes.state = _menhir_s;
27766 MenhirLib.EngineTypes.semv = Obj.repr _v;
27767 MenhirLib.EngineTypes.startp = _startpos;
27768 MenhirLib.EngineTypes.endp = _endpos;
27769 MenhirLib.EngineTypes.next = _menhir_stack;
27770 });
27771 (fun _menhir_env ->
27772 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27773 let {
27774 MenhirLib.EngineTypes.semv = _2;
27775 MenhirLib.EngineTypes.startp = _startpos__2_;
27776 MenhirLib.EngineTypes.endp = _endpos__2_;
27777 MenhirLib.EngineTypes.next = {
27778 MenhirLib.EngineTypes.state = _menhir_s;
27779 MenhirLib.EngineTypes.semv = _1;
27780 MenhirLib.EngineTypes.startp = _startpos__1_;
27781 MenhirLib.EngineTypes.endp = _endpos__1_;
27782 MenhirLib.EngineTypes.next = _menhir_stack;
27783 };
27784 } = _menhir_stack in
27785 let _2 : 'tv_plus_after_stm = Obj.magic _2 in
27786 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
27787 let _startpos = _startpos__1_ in
27788 let _endpos = _endpos__2_ in
27789 let _v : 'tv_plus_start =
27790 # 1981 "parser_cocci_menhir.mly"
27791 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
27792 # 27793 "parser_cocci_menhir.ml"
27793 in
27794 _menhir_env.MenhirLib.EngineTypes.stack <- {
27795 MenhirLib.EngineTypes.state = _menhir_s;
27796 MenhirLib.EngineTypes.semv = Obj.repr _v;
27797 MenhirLib.EngineTypes.startp = _startpos;
27798 MenhirLib.EngineTypes.endp = _endpos;
27799 MenhirLib.EngineTypes.next = _menhir_stack;
27800 });
27801 (fun _menhir_env ->
27802 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27803 let {
27804 MenhirLib.EngineTypes.state = _menhir_s;
27805 MenhirLib.EngineTypes.semv = _1;
27806 MenhirLib.EngineTypes.startp = _startpos__1_;
27807 MenhirLib.EngineTypes.endp = _endpos__1_;
27808 MenhirLib.EngineTypes.next = _menhir_stack;
27809 } = _menhir_stack in
27810 let _1 : (
27811 # 49 "parser_cocci_menhir.mly"
27812 (string)
27813 # 27814 "parser_cocci_menhir.ml"
27814 ) = Obj.magic _1 in
27815 let _startpos = _startpos__1_ in
27816 let _endpos = _endpos__1_ in
27817 let _v : 'tv_pnrule =
27818 # 236 "parser_cocci_menhir.mly"
27819 ( Ast.Dep _1 )
27820 # 27821 "parser_cocci_menhir.ml"
27821 in
27822 _menhir_env.MenhirLib.EngineTypes.stack <- {
27823 MenhirLib.EngineTypes.state = _menhir_s;
27824 MenhirLib.EngineTypes.semv = Obj.repr _v;
27825 MenhirLib.EngineTypes.startp = _startpos;
27826 MenhirLib.EngineTypes.endp = _endpos;
27827 MenhirLib.EngineTypes.next = _menhir_stack;
27828 });
27829 (fun _menhir_env ->
27830 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27831 let {
27832 MenhirLib.EngineTypes.semv = _2;
27833 MenhirLib.EngineTypes.startp = _startpos__2_;
27834 MenhirLib.EngineTypes.endp = _endpos__2_;
27835 MenhirLib.EngineTypes.next = {
27836 MenhirLib.EngineTypes.state = _menhir_s;
27837 MenhirLib.EngineTypes.startp = _startpos__1_;
27838 MenhirLib.EngineTypes.endp = _endpos__1_;
27839 MenhirLib.EngineTypes.next = _menhir_stack;
27840 };
27841 } = _menhir_stack in
27842 let _2 : (
27843 # 49 "parser_cocci_menhir.mly"
27844 (string)
27845 # 27846 "parser_cocci_menhir.ml"
27846 ) = Obj.magic _2 in
27847 let _startpos = _startpos__1_ in
27848 let _endpos = _endpos__2_ in
27849 let _v : 'tv_pnrule =
27850 # 237 "parser_cocci_menhir.mly"
27851 ( Ast.AntiDep _2 )
27852 # 27853 "parser_cocci_menhir.ml"
27853 in
27854 _menhir_env.MenhirLib.EngineTypes.stack <- {
27855 MenhirLib.EngineTypes.state = _menhir_s;
27856 MenhirLib.EngineTypes.semv = Obj.repr _v;
27857 MenhirLib.EngineTypes.startp = _startpos;
27858 MenhirLib.EngineTypes.endp = _endpos;
27859 MenhirLib.EngineTypes.next = _menhir_stack;
27860 });
27861 (fun _menhir_env ->
27862 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27863 let {
27864 MenhirLib.EngineTypes.semv = _2;
27865 MenhirLib.EngineTypes.startp = _startpos__2_;
27866 MenhirLib.EngineTypes.endp = _endpos__2_;
27867 MenhirLib.EngineTypes.next = {
27868 MenhirLib.EngineTypes.state = _menhir_s;
27869 MenhirLib.EngineTypes.startp = _startpos__1_;
27870 MenhirLib.EngineTypes.endp = _endpos__1_;
27871 MenhirLib.EngineTypes.next = _menhir_stack;
27872 };
27873 } = _menhir_stack in
27874 let _2 : (
27875 # 49 "parser_cocci_menhir.mly"
27876 (string)
27877 # 27878 "parser_cocci_menhir.ml"
27878 ) = Obj.magic _2 in
27879 let _startpos = _startpos__1_ in
27880 let _endpos = _endpos__2_ in
27881 let _v : 'tv_pnrule =
27882 # 238 "parser_cocci_menhir.mly"
27883 ( Ast.EverDep _2 )
27884 # 27885 "parser_cocci_menhir.ml"
27885 in
27886 _menhir_env.MenhirLib.EngineTypes.stack <- {
27887 MenhirLib.EngineTypes.state = _menhir_s;
27888 MenhirLib.EngineTypes.semv = Obj.repr _v;
27889 MenhirLib.EngineTypes.startp = _startpos;
27890 MenhirLib.EngineTypes.endp = _endpos;
27891 MenhirLib.EngineTypes.next = _menhir_stack;
27892 });
27893 (fun _menhir_env ->
27894 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27895 let {
27896 MenhirLib.EngineTypes.semv = _2;
27897 MenhirLib.EngineTypes.startp = _startpos__2_;
27898 MenhirLib.EngineTypes.endp = _endpos__2_;
27899 MenhirLib.EngineTypes.next = {
27900 MenhirLib.EngineTypes.state = _menhir_s;
27901 MenhirLib.EngineTypes.startp = _startpos__1_;
27902 MenhirLib.EngineTypes.endp = _endpos__1_;
27903 MenhirLib.EngineTypes.next = _menhir_stack;
27904 };
27905 } = _menhir_stack in
27906 let _2 : (
27907 # 49 "parser_cocci_menhir.mly"
27908 (string)
27909 # 27910 "parser_cocci_menhir.ml"
27910 ) = Obj.magic _2 in
27911 let _startpos = _startpos__1_ in
27912 let _endpos = _endpos__2_ in
27913 let _v : 'tv_pnrule =
27914 # 239 "parser_cocci_menhir.mly"
27915 ( Ast.NeverDep _2 )
27916 # 27917 "parser_cocci_menhir.ml"
27917 in
27918 _menhir_env.MenhirLib.EngineTypes.stack <- {
27919 MenhirLib.EngineTypes.state = _menhir_s;
27920 MenhirLib.EngineTypes.semv = Obj.repr _v;
27921 MenhirLib.EngineTypes.startp = _startpos;
27922 MenhirLib.EngineTypes.endp = _endpos;
27923 MenhirLib.EngineTypes.next = _menhir_stack;
27924 });
27925 (fun _menhir_env ->
27926 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27927 let {
27928 MenhirLib.EngineTypes.startp = _startpos__3_;
27929 MenhirLib.EngineTypes.endp = _endpos__3_;
27930 MenhirLib.EngineTypes.next = {
27931 MenhirLib.EngineTypes.semv = _2;
27932 MenhirLib.EngineTypes.startp = _startpos__2_;
27933 MenhirLib.EngineTypes.endp = _endpos__2_;
27934 MenhirLib.EngineTypes.next = {
27935 MenhirLib.EngineTypes.state = _menhir_s;
27936 MenhirLib.EngineTypes.startp = _startpos__1_;
27937 MenhirLib.EngineTypes.endp = _endpos__1_;
27938 MenhirLib.EngineTypes.next = _menhir_stack;
27939 };
27940 };
27941 } = _menhir_stack in
27942 let _2 : 'tv_dep = Obj.magic _2 in
27943 let _startpos = _startpos__1_ in
27944 let _endpos = _endpos__3_ in
27945 let _v : 'tv_pnrule =
27946 # 240 "parser_cocci_menhir.mly"
27947 ( _2 )
27948 # 27949 "parser_cocci_menhir.ml"
27949 in
27950 _menhir_env.MenhirLib.EngineTypes.stack <- {
27951 MenhirLib.EngineTypes.state = _menhir_s;
27952 MenhirLib.EngineTypes.semv = Obj.repr _v;
27953 MenhirLib.EngineTypes.startp = _startpos;
27954 MenhirLib.EngineTypes.endp = _endpos;
27955 MenhirLib.EngineTypes.next = _menhir_stack;
27956 });
27957 (fun _menhir_env ->
27958 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27959 let {
27960 MenhirLib.EngineTypes.state = _menhir_s;
27961 MenhirLib.EngineTypes.semv = _1;
27962 MenhirLib.EngineTypes.startp = _startpos__1_;
27963 MenhirLib.EngineTypes.endp = _endpos__1_;
27964 MenhirLib.EngineTypes.next = _menhir_stack;
27965 } = _menhir_stack in
27966 let _1 : 'tv_primary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
27967 let _startpos = _startpos__1_ in
27968 let _endpos = _endpos__1_ in
27969 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
27970 # 1462 "parser_cocci_menhir.mly"
27971 ( _1 )
27972 # 27973 "parser_cocci_menhir.ml"
27973 in
27974 _menhir_env.MenhirLib.EngineTypes.stack <- {
27975 MenhirLib.EngineTypes.state = _menhir_s;
27976 MenhirLib.EngineTypes.semv = Obj.repr _v;
27977 MenhirLib.EngineTypes.startp = _startpos;
27978 MenhirLib.EngineTypes.endp = _endpos;
27979 MenhirLib.EngineTypes.next = _menhir_stack;
27980 });
27981 (fun _menhir_env ->
27982 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
27983 let {
27984 MenhirLib.EngineTypes.semv = _4;
27985 MenhirLib.EngineTypes.startp = _startpos__4_;
27986 MenhirLib.EngineTypes.endp = _endpos__4_;
27987 MenhirLib.EngineTypes.next = {
27988 MenhirLib.EngineTypes.semv = _3;
27989 MenhirLib.EngineTypes.startp = _startpos__3_;
27990 MenhirLib.EngineTypes.endp = _endpos__3_;
27991 MenhirLib.EngineTypes.next = {
27992 MenhirLib.EngineTypes.semv = _2;
27993 MenhirLib.EngineTypes.startp = _startpos__2_;
27994 MenhirLib.EngineTypes.endp = _endpos__2_;
27995 MenhirLib.EngineTypes.next = {
27996 MenhirLib.EngineTypes.state = _menhir_s;
27997 MenhirLib.EngineTypes.semv = _1;
27998 MenhirLib.EngineTypes.startp = _startpos__1_;
27999 MenhirLib.EngineTypes.endp = _endpos__1_;
28000 MenhirLib.EngineTypes.next = _menhir_stack;
28001 };
28002 };
28003 };
28004 } = _menhir_stack in
28005 let _4 : (
28006 # 106 "parser_cocci_menhir.mly"
28007 (Data.clt)
28008 # 28009 "parser_cocci_menhir.ml"
28009 ) = Obj.magic _4 in
28010 let _3 : 'tv_eexpr = Obj.magic _3 in
28011 let _2 : (
28012 # 106 "parser_cocci_menhir.mly"
28013 (Data.clt)
28014 # 28015 "parser_cocci_menhir.ml"
28015 ) = Obj.magic _2 in
28016 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
28017 let _startpos = _startpos__1_ in
28018 let _endpos = _endpos__4_ in
28019 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
28020 # 1464 "parser_cocci_menhir.mly"
28021 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
28022 P.clt2mcode "]" _4)) )
28023 # 28024 "parser_cocci_menhir.ml"
28024 in
28025 _menhir_env.MenhirLib.EngineTypes.stack <- {
28026 MenhirLib.EngineTypes.state = _menhir_s;
28027 MenhirLib.EngineTypes.semv = Obj.repr _v;
28028 MenhirLib.EngineTypes.startp = _startpos;
28029 MenhirLib.EngineTypes.endp = _endpos;
28030 MenhirLib.EngineTypes.next = _menhir_stack;
28031 });
28032 (fun _menhir_env ->
28033 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28034 let {
28035 MenhirLib.EngineTypes.semv = _3;
28036 MenhirLib.EngineTypes.startp = _startpos__3_;
28037 MenhirLib.EngineTypes.endp = _endpos__3_;
28038 MenhirLib.EngineTypes.next = {
28039 MenhirLib.EngineTypes.semv = _2;
28040 MenhirLib.EngineTypes.startp = _startpos__2_;
28041 MenhirLib.EngineTypes.endp = _endpos__2_;
28042 MenhirLib.EngineTypes.next = {
28043 MenhirLib.EngineTypes.state = _menhir_s;
28044 MenhirLib.EngineTypes.semv = _1;
28045 MenhirLib.EngineTypes.startp = _startpos__1_;
28046 MenhirLib.EngineTypes.endp = _endpos__1_;
28047 MenhirLib.EngineTypes.next = _menhir_stack;
28048 };
28049 };
28050 } = _menhir_stack in
28051 let _3 : 'tv_ident = Obj.magic _3 in
28052 let _2 : (
28053 # 111 "parser_cocci_menhir.mly"
28054 (Data.clt)
28055 # 28056 "parser_cocci_menhir.ml"
28056 ) = Obj.magic _2 in
28057 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
28058 let _startpos = _startpos__1_ in
28059 let _endpos = _endpos__3_ in
28060 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
28061 # 1467 "parser_cocci_menhir.mly"
28062 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
28063 # 28064 "parser_cocci_menhir.ml"
28064 in
28065 _menhir_env.MenhirLib.EngineTypes.stack <- {
28066 MenhirLib.EngineTypes.state = _menhir_s;
28067 MenhirLib.EngineTypes.semv = Obj.repr _v;
28068 MenhirLib.EngineTypes.startp = _startpos;
28069 MenhirLib.EngineTypes.endp = _endpos;
28070 MenhirLib.EngineTypes.next = _menhir_stack;
28071 });
28072 (fun _menhir_env ->
28073 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28074 let {
28075 MenhirLib.EngineTypes.semv = _3;
28076 MenhirLib.EngineTypes.startp = _startpos__3_;
28077 MenhirLib.EngineTypes.endp = _endpos__3_;
28078 MenhirLib.EngineTypes.next = {
28079 MenhirLib.EngineTypes.semv = _2;
28080 MenhirLib.EngineTypes.startp = _startpos__2_;
28081 MenhirLib.EngineTypes.endp = _endpos__2_;
28082 MenhirLib.EngineTypes.next = {
28083 MenhirLib.EngineTypes.state = _menhir_s;
28084 MenhirLib.EngineTypes.semv = _1;
28085 MenhirLib.EngineTypes.startp = _startpos__1_;
28086 MenhirLib.EngineTypes.endp = _endpos__1_;
28087 MenhirLib.EngineTypes.next = _menhir_stack;
28088 };
28089 };
28090 } = _menhir_stack in
28091 let _3 : 'tv_ident = Obj.magic _3 in
28092 let _2 : (
28093 # 108 "parser_cocci_menhir.mly"
28094 (Data.clt)
28095 # 28096 "parser_cocci_menhir.ml"
28096 ) = Obj.magic _2 in
28097 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
28098 let _startpos = _startpos__1_ in
28099 let _endpos = _endpos__3_ in
28100 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
28101 # 1469 "parser_cocci_menhir.mly"
28102 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
28103 _3)) )
28104 # 28105 "parser_cocci_menhir.ml"
28105 in
28106 _menhir_env.MenhirLib.EngineTypes.stack <- {
28107 MenhirLib.EngineTypes.state = _menhir_s;
28108 MenhirLib.EngineTypes.semv = Obj.repr _v;
28109 MenhirLib.EngineTypes.startp = _startpos;
28110 MenhirLib.EngineTypes.endp = _endpos;
28111 MenhirLib.EngineTypes.next = _menhir_stack;
28112 });
28113 (fun _menhir_env ->
28114 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28115 let {
28116 MenhirLib.EngineTypes.semv = _2;
28117 MenhirLib.EngineTypes.startp = _startpos__2_;
28118 MenhirLib.EngineTypes.endp = _endpos__2_;
28119 MenhirLib.EngineTypes.next = {
28120 MenhirLib.EngineTypes.state = _menhir_s;
28121 MenhirLib.EngineTypes.semv = _1;
28122 MenhirLib.EngineTypes.startp = _startpos__1_;
28123 MenhirLib.EngineTypes.endp = _endpos__1_;
28124 MenhirLib.EngineTypes.next = _menhir_stack;
28125 };
28126 } = _menhir_stack in
28127 let _2 : (
28128 # 89 "parser_cocci_menhir.mly"
28129 (Data.clt)
28130 # 28131 "parser_cocci_menhir.ml"
28131 ) = Obj.magic _2 in
28132 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
28133 let _startpos = _startpos__1_ in
28134 let _endpos = _endpos__2_ in
28135 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
28136 # 1472 "parser_cocci_menhir.mly"
28137 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
28138 # 28139 "parser_cocci_menhir.ml"
28139 in
28140 _menhir_env.MenhirLib.EngineTypes.stack <- {
28141 MenhirLib.EngineTypes.state = _menhir_s;
28142 MenhirLib.EngineTypes.semv = Obj.repr _v;
28143 MenhirLib.EngineTypes.startp = _startpos;
28144 MenhirLib.EngineTypes.endp = _endpos;
28145 MenhirLib.EngineTypes.next = _menhir_stack;
28146 });
28147 (fun _menhir_env ->
28148 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28149 let {
28150 MenhirLib.EngineTypes.semv = _2;
28151 MenhirLib.EngineTypes.startp = _startpos__2_;
28152 MenhirLib.EngineTypes.endp = _endpos__2_;
28153 MenhirLib.EngineTypes.next = {
28154 MenhirLib.EngineTypes.state = _menhir_s;
28155 MenhirLib.EngineTypes.semv = _1;
28156 MenhirLib.EngineTypes.startp = _startpos__1_;
28157 MenhirLib.EngineTypes.endp = _endpos__1_;
28158 MenhirLib.EngineTypes.next = _menhir_stack;
28159 };
28160 } = _menhir_stack in
28161 let _2 : (
28162 # 89 "parser_cocci_menhir.mly"
28163 (Data.clt)
28164 # 28165 "parser_cocci_menhir.ml"
28165 ) = Obj.magic _2 in
28166 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
28167 let _startpos = _startpos__1_ in
28168 let _endpos = _endpos__2_ in
28169 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
28170 # 1474 "parser_cocci_menhir.mly"
28171 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
28172 # 28173 "parser_cocci_menhir.ml"
28173 in
28174 _menhir_env.MenhirLib.EngineTypes.stack <- {
28175 MenhirLib.EngineTypes.state = _menhir_s;
28176 MenhirLib.EngineTypes.semv = Obj.repr _v;
28177 MenhirLib.EngineTypes.startp = _startpos;
28178 MenhirLib.EngineTypes.endp = _endpos;
28179 MenhirLib.EngineTypes.next = _menhir_stack;
28180 });
28181 (fun _menhir_env ->
28182 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28183 let {
28184 MenhirLib.EngineTypes.semv = _4;
28185 MenhirLib.EngineTypes.startp = _startpos__4_;
28186 MenhirLib.EngineTypes.endp = _endpos__4_;
28187 MenhirLib.EngineTypes.next = {
28188 MenhirLib.EngineTypes.semv = _3;
28189 MenhirLib.EngineTypes.startp = _startpos__3_;
28190 MenhirLib.EngineTypes.endp = _endpos__3_;
28191 MenhirLib.EngineTypes.next = {
28192 MenhirLib.EngineTypes.semv = _2;
28193 MenhirLib.EngineTypes.startp = _startpos__2_;
28194 MenhirLib.EngineTypes.endp = _endpos__2_;
28195 MenhirLib.EngineTypes.next = {
28196 MenhirLib.EngineTypes.state = _menhir_s;
28197 MenhirLib.EngineTypes.semv = _1;
28198 MenhirLib.EngineTypes.startp = _startpos__1_;
28199 MenhirLib.EngineTypes.endp = _endpos__1_;
28200 MenhirLib.EngineTypes.next = _menhir_stack;
28201 };
28202 };
28203 };
28204 } = _menhir_stack in
28205 let _4 : (
28206 # 81 "parser_cocci_menhir.mly"
28207 (Data.clt)
28208 # 28209 "parser_cocci_menhir.ml"
28209 ) = Obj.magic _4 in
28210 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
28211 let _2 : (
28212 # 80 "parser_cocci_menhir.mly"
28213 (Data.clt)
28214 # 28215 "parser_cocci_menhir.ml"
28215 ) = Obj.magic _2 in
28216 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
28217 let _startpos = _startpos__1_ in
28218 let _endpos = _endpos__4_ in
28219 let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
28220 # 1476 "parser_cocci_menhir.mly"
28221 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
28222 _3,
28223 P.clt2mcode ")" _4)) )
28224 # 28225 "parser_cocci_menhir.ml"
28225 in
28226 _menhir_env.MenhirLib.EngineTypes.stack <- {
28227 MenhirLib.EngineTypes.state = _menhir_s;
28228 MenhirLib.EngineTypes.semv = Obj.repr _v;
28229 MenhirLib.EngineTypes.startp = _startpos;
28230 MenhirLib.EngineTypes.endp = _endpos;
28231 MenhirLib.EngineTypes.next = _menhir_stack;
28232 });
28233 (fun _menhir_env ->
28234 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28235 let {
28236 MenhirLib.EngineTypes.state = _menhir_s;
28237 MenhirLib.EngineTypes.semv = _1;
28238 MenhirLib.EngineTypes.startp = _startpos__1_;
28239 MenhirLib.EngineTypes.endp = _endpos__1_;
28240 MenhirLib.EngineTypes.next = _menhir_stack;
28241 } = _menhir_stack in
28242 let _1 : 'tv_primary_expr_eexpr_invalid_ = Obj.magic _1 in
28243 let _startpos = _startpos__1_ in
28244 let _endpos = _endpos__1_ in
28245 let _v : 'tv_postfix_expr_eexpr_invalid_ =
28246 # 1462 "parser_cocci_menhir.mly"
28247 ( _1 )
28248 # 28249 "parser_cocci_menhir.ml"
28249 in
28250 _menhir_env.MenhirLib.EngineTypes.stack <- {
28251 MenhirLib.EngineTypes.state = _menhir_s;
28252 MenhirLib.EngineTypes.semv = Obj.repr _v;
28253 MenhirLib.EngineTypes.startp = _startpos;
28254 MenhirLib.EngineTypes.endp = _endpos;
28255 MenhirLib.EngineTypes.next = _menhir_stack;
28256 });
28257 (fun _menhir_env ->
28258 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28259 let {
28260 MenhirLib.EngineTypes.semv = _4;
28261 MenhirLib.EngineTypes.startp = _startpos__4_;
28262 MenhirLib.EngineTypes.endp = _endpos__4_;
28263 MenhirLib.EngineTypes.next = {
28264 MenhirLib.EngineTypes.semv = _3;
28265 MenhirLib.EngineTypes.startp = _startpos__3_;
28266 MenhirLib.EngineTypes.endp = _endpos__3_;
28267 MenhirLib.EngineTypes.next = {
28268 MenhirLib.EngineTypes.semv = _2;
28269 MenhirLib.EngineTypes.startp = _startpos__2_;
28270 MenhirLib.EngineTypes.endp = _endpos__2_;
28271 MenhirLib.EngineTypes.next = {
28272 MenhirLib.EngineTypes.state = _menhir_s;
28273 MenhirLib.EngineTypes.semv = _1;
28274 MenhirLib.EngineTypes.startp = _startpos__1_;
28275 MenhirLib.EngineTypes.endp = _endpos__1_;
28276 MenhirLib.EngineTypes.next = _menhir_stack;
28277 };
28278 };
28279 };
28280 } = _menhir_stack in
28281 let _4 : (
28282 # 106 "parser_cocci_menhir.mly"
28283 (Data.clt)
28284 # 28285 "parser_cocci_menhir.ml"
28285 ) = Obj.magic _4 in
28286 let _3 : 'tv_eexpr = Obj.magic _3 in
28287 let _2 : (
28288 # 106 "parser_cocci_menhir.mly"
28289 (Data.clt)
28290 # 28291 "parser_cocci_menhir.ml"
28291 ) = Obj.magic _2 in
28292 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
28293 let _startpos = _startpos__1_ in
28294 let _endpos = _endpos__4_ in
28295 let _v : 'tv_postfix_expr_eexpr_invalid_ =
28296 # 1464 "parser_cocci_menhir.mly"
28297 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
28298 P.clt2mcode "]" _4)) )
28299 # 28300 "parser_cocci_menhir.ml"
28300 in
28301 _menhir_env.MenhirLib.EngineTypes.stack <- {
28302 MenhirLib.EngineTypes.state = _menhir_s;
28303 MenhirLib.EngineTypes.semv = Obj.repr _v;
28304 MenhirLib.EngineTypes.startp = _startpos;
28305 MenhirLib.EngineTypes.endp = _endpos;
28306 MenhirLib.EngineTypes.next = _menhir_stack;
28307 });
28308 (fun _menhir_env ->
28309 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28310 let {
28311 MenhirLib.EngineTypes.semv = _3;
28312 MenhirLib.EngineTypes.startp = _startpos__3_;
28313 MenhirLib.EngineTypes.endp = _endpos__3_;
28314 MenhirLib.EngineTypes.next = {
28315 MenhirLib.EngineTypes.semv = _2;
28316 MenhirLib.EngineTypes.startp = _startpos__2_;
28317 MenhirLib.EngineTypes.endp = _endpos__2_;
28318 MenhirLib.EngineTypes.next = {
28319 MenhirLib.EngineTypes.state = _menhir_s;
28320 MenhirLib.EngineTypes.semv = _1;
28321 MenhirLib.EngineTypes.startp = _startpos__1_;
28322 MenhirLib.EngineTypes.endp = _endpos__1_;
28323 MenhirLib.EngineTypes.next = _menhir_stack;
28324 };
28325 };
28326 } = _menhir_stack in
28327 let _3 : 'tv_ident = Obj.magic _3 in
28328 let _2 : (
28329 # 111 "parser_cocci_menhir.mly"
28330 (Data.clt)
28331 # 28332 "parser_cocci_menhir.ml"
28332 ) = Obj.magic _2 in
28333 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
28334 let _startpos = _startpos__1_ in
28335 let _endpos = _endpos__3_ in
28336 let _v : 'tv_postfix_expr_eexpr_invalid_ =
28337 # 1467 "parser_cocci_menhir.mly"
28338 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
28339 # 28340 "parser_cocci_menhir.ml"
28340 in
28341 _menhir_env.MenhirLib.EngineTypes.stack <- {
28342 MenhirLib.EngineTypes.state = _menhir_s;
28343 MenhirLib.EngineTypes.semv = Obj.repr _v;
28344 MenhirLib.EngineTypes.startp = _startpos;
28345 MenhirLib.EngineTypes.endp = _endpos;
28346 MenhirLib.EngineTypes.next = _menhir_stack;
28347 });
28348 (fun _menhir_env ->
28349 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28350 let {
28351 MenhirLib.EngineTypes.semv = _3;
28352 MenhirLib.EngineTypes.startp = _startpos__3_;
28353 MenhirLib.EngineTypes.endp = _endpos__3_;
28354 MenhirLib.EngineTypes.next = {
28355 MenhirLib.EngineTypes.semv = _2;
28356 MenhirLib.EngineTypes.startp = _startpos__2_;
28357 MenhirLib.EngineTypes.endp = _endpos__2_;
28358 MenhirLib.EngineTypes.next = {
28359 MenhirLib.EngineTypes.state = _menhir_s;
28360 MenhirLib.EngineTypes.semv = _1;
28361 MenhirLib.EngineTypes.startp = _startpos__1_;
28362 MenhirLib.EngineTypes.endp = _endpos__1_;
28363 MenhirLib.EngineTypes.next = _menhir_stack;
28364 };
28365 };
28366 } = _menhir_stack in
28367 let _3 : 'tv_ident = Obj.magic _3 in
28368 let _2 : (
28369 # 108 "parser_cocci_menhir.mly"
28370 (Data.clt)
28371 # 28372 "parser_cocci_menhir.ml"
28372 ) = Obj.magic _2 in
28373 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
28374 let _startpos = _startpos__1_ in
28375 let _endpos = _endpos__3_ in
28376 let _v : 'tv_postfix_expr_eexpr_invalid_ =
28377 # 1469 "parser_cocci_menhir.mly"
28378 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
28379 _3)) )
28380 # 28381 "parser_cocci_menhir.ml"
28381 in
28382 _menhir_env.MenhirLib.EngineTypes.stack <- {
28383 MenhirLib.EngineTypes.state = _menhir_s;
28384 MenhirLib.EngineTypes.semv = Obj.repr _v;
28385 MenhirLib.EngineTypes.startp = _startpos;
28386 MenhirLib.EngineTypes.endp = _endpos;
28387 MenhirLib.EngineTypes.next = _menhir_stack;
28388 });
28389 (fun _menhir_env ->
28390 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28391 let {
28392 MenhirLib.EngineTypes.semv = _2;
28393 MenhirLib.EngineTypes.startp = _startpos__2_;
28394 MenhirLib.EngineTypes.endp = _endpos__2_;
28395 MenhirLib.EngineTypes.next = {
28396 MenhirLib.EngineTypes.state = _menhir_s;
28397 MenhirLib.EngineTypes.semv = _1;
28398 MenhirLib.EngineTypes.startp = _startpos__1_;
28399 MenhirLib.EngineTypes.endp = _endpos__1_;
28400 MenhirLib.EngineTypes.next = _menhir_stack;
28401 };
28402 } = _menhir_stack in
28403 let _2 : (
28404 # 89 "parser_cocci_menhir.mly"
28405 (Data.clt)
28406 # 28407 "parser_cocci_menhir.ml"
28407 ) = Obj.magic _2 in
28408 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
28409 let _startpos = _startpos__1_ in
28410 let _endpos = _endpos__2_ in
28411 let _v : 'tv_postfix_expr_eexpr_invalid_ =
28412 # 1472 "parser_cocci_menhir.mly"
28413 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
28414 # 28415 "parser_cocci_menhir.ml"
28415 in
28416 _menhir_env.MenhirLib.EngineTypes.stack <- {
28417 MenhirLib.EngineTypes.state = _menhir_s;
28418 MenhirLib.EngineTypes.semv = Obj.repr _v;
28419 MenhirLib.EngineTypes.startp = _startpos;
28420 MenhirLib.EngineTypes.endp = _endpos;
28421 MenhirLib.EngineTypes.next = _menhir_stack;
28422 });
28423 (fun _menhir_env ->
28424 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28425 let {
28426 MenhirLib.EngineTypes.semv = _2;
28427 MenhirLib.EngineTypes.startp = _startpos__2_;
28428 MenhirLib.EngineTypes.endp = _endpos__2_;
28429 MenhirLib.EngineTypes.next = {
28430 MenhirLib.EngineTypes.state = _menhir_s;
28431 MenhirLib.EngineTypes.semv = _1;
28432 MenhirLib.EngineTypes.startp = _startpos__1_;
28433 MenhirLib.EngineTypes.endp = _endpos__1_;
28434 MenhirLib.EngineTypes.next = _menhir_stack;
28435 };
28436 } = _menhir_stack in
28437 let _2 : (
28438 # 89 "parser_cocci_menhir.mly"
28439 (Data.clt)
28440 # 28441 "parser_cocci_menhir.ml"
28441 ) = Obj.magic _2 in
28442 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
28443 let _startpos = _startpos__1_ in
28444 let _endpos = _endpos__2_ in
28445 let _v : 'tv_postfix_expr_eexpr_invalid_ =
28446 # 1474 "parser_cocci_menhir.mly"
28447 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
28448 # 28449 "parser_cocci_menhir.ml"
28449 in
28450 _menhir_env.MenhirLib.EngineTypes.stack <- {
28451 MenhirLib.EngineTypes.state = _menhir_s;
28452 MenhirLib.EngineTypes.semv = Obj.repr _v;
28453 MenhirLib.EngineTypes.startp = _startpos;
28454 MenhirLib.EngineTypes.endp = _endpos;
28455 MenhirLib.EngineTypes.next = _menhir_stack;
28456 });
28457 (fun _menhir_env ->
28458 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28459 let {
28460 MenhirLib.EngineTypes.semv = _4;
28461 MenhirLib.EngineTypes.startp = _startpos__4_;
28462 MenhirLib.EngineTypes.endp = _endpos__4_;
28463 MenhirLib.EngineTypes.next = {
28464 MenhirLib.EngineTypes.semv = _3;
28465 MenhirLib.EngineTypes.startp = _startpos__3_;
28466 MenhirLib.EngineTypes.endp = _endpos__3_;
28467 MenhirLib.EngineTypes.next = {
28468 MenhirLib.EngineTypes.semv = _2;
28469 MenhirLib.EngineTypes.startp = _startpos__2_;
28470 MenhirLib.EngineTypes.endp = _endpos__2_;
28471 MenhirLib.EngineTypes.next = {
28472 MenhirLib.EngineTypes.state = _menhir_s;
28473 MenhirLib.EngineTypes.semv = _1;
28474 MenhirLib.EngineTypes.startp = _startpos__1_;
28475 MenhirLib.EngineTypes.endp = _endpos__1_;
28476 MenhirLib.EngineTypes.next = _menhir_stack;
28477 };
28478 };
28479 };
28480 } = _menhir_stack in
28481 let _4 : (
28482 # 81 "parser_cocci_menhir.mly"
28483 (Data.clt)
28484 # 28485 "parser_cocci_menhir.ml"
28485 ) = Obj.magic _4 in
28486 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
28487 let _2 : (
28488 # 80 "parser_cocci_menhir.mly"
28489 (Data.clt)
28490 # 28491 "parser_cocci_menhir.ml"
28491 ) = Obj.magic _2 in
28492 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
28493 let _startpos = _startpos__1_ in
28494 let _endpos = _endpos__4_ in
28495 let _v : 'tv_postfix_expr_eexpr_invalid_ =
28496 # 1476 "parser_cocci_menhir.mly"
28497 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
28498 _3,
28499 P.clt2mcode ")" _4)) )
28500 # 28501 "parser_cocci_menhir.ml"
28501 in
28502 _menhir_env.MenhirLib.EngineTypes.stack <- {
28503 MenhirLib.EngineTypes.state = _menhir_s;
28504 MenhirLib.EngineTypes.semv = Obj.repr _v;
28505 MenhirLib.EngineTypes.startp = _startpos;
28506 MenhirLib.EngineTypes.endp = _endpos;
28507 MenhirLib.EngineTypes.next = _menhir_stack;
28508 });
28509 (fun _menhir_env ->
28510 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28511 let {
28512 MenhirLib.EngineTypes.state = _menhir_s;
28513 MenhirLib.EngineTypes.semv = _1;
28514 MenhirLib.EngineTypes.startp = _startpos__1_;
28515 MenhirLib.EngineTypes.endp = _endpos__1_;
28516 MenhirLib.EngineTypes.next = _menhir_stack;
28517 } = _menhir_stack in
28518 let _1 : 'tv_primary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
28519 let _startpos = _startpos__1_ in
28520 let _endpos = _endpos__1_ in
28521 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
28522 # 1462 "parser_cocci_menhir.mly"
28523 ( _1 )
28524 # 28525 "parser_cocci_menhir.ml"
28525 in
28526 _menhir_env.MenhirLib.EngineTypes.stack <- {
28527 MenhirLib.EngineTypes.state = _menhir_s;
28528 MenhirLib.EngineTypes.semv = Obj.repr _v;
28529 MenhirLib.EngineTypes.startp = _startpos;
28530 MenhirLib.EngineTypes.endp = _endpos;
28531 MenhirLib.EngineTypes.next = _menhir_stack;
28532 });
28533 (fun _menhir_env ->
28534 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28535 let {
28536 MenhirLib.EngineTypes.semv = _4;
28537 MenhirLib.EngineTypes.startp = _startpos__4_;
28538 MenhirLib.EngineTypes.endp = _endpos__4_;
28539 MenhirLib.EngineTypes.next = {
28540 MenhirLib.EngineTypes.semv = _3;
28541 MenhirLib.EngineTypes.startp = _startpos__3_;
28542 MenhirLib.EngineTypes.endp = _endpos__3_;
28543 MenhirLib.EngineTypes.next = {
28544 MenhirLib.EngineTypes.semv = _2;
28545 MenhirLib.EngineTypes.startp = _startpos__2_;
28546 MenhirLib.EngineTypes.endp = _endpos__2_;
28547 MenhirLib.EngineTypes.next = {
28548 MenhirLib.EngineTypes.state = _menhir_s;
28549 MenhirLib.EngineTypes.semv = _1;
28550 MenhirLib.EngineTypes.startp = _startpos__1_;
28551 MenhirLib.EngineTypes.endp = _endpos__1_;
28552 MenhirLib.EngineTypes.next = _menhir_stack;
28553 };
28554 };
28555 };
28556 } = _menhir_stack in
28557 let _4 : (
28558 # 106 "parser_cocci_menhir.mly"
28559 (Data.clt)
28560 # 28561 "parser_cocci_menhir.ml"
28561 ) = Obj.magic _4 in
28562 let _3 : 'tv_eexpr = Obj.magic _3 in
28563 let _2 : (
28564 # 106 "parser_cocci_menhir.mly"
28565 (Data.clt)
28566 # 28567 "parser_cocci_menhir.ml"
28567 ) = Obj.magic _2 in
28568 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
28569 let _startpos = _startpos__1_ in
28570 let _endpos = _endpos__4_ in
28571 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
28572 # 1464 "parser_cocci_menhir.mly"
28573 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
28574 P.clt2mcode "]" _4)) )
28575 # 28576 "parser_cocci_menhir.ml"
28576 in
28577 _menhir_env.MenhirLib.EngineTypes.stack <- {
28578 MenhirLib.EngineTypes.state = _menhir_s;
28579 MenhirLib.EngineTypes.semv = Obj.repr _v;
28580 MenhirLib.EngineTypes.startp = _startpos;
28581 MenhirLib.EngineTypes.endp = _endpos;
28582 MenhirLib.EngineTypes.next = _menhir_stack;
28583 });
28584 (fun _menhir_env ->
28585 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28586 let {
28587 MenhirLib.EngineTypes.semv = _3;
28588 MenhirLib.EngineTypes.startp = _startpos__3_;
28589 MenhirLib.EngineTypes.endp = _endpos__3_;
28590 MenhirLib.EngineTypes.next = {
28591 MenhirLib.EngineTypes.semv = _2;
28592 MenhirLib.EngineTypes.startp = _startpos__2_;
28593 MenhirLib.EngineTypes.endp = _endpos__2_;
28594 MenhirLib.EngineTypes.next = {
28595 MenhirLib.EngineTypes.state = _menhir_s;
28596 MenhirLib.EngineTypes.semv = _1;
28597 MenhirLib.EngineTypes.startp = _startpos__1_;
28598 MenhirLib.EngineTypes.endp = _endpos__1_;
28599 MenhirLib.EngineTypes.next = _menhir_stack;
28600 };
28601 };
28602 } = _menhir_stack in
28603 let _3 : 'tv_ident = Obj.magic _3 in
28604 let _2 : (
28605 # 111 "parser_cocci_menhir.mly"
28606 (Data.clt)
28607 # 28608 "parser_cocci_menhir.ml"
28608 ) = Obj.magic _2 in
28609 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
28610 let _startpos = _startpos__1_ in
28611 let _endpos = _endpos__3_ in
28612 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
28613 # 1467 "parser_cocci_menhir.mly"
28614 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
28615 # 28616 "parser_cocci_menhir.ml"
28616 in
28617 _menhir_env.MenhirLib.EngineTypes.stack <- {
28618 MenhirLib.EngineTypes.state = _menhir_s;
28619 MenhirLib.EngineTypes.semv = Obj.repr _v;
28620 MenhirLib.EngineTypes.startp = _startpos;
28621 MenhirLib.EngineTypes.endp = _endpos;
28622 MenhirLib.EngineTypes.next = _menhir_stack;
28623 });
28624 (fun _menhir_env ->
28625 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28626 let {
28627 MenhirLib.EngineTypes.semv = _3;
28628 MenhirLib.EngineTypes.startp = _startpos__3_;
28629 MenhirLib.EngineTypes.endp = _endpos__3_;
28630 MenhirLib.EngineTypes.next = {
28631 MenhirLib.EngineTypes.semv = _2;
28632 MenhirLib.EngineTypes.startp = _startpos__2_;
28633 MenhirLib.EngineTypes.endp = _endpos__2_;
28634 MenhirLib.EngineTypes.next = {
28635 MenhirLib.EngineTypes.state = _menhir_s;
28636 MenhirLib.EngineTypes.semv = _1;
28637 MenhirLib.EngineTypes.startp = _startpos__1_;
28638 MenhirLib.EngineTypes.endp = _endpos__1_;
28639 MenhirLib.EngineTypes.next = _menhir_stack;
28640 };
28641 };
28642 } = _menhir_stack in
28643 let _3 : 'tv_ident = Obj.magic _3 in
28644 let _2 : (
28645 # 108 "parser_cocci_menhir.mly"
28646 (Data.clt)
28647 # 28648 "parser_cocci_menhir.ml"
28648 ) = Obj.magic _2 in
28649 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
28650 let _startpos = _startpos__1_ in
28651 let _endpos = _endpos__3_ in
28652 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
28653 # 1469 "parser_cocci_menhir.mly"
28654 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
28655 _3)) )
28656 # 28657 "parser_cocci_menhir.ml"
28657 in
28658 _menhir_env.MenhirLib.EngineTypes.stack <- {
28659 MenhirLib.EngineTypes.state = _menhir_s;
28660 MenhirLib.EngineTypes.semv = Obj.repr _v;
28661 MenhirLib.EngineTypes.startp = _startpos;
28662 MenhirLib.EngineTypes.endp = _endpos;
28663 MenhirLib.EngineTypes.next = _menhir_stack;
28664 });
28665 (fun _menhir_env ->
28666 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28667 let {
28668 MenhirLib.EngineTypes.semv = _2;
28669 MenhirLib.EngineTypes.startp = _startpos__2_;
28670 MenhirLib.EngineTypes.endp = _endpos__2_;
28671 MenhirLib.EngineTypes.next = {
28672 MenhirLib.EngineTypes.state = _menhir_s;
28673 MenhirLib.EngineTypes.semv = _1;
28674 MenhirLib.EngineTypes.startp = _startpos__1_;
28675 MenhirLib.EngineTypes.endp = _endpos__1_;
28676 MenhirLib.EngineTypes.next = _menhir_stack;
28677 };
28678 } = _menhir_stack in
28679 let _2 : (
28680 # 89 "parser_cocci_menhir.mly"
28681 (Data.clt)
28682 # 28683 "parser_cocci_menhir.ml"
28683 ) = Obj.magic _2 in
28684 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
28685 let _startpos = _startpos__1_ in
28686 let _endpos = _endpos__2_ in
28687 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
28688 # 1472 "parser_cocci_menhir.mly"
28689 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
28690 # 28691 "parser_cocci_menhir.ml"
28691 in
28692 _menhir_env.MenhirLib.EngineTypes.stack <- {
28693 MenhirLib.EngineTypes.state = _menhir_s;
28694 MenhirLib.EngineTypes.semv = Obj.repr _v;
28695 MenhirLib.EngineTypes.startp = _startpos;
28696 MenhirLib.EngineTypes.endp = _endpos;
28697 MenhirLib.EngineTypes.next = _menhir_stack;
28698 });
28699 (fun _menhir_env ->
28700 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28701 let {
28702 MenhirLib.EngineTypes.semv = _2;
28703 MenhirLib.EngineTypes.startp = _startpos__2_;
28704 MenhirLib.EngineTypes.endp = _endpos__2_;
28705 MenhirLib.EngineTypes.next = {
28706 MenhirLib.EngineTypes.state = _menhir_s;
28707 MenhirLib.EngineTypes.semv = _1;
28708 MenhirLib.EngineTypes.startp = _startpos__1_;
28709 MenhirLib.EngineTypes.endp = _endpos__1_;
28710 MenhirLib.EngineTypes.next = _menhir_stack;
28711 };
28712 } = _menhir_stack in
28713 let _2 : (
28714 # 89 "parser_cocci_menhir.mly"
28715 (Data.clt)
28716 # 28717 "parser_cocci_menhir.ml"
28717 ) = Obj.magic _2 in
28718 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
28719 let _startpos = _startpos__1_ in
28720 let _endpos = _endpos__2_ in
28721 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
28722 # 1474 "parser_cocci_menhir.mly"
28723 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
28724 # 28725 "parser_cocci_menhir.ml"
28725 in
28726 _menhir_env.MenhirLib.EngineTypes.stack <- {
28727 MenhirLib.EngineTypes.state = _menhir_s;
28728 MenhirLib.EngineTypes.semv = Obj.repr _v;
28729 MenhirLib.EngineTypes.startp = _startpos;
28730 MenhirLib.EngineTypes.endp = _endpos;
28731 MenhirLib.EngineTypes.next = _menhir_stack;
28732 });
28733 (fun _menhir_env ->
28734 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28735 let {
28736 MenhirLib.EngineTypes.semv = _4;
28737 MenhirLib.EngineTypes.startp = _startpos__4_;
28738 MenhirLib.EngineTypes.endp = _endpos__4_;
28739 MenhirLib.EngineTypes.next = {
28740 MenhirLib.EngineTypes.semv = _3;
28741 MenhirLib.EngineTypes.startp = _startpos__3_;
28742 MenhirLib.EngineTypes.endp = _endpos__3_;
28743 MenhirLib.EngineTypes.next = {
28744 MenhirLib.EngineTypes.semv = _2;
28745 MenhirLib.EngineTypes.startp = _startpos__2_;
28746 MenhirLib.EngineTypes.endp = _endpos__2_;
28747 MenhirLib.EngineTypes.next = {
28748 MenhirLib.EngineTypes.state = _menhir_s;
28749 MenhirLib.EngineTypes.semv = _1;
28750 MenhirLib.EngineTypes.startp = _startpos__1_;
28751 MenhirLib.EngineTypes.endp = _endpos__1_;
28752 MenhirLib.EngineTypes.next = _menhir_stack;
28753 };
28754 };
28755 };
28756 } = _menhir_stack in
28757 let _4 : (
28758 # 81 "parser_cocci_menhir.mly"
28759 (Data.clt)
28760 # 28761 "parser_cocci_menhir.ml"
28761 ) = Obj.magic _4 in
28762 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
28763 let _2 : (
28764 # 80 "parser_cocci_menhir.mly"
28765 (Data.clt)
28766 # 28767 "parser_cocci_menhir.ml"
28767 ) = Obj.magic _2 in
28768 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
28769 let _startpos = _startpos__1_ in
28770 let _endpos = _endpos__4_ in
28771 let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
28772 # 1476 "parser_cocci_menhir.mly"
28773 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
28774 _3,
28775 P.clt2mcode ")" _4)) )
28776 # 28777 "parser_cocci_menhir.ml"
28777 in
28778 _menhir_env.MenhirLib.EngineTypes.stack <- {
28779 MenhirLib.EngineTypes.state = _menhir_s;
28780 MenhirLib.EngineTypes.semv = Obj.repr _v;
28781 MenhirLib.EngineTypes.startp = _startpos;
28782 MenhirLib.EngineTypes.endp = _endpos;
28783 MenhirLib.EngineTypes.next = _menhir_stack;
28784 });
28785 (fun _menhir_env ->
28786 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28787 let {
28788 MenhirLib.EngineTypes.state = _menhir_s;
28789 MenhirLib.EngineTypes.semv = _1;
28790 MenhirLib.EngineTypes.startp = _startpos__1_;
28791 MenhirLib.EngineTypes.endp = _endpos__1_;
28792 MenhirLib.EngineTypes.next = _menhir_stack;
28793 } = _menhir_stack in
28794 let _1 : 'tv_primary_expr_expr_invalid_ = Obj.magic _1 in
28795 let _startpos = _startpos__1_ in
28796 let _endpos = _endpos__1_ in
28797 let _v : 'tv_postfix_expr_expr_invalid_ =
28798 # 1462 "parser_cocci_menhir.mly"
28799 ( _1 )
28800 # 28801 "parser_cocci_menhir.ml"
28801 in
28802 _menhir_env.MenhirLib.EngineTypes.stack <- {
28803 MenhirLib.EngineTypes.state = _menhir_s;
28804 MenhirLib.EngineTypes.semv = Obj.repr _v;
28805 MenhirLib.EngineTypes.startp = _startpos;
28806 MenhirLib.EngineTypes.endp = _endpos;
28807 MenhirLib.EngineTypes.next = _menhir_stack;
28808 });
28809 (fun _menhir_env ->
28810 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28811 let {
28812 MenhirLib.EngineTypes.semv = _4;
28813 MenhirLib.EngineTypes.startp = _startpos__4_;
28814 MenhirLib.EngineTypes.endp = _endpos__4_;
28815 MenhirLib.EngineTypes.next = {
28816 MenhirLib.EngineTypes.semv = _3;
28817 MenhirLib.EngineTypes.startp = _startpos__3_;
28818 MenhirLib.EngineTypes.endp = _endpos__3_;
28819 MenhirLib.EngineTypes.next = {
28820 MenhirLib.EngineTypes.semv = _2;
28821 MenhirLib.EngineTypes.startp = _startpos__2_;
28822 MenhirLib.EngineTypes.endp = _endpos__2_;
28823 MenhirLib.EngineTypes.next = {
28824 MenhirLib.EngineTypes.state = _menhir_s;
28825 MenhirLib.EngineTypes.semv = _1;
28826 MenhirLib.EngineTypes.startp = _startpos__1_;
28827 MenhirLib.EngineTypes.endp = _endpos__1_;
28828 MenhirLib.EngineTypes.next = _menhir_stack;
28829 };
28830 };
28831 };
28832 } = _menhir_stack in
28833 let _4 : (
28834 # 106 "parser_cocci_menhir.mly"
28835 (Data.clt)
28836 # 28837 "parser_cocci_menhir.ml"
28837 ) = Obj.magic _4 in
28838 let _3 : 'tv_eexpr = Obj.magic _3 in
28839 let _2 : (
28840 # 106 "parser_cocci_menhir.mly"
28841 (Data.clt)
28842 # 28843 "parser_cocci_menhir.ml"
28843 ) = Obj.magic _2 in
28844 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
28845 let _startpos = _startpos__1_ in
28846 let _endpos = _endpos__4_ in
28847 let _v : 'tv_postfix_expr_expr_invalid_ =
28848 # 1464 "parser_cocci_menhir.mly"
28849 ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
28850 P.clt2mcode "]" _4)) )
28851 # 28852 "parser_cocci_menhir.ml"
28852 in
28853 _menhir_env.MenhirLib.EngineTypes.stack <- {
28854 MenhirLib.EngineTypes.state = _menhir_s;
28855 MenhirLib.EngineTypes.semv = Obj.repr _v;
28856 MenhirLib.EngineTypes.startp = _startpos;
28857 MenhirLib.EngineTypes.endp = _endpos;
28858 MenhirLib.EngineTypes.next = _menhir_stack;
28859 });
28860 (fun _menhir_env ->
28861 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28862 let {
28863 MenhirLib.EngineTypes.semv = _3;
28864 MenhirLib.EngineTypes.startp = _startpos__3_;
28865 MenhirLib.EngineTypes.endp = _endpos__3_;
28866 MenhirLib.EngineTypes.next = {
28867 MenhirLib.EngineTypes.semv = _2;
28868 MenhirLib.EngineTypes.startp = _startpos__2_;
28869 MenhirLib.EngineTypes.endp = _endpos__2_;
28870 MenhirLib.EngineTypes.next = {
28871 MenhirLib.EngineTypes.state = _menhir_s;
28872 MenhirLib.EngineTypes.semv = _1;
28873 MenhirLib.EngineTypes.startp = _startpos__1_;
28874 MenhirLib.EngineTypes.endp = _endpos__1_;
28875 MenhirLib.EngineTypes.next = _menhir_stack;
28876 };
28877 };
28878 } = _menhir_stack in
28879 let _3 : 'tv_ident = Obj.magic _3 in
28880 let _2 : (
28881 # 111 "parser_cocci_menhir.mly"
28882 (Data.clt)
28883 # 28884 "parser_cocci_menhir.ml"
28884 ) = Obj.magic _2 in
28885 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
28886 let _startpos = _startpos__1_ in
28887 let _endpos = _endpos__3_ in
28888 let _v : 'tv_postfix_expr_expr_invalid_ =
28889 # 1467 "parser_cocci_menhir.mly"
28890 ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
28891 # 28892 "parser_cocci_menhir.ml"
28892 in
28893 _menhir_env.MenhirLib.EngineTypes.stack <- {
28894 MenhirLib.EngineTypes.state = _menhir_s;
28895 MenhirLib.EngineTypes.semv = Obj.repr _v;
28896 MenhirLib.EngineTypes.startp = _startpos;
28897 MenhirLib.EngineTypes.endp = _endpos;
28898 MenhirLib.EngineTypes.next = _menhir_stack;
28899 });
28900 (fun _menhir_env ->
28901 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28902 let {
28903 MenhirLib.EngineTypes.semv = _3;
28904 MenhirLib.EngineTypes.startp = _startpos__3_;
28905 MenhirLib.EngineTypes.endp = _endpos__3_;
28906 MenhirLib.EngineTypes.next = {
28907 MenhirLib.EngineTypes.semv = _2;
28908 MenhirLib.EngineTypes.startp = _startpos__2_;
28909 MenhirLib.EngineTypes.endp = _endpos__2_;
28910 MenhirLib.EngineTypes.next = {
28911 MenhirLib.EngineTypes.state = _menhir_s;
28912 MenhirLib.EngineTypes.semv = _1;
28913 MenhirLib.EngineTypes.startp = _startpos__1_;
28914 MenhirLib.EngineTypes.endp = _endpos__1_;
28915 MenhirLib.EngineTypes.next = _menhir_stack;
28916 };
28917 };
28918 } = _menhir_stack in
28919 let _3 : 'tv_ident = Obj.magic _3 in
28920 let _2 : (
28921 # 108 "parser_cocci_menhir.mly"
28922 (Data.clt)
28923 # 28924 "parser_cocci_menhir.ml"
28924 ) = Obj.magic _2 in
28925 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
28926 let _startpos = _startpos__1_ in
28927 let _endpos = _endpos__3_ in
28928 let _v : 'tv_postfix_expr_expr_invalid_ =
28929 # 1469 "parser_cocci_menhir.mly"
28930 ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
28931 _3)) )
28932 # 28933 "parser_cocci_menhir.ml"
28933 in
28934 _menhir_env.MenhirLib.EngineTypes.stack <- {
28935 MenhirLib.EngineTypes.state = _menhir_s;
28936 MenhirLib.EngineTypes.semv = Obj.repr _v;
28937 MenhirLib.EngineTypes.startp = _startpos;
28938 MenhirLib.EngineTypes.endp = _endpos;
28939 MenhirLib.EngineTypes.next = _menhir_stack;
28940 });
28941 (fun _menhir_env ->
28942 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28943 let {
28944 MenhirLib.EngineTypes.semv = _2;
28945 MenhirLib.EngineTypes.startp = _startpos__2_;
28946 MenhirLib.EngineTypes.endp = _endpos__2_;
28947 MenhirLib.EngineTypes.next = {
28948 MenhirLib.EngineTypes.state = _menhir_s;
28949 MenhirLib.EngineTypes.semv = _1;
28950 MenhirLib.EngineTypes.startp = _startpos__1_;
28951 MenhirLib.EngineTypes.endp = _endpos__1_;
28952 MenhirLib.EngineTypes.next = _menhir_stack;
28953 };
28954 } = _menhir_stack in
28955 let _2 : (
28956 # 89 "parser_cocci_menhir.mly"
28957 (Data.clt)
28958 # 28959 "parser_cocci_menhir.ml"
28959 ) = Obj.magic _2 in
28960 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
28961 let _startpos = _startpos__1_ in
28962 let _endpos = _endpos__2_ in
28963 let _v : 'tv_postfix_expr_expr_invalid_ =
28964 # 1472 "parser_cocci_menhir.mly"
28965 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
28966 # 28967 "parser_cocci_menhir.ml"
28967 in
28968 _menhir_env.MenhirLib.EngineTypes.stack <- {
28969 MenhirLib.EngineTypes.state = _menhir_s;
28970 MenhirLib.EngineTypes.semv = Obj.repr _v;
28971 MenhirLib.EngineTypes.startp = _startpos;
28972 MenhirLib.EngineTypes.endp = _endpos;
28973 MenhirLib.EngineTypes.next = _menhir_stack;
28974 });
28975 (fun _menhir_env ->
28976 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
28977 let {
28978 MenhirLib.EngineTypes.semv = _2;
28979 MenhirLib.EngineTypes.startp = _startpos__2_;
28980 MenhirLib.EngineTypes.endp = _endpos__2_;
28981 MenhirLib.EngineTypes.next = {
28982 MenhirLib.EngineTypes.state = _menhir_s;
28983 MenhirLib.EngineTypes.semv = _1;
28984 MenhirLib.EngineTypes.startp = _startpos__1_;
28985 MenhirLib.EngineTypes.endp = _endpos__1_;
28986 MenhirLib.EngineTypes.next = _menhir_stack;
28987 };
28988 } = _menhir_stack in
28989 let _2 : (
28990 # 89 "parser_cocci_menhir.mly"
28991 (Data.clt)
28992 # 28993 "parser_cocci_menhir.ml"
28993 ) = Obj.magic _2 in
28994 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
28995 let _startpos = _startpos__1_ in
28996 let _endpos = _endpos__2_ in
28997 let _v : 'tv_postfix_expr_expr_invalid_ =
28998 # 1474 "parser_cocci_menhir.mly"
28999 ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
29000 # 29001 "parser_cocci_menhir.ml"
29001 in
29002 _menhir_env.MenhirLib.EngineTypes.stack <- {
29003 MenhirLib.EngineTypes.state = _menhir_s;
29004 MenhirLib.EngineTypes.semv = Obj.repr _v;
29005 MenhirLib.EngineTypes.startp = _startpos;
29006 MenhirLib.EngineTypes.endp = _endpos;
29007 MenhirLib.EngineTypes.next = _menhir_stack;
29008 });
29009 (fun _menhir_env ->
29010 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29011 let {
29012 MenhirLib.EngineTypes.semv = _4;
29013 MenhirLib.EngineTypes.startp = _startpos__4_;
29014 MenhirLib.EngineTypes.endp = _endpos__4_;
29015 MenhirLib.EngineTypes.next = {
29016 MenhirLib.EngineTypes.semv = _3;
29017 MenhirLib.EngineTypes.startp = _startpos__3_;
29018 MenhirLib.EngineTypes.endp = _endpos__3_;
29019 MenhirLib.EngineTypes.next = {
29020 MenhirLib.EngineTypes.semv = _2;
29021 MenhirLib.EngineTypes.startp = _startpos__2_;
29022 MenhirLib.EngineTypes.endp = _endpos__2_;
29023 MenhirLib.EngineTypes.next = {
29024 MenhirLib.EngineTypes.state = _menhir_s;
29025 MenhirLib.EngineTypes.semv = _1;
29026 MenhirLib.EngineTypes.startp = _startpos__1_;
29027 MenhirLib.EngineTypes.endp = _endpos__1_;
29028 MenhirLib.EngineTypes.next = _menhir_stack;
29029 };
29030 };
29031 };
29032 } = _menhir_stack in
29033 let _4 : (
29034 # 81 "parser_cocci_menhir.mly"
29035 (Data.clt)
29036 # 29037 "parser_cocci_menhir.ml"
29037 ) = Obj.magic _4 in
29038 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
29039 let _2 : (
29040 # 80 "parser_cocci_menhir.mly"
29041 (Data.clt)
29042 # 29043 "parser_cocci_menhir.ml"
29043 ) = Obj.magic _2 in
29044 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
29045 let _startpos = _startpos__1_ in
29046 let _endpos = _endpos__4_ in
29047 let _v : 'tv_postfix_expr_expr_invalid_ =
29048 # 1476 "parser_cocci_menhir.mly"
29049 ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
29050 _3,
29051 P.clt2mcode ")" _4)) )
29052 # 29053 "parser_cocci_menhir.ml"
29053 in
29054 _menhir_env.MenhirLib.EngineTypes.stack <- {
29055 MenhirLib.EngineTypes.state = _menhir_s;
29056 MenhirLib.EngineTypes.semv = Obj.repr _v;
29057 MenhirLib.EngineTypes.startp = _startpos;
29058 MenhirLib.EngineTypes.endp = _endpos;
29059 MenhirLib.EngineTypes.next = _menhir_stack;
29060 });
29061 (fun _menhir_env ->
29062 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29063 let {
29064 MenhirLib.EngineTypes.state = _menhir_s;
29065 MenhirLib.EngineTypes.semv = _1;
29066 MenhirLib.EngineTypes.startp = _startpos__1_;
29067 MenhirLib.EngineTypes.endp = _endpos__1_;
29068 MenhirLib.EngineTypes.next = _menhir_stack;
29069 } = _menhir_stack in
29070 let _1 : 'tv_func_ident = Obj.magic _1 in
29071 let _startpos = _startpos__1_ in
29072 let _endpos = _endpos__1_ in
29073 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
29074 # 1481 "parser_cocci_menhir.mly"
29075 ( Ast0.wrap(Ast0.Ident(_1)) )
29076 # 29077 "parser_cocci_menhir.ml"
29077 in
29078 _menhir_env.MenhirLib.EngineTypes.stack <- {
29079 MenhirLib.EngineTypes.state = _menhir_s;
29080 MenhirLib.EngineTypes.semv = Obj.repr _v;
29081 MenhirLib.EngineTypes.startp = _startpos;
29082 MenhirLib.EngineTypes.endp = _endpos;
29083 MenhirLib.EngineTypes.next = _menhir_stack;
29084 });
29085 (fun _menhir_env ->
29086 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29087 let {
29088 MenhirLib.EngineTypes.state = _menhir_s;
29089 MenhirLib.EngineTypes.semv = _1;
29090 MenhirLib.EngineTypes.startp = _startpos__1_;
29091 MenhirLib.EngineTypes.endp = _endpos__1_;
29092 MenhirLib.EngineTypes.next = _menhir_stack;
29093 } = _menhir_stack in
29094 let _1 : (
29095 # 91 "parser_cocci_menhir.mly"
29096 (string * Data.clt)
29097 # 29098 "parser_cocci_menhir.ml"
29098 ) = Obj.magic _1 in
29099 let _startpos = _startpos__1_ in
29100 let _endpos = _endpos__1_ in
29101 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
29102 # 1483 "parser_cocci_menhir.mly"
29103 ( let (x,clt) = _1 in
29104 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
29105 # 29106 "parser_cocci_menhir.ml"
29106 in
29107 _menhir_env.MenhirLib.EngineTypes.stack <- {
29108 MenhirLib.EngineTypes.state = _menhir_s;
29109 MenhirLib.EngineTypes.semv = Obj.repr _v;
29110 MenhirLib.EngineTypes.startp = _startpos;
29111 MenhirLib.EngineTypes.endp = _endpos;
29112 MenhirLib.EngineTypes.next = _menhir_stack;
29113 });
29114 (fun _menhir_env ->
29115 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29116 let {
29117 MenhirLib.EngineTypes.state = _menhir_s;
29118 MenhirLib.EngineTypes.semv = _1;
29119 MenhirLib.EngineTypes.startp = _startpos__1_;
29120 MenhirLib.EngineTypes.endp = _endpos__1_;
29121 MenhirLib.EngineTypes.next = _menhir_stack;
29122 } = _menhir_stack in
29123 let _1 : (
29124 # 91 "parser_cocci_menhir.mly"
29125 (string * Data.clt)
29126 # 29127 "parser_cocci_menhir.ml"
29127 ) = Obj.magic _1 in
29128 let _startpos = _startpos__1_ in
29129 let _endpos = _endpos__1_ in
29130 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
29131 # 1486 "parser_cocci_menhir.mly"
29132 ( let (x,clt) = _1 in
29133 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
29134 # 29135 "parser_cocci_menhir.ml"
29135 in
29136 _menhir_env.MenhirLib.EngineTypes.stack <- {
29137 MenhirLib.EngineTypes.state = _menhir_s;
29138 MenhirLib.EngineTypes.semv = Obj.repr _v;
29139 MenhirLib.EngineTypes.startp = _startpos;
29140 MenhirLib.EngineTypes.endp = _endpos;
29141 MenhirLib.EngineTypes.next = _menhir_stack;
29142 });
29143 (fun _menhir_env ->
29144 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29145 let {
29146 MenhirLib.EngineTypes.state = _menhir_s;
29147 MenhirLib.EngineTypes.semv = _1;
29148 MenhirLib.EngineTypes.startp = _startpos__1_;
29149 MenhirLib.EngineTypes.endp = _endpos__1_;
29150 MenhirLib.EngineTypes.next = _menhir_stack;
29151 } = _menhir_stack in
29152 let _1 : (
29153 # 91 "parser_cocci_menhir.mly"
29154 (string * Data.clt)
29155 # 29156 "parser_cocci_menhir.ml"
29156 ) = Obj.magic _1 in
29157 let _startpos = _startpos__1_ in
29158 let _endpos = _endpos__1_ in
29159 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
29160 # 1489 "parser_cocci_menhir.mly"
29161 ( let (x,clt) = _1 in
29162 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
29163 # 29164 "parser_cocci_menhir.ml"
29164 in
29165 _menhir_env.MenhirLib.EngineTypes.stack <- {
29166 MenhirLib.EngineTypes.state = _menhir_s;
29167 MenhirLib.EngineTypes.semv = Obj.repr _v;
29168 MenhirLib.EngineTypes.startp = _startpos;
29169 MenhirLib.EngineTypes.endp = _endpos;
29170 MenhirLib.EngineTypes.next = _menhir_stack;
29171 });
29172 (fun _menhir_env ->
29173 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29174 let {
29175 MenhirLib.EngineTypes.state = _menhir_s;
29176 MenhirLib.EngineTypes.semv = _1;
29177 MenhirLib.EngineTypes.startp = _startpos__1_;
29178 MenhirLib.EngineTypes.endp = _endpos__1_;
29179 MenhirLib.EngineTypes.next = _menhir_stack;
29180 } = _menhir_stack in
29181 let _1 : (
29182 # 91 "parser_cocci_menhir.mly"
29183 (string * Data.clt)
29184 # 29185 "parser_cocci_menhir.ml"
29185 ) = Obj.magic _1 in
29186 let _startpos = _startpos__1_ in
29187 let _endpos = _endpos__1_ in
29188 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
29189 # 1492 "parser_cocci_menhir.mly"
29190 ( let (x,clt) = _1 in
29191 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
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.state = _menhir_s;
29205 MenhirLib.EngineTypes.semv = _1;
29206 MenhirLib.EngineTypes.startp = _startpos__1_;
29207 MenhirLib.EngineTypes.endp = _endpos__1_;
29208 MenhirLib.EngineTypes.next = _menhir_stack;
29209 } = _menhir_stack in
29210 let _1 : (
29211 # 71 "parser_cocci_menhir.mly"
29212 (Parse_aux.typed_expinfo)
29213 # 29214 "parser_cocci_menhir.ml"
29214 ) = Obj.magic _1 in
29215 let _startpos = _startpos__1_ in
29216 let _endpos = _endpos__1_ in
29217 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
29218 # 1495 "parser_cocci_menhir.mly"
29219 ( let (nm,constraints,pure,ty,clt) = _1 in
29220 Ast0.wrap
29221 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
29222 # 29223 "parser_cocci_menhir.ml"
29223 in
29224 _menhir_env.MenhirLib.EngineTypes.stack <- {
29225 MenhirLib.EngineTypes.state = _menhir_s;
29226 MenhirLib.EngineTypes.semv = Obj.repr _v;
29227 MenhirLib.EngineTypes.startp = _startpos;
29228 MenhirLib.EngineTypes.endp = _endpos;
29229 MenhirLib.EngineTypes.next = _menhir_stack;
29230 });
29231 (fun _menhir_env ->
29232 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29233 let {
29234 MenhirLib.EngineTypes.state = _menhir_s;
29235 MenhirLib.EngineTypes.semv = _1;
29236 MenhirLib.EngineTypes.startp = _startpos__1_;
29237 MenhirLib.EngineTypes.endp = _endpos__1_;
29238 MenhirLib.EngineTypes.next = _menhir_stack;
29239 } = _menhir_stack in
29240 let _1 : (
29241 # 67 "parser_cocci_menhir.mly"
29242 (Parse_aux.expinfo)
29243 # 29244 "parser_cocci_menhir.ml"
29244 ) = Obj.magic _1 in
29245 let _startpos = _startpos__1_ in
29246 let _endpos = _endpos__1_ in
29247 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
29248 # 1499 "parser_cocci_menhir.mly"
29249 ( let (nm,constraints,pure,clt) = _1 in
29250 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
29251 # 29252 "parser_cocci_menhir.ml"
29252 in
29253 _menhir_env.MenhirLib.EngineTypes.stack <- {
29254 MenhirLib.EngineTypes.state = _menhir_s;
29255 MenhirLib.EngineTypes.semv = Obj.repr _v;
29256 MenhirLib.EngineTypes.startp = _startpos;
29257 MenhirLib.EngineTypes.endp = _endpos;
29258 MenhirLib.EngineTypes.next = _menhir_stack;
29259 });
29260 (fun _menhir_env ->
29261 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29262 let {
29263 MenhirLib.EngineTypes.state = _menhir_s;
29264 MenhirLib.EngineTypes.semv = _1;
29265 MenhirLib.EngineTypes.startp = _startpos__1_;
29266 MenhirLib.EngineTypes.endp = _endpos__1_;
29267 MenhirLib.EngineTypes.next = _menhir_stack;
29268 } = _menhir_stack in
29269 let _1 : (
29270 # 71 "parser_cocci_menhir.mly"
29271 (Parse_aux.typed_expinfo)
29272 # 29273 "parser_cocci_menhir.ml"
29273 ) = Obj.magic _1 in
29274 let _startpos = _startpos__1_ in
29275 let _endpos = _endpos__1_ in
29276 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
29277 # 1502 "parser_cocci_menhir.mly"
29278 ( let (nm,constraints,pure,ty,clt) = _1 in
29279 Ast0.wrap
29280 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
29281 # 29282 "parser_cocci_menhir.ml"
29282 in
29283 _menhir_env.MenhirLib.EngineTypes.stack <- {
29284 MenhirLib.EngineTypes.state = _menhir_s;
29285 MenhirLib.EngineTypes.semv = Obj.repr _v;
29286 MenhirLib.EngineTypes.startp = _startpos;
29287 MenhirLib.EngineTypes.endp = _endpos;
29288 MenhirLib.EngineTypes.next = _menhir_stack;
29289 });
29290 (fun _menhir_env ->
29291 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29292 let {
29293 MenhirLib.EngineTypes.state = _menhir_s;
29294 MenhirLib.EngineTypes.semv = _1;
29295 MenhirLib.EngineTypes.startp = _startpos__1_;
29296 MenhirLib.EngineTypes.endp = _endpos__1_;
29297 MenhirLib.EngineTypes.next = _menhir_stack;
29298 } = _menhir_stack in
29299 let _1 : (
29300 # 71 "parser_cocci_menhir.mly"
29301 (Parse_aux.typed_expinfo)
29302 # 29303 "parser_cocci_menhir.ml"
29303 ) = Obj.magic _1 in
29304 let _startpos = _startpos__1_ in
29305 let _endpos = _endpos__1_ in
29306 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
29307 # 1506 "parser_cocci_menhir.mly"
29308 ( let (nm,constraints,pure,ty,clt) = _1 in
29309 Ast0.wrap
29310 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
29311 # 29312 "parser_cocci_menhir.ml"
29312 in
29313 _menhir_env.MenhirLib.EngineTypes.stack <- {
29314 MenhirLib.EngineTypes.state = _menhir_s;
29315 MenhirLib.EngineTypes.semv = Obj.repr _v;
29316 MenhirLib.EngineTypes.startp = _startpos;
29317 MenhirLib.EngineTypes.endp = _endpos;
29318 MenhirLib.EngineTypes.next = _menhir_stack;
29319 });
29320 (fun _menhir_env ->
29321 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29322 let {
29323 MenhirLib.EngineTypes.state = _menhir_s;
29324 MenhirLib.EngineTypes.semv = _1;
29325 MenhirLib.EngineTypes.startp = _startpos__1_;
29326 MenhirLib.EngineTypes.endp = _endpos__1_;
29327 MenhirLib.EngineTypes.next = _menhir_stack;
29328 } = _menhir_stack in
29329 let _1 : (
29330 # 71 "parser_cocci_menhir.mly"
29331 (Parse_aux.typed_expinfo)
29332 # 29333 "parser_cocci_menhir.ml"
29333 ) = Obj.magic _1 in
29334 let _startpos = _startpos__1_ in
29335 let _endpos = _endpos__1_ in
29336 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
29337 # 1510 "parser_cocci_menhir.mly"
29338 ( let (nm,constraints,pure,ty,clt) = _1 in
29339 Ast0.wrap
29340 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
29341 # 29342 "parser_cocci_menhir.ml"
29342 in
29343 _menhir_env.MenhirLib.EngineTypes.stack <- {
29344 MenhirLib.EngineTypes.state = _menhir_s;
29345 MenhirLib.EngineTypes.semv = Obj.repr _v;
29346 MenhirLib.EngineTypes.startp = _startpos;
29347 MenhirLib.EngineTypes.endp = _endpos;
29348 MenhirLib.EngineTypes.next = _menhir_stack;
29349 });
29350 (fun _menhir_env ->
29351 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29352 let {
29353 MenhirLib.EngineTypes.semv = _3;
29354 MenhirLib.EngineTypes.startp = _startpos__3_;
29355 MenhirLib.EngineTypes.endp = _endpos__3_;
29356 MenhirLib.EngineTypes.next = {
29357 MenhirLib.EngineTypes.semv = _2;
29358 MenhirLib.EngineTypes.startp = _startpos__2_;
29359 MenhirLib.EngineTypes.endp = _endpos__2_;
29360 MenhirLib.EngineTypes.next = {
29361 MenhirLib.EngineTypes.state = _menhir_s;
29362 MenhirLib.EngineTypes.semv = _1;
29363 MenhirLib.EngineTypes.startp = _startpos__1_;
29364 MenhirLib.EngineTypes.endp = _endpos__1_;
29365 MenhirLib.EngineTypes.next = _menhir_stack;
29366 };
29367 };
29368 } = _menhir_stack in
29369 let _3 : (
29370 # 81 "parser_cocci_menhir.mly"
29371 (Data.clt)
29372 # 29373 "parser_cocci_menhir.ml"
29373 ) = Obj.magic _3 in
29374 let _2 : 'tv_eexpr = Obj.magic _2 in
29375 let _1 : (
29376 # 80 "parser_cocci_menhir.mly"
29377 (Data.clt)
29378 # 29379 "parser_cocci_menhir.ml"
29379 ) = Obj.magic _1 in
29380 let _startpos = _startpos__1_ in
29381 let _endpos = _endpos__3_ in
29382 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
29383 # 1514 "parser_cocci_menhir.mly"
29384 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
29385 P.clt2mcode ")" _3)) )
29386 # 29387 "parser_cocci_menhir.ml"
29387 in
29388 _menhir_env.MenhirLib.EngineTypes.stack <- {
29389 MenhirLib.EngineTypes.state = _menhir_s;
29390 MenhirLib.EngineTypes.semv = Obj.repr _v;
29391 MenhirLib.EngineTypes.startp = _startpos;
29392 MenhirLib.EngineTypes.endp = _endpos;
29393 MenhirLib.EngineTypes.next = _menhir_stack;
29394 });
29395 (fun _menhir_env ->
29396 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29397 let {
29398 MenhirLib.EngineTypes.semv = _3;
29399 MenhirLib.EngineTypes.startp = _startpos__3_;
29400 MenhirLib.EngineTypes.endp = _endpos__3_;
29401 MenhirLib.EngineTypes.next = {
29402 MenhirLib.EngineTypes.semv = _2;
29403 MenhirLib.EngineTypes.startp = _startpos__2_;
29404 MenhirLib.EngineTypes.endp = _endpos__2_;
29405 MenhirLib.EngineTypes.next = {
29406 MenhirLib.EngineTypes.state = _menhir_s;
29407 MenhirLib.EngineTypes.semv = _1;
29408 MenhirLib.EngineTypes.startp = _startpos__1_;
29409 MenhirLib.EngineTypes.endp = _endpos__1_;
29410 MenhirLib.EngineTypes.next = _menhir_stack;
29411 };
29412 };
29413 } = _menhir_stack in
29414 let _3 : (
29415 # 81 "parser_cocci_menhir.mly"
29416 (Data.clt)
29417 # 29418 "parser_cocci_menhir.ml"
29418 ) = Obj.magic _3 in
29419 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
29420 let _1 : (
29421 # 80 "parser_cocci_menhir.mly"
29422 (Data.clt)
29423 # 29424 "parser_cocci_menhir.ml"
29424 ) = Obj.magic _1 in
29425 let _startpos = _startpos__1_ in
29426 let _endpos = _endpos__3_ in
29427 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
29428 # 1517 "parser_cocci_menhir.mly"
29429 ( let (mids,code) = _2 in
29430 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
29431 code, mids,
29432 P.clt2mcode ")" _3)) )
29433 # 29434 "parser_cocci_menhir.ml"
29434 in
29435 _menhir_env.MenhirLib.EngineTypes.stack <- {
29436 MenhirLib.EngineTypes.state = _menhir_s;
29437 MenhirLib.EngineTypes.semv = Obj.repr _v;
29438 MenhirLib.EngineTypes.startp = _startpos;
29439 MenhirLib.EngineTypes.endp = _endpos;
29440 MenhirLib.EngineTypes.next = _menhir_stack;
29441 });
29442 (fun _menhir_env ->
29443 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29444 let {
29445 MenhirLib.EngineTypes.state = _menhir_s;
29446 MenhirLib.EngineTypes.semv = _1;
29447 MenhirLib.EngineTypes.startp = _startpos__1_;
29448 MenhirLib.EngineTypes.endp = _endpos__1_;
29449 MenhirLib.EngineTypes.next = _menhir_stack;
29450 } = _menhir_stack in
29451 let _1 : 'tv_dot_expressions = Obj.magic _1 in
29452 let _startpos = _startpos__1_ in
29453 let _endpos = _endpos__1_ in
29454 let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
29455 # 1521 "parser_cocci_menhir.mly"
29456 ( _1 )
29457 # 29458 "parser_cocci_menhir.ml"
29458 in
29459 _menhir_env.MenhirLib.EngineTypes.stack <- {
29460 MenhirLib.EngineTypes.state = _menhir_s;
29461 MenhirLib.EngineTypes.semv = Obj.repr _v;
29462 MenhirLib.EngineTypes.startp = _startpos;
29463 MenhirLib.EngineTypes.endp = _endpos;
29464 MenhirLib.EngineTypes.next = _menhir_stack;
29465 });
29466 (fun _menhir_env ->
29467 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29468 let {
29469 MenhirLib.EngineTypes.state = _menhir_s;
29470 MenhirLib.EngineTypes.semv = _1;
29471 MenhirLib.EngineTypes.startp = _startpos__1_;
29472 MenhirLib.EngineTypes.endp = _endpos__1_;
29473 MenhirLib.EngineTypes.next = _menhir_stack;
29474 } = _menhir_stack in
29475 let _1 : 'tv_func_ident = Obj.magic _1 in
29476 let _startpos = _startpos__1_ in
29477 let _endpos = _endpos__1_ in
29478 let _v : 'tv_primary_expr_eexpr_invalid_ =
29479 # 1481 "parser_cocci_menhir.mly"
29480 ( Ast0.wrap(Ast0.Ident(_1)) )
29481 # 29482 "parser_cocci_menhir.ml"
29482 in
29483 _menhir_env.MenhirLib.EngineTypes.stack <- {
29484 MenhirLib.EngineTypes.state = _menhir_s;
29485 MenhirLib.EngineTypes.semv = Obj.repr _v;
29486 MenhirLib.EngineTypes.startp = _startpos;
29487 MenhirLib.EngineTypes.endp = _endpos;
29488 MenhirLib.EngineTypes.next = _menhir_stack;
29489 });
29490 (fun _menhir_env ->
29491 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29492 let {
29493 MenhirLib.EngineTypes.state = _menhir_s;
29494 MenhirLib.EngineTypes.semv = _1;
29495 MenhirLib.EngineTypes.startp = _startpos__1_;
29496 MenhirLib.EngineTypes.endp = _endpos__1_;
29497 MenhirLib.EngineTypes.next = _menhir_stack;
29498 } = _menhir_stack in
29499 let _1 : (
29500 # 91 "parser_cocci_menhir.mly"
29501 (string * Data.clt)
29502 # 29503 "parser_cocci_menhir.ml"
29503 ) = Obj.magic _1 in
29504 let _startpos = _startpos__1_ in
29505 let _endpos = _endpos__1_ in
29506 let _v : 'tv_primary_expr_eexpr_invalid_ =
29507 # 1483 "parser_cocci_menhir.mly"
29508 ( let (x,clt) = _1 in
29509 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
29510 # 29511 "parser_cocci_menhir.ml"
29511 in
29512 _menhir_env.MenhirLib.EngineTypes.stack <- {
29513 MenhirLib.EngineTypes.state = _menhir_s;
29514 MenhirLib.EngineTypes.semv = Obj.repr _v;
29515 MenhirLib.EngineTypes.startp = _startpos;
29516 MenhirLib.EngineTypes.endp = _endpos;
29517 MenhirLib.EngineTypes.next = _menhir_stack;
29518 });
29519 (fun _menhir_env ->
29520 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29521 let {
29522 MenhirLib.EngineTypes.state = _menhir_s;
29523 MenhirLib.EngineTypes.semv = _1;
29524 MenhirLib.EngineTypes.startp = _startpos__1_;
29525 MenhirLib.EngineTypes.endp = _endpos__1_;
29526 MenhirLib.EngineTypes.next = _menhir_stack;
29527 } = _menhir_stack in
29528 let _1 : (
29529 # 91 "parser_cocci_menhir.mly"
29530 (string * Data.clt)
29531 # 29532 "parser_cocci_menhir.ml"
29532 ) = Obj.magic _1 in
29533 let _startpos = _startpos__1_ in
29534 let _endpos = _endpos__1_ in
29535 let _v : 'tv_primary_expr_eexpr_invalid_ =
29536 # 1486 "parser_cocci_menhir.mly"
29537 ( let (x,clt) = _1 in
29538 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
29539 # 29540 "parser_cocci_menhir.ml"
29540 in
29541 _menhir_env.MenhirLib.EngineTypes.stack <- {
29542 MenhirLib.EngineTypes.state = _menhir_s;
29543 MenhirLib.EngineTypes.semv = Obj.repr _v;
29544 MenhirLib.EngineTypes.startp = _startpos;
29545 MenhirLib.EngineTypes.endp = _endpos;
29546 MenhirLib.EngineTypes.next = _menhir_stack;
29547 });
29548 (fun _menhir_env ->
29549 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29550 let {
29551 MenhirLib.EngineTypes.state = _menhir_s;
29552 MenhirLib.EngineTypes.semv = _1;
29553 MenhirLib.EngineTypes.startp = _startpos__1_;
29554 MenhirLib.EngineTypes.endp = _endpos__1_;
29555 MenhirLib.EngineTypes.next = _menhir_stack;
29556 } = _menhir_stack in
29557 let _1 : (
29558 # 91 "parser_cocci_menhir.mly"
29559 (string * Data.clt)
29560 # 29561 "parser_cocci_menhir.ml"
29561 ) = Obj.magic _1 in
29562 let _startpos = _startpos__1_ in
29563 let _endpos = _endpos__1_ in
29564 let _v : 'tv_primary_expr_eexpr_invalid_ =
29565 # 1489 "parser_cocci_menhir.mly"
29566 ( let (x,clt) = _1 in
29567 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
29568 # 29569 "parser_cocci_menhir.ml"
29569 in
29570 _menhir_env.MenhirLib.EngineTypes.stack <- {
29571 MenhirLib.EngineTypes.state = _menhir_s;
29572 MenhirLib.EngineTypes.semv = Obj.repr _v;
29573 MenhirLib.EngineTypes.startp = _startpos;
29574 MenhirLib.EngineTypes.endp = _endpos;
29575 MenhirLib.EngineTypes.next = _menhir_stack;
29576 });
29577 (fun _menhir_env ->
29578 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29579 let {
29580 MenhirLib.EngineTypes.state = _menhir_s;
29581 MenhirLib.EngineTypes.semv = _1;
29582 MenhirLib.EngineTypes.startp = _startpos__1_;
29583 MenhirLib.EngineTypes.endp = _endpos__1_;
29584 MenhirLib.EngineTypes.next = _menhir_stack;
29585 } = _menhir_stack in
29586 let _1 : (
29587 # 91 "parser_cocci_menhir.mly"
29588 (string * Data.clt)
29589 # 29590 "parser_cocci_menhir.ml"
29590 ) = Obj.magic _1 in
29591 let _startpos = _startpos__1_ in
29592 let _endpos = _endpos__1_ in
29593 let _v : 'tv_primary_expr_eexpr_invalid_ =
29594 # 1492 "parser_cocci_menhir.mly"
29595 ( let (x,clt) = _1 in
29596 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
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.state = _menhir_s;
29610 MenhirLib.EngineTypes.semv = _1;
29611 MenhirLib.EngineTypes.startp = _startpos__1_;
29612 MenhirLib.EngineTypes.endp = _endpos__1_;
29613 MenhirLib.EngineTypes.next = _menhir_stack;
29614 } = _menhir_stack in
29615 let _1 : (
29616 # 71 "parser_cocci_menhir.mly"
29617 (Parse_aux.typed_expinfo)
29618 # 29619 "parser_cocci_menhir.ml"
29619 ) = Obj.magic _1 in
29620 let _startpos = _startpos__1_ in
29621 let _endpos = _endpos__1_ in
29622 let _v : 'tv_primary_expr_eexpr_invalid_ =
29623 # 1495 "parser_cocci_menhir.mly"
29624 ( let (nm,constraints,pure,ty,clt) = _1 in
29625 Ast0.wrap
29626 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
29627 # 29628 "parser_cocci_menhir.ml"
29628 in
29629 _menhir_env.MenhirLib.EngineTypes.stack <- {
29630 MenhirLib.EngineTypes.state = _menhir_s;
29631 MenhirLib.EngineTypes.semv = Obj.repr _v;
29632 MenhirLib.EngineTypes.startp = _startpos;
29633 MenhirLib.EngineTypes.endp = _endpos;
29634 MenhirLib.EngineTypes.next = _menhir_stack;
29635 });
29636 (fun _menhir_env ->
29637 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29638 let {
29639 MenhirLib.EngineTypes.state = _menhir_s;
29640 MenhirLib.EngineTypes.semv = _1;
29641 MenhirLib.EngineTypes.startp = _startpos__1_;
29642 MenhirLib.EngineTypes.endp = _endpos__1_;
29643 MenhirLib.EngineTypes.next = _menhir_stack;
29644 } = _menhir_stack in
29645 let _1 : (
29646 # 67 "parser_cocci_menhir.mly"
29647 (Parse_aux.expinfo)
29648 # 29649 "parser_cocci_menhir.ml"
29649 ) = Obj.magic _1 in
29650 let _startpos = _startpos__1_ in
29651 let _endpos = _endpos__1_ in
29652 let _v : 'tv_primary_expr_eexpr_invalid_ =
29653 # 1499 "parser_cocci_menhir.mly"
29654 ( let (nm,constraints,pure,clt) = _1 in
29655 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
29656 # 29657 "parser_cocci_menhir.ml"
29657 in
29658 _menhir_env.MenhirLib.EngineTypes.stack <- {
29659 MenhirLib.EngineTypes.state = _menhir_s;
29660 MenhirLib.EngineTypes.semv = Obj.repr _v;
29661 MenhirLib.EngineTypes.startp = _startpos;
29662 MenhirLib.EngineTypes.endp = _endpos;
29663 MenhirLib.EngineTypes.next = _menhir_stack;
29664 });
29665 (fun _menhir_env ->
29666 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29667 let {
29668 MenhirLib.EngineTypes.state = _menhir_s;
29669 MenhirLib.EngineTypes.semv = _1;
29670 MenhirLib.EngineTypes.startp = _startpos__1_;
29671 MenhirLib.EngineTypes.endp = _endpos__1_;
29672 MenhirLib.EngineTypes.next = _menhir_stack;
29673 } = _menhir_stack in
29674 let _1 : (
29675 # 71 "parser_cocci_menhir.mly"
29676 (Parse_aux.typed_expinfo)
29677 # 29678 "parser_cocci_menhir.ml"
29678 ) = Obj.magic _1 in
29679 let _startpos = _startpos__1_ in
29680 let _endpos = _endpos__1_ in
29681 let _v : 'tv_primary_expr_eexpr_invalid_ =
29682 # 1502 "parser_cocci_menhir.mly"
29683 ( let (nm,constraints,pure,ty,clt) = _1 in
29684 Ast0.wrap
29685 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
29686 # 29687 "parser_cocci_menhir.ml"
29687 in
29688 _menhir_env.MenhirLib.EngineTypes.stack <- {
29689 MenhirLib.EngineTypes.state = _menhir_s;
29690 MenhirLib.EngineTypes.semv = Obj.repr _v;
29691 MenhirLib.EngineTypes.startp = _startpos;
29692 MenhirLib.EngineTypes.endp = _endpos;
29693 MenhirLib.EngineTypes.next = _menhir_stack;
29694 });
29695 (fun _menhir_env ->
29696 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29697 let {
29698 MenhirLib.EngineTypes.state = _menhir_s;
29699 MenhirLib.EngineTypes.semv = _1;
29700 MenhirLib.EngineTypes.startp = _startpos__1_;
29701 MenhirLib.EngineTypes.endp = _endpos__1_;
29702 MenhirLib.EngineTypes.next = _menhir_stack;
29703 } = _menhir_stack in
29704 let _1 : (
29705 # 71 "parser_cocci_menhir.mly"
29706 (Parse_aux.typed_expinfo)
29707 # 29708 "parser_cocci_menhir.ml"
29708 ) = Obj.magic _1 in
29709 let _startpos = _startpos__1_ in
29710 let _endpos = _endpos__1_ in
29711 let _v : 'tv_primary_expr_eexpr_invalid_ =
29712 # 1506 "parser_cocci_menhir.mly"
29713 ( let (nm,constraints,pure,ty,clt) = _1 in
29714 Ast0.wrap
29715 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
29716 # 29717 "parser_cocci_menhir.ml"
29717 in
29718 _menhir_env.MenhirLib.EngineTypes.stack <- {
29719 MenhirLib.EngineTypes.state = _menhir_s;
29720 MenhirLib.EngineTypes.semv = Obj.repr _v;
29721 MenhirLib.EngineTypes.startp = _startpos;
29722 MenhirLib.EngineTypes.endp = _endpos;
29723 MenhirLib.EngineTypes.next = _menhir_stack;
29724 });
29725 (fun _menhir_env ->
29726 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29727 let {
29728 MenhirLib.EngineTypes.state = _menhir_s;
29729 MenhirLib.EngineTypes.semv = _1;
29730 MenhirLib.EngineTypes.startp = _startpos__1_;
29731 MenhirLib.EngineTypes.endp = _endpos__1_;
29732 MenhirLib.EngineTypes.next = _menhir_stack;
29733 } = _menhir_stack in
29734 let _1 : (
29735 # 71 "parser_cocci_menhir.mly"
29736 (Parse_aux.typed_expinfo)
29737 # 29738 "parser_cocci_menhir.ml"
29738 ) = Obj.magic _1 in
29739 let _startpos = _startpos__1_ in
29740 let _endpos = _endpos__1_ in
29741 let _v : 'tv_primary_expr_eexpr_invalid_ =
29742 # 1510 "parser_cocci_menhir.mly"
29743 ( let (nm,constraints,pure,ty,clt) = _1 in
29744 Ast0.wrap
29745 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
29746 # 29747 "parser_cocci_menhir.ml"
29747 in
29748 _menhir_env.MenhirLib.EngineTypes.stack <- {
29749 MenhirLib.EngineTypes.state = _menhir_s;
29750 MenhirLib.EngineTypes.semv = Obj.repr _v;
29751 MenhirLib.EngineTypes.startp = _startpos;
29752 MenhirLib.EngineTypes.endp = _endpos;
29753 MenhirLib.EngineTypes.next = _menhir_stack;
29754 });
29755 (fun _menhir_env ->
29756 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29757 let {
29758 MenhirLib.EngineTypes.semv = _3;
29759 MenhirLib.EngineTypes.startp = _startpos__3_;
29760 MenhirLib.EngineTypes.endp = _endpos__3_;
29761 MenhirLib.EngineTypes.next = {
29762 MenhirLib.EngineTypes.semv = _2;
29763 MenhirLib.EngineTypes.startp = _startpos__2_;
29764 MenhirLib.EngineTypes.endp = _endpos__2_;
29765 MenhirLib.EngineTypes.next = {
29766 MenhirLib.EngineTypes.state = _menhir_s;
29767 MenhirLib.EngineTypes.semv = _1;
29768 MenhirLib.EngineTypes.startp = _startpos__1_;
29769 MenhirLib.EngineTypes.endp = _endpos__1_;
29770 MenhirLib.EngineTypes.next = _menhir_stack;
29771 };
29772 };
29773 } = _menhir_stack in
29774 let _3 : (
29775 # 81 "parser_cocci_menhir.mly"
29776 (Data.clt)
29777 # 29778 "parser_cocci_menhir.ml"
29778 ) = Obj.magic _3 in
29779 let _2 : 'tv_eexpr = Obj.magic _2 in
29780 let _1 : (
29781 # 80 "parser_cocci_menhir.mly"
29782 (Data.clt)
29783 # 29784 "parser_cocci_menhir.ml"
29784 ) = Obj.magic _1 in
29785 let _startpos = _startpos__1_ in
29786 let _endpos = _endpos__3_ in
29787 let _v : 'tv_primary_expr_eexpr_invalid_ =
29788 # 1514 "parser_cocci_menhir.mly"
29789 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
29790 P.clt2mcode ")" _3)) )
29791 # 29792 "parser_cocci_menhir.ml"
29792 in
29793 _menhir_env.MenhirLib.EngineTypes.stack <- {
29794 MenhirLib.EngineTypes.state = _menhir_s;
29795 MenhirLib.EngineTypes.semv = Obj.repr _v;
29796 MenhirLib.EngineTypes.startp = _startpos;
29797 MenhirLib.EngineTypes.endp = _endpos;
29798 MenhirLib.EngineTypes.next = _menhir_stack;
29799 });
29800 (fun _menhir_env ->
29801 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29802 let {
29803 MenhirLib.EngineTypes.semv = _3;
29804 MenhirLib.EngineTypes.startp = _startpos__3_;
29805 MenhirLib.EngineTypes.endp = _endpos__3_;
29806 MenhirLib.EngineTypes.next = {
29807 MenhirLib.EngineTypes.semv = _2;
29808 MenhirLib.EngineTypes.startp = _startpos__2_;
29809 MenhirLib.EngineTypes.endp = _endpos__2_;
29810 MenhirLib.EngineTypes.next = {
29811 MenhirLib.EngineTypes.state = _menhir_s;
29812 MenhirLib.EngineTypes.semv = _1;
29813 MenhirLib.EngineTypes.startp = _startpos__1_;
29814 MenhirLib.EngineTypes.endp = _endpos__1_;
29815 MenhirLib.EngineTypes.next = _menhir_stack;
29816 };
29817 };
29818 } = _menhir_stack in
29819 let _3 : (
29820 # 81 "parser_cocci_menhir.mly"
29821 (Data.clt)
29822 # 29823 "parser_cocci_menhir.ml"
29823 ) = Obj.magic _3 in
29824 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
29825 let _1 : (
29826 # 80 "parser_cocci_menhir.mly"
29827 (Data.clt)
29828 # 29829 "parser_cocci_menhir.ml"
29829 ) = Obj.magic _1 in
29830 let _startpos = _startpos__1_ in
29831 let _endpos = _endpos__3_ in
29832 let _v : 'tv_primary_expr_eexpr_invalid_ =
29833 # 1517 "parser_cocci_menhir.mly"
29834 ( let (mids,code) = _2 in
29835 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
29836 code, mids,
29837 P.clt2mcode ")" _3)) )
29838 # 29839 "parser_cocci_menhir.ml"
29839 in
29840 _menhir_env.MenhirLib.EngineTypes.stack <- {
29841 MenhirLib.EngineTypes.state = _menhir_s;
29842 MenhirLib.EngineTypes.semv = Obj.repr _v;
29843 MenhirLib.EngineTypes.startp = _startpos;
29844 MenhirLib.EngineTypes.endp = _endpos;
29845 MenhirLib.EngineTypes.next = _menhir_stack;
29846 });
29847 (fun _menhir_env ->
29848 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29849 let {
29850 MenhirLib.EngineTypes.state = _menhir_s;
29851 MenhirLib.EngineTypes.semv = _1;
29852 MenhirLib.EngineTypes.startp = _startpos__1_;
29853 MenhirLib.EngineTypes.endp = _endpos__1_;
29854 MenhirLib.EngineTypes.next = _menhir_stack;
29855 } = _menhir_stack in
29856 let _1 : 'tv_invalid = Obj.magic _1 in
29857 let _startpos = _startpos__1_ in
29858 let _endpos = _endpos__1_ in
29859 let _v : 'tv_primary_expr_eexpr_invalid_ =
29860 # 1521 "parser_cocci_menhir.mly"
29861 ( _1 )
29862 # 29863 "parser_cocci_menhir.ml"
29863 in
29864 _menhir_env.MenhirLib.EngineTypes.stack <- {
29865 MenhirLib.EngineTypes.state = _menhir_s;
29866 MenhirLib.EngineTypes.semv = Obj.repr _v;
29867 MenhirLib.EngineTypes.startp = _startpos;
29868 MenhirLib.EngineTypes.endp = _endpos;
29869 MenhirLib.EngineTypes.next = _menhir_stack;
29870 });
29871 (fun _menhir_env ->
29872 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29873 let {
29874 MenhirLib.EngineTypes.state = _menhir_s;
29875 MenhirLib.EngineTypes.semv = _1;
29876 MenhirLib.EngineTypes.startp = _startpos__1_;
29877 MenhirLib.EngineTypes.endp = _endpos__1_;
29878 MenhirLib.EngineTypes.next = _menhir_stack;
29879 } = _menhir_stack in
29880 let _1 : 'tv_func_ident = Obj.magic _1 in
29881 let _startpos = _startpos__1_ in
29882 let _endpos = _endpos__1_ in
29883 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
29884 # 1481 "parser_cocci_menhir.mly"
29885 ( Ast0.wrap(Ast0.Ident(_1)) )
29886 # 29887 "parser_cocci_menhir.ml"
29887 in
29888 _menhir_env.MenhirLib.EngineTypes.stack <- {
29889 MenhirLib.EngineTypes.state = _menhir_s;
29890 MenhirLib.EngineTypes.semv = Obj.repr _v;
29891 MenhirLib.EngineTypes.startp = _startpos;
29892 MenhirLib.EngineTypes.endp = _endpos;
29893 MenhirLib.EngineTypes.next = _menhir_stack;
29894 });
29895 (fun _menhir_env ->
29896 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29897 let {
29898 MenhirLib.EngineTypes.state = _menhir_s;
29899 MenhirLib.EngineTypes.semv = _1;
29900 MenhirLib.EngineTypes.startp = _startpos__1_;
29901 MenhirLib.EngineTypes.endp = _endpos__1_;
29902 MenhirLib.EngineTypes.next = _menhir_stack;
29903 } = _menhir_stack in
29904 let _1 : (
29905 # 91 "parser_cocci_menhir.mly"
29906 (string * Data.clt)
29907 # 29908 "parser_cocci_menhir.ml"
29908 ) = Obj.magic _1 in
29909 let _startpos = _startpos__1_ in
29910 let _endpos = _endpos__1_ in
29911 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
29912 # 1483 "parser_cocci_menhir.mly"
29913 ( let (x,clt) = _1 in
29914 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
29915 # 29916 "parser_cocci_menhir.ml"
29916 in
29917 _menhir_env.MenhirLib.EngineTypes.stack <- {
29918 MenhirLib.EngineTypes.state = _menhir_s;
29919 MenhirLib.EngineTypes.semv = Obj.repr _v;
29920 MenhirLib.EngineTypes.startp = _startpos;
29921 MenhirLib.EngineTypes.endp = _endpos;
29922 MenhirLib.EngineTypes.next = _menhir_stack;
29923 });
29924 (fun _menhir_env ->
29925 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29926 let {
29927 MenhirLib.EngineTypes.state = _menhir_s;
29928 MenhirLib.EngineTypes.semv = _1;
29929 MenhirLib.EngineTypes.startp = _startpos__1_;
29930 MenhirLib.EngineTypes.endp = _endpos__1_;
29931 MenhirLib.EngineTypes.next = _menhir_stack;
29932 } = _menhir_stack in
29933 let _1 : (
29934 # 91 "parser_cocci_menhir.mly"
29935 (string * Data.clt)
29936 # 29937 "parser_cocci_menhir.ml"
29937 ) = Obj.magic _1 in
29938 let _startpos = _startpos__1_ in
29939 let _endpos = _endpos__1_ in
29940 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
29941 # 1486 "parser_cocci_menhir.mly"
29942 ( let (x,clt) = _1 in
29943 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
29944 # 29945 "parser_cocci_menhir.ml"
29945 in
29946 _menhir_env.MenhirLib.EngineTypes.stack <- {
29947 MenhirLib.EngineTypes.state = _menhir_s;
29948 MenhirLib.EngineTypes.semv = Obj.repr _v;
29949 MenhirLib.EngineTypes.startp = _startpos;
29950 MenhirLib.EngineTypes.endp = _endpos;
29951 MenhirLib.EngineTypes.next = _menhir_stack;
29952 });
29953 (fun _menhir_env ->
29954 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29955 let {
29956 MenhirLib.EngineTypes.state = _menhir_s;
29957 MenhirLib.EngineTypes.semv = _1;
29958 MenhirLib.EngineTypes.startp = _startpos__1_;
29959 MenhirLib.EngineTypes.endp = _endpos__1_;
29960 MenhirLib.EngineTypes.next = _menhir_stack;
29961 } = _menhir_stack in
29962 let _1 : (
29963 # 91 "parser_cocci_menhir.mly"
29964 (string * Data.clt)
29965 # 29966 "parser_cocci_menhir.ml"
29966 ) = Obj.magic _1 in
29967 let _startpos = _startpos__1_ in
29968 let _endpos = _endpos__1_ in
29969 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
29970 # 1489 "parser_cocci_menhir.mly"
29971 ( let (x,clt) = _1 in
29972 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
29973 # 29974 "parser_cocci_menhir.ml"
29974 in
29975 _menhir_env.MenhirLib.EngineTypes.stack <- {
29976 MenhirLib.EngineTypes.state = _menhir_s;
29977 MenhirLib.EngineTypes.semv = Obj.repr _v;
29978 MenhirLib.EngineTypes.startp = _startpos;
29979 MenhirLib.EngineTypes.endp = _endpos;
29980 MenhirLib.EngineTypes.next = _menhir_stack;
29981 });
29982 (fun _menhir_env ->
29983 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
29984 let {
29985 MenhirLib.EngineTypes.state = _menhir_s;
29986 MenhirLib.EngineTypes.semv = _1;
29987 MenhirLib.EngineTypes.startp = _startpos__1_;
29988 MenhirLib.EngineTypes.endp = _endpos__1_;
29989 MenhirLib.EngineTypes.next = _menhir_stack;
29990 } = _menhir_stack in
29991 let _1 : (
29992 # 91 "parser_cocci_menhir.mly"
29993 (string * Data.clt)
29994 # 29995 "parser_cocci_menhir.ml"
29995 ) = Obj.magic _1 in
29996 let _startpos = _startpos__1_ in
29997 let _endpos = _endpos__1_ in
29998 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
29999 # 1492 "parser_cocci_menhir.mly"
30000 ( let (x,clt) = _1 in
30001 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
30002 # 30003 "parser_cocci_menhir.ml"
30003 in
30004 _menhir_env.MenhirLib.EngineTypes.stack <- {
30005 MenhirLib.EngineTypes.state = _menhir_s;
30006 MenhirLib.EngineTypes.semv = Obj.repr _v;
30007 MenhirLib.EngineTypes.startp = _startpos;
30008 MenhirLib.EngineTypes.endp = _endpos;
30009 MenhirLib.EngineTypes.next = _menhir_stack;
30010 });
30011 (fun _menhir_env ->
30012 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30013 let {
30014 MenhirLib.EngineTypes.state = _menhir_s;
30015 MenhirLib.EngineTypes.semv = _1;
30016 MenhirLib.EngineTypes.startp = _startpos__1_;
30017 MenhirLib.EngineTypes.endp = _endpos__1_;
30018 MenhirLib.EngineTypes.next = _menhir_stack;
30019 } = _menhir_stack in
30020 let _1 : (
30021 # 71 "parser_cocci_menhir.mly"
30022 (Parse_aux.typed_expinfo)
30023 # 30024 "parser_cocci_menhir.ml"
30024 ) = Obj.magic _1 in
30025 let _startpos = _startpos__1_ in
30026 let _endpos = _endpos__1_ in
30027 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
30028 # 1495 "parser_cocci_menhir.mly"
30029 ( let (nm,constraints,pure,ty,clt) = _1 in
30030 Ast0.wrap
30031 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
30032 # 30033 "parser_cocci_menhir.ml"
30033 in
30034 _menhir_env.MenhirLib.EngineTypes.stack <- {
30035 MenhirLib.EngineTypes.state = _menhir_s;
30036 MenhirLib.EngineTypes.semv = Obj.repr _v;
30037 MenhirLib.EngineTypes.startp = _startpos;
30038 MenhirLib.EngineTypes.endp = _endpos;
30039 MenhirLib.EngineTypes.next = _menhir_stack;
30040 });
30041 (fun _menhir_env ->
30042 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30043 let {
30044 MenhirLib.EngineTypes.state = _menhir_s;
30045 MenhirLib.EngineTypes.semv = _1;
30046 MenhirLib.EngineTypes.startp = _startpos__1_;
30047 MenhirLib.EngineTypes.endp = _endpos__1_;
30048 MenhirLib.EngineTypes.next = _menhir_stack;
30049 } = _menhir_stack in
30050 let _1 : (
30051 # 67 "parser_cocci_menhir.mly"
30052 (Parse_aux.expinfo)
30053 # 30054 "parser_cocci_menhir.ml"
30054 ) = Obj.magic _1 in
30055 let _startpos = _startpos__1_ in
30056 let _endpos = _endpos__1_ in
30057 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
30058 # 1499 "parser_cocci_menhir.mly"
30059 ( let (nm,constraints,pure,clt) = _1 in
30060 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
30061 # 30062 "parser_cocci_menhir.ml"
30062 in
30063 _menhir_env.MenhirLib.EngineTypes.stack <- {
30064 MenhirLib.EngineTypes.state = _menhir_s;
30065 MenhirLib.EngineTypes.semv = Obj.repr _v;
30066 MenhirLib.EngineTypes.startp = _startpos;
30067 MenhirLib.EngineTypes.endp = _endpos;
30068 MenhirLib.EngineTypes.next = _menhir_stack;
30069 });
30070 (fun _menhir_env ->
30071 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30072 let {
30073 MenhirLib.EngineTypes.state = _menhir_s;
30074 MenhirLib.EngineTypes.semv = _1;
30075 MenhirLib.EngineTypes.startp = _startpos__1_;
30076 MenhirLib.EngineTypes.endp = _endpos__1_;
30077 MenhirLib.EngineTypes.next = _menhir_stack;
30078 } = _menhir_stack in
30079 let _1 : (
30080 # 71 "parser_cocci_menhir.mly"
30081 (Parse_aux.typed_expinfo)
30082 # 30083 "parser_cocci_menhir.ml"
30083 ) = Obj.magic _1 in
30084 let _startpos = _startpos__1_ in
30085 let _endpos = _endpos__1_ in
30086 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
30087 # 1502 "parser_cocci_menhir.mly"
30088 ( let (nm,constraints,pure,ty,clt) = _1 in
30089 Ast0.wrap
30090 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
30091 # 30092 "parser_cocci_menhir.ml"
30092 in
30093 _menhir_env.MenhirLib.EngineTypes.stack <- {
30094 MenhirLib.EngineTypes.state = _menhir_s;
30095 MenhirLib.EngineTypes.semv = Obj.repr _v;
30096 MenhirLib.EngineTypes.startp = _startpos;
30097 MenhirLib.EngineTypes.endp = _endpos;
30098 MenhirLib.EngineTypes.next = _menhir_stack;
30099 });
30100 (fun _menhir_env ->
30101 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30102 let {
30103 MenhirLib.EngineTypes.state = _menhir_s;
30104 MenhirLib.EngineTypes.semv = _1;
30105 MenhirLib.EngineTypes.startp = _startpos__1_;
30106 MenhirLib.EngineTypes.endp = _endpos__1_;
30107 MenhirLib.EngineTypes.next = _menhir_stack;
30108 } = _menhir_stack in
30109 let _1 : (
30110 # 71 "parser_cocci_menhir.mly"
30111 (Parse_aux.typed_expinfo)
30112 # 30113 "parser_cocci_menhir.ml"
30113 ) = Obj.magic _1 in
30114 let _startpos = _startpos__1_ in
30115 let _endpos = _endpos__1_ in
30116 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
30117 # 1506 "parser_cocci_menhir.mly"
30118 ( let (nm,constraints,pure,ty,clt) = _1 in
30119 Ast0.wrap
30120 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
30121 # 30122 "parser_cocci_menhir.ml"
30122 in
30123 _menhir_env.MenhirLib.EngineTypes.stack <- {
30124 MenhirLib.EngineTypes.state = _menhir_s;
30125 MenhirLib.EngineTypes.semv = Obj.repr _v;
30126 MenhirLib.EngineTypes.startp = _startpos;
30127 MenhirLib.EngineTypes.endp = _endpos;
30128 MenhirLib.EngineTypes.next = _menhir_stack;
30129 });
30130 (fun _menhir_env ->
30131 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30132 let {
30133 MenhirLib.EngineTypes.state = _menhir_s;
30134 MenhirLib.EngineTypes.semv = _1;
30135 MenhirLib.EngineTypes.startp = _startpos__1_;
30136 MenhirLib.EngineTypes.endp = _endpos__1_;
30137 MenhirLib.EngineTypes.next = _menhir_stack;
30138 } = _menhir_stack in
30139 let _1 : (
30140 # 71 "parser_cocci_menhir.mly"
30141 (Parse_aux.typed_expinfo)
30142 # 30143 "parser_cocci_menhir.ml"
30143 ) = Obj.magic _1 in
30144 let _startpos = _startpos__1_ in
30145 let _endpos = _endpos__1_ in
30146 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
30147 # 1510 "parser_cocci_menhir.mly"
30148 ( let (nm,constraints,pure,ty,clt) = _1 in
30149 Ast0.wrap
30150 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
30151 # 30152 "parser_cocci_menhir.ml"
30152 in
30153 _menhir_env.MenhirLib.EngineTypes.stack <- {
30154 MenhirLib.EngineTypes.state = _menhir_s;
30155 MenhirLib.EngineTypes.semv = Obj.repr _v;
30156 MenhirLib.EngineTypes.startp = _startpos;
30157 MenhirLib.EngineTypes.endp = _endpos;
30158 MenhirLib.EngineTypes.next = _menhir_stack;
30159 });
30160 (fun _menhir_env ->
30161 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30162 let {
30163 MenhirLib.EngineTypes.semv = _3;
30164 MenhirLib.EngineTypes.startp = _startpos__3_;
30165 MenhirLib.EngineTypes.endp = _endpos__3_;
30166 MenhirLib.EngineTypes.next = {
30167 MenhirLib.EngineTypes.semv = _2;
30168 MenhirLib.EngineTypes.startp = _startpos__2_;
30169 MenhirLib.EngineTypes.endp = _endpos__2_;
30170 MenhirLib.EngineTypes.next = {
30171 MenhirLib.EngineTypes.state = _menhir_s;
30172 MenhirLib.EngineTypes.semv = _1;
30173 MenhirLib.EngineTypes.startp = _startpos__1_;
30174 MenhirLib.EngineTypes.endp = _endpos__1_;
30175 MenhirLib.EngineTypes.next = _menhir_stack;
30176 };
30177 };
30178 } = _menhir_stack in
30179 let _3 : (
30180 # 81 "parser_cocci_menhir.mly"
30181 (Data.clt)
30182 # 30183 "parser_cocci_menhir.ml"
30183 ) = Obj.magic _3 in
30184 let _2 : 'tv_eexpr = Obj.magic _2 in
30185 let _1 : (
30186 # 80 "parser_cocci_menhir.mly"
30187 (Data.clt)
30188 # 30189 "parser_cocci_menhir.ml"
30189 ) = Obj.magic _1 in
30190 let _startpos = _startpos__1_ in
30191 let _endpos = _endpos__3_ in
30192 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
30193 # 1514 "parser_cocci_menhir.mly"
30194 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
30195 P.clt2mcode ")" _3)) )
30196 # 30197 "parser_cocci_menhir.ml"
30197 in
30198 _menhir_env.MenhirLib.EngineTypes.stack <- {
30199 MenhirLib.EngineTypes.state = _menhir_s;
30200 MenhirLib.EngineTypes.semv = Obj.repr _v;
30201 MenhirLib.EngineTypes.startp = _startpos;
30202 MenhirLib.EngineTypes.endp = _endpos;
30203 MenhirLib.EngineTypes.next = _menhir_stack;
30204 });
30205 (fun _menhir_env ->
30206 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30207 let {
30208 MenhirLib.EngineTypes.semv = _3;
30209 MenhirLib.EngineTypes.startp = _startpos__3_;
30210 MenhirLib.EngineTypes.endp = _endpos__3_;
30211 MenhirLib.EngineTypes.next = {
30212 MenhirLib.EngineTypes.semv = _2;
30213 MenhirLib.EngineTypes.startp = _startpos__2_;
30214 MenhirLib.EngineTypes.endp = _endpos__2_;
30215 MenhirLib.EngineTypes.next = {
30216 MenhirLib.EngineTypes.state = _menhir_s;
30217 MenhirLib.EngineTypes.semv = _1;
30218 MenhirLib.EngineTypes.startp = _startpos__1_;
30219 MenhirLib.EngineTypes.endp = _endpos__1_;
30220 MenhirLib.EngineTypes.next = _menhir_stack;
30221 };
30222 };
30223 } = _menhir_stack in
30224 let _3 : (
30225 # 81 "parser_cocci_menhir.mly"
30226 (Data.clt)
30227 # 30228 "parser_cocci_menhir.ml"
30228 ) = Obj.magic _3 in
30229 let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
30230 let _1 : (
30231 # 80 "parser_cocci_menhir.mly"
30232 (Data.clt)
30233 # 30234 "parser_cocci_menhir.ml"
30234 ) = Obj.magic _1 in
30235 let _startpos = _startpos__1_ in
30236 let _endpos = _endpos__3_ in
30237 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
30238 # 1517 "parser_cocci_menhir.mly"
30239 ( let (mids,code) = _2 in
30240 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
30241 code, mids,
30242 P.clt2mcode ")" _3)) )
30243 # 30244 "parser_cocci_menhir.ml"
30244 in
30245 _menhir_env.MenhirLib.EngineTypes.stack <- {
30246 MenhirLib.EngineTypes.state = _menhir_s;
30247 MenhirLib.EngineTypes.semv = Obj.repr _v;
30248 MenhirLib.EngineTypes.startp = _startpos;
30249 MenhirLib.EngineTypes.endp = _endpos;
30250 MenhirLib.EngineTypes.next = _menhir_stack;
30251 });
30252 (fun _menhir_env ->
30253 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30254 let {
30255 MenhirLib.EngineTypes.state = _menhir_s;
30256 MenhirLib.EngineTypes.semv = _1;
30257 MenhirLib.EngineTypes.startp = _startpos__1_;
30258 MenhirLib.EngineTypes.endp = _endpos__1_;
30259 MenhirLib.EngineTypes.next = _menhir_stack;
30260 } = _menhir_stack in
30261 let _1 : 'tv_nest_expressions = Obj.magic _1 in
30262 let _startpos = _startpos__1_ in
30263 let _endpos = _endpos__1_ in
30264 let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
30265 # 1521 "parser_cocci_menhir.mly"
30266 ( _1 )
30267 # 30268 "parser_cocci_menhir.ml"
30268 in
30269 _menhir_env.MenhirLib.EngineTypes.stack <- {
30270 MenhirLib.EngineTypes.state = _menhir_s;
30271 MenhirLib.EngineTypes.semv = Obj.repr _v;
30272 MenhirLib.EngineTypes.startp = _startpos;
30273 MenhirLib.EngineTypes.endp = _endpos;
30274 MenhirLib.EngineTypes.next = _menhir_stack;
30275 });
30276 (fun _menhir_env ->
30277 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30278 let {
30279 MenhirLib.EngineTypes.state = _menhir_s;
30280 MenhirLib.EngineTypes.semv = _1;
30281 MenhirLib.EngineTypes.startp = _startpos__1_;
30282 MenhirLib.EngineTypes.endp = _endpos__1_;
30283 MenhirLib.EngineTypes.next = _menhir_stack;
30284 } = _menhir_stack in
30285 let _1 : 'tv_func_ident = Obj.magic _1 in
30286 let _startpos = _startpos__1_ in
30287 let _endpos = _endpos__1_ in
30288 let _v : 'tv_primary_expr_expr_invalid_ =
30289 # 1481 "parser_cocci_menhir.mly"
30290 ( Ast0.wrap(Ast0.Ident(_1)) )
30291 # 30292 "parser_cocci_menhir.ml"
30292 in
30293 _menhir_env.MenhirLib.EngineTypes.stack <- {
30294 MenhirLib.EngineTypes.state = _menhir_s;
30295 MenhirLib.EngineTypes.semv = Obj.repr _v;
30296 MenhirLib.EngineTypes.startp = _startpos;
30297 MenhirLib.EngineTypes.endp = _endpos;
30298 MenhirLib.EngineTypes.next = _menhir_stack;
30299 });
30300 (fun _menhir_env ->
30301 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30302 let {
30303 MenhirLib.EngineTypes.state = _menhir_s;
30304 MenhirLib.EngineTypes.semv = _1;
30305 MenhirLib.EngineTypes.startp = _startpos__1_;
30306 MenhirLib.EngineTypes.endp = _endpos__1_;
30307 MenhirLib.EngineTypes.next = _menhir_stack;
30308 } = _menhir_stack in
30309 let _1 : (
30310 # 91 "parser_cocci_menhir.mly"
30311 (string * Data.clt)
30312 # 30313 "parser_cocci_menhir.ml"
30313 ) = Obj.magic _1 in
30314 let _startpos = _startpos__1_ in
30315 let _endpos = _endpos__1_ in
30316 let _v : 'tv_primary_expr_expr_invalid_ =
30317 # 1483 "parser_cocci_menhir.mly"
30318 ( let (x,clt) = _1 in
30319 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
30320 # 30321 "parser_cocci_menhir.ml"
30321 in
30322 _menhir_env.MenhirLib.EngineTypes.stack <- {
30323 MenhirLib.EngineTypes.state = _menhir_s;
30324 MenhirLib.EngineTypes.semv = Obj.repr _v;
30325 MenhirLib.EngineTypes.startp = _startpos;
30326 MenhirLib.EngineTypes.endp = _endpos;
30327 MenhirLib.EngineTypes.next = _menhir_stack;
30328 });
30329 (fun _menhir_env ->
30330 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30331 let {
30332 MenhirLib.EngineTypes.state = _menhir_s;
30333 MenhirLib.EngineTypes.semv = _1;
30334 MenhirLib.EngineTypes.startp = _startpos__1_;
30335 MenhirLib.EngineTypes.endp = _endpos__1_;
30336 MenhirLib.EngineTypes.next = _menhir_stack;
30337 } = _menhir_stack in
30338 let _1 : (
30339 # 91 "parser_cocci_menhir.mly"
30340 (string * Data.clt)
30341 # 30342 "parser_cocci_menhir.ml"
30342 ) = Obj.magic _1 in
30343 let _startpos = _startpos__1_ in
30344 let _endpos = _endpos__1_ in
30345 let _v : 'tv_primary_expr_expr_invalid_ =
30346 # 1486 "parser_cocci_menhir.mly"
30347 ( let (x,clt) = _1 in
30348 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
30349 # 30350 "parser_cocci_menhir.ml"
30350 in
30351 _menhir_env.MenhirLib.EngineTypes.stack <- {
30352 MenhirLib.EngineTypes.state = _menhir_s;
30353 MenhirLib.EngineTypes.semv = Obj.repr _v;
30354 MenhirLib.EngineTypes.startp = _startpos;
30355 MenhirLib.EngineTypes.endp = _endpos;
30356 MenhirLib.EngineTypes.next = _menhir_stack;
30357 });
30358 (fun _menhir_env ->
30359 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30360 let {
30361 MenhirLib.EngineTypes.state = _menhir_s;
30362 MenhirLib.EngineTypes.semv = _1;
30363 MenhirLib.EngineTypes.startp = _startpos__1_;
30364 MenhirLib.EngineTypes.endp = _endpos__1_;
30365 MenhirLib.EngineTypes.next = _menhir_stack;
30366 } = _menhir_stack in
30367 let _1 : (
30368 # 91 "parser_cocci_menhir.mly"
30369 (string * Data.clt)
30370 # 30371 "parser_cocci_menhir.ml"
30371 ) = Obj.magic _1 in
30372 let _startpos = _startpos__1_ in
30373 let _endpos = _endpos__1_ in
30374 let _v : 'tv_primary_expr_expr_invalid_ =
30375 # 1489 "parser_cocci_menhir.mly"
30376 ( let (x,clt) = _1 in
30377 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
30378 # 30379 "parser_cocci_menhir.ml"
30379 in
30380 _menhir_env.MenhirLib.EngineTypes.stack <- {
30381 MenhirLib.EngineTypes.state = _menhir_s;
30382 MenhirLib.EngineTypes.semv = Obj.repr _v;
30383 MenhirLib.EngineTypes.startp = _startpos;
30384 MenhirLib.EngineTypes.endp = _endpos;
30385 MenhirLib.EngineTypes.next = _menhir_stack;
30386 });
30387 (fun _menhir_env ->
30388 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30389 let {
30390 MenhirLib.EngineTypes.state = _menhir_s;
30391 MenhirLib.EngineTypes.semv = _1;
30392 MenhirLib.EngineTypes.startp = _startpos__1_;
30393 MenhirLib.EngineTypes.endp = _endpos__1_;
30394 MenhirLib.EngineTypes.next = _menhir_stack;
30395 } = _menhir_stack in
30396 let _1 : (
30397 # 91 "parser_cocci_menhir.mly"
30398 (string * Data.clt)
30399 # 30400 "parser_cocci_menhir.ml"
30400 ) = Obj.magic _1 in
30401 let _startpos = _startpos__1_ in
30402 let _endpos = _endpos__1_ in
30403 let _v : 'tv_primary_expr_expr_invalid_ =
30404 # 1492 "parser_cocci_menhir.mly"
30405 ( let (x,clt) = _1 in
30406 Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
30407 # 30408 "parser_cocci_menhir.ml"
30408 in
30409 _menhir_env.MenhirLib.EngineTypes.stack <- {
30410 MenhirLib.EngineTypes.state = _menhir_s;
30411 MenhirLib.EngineTypes.semv = Obj.repr _v;
30412 MenhirLib.EngineTypes.startp = _startpos;
30413 MenhirLib.EngineTypes.endp = _endpos;
30414 MenhirLib.EngineTypes.next = _menhir_stack;
30415 });
30416 (fun _menhir_env ->
30417 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30418 let {
30419 MenhirLib.EngineTypes.state = _menhir_s;
30420 MenhirLib.EngineTypes.semv = _1;
30421 MenhirLib.EngineTypes.startp = _startpos__1_;
30422 MenhirLib.EngineTypes.endp = _endpos__1_;
30423 MenhirLib.EngineTypes.next = _menhir_stack;
30424 } = _menhir_stack in
30425 let _1 : (
30426 # 71 "parser_cocci_menhir.mly"
30427 (Parse_aux.typed_expinfo)
30428 # 30429 "parser_cocci_menhir.ml"
30429 ) = Obj.magic _1 in
30430 let _startpos = _startpos__1_ in
30431 let _endpos = _endpos__1_ in
30432 let _v : 'tv_primary_expr_expr_invalid_ =
30433 # 1495 "parser_cocci_menhir.mly"
30434 ( let (nm,constraints,pure,ty,clt) = _1 in
30435 Ast0.wrap
30436 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
30437 # 30438 "parser_cocci_menhir.ml"
30438 in
30439 _menhir_env.MenhirLib.EngineTypes.stack <- {
30440 MenhirLib.EngineTypes.state = _menhir_s;
30441 MenhirLib.EngineTypes.semv = Obj.repr _v;
30442 MenhirLib.EngineTypes.startp = _startpos;
30443 MenhirLib.EngineTypes.endp = _endpos;
30444 MenhirLib.EngineTypes.next = _menhir_stack;
30445 });
30446 (fun _menhir_env ->
30447 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30448 let {
30449 MenhirLib.EngineTypes.state = _menhir_s;
30450 MenhirLib.EngineTypes.semv = _1;
30451 MenhirLib.EngineTypes.startp = _startpos__1_;
30452 MenhirLib.EngineTypes.endp = _endpos__1_;
30453 MenhirLib.EngineTypes.next = _menhir_stack;
30454 } = _menhir_stack in
30455 let _1 : (
30456 # 67 "parser_cocci_menhir.mly"
30457 (Parse_aux.expinfo)
30458 # 30459 "parser_cocci_menhir.ml"
30459 ) = Obj.magic _1 in
30460 let _startpos = _startpos__1_ in
30461 let _endpos = _endpos__1_ in
30462 let _v : 'tv_primary_expr_expr_invalid_ =
30463 # 1499 "parser_cocci_menhir.mly"
30464 ( let (nm,constraints,pure,clt) = _1 in
30465 Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
30466 # 30467 "parser_cocci_menhir.ml"
30467 in
30468 _menhir_env.MenhirLib.EngineTypes.stack <- {
30469 MenhirLib.EngineTypes.state = _menhir_s;
30470 MenhirLib.EngineTypes.semv = Obj.repr _v;
30471 MenhirLib.EngineTypes.startp = _startpos;
30472 MenhirLib.EngineTypes.endp = _endpos;
30473 MenhirLib.EngineTypes.next = _menhir_stack;
30474 });
30475 (fun _menhir_env ->
30476 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30477 let {
30478 MenhirLib.EngineTypes.state = _menhir_s;
30479 MenhirLib.EngineTypes.semv = _1;
30480 MenhirLib.EngineTypes.startp = _startpos__1_;
30481 MenhirLib.EngineTypes.endp = _endpos__1_;
30482 MenhirLib.EngineTypes.next = _menhir_stack;
30483 } = _menhir_stack in
30484 let _1 : (
30485 # 71 "parser_cocci_menhir.mly"
30486 (Parse_aux.typed_expinfo)
30487 # 30488 "parser_cocci_menhir.ml"
30488 ) = Obj.magic _1 in
30489 let _startpos = _startpos__1_ in
30490 let _endpos = _endpos__1_ in
30491 let _v : 'tv_primary_expr_expr_invalid_ =
30492 # 1502 "parser_cocci_menhir.mly"
30493 ( let (nm,constraints,pure,ty,clt) = _1 in
30494 Ast0.wrap
30495 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
30496 # 30497 "parser_cocci_menhir.ml"
30497 in
30498 _menhir_env.MenhirLib.EngineTypes.stack <- {
30499 MenhirLib.EngineTypes.state = _menhir_s;
30500 MenhirLib.EngineTypes.semv = Obj.repr _v;
30501 MenhirLib.EngineTypes.startp = _startpos;
30502 MenhirLib.EngineTypes.endp = _endpos;
30503 MenhirLib.EngineTypes.next = _menhir_stack;
30504 });
30505 (fun _menhir_env ->
30506 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30507 let {
30508 MenhirLib.EngineTypes.state = _menhir_s;
30509 MenhirLib.EngineTypes.semv = _1;
30510 MenhirLib.EngineTypes.startp = _startpos__1_;
30511 MenhirLib.EngineTypes.endp = _endpos__1_;
30512 MenhirLib.EngineTypes.next = _menhir_stack;
30513 } = _menhir_stack in
30514 let _1 : (
30515 # 71 "parser_cocci_menhir.mly"
30516 (Parse_aux.typed_expinfo)
30517 # 30518 "parser_cocci_menhir.ml"
30518 ) = Obj.magic _1 in
30519 let _startpos = _startpos__1_ in
30520 let _endpos = _endpos__1_ in
30521 let _v : 'tv_primary_expr_expr_invalid_ =
30522 # 1506 "parser_cocci_menhir.mly"
30523 ( let (nm,constraints,pure,ty,clt) = _1 in
30524 Ast0.wrap
30525 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
30526 # 30527 "parser_cocci_menhir.ml"
30527 in
30528 _menhir_env.MenhirLib.EngineTypes.stack <- {
30529 MenhirLib.EngineTypes.state = _menhir_s;
30530 MenhirLib.EngineTypes.semv = Obj.repr _v;
30531 MenhirLib.EngineTypes.startp = _startpos;
30532 MenhirLib.EngineTypes.endp = _endpos;
30533 MenhirLib.EngineTypes.next = _menhir_stack;
30534 });
30535 (fun _menhir_env ->
30536 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30537 let {
30538 MenhirLib.EngineTypes.state = _menhir_s;
30539 MenhirLib.EngineTypes.semv = _1;
30540 MenhirLib.EngineTypes.startp = _startpos__1_;
30541 MenhirLib.EngineTypes.endp = _endpos__1_;
30542 MenhirLib.EngineTypes.next = _menhir_stack;
30543 } = _menhir_stack in
30544 let _1 : (
30545 # 71 "parser_cocci_menhir.mly"
30546 (Parse_aux.typed_expinfo)
30547 # 30548 "parser_cocci_menhir.ml"
30548 ) = Obj.magic _1 in
30549 let _startpos = _startpos__1_ in
30550 let _endpos = _endpos__1_ in
30551 let _v : 'tv_primary_expr_expr_invalid_ =
30552 # 1510 "parser_cocci_menhir.mly"
30553 ( let (nm,constraints,pure,ty,clt) = _1 in
30554 Ast0.wrap
30555 (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
30556 # 30557 "parser_cocci_menhir.ml"
30557 in
30558 _menhir_env.MenhirLib.EngineTypes.stack <- {
30559 MenhirLib.EngineTypes.state = _menhir_s;
30560 MenhirLib.EngineTypes.semv = Obj.repr _v;
30561 MenhirLib.EngineTypes.startp = _startpos;
30562 MenhirLib.EngineTypes.endp = _endpos;
30563 MenhirLib.EngineTypes.next = _menhir_stack;
30564 });
30565 (fun _menhir_env ->
30566 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30567 let {
30568 MenhirLib.EngineTypes.semv = _3;
30569 MenhirLib.EngineTypes.startp = _startpos__3_;
30570 MenhirLib.EngineTypes.endp = _endpos__3_;
30571 MenhirLib.EngineTypes.next = {
30572 MenhirLib.EngineTypes.semv = _2;
30573 MenhirLib.EngineTypes.startp = _startpos__2_;
30574 MenhirLib.EngineTypes.endp = _endpos__2_;
30575 MenhirLib.EngineTypes.next = {
30576 MenhirLib.EngineTypes.state = _menhir_s;
30577 MenhirLib.EngineTypes.semv = _1;
30578 MenhirLib.EngineTypes.startp = _startpos__1_;
30579 MenhirLib.EngineTypes.endp = _endpos__1_;
30580 MenhirLib.EngineTypes.next = _menhir_stack;
30581 };
30582 };
30583 } = _menhir_stack in
30584 let _3 : (
30585 # 81 "parser_cocci_menhir.mly"
30586 (Data.clt)
30587 # 30588 "parser_cocci_menhir.ml"
30588 ) = Obj.magic _3 in
30589 let _2 : 'tv_eexpr = Obj.magic _2 in
30590 let _1 : (
30591 # 80 "parser_cocci_menhir.mly"
30592 (Data.clt)
30593 # 30594 "parser_cocci_menhir.ml"
30594 ) = Obj.magic _1 in
30595 let _startpos = _startpos__1_ in
30596 let _endpos = _endpos__3_ in
30597 let _v : 'tv_primary_expr_expr_invalid_ =
30598 # 1514 "parser_cocci_menhir.mly"
30599 ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
30600 P.clt2mcode ")" _3)) )
30601 # 30602 "parser_cocci_menhir.ml"
30602 in
30603 _menhir_env.MenhirLib.EngineTypes.stack <- {
30604 MenhirLib.EngineTypes.state = _menhir_s;
30605 MenhirLib.EngineTypes.semv = Obj.repr _v;
30606 MenhirLib.EngineTypes.startp = _startpos;
30607 MenhirLib.EngineTypes.endp = _endpos;
30608 MenhirLib.EngineTypes.next = _menhir_stack;
30609 });
30610 (fun _menhir_env ->
30611 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30612 let {
30613 MenhirLib.EngineTypes.semv = _3;
30614 MenhirLib.EngineTypes.startp = _startpos__3_;
30615 MenhirLib.EngineTypes.endp = _endpos__3_;
30616 MenhirLib.EngineTypes.next = {
30617 MenhirLib.EngineTypes.semv = _2;
30618 MenhirLib.EngineTypes.startp = _startpos__2_;
30619 MenhirLib.EngineTypes.endp = _endpos__2_;
30620 MenhirLib.EngineTypes.next = {
30621 MenhirLib.EngineTypes.state = _menhir_s;
30622 MenhirLib.EngineTypes.semv = _1;
30623 MenhirLib.EngineTypes.startp = _startpos__1_;
30624 MenhirLib.EngineTypes.endp = _endpos__1_;
30625 MenhirLib.EngineTypes.next = _menhir_stack;
30626 };
30627 };
30628 } = _menhir_stack in
30629 let _3 : (
30630 # 81 "parser_cocci_menhir.mly"
30631 (Data.clt)
30632 # 30633 "parser_cocci_menhir.ml"
30633 ) = Obj.magic _3 in
30634 let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in
30635 let _1 : (
30636 # 80 "parser_cocci_menhir.mly"
30637 (Data.clt)
30638 # 30639 "parser_cocci_menhir.ml"
30639 ) = Obj.magic _1 in
30640 let _startpos = _startpos__1_ in
30641 let _endpos = _endpos__3_ in
30642 let _v : 'tv_primary_expr_expr_invalid_ =
30643 # 1517 "parser_cocci_menhir.mly"
30644 ( let (mids,code) = _2 in
30645 Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
30646 code, mids,
30647 P.clt2mcode ")" _3)) )
30648 # 30649 "parser_cocci_menhir.ml"
30649 in
30650 _menhir_env.MenhirLib.EngineTypes.stack <- {
30651 MenhirLib.EngineTypes.state = _menhir_s;
30652 MenhirLib.EngineTypes.semv = Obj.repr _v;
30653 MenhirLib.EngineTypes.startp = _startpos;
30654 MenhirLib.EngineTypes.endp = _endpos;
30655 MenhirLib.EngineTypes.next = _menhir_stack;
30656 });
30657 (fun _menhir_env ->
30658 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30659 let {
30660 MenhirLib.EngineTypes.state = _menhir_s;
30661 MenhirLib.EngineTypes.semv = _1;
30662 MenhirLib.EngineTypes.startp = _startpos__1_;
30663 MenhirLib.EngineTypes.endp = _endpos__1_;
30664 MenhirLib.EngineTypes.next = _menhir_stack;
30665 } = _menhir_stack in
30666 let _1 : 'tv_invalid = Obj.magic _1 in
30667 let _startpos = _startpos__1_ in
30668 let _endpos = _endpos__1_ in
30669 let _v : 'tv_primary_expr_expr_invalid_ =
30670 # 1521 "parser_cocci_menhir.mly"
30671 ( _1 )
30672 # 30673 "parser_cocci_menhir.ml"
30673 in
30674 _menhir_env.MenhirLib.EngineTypes.stack <- {
30675 MenhirLib.EngineTypes.state = _menhir_s;
30676 MenhirLib.EngineTypes.semv = Obj.repr _v;
30677 MenhirLib.EngineTypes.startp = _startpos;
30678 MenhirLib.EngineTypes.endp = _endpos;
30679 MenhirLib.EngineTypes.next = _menhir_stack;
30680 });
30681 (fun _menhir_env ->
30682 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30683 let {
30684 MenhirLib.EngineTypes.state = _menhir_s;
30685 MenhirLib.EngineTypes.startp = _startpos__1_;
30686 MenhirLib.EngineTypes.endp = _endpos__1_;
30687 MenhirLib.EngineTypes.next = _menhir_stack;
30688 } = _menhir_stack in
30689 let _startpos = _startpos__1_ in
30690 let _endpos = _endpos__1_ in
30691 let _v : 'tv_pure =
30692 # 196 "parser_cocci_menhir.mly"
30693 ( Ast0.Pure )
30694 # 30695 "parser_cocci_menhir.ml"
30695 in
30696 _menhir_env.MenhirLib.EngineTypes.stack <- {
30697 MenhirLib.EngineTypes.state = _menhir_s;
30698 MenhirLib.EngineTypes.semv = Obj.repr _v;
30699 MenhirLib.EngineTypes.startp = _startpos;
30700 MenhirLib.EngineTypes.endp = _endpos;
30701 MenhirLib.EngineTypes.next = _menhir_stack;
30702 });
30703 (fun _menhir_env ->
30704 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30705 let {
30706 MenhirLib.EngineTypes.state = _menhir_s;
30707 MenhirLib.EngineTypes.startp = _startpos__1_;
30708 MenhirLib.EngineTypes.endp = _endpos__1_;
30709 MenhirLib.EngineTypes.next = _menhir_stack;
30710 } = _menhir_stack in
30711 let _startpos = _startpos__1_ in
30712 let _endpos = _endpos__1_ in
30713 let _v : 'tv_pure =
30714 # 197 "parser_cocci_menhir.mly"
30715 ( Ast0.Context )
30716 # 30717 "parser_cocci_menhir.ml"
30717 in
30718 _menhir_env.MenhirLib.EngineTypes.stack <- {
30719 MenhirLib.EngineTypes.state = _menhir_s;
30720 MenhirLib.EngineTypes.semv = Obj.repr _v;
30721 MenhirLib.EngineTypes.startp = _startpos;
30722 MenhirLib.EngineTypes.endp = _endpos;
30723 MenhirLib.EngineTypes.next = _menhir_stack;
30724 });
30725 (fun _menhir_env ->
30726 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30727 let {
30728 MenhirLib.EngineTypes.startp = _startpos__2_;
30729 MenhirLib.EngineTypes.endp = _endpos__2_;
30730 MenhirLib.EngineTypes.next = {
30731 MenhirLib.EngineTypes.state = _menhir_s;
30732 MenhirLib.EngineTypes.startp = _startpos__1_;
30733 MenhirLib.EngineTypes.endp = _endpos__1_;
30734 MenhirLib.EngineTypes.next = _menhir_stack;
30735 };
30736 } = _menhir_stack in
30737 let _startpos = _startpos__1_ in
30738 let _endpos = _endpos__2_ in
30739 let _v : 'tv_pure =
30740 # 198 "parser_cocci_menhir.mly"
30741 ( Ast0.PureContext )
30742 # 30743 "parser_cocci_menhir.ml"
30743 in
30744 _menhir_env.MenhirLib.EngineTypes.stack <- {
30745 MenhirLib.EngineTypes.state = _menhir_s;
30746 MenhirLib.EngineTypes.semv = Obj.repr _v;
30747 MenhirLib.EngineTypes.startp = _startpos;
30748 MenhirLib.EngineTypes.endp = _endpos;
30749 MenhirLib.EngineTypes.next = _menhir_stack;
30750 });
30751 (fun _menhir_env ->
30752 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30753 let {
30754 MenhirLib.EngineTypes.startp = _startpos__2_;
30755 MenhirLib.EngineTypes.endp = _endpos__2_;
30756 MenhirLib.EngineTypes.next = {
30757 MenhirLib.EngineTypes.state = _menhir_s;
30758 MenhirLib.EngineTypes.startp = _startpos__1_;
30759 MenhirLib.EngineTypes.endp = _endpos__1_;
30760 MenhirLib.EngineTypes.next = _menhir_stack;
30761 };
30762 } = _menhir_stack in
30763 let _startpos = _startpos__1_ in
30764 let _endpos = _endpos__2_ in
30765 let _v : 'tv_pure =
30766 # 199 "parser_cocci_menhir.mly"
30767 ( Ast0.PureContext )
30768 # 30769 "parser_cocci_menhir.ml"
30769 in
30770 _menhir_env.MenhirLib.EngineTypes.stack <- {
30771 MenhirLib.EngineTypes.state = _menhir_s;
30772 MenhirLib.EngineTypes.semv = Obj.repr _v;
30773 MenhirLib.EngineTypes.startp = _startpos;
30774 MenhirLib.EngineTypes.endp = _endpos;
30775 MenhirLib.EngineTypes.next = _menhir_stack;
30776 });
30777 (fun _menhir_env ->
30778 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30779 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
30780 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
30781 let _endpos = _startpos in
30782 let _v : 'tv_pure =
30783 # 200 "parser_cocci_menhir.mly"
30784 ( Ast0.Impure )
30785 # 30786 "parser_cocci_menhir.ml"
30786 in
30787 _menhir_env.MenhirLib.EngineTypes.stack <- {
30788 MenhirLib.EngineTypes.state = _menhir_s;
30789 MenhirLib.EngineTypes.semv = Obj.repr _v;
30790 MenhirLib.EngineTypes.startp = _startpos;
30791 MenhirLib.EngineTypes.endp = _endpos;
30792 MenhirLib.EngineTypes.next = _menhir_stack;
30793 });
30794 (fun _menhir_env ->
30795 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30796 let {
30797 MenhirLib.EngineTypes.state = _menhir_s;
30798 MenhirLib.EngineTypes.semv = _1;
30799 MenhirLib.EngineTypes.startp = _startpos__1_;
30800 MenhirLib.EngineTypes.endp = _endpos__1_;
30801 MenhirLib.EngineTypes.next = _menhir_stack;
30802 } = _menhir_stack in
30803 let _1 : (
30804 # 62 "parser_cocci_menhir.mly"
30805 (string * Data.clt)
30806 # 30807 "parser_cocci_menhir.ml"
30807 ) = Obj.magic _1 in
30808 let _startpos = _startpos__1_ in
30809 let _endpos = _endpos__1_ in
30810 let _v : 'tv_pure_ident =
30811 # 1535 "parser_cocci_menhir.mly"
30812 ( _1 )
30813 # 30814 "parser_cocci_menhir.ml"
30814 in
30815 _menhir_env.MenhirLib.EngineTypes.stack <- {
30816 MenhirLib.EngineTypes.state = _menhir_s;
30817 MenhirLib.EngineTypes.semv = Obj.repr _v;
30818 MenhirLib.EngineTypes.startp = _startpos;
30819 MenhirLib.EngineTypes.endp = _endpos;
30820 MenhirLib.EngineTypes.next = _menhir_stack;
30821 });
30822 (fun _menhir_env ->
30823 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30824 let {
30825 MenhirLib.EngineTypes.state = _menhir_s;
30826 MenhirLib.EngineTypes.startp = _startpos__1_;
30827 MenhirLib.EngineTypes.endp = _endpos__1_;
30828 MenhirLib.EngineTypes.next = _menhir_stack;
30829 } = _menhir_stack in
30830 let _startpos = _startpos__1_ in
30831 let _endpos = _endpos__1_ in
30832 let _v : 'tv_pure_ident_kwd =
30833 # 1538 "parser_cocci_menhir.mly"
30834 ( "identifier" )
30835 # 30836 "parser_cocci_menhir.ml"
30836 in
30837 _menhir_env.MenhirLib.EngineTypes.stack <- {
30838 MenhirLib.EngineTypes.state = _menhir_s;
30839 MenhirLib.EngineTypes.semv = Obj.repr _v;
30840 MenhirLib.EngineTypes.startp = _startpos;
30841 MenhirLib.EngineTypes.endp = _endpos;
30842 MenhirLib.EngineTypes.next = _menhir_stack;
30843 });
30844 (fun _menhir_env ->
30845 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30846 let {
30847 MenhirLib.EngineTypes.state = _menhir_s;
30848 MenhirLib.EngineTypes.startp = _startpos__1_;
30849 MenhirLib.EngineTypes.endp = _endpos__1_;
30850 MenhirLib.EngineTypes.next = _menhir_stack;
30851 } = _menhir_stack in
30852 let _startpos = _startpos__1_ in
30853 let _endpos = _endpos__1_ in
30854 let _v : 'tv_pure_ident_kwd =
30855 # 1539 "parser_cocci_menhir.mly"
30856 ( "expression" )
30857 # 30858 "parser_cocci_menhir.ml"
30858 in
30859 _menhir_env.MenhirLib.EngineTypes.stack <- {
30860 MenhirLib.EngineTypes.state = _menhir_s;
30861 MenhirLib.EngineTypes.semv = Obj.repr _v;
30862 MenhirLib.EngineTypes.startp = _startpos;
30863 MenhirLib.EngineTypes.endp = _endpos;
30864 MenhirLib.EngineTypes.next = _menhir_stack;
30865 });
30866 (fun _menhir_env ->
30867 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30868 let {
30869 MenhirLib.EngineTypes.state = _menhir_s;
30870 MenhirLib.EngineTypes.startp = _startpos__1_;
30871 MenhirLib.EngineTypes.endp = _endpos__1_;
30872 MenhirLib.EngineTypes.next = _menhir_stack;
30873 } = _menhir_stack in
30874 let _startpos = _startpos__1_ in
30875 let _endpos = _endpos__1_ in
30876 let _v : 'tv_pure_ident_kwd =
30877 # 1540 "parser_cocci_menhir.mly"
30878 ( "statement" )
30879 # 30880 "parser_cocci_menhir.ml"
30880 in
30881 _menhir_env.MenhirLib.EngineTypes.stack <- {
30882 MenhirLib.EngineTypes.state = _menhir_s;
30883 MenhirLib.EngineTypes.semv = Obj.repr _v;
30884 MenhirLib.EngineTypes.startp = _startpos;
30885 MenhirLib.EngineTypes.endp = _endpos;
30886 MenhirLib.EngineTypes.next = _menhir_stack;
30887 });
30888 (fun _menhir_env ->
30889 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30890 let {
30891 MenhirLib.EngineTypes.state = _menhir_s;
30892 MenhirLib.EngineTypes.startp = _startpos__1_;
30893 MenhirLib.EngineTypes.endp = _endpos__1_;
30894 MenhirLib.EngineTypes.next = _menhir_stack;
30895 } = _menhir_stack in
30896 let _startpos = _startpos__1_ in
30897 let _endpos = _endpos__1_ in
30898 let _v : 'tv_pure_ident_kwd =
30899 # 1541 "parser_cocci_menhir.mly"
30900 ( "function" )
30901 # 30902 "parser_cocci_menhir.ml"
30902 in
30903 _menhir_env.MenhirLib.EngineTypes.stack <- {
30904 MenhirLib.EngineTypes.state = _menhir_s;
30905 MenhirLib.EngineTypes.semv = Obj.repr _v;
30906 MenhirLib.EngineTypes.startp = _startpos;
30907 MenhirLib.EngineTypes.endp = _endpos;
30908 MenhirLib.EngineTypes.next = _menhir_stack;
30909 });
30910 (fun _menhir_env ->
30911 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30912 let {
30913 MenhirLib.EngineTypes.state = _menhir_s;
30914 MenhirLib.EngineTypes.startp = _startpos__1_;
30915 MenhirLib.EngineTypes.endp = _endpos__1_;
30916 MenhirLib.EngineTypes.next = _menhir_stack;
30917 } = _menhir_stack in
30918 let _startpos = _startpos__1_ in
30919 let _endpos = _endpos__1_ in
30920 let _v : 'tv_pure_ident_kwd =
30921 # 1542 "parser_cocci_menhir.mly"
30922 ( "local" )
30923 # 30924 "parser_cocci_menhir.ml"
30924 in
30925 _menhir_env.MenhirLib.EngineTypes.stack <- {
30926 MenhirLib.EngineTypes.state = _menhir_s;
30927 MenhirLib.EngineTypes.semv = Obj.repr _v;
30928 MenhirLib.EngineTypes.startp = _startpos;
30929 MenhirLib.EngineTypes.endp = _endpos;
30930 MenhirLib.EngineTypes.next = _menhir_stack;
30931 });
30932 (fun _menhir_env ->
30933 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30934 let {
30935 MenhirLib.EngineTypes.state = _menhir_s;
30936 MenhirLib.EngineTypes.startp = _startpos__1_;
30937 MenhirLib.EngineTypes.endp = _endpos__1_;
30938 MenhirLib.EngineTypes.next = _menhir_stack;
30939 } = _menhir_stack in
30940 let _startpos = _startpos__1_ in
30941 let _endpos = _endpos__1_ in
30942 let _v : 'tv_pure_ident_kwd =
30943 # 1543 "parser_cocci_menhir.mly"
30944 ( "type" )
30945 # 30946 "parser_cocci_menhir.ml"
30946 in
30947 _menhir_env.MenhirLib.EngineTypes.stack <- {
30948 MenhirLib.EngineTypes.state = _menhir_s;
30949 MenhirLib.EngineTypes.semv = Obj.repr _v;
30950 MenhirLib.EngineTypes.startp = _startpos;
30951 MenhirLib.EngineTypes.endp = _endpos;
30952 MenhirLib.EngineTypes.next = _menhir_stack;
30953 });
30954 (fun _menhir_env ->
30955 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30956 let {
30957 MenhirLib.EngineTypes.state = _menhir_s;
30958 MenhirLib.EngineTypes.startp = _startpos__1_;
30959 MenhirLib.EngineTypes.endp = _endpos__1_;
30960 MenhirLib.EngineTypes.next = _menhir_stack;
30961 } = _menhir_stack in
30962 let _startpos = _startpos__1_ in
30963 let _endpos = _endpos__1_ in
30964 let _v : 'tv_pure_ident_kwd =
30965 # 1544 "parser_cocci_menhir.mly"
30966 ( "parameter" )
30967 # 30968 "parser_cocci_menhir.ml"
30968 in
30969 _menhir_env.MenhirLib.EngineTypes.stack <- {
30970 MenhirLib.EngineTypes.state = _menhir_s;
30971 MenhirLib.EngineTypes.semv = Obj.repr _v;
30972 MenhirLib.EngineTypes.startp = _startpos;
30973 MenhirLib.EngineTypes.endp = _endpos;
30974 MenhirLib.EngineTypes.next = _menhir_stack;
30975 });
30976 (fun _menhir_env ->
30977 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
30978 let {
30979 MenhirLib.EngineTypes.state = _menhir_s;
30980 MenhirLib.EngineTypes.startp = _startpos__1_;
30981 MenhirLib.EngineTypes.endp = _endpos__1_;
30982 MenhirLib.EngineTypes.next = _menhir_stack;
30983 } = _menhir_stack in
30984 let _startpos = _startpos__1_ in
30985 let _endpos = _endpos__1_ in
30986 let _v : 'tv_pure_ident_kwd =
30987 # 1545 "parser_cocci_menhir.mly"
30988 ( "idexpression" )
30989 # 30990 "parser_cocci_menhir.ml"
30990 in
30991 _menhir_env.MenhirLib.EngineTypes.stack <- {
30992 MenhirLib.EngineTypes.state = _menhir_s;
30993 MenhirLib.EngineTypes.semv = Obj.repr _v;
30994 MenhirLib.EngineTypes.startp = _startpos;
30995 MenhirLib.EngineTypes.endp = _endpos;
30996 MenhirLib.EngineTypes.next = _menhir_stack;
30997 });
30998 (fun _menhir_env ->
30999 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31000 let {
31001 MenhirLib.EngineTypes.state = _menhir_s;
31002 MenhirLib.EngineTypes.startp = _startpos__1_;
31003 MenhirLib.EngineTypes.endp = _endpos__1_;
31004 MenhirLib.EngineTypes.next = _menhir_stack;
31005 } = _menhir_stack in
31006 let _startpos = _startpos__1_ in
31007 let _endpos = _endpos__1_ in
31008 let _v : 'tv_pure_ident_kwd =
31009 # 1546 "parser_cocci_menhir.mly"
31010 ( "initialiser" )
31011 # 31012 "parser_cocci_menhir.ml"
31012 in
31013 _menhir_env.MenhirLib.EngineTypes.stack <- {
31014 MenhirLib.EngineTypes.state = _menhir_s;
31015 MenhirLib.EngineTypes.semv = Obj.repr _v;
31016 MenhirLib.EngineTypes.startp = _startpos;
31017 MenhirLib.EngineTypes.endp = _endpos;
31018 MenhirLib.EngineTypes.next = _menhir_stack;
31019 });
31020 (fun _menhir_env ->
31021 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31022 let {
31023 MenhirLib.EngineTypes.state = _menhir_s;
31024 MenhirLib.EngineTypes.startp = _startpos__1_;
31025 MenhirLib.EngineTypes.endp = _endpos__1_;
31026 MenhirLib.EngineTypes.next = _menhir_stack;
31027 } = _menhir_stack in
31028 let _startpos = _startpos__1_ in
31029 let _endpos = _endpos__1_ in
31030 let _v : 'tv_pure_ident_kwd =
31031 # 1547 "parser_cocci_menhir.mly"
31032 ( "list" )
31033 # 31034 "parser_cocci_menhir.ml"
31034 in
31035 _menhir_env.MenhirLib.EngineTypes.stack <- {
31036 MenhirLib.EngineTypes.state = _menhir_s;
31037 MenhirLib.EngineTypes.semv = Obj.repr _v;
31038 MenhirLib.EngineTypes.startp = _startpos;
31039 MenhirLib.EngineTypes.endp = _endpos;
31040 MenhirLib.EngineTypes.next = _menhir_stack;
31041 });
31042 (fun _menhir_env ->
31043 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31044 let {
31045 MenhirLib.EngineTypes.state = _menhir_s;
31046 MenhirLib.EngineTypes.startp = _startpos__1_;
31047 MenhirLib.EngineTypes.endp = _endpos__1_;
31048 MenhirLib.EngineTypes.next = _menhir_stack;
31049 } = _menhir_stack in
31050 let _startpos = _startpos__1_ in
31051 let _endpos = _endpos__1_ in
31052 let _v : 'tv_pure_ident_kwd =
31053 # 1548 "parser_cocci_menhir.mly"
31054 ( "fresh" )
31055 # 31056 "parser_cocci_menhir.ml"
31056 in
31057 _menhir_env.MenhirLib.EngineTypes.stack <- {
31058 MenhirLib.EngineTypes.state = _menhir_s;
31059 MenhirLib.EngineTypes.semv = Obj.repr _v;
31060 MenhirLib.EngineTypes.startp = _startpos;
31061 MenhirLib.EngineTypes.endp = _endpos;
31062 MenhirLib.EngineTypes.next = _menhir_stack;
31063 });
31064 (fun _menhir_env ->
31065 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31066 let {
31067 MenhirLib.EngineTypes.state = _menhir_s;
31068 MenhirLib.EngineTypes.startp = _startpos__1_;
31069 MenhirLib.EngineTypes.endp = _endpos__1_;
31070 MenhirLib.EngineTypes.next = _menhir_stack;
31071 } = _menhir_stack in
31072 let _startpos = _startpos__1_ in
31073 let _endpos = _endpos__1_ in
31074 let _v : 'tv_pure_ident_kwd =
31075 # 1549 "parser_cocci_menhir.mly"
31076 ( "constant" )
31077 # 31078 "parser_cocci_menhir.ml"
31078 in
31079 _menhir_env.MenhirLib.EngineTypes.stack <- {
31080 MenhirLib.EngineTypes.state = _menhir_s;
31081 MenhirLib.EngineTypes.semv = Obj.repr _v;
31082 MenhirLib.EngineTypes.startp = _startpos;
31083 MenhirLib.EngineTypes.endp = _endpos;
31084 MenhirLib.EngineTypes.next = _menhir_stack;
31085 });
31086 (fun _menhir_env ->
31087 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31088 let {
31089 MenhirLib.EngineTypes.state = _menhir_s;
31090 MenhirLib.EngineTypes.startp = _startpos__1_;
31091 MenhirLib.EngineTypes.endp = _endpos__1_;
31092 MenhirLib.EngineTypes.next = _menhir_stack;
31093 } = _menhir_stack in
31094 let _startpos = _startpos__1_ in
31095 let _endpos = _endpos__1_ in
31096 let _v : 'tv_pure_ident_kwd =
31097 # 1550 "parser_cocci_menhir.mly"
31098 ( "error" )
31099 # 31100 "parser_cocci_menhir.ml"
31100 in
31101 _menhir_env.MenhirLib.EngineTypes.stack <- {
31102 MenhirLib.EngineTypes.state = _menhir_s;
31103 MenhirLib.EngineTypes.semv = Obj.repr _v;
31104 MenhirLib.EngineTypes.startp = _startpos;
31105 MenhirLib.EngineTypes.endp = _endpos;
31106 MenhirLib.EngineTypes.next = _menhir_stack;
31107 });
31108 (fun _menhir_env ->
31109 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31110 let {
31111 MenhirLib.EngineTypes.state = _menhir_s;
31112 MenhirLib.EngineTypes.startp = _startpos__1_;
31113 MenhirLib.EngineTypes.endp = _endpos__1_;
31114 MenhirLib.EngineTypes.next = _menhir_stack;
31115 } = _menhir_stack in
31116 let _startpos = _startpos__1_ in
31117 let _endpos = _endpos__1_ in
31118 let _v : 'tv_pure_ident_kwd =
31119 # 1551 "parser_cocci_menhir.mly"
31120 ( "words" )
31121 # 31122 "parser_cocci_menhir.ml"
31122 in
31123 _menhir_env.MenhirLib.EngineTypes.stack <- {
31124 MenhirLib.EngineTypes.state = _menhir_s;
31125 MenhirLib.EngineTypes.semv = Obj.repr _v;
31126 MenhirLib.EngineTypes.startp = _startpos;
31127 MenhirLib.EngineTypes.endp = _endpos;
31128 MenhirLib.EngineTypes.next = _menhir_stack;
31129 });
31130 (fun _menhir_env ->
31131 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31132 let {
31133 MenhirLib.EngineTypes.state = _menhir_s;
31134 MenhirLib.EngineTypes.startp = _startpos__1_;
31135 MenhirLib.EngineTypes.endp = _endpos__1_;
31136 MenhirLib.EngineTypes.next = _menhir_stack;
31137 } = _menhir_stack in
31138 let _startpos = _startpos__1_ in
31139 let _endpos = _endpos__1_ in
31140 let _v : 'tv_pure_ident_kwd =
31141 # 1552 "parser_cocci_menhir.mly"
31142 ( "pure" )
31143 # 31144 "parser_cocci_menhir.ml"
31144 in
31145 _menhir_env.MenhirLib.EngineTypes.stack <- {
31146 MenhirLib.EngineTypes.state = _menhir_s;
31147 MenhirLib.EngineTypes.semv = Obj.repr _v;
31148 MenhirLib.EngineTypes.startp = _startpos;
31149 MenhirLib.EngineTypes.endp = _endpos;
31150 MenhirLib.EngineTypes.next = _menhir_stack;
31151 });
31152 (fun _menhir_env ->
31153 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31154 let {
31155 MenhirLib.EngineTypes.state = _menhir_s;
31156 MenhirLib.EngineTypes.startp = _startpos__1_;
31157 MenhirLib.EngineTypes.endp = _endpos__1_;
31158 MenhirLib.EngineTypes.next = _menhir_stack;
31159 } = _menhir_stack in
31160 let _startpos = _startpos__1_ in
31161 let _endpos = _endpos__1_ in
31162 let _v : 'tv_pure_ident_kwd =
31163 # 1553 "parser_cocci_menhir.mly"
31164 ( "context" )
31165 # 31166 "parser_cocci_menhir.ml"
31166 in
31167 _menhir_env.MenhirLib.EngineTypes.stack <- {
31168 MenhirLib.EngineTypes.state = _menhir_s;
31169 MenhirLib.EngineTypes.semv = Obj.repr _v;
31170 MenhirLib.EngineTypes.startp = _startpos;
31171 MenhirLib.EngineTypes.endp = _endpos;
31172 MenhirLib.EngineTypes.next = _menhir_stack;
31173 });
31174 (fun _menhir_env ->
31175 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31176 let {
31177 MenhirLib.EngineTypes.state = _menhir_s;
31178 MenhirLib.EngineTypes.startp = _startpos__1_;
31179 MenhirLib.EngineTypes.endp = _endpos__1_;
31180 MenhirLib.EngineTypes.next = _menhir_stack;
31181 } = _menhir_stack in
31182 let _startpos = _startpos__1_ in
31183 let _endpos = _endpos__1_ in
31184 let _v : 'tv_pure_ident_kwd =
31185 # 1554 "parser_cocci_menhir.mly"
31186 ( "generated" )
31187 # 31188 "parser_cocci_menhir.ml"
31188 in
31189 _menhir_env.MenhirLib.EngineTypes.stack <- {
31190 MenhirLib.EngineTypes.state = _menhir_s;
31191 MenhirLib.EngineTypes.semv = Obj.repr _v;
31192 MenhirLib.EngineTypes.startp = _startpos;
31193 MenhirLib.EngineTypes.endp = _endpos;
31194 MenhirLib.EngineTypes.next = _menhir_stack;
31195 });
31196 (fun _menhir_env ->
31197 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31198 let {
31199 MenhirLib.EngineTypes.state = _menhir_s;
31200 MenhirLib.EngineTypes.startp = _startpos__1_;
31201 MenhirLib.EngineTypes.endp = _endpos__1_;
31202 MenhirLib.EngineTypes.next = _menhir_stack;
31203 } = _menhir_stack in
31204 let _startpos = _startpos__1_ in
31205 let _endpos = _endpos__1_ in
31206 let _v : 'tv_pure_ident_kwd =
31207 # 1555 "parser_cocci_menhir.mly"
31208 ( "typedef" )
31209 # 31210 "parser_cocci_menhir.ml"
31210 in
31211 _menhir_env.MenhirLib.EngineTypes.stack <- {
31212 MenhirLib.EngineTypes.state = _menhir_s;
31213 MenhirLib.EngineTypes.semv = Obj.repr _v;
31214 MenhirLib.EngineTypes.startp = _startpos;
31215 MenhirLib.EngineTypes.endp = _endpos;
31216 MenhirLib.EngineTypes.next = _menhir_stack;
31217 });
31218 (fun _menhir_env ->
31219 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31220 let {
31221 MenhirLib.EngineTypes.state = _menhir_s;
31222 MenhirLib.EngineTypes.startp = _startpos__1_;
31223 MenhirLib.EngineTypes.endp = _endpos__1_;
31224 MenhirLib.EngineTypes.next = _menhir_stack;
31225 } = _menhir_stack in
31226 let _startpos = _startpos__1_ in
31227 let _endpos = _endpos__1_ in
31228 let _v : 'tv_pure_ident_kwd =
31229 # 1556 "parser_cocci_menhir.mly"
31230 ( "declarer" )
31231 # 31232 "parser_cocci_menhir.ml"
31232 in
31233 _menhir_env.MenhirLib.EngineTypes.stack <- {
31234 MenhirLib.EngineTypes.state = _menhir_s;
31235 MenhirLib.EngineTypes.semv = Obj.repr _v;
31236 MenhirLib.EngineTypes.startp = _startpos;
31237 MenhirLib.EngineTypes.endp = _endpos;
31238 MenhirLib.EngineTypes.next = _menhir_stack;
31239 });
31240 (fun _menhir_env ->
31241 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31242 let {
31243 MenhirLib.EngineTypes.state = _menhir_s;
31244 MenhirLib.EngineTypes.startp = _startpos__1_;
31245 MenhirLib.EngineTypes.endp = _endpos__1_;
31246 MenhirLib.EngineTypes.next = _menhir_stack;
31247 } = _menhir_stack in
31248 let _startpos = _startpos__1_ in
31249 let _endpos = _endpos__1_ in
31250 let _v : 'tv_pure_ident_kwd =
31251 # 1557 "parser_cocci_menhir.mly"
31252 ( "iterator" )
31253 # 31254 "parser_cocci_menhir.ml"
31254 in
31255 _menhir_env.MenhirLib.EngineTypes.stack <- {
31256 MenhirLib.EngineTypes.state = _menhir_s;
31257 MenhirLib.EngineTypes.semv = Obj.repr _v;
31258 MenhirLib.EngineTypes.startp = _startpos;
31259 MenhirLib.EngineTypes.endp = _endpos;
31260 MenhirLib.EngineTypes.next = _menhir_stack;
31261 });
31262 (fun _menhir_env ->
31263 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31264 let {
31265 MenhirLib.EngineTypes.state = _menhir_s;
31266 MenhirLib.EngineTypes.startp = _startpos__1_;
31267 MenhirLib.EngineTypes.endp = _endpos__1_;
31268 MenhirLib.EngineTypes.next = _menhir_stack;
31269 } = _menhir_stack in
31270 let _startpos = _startpos__1_ in
31271 let _endpos = _endpos__1_ in
31272 let _v : 'tv_pure_ident_kwd =
31273 # 1558 "parser_cocci_menhir.mly"
31274 ( "name" )
31275 # 31276 "parser_cocci_menhir.ml"
31276 in
31277 _menhir_env.MenhirLib.EngineTypes.stack <- {
31278 MenhirLib.EngineTypes.state = _menhir_s;
31279 MenhirLib.EngineTypes.semv = Obj.repr _v;
31280 MenhirLib.EngineTypes.startp = _startpos;
31281 MenhirLib.EngineTypes.endp = _endpos;
31282 MenhirLib.EngineTypes.next = _menhir_stack;
31283 });
31284 (fun _menhir_env ->
31285 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31286 let {
31287 MenhirLib.EngineTypes.state = _menhir_s;
31288 MenhirLib.EngineTypes.startp = _startpos__1_;
31289 MenhirLib.EngineTypes.endp = _endpos__1_;
31290 MenhirLib.EngineTypes.next = _menhir_stack;
31291 } = _menhir_stack in
31292 let _startpos = _startpos__1_ in
31293 let _endpos = _endpos__1_ in
31294 let _v : 'tv_pure_ident_kwd =
31295 # 1559 "parser_cocci_menhir.mly"
31296 ( "position" )
31297 # 31298 "parser_cocci_menhir.ml"
31298 in
31299 _menhir_env.MenhirLib.EngineTypes.stack <- {
31300 MenhirLib.EngineTypes.state = _menhir_s;
31301 MenhirLib.EngineTypes.semv = Obj.repr _v;
31302 MenhirLib.EngineTypes.startp = _startpos;
31303 MenhirLib.EngineTypes.endp = _endpos;
31304 MenhirLib.EngineTypes.next = _menhir_stack;
31305 });
31306 (fun _menhir_env ->
31307 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31308 let {
31309 MenhirLib.EngineTypes.state = _menhir_s;
31310 MenhirLib.EngineTypes.semv = _1;
31311 MenhirLib.EngineTypes.startp = _startpos__1_;
31312 MenhirLib.EngineTypes.endp = _endpos__1_;
31313 MenhirLib.EngineTypes.next = _menhir_stack;
31314 } = _menhir_stack in
31315 let _1 : 'tv_pure_ident = Obj.magic _1 in
31316 let _startpos = _startpos__1_ in
31317 let _endpos = _endpos__1_ in
31318 let _v : 'tv_pure_ident_or_meta_ident =
31319 # 1566 "parser_cocci_menhir.mly"
31320 ( (None,P.id2name _1) )
31321 # 31322 "parser_cocci_menhir.ml"
31322 in
31323 _menhir_env.MenhirLib.EngineTypes.stack <- {
31324 MenhirLib.EngineTypes.state = _menhir_s;
31325 MenhirLib.EngineTypes.semv = Obj.repr _v;
31326 MenhirLib.EngineTypes.startp = _startpos;
31327 MenhirLib.EngineTypes.endp = _endpos;
31328 MenhirLib.EngineTypes.next = _menhir_stack;
31329 });
31330 (fun _menhir_env ->
31331 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31332 let {
31333 MenhirLib.EngineTypes.state = _menhir_s;
31334 MenhirLib.EngineTypes.semv = _1;
31335 MenhirLib.EngineTypes.startp = _startpos__1_;
31336 MenhirLib.EngineTypes.endp = _endpos__1_;
31337 MenhirLib.EngineTypes.next = _menhir_stack;
31338 } = _menhir_stack in
31339 let _1 : 'tv_pure_ident_kwd = Obj.magic _1 in
31340 let _startpos = _startpos__1_ in
31341 let _endpos = _endpos__1_ in
31342 let _v : 'tv_pure_ident_or_meta_ident =
31343 # 1567 "parser_cocci_menhir.mly"
31344 ( (None,_1) )
31345 # 31346 "parser_cocci_menhir.ml"
31346 in
31347 _menhir_env.MenhirLib.EngineTypes.stack <- {
31348 MenhirLib.EngineTypes.state = _menhir_s;
31349 MenhirLib.EngineTypes.semv = Obj.repr _v;
31350 MenhirLib.EngineTypes.startp = _startpos;
31351 MenhirLib.EngineTypes.endp = _endpos;
31352 MenhirLib.EngineTypes.next = _menhir_stack;
31353 });
31354 (fun _menhir_env ->
31355 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31356 let {
31357 MenhirLib.EngineTypes.state = _menhir_s;
31358 MenhirLib.EngineTypes.semv = _1;
31359 MenhirLib.EngineTypes.startp = _startpos__1_;
31360 MenhirLib.EngineTypes.endp = _endpos__1_;
31361 MenhirLib.EngineTypes.next = _menhir_stack;
31362 } = _menhir_stack in
31363 let _1 : 'tv_meta_ident = Obj.magic _1 in
31364 let _startpos = _startpos__1_ in
31365 let _endpos = _endpos__1_ in
31366 let _v : 'tv_pure_ident_or_meta_ident =
31367 # 1568 "parser_cocci_menhir.mly"
31368 ( _1 )
31369 # 31370 "parser_cocci_menhir.ml"
31370 in
31371 _menhir_env.MenhirLib.EngineTypes.stack <- {
31372 MenhirLib.EngineTypes.state = _menhir_s;
31373 MenhirLib.EngineTypes.semv = Obj.repr _v;
31374 MenhirLib.EngineTypes.startp = _startpos;
31375 MenhirLib.EngineTypes.endp = _endpos;
31376 MenhirLib.EngineTypes.next = _menhir_stack;
31377 });
31378 (fun _menhir_env ->
31379 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31380 let {
31381 MenhirLib.EngineTypes.semv = optc;
31382 MenhirLib.EngineTypes.startp = _startpos_optc_;
31383 MenhirLib.EngineTypes.endp = _endpos_optc_;
31384 MenhirLib.EngineTypes.next = {
31385 MenhirLib.EngineTypes.state = _menhir_s;
31386 MenhirLib.EngineTypes.semv = i;
31387 MenhirLib.EngineTypes.startp = _startpos_i_;
31388 MenhirLib.EngineTypes.endp = _endpos_i_;
31389 MenhirLib.EngineTypes.next = _menhir_stack;
31390 };
31391 } = _menhir_stack in
31392 let optc : 'tv_option_not_ceq_or_sub_ = Obj.magic optc in
31393 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
31394 let _startpos = _startpos_i_ in
31395 let _endpos = _endpos_optc_ in
31396 let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ =
31397 # 1594 "parser_cocci_menhir.mly"
31398 (
31399 match optc with
31400 None -> (i, Ast0.NoConstraint)
31401 | Some c -> (i, c)
31402 )
31403 # 31404 "parser_cocci_menhir.ml"
31404 in
31405 _menhir_env.MenhirLib.EngineTypes.stack <- {
31406 MenhirLib.EngineTypes.state = _menhir_s;
31407 MenhirLib.EngineTypes.semv = Obj.repr _v;
31408 MenhirLib.EngineTypes.startp = _startpos;
31409 MenhirLib.EngineTypes.endp = _endpos;
31410 MenhirLib.EngineTypes.next = _menhir_stack;
31411 });
31412 (fun _menhir_env ->
31413 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31414 let {
31415 MenhirLib.EngineTypes.semv = optc;
31416 MenhirLib.EngineTypes.startp = _startpos_optc_;
31417 MenhirLib.EngineTypes.endp = _endpos_optc_;
31418 MenhirLib.EngineTypes.next = {
31419 MenhirLib.EngineTypes.state = _menhir_s;
31420 MenhirLib.EngineTypes.semv = i;
31421 MenhirLib.EngineTypes.startp = _startpos_i_;
31422 MenhirLib.EngineTypes.endp = _endpos_i_;
31423 MenhirLib.EngineTypes.next = _menhir_stack;
31424 };
31425 } = _menhir_stack in
31426 let optc : 'tv_option_re_or_not_eqe_or_sub_ = Obj.magic optc in
31427 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
31428 let _startpos = _startpos_i_ in
31429 let _endpos = _endpos_optc_ in
31430 let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ =
31431 # 1594 "parser_cocci_menhir.mly"
31432 (
31433 match optc with
31434 None -> (i, Ast0.NoConstraint)
31435 | Some c -> (i, c)
31436 )
31437 # 31438 "parser_cocci_menhir.ml"
31438 in
31439 _menhir_env.MenhirLib.EngineTypes.stack <- {
31440 MenhirLib.EngineTypes.state = _menhir_s;
31441 MenhirLib.EngineTypes.semv = Obj.repr _v;
31442 MenhirLib.EngineTypes.startp = _startpos;
31443 MenhirLib.EngineTypes.endp = _endpos;
31444 MenhirLib.EngineTypes.next = _menhir_stack;
31445 });
31446 (fun _menhir_env ->
31447 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31448 let {
31449 MenhirLib.EngineTypes.semv = c;
31450 MenhirLib.EngineTypes.startp = _startpos_c_;
31451 MenhirLib.EngineTypes.endp = _endpos_c_;
31452 MenhirLib.EngineTypes.next = {
31453 MenhirLib.EngineTypes.state = _menhir_s;
31454 MenhirLib.EngineTypes.semv = i;
31455 MenhirLib.EngineTypes.startp = _startpos_i_;
31456 MenhirLib.EngineTypes.endp = _endpos_i_;
31457 MenhirLib.EngineTypes.next = _menhir_stack;
31458 };
31459 } = _menhir_stack in
31460 let c : 'tv_option_re_or_not_eqid_ = Obj.magic c in
31461 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
31462 let _startpos = _startpos_i_ in
31463 let _endpos = _endpos_c_ in
31464 let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ =
31465 # 1619 "parser_cocci_menhir.mly"
31466 (
31467 match c with
31468 None -> (i, Ast.IdNoConstraint)
31469 | Some constraint_ -> (i,constraint_)
31470 )
31471 # 31472 "parser_cocci_menhir.ml"
31472 in
31473 _menhir_env.MenhirLib.EngineTypes.stack <- {
31474 MenhirLib.EngineTypes.state = _menhir_s;
31475 MenhirLib.EngineTypes.semv = Obj.repr _v;
31476 MenhirLib.EngineTypes.startp = _startpos;
31477 MenhirLib.EngineTypes.endp = _endpos;
31478 MenhirLib.EngineTypes.next = _menhir_stack;
31479 });
31480 (fun _menhir_env ->
31481 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31482 let {
31483 MenhirLib.EngineTypes.semv = c;
31484 MenhirLib.EngineTypes.startp = _startpos_c_;
31485 MenhirLib.EngineTypes.endp = _endpos_c_;
31486 MenhirLib.EngineTypes.next = {
31487 MenhirLib.EngineTypes.state = _menhir_s;
31488 MenhirLib.EngineTypes.semv = i;
31489 MenhirLib.EngineTypes.startp = _startpos_i_;
31490 MenhirLib.EngineTypes.endp = _endpos_i_;
31491 MenhirLib.EngineTypes.next = _menhir_stack;
31492 };
31493 } = _menhir_stack in
31494 let c : 'tv_option_re_or_not_eqid_ = Obj.magic c in
31495 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
31496 let _startpos = _startpos_i_ in
31497 let _endpos = _endpos_c_ in
31498 let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ =
31499 # 1602 "parser_cocci_menhir.mly"
31500 (
31501 Common.Left
31502 (match c with
31503 None -> (i, Ast.IdNoConstraint)
31504 | Some constraint_ -> (i,constraint_))
31505 )
31506 # 31507 "parser_cocci_menhir.ml"
31507 in
31508 _menhir_env.MenhirLib.EngineTypes.stack <- {
31509 MenhirLib.EngineTypes.state = _menhir_s;
31510 MenhirLib.EngineTypes.semv = Obj.repr _v;
31511 MenhirLib.EngineTypes.startp = _startpos;
31512 MenhirLib.EngineTypes.endp = _endpos;
31513 MenhirLib.EngineTypes.next = _menhir_stack;
31514 });
31515 (fun _menhir_env ->
31516 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31517 let {
31518 MenhirLib.EngineTypes.semv = _3;
31519 MenhirLib.EngineTypes.startp = _startpos__3_;
31520 MenhirLib.EngineTypes.endp = _endpos__3_;
31521 MenhirLib.EngineTypes.next = {
31522 MenhirLib.EngineTypes.startp = _startpos__2_;
31523 MenhirLib.EngineTypes.endp = _endpos__2_;
31524 MenhirLib.EngineTypes.next = {
31525 MenhirLib.EngineTypes.state = _menhir_s;
31526 MenhirLib.EngineTypes.startp = _startpos__1_;
31527 MenhirLib.EngineTypes.endp = _endpos__1_;
31528 MenhirLib.EngineTypes.next = _menhir_stack;
31529 };
31530 };
31531 } = _menhir_stack in
31532 let _3 : 'tv_pure_ident = Obj.magic _3 in
31533 let _startpos = _startpos__1_ in
31534 let _endpos = _endpos__3_ in
31535 let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ =
31536 # 1609 "parser_cocci_menhir.mly"
31537 (
31538 let nm = P.id2name _3 in
31539 Iteration.parsed_virtual_identifiers :=
31540 Common.union_set [nm]
31541 !Iteration.parsed_virtual_identifiers;
31542 Common.Right nm
31543 )
31544 # 31545 "parser_cocci_menhir.ml"
31545 in
31546 _menhir_env.MenhirLib.EngineTypes.stack <- {
31547 MenhirLib.EngineTypes.state = _menhir_s;
31548 MenhirLib.EngineTypes.semv = Obj.repr _v;
31549 MenhirLib.EngineTypes.startp = _startpos;
31550 MenhirLib.EngineTypes.endp = _endpos;
31551 MenhirLib.EngineTypes.next = _menhir_stack;
31552 });
31553 (fun _menhir_env ->
31554 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31555 let {
31556 MenhirLib.EngineTypes.state = _menhir_s;
31557 MenhirLib.EngineTypes.semv = _1;
31558 MenhirLib.EngineTypes.startp = _startpos__1_;
31559 MenhirLib.EngineTypes.endp = _endpos__1_;
31560 MenhirLib.EngineTypes.next = _menhir_stack;
31561 } = _menhir_stack in
31562 let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
31563 let _startpos = _startpos__1_ in
31564 let _endpos = _endpos__1_ in
31565 let _v : 'tv_pure_ident_or_meta_ident_with_seed =
31566 # 1571 "parser_cocci_menhir.mly"
31567 ( (_1,Ast.NoVal) )
31568 # 31569 "parser_cocci_menhir.ml"
31569 in
31570 _menhir_env.MenhirLib.EngineTypes.stack <- {
31571 MenhirLib.EngineTypes.state = _menhir_s;
31572 MenhirLib.EngineTypes.semv = Obj.repr _v;
31573 MenhirLib.EngineTypes.startp = _startpos;
31574 MenhirLib.EngineTypes.endp = _endpos;
31575 MenhirLib.EngineTypes.next = _menhir_stack;
31576 });
31577 (fun _menhir_env ->
31578 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31579 let {
31580 MenhirLib.EngineTypes.semv = _3;
31581 MenhirLib.EngineTypes.startp = _startpos__3_;
31582 MenhirLib.EngineTypes.endp = _endpos__3_;
31583 MenhirLib.EngineTypes.next = {
31584 MenhirLib.EngineTypes.startp = _startpos__2_;
31585 MenhirLib.EngineTypes.endp = _endpos__2_;
31586 MenhirLib.EngineTypes.next = {
31587 MenhirLib.EngineTypes.state = _menhir_s;
31588 MenhirLib.EngineTypes.semv = _1;
31589 MenhirLib.EngineTypes.startp = _startpos__1_;
31590 MenhirLib.EngineTypes.endp = _endpos__1_;
31591 MenhirLib.EngineTypes.next = _menhir_stack;
31592 };
31593 };
31594 } = _menhir_stack in
31595 let _3 : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic _3 in
31596 let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
31597 let _startpos = _startpos__1_ in
31598 let _endpos = _endpos__3_ in
31599 let _v : 'tv_pure_ident_or_meta_ident_with_seed =
31600 # 1574 "parser_cocci_menhir.mly"
31601 ( match _3 with
31602 [Ast.SeedString s] -> (_1,Ast.StringSeed s)
31603 | _ -> (_1,Ast.ListSeed _3) )
31604 # 31605 "parser_cocci_menhir.ml"
31605 in
31606 _menhir_env.MenhirLib.EngineTypes.stack <- {
31607 MenhirLib.EngineTypes.state = _menhir_s;
31608 MenhirLib.EngineTypes.semv = Obj.repr _v;
31609 MenhirLib.EngineTypes.startp = _startpos;
31610 MenhirLib.EngineTypes.endp = _endpos;
31611 MenhirLib.EngineTypes.next = _menhir_stack;
31612 });
31613 (fun _menhir_env ->
31614 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31615 let {
31616 MenhirLib.EngineTypes.semv = l;
31617 MenhirLib.EngineTypes.startp = _startpos_l_;
31618 MenhirLib.EngineTypes.endp = _endpos_l_;
31619 MenhirLib.EngineTypes.next = {
31620 MenhirLib.EngineTypes.state = _menhir_s;
31621 MenhirLib.EngineTypes.semv = i;
31622 MenhirLib.EngineTypes.startp = _startpos_i_;
31623 MenhirLib.EngineTypes.endp = _endpos_i_;
31624 MenhirLib.EngineTypes.next = _menhir_stack;
31625 };
31626 } = _menhir_stack in
31627 let l : 'tv_loption_not_pos_ = Obj.magic l in
31628 let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
31629 let _startpos = _startpos_i_ in
31630 let _endpos = _endpos_l_ in
31631 let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ =
31632 # 1588 "parser_cocci_menhir.mly"
31633 (
31634 (i, l)
31635 )
31636 # 31637 "parser_cocci_menhir.ml"
31637 in
31638 _menhir_env.MenhirLib.EngineTypes.stack <- {
31639 MenhirLib.EngineTypes.state = _menhir_s;
31640 MenhirLib.EngineTypes.semv = Obj.repr _v;
31641 MenhirLib.EngineTypes.startp = _startpos;
31642 MenhirLib.EngineTypes.endp = _endpos;
31643 MenhirLib.EngineTypes.next = _menhir_stack;
31644 });
31645 (fun _menhir_env ->
31646 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31647 let {
31648 MenhirLib.EngineTypes.state = _menhir_s;
31649 MenhirLib.EngineTypes.semv = re;
31650 MenhirLib.EngineTypes.startp = _startpos_re_;
31651 MenhirLib.EngineTypes.endp = _endpos_re_;
31652 MenhirLib.EngineTypes.next = _menhir_stack;
31653 } = _menhir_stack in
31654 let re : 'tv_regexp_eqid = Obj.magic re in
31655 let _startpos = _startpos_re_ in
31656 let _endpos = _endpos_re_ in
31657 let _v : 'tv_re_or_not_eqe_or_sub =
31658 # 1680 "parser_cocci_menhir.mly"
31659 (Ast0.NotIdCstrt re)
31660 # 31661 "parser_cocci_menhir.ml"
31661 in
31662 _menhir_env.MenhirLib.EngineTypes.stack <- {
31663 MenhirLib.EngineTypes.state = _menhir_s;
31664 MenhirLib.EngineTypes.semv = Obj.repr _v;
31665 MenhirLib.EngineTypes.startp = _startpos;
31666 MenhirLib.EngineTypes.endp = _endpos;
31667 MenhirLib.EngineTypes.next = _menhir_stack;
31668 });
31669 (fun _menhir_env ->
31670 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31671 let {
31672 MenhirLib.EngineTypes.state = _menhir_s;
31673 MenhirLib.EngineTypes.semv = ne;
31674 MenhirLib.EngineTypes.startp = _startpos_ne_;
31675 MenhirLib.EngineTypes.endp = _endpos_ne_;
31676 MenhirLib.EngineTypes.next = _menhir_stack;
31677 } = _menhir_stack in
31678 let ne : 'tv_not_eqe = Obj.magic ne in
31679 let _startpos = _startpos_ne_ in
31680 let _endpos = _endpos_ne_ in
31681 let _v : 'tv_re_or_not_eqe_or_sub =
31682 # 1681 "parser_cocci_menhir.mly"
31683 (Ast0.NotExpCstrt ne)
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.state = _menhir_s;
31697 MenhirLib.EngineTypes.semv = s;
31698 MenhirLib.EngineTypes.startp = _startpos_s_;
31699 MenhirLib.EngineTypes.endp = _endpos_s_;
31700 MenhirLib.EngineTypes.next = _menhir_stack;
31701 } = _menhir_stack in
31702 let s : 'tv_sub = Obj.magic s in
31703 let _startpos = _startpos_s_ in
31704 let _endpos = _endpos_s_ in
31705 let _v : 'tv_re_or_not_eqe_or_sub =
31706 # 1682 "parser_cocci_menhir.mly"
31707 (Ast0.SubExpCstrt s)
31708 # 31709 "parser_cocci_menhir.ml"
31709 in
31710 _menhir_env.MenhirLib.EngineTypes.stack <- {
31711 MenhirLib.EngineTypes.state = _menhir_s;
31712 MenhirLib.EngineTypes.semv = Obj.repr _v;
31713 MenhirLib.EngineTypes.startp = _startpos;
31714 MenhirLib.EngineTypes.endp = _endpos;
31715 MenhirLib.EngineTypes.next = _menhir_stack;
31716 });
31717 (fun _menhir_env ->
31718 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31719 let {
31720 MenhirLib.EngineTypes.state = _menhir_s;
31721 MenhirLib.EngineTypes.semv = re;
31722 MenhirLib.EngineTypes.startp = _startpos_re_;
31723 MenhirLib.EngineTypes.endp = _endpos_re_;
31724 MenhirLib.EngineTypes.next = _menhir_stack;
31725 } = _menhir_stack in
31726 let re : 'tv_regexp_eqid = Obj.magic re in
31727 let _startpos = _startpos_re_ in
31728 let _endpos = _endpos_re_ in
31729 let _v : 'tv_re_or_not_eqid =
31730 # 1626 "parser_cocci_menhir.mly"
31731 (Ast.IdRegExpConstraint re)
31732 # 31733 "parser_cocci_menhir.ml"
31733 in
31734 _menhir_env.MenhirLib.EngineTypes.stack <- {
31735 MenhirLib.EngineTypes.state = _menhir_s;
31736 MenhirLib.EngineTypes.semv = Obj.repr _v;
31737 MenhirLib.EngineTypes.startp = _startpos;
31738 MenhirLib.EngineTypes.endp = _endpos;
31739 MenhirLib.EngineTypes.next = _menhir_stack;
31740 });
31741 (fun _menhir_env ->
31742 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31743 let {
31744 MenhirLib.EngineTypes.state = _menhir_s;
31745 MenhirLib.EngineTypes.semv = ne;
31746 MenhirLib.EngineTypes.startp = _startpos_ne_;
31747 MenhirLib.EngineTypes.endp = _endpos_ne_;
31748 MenhirLib.EngineTypes.next = _menhir_stack;
31749 } = _menhir_stack in
31750 let ne : 'tv_not_eqid = Obj.magic ne in
31751 let _startpos = _startpos_ne_ in
31752 let _endpos = _endpos_ne_ in
31753 let _v : 'tv_re_or_not_eqid =
31754 # 1627 "parser_cocci_menhir.mly"
31755 (ne)
31756 # 31757 "parser_cocci_menhir.ml"
31757 in
31758 _menhir_env.MenhirLib.EngineTypes.stack <- {
31759 MenhirLib.EngineTypes.state = _menhir_s;
31760 MenhirLib.EngineTypes.semv = Obj.repr _v;
31761 MenhirLib.EngineTypes.startp = _startpos;
31762 MenhirLib.EngineTypes.endp = _endpos;
31763 MenhirLib.EngineTypes.next = _menhir_stack;
31764 });
31765 (fun _menhir_env ->
31766 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31767 let {
31768 MenhirLib.EngineTypes.semv = re;
31769 MenhirLib.EngineTypes.startp = _startpos_re_;
31770 MenhirLib.EngineTypes.endp = _endpos_re_;
31771 MenhirLib.EngineTypes.next = {
31772 MenhirLib.EngineTypes.state = _menhir_s;
31773 MenhirLib.EngineTypes.startp = _startpos__1_;
31774 MenhirLib.EngineTypes.endp = _endpos__1_;
31775 MenhirLib.EngineTypes.next = _menhir_stack;
31776 };
31777 } = _menhir_stack in
31778 let re : (
31779 # 91 "parser_cocci_menhir.mly"
31780 (string * Data.clt)
31781 # 31782 "parser_cocci_menhir.ml"
31782 ) = Obj.magic re in
31783 let _startpos = _startpos__1_ in
31784 let _endpos = _endpos_re_ in
31785 let _v : 'tv_regexp_eqid =
31786 # 1631 "parser_cocci_menhir.mly"
31787 ( (if !Data.in_iso
31788 then failwith "constraints not allowed in iso file");
31789 (if !Data.in_generating
31790 then failwith "constraints not allowed in a generated rule file");
31791 let (s,_) = re in Ast.IdRegExp (s,Str.regexp s)
31792 )
31793 # 31794 "parser_cocci_menhir.ml"
31794 in
31795 _menhir_env.MenhirLib.EngineTypes.stack <- {
31796 MenhirLib.EngineTypes.state = _menhir_s;
31797 MenhirLib.EngineTypes.semv = Obj.repr _v;
31798 MenhirLib.EngineTypes.startp = _startpos;
31799 MenhirLib.EngineTypes.endp = _endpos;
31800 MenhirLib.EngineTypes.next = _menhir_stack;
31801 });
31802 (fun _menhir_env ->
31803 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31804 let {
31805 MenhirLib.EngineTypes.semv = re;
31806 MenhirLib.EngineTypes.startp = _startpos_re_;
31807 MenhirLib.EngineTypes.endp = _endpos_re_;
31808 MenhirLib.EngineTypes.next = {
31809 MenhirLib.EngineTypes.state = _menhir_s;
31810 MenhirLib.EngineTypes.startp = _startpos__1_;
31811 MenhirLib.EngineTypes.endp = _endpos__1_;
31812 MenhirLib.EngineTypes.next = _menhir_stack;
31813 };
31814 } = _menhir_stack in
31815 let re : (
31816 # 91 "parser_cocci_menhir.mly"
31817 (string * Data.clt)
31818 # 31819 "parser_cocci_menhir.ml"
31819 ) = Obj.magic re in
31820 let _startpos = _startpos__1_ in
31821 let _endpos = _endpos_re_ in
31822 let _v : 'tv_regexp_eqid =
31823 # 1638 "parser_cocci_menhir.mly"
31824 ( (if !Data.in_iso
31825 then failwith "constraints not allowed in iso file");
31826 (if !Data.in_generating
31827 then failwith "constraints not allowed in a generated rule file");
31828 let (s,_) = re in Ast.IdNotRegExp (s,Str.regexp s)
31829 )
31830 # 31831 "parser_cocci_menhir.ml"
31831 in
31832 _menhir_env.MenhirLib.EngineTypes.stack <- {
31833 MenhirLib.EngineTypes.state = _menhir_s;
31834 MenhirLib.EngineTypes.semv = Obj.repr _v;
31835 MenhirLib.EngineTypes.startp = _startpos;
31836 MenhirLib.EngineTypes.endp = _endpos;
31837 MenhirLib.EngineTypes.next = _menhir_stack;
31838 });
31839 (fun _menhir_env ->
31840 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31841 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
31842 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
31843 let _endpos = _startpos in
31844 let _v : (
31845 # 137 "parser_cocci_menhir.mly"
31846 (unit)
31847 # 31848 "parser_cocci_menhir.ml"
31848 ) =
31849 # 178 "parser_cocci_menhir.mly"
31850 ( )
31851 # 31852 "parser_cocci_menhir.ml"
31852 in
31853 _menhir_env.MenhirLib.EngineTypes.stack <- {
31854 MenhirLib.EngineTypes.state = _menhir_s;
31855 MenhirLib.EngineTypes.semv = Obj.repr _v;
31856 MenhirLib.EngineTypes.startp = _startpos;
31857 MenhirLib.EngineTypes.endp = _endpos;
31858 MenhirLib.EngineTypes.next = _menhir_stack;
31859 });
31860 (fun _menhir_env ->
31861 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31862 let {
31863 MenhirLib.EngineTypes.state = _menhir_s;
31864 MenhirLib.EngineTypes.semv = _1;
31865 MenhirLib.EngineTypes.startp = _startpos__1_;
31866 MenhirLib.EngineTypes.endp = _endpos__1_;
31867 MenhirLib.EngineTypes.next = _menhir_stack;
31868 } = _menhir_stack in
31869 let _1 : 'tv_one_decl_var = Obj.magic _1 in
31870 let _startpos = _startpos__1_ in
31871 let _endpos = _endpos__1_ in
31872 let _v : 'tv_rule_elem_statement =
31873 # 1009 "parser_cocci_menhir.mly"
31874 ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) )
31875 # 31876 "parser_cocci_menhir.ml"
31876 in
31877 _menhir_env.MenhirLib.EngineTypes.stack <- {
31878 MenhirLib.EngineTypes.state = _menhir_s;
31879 MenhirLib.EngineTypes.semv = Obj.repr _v;
31880 MenhirLib.EngineTypes.startp = _startpos;
31881 MenhirLib.EngineTypes.endp = _endpos;
31882 MenhirLib.EngineTypes.next = _menhir_stack;
31883 });
31884 (fun _menhir_env ->
31885 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31886 let {
31887 MenhirLib.EngineTypes.semv = _2;
31888 MenhirLib.EngineTypes.startp = _startpos__2_;
31889 MenhirLib.EngineTypes.endp = _endpos__2_;
31890 MenhirLib.EngineTypes.next = {
31891 MenhirLib.EngineTypes.state = _menhir_s;
31892 MenhirLib.EngineTypes.semv = _1;
31893 MenhirLib.EngineTypes.startp = _startpos__1_;
31894 MenhirLib.EngineTypes.endp = _endpos__1_;
31895 MenhirLib.EngineTypes.next = _menhir_stack;
31896 };
31897 } = _menhir_stack in
31898 let _2 : (
31899 # 111 "parser_cocci_menhir.mly"
31900 (Data.clt)
31901 # 31902 "parser_cocci_menhir.ml"
31902 ) = Obj.magic _2 in
31903 let _1 : 'tv_expr = Obj.magic _1 in
31904 let _startpos = _startpos__1_ in
31905 let _endpos = _endpos__2_ in
31906 let _v : 'tv_rule_elem_statement =
31907 # 1010 "parser_cocci_menhir.mly"
31908 ( P.exp_stm _1 _2 )
31909 # 31910 "parser_cocci_menhir.ml"
31910 in
31911 _menhir_env.MenhirLib.EngineTypes.stack <- {
31912 MenhirLib.EngineTypes.state = _menhir_s;
31913 MenhirLib.EngineTypes.semv = Obj.repr _v;
31914 MenhirLib.EngineTypes.startp = _startpos;
31915 MenhirLib.EngineTypes.endp = _endpos;
31916 MenhirLib.EngineTypes.next = _menhir_stack;
31917 });
31918 (fun _menhir_env ->
31919 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31920 let {
31921 MenhirLib.EngineTypes.semv = _3;
31922 MenhirLib.EngineTypes.startp = _startpos__3_;
31923 MenhirLib.EngineTypes.endp = _endpos__3_;
31924 MenhirLib.EngineTypes.next = {
31925 MenhirLib.EngineTypes.semv = _2;
31926 MenhirLib.EngineTypes.startp = _startpos__2_;
31927 MenhirLib.EngineTypes.endp = _endpos__2_;
31928 MenhirLib.EngineTypes.next = {
31929 MenhirLib.EngineTypes.state = _menhir_s;
31930 MenhirLib.EngineTypes.semv = _1;
31931 MenhirLib.EngineTypes.startp = _startpos__1_;
31932 MenhirLib.EngineTypes.endp = _endpos__1_;
31933 MenhirLib.EngineTypes.next = _menhir_stack;
31934 };
31935 };
31936 } = _menhir_stack in
31937 let _3 : (
31938 # 111 "parser_cocci_menhir.mly"
31939 (Data.clt)
31940 # 31941 "parser_cocci_menhir.ml"
31941 ) = Obj.magic _3 in
31942 let _2 : 'tv_eexpr = Obj.magic _2 in
31943 let _1 : (
31944 # 60 "parser_cocci_menhir.mly"
31945 (Data.clt)
31946 # 31947 "parser_cocci_menhir.ml"
31947 ) = Obj.magic _1 in
31948 let _startpos = _startpos__1_ in
31949 let _endpos = _endpos__3_ in
31950 let _v : 'tv_rule_elem_statement =
31951 # 1011 "parser_cocci_menhir.mly"
31952 ( P.ret_exp _1 _2 _3 )
31953 # 31954 "parser_cocci_menhir.ml"
31954 in
31955 _menhir_env.MenhirLib.EngineTypes.stack <- {
31956 MenhirLib.EngineTypes.state = _menhir_s;
31957 MenhirLib.EngineTypes.semv = Obj.repr _v;
31958 MenhirLib.EngineTypes.startp = _startpos;
31959 MenhirLib.EngineTypes.endp = _endpos;
31960 MenhirLib.EngineTypes.next = _menhir_stack;
31961 });
31962 (fun _menhir_env ->
31963 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
31964 let {
31965 MenhirLib.EngineTypes.semv = _2;
31966 MenhirLib.EngineTypes.startp = _startpos__2_;
31967 MenhirLib.EngineTypes.endp = _endpos__2_;
31968 MenhirLib.EngineTypes.next = {
31969 MenhirLib.EngineTypes.state = _menhir_s;
31970 MenhirLib.EngineTypes.semv = _1;
31971 MenhirLib.EngineTypes.startp = _startpos__1_;
31972 MenhirLib.EngineTypes.endp = _endpos__1_;
31973 MenhirLib.EngineTypes.next = _menhir_stack;
31974 };
31975 } = _menhir_stack in
31976 let _2 : (
31977 # 111 "parser_cocci_menhir.mly"
31978 (Data.clt)
31979 # 31980 "parser_cocci_menhir.ml"
31980 ) = Obj.magic _2 in
31981 let _1 : (
31982 # 60 "parser_cocci_menhir.mly"
31983 (Data.clt)
31984 # 31985 "parser_cocci_menhir.ml"
31985 ) = Obj.magic _1 in
31986 let _startpos = _startpos__1_ in
31987 let _endpos = _endpos__2_ in
31988 let _v : 'tv_rule_elem_statement =
31989 # 1012 "parser_cocci_menhir.mly"
31990 ( P.ret _1 _2 )
31991 # 31992 "parser_cocci_menhir.ml"
31992 in
31993 _menhir_env.MenhirLib.EngineTypes.stack <- {
31994 MenhirLib.EngineTypes.state = _menhir_s;
31995 MenhirLib.EngineTypes.semv = Obj.repr _v;
31996 MenhirLib.EngineTypes.startp = _startpos;
31997 MenhirLib.EngineTypes.endp = _endpos;
31998 MenhirLib.EngineTypes.next = _menhir_stack;
31999 });
32000 (fun _menhir_env ->
32001 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32002 let {
32003 MenhirLib.EngineTypes.semv = _2;
32004 MenhirLib.EngineTypes.startp = _startpos__2_;
32005 MenhirLib.EngineTypes.endp = _endpos__2_;
32006 MenhirLib.EngineTypes.next = {
32007 MenhirLib.EngineTypes.state = _menhir_s;
32008 MenhirLib.EngineTypes.semv = _1;
32009 MenhirLib.EngineTypes.startp = _startpos__1_;
32010 MenhirLib.EngineTypes.endp = _endpos__1_;
32011 MenhirLib.EngineTypes.next = _menhir_stack;
32012 };
32013 } = _menhir_stack in
32014 let _2 : (
32015 # 111 "parser_cocci_menhir.mly"
32016 (Data.clt)
32017 # 32018 "parser_cocci_menhir.ml"
32018 ) = Obj.magic _2 in
32019 let _1 : (
32020 # 61 "parser_cocci_menhir.mly"
32021 (Data.clt)
32022 # 32023 "parser_cocci_menhir.ml"
32023 ) = Obj.magic _1 in
32024 let _startpos = _startpos__1_ in
32025 let _endpos = _endpos__2_ in
32026 let _v : 'tv_rule_elem_statement =
32027 # 1013 "parser_cocci_menhir.mly"
32028 ( P.break _1 _2 )
32029 # 32030 "parser_cocci_menhir.ml"
32030 in
32031 _menhir_env.MenhirLib.EngineTypes.stack <- {
32032 MenhirLib.EngineTypes.state = _menhir_s;
32033 MenhirLib.EngineTypes.semv = Obj.repr _v;
32034 MenhirLib.EngineTypes.startp = _startpos;
32035 MenhirLib.EngineTypes.endp = _endpos;
32036 MenhirLib.EngineTypes.next = _menhir_stack;
32037 });
32038 (fun _menhir_env ->
32039 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32040 let {
32041 MenhirLib.EngineTypes.semv = _2;
32042 MenhirLib.EngineTypes.startp = _startpos__2_;
32043 MenhirLib.EngineTypes.endp = _endpos__2_;
32044 MenhirLib.EngineTypes.next = {
32045 MenhirLib.EngineTypes.state = _menhir_s;
32046 MenhirLib.EngineTypes.semv = _1;
32047 MenhirLib.EngineTypes.startp = _startpos__1_;
32048 MenhirLib.EngineTypes.endp = _endpos__1_;
32049 MenhirLib.EngineTypes.next = _menhir_stack;
32050 };
32051 } = _menhir_stack in
32052 let _2 : (
32053 # 111 "parser_cocci_menhir.mly"
32054 (Data.clt)
32055 # 32056 "parser_cocci_menhir.ml"
32056 ) = Obj.magic _2 in
32057 let _1 : (
32058 # 61 "parser_cocci_menhir.mly"
32059 (Data.clt)
32060 # 32061 "parser_cocci_menhir.ml"
32061 ) = Obj.magic _1 in
32062 let _startpos = _startpos__1_ in
32063 let _endpos = _endpos__2_ in
32064 let _v : 'tv_rule_elem_statement =
32065 # 1014 "parser_cocci_menhir.mly"
32066 ( P.cont _1 _2 )
32067 # 32068 "parser_cocci_menhir.ml"
32068 in
32069 _menhir_env.MenhirLib.EngineTypes.stack <- {
32070 MenhirLib.EngineTypes.state = _menhir_s;
32071 MenhirLib.EngineTypes.semv = Obj.repr _v;
32072 MenhirLib.EngineTypes.startp = _startpos;
32073 MenhirLib.EngineTypes.endp = _endpos;
32074 MenhirLib.EngineTypes.next = _menhir_stack;
32075 });
32076 (fun _menhir_env ->
32077 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32078 let {
32079 MenhirLib.EngineTypes.semv = _3;
32080 MenhirLib.EngineTypes.startp = _startpos__3_;
32081 MenhirLib.EngineTypes.endp = _endpos__3_;
32082 MenhirLib.EngineTypes.next = {
32083 MenhirLib.EngineTypes.semv = _2;
32084 MenhirLib.EngineTypes.startp = _startpos__2_;
32085 MenhirLib.EngineTypes.endp = _endpos__2_;
32086 MenhirLib.EngineTypes.next = {
32087 MenhirLib.EngineTypes.state = _menhir_s;
32088 MenhirLib.EngineTypes.semv = _1;
32089 MenhirLib.EngineTypes.startp = _startpos__1_;
32090 MenhirLib.EngineTypes.endp = _endpos__1_;
32091 MenhirLib.EngineTypes.next = _menhir_stack;
32092 };
32093 };
32094 } = _menhir_stack in
32095 let _3 : (
32096 # 81 "parser_cocci_menhir.mly"
32097 (Data.clt)
32098 # 32099 "parser_cocci_menhir.ml"
32099 ) = Obj.magic _3 in
32100 let _2 : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = Obj.magic _2 in
32101 let _1 : (
32102 # 80 "parser_cocci_menhir.mly"
32103 (Data.clt)
32104 # 32105 "parser_cocci_menhir.ml"
32105 ) = Obj.magic _1 in
32106 let _startpos = _startpos__1_ in
32107 let _endpos = _endpos__3_ in
32108 let _v : 'tv_rule_elem_statement =
32109 # 1016 "parser_cocci_menhir.mly"
32110 ( let (mids,code) = _2 in
32111 Ast0.wrap
32112 (Ast0.Disj(P.clt2mcode "(" _1,
32113 List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
32114 mids, P.clt2mcode ")" _3)) )
32115 # 32116 "parser_cocci_menhir.ml"
32116 in
32117 _menhir_env.MenhirLib.EngineTypes.stack <- {
32118 MenhirLib.EngineTypes.state = _menhir_s;
32119 MenhirLib.EngineTypes.semv = Obj.repr _v;
32120 MenhirLib.EngineTypes.startp = _startpos;
32121 MenhirLib.EngineTypes.endp = _endpos;
32122 MenhirLib.EngineTypes.next = _menhir_stack;
32123 });
32124 (fun _menhir_env ->
32125 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32126 let {
32127 MenhirLib.EngineTypes.startp = _startpos__7_;
32128 MenhirLib.EngineTypes.endp = _endpos__7_;
32129 MenhirLib.EngineTypes.next = {
32130 MenhirLib.EngineTypes.semv = ee;
32131 MenhirLib.EngineTypes.startp = _startpos_ee_;
32132 MenhirLib.EngineTypes.endp = _endpos_ee_;
32133 MenhirLib.EngineTypes.next = {
32134 MenhirLib.EngineTypes.semv = e;
32135 MenhirLib.EngineTypes.startp = _startpos_e_;
32136 MenhirLib.EngineTypes.endp = _endpos_e_;
32137 MenhirLib.EngineTypes.next = {
32138 MenhirLib.EngineTypes.semv = a;
32139 MenhirLib.EngineTypes.startp = _startpos_a_;
32140 MenhirLib.EngineTypes.endp = _endpos_a_;
32141 MenhirLib.EngineTypes.next = {
32142 MenhirLib.EngineTypes.semv = i;
32143 MenhirLib.EngineTypes.startp = _startpos_i_;
32144 MenhirLib.EngineTypes.endp = _endpos_i_;
32145 MenhirLib.EngineTypes.next = {
32146 MenhirLib.EngineTypes.semv = d;
32147 MenhirLib.EngineTypes.startp = _startpos_d_;
32148 MenhirLib.EngineTypes.endp = _endpos_d_;
32149 MenhirLib.EngineTypes.next = {
32150 MenhirLib.EngineTypes.state = _menhir_s;
32151 MenhirLib.EngineTypes.startp = _startpos__1_;
32152 MenhirLib.EngineTypes.endp = _endpos__1_;
32153 MenhirLib.EngineTypes.next = _menhir_stack;
32154 };
32155 };
32156 };
32157 };
32158 };
32159 };
32160 } = _menhir_stack in
32161 let ee : 'tv_is_expression = Obj.magic ee in
32162 let e : 'tv_exists = Obj.magic e in
32163 let a : 'tv_loption_disable_ = Obj.magic a in
32164 let i : 'tv_loption_choose_iso_ = Obj.magic i in
32165 let d : 'tv_depends = Obj.magic d in
32166 let _startpos = _startpos__1_ in
32167 let _endpos = _endpos__7_ in
32168 let _v : (
32169 # 159 "parser_cocci_menhir.mly"
32170 (Ast_cocci.rulename)
32171 # 32172 "parser_cocci_menhir.ml"
32172 ) = let nm =
32173
32174 # 39 "standard.mly"
32175 ( None )
32176 # 32177 "parser_cocci_menhir.ml"
32177
32178 in
32179
32180 # 208 "parser_cocci_menhir.mly"
32181 ( P.make_cocci_rule_name_result nm d i a e ee )
32182 # 32183 "parser_cocci_menhir.ml"
32183 in
32184 _menhir_env.MenhirLib.EngineTypes.stack <- {
32185 MenhirLib.EngineTypes.state = _menhir_s;
32186 MenhirLib.EngineTypes.semv = Obj.repr _v;
32187 MenhirLib.EngineTypes.startp = _startpos;
32188 MenhirLib.EngineTypes.endp = _endpos;
32189 MenhirLib.EngineTypes.next = _menhir_stack;
32190 });
32191 (fun _menhir_env ->
32192 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32193 let {
32194 MenhirLib.EngineTypes.startp = _startpos__8_;
32195 MenhirLib.EngineTypes.endp = _endpos__8_;
32196 MenhirLib.EngineTypes.next = {
32197 MenhirLib.EngineTypes.semv = ee;
32198 MenhirLib.EngineTypes.startp = _startpos_ee_;
32199 MenhirLib.EngineTypes.endp = _endpos_ee_;
32200 MenhirLib.EngineTypes.next = {
32201 MenhirLib.EngineTypes.semv = e;
32202 MenhirLib.EngineTypes.startp = _startpos_e_;
32203 MenhirLib.EngineTypes.endp = _endpos_e_;
32204 MenhirLib.EngineTypes.next = {
32205 MenhirLib.EngineTypes.semv = a;
32206 MenhirLib.EngineTypes.startp = _startpos_a_;
32207 MenhirLib.EngineTypes.endp = _endpos_a_;
32208 MenhirLib.EngineTypes.next = {
32209 MenhirLib.EngineTypes.semv = i;
32210 MenhirLib.EngineTypes.startp = _startpos_i_;
32211 MenhirLib.EngineTypes.endp = _endpos_i_;
32212 MenhirLib.EngineTypes.next = {
32213 MenhirLib.EngineTypes.semv = d;
32214 MenhirLib.EngineTypes.startp = _startpos_d_;
32215 MenhirLib.EngineTypes.endp = _endpos_d_;
32216 MenhirLib.EngineTypes.next = {
32217 MenhirLib.EngineTypes.startp = _startpos__2_;
32218 MenhirLib.EngineTypes.endp = _endpos__2_;
32219 MenhirLib.EngineTypes.next = {
32220 MenhirLib.EngineTypes.state = _menhir_s;
32221 MenhirLib.EngineTypes.semv = x0;
32222 MenhirLib.EngineTypes.startp = _startpos_x0_;
32223 MenhirLib.EngineTypes.endp = _endpos_x0_;
32224 MenhirLib.EngineTypes.next = _menhir_stack;
32225 };
32226 };
32227 };
32228 };
32229 };
32230 };
32231 };
32232 } = _menhir_stack in
32233 let ee : 'tv_is_expression = Obj.magic ee in
32234 let e : 'tv_exists = Obj.magic e in
32235 let a : 'tv_loption_disable_ = Obj.magic a in
32236 let i : 'tv_loption_choose_iso_ = Obj.magic i in
32237 let d : 'tv_depends = Obj.magic d in
32238 let x0 : 'tv_pure_ident = Obj.magic x0 in
32239 let _startpos = _startpos_x0_ in
32240 let _endpos = _endpos__8_ in
32241 let _v : (
32242 # 159 "parser_cocci_menhir.mly"
32243 (Ast_cocci.rulename)
32244 # 32245 "parser_cocci_menhir.ml"
32245 ) = let nm =
32246 let x = x0 in
32247
32248 # 41 "standard.mly"
32249 ( Some x )
32250 # 32251 "parser_cocci_menhir.ml"
32251
32252 in
32253
32254 # 208 "parser_cocci_menhir.mly"
32255 ( P.make_cocci_rule_name_result nm d i a e ee )
32256 # 32257 "parser_cocci_menhir.ml"
32257 in
32258 _menhir_env.MenhirLib.EngineTypes.stack <- {
32259 MenhirLib.EngineTypes.state = _menhir_s;
32260 MenhirLib.EngineTypes.semv = Obj.repr _v;
32261 MenhirLib.EngineTypes.startp = _startpos;
32262 MenhirLib.EngineTypes.endp = _endpos;
32263 MenhirLib.EngineTypes.next = _menhir_stack;
32264 });
32265 (fun _menhir_env ->
32266 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32267 let {
32268 MenhirLib.EngineTypes.startp = _startpos__8_;
32269 MenhirLib.EngineTypes.endp = _endpos__8_;
32270 MenhirLib.EngineTypes.next = {
32271 MenhirLib.EngineTypes.semv = ee;
32272 MenhirLib.EngineTypes.startp = _startpos_ee_;
32273 MenhirLib.EngineTypes.endp = _endpos_ee_;
32274 MenhirLib.EngineTypes.next = {
32275 MenhirLib.EngineTypes.semv = e;
32276 MenhirLib.EngineTypes.startp = _startpos_e_;
32277 MenhirLib.EngineTypes.endp = _endpos_e_;
32278 MenhirLib.EngineTypes.next = {
32279 MenhirLib.EngineTypes.semv = a;
32280 MenhirLib.EngineTypes.startp = _startpos_a_;
32281 MenhirLib.EngineTypes.endp = _endpos_a_;
32282 MenhirLib.EngineTypes.next = {
32283 MenhirLib.EngineTypes.semv = i;
32284 MenhirLib.EngineTypes.startp = _startpos_i_;
32285 MenhirLib.EngineTypes.endp = _endpos_i_;
32286 MenhirLib.EngineTypes.next = {
32287 MenhirLib.EngineTypes.semv = d;
32288 MenhirLib.EngineTypes.startp = _startpos_d_;
32289 MenhirLib.EngineTypes.endp = _endpos_d_;
32290 MenhirLib.EngineTypes.next = {
32291 MenhirLib.EngineTypes.startp = _startpos__2_;
32292 MenhirLib.EngineTypes.endp = _endpos__2_;
32293 MenhirLib.EngineTypes.next = {
32294 MenhirLib.EngineTypes.state = _menhir_s;
32295 MenhirLib.EngineTypes.startp = _startpos__1_;
32296 MenhirLib.EngineTypes.endp = _endpos__1_;
32297 MenhirLib.EngineTypes.next = _menhir_stack;
32298 };
32299 };
32300 };
32301 };
32302 };
32303 };
32304 };
32305 } = _menhir_stack in
32306 let ee : 'tv_is_expression = Obj.magic ee in
32307 let e : 'tv_exists = Obj.magic e in
32308 let a : 'tv_loption_disable_ = Obj.magic a in
32309 let i : 'tv_loption_choose_iso_ = Obj.magic i in
32310 let d : 'tv_depends = Obj.magic d in
32311 let _startpos = _startpos__1_ in
32312 let _endpos = _endpos__8_ in
32313 let _v : (
32314 # 159 "parser_cocci_menhir.mly"
32315 (Ast_cocci.rulename)
32316 # 32317 "parser_cocci_menhir.ml"
32317 ) =
32318 # 213 "parser_cocci_menhir.mly"
32319 ( P.make_generated_rule_name_result None d i a e ee )
32320 # 32321 "parser_cocci_menhir.ml"
32321 in
32322 _menhir_env.MenhirLib.EngineTypes.stack <- {
32323 MenhirLib.EngineTypes.state = _menhir_s;
32324 MenhirLib.EngineTypes.semv = Obj.repr _v;
32325 MenhirLib.EngineTypes.startp = _startpos;
32326 MenhirLib.EngineTypes.endp = _endpos;
32327 MenhirLib.EngineTypes.next = _menhir_stack;
32328 });
32329 (fun _menhir_env ->
32330 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32331 let {
32332 MenhirLib.EngineTypes.startp = _startpos__5_;
32333 MenhirLib.EngineTypes.endp = _endpos__5_;
32334 MenhirLib.EngineTypes.next = {
32335 MenhirLib.EngineTypes.semv = d;
32336 MenhirLib.EngineTypes.startp = _startpos_d_;
32337 MenhirLib.EngineTypes.endp = _endpos_d_;
32338 MenhirLib.EngineTypes.next = {
32339 MenhirLib.EngineTypes.semv = lang;
32340 MenhirLib.EngineTypes.startp = _startpos_lang_;
32341 MenhirLib.EngineTypes.endp = _endpos_lang_;
32342 MenhirLib.EngineTypes.next = {
32343 MenhirLib.EngineTypes.startp = _startpos__2_;
32344 MenhirLib.EngineTypes.endp = _endpos__2_;
32345 MenhirLib.EngineTypes.next = {
32346 MenhirLib.EngineTypes.state = _menhir_s;
32347 MenhirLib.EngineTypes.startp = _startpos__1_;
32348 MenhirLib.EngineTypes.endp = _endpos__1_;
32349 MenhirLib.EngineTypes.next = _menhir_stack;
32350 };
32351 };
32352 };
32353 };
32354 } = _menhir_stack in
32355 let d : 'tv_depends = Obj.magic d in
32356 let lang : 'tv_pure_ident = Obj.magic lang in
32357 let _startpos = _startpos__1_ in
32358 let _endpos = _endpos__5_ in
32359 let _v : (
32360 # 159 "parser_cocci_menhir.mly"
32361 (Ast_cocci.rulename)
32362 # 32363 "parser_cocci_menhir.ml"
32363 ) = let nm =
32364
32365 # 39 "standard.mly"
32366 ( None )
32367 # 32368 "parser_cocci_menhir.ml"
32368
32369 in
32370
32371 # 215 "parser_cocci_menhir.mly"
32372 ( P.make_script_rule_name_result lang nm d )
32373 # 32374 "parser_cocci_menhir.ml"
32374 in
32375 _menhir_env.MenhirLib.EngineTypes.stack <- {
32376 MenhirLib.EngineTypes.state = _menhir_s;
32377 MenhirLib.EngineTypes.semv = Obj.repr _v;
32378 MenhirLib.EngineTypes.startp = _startpos;
32379 MenhirLib.EngineTypes.endp = _endpos;
32380 MenhirLib.EngineTypes.next = _menhir_stack;
32381 });
32382 (fun _menhir_env ->
32383 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32384 let {
32385 MenhirLib.EngineTypes.startp = _startpos__6_;
32386 MenhirLib.EngineTypes.endp = _endpos__6_;
32387 MenhirLib.EngineTypes.next = {
32388 MenhirLib.EngineTypes.semv = d;
32389 MenhirLib.EngineTypes.startp = _startpos_d_;
32390 MenhirLib.EngineTypes.endp = _endpos_d_;
32391 MenhirLib.EngineTypes.next = {
32392 MenhirLib.EngineTypes.semv = x0;
32393 MenhirLib.EngineTypes.startp = _startpos_x0_;
32394 MenhirLib.EngineTypes.endp = _endpos_x0_;
32395 MenhirLib.EngineTypes.next = {
32396 MenhirLib.EngineTypes.semv = lang;
32397 MenhirLib.EngineTypes.startp = _startpos_lang_;
32398 MenhirLib.EngineTypes.endp = _endpos_lang_;
32399 MenhirLib.EngineTypes.next = {
32400 MenhirLib.EngineTypes.startp = _startpos__2_;
32401 MenhirLib.EngineTypes.endp = _endpos__2_;
32402 MenhirLib.EngineTypes.next = {
32403 MenhirLib.EngineTypes.state = _menhir_s;
32404 MenhirLib.EngineTypes.startp = _startpos__1_;
32405 MenhirLib.EngineTypes.endp = _endpos__1_;
32406 MenhirLib.EngineTypes.next = _menhir_stack;
32407 };
32408 };
32409 };
32410 };
32411 };
32412 } = _menhir_stack in
32413 let d : 'tv_depends = Obj.magic d in
32414 let x0 : 'tv_pure_ident = Obj.magic x0 in
32415 let lang : 'tv_pure_ident = Obj.magic lang in
32416 let _startpos = _startpos__1_ in
32417 let _endpos = _endpos__6_ in
32418 let _v : (
32419 # 159 "parser_cocci_menhir.mly"
32420 (Ast_cocci.rulename)
32421 # 32422 "parser_cocci_menhir.ml"
32422 ) = let nm =
32423 let x = x0 in
32424
32425 # 41 "standard.mly"
32426 ( Some x )
32427 # 32428 "parser_cocci_menhir.ml"
32428
32429 in
32430
32431 # 215 "parser_cocci_menhir.mly"
32432 ( P.make_script_rule_name_result lang nm d )
32433 # 32434 "parser_cocci_menhir.ml"
32434 in
32435 _menhir_env.MenhirLib.EngineTypes.stack <- {
32436 MenhirLib.EngineTypes.state = _menhir_s;
32437 MenhirLib.EngineTypes.semv = Obj.repr _v;
32438 MenhirLib.EngineTypes.startp = _startpos;
32439 MenhirLib.EngineTypes.endp = _endpos;
32440 MenhirLib.EngineTypes.next = _menhir_stack;
32441 });
32442 (fun _menhir_env ->
32443 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32444 let {
32445 MenhirLib.EngineTypes.startp = _startpos__5_;
32446 MenhirLib.EngineTypes.endp = _endpos__5_;
32447 MenhirLib.EngineTypes.next = {
32448 MenhirLib.EngineTypes.semv = d;
32449 MenhirLib.EngineTypes.startp = _startpos_d_;
32450 MenhirLib.EngineTypes.endp = _endpos_d_;
32451 MenhirLib.EngineTypes.next = {
32452 MenhirLib.EngineTypes.semv = lang;
32453 MenhirLib.EngineTypes.startp = _startpos_lang_;
32454 MenhirLib.EngineTypes.endp = _endpos_lang_;
32455 MenhirLib.EngineTypes.next = {
32456 MenhirLib.EngineTypes.startp = _startpos__2_;
32457 MenhirLib.EngineTypes.endp = _endpos__2_;
32458 MenhirLib.EngineTypes.next = {
32459 MenhirLib.EngineTypes.state = _menhir_s;
32460 MenhirLib.EngineTypes.startp = _startpos__1_;
32461 MenhirLib.EngineTypes.endp = _endpos__1_;
32462 MenhirLib.EngineTypes.next = _menhir_stack;
32463 };
32464 };
32465 };
32466 };
32467 } = _menhir_stack in
32468 let d : 'tv_depends = Obj.magic d in
32469 let lang : 'tv_pure_ident = Obj.magic lang in
32470 let _startpos = _startpos__1_ in
32471 let _endpos = _endpos__5_ in
32472 let _v : (
32473 # 159 "parser_cocci_menhir.mly"
32474 (Ast_cocci.rulename)
32475 # 32476 "parser_cocci_menhir.ml"
32476 ) =
32477 # 217 "parser_cocci_menhir.mly"
32478 ( P.make_initial_script_rule_name_result lang d )
32479 # 32480 "parser_cocci_menhir.ml"
32480 in
32481 _menhir_env.MenhirLib.EngineTypes.stack <- {
32482 MenhirLib.EngineTypes.state = _menhir_s;
32483 MenhirLib.EngineTypes.semv = Obj.repr _v;
32484 MenhirLib.EngineTypes.startp = _startpos;
32485 MenhirLib.EngineTypes.endp = _endpos;
32486 MenhirLib.EngineTypes.next = _menhir_stack;
32487 });
32488 (fun _menhir_env ->
32489 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32490 let {
32491 MenhirLib.EngineTypes.startp = _startpos__5_;
32492 MenhirLib.EngineTypes.endp = _endpos__5_;
32493 MenhirLib.EngineTypes.next = {
32494 MenhirLib.EngineTypes.semv = d;
32495 MenhirLib.EngineTypes.startp = _startpos_d_;
32496 MenhirLib.EngineTypes.endp = _endpos_d_;
32497 MenhirLib.EngineTypes.next = {
32498 MenhirLib.EngineTypes.semv = lang;
32499 MenhirLib.EngineTypes.startp = _startpos_lang_;
32500 MenhirLib.EngineTypes.endp = _endpos_lang_;
32501 MenhirLib.EngineTypes.next = {
32502 MenhirLib.EngineTypes.startp = _startpos__2_;
32503 MenhirLib.EngineTypes.endp = _endpos__2_;
32504 MenhirLib.EngineTypes.next = {
32505 MenhirLib.EngineTypes.state = _menhir_s;
32506 MenhirLib.EngineTypes.startp = _startpos__1_;
32507 MenhirLib.EngineTypes.endp = _endpos__1_;
32508 MenhirLib.EngineTypes.next = _menhir_stack;
32509 };
32510 };
32511 };
32512 };
32513 } = _menhir_stack in
32514 let d : 'tv_depends = Obj.magic d in
32515 let lang : 'tv_pure_ident = Obj.magic lang in
32516 let _startpos = _startpos__1_ in
32517 let _endpos = _endpos__5_ in
32518 let _v : (
32519 # 159 "parser_cocci_menhir.mly"
32520 (Ast_cocci.rulename)
32521 # 32522 "parser_cocci_menhir.ml"
32522 ) =
32523 # 219 "parser_cocci_menhir.mly"
32524 ( P.make_final_script_rule_name_result lang d )
32525 # 32526 "parser_cocci_menhir.ml"
32526 in
32527 _menhir_env.MenhirLib.EngineTypes.stack <- {
32528 MenhirLib.EngineTypes.state = _menhir_s;
32529 MenhirLib.EngineTypes.semv = Obj.repr _v;
32530 MenhirLib.EngineTypes.startp = _startpos;
32531 MenhirLib.EngineTypes.endp = _endpos;
32532 MenhirLib.EngineTypes.next = _menhir_stack;
32533 });
32534 (fun _menhir_env ->
32535 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32536 let {
32537 MenhirLib.EngineTypes.startp = _startpos__2_;
32538 MenhirLib.EngineTypes.endp = _endpos__2_;
32539 MenhirLib.EngineTypes.next = {
32540 MenhirLib.EngineTypes.state = _menhir_s;
32541 MenhirLib.EngineTypes.semv = py;
32542 MenhirLib.EngineTypes.startp = _startpos_py_;
32543 MenhirLib.EngineTypes.endp = _endpos_py_;
32544 MenhirLib.EngineTypes.next = _menhir_stack;
32545 };
32546 } = _menhir_stack in
32547 let py : 'tv_pure_ident = Obj.magic py in
32548 let _startpos = _startpos_py_ in
32549 let _endpos = _endpos__2_ in
32550 let _v : (
32551 # 165 "parser_cocci_menhir.mly"
32552 ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
32553 # 32554 "parser_cocci_menhir.ml"
32554 ) =
32555 # 2172 "parser_cocci_menhir.mly"
32556 ( ((Some (P.id2name py), None), None) )
32557 # 32558 "parser_cocci_menhir.ml"
32558 in
32559 _menhir_env.MenhirLib.EngineTypes.stack <- {
32560 MenhirLib.EngineTypes.state = _menhir_s;
32561 MenhirLib.EngineTypes.semv = Obj.repr _v;
32562 MenhirLib.EngineTypes.startp = _startpos;
32563 MenhirLib.EngineTypes.endp = _endpos;
32564 MenhirLib.EngineTypes.next = _menhir_stack;
32565 });
32566 (fun _menhir_env ->
32567 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32568 let {
32569 MenhirLib.EngineTypes.startp = _startpos__3_;
32570 MenhirLib.EngineTypes.endp = _endpos__3_;
32571 MenhirLib.EngineTypes.next = {
32572 MenhirLib.EngineTypes.semv = _2;
32573 MenhirLib.EngineTypes.startp = _startpos__2_;
32574 MenhirLib.EngineTypes.endp = _endpos__2_;
32575 MenhirLib.EngineTypes.next = {
32576 MenhirLib.EngineTypes.state = _menhir_s;
32577 MenhirLib.EngineTypes.semv = py;
32578 MenhirLib.EngineTypes.startp = _startpos_py_;
32579 MenhirLib.EngineTypes.endp = _endpos_py_;
32580 MenhirLib.EngineTypes.next = _menhir_stack;
32581 };
32582 };
32583 } = _menhir_stack in
32584 let _2 : 'tv_script_name_decl = Obj.magic _2 in
32585 let py : 'tv_pure_ident = Obj.magic py in
32586 let _startpos = _startpos_py_ in
32587 let _endpos = _endpos__3_ in
32588 let _v : (
32589 # 165 "parser_cocci_menhir.mly"
32590 ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
32591 # 32592 "parser_cocci_menhir.ml"
32592 ) =
32593 # 2174 "parser_cocci_menhir.mly"
32594 ( ((Some (P.id2name py), None), Some _2) )
32595 # 32596 "parser_cocci_menhir.ml"
32596 in
32597 _menhir_env.MenhirLib.EngineTypes.stack <- {
32598 MenhirLib.EngineTypes.state = _menhir_s;
32599 MenhirLib.EngineTypes.semv = Obj.repr _v;
32600 MenhirLib.EngineTypes.startp = _startpos;
32601 MenhirLib.EngineTypes.endp = _endpos;
32602 MenhirLib.EngineTypes.next = _menhir_stack;
32603 });
32604 (fun _menhir_env ->
32605 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32606 let {
32607 MenhirLib.EngineTypes.startp = _startpos__7_;
32608 MenhirLib.EngineTypes.endp = _endpos__7_;
32609 MenhirLib.EngineTypes.next = {
32610 MenhirLib.EngineTypes.semv = _6;
32611 MenhirLib.EngineTypes.startp = _startpos__6_;
32612 MenhirLib.EngineTypes.endp = _endpos__6_;
32613 MenhirLib.EngineTypes.next = {
32614 MenhirLib.EngineTypes.startp = _startpos__5_;
32615 MenhirLib.EngineTypes.endp = _endpos__5_;
32616 MenhirLib.EngineTypes.next = {
32617 MenhirLib.EngineTypes.semv = ast;
32618 MenhirLib.EngineTypes.startp = _startpos_ast_;
32619 MenhirLib.EngineTypes.endp = _endpos_ast_;
32620 MenhirLib.EngineTypes.next = {
32621 MenhirLib.EngineTypes.startp = _startpos__3_;
32622 MenhirLib.EngineTypes.endp = _endpos__3_;
32623 MenhirLib.EngineTypes.next = {
32624 MenhirLib.EngineTypes.startp = _startpos__2_;
32625 MenhirLib.EngineTypes.endp = _endpos__2_;
32626 MenhirLib.EngineTypes.next = {
32627 MenhirLib.EngineTypes.state = _menhir_s;
32628 MenhirLib.EngineTypes.startp = _startpos__1_;
32629 MenhirLib.EngineTypes.endp = _endpos__1_;
32630 MenhirLib.EngineTypes.next = _menhir_stack;
32631 };
32632 };
32633 };
32634 };
32635 };
32636 };
32637 } = _menhir_stack in
32638 let _6 : 'tv_script_name_decl = Obj.magic _6 in
32639 let ast : 'tv_pure_ident = Obj.magic ast in
32640 let _startpos = _startpos__1_ in
32641 let _endpos = _endpos__7_ in
32642 let _v : (
32643 # 165 "parser_cocci_menhir.mly"
32644 ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
32645 # 32646 "parser_cocci_menhir.ml"
32646 ) =
32647 # 2176 "parser_cocci_menhir.mly"
32648 ( ((None, Some (P.id2name ast)), Some _6) )
32649 # 32650 "parser_cocci_menhir.ml"
32650 in
32651 _menhir_env.MenhirLib.EngineTypes.stack <- {
32652 MenhirLib.EngineTypes.state = _menhir_s;
32653 MenhirLib.EngineTypes.semv = Obj.repr _v;
32654 MenhirLib.EngineTypes.startp = _startpos;
32655 MenhirLib.EngineTypes.endp = _endpos;
32656 MenhirLib.EngineTypes.next = _menhir_stack;
32657 });
32658 (fun _menhir_env ->
32659 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32660 let {
32661 MenhirLib.EngineTypes.startp = _startpos__7_;
32662 MenhirLib.EngineTypes.endp = _endpos__7_;
32663 MenhirLib.EngineTypes.next = {
32664 MenhirLib.EngineTypes.semv = _6;
32665 MenhirLib.EngineTypes.startp = _startpos__6_;
32666 MenhirLib.EngineTypes.endp = _endpos__6_;
32667 MenhirLib.EngineTypes.next = {
32668 MenhirLib.EngineTypes.startp = _startpos__5_;
32669 MenhirLib.EngineTypes.endp = _endpos__5_;
32670 MenhirLib.EngineTypes.next = {
32671 MenhirLib.EngineTypes.startp = _startpos__4_;
32672 MenhirLib.EngineTypes.endp = _endpos__4_;
32673 MenhirLib.EngineTypes.next = {
32674 MenhirLib.EngineTypes.startp = _startpos__3_;
32675 MenhirLib.EngineTypes.endp = _endpos__3_;
32676 MenhirLib.EngineTypes.next = {
32677 MenhirLib.EngineTypes.semv = str;
32678 MenhirLib.EngineTypes.startp = _startpos_str_;
32679 MenhirLib.EngineTypes.endp = _endpos_str_;
32680 MenhirLib.EngineTypes.next = {
32681 MenhirLib.EngineTypes.state = _menhir_s;
32682 MenhirLib.EngineTypes.startp = _startpos__1_;
32683 MenhirLib.EngineTypes.endp = _endpos__1_;
32684 MenhirLib.EngineTypes.next = _menhir_stack;
32685 };
32686 };
32687 };
32688 };
32689 };
32690 };
32691 } = _menhir_stack in
32692 let _6 : 'tv_script_name_decl = Obj.magic _6 in
32693 let str : 'tv_pure_ident = Obj.magic str in
32694 let _startpos = _startpos__1_ in
32695 let _endpos = _endpos__7_ in
32696 let _v : (
32697 # 165 "parser_cocci_menhir.mly"
32698 ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
32699 # 32700 "parser_cocci_menhir.ml"
32700 ) =
32701 # 2178 "parser_cocci_menhir.mly"
32702 ( ((Some (P.id2name str), None), Some _6) )
32703 # 32704 "parser_cocci_menhir.ml"
32704 in
32705 _menhir_env.MenhirLib.EngineTypes.stack <- {
32706 MenhirLib.EngineTypes.state = _menhir_s;
32707 MenhirLib.EngineTypes.semv = Obj.repr _v;
32708 MenhirLib.EngineTypes.startp = _startpos;
32709 MenhirLib.EngineTypes.endp = _endpos;
32710 MenhirLib.EngineTypes.next = _menhir_stack;
32711 });
32712 (fun _menhir_env ->
32713 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32714 let {
32715 MenhirLib.EngineTypes.startp = _startpos__7_;
32716 MenhirLib.EngineTypes.endp = _endpos__7_;
32717 MenhirLib.EngineTypes.next = {
32718 MenhirLib.EngineTypes.semv = _6;
32719 MenhirLib.EngineTypes.startp = _startpos__6_;
32720 MenhirLib.EngineTypes.endp = _endpos__6_;
32721 MenhirLib.EngineTypes.next = {
32722 MenhirLib.EngineTypes.startp = _startpos__5_;
32723 MenhirLib.EngineTypes.endp = _endpos__5_;
32724 MenhirLib.EngineTypes.next = {
32725 MenhirLib.EngineTypes.semv = ast;
32726 MenhirLib.EngineTypes.startp = _startpos_ast_;
32727 MenhirLib.EngineTypes.endp = _endpos_ast_;
32728 MenhirLib.EngineTypes.next = {
32729 MenhirLib.EngineTypes.startp = _startpos__3_;
32730 MenhirLib.EngineTypes.endp = _endpos__3_;
32731 MenhirLib.EngineTypes.next = {
32732 MenhirLib.EngineTypes.semv = str;
32733 MenhirLib.EngineTypes.startp = _startpos_str_;
32734 MenhirLib.EngineTypes.endp = _endpos_str_;
32735 MenhirLib.EngineTypes.next = {
32736 MenhirLib.EngineTypes.state = _menhir_s;
32737 MenhirLib.EngineTypes.startp = _startpos__1_;
32738 MenhirLib.EngineTypes.endp = _endpos__1_;
32739 MenhirLib.EngineTypes.next = _menhir_stack;
32740 };
32741 };
32742 };
32743 };
32744 };
32745 };
32746 } = _menhir_stack in
32747 let _6 : 'tv_script_name_decl = Obj.magic _6 in
32748 let ast : 'tv_pure_ident = Obj.magic ast in
32749 let str : 'tv_pure_ident = Obj.magic str in
32750 let _startpos = _startpos__1_ in
32751 let _endpos = _endpos__7_ in
32752 let _v : (
32753 # 165 "parser_cocci_menhir.mly"
32754 ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
32755 # 32756 "parser_cocci_menhir.ml"
32756 ) =
32757 # 2180 "parser_cocci_menhir.mly"
32758 ( ((Some (P.id2name str), Some (P.id2name ast)), Some _6) )
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 = cocci;
32772 MenhirLib.EngineTypes.startp = _startpos_cocci_;
32773 MenhirLib.EngineTypes.endp = _endpos_cocci_;
32774 MenhirLib.EngineTypes.next = {
32775 MenhirLib.EngineTypes.startp = _startpos__3_;
32776 MenhirLib.EngineTypes.endp = _endpos__3_;
32777 MenhirLib.EngineTypes.next = {
32778 MenhirLib.EngineTypes.semv = _2;
32779 MenhirLib.EngineTypes.startp = _startpos__2_;
32780 MenhirLib.EngineTypes.endp = _endpos__2_;
32781 MenhirLib.EngineTypes.next = {
32782 MenhirLib.EngineTypes.state = _menhir_s;
32783 MenhirLib.EngineTypes.startp = _startpos__1_;
32784 MenhirLib.EngineTypes.endp = _endpos__1_;
32785 MenhirLib.EngineTypes.next = _menhir_stack;
32786 };
32787 };
32788 };
32789 } = _menhir_stack in
32790 let cocci : 'tv_pure_ident = Obj.magic cocci in
32791 let _2 : (
32792 # 49 "parser_cocci_menhir.mly"
32793 (string)
32794 # 32795 "parser_cocci_menhir.ml"
32795 ) = Obj.magic _2 in
32796 let _startpos = _startpos__1_ in
32797 let _endpos = _endpos_cocci_ in
32798 let _v : 'tv_script_name_decl =
32799 # 2184 "parser_cocci_menhir.mly"
32800 ( let nm = P.id2name cocci in
32801 let mv = Parse_aux.lookup _2 nm in
32802 ((_2, nm), mv) )
32803 # 32804 "parser_cocci_menhir.ml"
32804 in
32805 _menhir_env.MenhirLib.EngineTypes.stack <- {
32806 MenhirLib.EngineTypes.state = _menhir_s;
32807 MenhirLib.EngineTypes.semv = Obj.repr _v;
32808 MenhirLib.EngineTypes.startp = _startpos;
32809 MenhirLib.EngineTypes.endp = _endpos;
32810 MenhirLib.EngineTypes.next = _menhir_stack;
32811 });
32812 (fun _menhir_env ->
32813 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32814 let {
32815 MenhirLib.EngineTypes.semv = cocci;
32816 MenhirLib.EngineTypes.startp = _startpos_cocci_;
32817 MenhirLib.EngineTypes.endp = _endpos_cocci_;
32818 MenhirLib.EngineTypes.next = {
32819 MenhirLib.EngineTypes.startp = _startpos__3_;
32820 MenhirLib.EngineTypes.endp = _endpos__3_;
32821 MenhirLib.EngineTypes.next = {
32822 MenhirLib.EngineTypes.startp = _startpos__2_;
32823 MenhirLib.EngineTypes.endp = _endpos__2_;
32824 MenhirLib.EngineTypes.next = {
32825 MenhirLib.EngineTypes.state = _menhir_s;
32826 MenhirLib.EngineTypes.startp = _startpos__1_;
32827 MenhirLib.EngineTypes.endp = _endpos__1_;
32828 MenhirLib.EngineTypes.next = _menhir_stack;
32829 };
32830 };
32831 };
32832 } = _menhir_stack in
32833 let cocci : 'tv_pure_ident = Obj.magic cocci in
32834 let _startpos = _startpos__1_ in
32835 let _endpos = _endpos_cocci_ in
32836 let _v : 'tv_script_name_decl =
32837 # 2188 "parser_cocci_menhir.mly"
32838 ( let nm = P.id2name cocci in
32839 Iteration.parsed_virtual_identifiers :=
32840 Common.union_set [nm]
32841 !Iteration.parsed_virtual_identifiers;
32842 let name = ("virtual", nm) in
32843 let mv = Ast.MetaIdDecl(Ast.NONE,name) in
32844 (name,mv) )
32845 # 32846 "parser_cocci_menhir.ml"
32846 in
32847 _menhir_env.MenhirLib.EngineTypes.stack <- {
32848 MenhirLib.EngineTypes.state = _menhir_s;
32849 MenhirLib.EngineTypes.semv = Obj.repr _v;
32850 MenhirLib.EngineTypes.startp = _startpos;
32851 MenhirLib.EngineTypes.endp = _endpos;
32852 MenhirLib.EngineTypes.next = _menhir_stack;
32853 });
32854 (fun _menhir_env ->
32855 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32856 let {
32857 MenhirLib.EngineTypes.state = _menhir_s;
32858 MenhirLib.EngineTypes.semv = _1;
32859 MenhirLib.EngineTypes.startp = _startpos__1_;
32860 MenhirLib.EngineTypes.endp = _endpos__1_;
32861 MenhirLib.EngineTypes.next = _menhir_stack;
32862 } = _menhir_stack in
32863 let _1 : (
32864 # 91 "parser_cocci_menhir.mly"
32865 (string * Data.clt)
32866 # 32867 "parser_cocci_menhir.ml"
32867 ) = Obj.magic _1 in
32868 let _startpos = _startpos__1_ in
32869 let _endpos = _endpos__1_ in
32870 let _v : 'tv_seed_elem =
32871 # 1579 "parser_cocci_menhir.mly"
32872 ( let (x,_) = _1 in Ast.SeedString x )
32873 # 32874 "parser_cocci_menhir.ml"
32874 in
32875 _menhir_env.MenhirLib.EngineTypes.stack <- {
32876 MenhirLib.EngineTypes.state = _menhir_s;
32877 MenhirLib.EngineTypes.semv = Obj.repr _v;
32878 MenhirLib.EngineTypes.startp = _startpos;
32879 MenhirLib.EngineTypes.endp = _endpos;
32880 MenhirLib.EngineTypes.next = _menhir_stack;
32881 });
32882 (fun _menhir_env ->
32883 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32884 let {
32885 MenhirLib.EngineTypes.state = _menhir_s;
32886 MenhirLib.EngineTypes.semv = _1;
32887 MenhirLib.EngineTypes.startp = _startpos__1_;
32888 MenhirLib.EngineTypes.endp = _endpos__1_;
32889 MenhirLib.EngineTypes.next = _menhir_stack;
32890 } = _menhir_stack in
32891 let _1 : (
32892 # 65 "parser_cocci_menhir.mly"
32893 (Parse_aux.idinfo)
32894 # 32895 "parser_cocci_menhir.ml"
32895 ) = Obj.magic _1 in
32896 let _startpos = _startpos__1_ in
32897 let _endpos = _endpos__1_ in
32898 let _v : 'tv_seed_elem =
32899 # 1580 "parser_cocci_menhir.mly"
32900 ( let (x,_,_,_) = _1 in Ast.SeedId x )
32901 # 32902 "parser_cocci_menhir.ml"
32902 in
32903 _menhir_env.MenhirLib.EngineTypes.stack <- {
32904 MenhirLib.EngineTypes.state = _menhir_s;
32905 MenhirLib.EngineTypes.semv = Obj.repr _v;
32906 MenhirLib.EngineTypes.startp = _startpos;
32907 MenhirLib.EngineTypes.endp = _endpos;
32908 MenhirLib.EngineTypes.next = _menhir_stack;
32909 });
32910 (fun _menhir_env ->
32911 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32912 let {
32913 MenhirLib.EngineTypes.semv = _3;
32914 MenhirLib.EngineTypes.startp = _startpos__3_;
32915 MenhirLib.EngineTypes.endp = _endpos__3_;
32916 MenhirLib.EngineTypes.next = {
32917 MenhirLib.EngineTypes.startp = _startpos__2_;
32918 MenhirLib.EngineTypes.endp = _endpos__2_;
32919 MenhirLib.EngineTypes.next = {
32920 MenhirLib.EngineTypes.state = _menhir_s;
32921 MenhirLib.EngineTypes.semv = _1;
32922 MenhirLib.EngineTypes.startp = _startpos__1_;
32923 MenhirLib.EngineTypes.endp = _endpos__1_;
32924 MenhirLib.EngineTypes.next = _menhir_stack;
32925 };
32926 };
32927 } = _menhir_stack in
32928 let _3 : 'tv_pure_ident = Obj.magic _3 in
32929 let _1 : (
32930 # 49 "parser_cocci_menhir.mly"
32931 (string)
32932 # 32933 "parser_cocci_menhir.ml"
32933 ) = Obj.magic _1 in
32934 let _startpos = _startpos__1_ in
32935 let _endpos = _endpos__3_ in
32936 let _v : 'tv_seed_elem =
32937 # 1582 "parser_cocci_menhir.mly"
32938 ( let nm = (_1,P.id2name _3) in
32939 P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm));
32940 Ast.SeedId nm )
32941 # 32942 "parser_cocci_menhir.ml"
32942 in
32943 _menhir_env.MenhirLib.EngineTypes.stack <- {
32944 MenhirLib.EngineTypes.state = _menhir_s;
32945 MenhirLib.EngineTypes.semv = Obj.repr _v;
32946 MenhirLib.EngineTypes.startp = _startpos;
32947 MenhirLib.EngineTypes.endp = _endpos;
32948 MenhirLib.EngineTypes.next = _menhir_stack;
32949 });
32950 (fun _menhir_env ->
32951 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32952 let {
32953 MenhirLib.EngineTypes.state = _menhir_s;
32954 MenhirLib.EngineTypes.semv = x;
32955 MenhirLib.EngineTypes.startp = _startpos_x_;
32956 MenhirLib.EngineTypes.endp = _endpos_x_;
32957 MenhirLib.EngineTypes.next = _menhir_stack;
32958 } = _menhir_stack in
32959 let x : (
32960 # 91 "parser_cocci_menhir.mly"
32961 (string * Data.clt)
32962 # 32963 "parser_cocci_menhir.ml"
32963 ) = Obj.magic x in
32964 let _startpos = _startpos_x_ in
32965 let _endpos = _endpos_x_ in
32966 let _v : 'tv_separated_nonempty_list_TComma_TString_ =
32967 # 144 "standard.mly"
32968 ( [ x ] )
32969 # 32970 "parser_cocci_menhir.ml"
32970 in
32971 _menhir_env.MenhirLib.EngineTypes.stack <- {
32972 MenhirLib.EngineTypes.state = _menhir_s;
32973 MenhirLib.EngineTypes.semv = Obj.repr _v;
32974 MenhirLib.EngineTypes.startp = _startpos;
32975 MenhirLib.EngineTypes.endp = _endpos;
32976 MenhirLib.EngineTypes.next = _menhir_stack;
32977 });
32978 (fun _menhir_env ->
32979 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
32980 let {
32981 MenhirLib.EngineTypes.semv = xs;
32982 MenhirLib.EngineTypes.startp = _startpos_xs_;
32983 MenhirLib.EngineTypes.endp = _endpos_xs_;
32984 MenhirLib.EngineTypes.next = {
32985 MenhirLib.EngineTypes.startp = _startpos__2_;
32986 MenhirLib.EngineTypes.endp = _endpos__2_;
32987 MenhirLib.EngineTypes.next = {
32988 MenhirLib.EngineTypes.state = _menhir_s;
32989 MenhirLib.EngineTypes.semv = x;
32990 MenhirLib.EngineTypes.startp = _startpos_x_;
32991 MenhirLib.EngineTypes.endp = _endpos_x_;
32992 MenhirLib.EngineTypes.next = _menhir_stack;
32993 };
32994 };
32995 } = _menhir_stack in
32996 let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in
32997 let x : (
32998 # 91 "parser_cocci_menhir.mly"
32999 (string * Data.clt)
33000 # 33001 "parser_cocci_menhir.ml"
33001 ) = Obj.magic x in
33002 let _startpos = _startpos_x_ in
33003 let _endpos = _endpos_xs_ in
33004 let _v : 'tv_separated_nonempty_list_TComma_TString_ =
33005 # 146 "standard.mly"
33006 ( x :: xs )
33007 # 33008 "parser_cocci_menhir.ml"
33008 in
33009 _menhir_env.MenhirLib.EngineTypes.stack <- {
33010 MenhirLib.EngineTypes.state = _menhir_s;
33011 MenhirLib.EngineTypes.semv = Obj.repr _v;
33012 MenhirLib.EngineTypes.startp = _startpos;
33013 MenhirLib.EngineTypes.endp = _endpos;
33014 MenhirLib.EngineTypes.next = _menhir_stack;
33015 });
33016 (fun _menhir_env ->
33017 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33018 let {
33019 MenhirLib.EngineTypes.state = _menhir_s;
33020 MenhirLib.EngineTypes.semv = x;
33021 MenhirLib.EngineTypes.startp = _startpos_x_;
33022 MenhirLib.EngineTypes.endp = _endpos_x_;
33023 MenhirLib.EngineTypes.next = _menhir_stack;
33024 } = _menhir_stack in
33025 let x : 'tv_any_strict = Obj.magic x in
33026 let _startpos = _startpos_x_ in
33027 let _endpos = _endpos_x_ in
33028 let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
33029 # 144 "standard.mly"
33030 ( [ x ] )
33031 # 33032 "parser_cocci_menhir.ml"
33032 in
33033 _menhir_env.MenhirLib.EngineTypes.stack <- {
33034 MenhirLib.EngineTypes.state = _menhir_s;
33035 MenhirLib.EngineTypes.semv = Obj.repr _v;
33036 MenhirLib.EngineTypes.startp = _startpos;
33037 MenhirLib.EngineTypes.endp = _endpos;
33038 MenhirLib.EngineTypes.next = _menhir_stack;
33039 });
33040 (fun _menhir_env ->
33041 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33042 let {
33043 MenhirLib.EngineTypes.semv = xs;
33044 MenhirLib.EngineTypes.startp = _startpos_xs_;
33045 MenhirLib.EngineTypes.endp = _endpos_xs_;
33046 MenhirLib.EngineTypes.next = {
33047 MenhirLib.EngineTypes.startp = _startpos__2_;
33048 MenhirLib.EngineTypes.endp = _endpos__2_;
33049 MenhirLib.EngineTypes.next = {
33050 MenhirLib.EngineTypes.state = _menhir_s;
33051 MenhirLib.EngineTypes.semv = x;
33052 MenhirLib.EngineTypes.startp = _startpos_x_;
33053 MenhirLib.EngineTypes.endp = _endpos_x_;
33054 MenhirLib.EngineTypes.next = _menhir_stack;
33055 };
33056 };
33057 } = _menhir_stack in
33058 let xs : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic xs in
33059 let x : 'tv_any_strict = Obj.magic x in
33060 let _startpos = _startpos_x_ in
33061 let _endpos = _endpos_xs_ in
33062 let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
33063 # 146 "standard.mly"
33064 ( x :: xs )
33065 # 33066 "parser_cocci_menhir.ml"
33066 in
33067 _menhir_env.MenhirLib.EngineTypes.stack <- {
33068 MenhirLib.EngineTypes.state = _menhir_s;
33069 MenhirLib.EngineTypes.semv = Obj.repr _v;
33070 MenhirLib.EngineTypes.startp = _startpos;
33071 MenhirLib.EngineTypes.endp = _endpos;
33072 MenhirLib.EngineTypes.next = _menhir_stack;
33073 });
33074 (fun _menhir_env ->
33075 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33076 let {
33077 MenhirLib.EngineTypes.state = _menhir_s;
33078 MenhirLib.EngineTypes.semv = x;
33079 MenhirLib.EngineTypes.startp = _startpos_x_;
33080 MenhirLib.EngineTypes.endp = _endpos_x_;
33081 MenhirLib.EngineTypes.next = _menhir_stack;
33082 } = _menhir_stack in
33083 let x : 'tv_ctype = Obj.magic x in
33084 let _startpos = _startpos_x_ in
33085 let _endpos = _endpos_x_ in
33086 let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
33087 # 144 "standard.mly"
33088 ( [ x ] )
33089 # 33090 "parser_cocci_menhir.ml"
33090 in
33091 _menhir_env.MenhirLib.EngineTypes.stack <- {
33092 MenhirLib.EngineTypes.state = _menhir_s;
33093 MenhirLib.EngineTypes.semv = Obj.repr _v;
33094 MenhirLib.EngineTypes.startp = _startpos;
33095 MenhirLib.EngineTypes.endp = _endpos;
33096 MenhirLib.EngineTypes.next = _menhir_stack;
33097 });
33098 (fun _menhir_env ->
33099 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33100 let {
33101 MenhirLib.EngineTypes.semv = xs;
33102 MenhirLib.EngineTypes.startp = _startpos_xs_;
33103 MenhirLib.EngineTypes.endp = _endpos_xs_;
33104 MenhirLib.EngineTypes.next = {
33105 MenhirLib.EngineTypes.startp = _startpos__2_;
33106 MenhirLib.EngineTypes.endp = _endpos__2_;
33107 MenhirLib.EngineTypes.next = {
33108 MenhirLib.EngineTypes.state = _menhir_s;
33109 MenhirLib.EngineTypes.semv = x;
33110 MenhirLib.EngineTypes.startp = _startpos_x_;
33111 MenhirLib.EngineTypes.endp = _endpos_x_;
33112 MenhirLib.EngineTypes.next = _menhir_stack;
33113 };
33114 };
33115 } = _menhir_stack in
33116 let xs : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic xs in
33117 let x : 'tv_ctype = Obj.magic x in
33118 let _startpos = _startpos_x_ in
33119 let _endpos = _endpos_xs_ in
33120 let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
33121 # 146 "standard.mly"
33122 ( x :: xs )
33123 # 33124 "parser_cocci_menhir.ml"
33124 in
33125 _menhir_env.MenhirLib.EngineTypes.stack <- {
33126 MenhirLib.EngineTypes.state = _menhir_s;
33127 MenhirLib.EngineTypes.semv = Obj.repr _v;
33128 MenhirLib.EngineTypes.startp = _startpos;
33129 MenhirLib.EngineTypes.endp = _endpos;
33130 MenhirLib.EngineTypes.next = _menhir_stack;
33131 });
33132 (fun _menhir_env ->
33133 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33134 let {
33135 MenhirLib.EngineTypes.state = _menhir_s;
33136 MenhirLib.EngineTypes.semv = x;
33137 MenhirLib.EngineTypes.startp = _startpos_x_;
33138 MenhirLib.EngineTypes.endp = _endpos_x_;
33139 MenhirLib.EngineTypes.next = _menhir_stack;
33140 } = _menhir_stack in
33141 let x : 'tv_d_ident = Obj.magic x in
33142 let _startpos = _startpos_x_ in
33143 let _endpos = _endpos_x_ in
33144 let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
33145 # 144 "standard.mly"
33146 ( [ x ] )
33147 # 33148 "parser_cocci_menhir.ml"
33148 in
33149 _menhir_env.MenhirLib.EngineTypes.stack <- {
33150 MenhirLib.EngineTypes.state = _menhir_s;
33151 MenhirLib.EngineTypes.semv = Obj.repr _v;
33152 MenhirLib.EngineTypes.startp = _startpos;
33153 MenhirLib.EngineTypes.endp = _endpos;
33154 MenhirLib.EngineTypes.next = _menhir_stack;
33155 });
33156 (fun _menhir_env ->
33157 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33158 let {
33159 MenhirLib.EngineTypes.semv = xs;
33160 MenhirLib.EngineTypes.startp = _startpos_xs_;
33161 MenhirLib.EngineTypes.endp = _endpos_xs_;
33162 MenhirLib.EngineTypes.next = {
33163 MenhirLib.EngineTypes.startp = _startpos__2_;
33164 MenhirLib.EngineTypes.endp = _endpos__2_;
33165 MenhirLib.EngineTypes.next = {
33166 MenhirLib.EngineTypes.state = _menhir_s;
33167 MenhirLib.EngineTypes.semv = x;
33168 MenhirLib.EngineTypes.startp = _startpos_x_;
33169 MenhirLib.EngineTypes.endp = _endpos_x_;
33170 MenhirLib.EngineTypes.next = _menhir_stack;
33171 };
33172 };
33173 } = _menhir_stack in
33174 let xs : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic xs in
33175 let x : 'tv_d_ident = Obj.magic x in
33176 let _startpos = _startpos_x_ in
33177 let _endpos = _endpos_xs_ in
33178 let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
33179 # 146 "standard.mly"
33180 ( x :: xs )
33181 # 33182 "parser_cocci_menhir.ml"
33182 in
33183 _menhir_env.MenhirLib.EngineTypes.stack <- {
33184 MenhirLib.EngineTypes.state = _menhir_s;
33185 MenhirLib.EngineTypes.semv = Obj.repr _v;
33186 MenhirLib.EngineTypes.startp = _startpos;
33187 MenhirLib.EngineTypes.endp = _endpos;
33188 MenhirLib.EngineTypes.next = _menhir_stack;
33189 });
33190 (fun _menhir_env ->
33191 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33192 let {
33193 MenhirLib.EngineTypes.state = _menhir_s;
33194 MenhirLib.EngineTypes.semv = x;
33195 MenhirLib.EngineTypes.startp = _startpos_x_;
33196 MenhirLib.EngineTypes.endp = _endpos_x_;
33197 MenhirLib.EngineTypes.next = _menhir_stack;
33198 } = _menhir_stack in
33199 let x : 'tv_ident_or_const = Obj.magic x in
33200 let _startpos = _startpos_x_ in
33201 let _endpos = _endpos_x_ in
33202 let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
33203 # 144 "standard.mly"
33204 ( [ x ] )
33205 # 33206 "parser_cocci_menhir.ml"
33206 in
33207 _menhir_env.MenhirLib.EngineTypes.stack <- {
33208 MenhirLib.EngineTypes.state = _menhir_s;
33209 MenhirLib.EngineTypes.semv = Obj.repr _v;
33210 MenhirLib.EngineTypes.startp = _startpos;
33211 MenhirLib.EngineTypes.endp = _endpos;
33212 MenhirLib.EngineTypes.next = _menhir_stack;
33213 });
33214 (fun _menhir_env ->
33215 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33216 let {
33217 MenhirLib.EngineTypes.semv = xs;
33218 MenhirLib.EngineTypes.startp = _startpos_xs_;
33219 MenhirLib.EngineTypes.endp = _endpos_xs_;
33220 MenhirLib.EngineTypes.next = {
33221 MenhirLib.EngineTypes.startp = _startpos__2_;
33222 MenhirLib.EngineTypes.endp = _endpos__2_;
33223 MenhirLib.EngineTypes.next = {
33224 MenhirLib.EngineTypes.state = _menhir_s;
33225 MenhirLib.EngineTypes.semv = x;
33226 MenhirLib.EngineTypes.startp = _startpos_x_;
33227 MenhirLib.EngineTypes.endp = _endpos_x_;
33228 MenhirLib.EngineTypes.next = _menhir_stack;
33229 };
33230 };
33231 } = _menhir_stack in
33232 let xs : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic xs in
33233 let x : 'tv_ident_or_const = Obj.magic x in
33234 let _startpos = _startpos_x_ in
33235 let _endpos = _endpos_xs_ in
33236 let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
33237 # 146 "standard.mly"
33238 ( x :: xs )
33239 # 33240 "parser_cocci_menhir.ml"
33240 in
33241 _menhir_env.MenhirLib.EngineTypes.stack <- {
33242 MenhirLib.EngineTypes.state = _menhir_s;
33243 MenhirLib.EngineTypes.semv = Obj.repr _v;
33244 MenhirLib.EngineTypes.startp = _startpos;
33245 MenhirLib.EngineTypes.endp = _endpos;
33246 MenhirLib.EngineTypes.next = _menhir_stack;
33247 });
33248 (fun _menhir_env ->
33249 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33250 let {
33251 MenhirLib.EngineTypes.state = _menhir_s;
33252 MenhirLib.EngineTypes.semv = x;
33253 MenhirLib.EngineTypes.startp = _startpos_x_;
33254 MenhirLib.EngineTypes.endp = _endpos_x_;
33255 MenhirLib.EngineTypes.next = _menhir_stack;
33256 } = _menhir_stack in
33257 let x : 'tv_meta_ident = Obj.magic x in
33258 let _startpos = _startpos_x_ in
33259 let _endpos = _endpos_x_ in
33260 let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
33261 # 144 "standard.mly"
33262 ( [ x ] )
33263 # 33264 "parser_cocci_menhir.ml"
33264 in
33265 _menhir_env.MenhirLib.EngineTypes.stack <- {
33266 MenhirLib.EngineTypes.state = _menhir_s;
33267 MenhirLib.EngineTypes.semv = Obj.repr _v;
33268 MenhirLib.EngineTypes.startp = _startpos;
33269 MenhirLib.EngineTypes.endp = _endpos;
33270 MenhirLib.EngineTypes.next = _menhir_stack;
33271 });
33272 (fun _menhir_env ->
33273 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33274 let {
33275 MenhirLib.EngineTypes.semv = xs;
33276 MenhirLib.EngineTypes.startp = _startpos_xs_;
33277 MenhirLib.EngineTypes.endp = _endpos_xs_;
33278 MenhirLib.EngineTypes.next = {
33279 MenhirLib.EngineTypes.startp = _startpos__2_;
33280 MenhirLib.EngineTypes.endp = _endpos__2_;
33281 MenhirLib.EngineTypes.next = {
33282 MenhirLib.EngineTypes.state = _menhir_s;
33283 MenhirLib.EngineTypes.semv = x;
33284 MenhirLib.EngineTypes.startp = _startpos_x_;
33285 MenhirLib.EngineTypes.endp = _endpos_x_;
33286 MenhirLib.EngineTypes.next = _menhir_stack;
33287 };
33288 };
33289 } = _menhir_stack in
33290 let xs : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic xs in
33291 let x : 'tv_meta_ident = Obj.magic x in
33292 let _startpos = _startpos_x_ in
33293 let _endpos = _endpos_xs_ in
33294 let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
33295 # 146 "standard.mly"
33296 ( x :: xs )
33297 # 33298 "parser_cocci_menhir.ml"
33298 in
33299 _menhir_env.MenhirLib.EngineTypes.stack <- {
33300 MenhirLib.EngineTypes.state = _menhir_s;
33301 MenhirLib.EngineTypes.semv = Obj.repr _v;
33302 MenhirLib.EngineTypes.startp = _startpos;
33303 MenhirLib.EngineTypes.endp = _endpos;
33304 MenhirLib.EngineTypes.next = _menhir_stack;
33305 });
33306 (fun _menhir_env ->
33307 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33308 let {
33309 MenhirLib.EngineTypes.state = _menhir_s;
33310 MenhirLib.EngineTypes.semv = x;
33311 MenhirLib.EngineTypes.startp = _startpos_x_;
33312 MenhirLib.EngineTypes.endp = _endpos_x_;
33313 MenhirLib.EngineTypes.next = _menhir_stack;
33314 } = _menhir_stack in
33315 let x : 'tv_pure_ident = Obj.magic x in
33316 let _startpos = _startpos_x_ in
33317 let _endpos = _endpos_x_ in
33318 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
33319 # 144 "standard.mly"
33320 ( [ x ] )
33321 # 33322 "parser_cocci_menhir.ml"
33322 in
33323 _menhir_env.MenhirLib.EngineTypes.stack <- {
33324 MenhirLib.EngineTypes.state = _menhir_s;
33325 MenhirLib.EngineTypes.semv = Obj.repr _v;
33326 MenhirLib.EngineTypes.startp = _startpos;
33327 MenhirLib.EngineTypes.endp = _endpos;
33328 MenhirLib.EngineTypes.next = _menhir_stack;
33329 });
33330 (fun _menhir_env ->
33331 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33332 let {
33333 MenhirLib.EngineTypes.semv = xs;
33334 MenhirLib.EngineTypes.startp = _startpos_xs_;
33335 MenhirLib.EngineTypes.endp = _endpos_xs_;
33336 MenhirLib.EngineTypes.next = {
33337 MenhirLib.EngineTypes.startp = _startpos__2_;
33338 MenhirLib.EngineTypes.endp = _endpos__2_;
33339 MenhirLib.EngineTypes.next = {
33340 MenhirLib.EngineTypes.state = _menhir_s;
33341 MenhirLib.EngineTypes.semv = x;
33342 MenhirLib.EngineTypes.startp = _startpos_x_;
33343 MenhirLib.EngineTypes.endp = _endpos_x_;
33344 MenhirLib.EngineTypes.next = _menhir_stack;
33345 };
33346 };
33347 } = _menhir_stack in
33348 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic xs in
33349 let x : 'tv_pure_ident = Obj.magic x in
33350 let _startpos = _startpos_x_ in
33351 let _endpos = _endpos_xs_ in
33352 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
33353 # 146 "standard.mly"
33354 ( x :: xs )
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.state = _menhir_s;
33368 MenhirLib.EngineTypes.semv = x;
33369 MenhirLib.EngineTypes.startp = _startpos_x_;
33370 MenhirLib.EngineTypes.endp = _endpos_x_;
33371 MenhirLib.EngineTypes.next = _menhir_stack;
33372 } = _menhir_stack in
33373 let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
33374 let _startpos = _startpos_x_ in
33375 let _endpos = _endpos_x_ in
33376 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
33377 # 144 "standard.mly"
33378 ( [ x ] )
33379 # 33380 "parser_cocci_menhir.ml"
33380 in
33381 _menhir_env.MenhirLib.EngineTypes.stack <- {
33382 MenhirLib.EngineTypes.state = _menhir_s;
33383 MenhirLib.EngineTypes.semv = Obj.repr _v;
33384 MenhirLib.EngineTypes.startp = _startpos;
33385 MenhirLib.EngineTypes.endp = _endpos;
33386 MenhirLib.EngineTypes.next = _menhir_stack;
33387 });
33388 (fun _menhir_env ->
33389 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33390 let {
33391 MenhirLib.EngineTypes.semv = xs;
33392 MenhirLib.EngineTypes.startp = _startpos_xs_;
33393 MenhirLib.EngineTypes.endp = _endpos_xs_;
33394 MenhirLib.EngineTypes.next = {
33395 MenhirLib.EngineTypes.startp = _startpos__2_;
33396 MenhirLib.EngineTypes.endp = _endpos__2_;
33397 MenhirLib.EngineTypes.next = {
33398 MenhirLib.EngineTypes.state = _menhir_s;
33399 MenhirLib.EngineTypes.semv = x;
33400 MenhirLib.EngineTypes.startp = _startpos_x_;
33401 MenhirLib.EngineTypes.endp = _endpos_x_;
33402 MenhirLib.EngineTypes.next = _menhir_stack;
33403 };
33404 };
33405 } = _menhir_stack in
33406 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic xs in
33407 let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
33408 let _startpos = _startpos_x_ in
33409 let _endpos = _endpos_xs_ in
33410 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
33411 # 146 "standard.mly"
33412 ( x :: xs )
33413 # 33414 "parser_cocci_menhir.ml"
33414 in
33415 _menhir_env.MenhirLib.EngineTypes.stack <- {
33416 MenhirLib.EngineTypes.state = _menhir_s;
33417 MenhirLib.EngineTypes.semv = Obj.repr _v;
33418 MenhirLib.EngineTypes.startp = _startpos;
33419 MenhirLib.EngineTypes.endp = _endpos;
33420 MenhirLib.EngineTypes.next = _menhir_stack;
33421 });
33422 (fun _menhir_env ->
33423 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33424 let {
33425 MenhirLib.EngineTypes.state = _menhir_s;
33426 MenhirLib.EngineTypes.semv = x;
33427 MenhirLib.EngineTypes.startp = _startpos_x_;
33428 MenhirLib.EngineTypes.endp = _endpos_x_;
33429 MenhirLib.EngineTypes.next = _menhir_stack;
33430 } = _menhir_stack in
33431 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = Obj.magic x in
33432 let _startpos = _startpos_x_ in
33433 let _endpos = _endpos_x_ in
33434 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
33435 # 144 "standard.mly"
33436 ( [ x ] )
33437 # 33438 "parser_cocci_menhir.ml"
33438 in
33439 _menhir_env.MenhirLib.EngineTypes.stack <- {
33440 MenhirLib.EngineTypes.state = _menhir_s;
33441 MenhirLib.EngineTypes.semv = Obj.repr _v;
33442 MenhirLib.EngineTypes.startp = _startpos;
33443 MenhirLib.EngineTypes.endp = _endpos;
33444 MenhirLib.EngineTypes.next = _menhir_stack;
33445 });
33446 (fun _menhir_env ->
33447 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33448 let {
33449 MenhirLib.EngineTypes.semv = xs;
33450 MenhirLib.EngineTypes.startp = _startpos_xs_;
33451 MenhirLib.EngineTypes.endp = _endpos_xs_;
33452 MenhirLib.EngineTypes.next = {
33453 MenhirLib.EngineTypes.startp = _startpos__2_;
33454 MenhirLib.EngineTypes.endp = _endpos__2_;
33455 MenhirLib.EngineTypes.next = {
33456 MenhirLib.EngineTypes.state = _menhir_s;
33457 MenhirLib.EngineTypes.semv = x;
33458 MenhirLib.EngineTypes.startp = _startpos_x_;
33459 MenhirLib.EngineTypes.endp = _endpos_x_;
33460 MenhirLib.EngineTypes.next = _menhir_stack;
33461 };
33462 };
33463 } = _menhir_stack in
33464 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic xs in
33465 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = Obj.magic x in
33466 let _startpos = _startpos_x_ in
33467 let _endpos = _endpos_xs_ in
33468 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
33469 # 146 "standard.mly"
33470 ( x :: xs )
33471 # 33472 "parser_cocci_menhir.ml"
33472 in
33473 _menhir_env.MenhirLib.EngineTypes.stack <- {
33474 MenhirLib.EngineTypes.state = _menhir_s;
33475 MenhirLib.EngineTypes.semv = Obj.repr _v;
33476 MenhirLib.EngineTypes.startp = _startpos;
33477 MenhirLib.EngineTypes.endp = _endpos;
33478 MenhirLib.EngineTypes.next = _menhir_stack;
33479 });
33480 (fun _menhir_env ->
33481 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33482 let {
33483 MenhirLib.EngineTypes.state = _menhir_s;
33484 MenhirLib.EngineTypes.semv = x;
33485 MenhirLib.EngineTypes.startp = _startpos_x_;
33486 MenhirLib.EngineTypes.endp = _endpos_x_;
33487 MenhirLib.EngineTypes.next = _menhir_stack;
33488 } = _menhir_stack in
33489 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = Obj.magic x in
33490 let _startpos = _startpos_x_ in
33491 let _endpos = _endpos_x_ in
33492 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
33493 # 144 "standard.mly"
33494 ( [ x ] )
33495 # 33496 "parser_cocci_menhir.ml"
33496 in
33497 _menhir_env.MenhirLib.EngineTypes.stack <- {
33498 MenhirLib.EngineTypes.state = _menhir_s;
33499 MenhirLib.EngineTypes.semv = Obj.repr _v;
33500 MenhirLib.EngineTypes.startp = _startpos;
33501 MenhirLib.EngineTypes.endp = _endpos;
33502 MenhirLib.EngineTypes.next = _menhir_stack;
33503 });
33504 (fun _menhir_env ->
33505 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33506 let {
33507 MenhirLib.EngineTypes.semv = xs;
33508 MenhirLib.EngineTypes.startp = _startpos_xs_;
33509 MenhirLib.EngineTypes.endp = _endpos_xs_;
33510 MenhirLib.EngineTypes.next = {
33511 MenhirLib.EngineTypes.startp = _startpos__2_;
33512 MenhirLib.EngineTypes.endp = _endpos__2_;
33513 MenhirLib.EngineTypes.next = {
33514 MenhirLib.EngineTypes.state = _menhir_s;
33515 MenhirLib.EngineTypes.semv = x;
33516 MenhirLib.EngineTypes.startp = _startpos_x_;
33517 MenhirLib.EngineTypes.endp = _endpos_x_;
33518 MenhirLib.EngineTypes.next = _menhir_stack;
33519 };
33520 };
33521 } = _menhir_stack in
33522 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic xs in
33523 let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = Obj.magic x in
33524 let _startpos = _startpos_x_ in
33525 let _endpos = _endpos_xs_ in
33526 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
33527 # 146 "standard.mly"
33528 ( x :: xs )
33529 # 33530 "parser_cocci_menhir.ml"
33530 in
33531 _menhir_env.MenhirLib.EngineTypes.stack <- {
33532 MenhirLib.EngineTypes.state = _menhir_s;
33533 MenhirLib.EngineTypes.semv = Obj.repr _v;
33534 MenhirLib.EngineTypes.startp = _startpos;
33535 MenhirLib.EngineTypes.endp = _endpos;
33536 MenhirLib.EngineTypes.next = _menhir_stack;
33537 });
33538 (fun _menhir_env ->
33539 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33540 let {
33541 MenhirLib.EngineTypes.state = _menhir_s;
33542 MenhirLib.EngineTypes.semv = x;
33543 MenhirLib.EngineTypes.startp = _startpos_x_;
33544 MenhirLib.EngineTypes.endp = _endpos_x_;
33545 MenhirLib.EngineTypes.next = _menhir_stack;
33546 } = _menhir_stack in
33547 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
33548 let _startpos = _startpos_x_ in
33549 let _endpos = _endpos_x_ in
33550 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
33551 # 144 "standard.mly"
33552 ( [ x ] )
33553 # 33554 "parser_cocci_menhir.ml"
33554 in
33555 _menhir_env.MenhirLib.EngineTypes.stack <- {
33556 MenhirLib.EngineTypes.state = _menhir_s;
33557 MenhirLib.EngineTypes.semv = Obj.repr _v;
33558 MenhirLib.EngineTypes.startp = _startpos;
33559 MenhirLib.EngineTypes.endp = _endpos;
33560 MenhirLib.EngineTypes.next = _menhir_stack;
33561 });
33562 (fun _menhir_env ->
33563 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33564 let {
33565 MenhirLib.EngineTypes.semv = xs;
33566 MenhirLib.EngineTypes.startp = _startpos_xs_;
33567 MenhirLib.EngineTypes.endp = _endpos_xs_;
33568 MenhirLib.EngineTypes.next = {
33569 MenhirLib.EngineTypes.startp = _startpos__2_;
33570 MenhirLib.EngineTypes.endp = _endpos__2_;
33571 MenhirLib.EngineTypes.next = {
33572 MenhirLib.EngineTypes.state = _menhir_s;
33573 MenhirLib.EngineTypes.semv = x;
33574 MenhirLib.EngineTypes.startp = _startpos_x_;
33575 MenhirLib.EngineTypes.endp = _endpos_x_;
33576 MenhirLib.EngineTypes.next = _menhir_stack;
33577 };
33578 };
33579 } = _menhir_stack in
33580 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic xs in
33581 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
33582 let _startpos = _startpos_x_ in
33583 let _endpos = _endpos_xs_ in
33584 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
33585 # 146 "standard.mly"
33586 ( x :: xs )
33587 # 33588 "parser_cocci_menhir.ml"
33588 in
33589 _menhir_env.MenhirLib.EngineTypes.stack <- {
33590 MenhirLib.EngineTypes.state = _menhir_s;
33591 MenhirLib.EngineTypes.semv = Obj.repr _v;
33592 MenhirLib.EngineTypes.startp = _startpos;
33593 MenhirLib.EngineTypes.endp = _endpos;
33594 MenhirLib.EngineTypes.next = _menhir_stack;
33595 });
33596 (fun _menhir_env ->
33597 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33598 let {
33599 MenhirLib.EngineTypes.state = _menhir_s;
33600 MenhirLib.EngineTypes.semv = x;
33601 MenhirLib.EngineTypes.startp = _startpos_x_;
33602 MenhirLib.EngineTypes.endp = _endpos_x_;
33603 MenhirLib.EngineTypes.next = _menhir_stack;
33604 } = _menhir_stack in
33605 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in
33606 let _startpos = _startpos_x_ in
33607 let _endpos = _endpos_x_ in
33608 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
33609 # 144 "standard.mly"
33610 ( [ x ] )
33611 # 33612 "parser_cocci_menhir.ml"
33612 in
33613 _menhir_env.MenhirLib.EngineTypes.stack <- {
33614 MenhirLib.EngineTypes.state = _menhir_s;
33615 MenhirLib.EngineTypes.semv = Obj.repr _v;
33616 MenhirLib.EngineTypes.startp = _startpos;
33617 MenhirLib.EngineTypes.endp = _endpos;
33618 MenhirLib.EngineTypes.next = _menhir_stack;
33619 });
33620 (fun _menhir_env ->
33621 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33622 let {
33623 MenhirLib.EngineTypes.semv = xs;
33624 MenhirLib.EngineTypes.startp = _startpos_xs_;
33625 MenhirLib.EngineTypes.endp = _endpos_xs_;
33626 MenhirLib.EngineTypes.next = {
33627 MenhirLib.EngineTypes.startp = _startpos__2_;
33628 MenhirLib.EngineTypes.endp = _endpos__2_;
33629 MenhirLib.EngineTypes.next = {
33630 MenhirLib.EngineTypes.state = _menhir_s;
33631 MenhirLib.EngineTypes.semv = x;
33632 MenhirLib.EngineTypes.startp = _startpos_x_;
33633 MenhirLib.EngineTypes.endp = _endpos_x_;
33634 MenhirLib.EngineTypes.next = _menhir_stack;
33635 };
33636 };
33637 } = _menhir_stack in
33638 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic xs in
33639 let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in
33640 let _startpos = _startpos_x_ in
33641 let _endpos = _endpos_xs_ in
33642 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
33643 # 146 "standard.mly"
33644 ( x :: xs )
33645 # 33646 "parser_cocci_menhir.ml"
33646 in
33647 _menhir_env.MenhirLib.EngineTypes.stack <- {
33648 MenhirLib.EngineTypes.state = _menhir_s;
33649 MenhirLib.EngineTypes.semv = Obj.repr _v;
33650 MenhirLib.EngineTypes.startp = _startpos;
33651 MenhirLib.EngineTypes.endp = _endpos;
33652 MenhirLib.EngineTypes.next = _menhir_stack;
33653 });
33654 (fun _menhir_env ->
33655 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33656 let {
33657 MenhirLib.EngineTypes.state = _menhir_s;
33658 MenhirLib.EngineTypes.semv = x;
33659 MenhirLib.EngineTypes.startp = _startpos_x_;
33660 MenhirLib.EngineTypes.endp = _endpos_x_;
33661 MenhirLib.EngineTypes.next = _menhir_stack;
33662 } = _menhir_stack in
33663 let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
33664 let _startpos = _startpos_x_ in
33665 let _endpos = _endpos_x_ in
33666 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
33667 # 144 "standard.mly"
33668 ( [ x ] )
33669 # 33670 "parser_cocci_menhir.ml"
33670 in
33671 _menhir_env.MenhirLib.EngineTypes.stack <- {
33672 MenhirLib.EngineTypes.state = _menhir_s;
33673 MenhirLib.EngineTypes.semv = Obj.repr _v;
33674 MenhirLib.EngineTypes.startp = _startpos;
33675 MenhirLib.EngineTypes.endp = _endpos;
33676 MenhirLib.EngineTypes.next = _menhir_stack;
33677 });
33678 (fun _menhir_env ->
33679 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33680 let {
33681 MenhirLib.EngineTypes.semv = xs;
33682 MenhirLib.EngineTypes.startp = _startpos_xs_;
33683 MenhirLib.EngineTypes.endp = _endpos_xs_;
33684 MenhirLib.EngineTypes.next = {
33685 MenhirLib.EngineTypes.startp = _startpos__2_;
33686 MenhirLib.EngineTypes.endp = _endpos__2_;
33687 MenhirLib.EngineTypes.next = {
33688 MenhirLib.EngineTypes.state = _menhir_s;
33689 MenhirLib.EngineTypes.semv = x;
33690 MenhirLib.EngineTypes.startp = _startpos_x_;
33691 MenhirLib.EngineTypes.endp = _endpos_x_;
33692 MenhirLib.EngineTypes.next = _menhir_stack;
33693 };
33694 };
33695 } = _menhir_stack in
33696 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic xs in
33697 let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
33698 let _startpos = _startpos_x_ in
33699 let _endpos = _endpos_xs_ in
33700 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
33701 # 146 "standard.mly"
33702 ( x :: xs )
33703 # 33704 "parser_cocci_menhir.ml"
33704 in
33705 _menhir_env.MenhirLib.EngineTypes.stack <- {
33706 MenhirLib.EngineTypes.state = _menhir_s;
33707 MenhirLib.EngineTypes.semv = Obj.repr _v;
33708 MenhirLib.EngineTypes.startp = _startpos;
33709 MenhirLib.EngineTypes.endp = _endpos;
33710 MenhirLib.EngineTypes.next = _menhir_stack;
33711 });
33712 (fun _menhir_env ->
33713 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33714 let {
33715 MenhirLib.EngineTypes.state = _menhir_s;
33716 MenhirLib.EngineTypes.semv = x;
33717 MenhirLib.EngineTypes.startp = _startpos_x_;
33718 MenhirLib.EngineTypes.endp = _endpos_x_;
33719 MenhirLib.EngineTypes.next = _menhir_stack;
33720 } = _menhir_stack in
33721 let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
33722 let _startpos = _startpos_x_ in
33723 let _endpos = _endpos_x_ in
33724 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
33725 # 144 "standard.mly"
33726 ( [ x ] )
33727 # 33728 "parser_cocci_menhir.ml"
33728 in
33729 _menhir_env.MenhirLib.EngineTypes.stack <- {
33730 MenhirLib.EngineTypes.state = _menhir_s;
33731 MenhirLib.EngineTypes.semv = Obj.repr _v;
33732 MenhirLib.EngineTypes.startp = _startpos;
33733 MenhirLib.EngineTypes.endp = _endpos;
33734 MenhirLib.EngineTypes.next = _menhir_stack;
33735 });
33736 (fun _menhir_env ->
33737 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33738 let {
33739 MenhirLib.EngineTypes.semv = xs;
33740 MenhirLib.EngineTypes.startp = _startpos_xs_;
33741 MenhirLib.EngineTypes.endp = _endpos_xs_;
33742 MenhirLib.EngineTypes.next = {
33743 MenhirLib.EngineTypes.startp = _startpos__2_;
33744 MenhirLib.EngineTypes.endp = _endpos__2_;
33745 MenhirLib.EngineTypes.next = {
33746 MenhirLib.EngineTypes.state = _menhir_s;
33747 MenhirLib.EngineTypes.semv = x;
33748 MenhirLib.EngineTypes.startp = _startpos_x_;
33749 MenhirLib.EngineTypes.endp = _endpos_x_;
33750 MenhirLib.EngineTypes.next = _menhir_stack;
33751 };
33752 };
33753 } = _menhir_stack in
33754 let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic xs in
33755 let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
33756 let _startpos = _startpos_x_ in
33757 let _endpos = _endpos_xs_ in
33758 let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
33759 # 146 "standard.mly"
33760 ( x :: xs )
33761 # 33762 "parser_cocci_menhir.ml"
33762 in
33763 _menhir_env.MenhirLib.EngineTypes.stack <- {
33764 MenhirLib.EngineTypes.state = _menhir_s;
33765 MenhirLib.EngineTypes.semv = Obj.repr _v;
33766 MenhirLib.EngineTypes.startp = _startpos;
33767 MenhirLib.EngineTypes.endp = _endpos;
33768 MenhirLib.EngineTypes.next = _menhir_stack;
33769 });
33770 (fun _menhir_env ->
33771 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33772 let {
33773 MenhirLib.EngineTypes.state = _menhir_s;
33774 MenhirLib.EngineTypes.semv = x;
33775 MenhirLib.EngineTypes.startp = _startpos_x_;
33776 MenhirLib.EngineTypes.endp = _endpos_x_;
33777 MenhirLib.EngineTypes.next = _menhir_stack;
33778 } = _menhir_stack in
33779 let x : 'tv_typedef_ident = Obj.magic x in
33780 let _startpos = _startpos_x_ in
33781 let _endpos = _endpos_x_ in
33782 let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
33783 # 144 "standard.mly"
33784 ( [ x ] )
33785 # 33786 "parser_cocci_menhir.ml"
33786 in
33787 _menhir_env.MenhirLib.EngineTypes.stack <- {
33788 MenhirLib.EngineTypes.state = _menhir_s;
33789 MenhirLib.EngineTypes.semv = Obj.repr _v;
33790 MenhirLib.EngineTypes.startp = _startpos;
33791 MenhirLib.EngineTypes.endp = _endpos;
33792 MenhirLib.EngineTypes.next = _menhir_stack;
33793 });
33794 (fun _menhir_env ->
33795 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33796 let {
33797 MenhirLib.EngineTypes.semv = xs;
33798 MenhirLib.EngineTypes.startp = _startpos_xs_;
33799 MenhirLib.EngineTypes.endp = _endpos_xs_;
33800 MenhirLib.EngineTypes.next = {
33801 MenhirLib.EngineTypes.startp = _startpos__2_;
33802 MenhirLib.EngineTypes.endp = _endpos__2_;
33803 MenhirLib.EngineTypes.next = {
33804 MenhirLib.EngineTypes.state = _menhir_s;
33805 MenhirLib.EngineTypes.semv = x;
33806 MenhirLib.EngineTypes.startp = _startpos_x_;
33807 MenhirLib.EngineTypes.endp = _endpos_x_;
33808 MenhirLib.EngineTypes.next = _menhir_stack;
33809 };
33810 };
33811 } = _menhir_stack in
33812 let xs : 'tv_separated_nonempty_list_TComma_typedef_ident_ = Obj.magic xs in
33813 let x : 'tv_typedef_ident = Obj.magic x in
33814 let _startpos = _startpos_x_ in
33815 let _endpos = _endpos_xs_ in
33816 let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
33817 # 146 "standard.mly"
33818 ( x :: xs )
33819 # 33820 "parser_cocci_menhir.ml"
33820 in
33821 _menhir_env.MenhirLib.EngineTypes.stack <- {
33822 MenhirLib.EngineTypes.state = _menhir_s;
33823 MenhirLib.EngineTypes.semv = Obj.repr _v;
33824 MenhirLib.EngineTypes.startp = _startpos;
33825 MenhirLib.EngineTypes.endp = _endpos;
33826 MenhirLib.EngineTypes.next = _menhir_stack;
33827 });
33828 (fun _menhir_env ->
33829 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33830 let {
33831 MenhirLib.EngineTypes.state = _menhir_s;
33832 MenhirLib.EngineTypes.semv = x;
33833 MenhirLib.EngineTypes.startp = _startpos_x_;
33834 MenhirLib.EngineTypes.endp = _endpos_x_;
33835 MenhirLib.EngineTypes.next = _menhir_stack;
33836 } = _menhir_stack in
33837 let x : 'tv_seed_elem = Obj.magic x in
33838 let _startpos = _startpos_x_ in
33839 let _endpos = _endpos_x_ in
33840 let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ =
33841 # 144 "standard.mly"
33842 ( [ x ] )
33843 # 33844 "parser_cocci_menhir.ml"
33844 in
33845 _menhir_env.MenhirLib.EngineTypes.stack <- {
33846 MenhirLib.EngineTypes.state = _menhir_s;
33847 MenhirLib.EngineTypes.semv = Obj.repr _v;
33848 MenhirLib.EngineTypes.startp = _startpos;
33849 MenhirLib.EngineTypes.endp = _endpos;
33850 MenhirLib.EngineTypes.next = _menhir_stack;
33851 });
33852 (fun _menhir_env ->
33853 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33854 let {
33855 MenhirLib.EngineTypes.semv = xs;
33856 MenhirLib.EngineTypes.startp = _startpos_xs_;
33857 MenhirLib.EngineTypes.endp = _endpos_xs_;
33858 MenhirLib.EngineTypes.next = {
33859 MenhirLib.EngineTypes.startp = _startpos__2_;
33860 MenhirLib.EngineTypes.endp = _endpos__2_;
33861 MenhirLib.EngineTypes.next = {
33862 MenhirLib.EngineTypes.state = _menhir_s;
33863 MenhirLib.EngineTypes.semv = x;
33864 MenhirLib.EngineTypes.startp = _startpos_x_;
33865 MenhirLib.EngineTypes.endp = _endpos_x_;
33866 MenhirLib.EngineTypes.next = _menhir_stack;
33867 };
33868 };
33869 } = _menhir_stack in
33870 let xs : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic xs in
33871 let x : 'tv_seed_elem = Obj.magic x in
33872 let _startpos = _startpos_x_ in
33873 let _endpos = _endpos_xs_ in
33874 let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ =
33875 # 146 "standard.mly"
33876 ( x :: xs )
33877 # 33878 "parser_cocci_menhir.ml"
33878 in
33879 _menhir_env.MenhirLib.EngineTypes.stack <- {
33880 MenhirLib.EngineTypes.state = _menhir_s;
33881 MenhirLib.EngineTypes.semv = Obj.repr _v;
33882 MenhirLib.EngineTypes.startp = _startpos;
33883 MenhirLib.EngineTypes.endp = _endpos;
33884 MenhirLib.EngineTypes.next = _menhir_stack;
33885 });
33886 (fun _menhir_env ->
33887 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33888 let {
33889 MenhirLib.EngineTypes.state = _menhir_s;
33890 MenhirLib.EngineTypes.semv = _1;
33891 MenhirLib.EngineTypes.startp = _startpos__1_;
33892 MenhirLib.EngineTypes.endp = _endpos__1_;
33893 MenhirLib.EngineTypes.next = _menhir_stack;
33894 } = _menhir_stack in
33895 let _1 : 'tv_statement = Obj.magic _1 in
33896 let _startpos = _startpos__1_ in
33897 let _endpos = _endpos__1_ in
33898 let _v : 'tv_single_statement =
33899 # 1024 "parser_cocci_menhir.mly"
33900 ( _1 )
33901 # 33902 "parser_cocci_menhir.ml"
33902 in
33903 _menhir_env.MenhirLib.EngineTypes.stack <- {
33904 MenhirLib.EngineTypes.state = _menhir_s;
33905 MenhirLib.EngineTypes.semv = Obj.repr _v;
33906 MenhirLib.EngineTypes.startp = _startpos;
33907 MenhirLib.EngineTypes.endp = _endpos;
33908 MenhirLib.EngineTypes.next = _menhir_stack;
33909 });
33910 (fun _menhir_env ->
33911 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33912 let {
33913 MenhirLib.EngineTypes.semv = _3;
33914 MenhirLib.EngineTypes.startp = _startpos__3_;
33915 MenhirLib.EngineTypes.endp = _endpos__3_;
33916 MenhirLib.EngineTypes.next = {
33917 MenhirLib.EngineTypes.semv = _2;
33918 MenhirLib.EngineTypes.startp = _startpos__2_;
33919 MenhirLib.EngineTypes.endp = _endpos__2_;
33920 MenhirLib.EngineTypes.next = {
33921 MenhirLib.EngineTypes.state = _menhir_s;
33922 MenhirLib.EngineTypes.semv = _1;
33923 MenhirLib.EngineTypes.startp = _startpos__1_;
33924 MenhirLib.EngineTypes.endp = _endpos__1_;
33925 MenhirLib.EngineTypes.next = _menhir_stack;
33926 };
33927 };
33928 } = _menhir_stack in
33929 let _3 : (
33930 # 81 "parser_cocci_menhir.mly"
33931 (Data.clt)
33932 # 33933 "parser_cocci_menhir.ml"
33933 ) = Obj.magic _3 in
33934 let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in
33935 let _1 : (
33936 # 80 "parser_cocci_menhir.mly"
33937 (Data.clt)
33938 # 33939 "parser_cocci_menhir.ml"
33939 ) = Obj.magic _1 in
33940 let _startpos = _startpos__1_ in
33941 let _endpos = _endpos__3_ in
33942 let _v : 'tv_single_statement =
33943 # 1028 "parser_cocci_menhir.mly"
33944 ( let (mids,code) = _2 in
33945 Ast0.wrap
33946 (Ast0.Disj(P.clt2mcode "(" _1,
33947 List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
33948 mids, P.clt2mcode ")" _3)) )
33949 # 33950 "parser_cocci_menhir.ml"
33950 in
33951 _menhir_env.MenhirLib.EngineTypes.stack <- {
33952 MenhirLib.EngineTypes.state = _menhir_s;
33953 MenhirLib.EngineTypes.semv = Obj.repr _v;
33954 MenhirLib.EngineTypes.startp = _startpos;
33955 MenhirLib.EngineTypes.endp = _endpos;
33956 MenhirLib.EngineTypes.next = _menhir_stack;
33957 });
33958 (fun _menhir_env ->
33959 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33960 let {
33961 MenhirLib.EngineTypes.state = _menhir_s;
33962 MenhirLib.EngineTypes.semv = _1;
33963 MenhirLib.EngineTypes.startp = _startpos__1_;
33964 MenhirLib.EngineTypes.endp = _endpos__1_;
33965 MenhirLib.EngineTypes.next = _menhir_stack;
33966 } = _menhir_stack in
33967 let _1 : 'tv_includes = Obj.magic _1 in
33968 let _startpos = _startpos__1_ in
33969 let _endpos = _endpos__1_ in
33970 let _v : 'tv_statement =
33971 # 951 "parser_cocci_menhir.mly"
33972 ( _1 )
33973 # 33974 "parser_cocci_menhir.ml"
33974 in
33975 _menhir_env.MenhirLib.EngineTypes.stack <- {
33976 MenhirLib.EngineTypes.state = _menhir_s;
33977 MenhirLib.EngineTypes.semv = Obj.repr _v;
33978 MenhirLib.EngineTypes.startp = _startpos;
33979 MenhirLib.EngineTypes.endp = _endpos;
33980 MenhirLib.EngineTypes.next = _menhir_stack;
33981 });
33982 (fun _menhir_env ->
33983 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
33984 let {
33985 MenhirLib.EngineTypes.state = _menhir_s;
33986 MenhirLib.EngineTypes.semv = _1;
33987 MenhirLib.EngineTypes.startp = _startpos__1_;
33988 MenhirLib.EngineTypes.endp = _endpos__1_;
33989 MenhirLib.EngineTypes.next = _menhir_stack;
33990 } = _menhir_stack in
33991 let _1 : (
33992 # 68 "parser_cocci_menhir.mly"
33993 (Parse_aux.info)
33994 # 33995 "parser_cocci_menhir.ml"
33995 ) = Obj.magic _1 in
33996 let _startpos = _startpos__1_ in
33997 let _endpos = _endpos__1_ in
33998 let _v : 'tv_statement =
33999 # 953 "parser_cocci_menhir.mly"
34000 ( P.meta_stm _1 )
34001 # 34002 "parser_cocci_menhir.ml"
34002 in
34003 _menhir_env.MenhirLib.EngineTypes.stack <- {
34004 MenhirLib.EngineTypes.state = _menhir_s;
34005 MenhirLib.EngineTypes.semv = Obj.repr _v;
34006 MenhirLib.EngineTypes.startp = _startpos;
34007 MenhirLib.EngineTypes.endp = _endpos;
34008 MenhirLib.EngineTypes.next = _menhir_stack;
34009 });
34010 (fun _menhir_env ->
34011 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34012 let {
34013 MenhirLib.EngineTypes.semv = _2;
34014 MenhirLib.EngineTypes.startp = _startpos__2_;
34015 MenhirLib.EngineTypes.endp = _endpos__2_;
34016 MenhirLib.EngineTypes.next = {
34017 MenhirLib.EngineTypes.state = _menhir_s;
34018 MenhirLib.EngineTypes.semv = _1;
34019 MenhirLib.EngineTypes.startp = _startpos__1_;
34020 MenhirLib.EngineTypes.endp = _endpos__1_;
34021 MenhirLib.EngineTypes.next = _menhir_stack;
34022 };
34023 } = _menhir_stack in
34024 let _2 : (
34025 # 111 "parser_cocci_menhir.mly"
34026 (Data.clt)
34027 # 34028 "parser_cocci_menhir.ml"
34028 ) = Obj.magic _2 in
34029 let _1 : 'tv_expr = Obj.magic _1 in
34030 let _startpos = _startpos__1_ in
34031 let _endpos = _endpos__2_ in
34032 let _v : 'tv_statement =
34033 # 955 "parser_cocci_menhir.mly"
34034 ( P.exp_stm _1 _2 )
34035 # 34036 "parser_cocci_menhir.ml"
34036 in
34037 _menhir_env.MenhirLib.EngineTypes.stack <- {
34038 MenhirLib.EngineTypes.state = _menhir_s;
34039 MenhirLib.EngineTypes.semv = Obj.repr _v;
34040 MenhirLib.EngineTypes.startp = _startpos;
34041 MenhirLib.EngineTypes.endp = _endpos;
34042 MenhirLib.EngineTypes.next = _menhir_stack;
34043 });
34044 (fun _menhir_env ->
34045 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34046 let {
34047 MenhirLib.EngineTypes.semv = _5;
34048 MenhirLib.EngineTypes.startp = _startpos__5_;
34049 MenhirLib.EngineTypes.endp = _endpos__5_;
34050 MenhirLib.EngineTypes.next = {
34051 MenhirLib.EngineTypes.semv = _4;
34052 MenhirLib.EngineTypes.startp = _startpos__4_;
34053 MenhirLib.EngineTypes.endp = _endpos__4_;
34054 MenhirLib.EngineTypes.next = {
34055 MenhirLib.EngineTypes.semv = _3;
34056 MenhirLib.EngineTypes.startp = _startpos__3_;
34057 MenhirLib.EngineTypes.endp = _endpos__3_;
34058 MenhirLib.EngineTypes.next = {
34059 MenhirLib.EngineTypes.semv = _2;
34060 MenhirLib.EngineTypes.startp = _startpos__2_;
34061 MenhirLib.EngineTypes.endp = _endpos__2_;
34062 MenhirLib.EngineTypes.next = {
34063 MenhirLib.EngineTypes.state = _menhir_s;
34064 MenhirLib.EngineTypes.semv = _1;
34065 MenhirLib.EngineTypes.startp = _startpos__1_;
34066 MenhirLib.EngineTypes.endp = _endpos__1_;
34067 MenhirLib.EngineTypes.next = _menhir_stack;
34068 };
34069 };
34070 };
34071 };
34072 } = _menhir_stack in
34073 let _5 : 'tv_single_statement = Obj.magic _5 in
34074 let _4 : (
34075 # 81 "parser_cocci_menhir.mly"
34076 (Data.clt)
34077 # 34078 "parser_cocci_menhir.ml"
34078 ) = Obj.magic _4 in
34079 let _3 : 'tv_eexpr = Obj.magic _3 in
34080 let _2 : (
34081 # 80 "parser_cocci_menhir.mly"
34082 (Data.clt)
34083 # 34084 "parser_cocci_menhir.ml"
34084 ) = Obj.magic _2 in
34085 let _1 : (
34086 # 60 "parser_cocci_menhir.mly"
34087 (Data.clt)
34088 # 34089 "parser_cocci_menhir.ml"
34089 ) = Obj.magic _1 in
34090 let _startpos = _startpos__1_ in
34091 let _endpos = _endpos__5_ in
34092 let _v : 'tv_statement =
34093 # 957 "parser_cocci_menhir.mly"
34094 ( P.ifthen _1 _2 _3 _4 _5 )
34095 # 34096 "parser_cocci_menhir.ml"
34096 in
34097 _menhir_env.MenhirLib.EngineTypes.stack <- {
34098 MenhirLib.EngineTypes.state = _menhir_s;
34099 MenhirLib.EngineTypes.semv = Obj.repr _v;
34100 MenhirLib.EngineTypes.startp = _startpos;
34101 MenhirLib.EngineTypes.endp = _endpos;
34102 MenhirLib.EngineTypes.next = _menhir_stack;
34103 });
34104 (fun _menhir_env ->
34105 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34106 let {
34107 MenhirLib.EngineTypes.semv = _7;
34108 MenhirLib.EngineTypes.startp = _startpos__7_;
34109 MenhirLib.EngineTypes.endp = _endpos__7_;
34110 MenhirLib.EngineTypes.next = {
34111 MenhirLib.EngineTypes.semv = _6;
34112 MenhirLib.EngineTypes.startp = _startpos__6_;
34113 MenhirLib.EngineTypes.endp = _endpos__6_;
34114 MenhirLib.EngineTypes.next = {
34115 MenhirLib.EngineTypes.semv = _5;
34116 MenhirLib.EngineTypes.startp = _startpos__5_;
34117 MenhirLib.EngineTypes.endp = _endpos__5_;
34118 MenhirLib.EngineTypes.next = {
34119 MenhirLib.EngineTypes.semv = _4;
34120 MenhirLib.EngineTypes.startp = _startpos__4_;
34121 MenhirLib.EngineTypes.endp = _endpos__4_;
34122 MenhirLib.EngineTypes.next = {
34123 MenhirLib.EngineTypes.semv = _3;
34124 MenhirLib.EngineTypes.startp = _startpos__3_;
34125 MenhirLib.EngineTypes.endp = _endpos__3_;
34126 MenhirLib.EngineTypes.next = {
34127 MenhirLib.EngineTypes.semv = _2;
34128 MenhirLib.EngineTypes.startp = _startpos__2_;
34129 MenhirLib.EngineTypes.endp = _endpos__2_;
34130 MenhirLib.EngineTypes.next = {
34131 MenhirLib.EngineTypes.state = _menhir_s;
34132 MenhirLib.EngineTypes.semv = _1;
34133 MenhirLib.EngineTypes.startp = _startpos__1_;
34134 MenhirLib.EngineTypes.endp = _endpos__1_;
34135 MenhirLib.EngineTypes.next = _menhir_stack;
34136 };
34137 };
34138 };
34139 };
34140 };
34141 };
34142 } = _menhir_stack in
34143 let _7 : 'tv_single_statement = Obj.magic _7 in
34144 let _6 : (
34145 # 60 "parser_cocci_menhir.mly"
34146 (Data.clt)
34147 # 34148 "parser_cocci_menhir.ml"
34148 ) = Obj.magic _6 in
34149 let _5 : 'tv_single_statement = Obj.magic _5 in
34150 let _4 : (
34151 # 81 "parser_cocci_menhir.mly"
34152 (Data.clt)
34153 # 34154 "parser_cocci_menhir.ml"
34154 ) = Obj.magic _4 in
34155 let _3 : 'tv_eexpr = Obj.magic _3 in
34156 let _2 : (
34157 # 80 "parser_cocci_menhir.mly"
34158 (Data.clt)
34159 # 34160 "parser_cocci_menhir.ml"
34160 ) = Obj.magic _2 in
34161 let _1 : (
34162 # 60 "parser_cocci_menhir.mly"
34163 (Data.clt)
34164 # 34165 "parser_cocci_menhir.ml"
34165 ) = Obj.magic _1 in
34166 let _startpos = _startpos__1_ in
34167 let _endpos = _endpos__7_ in
34168 let _v : 'tv_statement =
34169 # 959 "parser_cocci_menhir.mly"
34170 ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 )
34171 # 34172 "parser_cocci_menhir.ml"
34172 in
34173 _menhir_env.MenhirLib.EngineTypes.stack <- {
34174 MenhirLib.EngineTypes.state = _menhir_s;
34175 MenhirLib.EngineTypes.semv = Obj.repr _v;
34176 MenhirLib.EngineTypes.startp = _startpos;
34177 MenhirLib.EngineTypes.endp = _endpos;
34178 MenhirLib.EngineTypes.next = _menhir_stack;
34179 });
34180 (fun _menhir_env ->
34181 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34182 let {
34183 MenhirLib.EngineTypes.semv = _9;
34184 MenhirLib.EngineTypes.startp = _startpos__9_;
34185 MenhirLib.EngineTypes.endp = _endpos__9_;
34186 MenhirLib.EngineTypes.next = {
34187 MenhirLib.EngineTypes.semv = _8;
34188 MenhirLib.EngineTypes.startp = _startpos__8_;
34189 MenhirLib.EngineTypes.endp = _endpos__8_;
34190 MenhirLib.EngineTypes.next = {
34191 MenhirLib.EngineTypes.semv = _7;
34192 MenhirLib.EngineTypes.startp = _startpos__7_;
34193 MenhirLib.EngineTypes.endp = _endpos__7_;
34194 MenhirLib.EngineTypes.next = {
34195 MenhirLib.EngineTypes.semv = _6;
34196 MenhirLib.EngineTypes.startp = _startpos__6_;
34197 MenhirLib.EngineTypes.endp = _endpos__6_;
34198 MenhirLib.EngineTypes.next = {
34199 MenhirLib.EngineTypes.semv = _5;
34200 MenhirLib.EngineTypes.startp = _startpos__5_;
34201 MenhirLib.EngineTypes.endp = _endpos__5_;
34202 MenhirLib.EngineTypes.next = {
34203 MenhirLib.EngineTypes.semv = _4;
34204 MenhirLib.EngineTypes.startp = _startpos__4_;
34205 MenhirLib.EngineTypes.endp = _endpos__4_;
34206 MenhirLib.EngineTypes.next = {
34207 MenhirLib.EngineTypes.semv = _3;
34208 MenhirLib.EngineTypes.startp = _startpos__3_;
34209 MenhirLib.EngineTypes.endp = _endpos__3_;
34210 MenhirLib.EngineTypes.next = {
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 };
34222 };
34223 };
34224 };
34225 };
34226 };
34227 };
34228 } = _menhir_stack in
34229 let _9 : 'tv_single_statement = Obj.magic _9 in
34230 let _8 : (
34231 # 81 "parser_cocci_menhir.mly"
34232 (Data.clt)
34233 # 34234 "parser_cocci_menhir.ml"
34234 ) = Obj.magic _8 in
34235 let _7 : 'tv_option_eexpr_ = Obj.magic _7 in
34236 let _6 : (
34237 # 111 "parser_cocci_menhir.mly"
34238 (Data.clt)
34239 # 34240 "parser_cocci_menhir.ml"
34240 ) = Obj.magic _6 in
34241 let _5 : 'tv_option_eexpr_ = Obj.magic _5 in
34242 let _4 : (
34243 # 111 "parser_cocci_menhir.mly"
34244 (Data.clt)
34245 # 34246 "parser_cocci_menhir.ml"
34246 ) = Obj.magic _4 in
34247 let _3 : 'tv_option_eexpr_ = Obj.magic _3 in
34248 let _2 : (
34249 # 80 "parser_cocci_menhir.mly"
34250 (Data.clt)
34251 # 34252 "parser_cocci_menhir.ml"
34252 ) = Obj.magic _2 in
34253 let _1 : (
34254 # 60 "parser_cocci_menhir.mly"
34255 (Data.clt)
34256 # 34257 "parser_cocci_menhir.ml"
34257 ) = Obj.magic _1 in
34258 let _startpos = _startpos__1_ in
34259 let _endpos = _endpos__9_ in
34260 let _v : 'tv_statement =
34261 # 962 "parser_cocci_menhir.mly"
34262 ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 )
34263 # 34264 "parser_cocci_menhir.ml"
34264 in
34265 _menhir_env.MenhirLib.EngineTypes.stack <- {
34266 MenhirLib.EngineTypes.state = _menhir_s;
34267 MenhirLib.EngineTypes.semv = Obj.repr _v;
34268 MenhirLib.EngineTypes.startp = _startpos;
34269 MenhirLib.EngineTypes.endp = _endpos;
34270 MenhirLib.EngineTypes.next = _menhir_stack;
34271 });
34272 (fun _menhir_env ->
34273 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34274 let {
34275 MenhirLib.EngineTypes.semv = _5;
34276 MenhirLib.EngineTypes.startp = _startpos__5_;
34277 MenhirLib.EngineTypes.endp = _endpos__5_;
34278 MenhirLib.EngineTypes.next = {
34279 MenhirLib.EngineTypes.semv = _4;
34280 MenhirLib.EngineTypes.startp = _startpos__4_;
34281 MenhirLib.EngineTypes.endp = _endpos__4_;
34282 MenhirLib.EngineTypes.next = {
34283 MenhirLib.EngineTypes.semv = _3;
34284 MenhirLib.EngineTypes.startp = _startpos__3_;
34285 MenhirLib.EngineTypes.endp = _endpos__3_;
34286 MenhirLib.EngineTypes.next = {
34287 MenhirLib.EngineTypes.semv = _2;
34288 MenhirLib.EngineTypes.startp = _startpos__2_;
34289 MenhirLib.EngineTypes.endp = _endpos__2_;
34290 MenhirLib.EngineTypes.next = {
34291 MenhirLib.EngineTypes.state = _menhir_s;
34292 MenhirLib.EngineTypes.semv = _1;
34293 MenhirLib.EngineTypes.startp = _startpos__1_;
34294 MenhirLib.EngineTypes.endp = _endpos__1_;
34295 MenhirLib.EngineTypes.next = _menhir_stack;
34296 };
34297 };
34298 };
34299 };
34300 } = _menhir_stack in
34301 let _5 : 'tv_single_statement = Obj.magic _5 in
34302 let _4 : (
34303 # 81 "parser_cocci_menhir.mly"
34304 (Data.clt)
34305 # 34306 "parser_cocci_menhir.ml"
34306 ) = Obj.magic _4 in
34307 let _3 : 'tv_eexpr = Obj.magic _3 in
34308 let _2 : (
34309 # 80 "parser_cocci_menhir.mly"
34310 (Data.clt)
34311 # 34312 "parser_cocci_menhir.ml"
34312 ) = Obj.magic _2 in
34313 let _1 : (
34314 # 60 "parser_cocci_menhir.mly"
34315 (Data.clt)
34316 # 34317 "parser_cocci_menhir.ml"
34317 ) = Obj.magic _1 in
34318 let _startpos = _startpos__1_ in
34319 let _endpos = _endpos__5_ in
34320 let _v : 'tv_statement =
34321 # 964 "parser_cocci_menhir.mly"
34322 ( P.whileloop _1 _2 _3 _4 _5 )
34323 # 34324 "parser_cocci_menhir.ml"
34324 in
34325 _menhir_env.MenhirLib.EngineTypes.stack <- {
34326 MenhirLib.EngineTypes.state = _menhir_s;
34327 MenhirLib.EngineTypes.semv = Obj.repr _v;
34328 MenhirLib.EngineTypes.startp = _startpos;
34329 MenhirLib.EngineTypes.endp = _endpos;
34330 MenhirLib.EngineTypes.next = _menhir_stack;
34331 });
34332 (fun _menhir_env ->
34333 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34334 let {
34335 MenhirLib.EngineTypes.semv = _7;
34336 MenhirLib.EngineTypes.startp = _startpos__7_;
34337 MenhirLib.EngineTypes.endp = _endpos__7_;
34338 MenhirLib.EngineTypes.next = {
34339 MenhirLib.EngineTypes.semv = _6;
34340 MenhirLib.EngineTypes.startp = _startpos__6_;
34341 MenhirLib.EngineTypes.endp = _endpos__6_;
34342 MenhirLib.EngineTypes.next = {
34343 MenhirLib.EngineTypes.semv = _5;
34344 MenhirLib.EngineTypes.startp = _startpos__5_;
34345 MenhirLib.EngineTypes.endp = _endpos__5_;
34346 MenhirLib.EngineTypes.next = {
34347 MenhirLib.EngineTypes.semv = _4;
34348 MenhirLib.EngineTypes.startp = _startpos__4_;
34349 MenhirLib.EngineTypes.endp = _endpos__4_;
34350 MenhirLib.EngineTypes.next = {
34351 MenhirLib.EngineTypes.semv = _3;
34352 MenhirLib.EngineTypes.startp = _startpos__3_;
34353 MenhirLib.EngineTypes.endp = _endpos__3_;
34354 MenhirLib.EngineTypes.next = {
34355 MenhirLib.EngineTypes.semv = _2;
34356 MenhirLib.EngineTypes.startp = _startpos__2_;
34357 MenhirLib.EngineTypes.endp = _endpos__2_;
34358 MenhirLib.EngineTypes.next = {
34359 MenhirLib.EngineTypes.state = _menhir_s;
34360 MenhirLib.EngineTypes.semv = _1;
34361 MenhirLib.EngineTypes.startp = _startpos__1_;
34362 MenhirLib.EngineTypes.endp = _endpos__1_;
34363 MenhirLib.EngineTypes.next = _menhir_stack;
34364 };
34365 };
34366 };
34367 };
34368 };
34369 };
34370 } = _menhir_stack in
34371 let _7 : (
34372 # 111 "parser_cocci_menhir.mly"
34373 (Data.clt)
34374 # 34375 "parser_cocci_menhir.ml"
34375 ) = Obj.magic _7 in
34376 let _6 : (
34377 # 81 "parser_cocci_menhir.mly"
34378 (Data.clt)
34379 # 34380 "parser_cocci_menhir.ml"
34380 ) = Obj.magic _6 in
34381 let _5 : 'tv_eexpr = Obj.magic _5 in
34382 let _4 : (
34383 # 80 "parser_cocci_menhir.mly"
34384 (Data.clt)
34385 # 34386 "parser_cocci_menhir.ml"
34386 ) = Obj.magic _4 in
34387 let _3 : (
34388 # 60 "parser_cocci_menhir.mly"
34389 (Data.clt)
34390 # 34391 "parser_cocci_menhir.ml"
34391 ) = Obj.magic _3 in
34392 let _2 : 'tv_single_statement = Obj.magic _2 in
34393 let _1 : (
34394 # 60 "parser_cocci_menhir.mly"
34395 (Data.clt)
34396 # 34397 "parser_cocci_menhir.ml"
34397 ) = Obj.magic _1 in
34398 let _startpos = _startpos__1_ in
34399 let _endpos = _endpos__7_ in
34400 let _v : 'tv_statement =
34401 # 966 "parser_cocci_menhir.mly"
34402 ( P.doloop _1 _2 _3 _4 _5 _6 _7 )
34403 # 34404 "parser_cocci_menhir.ml"
34404 in
34405 _menhir_env.MenhirLib.EngineTypes.stack <- {
34406 MenhirLib.EngineTypes.state = _menhir_s;
34407 MenhirLib.EngineTypes.semv = Obj.repr _v;
34408 MenhirLib.EngineTypes.startp = _startpos;
34409 MenhirLib.EngineTypes.endp = _endpos;
34410 MenhirLib.EngineTypes.next = _menhir_stack;
34411 });
34412 (fun _menhir_env ->
34413 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34414 let {
34415 MenhirLib.EngineTypes.semv = _5;
34416 MenhirLib.EngineTypes.startp = _startpos__5_;
34417 MenhirLib.EngineTypes.endp = _endpos__5_;
34418 MenhirLib.EngineTypes.next = {
34419 MenhirLib.EngineTypes.semv = _4;
34420 MenhirLib.EngineTypes.startp = _startpos__4_;
34421 MenhirLib.EngineTypes.endp = _endpos__4_;
34422 MenhirLib.EngineTypes.next = {
34423 MenhirLib.EngineTypes.semv = _3;
34424 MenhirLib.EngineTypes.startp = _startpos__3_;
34425 MenhirLib.EngineTypes.endp = _endpos__3_;
34426 MenhirLib.EngineTypes.next = {
34427 MenhirLib.EngineTypes.semv = _2;
34428 MenhirLib.EngineTypes.startp = _startpos__2_;
34429 MenhirLib.EngineTypes.endp = _endpos__2_;
34430 MenhirLib.EngineTypes.next = {
34431 MenhirLib.EngineTypes.state = _menhir_s;
34432 MenhirLib.EngineTypes.semv = _1;
34433 MenhirLib.EngineTypes.startp = _startpos__1_;
34434 MenhirLib.EngineTypes.endp = _endpos__1_;
34435 MenhirLib.EngineTypes.next = _menhir_stack;
34436 };
34437 };
34438 };
34439 };
34440 } = _menhir_stack in
34441 let _5 : 'tv_single_statement = Obj.magic _5 in
34442 let _4 : (
34443 # 81 "parser_cocci_menhir.mly"
34444 (Data.clt)
34445 # 34446 "parser_cocci_menhir.ml"
34446 ) = Obj.magic _4 in
34447 let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
34448 let _2 : (
34449 # 80 "parser_cocci_menhir.mly"
34450 (Data.clt)
34451 # 34452 "parser_cocci_menhir.ml"
34452 ) = Obj.magic _2 in
34453 let _1 : 'tv_iter_ident = Obj.magic _1 in
34454 let _startpos = _startpos__1_ in
34455 let _endpos = _endpos__5_ in
34456 let _v : 'tv_statement =
34457 # 968 "parser_cocci_menhir.mly"
34458 ( P.iterator _1 _2 _3 _4 _5 )
34459 # 34460 "parser_cocci_menhir.ml"
34460 in
34461 _menhir_env.MenhirLib.EngineTypes.stack <- {
34462 MenhirLib.EngineTypes.state = _menhir_s;
34463 MenhirLib.EngineTypes.semv = Obj.repr _v;
34464 MenhirLib.EngineTypes.startp = _startpos;
34465 MenhirLib.EngineTypes.endp = _endpos;
34466 MenhirLib.EngineTypes.next = _menhir_stack;
34467 });
34468 (fun _menhir_env ->
34469 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34470 let {
34471 MenhirLib.EngineTypes.semv = _8;
34472 MenhirLib.EngineTypes.startp = _startpos__8_;
34473 MenhirLib.EngineTypes.endp = _endpos__8_;
34474 MenhirLib.EngineTypes.next = {
34475 MenhirLib.EngineTypes.semv = _7;
34476 MenhirLib.EngineTypes.startp = _startpos__7_;
34477 MenhirLib.EngineTypes.endp = _endpos__7_;
34478 MenhirLib.EngineTypes.next = {
34479 MenhirLib.EngineTypes.semv = _6;
34480 MenhirLib.EngineTypes.startp = _startpos__6_;
34481 MenhirLib.EngineTypes.endp = _endpos__6_;
34482 MenhirLib.EngineTypes.next = {
34483 MenhirLib.EngineTypes.semv = _5;
34484 MenhirLib.EngineTypes.startp = _startpos__5_;
34485 MenhirLib.EngineTypes.endp = _endpos__5_;
34486 MenhirLib.EngineTypes.next = {
34487 MenhirLib.EngineTypes.semv = _4;
34488 MenhirLib.EngineTypes.startp = _startpos__4_;
34489 MenhirLib.EngineTypes.endp = _endpos__4_;
34490 MenhirLib.EngineTypes.next = {
34491 MenhirLib.EngineTypes.semv = _3;
34492 MenhirLib.EngineTypes.startp = _startpos__3_;
34493 MenhirLib.EngineTypes.endp = _endpos__3_;
34494 MenhirLib.EngineTypes.next = {
34495 MenhirLib.EngineTypes.semv = _2;
34496 MenhirLib.EngineTypes.startp = _startpos__2_;
34497 MenhirLib.EngineTypes.endp = _endpos__2_;
34498 MenhirLib.EngineTypes.next = {
34499 MenhirLib.EngineTypes.state = _menhir_s;
34500 MenhirLib.EngineTypes.semv = _1;
34501 MenhirLib.EngineTypes.startp = _startpos__1_;
34502 MenhirLib.EngineTypes.endp = _endpos__1_;
34503 MenhirLib.EngineTypes.next = _menhir_stack;
34504 };
34505 };
34506 };
34507 };
34508 };
34509 };
34510 };
34511 } = _menhir_stack in
34512 let _8 : (
34513 # 105 "parser_cocci_menhir.mly"
34514 (Data.clt)
34515 # 34516 "parser_cocci_menhir.ml"
34516 ) = Obj.magic _8 in
34517 let _7 : 'tv_list_case_line_ = Obj.magic _7 in
34518 let _6 : 'tv_list_decl_var_ = Obj.magic _6 in
34519 let _5 : (
34520 # 105 "parser_cocci_menhir.mly"
34521 (Data.clt)
34522 # 34523 "parser_cocci_menhir.ml"
34523 ) = Obj.magic _5 in
34524 let _4 : (
34525 # 81 "parser_cocci_menhir.mly"
34526 (Data.clt)
34527 # 34528 "parser_cocci_menhir.ml"
34528 ) = Obj.magic _4 in
34529 let _3 : 'tv_eexpr = Obj.magic _3 in
34530 let _2 : (
34531 # 80 "parser_cocci_menhir.mly"
34532 (Data.clt)
34533 # 34534 "parser_cocci_menhir.ml"
34534 ) = Obj.magic _2 in
34535 let _1 : (
34536 # 60 "parser_cocci_menhir.mly"
34537 (Data.clt)
34538 # 34539 "parser_cocci_menhir.ml"
34539 ) = Obj.magic _1 in
34540 let _startpos = _startpos__1_ in
34541 let _endpos = _endpos__8_ in
34542 let _v : 'tv_statement =
34543 # 970 "parser_cocci_menhir.mly"
34544 ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 )
34545 # 34546 "parser_cocci_menhir.ml"
34546 in
34547 _menhir_env.MenhirLib.EngineTypes.stack <- {
34548 MenhirLib.EngineTypes.state = _menhir_s;
34549 MenhirLib.EngineTypes.semv = Obj.repr _v;
34550 MenhirLib.EngineTypes.startp = _startpos;
34551 MenhirLib.EngineTypes.endp = _endpos;
34552 MenhirLib.EngineTypes.next = _menhir_stack;
34553 });
34554 (fun _menhir_env ->
34555 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34556 let {
34557 MenhirLib.EngineTypes.semv = _3;
34558 MenhirLib.EngineTypes.startp = _startpos__3_;
34559 MenhirLib.EngineTypes.endp = _endpos__3_;
34560 MenhirLib.EngineTypes.next = {
34561 MenhirLib.EngineTypes.semv = _2;
34562 MenhirLib.EngineTypes.startp = _startpos__2_;
34563 MenhirLib.EngineTypes.endp = _endpos__2_;
34564 MenhirLib.EngineTypes.next = {
34565 MenhirLib.EngineTypes.state = _menhir_s;
34566 MenhirLib.EngineTypes.semv = _1;
34567 MenhirLib.EngineTypes.startp = _startpos__1_;
34568 MenhirLib.EngineTypes.endp = _endpos__1_;
34569 MenhirLib.EngineTypes.next = _menhir_stack;
34570 };
34571 };
34572 } = _menhir_stack in
34573 let _3 : (
34574 # 111 "parser_cocci_menhir.mly"
34575 (Data.clt)
34576 # 34577 "parser_cocci_menhir.ml"
34577 ) = Obj.magic _3 in
34578 let _2 : 'tv_eexpr = Obj.magic _2 in
34579 let _1 : (
34580 # 60 "parser_cocci_menhir.mly"
34581 (Data.clt)
34582 # 34583 "parser_cocci_menhir.ml"
34583 ) = Obj.magic _1 in
34584 let _startpos = _startpos__1_ in
34585 let _endpos = _endpos__3_ in
34586 let _v : 'tv_statement =
34587 # 971 "parser_cocci_menhir.mly"
34588 ( P.ret_exp _1 _2 _3 )
34589 # 34590 "parser_cocci_menhir.ml"
34590 in
34591 _menhir_env.MenhirLib.EngineTypes.stack <- {
34592 MenhirLib.EngineTypes.state = _menhir_s;
34593 MenhirLib.EngineTypes.semv = Obj.repr _v;
34594 MenhirLib.EngineTypes.startp = _startpos;
34595 MenhirLib.EngineTypes.endp = _endpos;
34596 MenhirLib.EngineTypes.next = _menhir_stack;
34597 });
34598 (fun _menhir_env ->
34599 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34600 let {
34601 MenhirLib.EngineTypes.semv = _2;
34602 MenhirLib.EngineTypes.startp = _startpos__2_;
34603 MenhirLib.EngineTypes.endp = _endpos__2_;
34604 MenhirLib.EngineTypes.next = {
34605 MenhirLib.EngineTypes.state = _menhir_s;
34606 MenhirLib.EngineTypes.semv = _1;
34607 MenhirLib.EngineTypes.startp = _startpos__1_;
34608 MenhirLib.EngineTypes.endp = _endpos__1_;
34609 MenhirLib.EngineTypes.next = _menhir_stack;
34610 };
34611 } = _menhir_stack in
34612 let _2 : (
34613 # 111 "parser_cocci_menhir.mly"
34614 (Data.clt)
34615 # 34616 "parser_cocci_menhir.ml"
34616 ) = Obj.magic _2 in
34617 let _1 : (
34618 # 60 "parser_cocci_menhir.mly"
34619 (Data.clt)
34620 # 34621 "parser_cocci_menhir.ml"
34621 ) = Obj.magic _1 in
34622 let _startpos = _startpos__1_ in
34623 let _endpos = _endpos__2_ in
34624 let _v : 'tv_statement =
34625 # 972 "parser_cocci_menhir.mly"
34626 ( P.ret _1 _2 )
34627 # 34628 "parser_cocci_menhir.ml"
34628 in
34629 _menhir_env.MenhirLib.EngineTypes.stack <- {
34630 MenhirLib.EngineTypes.state = _menhir_s;
34631 MenhirLib.EngineTypes.semv = Obj.repr _v;
34632 MenhirLib.EngineTypes.startp = _startpos;
34633 MenhirLib.EngineTypes.endp = _endpos;
34634 MenhirLib.EngineTypes.next = _menhir_stack;
34635 });
34636 (fun _menhir_env ->
34637 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34638 let {
34639 MenhirLib.EngineTypes.semv = _2;
34640 MenhirLib.EngineTypes.startp = _startpos__2_;
34641 MenhirLib.EngineTypes.endp = _endpos__2_;
34642 MenhirLib.EngineTypes.next = {
34643 MenhirLib.EngineTypes.state = _menhir_s;
34644 MenhirLib.EngineTypes.semv = _1;
34645 MenhirLib.EngineTypes.startp = _startpos__1_;
34646 MenhirLib.EngineTypes.endp = _endpos__1_;
34647 MenhirLib.EngineTypes.next = _menhir_stack;
34648 };
34649 } = _menhir_stack in
34650 let _2 : (
34651 # 111 "parser_cocci_menhir.mly"
34652 (Data.clt)
34653 # 34654 "parser_cocci_menhir.ml"
34654 ) = Obj.magic _2 in
34655 let _1 : (
34656 # 61 "parser_cocci_menhir.mly"
34657 (Data.clt)
34658 # 34659 "parser_cocci_menhir.ml"
34659 ) = Obj.magic _1 in
34660 let _startpos = _startpos__1_ in
34661 let _endpos = _endpos__2_ in
34662 let _v : 'tv_statement =
34663 # 973 "parser_cocci_menhir.mly"
34664 ( P.break _1 _2 )
34665 # 34666 "parser_cocci_menhir.ml"
34666 in
34667 _menhir_env.MenhirLib.EngineTypes.stack <- {
34668 MenhirLib.EngineTypes.state = _menhir_s;
34669 MenhirLib.EngineTypes.semv = Obj.repr _v;
34670 MenhirLib.EngineTypes.startp = _startpos;
34671 MenhirLib.EngineTypes.endp = _endpos;
34672 MenhirLib.EngineTypes.next = _menhir_stack;
34673 });
34674 (fun _menhir_env ->
34675 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34676 let {
34677 MenhirLib.EngineTypes.semv = _2;
34678 MenhirLib.EngineTypes.startp = _startpos__2_;
34679 MenhirLib.EngineTypes.endp = _endpos__2_;
34680 MenhirLib.EngineTypes.next = {
34681 MenhirLib.EngineTypes.state = _menhir_s;
34682 MenhirLib.EngineTypes.semv = _1;
34683 MenhirLib.EngineTypes.startp = _startpos__1_;
34684 MenhirLib.EngineTypes.endp = _endpos__1_;
34685 MenhirLib.EngineTypes.next = _menhir_stack;
34686 };
34687 } = _menhir_stack in
34688 let _2 : (
34689 # 111 "parser_cocci_menhir.mly"
34690 (Data.clt)
34691 # 34692 "parser_cocci_menhir.ml"
34692 ) = Obj.magic _2 in
34693 let _1 : (
34694 # 61 "parser_cocci_menhir.mly"
34695 (Data.clt)
34696 # 34697 "parser_cocci_menhir.ml"
34697 ) = Obj.magic _1 in
34698 let _startpos = _startpos__1_ in
34699 let _endpos = _endpos__2_ in
34700 let _v : 'tv_statement =
34701 # 974 "parser_cocci_menhir.mly"
34702 ( P.cont _1 _2 )
34703 # 34704 "parser_cocci_menhir.ml"
34704 in
34705 _menhir_env.MenhirLib.EngineTypes.stack <- {
34706 MenhirLib.EngineTypes.state = _menhir_s;
34707 MenhirLib.EngineTypes.semv = Obj.repr _v;
34708 MenhirLib.EngineTypes.startp = _startpos;
34709 MenhirLib.EngineTypes.endp = _endpos;
34710 MenhirLib.EngineTypes.next = _menhir_stack;
34711 });
34712 (fun _menhir_env ->
34713 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34714 let {
34715 MenhirLib.EngineTypes.semv = _2;
34716 MenhirLib.EngineTypes.startp = _startpos__2_;
34717 MenhirLib.EngineTypes.endp = _endpos__2_;
34718 MenhirLib.EngineTypes.next = {
34719 MenhirLib.EngineTypes.state = _menhir_s;
34720 MenhirLib.EngineTypes.semv = _1;
34721 MenhirLib.EngineTypes.startp = _startpos__1_;
34722 MenhirLib.EngineTypes.endp = _endpos__1_;
34723 MenhirLib.EngineTypes.next = _menhir_stack;
34724 };
34725 } = _menhir_stack in
34726 let _2 : (
34727 # 80 "parser_cocci_menhir.mly"
34728 (Data.clt)
34729 # 34730 "parser_cocci_menhir.ml"
34730 ) = Obj.magic _2 in
34731 let _1 : 'tv_ident = Obj.magic _1 in
34732 let _startpos = _startpos__1_ in
34733 let _endpos = _endpos__2_ in
34734 let _v : 'tv_statement =
34735 # 975 "parser_cocci_menhir.mly"
34736 ( P.label _1 _2 )
34737 # 34738 "parser_cocci_menhir.ml"
34738 in
34739 _menhir_env.MenhirLib.EngineTypes.stack <- {
34740 MenhirLib.EngineTypes.state = _menhir_s;
34741 MenhirLib.EngineTypes.semv = Obj.repr _v;
34742 MenhirLib.EngineTypes.startp = _startpos;
34743 MenhirLib.EngineTypes.endp = _endpos;
34744 MenhirLib.EngineTypes.next = _menhir_stack;
34745 });
34746 (fun _menhir_env ->
34747 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34748 let {
34749 MenhirLib.EngineTypes.semv = _3;
34750 MenhirLib.EngineTypes.startp = _startpos__3_;
34751 MenhirLib.EngineTypes.endp = _endpos__3_;
34752 MenhirLib.EngineTypes.next = {
34753 MenhirLib.EngineTypes.semv = _2;
34754 MenhirLib.EngineTypes.startp = _startpos__2_;
34755 MenhirLib.EngineTypes.endp = _endpos__2_;
34756 MenhirLib.EngineTypes.next = {
34757 MenhirLib.EngineTypes.state = _menhir_s;
34758 MenhirLib.EngineTypes.semv = _1;
34759 MenhirLib.EngineTypes.startp = _startpos__1_;
34760 MenhirLib.EngineTypes.endp = _endpos__1_;
34761 MenhirLib.EngineTypes.next = _menhir_stack;
34762 };
34763 };
34764 } = _menhir_stack in
34765 let _3 : (
34766 # 111 "parser_cocci_menhir.mly"
34767 (Data.clt)
34768 # 34769 "parser_cocci_menhir.ml"
34769 ) = Obj.magic _3 in
34770 let _2 : 'tv_ident = Obj.magic _2 in
34771 let _1 : (
34772 # 61 "parser_cocci_menhir.mly"
34773 (Data.clt)
34774 # 34775 "parser_cocci_menhir.ml"
34775 ) = Obj.magic _1 in
34776 let _startpos = _startpos__1_ in
34777 let _endpos = _endpos__3_ in
34778 let _v : 'tv_statement =
34779 # 976 "parser_cocci_menhir.mly"
34780 ( P.goto _1 _2 _3 )
34781 # 34782 "parser_cocci_menhir.ml"
34782 in
34783 _menhir_env.MenhirLib.EngineTypes.stack <- {
34784 MenhirLib.EngineTypes.state = _menhir_s;
34785 MenhirLib.EngineTypes.semv = Obj.repr _v;
34786 MenhirLib.EngineTypes.startp = _startpos;
34787 MenhirLib.EngineTypes.endp = _endpos;
34788 MenhirLib.EngineTypes.next = _menhir_stack;
34789 });
34790 (fun _menhir_env ->
34791 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34792 let {
34793 MenhirLib.EngineTypes.semv = _3;
34794 MenhirLib.EngineTypes.startp = _startpos__3_;
34795 MenhirLib.EngineTypes.endp = _endpos__3_;
34796 MenhirLib.EngineTypes.next = {
34797 MenhirLib.EngineTypes.semv = _2;
34798 MenhirLib.EngineTypes.startp = _startpos__2_;
34799 MenhirLib.EngineTypes.endp = _endpos__2_;
34800 MenhirLib.EngineTypes.next = {
34801 MenhirLib.EngineTypes.state = _menhir_s;
34802 MenhirLib.EngineTypes.semv = _1;
34803 MenhirLib.EngineTypes.startp = _startpos__1_;
34804 MenhirLib.EngineTypes.endp = _endpos__1_;
34805 MenhirLib.EngineTypes.next = _menhir_stack;
34806 };
34807 };
34808 } = _menhir_stack in
34809 let _3 : (
34810 # 105 "parser_cocci_menhir.mly"
34811 (Data.clt)
34812 # 34813 "parser_cocci_menhir.ml"
34813 ) = Obj.magic _3 in
34814 let _2 : 'tv_fun_start = Obj.magic _2 in
34815 let _1 : (
34816 # 105 "parser_cocci_menhir.mly"
34817 (Data.clt)
34818 # 34819 "parser_cocci_menhir.ml"
34819 ) = Obj.magic _1 in
34820 let _startpos = _startpos__1_ in
34821 let _endpos = _endpos__3_ in
34822 let _v : 'tv_statement =
34823 # 978 "parser_cocci_menhir.mly"
34824 ( P.seq _1 _2 _3 )
34825 # 34826 "parser_cocci_menhir.ml"
34826 in
34827 _menhir_env.MenhirLib.EngineTypes.stack <- {
34828 MenhirLib.EngineTypes.state = _menhir_s;
34829 MenhirLib.EngineTypes.semv = Obj.repr _v;
34830 MenhirLib.EngineTypes.startp = _startpos;
34831 MenhirLib.EngineTypes.endp = _endpos;
34832 MenhirLib.EngineTypes.next = _menhir_stack;
34833 });
34834 (fun _menhir_env ->
34835 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34836 let {
34837 MenhirLib.EngineTypes.semv = w;
34838 MenhirLib.EngineTypes.startp = _startpos_w_;
34839 MenhirLib.EngineTypes.endp = _endpos_w_;
34840 MenhirLib.EngineTypes.next = {
34841 MenhirLib.EngineTypes.state = _menhir_s;
34842 MenhirLib.EngineTypes.semv = _1;
34843 MenhirLib.EngineTypes.startp = _startpos__1_;
34844 MenhirLib.EngineTypes.endp = _endpos__1_;
34845 MenhirLib.EngineTypes.next = _menhir_stack;
34846 };
34847 } = _menhir_stack in
34848 let w : 'tv_list_whenppdecs_ = Obj.magic w in
34849 let _1 : (
34850 # 77 "parser_cocci_menhir.mly"
34851 (Data.clt)
34852 # 34853 "parser_cocci_menhir.ml"
34853 ) = Obj.magic _1 in
34854 let _startpos = _startpos__1_ in
34855 let _endpos = _endpos_w_ in
34856 let _v : 'tv_stm_dots =
34857 # 982 "parser_cocci_menhir.mly"
34858 ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) )
34859 # 34860 "parser_cocci_menhir.ml"
34860 in
34861 _menhir_env.MenhirLib.EngineTypes.stack <- {
34862 MenhirLib.EngineTypes.state = _menhir_s;
34863 MenhirLib.EngineTypes.semv = Obj.repr _v;
34864 MenhirLib.EngineTypes.startp = _startpos;
34865 MenhirLib.EngineTypes.endp = _endpos;
34866 MenhirLib.EngineTypes.next = _menhir_stack;
34867 });
34868 (fun _menhir_env ->
34869 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34870 let {
34871 MenhirLib.EngineTypes.semv = c;
34872 MenhirLib.EngineTypes.startp = _startpos_c_;
34873 MenhirLib.EngineTypes.endp = _endpos_c_;
34874 MenhirLib.EngineTypes.next = {
34875 MenhirLib.EngineTypes.semv = b;
34876 MenhirLib.EngineTypes.startp = _startpos_b_;
34877 MenhirLib.EngineTypes.endp = _endpos_b_;
34878 MenhirLib.EngineTypes.next = {
34879 MenhirLib.EngineTypes.semv = w;
34880 MenhirLib.EngineTypes.startp = _startpos_w_;
34881 MenhirLib.EngineTypes.endp = _endpos_w_;
34882 MenhirLib.EngineTypes.next = {
34883 MenhirLib.EngineTypes.state = _menhir_s;
34884 MenhirLib.EngineTypes.semv = _1;
34885 MenhirLib.EngineTypes.startp = _startpos__1_;
34886 MenhirLib.EngineTypes.endp = _endpos__1_;
34887 MenhirLib.EngineTypes.next = _menhir_stack;
34888 };
34889 };
34890 };
34891 } = _menhir_stack in
34892 let c : (
34893 # 77 "parser_cocci_menhir.mly"
34894 (Data.clt)
34895 # 34896 "parser_cocci_menhir.ml"
34896 ) = Obj.magic c in
34897 let b : 'tv_nest_start = Obj.magic b in
34898 let w : 'tv_list_whenppdecs_ = Obj.magic w in
34899 let _1 : (
34900 # 77 "parser_cocci_menhir.mly"
34901 (Data.clt)
34902 # 34903 "parser_cocci_menhir.ml"
34903 ) = Obj.magic _1 in
34904 let _startpos = _startpos__1_ in
34905 let _endpos = _endpos_c_ in
34906 let _v : 'tv_stm_dots =
34907 # 984 "parser_cocci_menhir.mly"
34908 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b,
34909 P.clt2mcode "...>" c, List.concat w, false)) )
34910 # 34911 "parser_cocci_menhir.ml"
34911 in
34912 _menhir_env.MenhirLib.EngineTypes.stack <- {
34913 MenhirLib.EngineTypes.state = _menhir_s;
34914 MenhirLib.EngineTypes.semv = Obj.repr _v;
34915 MenhirLib.EngineTypes.startp = _startpos;
34916 MenhirLib.EngineTypes.endp = _endpos;
34917 MenhirLib.EngineTypes.next = _menhir_stack;
34918 });
34919 (fun _menhir_env ->
34920 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34921 let {
34922 MenhirLib.EngineTypes.semv = c;
34923 MenhirLib.EngineTypes.startp = _startpos_c_;
34924 MenhirLib.EngineTypes.endp = _endpos_c_;
34925 MenhirLib.EngineTypes.next = {
34926 MenhirLib.EngineTypes.semv = b;
34927 MenhirLib.EngineTypes.startp = _startpos_b_;
34928 MenhirLib.EngineTypes.endp = _endpos_b_;
34929 MenhirLib.EngineTypes.next = {
34930 MenhirLib.EngineTypes.semv = w;
34931 MenhirLib.EngineTypes.startp = _startpos_w_;
34932 MenhirLib.EngineTypes.endp = _endpos_w_;
34933 MenhirLib.EngineTypes.next = {
34934 MenhirLib.EngineTypes.state = _menhir_s;
34935 MenhirLib.EngineTypes.semv = _1;
34936 MenhirLib.EngineTypes.startp = _startpos__1_;
34937 MenhirLib.EngineTypes.endp = _endpos__1_;
34938 MenhirLib.EngineTypes.next = _menhir_stack;
34939 };
34940 };
34941 };
34942 } = _menhir_stack in
34943 let c : (
34944 # 77 "parser_cocci_menhir.mly"
34945 (Data.clt)
34946 # 34947 "parser_cocci_menhir.ml"
34947 ) = Obj.magic c in
34948 let b : 'tv_nest_start = Obj.magic b in
34949 let w : 'tv_list_whenppdecs_ = Obj.magic w in
34950 let _1 : (
34951 # 77 "parser_cocci_menhir.mly"
34952 (Data.clt)
34953 # 34954 "parser_cocci_menhir.ml"
34954 ) = Obj.magic _1 in
34955 let _startpos = _startpos__1_ in
34956 let _endpos = _endpos_c_ in
34957 let _v : 'tv_stm_dots =
34958 # 987 "parser_cocci_menhir.mly"
34959 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b,
34960 P.clt2mcode "...+>" c, List.concat w, true)) )
34961 # 34962 "parser_cocci_menhir.ml"
34962 in
34963 _menhir_env.MenhirLib.EngineTypes.stack <- {
34964 MenhirLib.EngineTypes.state = _menhir_s;
34965 MenhirLib.EngineTypes.semv = Obj.repr _v;
34966 MenhirLib.EngineTypes.startp = _startpos;
34967 MenhirLib.EngineTypes.endp = _endpos;
34968 MenhirLib.EngineTypes.next = _menhir_stack;
34969 });
34970 (fun _menhir_env ->
34971 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
34972 let {
34973 MenhirLib.EngineTypes.state = _menhir_s;
34974 MenhirLib.EngineTypes.semv = s;
34975 MenhirLib.EngineTypes.startp = _startpos_s_;
34976 MenhirLib.EngineTypes.endp = _endpos_s_;
34977 MenhirLib.EngineTypes.next = _menhir_stack;
34978 } = _menhir_stack in
34979 let s : (
34980 # 56 "parser_cocci_menhir.mly"
34981 (Data.clt)
34982 # 34983 "parser_cocci_menhir.ml"
34983 ) = Obj.magic s in
34984 let _startpos = _startpos_s_ in
34985 let _endpos = _endpos_s_ in
34986 let _v : 'tv_storage =
34987 # 913 "parser_cocci_menhir.mly"
34988 ( P.clt2mcode Ast.Static s )
34989 # 34990 "parser_cocci_menhir.ml"
34990 in
34991 _menhir_env.MenhirLib.EngineTypes.stack <- {
34992 MenhirLib.EngineTypes.state = _menhir_s;
34993 MenhirLib.EngineTypes.semv = Obj.repr _v;
34994 MenhirLib.EngineTypes.startp = _startpos;
34995 MenhirLib.EngineTypes.endp = _endpos;
34996 MenhirLib.EngineTypes.next = _menhir_stack;
34997 });
34998 (fun _menhir_env ->
34999 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35000 let {
35001 MenhirLib.EngineTypes.state = _menhir_s;
35002 MenhirLib.EngineTypes.semv = s;
35003 MenhirLib.EngineTypes.startp = _startpos_s_;
35004 MenhirLib.EngineTypes.endp = _endpos_s_;
35005 MenhirLib.EngineTypes.next = _menhir_stack;
35006 } = _menhir_stack in
35007 let s : (
35008 # 56 "parser_cocci_menhir.mly"
35009 (Data.clt)
35010 # 35011 "parser_cocci_menhir.ml"
35011 ) = Obj.magic s in
35012 let _startpos = _startpos_s_ in
35013 let _endpos = _endpos_s_ in
35014 let _v : 'tv_storage =
35015 # 914 "parser_cocci_menhir.mly"
35016 ( P.clt2mcode Ast.Auto s )
35017 # 35018 "parser_cocci_menhir.ml"
35018 in
35019 _menhir_env.MenhirLib.EngineTypes.stack <- {
35020 MenhirLib.EngineTypes.state = _menhir_s;
35021 MenhirLib.EngineTypes.semv = Obj.repr _v;
35022 MenhirLib.EngineTypes.startp = _startpos;
35023 MenhirLib.EngineTypes.endp = _endpos;
35024 MenhirLib.EngineTypes.next = _menhir_stack;
35025 });
35026 (fun _menhir_env ->
35027 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35028 let {
35029 MenhirLib.EngineTypes.state = _menhir_s;
35030 MenhirLib.EngineTypes.semv = s;
35031 MenhirLib.EngineTypes.startp = _startpos_s_;
35032 MenhirLib.EngineTypes.endp = _endpos_s_;
35033 MenhirLib.EngineTypes.next = _menhir_stack;
35034 } = _menhir_stack in
35035 let s : (
35036 # 56 "parser_cocci_menhir.mly"
35037 (Data.clt)
35038 # 35039 "parser_cocci_menhir.ml"
35039 ) = Obj.magic s in
35040 let _startpos = _startpos_s_ in
35041 let _endpos = _endpos_s_ in
35042 let _v : 'tv_storage =
35043 # 915 "parser_cocci_menhir.mly"
35044 ( P.clt2mcode Ast.Register s )
35045 # 35046 "parser_cocci_menhir.ml"
35046 in
35047 _menhir_env.MenhirLib.EngineTypes.stack <- {
35048 MenhirLib.EngineTypes.state = _menhir_s;
35049 MenhirLib.EngineTypes.semv = Obj.repr _v;
35050 MenhirLib.EngineTypes.startp = _startpos;
35051 MenhirLib.EngineTypes.endp = _endpos;
35052 MenhirLib.EngineTypes.next = _menhir_stack;
35053 });
35054 (fun _menhir_env ->
35055 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35056 let {
35057 MenhirLib.EngineTypes.state = _menhir_s;
35058 MenhirLib.EngineTypes.semv = s;
35059 MenhirLib.EngineTypes.startp = _startpos_s_;
35060 MenhirLib.EngineTypes.endp = _endpos_s_;
35061 MenhirLib.EngineTypes.next = _menhir_stack;
35062 } = _menhir_stack in
35063 let s : (
35064 # 56 "parser_cocci_menhir.mly"
35065 (Data.clt)
35066 # 35067 "parser_cocci_menhir.ml"
35067 ) = Obj.magic s in
35068 let _startpos = _startpos_s_ in
35069 let _endpos = _endpos_s_ in
35070 let _v : 'tv_storage =
35071 # 916 "parser_cocci_menhir.mly"
35072 ( P.clt2mcode Ast.Extern s )
35073 # 35074 "parser_cocci_menhir.ml"
35074 in
35075 _menhir_env.MenhirLib.EngineTypes.stack <- {
35076 MenhirLib.EngineTypes.state = _menhir_s;
35077 MenhirLib.EngineTypes.semv = Obj.repr _v;
35078 MenhirLib.EngineTypes.startp = _startpos;
35079 MenhirLib.EngineTypes.endp = _endpos;
35080 MenhirLib.EngineTypes.next = _menhir_stack;
35081 });
35082 (fun _menhir_env ->
35083 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35084 let {
35085 MenhirLib.EngineTypes.state = _menhir_s;
35086 MenhirLib.EngineTypes.startp = _startpos__1_;
35087 MenhirLib.EngineTypes.endp = _endpos__1_;
35088 MenhirLib.EngineTypes.next = _menhir_stack;
35089 } = _menhir_stack in
35090 let _startpos = _startpos__1_ in
35091 let _endpos = _endpos__1_ in
35092 let _v : 'tv_struct_decl =
35093 # 633 "parser_cocci_menhir.mly"
35094 ( [] )
35095 # 35096 "parser_cocci_menhir.ml"
35096 in
35097 _menhir_env.MenhirLib.EngineTypes.stack <- {
35098 MenhirLib.EngineTypes.state = _menhir_s;
35099 MenhirLib.EngineTypes.semv = Obj.repr _v;
35100 MenhirLib.EngineTypes.startp = _startpos;
35101 MenhirLib.EngineTypes.endp = _endpos;
35102 MenhirLib.EngineTypes.next = _menhir_stack;
35103 });
35104 (fun _menhir_env ->
35105 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35106 let {
35107 MenhirLib.EngineTypes.state = _menhir_s;
35108 MenhirLib.EngineTypes.semv = _1;
35109 MenhirLib.EngineTypes.startp = _startpos__1_;
35110 MenhirLib.EngineTypes.endp = _endpos__1_;
35111 MenhirLib.EngineTypes.next = _menhir_stack;
35112 } = _menhir_stack in
35113 let _1 : 'tv_struct_decl_one = Obj.magic _1 in
35114 let _startpos = _startpos__1_ in
35115 let _endpos = _endpos__1_ in
35116 let _v : 'tv_struct_decl =
35117 # 634 "parser_cocci_menhir.mly"
35118 ( [_1] )
35119 # 35120 "parser_cocci_menhir.ml"
35120 in
35121 _menhir_env.MenhirLib.EngineTypes.stack <- {
35122 MenhirLib.EngineTypes.state = _menhir_s;
35123 MenhirLib.EngineTypes.semv = Obj.repr _v;
35124 MenhirLib.EngineTypes.startp = _startpos;
35125 MenhirLib.EngineTypes.endp = _endpos;
35126 MenhirLib.EngineTypes.next = _menhir_stack;
35127 });
35128 (fun _menhir_env ->
35129 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35130 let {
35131 MenhirLib.EngineTypes.state = _menhir_s;
35132 MenhirLib.EngineTypes.semv = _1;
35133 MenhirLib.EngineTypes.startp = _startpos__1_;
35134 MenhirLib.EngineTypes.endp = _endpos__1_;
35135 MenhirLib.EngineTypes.next = _menhir_stack;
35136 } = _menhir_stack in
35137 let _1 : 'tv_struct_decl_list_start = Obj.magic _1 in
35138 let _startpos = _startpos__1_ in
35139 let _endpos = _endpos__1_ in
35140 let _v : 'tv_struct_decl_list =
35141 # 656 "parser_cocci_menhir.mly"
35142 ( Ast0.wrap(Ast0.DOTS(_1)) )
35143 # 35144 "parser_cocci_menhir.ml"
35144 in
35145 _menhir_env.MenhirLib.EngineTypes.stack <- {
35146 MenhirLib.EngineTypes.state = _menhir_s;
35147 MenhirLib.EngineTypes.semv = Obj.repr _v;
35148 MenhirLib.EngineTypes.startp = _startpos;
35149 MenhirLib.EngineTypes.endp = _endpos;
35150 MenhirLib.EngineTypes.next = _menhir_stack;
35151 });
35152 (fun _menhir_env ->
35153 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35154 let {
35155 MenhirLib.EngineTypes.state = _menhir_s;
35156 MenhirLib.EngineTypes.semv = _1;
35157 MenhirLib.EngineTypes.startp = _startpos__1_;
35158 MenhirLib.EngineTypes.endp = _endpos__1_;
35159 MenhirLib.EngineTypes.next = _menhir_stack;
35160 } = _menhir_stack in
35161 let _1 : 'tv_struct_decl = Obj.magic _1 in
35162 let _startpos = _startpos__1_ in
35163 let _endpos = _endpos__1_ in
35164 let _v : 'tv_struct_decl_list_start =
35165 # 659 "parser_cocci_menhir.mly"
35166 ( _1 )
35167 # 35168 "parser_cocci_menhir.ml"
35168 in
35169 _menhir_env.MenhirLib.EngineTypes.stack <- {
35170 MenhirLib.EngineTypes.state = _menhir_s;
35171 MenhirLib.EngineTypes.semv = Obj.repr _v;
35172 MenhirLib.EngineTypes.startp = _startpos;
35173 MenhirLib.EngineTypes.endp = _endpos;
35174 MenhirLib.EngineTypes.next = _menhir_stack;
35175 });
35176 (fun _menhir_env ->
35177 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35178 let {
35179 MenhirLib.EngineTypes.semv = _2;
35180 MenhirLib.EngineTypes.startp = _startpos__2_;
35181 MenhirLib.EngineTypes.endp = _endpos__2_;
35182 MenhirLib.EngineTypes.next = {
35183 MenhirLib.EngineTypes.state = _menhir_s;
35184 MenhirLib.EngineTypes.semv = _1;
35185 MenhirLib.EngineTypes.startp = _startpos__1_;
35186 MenhirLib.EngineTypes.endp = _endpos__1_;
35187 MenhirLib.EngineTypes.next = _menhir_stack;
35188 };
35189 } = _menhir_stack in
35190 let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
35191 let _1 : 'tv_struct_decl = Obj.magic _1 in
35192 let _startpos = _startpos__1_ in
35193 let _endpos = _endpos__2_ in
35194 let _v : 'tv_struct_decl_list_start =
35195 # 660 "parser_cocci_menhir.mly"
35196 ( _1@_2 )
35197 # 35198 "parser_cocci_menhir.ml"
35198 in
35199 _menhir_env.MenhirLib.EngineTypes.stack <- {
35200 MenhirLib.EngineTypes.state = _menhir_s;
35201 MenhirLib.EngineTypes.semv = Obj.repr _v;
35202 MenhirLib.EngineTypes.startp = _startpos;
35203 MenhirLib.EngineTypes.endp = _endpos;
35204 MenhirLib.EngineTypes.next = _menhir_stack;
35205 });
35206 (fun _menhir_env ->
35207 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35208 let {
35209 MenhirLib.EngineTypes.semv = r;
35210 MenhirLib.EngineTypes.startp = _startpos_r_;
35211 MenhirLib.EngineTypes.endp = _endpos_r_;
35212 MenhirLib.EngineTypes.next = {
35213 MenhirLib.EngineTypes.state = _menhir_s;
35214 MenhirLib.EngineTypes.semv = d;
35215 MenhirLib.EngineTypes.startp = _startpos_d_;
35216 MenhirLib.EngineTypes.endp = _endpos_d_;
35217 MenhirLib.EngineTypes.next = _menhir_stack;
35218 };
35219 } = _menhir_stack in
35220 let r : 'tv_continue_struct_decl_list = Obj.magic r in
35221 let d : 'tv_edots_when_TEllipsis_struct_decl_one_ = Obj.magic d in
35222 let _startpos = _startpos_d_ in
35223 let _endpos = _endpos_r_ in
35224 let _v : 'tv_struct_decl_list_start =
35225 # 662 "parser_cocci_menhir.mly"
35226 ( (P.mkddots_one "..." d)::r )
35227 # 35228 "parser_cocci_menhir.ml"
35228 in
35229 _menhir_env.MenhirLib.EngineTypes.stack <- {
35230 MenhirLib.EngineTypes.state = _menhir_s;
35231 MenhirLib.EngineTypes.semv = Obj.repr _v;
35232 MenhirLib.EngineTypes.startp = _startpos;
35233 MenhirLib.EngineTypes.endp = _endpos;
35234 MenhirLib.EngineTypes.next = _menhir_stack;
35235 });
35236 (fun _menhir_env ->
35237 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35238 let {
35239 MenhirLib.EngineTypes.state = _menhir_s;
35240 MenhirLib.EngineTypes.semv = _1;
35241 MenhirLib.EngineTypes.startp = _startpos__1_;
35242 MenhirLib.EngineTypes.endp = _endpos__1_;
35243 MenhirLib.EngineTypes.next = _menhir_stack;
35244 } = _menhir_stack in
35245 let _1 : (
35246 # 69 "parser_cocci_menhir.mly"
35247 (Parse_aux.info)
35248 # 35249 "parser_cocci_menhir.ml"
35249 ) = Obj.magic _1 in
35250 let _startpos = _startpos__1_ in
35251 let _endpos = _endpos__1_ in
35252 let _v : 'tv_struct_decl_one =
35253 # 637 "parser_cocci_menhir.mly"
35254 ( P.meta_field _1 )
35255 # 35256 "parser_cocci_menhir.ml"
35256 in
35257 _menhir_env.MenhirLib.EngineTypes.stack <- {
35258 MenhirLib.EngineTypes.state = _menhir_s;
35259 MenhirLib.EngineTypes.semv = Obj.repr _v;
35260 MenhirLib.EngineTypes.startp = _startpos;
35261 MenhirLib.EngineTypes.endp = _endpos;
35262 MenhirLib.EngineTypes.next = _menhir_stack;
35263 });
35264 (fun _menhir_env ->
35265 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35266 let {
35267 MenhirLib.EngineTypes.semv = pv;
35268 MenhirLib.EngineTypes.startp = _startpos_pv_;
35269 MenhirLib.EngineTypes.endp = _endpos_pv_;
35270 MenhirLib.EngineTypes.next = {
35271 MenhirLib.EngineTypes.semv = d;
35272 MenhirLib.EngineTypes.startp = _startpos_d_;
35273 MenhirLib.EngineTypes.endp = _endpos_d_;
35274 MenhirLib.EngineTypes.next = {
35275 MenhirLib.EngineTypes.state = _menhir_s;
35276 MenhirLib.EngineTypes.semv = t;
35277 MenhirLib.EngineTypes.startp = _startpos_t_;
35278 MenhirLib.EngineTypes.endp = _endpos_t_;
35279 MenhirLib.EngineTypes.next = _menhir_stack;
35280 };
35281 };
35282 } = _menhir_stack in
35283 let pv : (
35284 # 111 "parser_cocci_menhir.mly"
35285 (Data.clt)
35286 # 35287 "parser_cocci_menhir.ml"
35287 ) = Obj.magic pv in
35288 let d : 'tv_d_ident = Obj.magic d in
35289 let t : 'tv_ctype = Obj.magic t in
35290 let _startpos = _startpos_t_ in
35291 let _endpos = _endpos_pv_ in
35292 let _v : 'tv_struct_decl_one =
35293 # 639 "parser_cocci_menhir.mly"
35294 ( let (id,fn) = d in
35295 Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) )
35296 # 35297 "parser_cocci_menhir.ml"
35297 in
35298 _menhir_env.MenhirLib.EngineTypes.stack <- {
35299 MenhirLib.EngineTypes.state = _menhir_s;
35300 MenhirLib.EngineTypes.semv = Obj.repr _v;
35301 MenhirLib.EngineTypes.startp = _startpos;
35302 MenhirLib.EngineTypes.endp = _endpos;
35303 MenhirLib.EngineTypes.next = _menhir_stack;
35304 });
35305 (fun _menhir_env ->
35306 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35307 let {
35308 MenhirLib.EngineTypes.semv = pv;
35309 MenhirLib.EngineTypes.startp = _startpos_pv_;
35310 MenhirLib.EngineTypes.endp = _endpos_pv_;
35311 MenhirLib.EngineTypes.next = {
35312 MenhirLib.EngineTypes.semv = rp2;
35313 MenhirLib.EngineTypes.startp = _startpos_rp2_;
35314 MenhirLib.EngineTypes.endp = _endpos_rp2_;
35315 MenhirLib.EngineTypes.next = {
35316 MenhirLib.EngineTypes.semv = p;
35317 MenhirLib.EngineTypes.startp = _startpos_p_;
35318 MenhirLib.EngineTypes.endp = _endpos_p_;
35319 MenhirLib.EngineTypes.next = {
35320 MenhirLib.EngineTypes.semv = lp2;
35321 MenhirLib.EngineTypes.startp = _startpos_lp2_;
35322 MenhirLib.EngineTypes.endp = _endpos_lp2_;
35323 MenhirLib.EngineTypes.next = {
35324 MenhirLib.EngineTypes.semv = rp1;
35325 MenhirLib.EngineTypes.startp = _startpos_rp1_;
35326 MenhirLib.EngineTypes.endp = _endpos_rp1_;
35327 MenhirLib.EngineTypes.next = {
35328 MenhirLib.EngineTypes.semv = d;
35329 MenhirLib.EngineTypes.startp = _startpos_d_;
35330 MenhirLib.EngineTypes.endp = _endpos_d_;
35331 MenhirLib.EngineTypes.next = {
35332 MenhirLib.EngineTypes.semv = st;
35333 MenhirLib.EngineTypes.startp = _startpos_st_;
35334 MenhirLib.EngineTypes.endp = _endpos_st_;
35335 MenhirLib.EngineTypes.next = {
35336 MenhirLib.EngineTypes.semv = lp1;
35337 MenhirLib.EngineTypes.startp = _startpos_lp1_;
35338 MenhirLib.EngineTypes.endp = _endpos_lp1_;
35339 MenhirLib.EngineTypes.next = {
35340 MenhirLib.EngineTypes.state = _menhir_s;
35341 MenhirLib.EngineTypes.semv = t;
35342 MenhirLib.EngineTypes.startp = _startpos_t_;
35343 MenhirLib.EngineTypes.endp = _endpos_t_;
35344 MenhirLib.EngineTypes.next = _menhir_stack;
35345 };
35346 };
35347 };
35348 };
35349 };
35350 };
35351 };
35352 };
35353 } = _menhir_stack in
35354 let pv : (
35355 # 111 "parser_cocci_menhir.mly"
35356 (Data.clt)
35357 # 35358 "parser_cocci_menhir.ml"
35358 ) = Obj.magic pv in
35359 let rp2 : (
35360 # 81 "parser_cocci_menhir.mly"
35361 (Data.clt)
35362 # 35363 "parser_cocci_menhir.ml"
35363 ) = Obj.magic rp2 in
35364 let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
35365 let lp2 : (
35366 # 80 "parser_cocci_menhir.mly"
35367 (Data.clt)
35368 # 35369 "parser_cocci_menhir.ml"
35369 ) = Obj.magic lp2 in
35370 let rp1 : (
35371 # 81 "parser_cocci_menhir.mly"
35372 (Data.clt)
35373 # 35374 "parser_cocci_menhir.ml"
35374 ) = Obj.magic rp1 in
35375 let d : 'tv_d_ident = Obj.magic d in
35376 let st : (
35377 # 103 "parser_cocci_menhir.mly"
35378 (Data.clt)
35379 # 35380 "parser_cocci_menhir.ml"
35380 ) = Obj.magic st in
35381 let lp1 : (
35382 # 80 "parser_cocci_menhir.mly"
35383 (Data.clt)
35384 # 35385 "parser_cocci_menhir.ml"
35385 ) = Obj.magic lp1 in
35386 let t : 'tv_ctype = Obj.magic t in
35387 let _startpos = _startpos_t_ in
35388 let _endpos = _endpos_pv_ in
35389 let _v : 'tv_struct_decl_one =
35390 # 643 "parser_cocci_menhir.mly"
35391 ( let (id,fn) = d in
35392 let t =
35393 Ast0.wrap
35394 (Ast0.FunctionPointer
35395 (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
35396 P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
35397 Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) )
35398 # 35399 "parser_cocci_menhir.ml"
35399 in
35400 _menhir_env.MenhirLib.EngineTypes.stack <- {
35401 MenhirLib.EngineTypes.state = _menhir_s;
35402 MenhirLib.EngineTypes.semv = Obj.repr _v;
35403 MenhirLib.EngineTypes.startp = _startpos;
35404 MenhirLib.EngineTypes.endp = _endpos;
35405 MenhirLib.EngineTypes.next = _menhir_stack;
35406 });
35407 (fun _menhir_env ->
35408 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35409 let {
35410 MenhirLib.EngineTypes.semv = pv;
35411 MenhirLib.EngineTypes.startp = _startpos_pv_;
35412 MenhirLib.EngineTypes.endp = _endpos_pv_;
35413 MenhirLib.EngineTypes.next = {
35414 MenhirLib.EngineTypes.semv = d;
35415 MenhirLib.EngineTypes.startp = _startpos_d_;
35416 MenhirLib.EngineTypes.endp = _endpos_d_;
35417 MenhirLib.EngineTypes.next = {
35418 MenhirLib.EngineTypes.state = _menhir_s;
35419 MenhirLib.EngineTypes.semv = i;
35420 MenhirLib.EngineTypes.startp = _startpos_i_;
35421 MenhirLib.EngineTypes.endp = _endpos_i_;
35422 MenhirLib.EngineTypes.next = _menhir_stack;
35423 };
35424 };
35425 } = _menhir_stack in
35426 let pv : (
35427 # 111 "parser_cocci_menhir.mly"
35428 (Data.clt)
35429 # 35430 "parser_cocci_menhir.ml"
35430 ) = Obj.magic pv in
35431 let d : 'tv_d_ident = Obj.magic d in
35432 let i : 'tv_pure_ident = Obj.magic i in
35433 let _startpos = _startpos_i_ in
35434 let _endpos = _endpos_pv_ in
35435 let _v : 'tv_struct_decl_one = let cv =
35436
35437 # 39 "standard.mly"
35438 ( None )
35439 # 35440 "parser_cocci_menhir.ml"
35440
35441 in
35442
35443 # 651 "parser_cocci_menhir.mly"
35444 ( let (id,fn) = d in
35445 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
35446 Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv)) )
35447 # 35448 "parser_cocci_menhir.ml"
35448 in
35449 _menhir_env.MenhirLib.EngineTypes.stack <- {
35450 MenhirLib.EngineTypes.state = _menhir_s;
35451 MenhirLib.EngineTypes.semv = Obj.repr _v;
35452 MenhirLib.EngineTypes.startp = _startpos;
35453 MenhirLib.EngineTypes.endp = _endpos;
35454 MenhirLib.EngineTypes.next = _menhir_stack;
35455 });
35456 (fun _menhir_env ->
35457 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35458 let {
35459 MenhirLib.EngineTypes.semv = pv;
35460 MenhirLib.EngineTypes.startp = _startpos_pv_;
35461 MenhirLib.EngineTypes.endp = _endpos_pv_;
35462 MenhirLib.EngineTypes.next = {
35463 MenhirLib.EngineTypes.semv = d;
35464 MenhirLib.EngineTypes.startp = _startpos_d_;
35465 MenhirLib.EngineTypes.endp = _endpos_d_;
35466 MenhirLib.EngineTypes.next = {
35467 MenhirLib.EngineTypes.semv = i;
35468 MenhirLib.EngineTypes.startp = _startpos_i_;
35469 MenhirLib.EngineTypes.endp = _endpos_i_;
35470 MenhirLib.EngineTypes.next = {
35471 MenhirLib.EngineTypes.state = _menhir_s;
35472 MenhirLib.EngineTypes.semv = x0;
35473 MenhirLib.EngineTypes.startp = _startpos_x0_;
35474 MenhirLib.EngineTypes.endp = _endpos_x0_;
35475 MenhirLib.EngineTypes.next = _menhir_stack;
35476 };
35477 };
35478 };
35479 } = _menhir_stack in
35480 let pv : (
35481 # 111 "parser_cocci_menhir.mly"
35482 (Data.clt)
35483 # 35484 "parser_cocci_menhir.ml"
35484 ) = Obj.magic pv in
35485 let d : 'tv_d_ident = Obj.magic d in
35486 let i : 'tv_pure_ident = Obj.magic i in
35487 let x0 : 'tv_const_vol = Obj.magic x0 in
35488 let _startpos = _startpos_x0_ in
35489 let _endpos = _endpos_pv_ in
35490 let _v : 'tv_struct_decl_one = let cv =
35491 let x = x0 in
35492
35493 # 41 "standard.mly"
35494 ( Some x )
35495 # 35496 "parser_cocci_menhir.ml"
35496
35497 in
35498
35499 # 651 "parser_cocci_menhir.mly"
35500 ( let (id,fn) = d in
35501 let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
35502 Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv)) )
35503 # 35504 "parser_cocci_menhir.ml"
35504 in
35505 _menhir_env.MenhirLib.EngineTypes.stack <- {
35506 MenhirLib.EngineTypes.state = _menhir_s;
35507 MenhirLib.EngineTypes.semv = Obj.repr _v;
35508 MenhirLib.EngineTypes.startp = _startpos;
35509 MenhirLib.EngineTypes.endp = _endpos;
35510 MenhirLib.EngineTypes.next = _menhir_stack;
35511 });
35512 (fun _menhir_env ->
35513 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35514 let {
35515 MenhirLib.EngineTypes.state = _menhir_s;
35516 MenhirLib.EngineTypes.semv = s;
35517 MenhirLib.EngineTypes.startp = _startpos_s_;
35518 MenhirLib.EngineTypes.endp = _endpos_s_;
35519 MenhirLib.EngineTypes.next = _menhir_stack;
35520 } = _menhir_stack in
35521 let s : (
35522 # 53 "parser_cocci_menhir.mly"
35523 (Data.clt)
35524 # 35525 "parser_cocci_menhir.ml"
35525 ) = Obj.magic s in
35526 let _startpos = _startpos_s_ in
35527 let _endpos = _endpos_s_ in
35528 let _v : 'tv_struct_or_union =
35529 # 629 "parser_cocci_menhir.mly"
35530 ( P.clt2mcode Ast.Struct s )
35531 # 35532 "parser_cocci_menhir.ml"
35532 in
35533 _menhir_env.MenhirLib.EngineTypes.stack <- {
35534 MenhirLib.EngineTypes.state = _menhir_s;
35535 MenhirLib.EngineTypes.semv = Obj.repr _v;
35536 MenhirLib.EngineTypes.startp = _startpos;
35537 MenhirLib.EngineTypes.endp = _endpos;
35538 MenhirLib.EngineTypes.next = _menhir_stack;
35539 });
35540 (fun _menhir_env ->
35541 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35542 let {
35543 MenhirLib.EngineTypes.state = _menhir_s;
35544 MenhirLib.EngineTypes.semv = u;
35545 MenhirLib.EngineTypes.startp = _startpos_u_;
35546 MenhirLib.EngineTypes.endp = _endpos_u_;
35547 MenhirLib.EngineTypes.next = _menhir_stack;
35548 } = _menhir_stack in
35549 let u : (
35550 # 53 "parser_cocci_menhir.mly"
35551 (Data.clt)
35552 # 35553 "parser_cocci_menhir.ml"
35553 ) = Obj.magic u in
35554 let _startpos = _startpos_u_ in
35555 let _endpos = _endpos_u_ in
35556 let _v : 'tv_struct_or_union =
35557 # 630 "parser_cocci_menhir.mly"
35558 ( P.clt2mcode Ast.Union u )
35559 # 35560 "parser_cocci_menhir.ml"
35560 in
35561 _menhir_env.MenhirLib.EngineTypes.stack <- {
35562 MenhirLib.EngineTypes.state = _menhir_s;
35563 MenhirLib.EngineTypes.semv = Obj.repr _v;
35564 MenhirLib.EngineTypes.startp = _startpos;
35565 MenhirLib.EngineTypes.endp = _endpos;
35566 MenhirLib.EngineTypes.next = _menhir_stack;
35567 });
35568 (fun _menhir_env ->
35569 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35570 let {
35571 MenhirLib.EngineTypes.semv = i;
35572 MenhirLib.EngineTypes.startp = _startpos_i_;
35573 MenhirLib.EngineTypes.endp = _endpos_i_;
35574 MenhirLib.EngineTypes.next = {
35575 MenhirLib.EngineTypes.state = _menhir_s;
35576 MenhirLib.EngineTypes.startp = _startpos__1_;
35577 MenhirLib.EngineTypes.endp = _endpos__1_;
35578 MenhirLib.EngineTypes.next = _menhir_stack;
35579 };
35580 } = _menhir_stack in
35581 let i : 'tv_meta_ident = Obj.magic i in
35582 let _startpos = _startpos__1_ in
35583 let _endpos = _endpos_i_ in
35584 let _v : 'tv_sub =
35585 # 1726 "parser_cocci_menhir.mly"
35586 ( (if !Data.in_iso
35587 then failwith "constraints not allowed in iso file");
35588 (if !Data.in_generating
35589 then failwith "constraints not allowed in a generated rule file");
35590 let i =
35591 P.check_inherited_constraint i
35592 (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)) in
35593 [i] )
35594 # 35595 "parser_cocci_menhir.ml"
35595 in
35596 _menhir_env.MenhirLib.EngineTypes.stack <- {
35597 MenhirLib.EngineTypes.state = _menhir_s;
35598 MenhirLib.EngineTypes.semv = Obj.repr _v;
35599 MenhirLib.EngineTypes.startp = _startpos;
35600 MenhirLib.EngineTypes.endp = _endpos;
35601 MenhirLib.EngineTypes.next = _menhir_stack;
35602 });
35603 (fun _menhir_env ->
35604 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35605 let {
35606 MenhirLib.EngineTypes.startp = _startpos__4_;
35607 MenhirLib.EngineTypes.endp = _endpos__4_;
35608 MenhirLib.EngineTypes.next = {
35609 MenhirLib.EngineTypes.semv = l;
35610 MenhirLib.EngineTypes.startp = _startpos_l_;
35611 MenhirLib.EngineTypes.endp = _endpos_l_;
35612 MenhirLib.EngineTypes.next = {
35613 MenhirLib.EngineTypes.startp = _startpos__2_;
35614 MenhirLib.EngineTypes.endp = _endpos__2_;
35615 MenhirLib.EngineTypes.next = {
35616 MenhirLib.EngineTypes.state = _menhir_s;
35617 MenhirLib.EngineTypes.startp = _startpos__1_;
35618 MenhirLib.EngineTypes.endp = _endpos__1_;
35619 MenhirLib.EngineTypes.next = _menhir_stack;
35620 };
35621 };
35622 };
35623 } = _menhir_stack in
35624 let l : 'tv_comma_list_meta_ident_ = Obj.magic l in
35625 let _startpos = _startpos__1_ in
35626 let _endpos = _endpos__4_ in
35627 let _v : 'tv_sub =
35628 # 1735 "parser_cocci_menhir.mly"
35629 ( (if !Data.in_iso
35630 then failwith "constraints not allowed in iso file");
35631 (if !Data.in_generating
35632 then failwith "constraints not allowed in a generated rule file");
35633 List.map
35634 (function i ->
35635 P.check_inherited_constraint i
35636 (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)))
35637 l)
35638 # 35639 "parser_cocci_menhir.ml"
35639 in
35640 _menhir_env.MenhirLib.EngineTypes.stack <- {
35641 MenhirLib.EngineTypes.state = _menhir_s;
35642 MenhirLib.EngineTypes.semv = Obj.repr _v;
35643 MenhirLib.EngineTypes.startp = _startpos;
35644 MenhirLib.EngineTypes.endp = _endpos;
35645 MenhirLib.EngineTypes.next = _menhir_stack;
35646 });
35647 (fun _menhir_env ->
35648 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35649 let {
35650 MenhirLib.EngineTypes.state = _menhir_s;
35651 MenhirLib.EngineTypes.semv = _1;
35652 MenhirLib.EngineTypes.startp = _startpos__1_;
35653 MenhirLib.EngineTypes.endp = _endpos__1_;
35654 MenhirLib.EngineTypes.next = _menhir_stack;
35655 } = _menhir_stack in
35656 let _1 : 'tv_eexpr = Obj.magic _1 in
35657 let _startpos = _startpos__1_ in
35658 let _endpos = _endpos__1_ in
35659 let _v : 'tv_top_eexpr =
35660 # 1295 "parser_cocci_menhir.mly"
35661 ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) )
35662 # 35663 "parser_cocci_menhir.ml"
35663 in
35664 _menhir_env.MenhirLib.EngineTypes.stack <- {
35665 MenhirLib.EngineTypes.state = _menhir_s;
35666 MenhirLib.EngineTypes.semv = Obj.repr _v;
35667 MenhirLib.EngineTypes.startp = _startpos;
35668 MenhirLib.EngineTypes.endp = _endpos;
35669 MenhirLib.EngineTypes.next = _menhir_stack;
35670 });
35671 (fun _menhir_env ->
35672 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35673 let {
35674 MenhirLib.EngineTypes.semv = _3;
35675 MenhirLib.EngineTypes.startp = _startpos__3_;
35676 MenhirLib.EngineTypes.endp = _endpos__3_;
35677 MenhirLib.EngineTypes.next = {
35678 MenhirLib.EngineTypes.semv = _2;
35679 MenhirLib.EngineTypes.startp = _startpos__2_;
35680 MenhirLib.EngineTypes.endp = _endpos__2_;
35681 MenhirLib.EngineTypes.next = {
35682 MenhirLib.EngineTypes.state = _menhir_s;
35683 MenhirLib.EngineTypes.semv = _1;
35684 MenhirLib.EngineTypes.startp = _startpos__1_;
35685 MenhirLib.EngineTypes.endp = _endpos__1_;
35686 MenhirLib.EngineTypes.next = _menhir_stack;
35687 };
35688 };
35689 } = _menhir_stack in
35690 let _3 : (
35691 # 105 "parser_cocci_menhir.mly"
35692 (Data.clt)
35693 # 35694 "parser_cocci_menhir.ml"
35694 ) = Obj.magic _3 in
35695 let _2 : 'tv_initialize_list = Obj.magic _2 in
35696 let _1 : (
35697 # 105 "parser_cocci_menhir.mly"
35698 (Data.clt)
35699 # 35700 "parser_cocci_menhir.ml"
35700 ) = Obj.magic _1 in
35701 let _startpos = _startpos__1_ in
35702 let _endpos = _endpos__3_ in
35703 let _v : 'tv_top_init =
35704 # 1961 "parser_cocci_menhir.mly"
35705 ( if P.struct_initializer _2
35706 then
35707 let il = P.drop_dot_commas _2 in
35708 Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
35709 else
35710 Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
35711 # 35712 "parser_cocci_menhir.ml"
35712 in
35713 _menhir_env.MenhirLib.EngineTypes.stack <- {
35714 MenhirLib.EngineTypes.state = _menhir_s;
35715 MenhirLib.EngineTypes.semv = Obj.repr _v;
35716 MenhirLib.EngineTypes.startp = _startpos;
35717 MenhirLib.EngineTypes.endp = _endpos;
35718 MenhirLib.EngineTypes.next = _menhir_stack;
35719 });
35720 (fun _menhir_env ->
35721 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35722 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
35723 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
35724 let _endpos = _startpos in
35725 let _v : 'tv_toplevel_after_dots =
35726 # 1949 "parser_cocci_menhir.mly"
35727 ([])
35728 # 35729 "parser_cocci_menhir.ml"
35729 in
35730 _menhir_env.MenhirLib.EngineTypes.stack <- {
35731 MenhirLib.EngineTypes.state = _menhir_s;
35732 MenhirLib.EngineTypes.semv = Obj.repr _v;
35733 MenhirLib.EngineTypes.startp = _startpos;
35734 MenhirLib.EngineTypes.endp = _endpos;
35735 MenhirLib.EngineTypes.next = _menhir_stack;
35736 });
35737 (fun _menhir_env ->
35738 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35739 let {
35740 MenhirLib.EngineTypes.semv = _2;
35741 MenhirLib.EngineTypes.startp = _startpos__2_;
35742 MenhirLib.EngineTypes.endp = _endpos__2_;
35743 MenhirLib.EngineTypes.next = {
35744 MenhirLib.EngineTypes.state = _menhir_s;
35745 MenhirLib.EngineTypes.startp = _startpos__1_;
35746 MenhirLib.EngineTypes.endp = _endpos__1_;
35747 MenhirLib.EngineTypes.next = _menhir_stack;
35748 };
35749 } = _menhir_stack in
35750 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
35751 let _startpos = _startpos__1_ in
35752 let _endpos = _endpos__2_ in
35753 let _v : 'tv_toplevel_after_dots =
35754 # 1950 "parser_cocci_menhir.mly"
35755 (_2)
35756 # 35757 "parser_cocci_menhir.ml"
35757 in
35758 _menhir_env.MenhirLib.EngineTypes.stack <- {
35759 MenhirLib.EngineTypes.state = _menhir_s;
35760 MenhirLib.EngineTypes.semv = Obj.repr _v;
35761 MenhirLib.EngineTypes.startp = _startpos;
35762 MenhirLib.EngineTypes.endp = _endpos;
35763 MenhirLib.EngineTypes.next = _menhir_stack;
35764 });
35765 (fun _menhir_env ->
35766 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35767 let {
35768 MenhirLib.EngineTypes.semv = _2;
35769 MenhirLib.EngineTypes.startp = _startpos__2_;
35770 MenhirLib.EngineTypes.endp = _endpos__2_;
35771 MenhirLib.EngineTypes.next = {
35772 MenhirLib.EngineTypes.state = _menhir_s;
35773 MenhirLib.EngineTypes.semv = _1;
35774 MenhirLib.EngineTypes.startp = _startpos__1_;
35775 MenhirLib.EngineTypes.endp = _endpos__1_;
35776 MenhirLib.EngineTypes.next = _menhir_stack;
35777 };
35778 } = _menhir_stack in
35779 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
35780 let _1 : 'tv_expr = Obj.magic _1 in
35781 let _startpos = _startpos__1_ in
35782 let _endpos = _endpos__2_ in
35783 let _v : 'tv_toplevel_after_dots =
35784 # 1951 "parser_cocci_menhir.mly"
35785 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
35786 # 35787 "parser_cocci_menhir.ml"
35787 in
35788 _menhir_env.MenhirLib.EngineTypes.stack <- {
35789 MenhirLib.EngineTypes.state = _menhir_s;
35790 MenhirLib.EngineTypes.semv = Obj.repr _v;
35791 MenhirLib.EngineTypes.startp = _startpos;
35792 MenhirLib.EngineTypes.endp = _endpos;
35793 MenhirLib.EngineTypes.next = _menhir_stack;
35794 });
35795 (fun _menhir_env ->
35796 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35797 let {
35798 MenhirLib.EngineTypes.semv = _2;
35799 MenhirLib.EngineTypes.startp = _startpos__2_;
35800 MenhirLib.EngineTypes.endp = _endpos__2_;
35801 MenhirLib.EngineTypes.next = {
35802 MenhirLib.EngineTypes.state = _menhir_s;
35803 MenhirLib.EngineTypes.semv = _1;
35804 MenhirLib.EngineTypes.startp = _startpos__1_;
35805 MenhirLib.EngineTypes.endp = _endpos__1_;
35806 MenhirLib.EngineTypes.next = _menhir_stack;
35807 };
35808 } = _menhir_stack in
35809 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
35810 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
35811 let _startpos = _startpos__1_ in
35812 let _endpos = _endpos__2_ in
35813 let _v : 'tv_toplevel_after_dots =
35814 # 1952 "parser_cocci_menhir.mly"
35815 (_1@_2)
35816 # 35817 "parser_cocci_menhir.ml"
35817 in
35818 _menhir_env.MenhirLib.EngineTypes.stack <- {
35819 MenhirLib.EngineTypes.state = _menhir_s;
35820 MenhirLib.EngineTypes.semv = Obj.repr _v;
35821 MenhirLib.EngineTypes.startp = _startpos;
35822 MenhirLib.EngineTypes.endp = _endpos;
35823 MenhirLib.EngineTypes.next = _menhir_stack;
35824 });
35825 (fun _menhir_env ->
35826 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35827 let {
35828 MenhirLib.EngineTypes.semv = _2;
35829 MenhirLib.EngineTypes.startp = _startpos__2_;
35830 MenhirLib.EngineTypes.endp = _endpos__2_;
35831 MenhirLib.EngineTypes.next = {
35832 MenhirLib.EngineTypes.state = _menhir_s;
35833 MenhirLib.EngineTypes.startp = _startpos__1_;
35834 MenhirLib.EngineTypes.endp = _endpos__1_;
35835 MenhirLib.EngineTypes.next = _menhir_stack;
35836 };
35837 } = _menhir_stack in
35838 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
35839 let _startpos = _startpos__1_ in
35840 let _endpos = _endpos__2_ in
35841 let _v : 'tv_toplevel_after_dots_init =
35842 # 1940 "parser_cocci_menhir.mly"
35843 (_2)
35844 # 35845 "parser_cocci_menhir.ml"
35845 in
35846 _menhir_env.MenhirLib.EngineTypes.stack <- {
35847 MenhirLib.EngineTypes.state = _menhir_s;
35848 MenhirLib.EngineTypes.semv = Obj.repr _v;
35849 MenhirLib.EngineTypes.startp = _startpos;
35850 MenhirLib.EngineTypes.endp = _endpos;
35851 MenhirLib.EngineTypes.next = _menhir_stack;
35852 });
35853 (fun _menhir_env ->
35854 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35855 let {
35856 MenhirLib.EngineTypes.semv = _2;
35857 MenhirLib.EngineTypes.startp = _startpos__2_;
35858 MenhirLib.EngineTypes.endp = _endpos__2_;
35859 MenhirLib.EngineTypes.next = {
35860 MenhirLib.EngineTypes.state = _menhir_s;
35861 MenhirLib.EngineTypes.semv = _1;
35862 MenhirLib.EngineTypes.startp = _startpos__1_;
35863 MenhirLib.EngineTypes.endp = _endpos__1_;
35864 MenhirLib.EngineTypes.next = _menhir_stack;
35865 };
35866 } = _menhir_stack in
35867 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
35868 let _1 : 'tv_expr = Obj.magic _1 in
35869 let _startpos = _startpos__1_ in
35870 let _endpos = _endpos__2_ in
35871 let _v : 'tv_toplevel_after_dots_init =
35872 # 1941 "parser_cocci_menhir.mly"
35873 ((Ast0.wrap(Ast0.Exp(_1)))::_2)
35874 # 35875 "parser_cocci_menhir.ml"
35875 in
35876 _menhir_env.MenhirLib.EngineTypes.stack <- {
35877 MenhirLib.EngineTypes.state = _menhir_s;
35878 MenhirLib.EngineTypes.semv = Obj.repr _v;
35879 MenhirLib.EngineTypes.startp = _startpos;
35880 MenhirLib.EngineTypes.endp = _endpos;
35881 MenhirLib.EngineTypes.next = _menhir_stack;
35882 });
35883 (fun _menhir_env ->
35884 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35885 let {
35886 MenhirLib.EngineTypes.semv = _2;
35887 MenhirLib.EngineTypes.startp = _startpos__2_;
35888 MenhirLib.EngineTypes.endp = _endpos__2_;
35889 MenhirLib.EngineTypes.next = {
35890 MenhirLib.EngineTypes.state = _menhir_s;
35891 MenhirLib.EngineTypes.semv = _1;
35892 MenhirLib.EngineTypes.startp = _startpos__1_;
35893 MenhirLib.EngineTypes.endp = _endpos__1_;
35894 MenhirLib.EngineTypes.next = _menhir_stack;
35895 };
35896 } = _menhir_stack in
35897 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
35898 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
35899 let _startpos = _startpos__1_ in
35900 let _endpos = _endpos__2_ in
35901 let _v : 'tv_toplevel_after_dots_init =
35902 # 1942 "parser_cocci_menhir.mly"
35903 (_1@_2)
35904 # 35905 "parser_cocci_menhir.ml"
35905 in
35906 _menhir_env.MenhirLib.EngineTypes.stack <- {
35907 MenhirLib.EngineTypes.state = _menhir_s;
35908 MenhirLib.EngineTypes.semv = Obj.repr _v;
35909 MenhirLib.EngineTypes.startp = _startpos;
35910 MenhirLib.EngineTypes.endp = _endpos;
35911 MenhirLib.EngineTypes.next = _menhir_stack;
35912 });
35913 (fun _menhir_env ->
35914 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35915 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
35916 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
35917 let _endpos = _startpos in
35918 let _v : 'tv_toplevel_after_exp =
35919 # 1945 "parser_cocci_menhir.mly"
35920 ([])
35921 # 35922 "parser_cocci_menhir.ml"
35922 in
35923 _menhir_env.MenhirLib.EngineTypes.stack <- {
35924 MenhirLib.EngineTypes.state = _menhir_s;
35925 MenhirLib.EngineTypes.semv = Obj.repr _v;
35926 MenhirLib.EngineTypes.startp = _startpos;
35927 MenhirLib.EngineTypes.endp = _endpos;
35928 MenhirLib.EngineTypes.next = _menhir_stack;
35929 });
35930 (fun _menhir_env ->
35931 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35932 let {
35933 MenhirLib.EngineTypes.semv = _2;
35934 MenhirLib.EngineTypes.startp = _startpos__2_;
35935 MenhirLib.EngineTypes.endp = _endpos__2_;
35936 MenhirLib.EngineTypes.next = {
35937 MenhirLib.EngineTypes.state = _menhir_s;
35938 MenhirLib.EngineTypes.semv = _1;
35939 MenhirLib.EngineTypes.startp = _startpos__1_;
35940 MenhirLib.EngineTypes.endp = _endpos__1_;
35941 MenhirLib.EngineTypes.next = _menhir_stack;
35942 };
35943 } = _menhir_stack in
35944 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
35945 let _1 : 'tv_stm_dots = Obj.magic _1 in
35946 let _startpos = _startpos__1_ in
35947 let _endpos = _endpos__2_ in
35948 let _v : 'tv_toplevel_after_exp =
35949 # 1946 "parser_cocci_menhir.mly"
35950 (_1::_2)
35951 # 35952 "parser_cocci_menhir.ml"
35952 in
35953 _menhir_env.MenhirLib.EngineTypes.stack <- {
35954 MenhirLib.EngineTypes.state = _menhir_s;
35955 MenhirLib.EngineTypes.semv = Obj.repr _v;
35956 MenhirLib.EngineTypes.startp = _startpos;
35957 MenhirLib.EngineTypes.endp = _endpos;
35958 MenhirLib.EngineTypes.next = _menhir_stack;
35959 });
35960 (fun _menhir_env ->
35961 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35962 let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
35963 let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
35964 let _endpos = _startpos in
35965 let _v : 'tv_toplevel_after_stm =
35966 # 1955 "parser_cocci_menhir.mly"
35967 ([])
35968 # 35969 "parser_cocci_menhir.ml"
35969 in
35970 _menhir_env.MenhirLib.EngineTypes.stack <- {
35971 MenhirLib.EngineTypes.state = _menhir_s;
35972 MenhirLib.EngineTypes.semv = Obj.repr _v;
35973 MenhirLib.EngineTypes.startp = _startpos;
35974 MenhirLib.EngineTypes.endp = _endpos;
35975 MenhirLib.EngineTypes.next = _menhir_stack;
35976 });
35977 (fun _menhir_env ->
35978 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
35979 let {
35980 MenhirLib.EngineTypes.semv = _2;
35981 MenhirLib.EngineTypes.startp = _startpos__2_;
35982 MenhirLib.EngineTypes.endp = _endpos__2_;
35983 MenhirLib.EngineTypes.next = {
35984 MenhirLib.EngineTypes.state = _menhir_s;
35985 MenhirLib.EngineTypes.semv = _1;
35986 MenhirLib.EngineTypes.startp = _startpos__1_;
35987 MenhirLib.EngineTypes.endp = _endpos__1_;
35988 MenhirLib.EngineTypes.next = _menhir_stack;
35989 };
35990 } = _menhir_stack in
35991 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
35992 let _1 : 'tv_stm_dots = Obj.magic _1 in
35993 let _startpos = _startpos__1_ in
35994 let _endpos = _endpos__2_ in
35995 let _v : 'tv_toplevel_after_stm =
35996 # 1956 "parser_cocci_menhir.mly"
35997 (_1::_2)
35998 # 35999 "parser_cocci_menhir.ml"
35999 in
36000 _menhir_env.MenhirLib.EngineTypes.stack <- {
36001 MenhirLib.EngineTypes.state = _menhir_s;
36002 MenhirLib.EngineTypes.semv = Obj.repr _v;
36003 MenhirLib.EngineTypes.startp = _startpos;
36004 MenhirLib.EngineTypes.endp = _endpos;
36005 MenhirLib.EngineTypes.next = _menhir_stack;
36006 });
36007 (fun _menhir_env ->
36008 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36009 let {
36010 MenhirLib.EngineTypes.semv = _2;
36011 MenhirLib.EngineTypes.startp = _startpos__2_;
36012 MenhirLib.EngineTypes.endp = _endpos__2_;
36013 MenhirLib.EngineTypes.next = {
36014 MenhirLib.EngineTypes.state = _menhir_s;
36015 MenhirLib.EngineTypes.semv = _1;
36016 MenhirLib.EngineTypes.startp = _startpos__1_;
36017 MenhirLib.EngineTypes.endp = _endpos__1_;
36018 MenhirLib.EngineTypes.next = _menhir_stack;
36019 };
36020 } = _menhir_stack in
36021 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
36022 let _1 : 'tv_decl_statement = Obj.magic _1 in
36023 let _startpos = _startpos__1_ in
36024 let _endpos = _endpos__2_ in
36025 let _v : 'tv_toplevel_after_stm =
36026 # 1957 "parser_cocci_menhir.mly"
36027 (_1@_2)
36028 # 36029 "parser_cocci_menhir.ml"
36029 in
36030 _menhir_env.MenhirLib.EngineTypes.stack <- {
36031 MenhirLib.EngineTypes.state = _menhir_s;
36032 MenhirLib.EngineTypes.semv = Obj.repr _v;
36033 MenhirLib.EngineTypes.startp = _startpos;
36034 MenhirLib.EngineTypes.endp = _endpos;
36035 MenhirLib.EngineTypes.next = _menhir_stack;
36036 });
36037 (fun _menhir_env ->
36038 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36039 let {
36040 MenhirLib.EngineTypes.semv = _2;
36041 MenhirLib.EngineTypes.startp = _startpos__2_;
36042 MenhirLib.EngineTypes.endp = _endpos__2_;
36043 MenhirLib.EngineTypes.next = {
36044 MenhirLib.EngineTypes.state = _menhir_s;
36045 MenhirLib.EngineTypes.semv = _1;
36046 MenhirLib.EngineTypes.startp = _startpos__1_;
36047 MenhirLib.EngineTypes.endp = _endpos__1_;
36048 MenhirLib.EngineTypes.next = _menhir_stack;
36049 };
36050 } = _menhir_stack in
36051 let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
36052 let _1 : 'tv_stm_dots = Obj.magic _1 in
36053 let _startpos = _startpos__1_ in
36054 let _endpos = _endpos__2_ in
36055 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
36056 # 1935 "parser_cocci_menhir.mly"
36057 ( _1::_2 )
36058 # 36059 "parser_cocci_menhir.ml"
36059 in
36060 _menhir_env.MenhirLib.EngineTypes.stack <- {
36061 MenhirLib.EngineTypes.state = _menhir_s;
36062 MenhirLib.EngineTypes.semv = Obj.repr _v;
36063 MenhirLib.EngineTypes.startp = _startpos;
36064 MenhirLib.EngineTypes.endp = _endpos;
36065 MenhirLib.EngineTypes.next = _menhir_stack;
36066 });
36067 (fun _menhir_env ->
36068 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36069 let {
36070 MenhirLib.EngineTypes.semv = _2;
36071 MenhirLib.EngineTypes.startp = _startpos__2_;
36072 MenhirLib.EngineTypes.endp = _endpos__2_;
36073 MenhirLib.EngineTypes.next = {
36074 MenhirLib.EngineTypes.state = _menhir_s;
36075 MenhirLib.EngineTypes.semv = _1;
36076 MenhirLib.EngineTypes.startp = _startpos__1_;
36077 MenhirLib.EngineTypes.endp = _endpos__1_;
36078 MenhirLib.EngineTypes.next = _menhir_stack;
36079 };
36080 } = _menhir_stack in
36081 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
36082 let _1 : 'tv_expr = Obj.magic _1 in
36083 let _startpos = _startpos__1_ in
36084 let _endpos = _endpos__2_ in
36085 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
36086 # 1936 "parser_cocci_menhir.mly"
36087 ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
36088 # 36089 "parser_cocci_menhir.ml"
36089 in
36090 _menhir_env.MenhirLib.EngineTypes.stack <- {
36091 MenhirLib.EngineTypes.state = _menhir_s;
36092 MenhirLib.EngineTypes.semv = Obj.repr _v;
36093 MenhirLib.EngineTypes.startp = _startpos;
36094 MenhirLib.EngineTypes.endp = _endpos;
36095 MenhirLib.EngineTypes.next = _menhir_stack;
36096 });
36097 (fun _menhir_env ->
36098 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36099 let {
36100 MenhirLib.EngineTypes.semv = _2;
36101 MenhirLib.EngineTypes.startp = _startpos__2_;
36102 MenhirLib.EngineTypes.endp = _endpos__2_;
36103 MenhirLib.EngineTypes.next = {
36104 MenhirLib.EngineTypes.state = _menhir_s;
36105 MenhirLib.EngineTypes.semv = _1;
36106 MenhirLib.EngineTypes.startp = _startpos__1_;
36107 MenhirLib.EngineTypes.endp = _endpos__1_;
36108 MenhirLib.EngineTypes.next = _menhir_stack;
36109 };
36110 } = _menhir_stack in
36111 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
36112 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
36113 let _startpos = _startpos__1_ in
36114 let _endpos = _endpos__2_ in
36115 let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
36116 # 1937 "parser_cocci_menhir.mly"
36117 ( _1@_2 )
36118 # 36119 "parser_cocci_menhir.ml"
36119 in
36120 _menhir_env.MenhirLib.EngineTypes.stack <- {
36121 MenhirLib.EngineTypes.state = _menhir_s;
36122 MenhirLib.EngineTypes.semv = Obj.repr _v;
36123 MenhirLib.EngineTypes.startp = _startpos;
36124 MenhirLib.EngineTypes.endp = _endpos;
36125 MenhirLib.EngineTypes.next = _menhir_stack;
36126 });
36127 (fun _menhir_env ->
36128 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36129 let {
36130 MenhirLib.EngineTypes.semv = b;
36131 MenhirLib.EngineTypes.startp = _startpos_b_;
36132 MenhirLib.EngineTypes.endp = _endpos_b_;
36133 MenhirLib.EngineTypes.next = {
36134 MenhirLib.EngineTypes.semv = w0;
36135 MenhirLib.EngineTypes.startp = _startpos_w0_;
36136 MenhirLib.EngineTypes.endp = _endpos_w0_;
36137 MenhirLib.EngineTypes.next = {
36138 MenhirLib.EngineTypes.state = _menhir_s;
36139 MenhirLib.EngineTypes.semv = a0;
36140 MenhirLib.EngineTypes.startp = _startpos_a0_;
36141 MenhirLib.EngineTypes.endp = _endpos_a0_;
36142 MenhirLib.EngineTypes.next = _menhir_stack;
36143 };
36144 };
36145 } = _menhir_stack in
36146 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
36147 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
36148 let a0 : (
36149 # 77 "parser_cocci_menhir.mly"
36150 (Data.clt)
36151 # 36152 "parser_cocci_menhir.ml"
36152 ) = Obj.magic a0 in
36153 let _startpos = _startpos_a0_ in
36154 let _endpos = _endpos_b_ in
36155 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
36156 let w = w0 in
36157 let a = a0 in
36158
36159 # 992 "parser_cocci_menhir.mly"
36160 ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) )
36161 # 36162 "parser_cocci_menhir.ml"
36162
36163 in
36164
36165 # 1928 "parser_cocci_menhir.mly"
36166 ( a::b )
36167 # 36168 "parser_cocci_menhir.ml"
36168 in
36169 _menhir_env.MenhirLib.EngineTypes.stack <- {
36170 MenhirLib.EngineTypes.state = _menhir_s;
36171 MenhirLib.EngineTypes.semv = Obj.repr _v;
36172 MenhirLib.EngineTypes.startp = _startpos;
36173 MenhirLib.EngineTypes.endp = _endpos;
36174 MenhirLib.EngineTypes.next = _menhir_stack;
36175 });
36176 (fun _menhir_env ->
36177 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36178 let {
36179 MenhirLib.EngineTypes.semv = b;
36180 MenhirLib.EngineTypes.startp = _startpos_b_;
36181 MenhirLib.EngineTypes.endp = _endpos_b_;
36182 MenhirLib.EngineTypes.next = {
36183 MenhirLib.EngineTypes.semv = c0;
36184 MenhirLib.EngineTypes.startp = _startpos_c0_;
36185 MenhirLib.EngineTypes.endp = _endpos_c0_;
36186 MenhirLib.EngineTypes.next = {
36187 MenhirLib.EngineTypes.semv = b0;
36188 MenhirLib.EngineTypes.startp = _startpos_b0_;
36189 MenhirLib.EngineTypes.endp = _endpos_b0_;
36190 MenhirLib.EngineTypes.next = {
36191 MenhirLib.EngineTypes.semv = w0;
36192 MenhirLib.EngineTypes.startp = _startpos_w0_;
36193 MenhirLib.EngineTypes.endp = _endpos_w0_;
36194 MenhirLib.EngineTypes.next = {
36195 MenhirLib.EngineTypes.state = _menhir_s;
36196 MenhirLib.EngineTypes.semv = a0;
36197 MenhirLib.EngineTypes.startp = _startpos_a0_;
36198 MenhirLib.EngineTypes.endp = _endpos_a0_;
36199 MenhirLib.EngineTypes.next = _menhir_stack;
36200 };
36201 };
36202 };
36203 };
36204 } = _menhir_stack in
36205 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
36206 let c0 : (
36207 # 77 "parser_cocci_menhir.mly"
36208 (Data.clt)
36209 # 36210 "parser_cocci_menhir.ml"
36210 ) = Obj.magic c0 in
36211 let b0 : 'tv_nest_start = Obj.magic b0 in
36212 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
36213 let a0 : (
36214 # 77 "parser_cocci_menhir.mly"
36215 (Data.clt)
36216 # 36217 "parser_cocci_menhir.ml"
36217 ) = Obj.magic a0 in
36218 let _startpos = _startpos_a0_ in
36219 let _endpos = _endpos_b_ in
36220 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
36221 let c = c0 in
36222 let b = b0 in
36223 let w = w0 in
36224 let a = a0 in
36225
36226 # 996 "parser_cocci_menhir.mly"
36227 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
36228 P.clt2mcode "...>" c, List.concat w, false)) )
36229 # 36230 "parser_cocci_menhir.ml"
36230
36231 in
36232
36233 # 1929 "parser_cocci_menhir.mly"
36234 ( a::b )
36235 # 36236 "parser_cocci_menhir.ml"
36236 in
36237 _menhir_env.MenhirLib.EngineTypes.stack <- {
36238 MenhirLib.EngineTypes.state = _menhir_s;
36239 MenhirLib.EngineTypes.semv = Obj.repr _v;
36240 MenhirLib.EngineTypes.startp = _startpos;
36241 MenhirLib.EngineTypes.endp = _endpos;
36242 MenhirLib.EngineTypes.next = _menhir_stack;
36243 });
36244 (fun _menhir_env ->
36245 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36246 let {
36247 MenhirLib.EngineTypes.semv = b;
36248 MenhirLib.EngineTypes.startp = _startpos_b_;
36249 MenhirLib.EngineTypes.endp = _endpos_b_;
36250 MenhirLib.EngineTypes.next = {
36251 MenhirLib.EngineTypes.semv = c0;
36252 MenhirLib.EngineTypes.startp = _startpos_c0_;
36253 MenhirLib.EngineTypes.endp = _endpos_c0_;
36254 MenhirLib.EngineTypes.next = {
36255 MenhirLib.EngineTypes.semv = b0;
36256 MenhirLib.EngineTypes.startp = _startpos_b0_;
36257 MenhirLib.EngineTypes.endp = _endpos_b0_;
36258 MenhirLib.EngineTypes.next = {
36259 MenhirLib.EngineTypes.semv = w0;
36260 MenhirLib.EngineTypes.startp = _startpos_w0_;
36261 MenhirLib.EngineTypes.endp = _endpos_w0_;
36262 MenhirLib.EngineTypes.next = {
36263 MenhirLib.EngineTypes.state = _menhir_s;
36264 MenhirLib.EngineTypes.semv = a0;
36265 MenhirLib.EngineTypes.startp = _startpos_a0_;
36266 MenhirLib.EngineTypes.endp = _endpos_a0_;
36267 MenhirLib.EngineTypes.next = _menhir_stack;
36268 };
36269 };
36270 };
36271 };
36272 } = _menhir_stack in
36273 let b : 'tv_toplevel_after_dots_init = Obj.magic b in
36274 let c0 : (
36275 # 77 "parser_cocci_menhir.mly"
36276 (Data.clt)
36277 # 36278 "parser_cocci_menhir.ml"
36278 ) = Obj.magic c0 in
36279 let b0 : 'tv_nest_start = Obj.magic b0 in
36280 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
36281 let a0 : (
36282 # 77 "parser_cocci_menhir.mly"
36283 (Data.clt)
36284 # 36285 "parser_cocci_menhir.ml"
36285 ) = Obj.magic a0 in
36286 let _startpos = _startpos_a0_ in
36287 let _endpos = _endpos_b_ in
36288 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
36289 let c = c0 in
36290 let b = b0 in
36291 let w = w0 in
36292 let a = a0 in
36293
36294 # 999 "parser_cocci_menhir.mly"
36295 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
36296 P.clt2mcode "...+>" c, List.concat w, true)) )
36297 # 36298 "parser_cocci_menhir.ml"
36298
36299 in
36300
36301 # 1929 "parser_cocci_menhir.mly"
36302 ( a::b )
36303 # 36304 "parser_cocci_menhir.ml"
36304 in
36305 _menhir_env.MenhirLib.EngineTypes.stack <- {
36306 MenhirLib.EngineTypes.state = _menhir_s;
36307 MenhirLib.EngineTypes.semv = Obj.repr _v;
36308 MenhirLib.EngineTypes.startp = _startpos;
36309 MenhirLib.EngineTypes.endp = _endpos;
36310 MenhirLib.EngineTypes.next = _menhir_stack;
36311 });
36312 (fun _menhir_env ->
36313 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36314 let {
36315 MenhirLib.EngineTypes.semv = c0;
36316 MenhirLib.EngineTypes.startp = _startpos_c0_;
36317 MenhirLib.EngineTypes.endp = _endpos_c0_;
36318 MenhirLib.EngineTypes.next = {
36319 MenhirLib.EngineTypes.semv = b0;
36320 MenhirLib.EngineTypes.startp = _startpos_b0_;
36321 MenhirLib.EngineTypes.endp = _endpos_b0_;
36322 MenhirLib.EngineTypes.next = {
36323 MenhirLib.EngineTypes.semv = w0;
36324 MenhirLib.EngineTypes.startp = _startpos_w0_;
36325 MenhirLib.EngineTypes.endp = _endpos_w0_;
36326 MenhirLib.EngineTypes.next = {
36327 MenhirLib.EngineTypes.state = _menhir_s;
36328 MenhirLib.EngineTypes.semv = a0;
36329 MenhirLib.EngineTypes.startp = _startpos_a0_;
36330 MenhirLib.EngineTypes.endp = _endpos_a0_;
36331 MenhirLib.EngineTypes.next = _menhir_stack;
36332 };
36333 };
36334 };
36335 } = _menhir_stack in
36336 let c0 : (
36337 # 77 "parser_cocci_menhir.mly"
36338 (Data.clt)
36339 # 36340 "parser_cocci_menhir.ml"
36340 ) = Obj.magic c0 in
36341 let b0 : 'tv_nest_start = Obj.magic b0 in
36342 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
36343 let a0 : (
36344 # 77 "parser_cocci_menhir.mly"
36345 (Data.clt)
36346 # 36347 "parser_cocci_menhir.ml"
36347 ) = Obj.magic a0 in
36348 let _startpos = _startpos_a0_ in
36349 let _endpos = _endpos_c0_ in
36350 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
36351 let c = c0 in
36352 let b = b0 in
36353 let w = w0 in
36354 let a = a0 in
36355
36356 # 996 "parser_cocci_menhir.mly"
36357 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
36358 P.clt2mcode "...>" c, List.concat w, false)) )
36359 # 36360 "parser_cocci_menhir.ml"
36360
36361 in
36362
36363 # 1930 "parser_cocci_menhir.mly"
36364 ( [a] )
36365 # 36366 "parser_cocci_menhir.ml"
36366 in
36367 _menhir_env.MenhirLib.EngineTypes.stack <- {
36368 MenhirLib.EngineTypes.state = _menhir_s;
36369 MenhirLib.EngineTypes.semv = Obj.repr _v;
36370 MenhirLib.EngineTypes.startp = _startpos;
36371 MenhirLib.EngineTypes.endp = _endpos;
36372 MenhirLib.EngineTypes.next = _menhir_stack;
36373 });
36374 (fun _menhir_env ->
36375 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36376 let {
36377 MenhirLib.EngineTypes.semv = c0;
36378 MenhirLib.EngineTypes.startp = _startpos_c0_;
36379 MenhirLib.EngineTypes.endp = _endpos_c0_;
36380 MenhirLib.EngineTypes.next = {
36381 MenhirLib.EngineTypes.semv = b0;
36382 MenhirLib.EngineTypes.startp = _startpos_b0_;
36383 MenhirLib.EngineTypes.endp = _endpos_b0_;
36384 MenhirLib.EngineTypes.next = {
36385 MenhirLib.EngineTypes.semv = w0;
36386 MenhirLib.EngineTypes.startp = _startpos_w0_;
36387 MenhirLib.EngineTypes.endp = _endpos_w0_;
36388 MenhirLib.EngineTypes.next = {
36389 MenhirLib.EngineTypes.state = _menhir_s;
36390 MenhirLib.EngineTypes.semv = a0;
36391 MenhirLib.EngineTypes.startp = _startpos_a0_;
36392 MenhirLib.EngineTypes.endp = _endpos_a0_;
36393 MenhirLib.EngineTypes.next = _menhir_stack;
36394 };
36395 };
36396 };
36397 } = _menhir_stack in
36398 let c0 : (
36399 # 77 "parser_cocci_menhir.mly"
36400 (Data.clt)
36401 # 36402 "parser_cocci_menhir.ml"
36402 ) = Obj.magic c0 in
36403 let b0 : 'tv_nest_start = Obj.magic b0 in
36404 let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
36405 let a0 : (
36406 # 77 "parser_cocci_menhir.mly"
36407 (Data.clt)
36408 # 36409 "parser_cocci_menhir.ml"
36409 ) = Obj.magic a0 in
36410 let _startpos = _startpos_a0_ in
36411 let _endpos = _endpos_c0_ in
36412 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
36413 let c = c0 in
36414 let b = b0 in
36415 let w = w0 in
36416 let a = a0 in
36417
36418 # 999 "parser_cocci_menhir.mly"
36419 ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
36420 P.clt2mcode "...+>" c, List.concat w, true)) )
36421 # 36422 "parser_cocci_menhir.ml"
36422
36423 in
36424
36425 # 1930 "parser_cocci_menhir.mly"
36426 ( [a] )
36427 # 36428 "parser_cocci_menhir.ml"
36428 in
36429 _menhir_env.MenhirLib.EngineTypes.stack <- {
36430 MenhirLib.EngineTypes.state = _menhir_s;
36431 MenhirLib.EngineTypes.semv = Obj.repr _v;
36432 MenhirLib.EngineTypes.startp = _startpos;
36433 MenhirLib.EngineTypes.endp = _endpos;
36434 MenhirLib.EngineTypes.next = _menhir_stack;
36435 });
36436 (fun _menhir_env ->
36437 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36438 let {
36439 MenhirLib.EngineTypes.semv = _2;
36440 MenhirLib.EngineTypes.startp = _startpos__2_;
36441 MenhirLib.EngineTypes.endp = _endpos__2_;
36442 MenhirLib.EngineTypes.next = {
36443 MenhirLib.EngineTypes.state = _menhir_s;
36444 MenhirLib.EngineTypes.semv = _1;
36445 MenhirLib.EngineTypes.startp = _startpos__1_;
36446 MenhirLib.EngineTypes.endp = _endpos__1_;
36447 MenhirLib.EngineTypes.next = _menhir_stack;
36448 };
36449 } = _menhir_stack in
36450 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
36451 let _1 : 'tv_expr = Obj.magic _1 in
36452 let _startpos = _startpos__1_ in
36453 let _endpos = _endpos__2_ in
36454 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
36455 # 1931 "parser_cocci_menhir.mly"
36456 ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
36457 # 36458 "parser_cocci_menhir.ml"
36458 in
36459 _menhir_env.MenhirLib.EngineTypes.stack <- {
36460 MenhirLib.EngineTypes.state = _menhir_s;
36461 MenhirLib.EngineTypes.semv = Obj.repr _v;
36462 MenhirLib.EngineTypes.startp = _startpos;
36463 MenhirLib.EngineTypes.endp = _endpos;
36464 MenhirLib.EngineTypes.next = _menhir_stack;
36465 });
36466 (fun _menhir_env ->
36467 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36468 let {
36469 MenhirLib.EngineTypes.semv = _2;
36470 MenhirLib.EngineTypes.startp = _startpos__2_;
36471 MenhirLib.EngineTypes.endp = _endpos__2_;
36472 MenhirLib.EngineTypes.next = {
36473 MenhirLib.EngineTypes.state = _menhir_s;
36474 MenhirLib.EngineTypes.semv = _1;
36475 MenhirLib.EngineTypes.startp = _startpos__1_;
36476 MenhirLib.EngineTypes.endp = _endpos__1_;
36477 MenhirLib.EngineTypes.next = _menhir_stack;
36478 };
36479 } = _menhir_stack in
36480 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
36481 let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
36482 let _startpos = _startpos__1_ in
36483 let _endpos = _endpos__2_ in
36484 let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
36485 # 1932 "parser_cocci_menhir.mly"
36486 ( _1@_2 )
36487 # 36488 "parser_cocci_menhir.ml"
36488 in
36489 _menhir_env.MenhirLib.EngineTypes.stack <- {
36490 MenhirLib.EngineTypes.state = _menhir_s;
36491 MenhirLib.EngineTypes.semv = Obj.repr _v;
36492 MenhirLib.EngineTypes.startp = _startpos;
36493 MenhirLib.EngineTypes.endp = _endpos;
36494 MenhirLib.EngineTypes.next = _menhir_stack;
36495 });
36496 (fun _menhir_env ->
36497 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36498 let {
36499 MenhirLib.EngineTypes.semv = m;
36500 MenhirLib.EngineTypes.startp = _startpos_m_;
36501 MenhirLib.EngineTypes.endp = _endpos_m_;
36502 MenhirLib.EngineTypes.next = {
36503 MenhirLib.EngineTypes.semv = ty00;
36504 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36505 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36506 MenhirLib.EngineTypes.next = {
36507 MenhirLib.EngineTypes.state = _menhir_s;
36508 MenhirLib.EngineTypes.semv = r0;
36509 MenhirLib.EngineTypes.startp = _startpos_r0_;
36510 MenhirLib.EngineTypes.endp = _endpos_r0_;
36511 MenhirLib.EngineTypes.next = _menhir_stack;
36512 };
36513 };
36514 } = _menhir_stack in
36515 let m : 'tv_list_TMul_ = Obj.magic m in
36516 let ty00 : (
36517 # 51 "parser_cocci_menhir.mly"
36518 (Data.clt)
36519 # 36520 "parser_cocci_menhir.ml"
36520 ) = Obj.magic ty00 in
36521 let r0 : (
36522 # 54 "parser_cocci_menhir.mly"
36523 (Data.clt)
36524 # 36525 "parser_cocci_menhir.ml"
36525 ) = Obj.magic r0 in
36526 let _startpos = _startpos_r0_ in
36527 let _endpos = _endpos_m_ in
36528 let _v : 'tv_typedef_ctype = let ty =
36529 let ty0 = ty00 in
36530 let r = r0 in
36531 let ty =
36532 let ty = ty0 in
36533
36534 # 536 "parser_cocci_menhir.mly"
36535 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
36536 # 36537 "parser_cocci_menhir.ml"
36537
36538 in
36539
36540 # 599 "parser_cocci_menhir.mly"
36541 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
36542 # 36543 "parser_cocci_menhir.ml"
36543
36544 in
36545 let cv =
36546
36547 # 39 "standard.mly"
36548 ( None )
36549 # 36550 "parser_cocci_menhir.ml"
36550
36551 in
36552
36553 # 620 "parser_cocci_menhir.mly"
36554 ( P.pointerify (P.make_cv cv ty) m )
36555 # 36556 "parser_cocci_menhir.ml"
36556 in
36557 _menhir_env.MenhirLib.EngineTypes.stack <- {
36558 MenhirLib.EngineTypes.state = _menhir_s;
36559 MenhirLib.EngineTypes.semv = Obj.repr _v;
36560 MenhirLib.EngineTypes.startp = _startpos;
36561 MenhirLib.EngineTypes.endp = _endpos;
36562 MenhirLib.EngineTypes.next = _menhir_stack;
36563 });
36564 (fun _menhir_env ->
36565 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36566 let {
36567 MenhirLib.EngineTypes.semv = m;
36568 MenhirLib.EngineTypes.startp = _startpos_m_;
36569 MenhirLib.EngineTypes.endp = _endpos_m_;
36570 MenhirLib.EngineTypes.next = {
36571 MenhirLib.EngineTypes.semv = ty00;
36572 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36573 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36574 MenhirLib.EngineTypes.next = {
36575 MenhirLib.EngineTypes.state = _menhir_s;
36576 MenhirLib.EngineTypes.semv = r0;
36577 MenhirLib.EngineTypes.startp = _startpos_r0_;
36578 MenhirLib.EngineTypes.endp = _endpos_r0_;
36579 MenhirLib.EngineTypes.next = _menhir_stack;
36580 };
36581 };
36582 } = _menhir_stack in
36583 let m : 'tv_list_TMul_ = Obj.magic m in
36584 let ty00 : (
36585 # 51 "parser_cocci_menhir.mly"
36586 (Data.clt)
36587 # 36588 "parser_cocci_menhir.ml"
36588 ) = Obj.magic ty00 in
36589 let r0 : (
36590 # 54 "parser_cocci_menhir.mly"
36591 (Data.clt)
36592 # 36593 "parser_cocci_menhir.ml"
36593 ) = Obj.magic r0 in
36594 let _startpos = _startpos_r0_ in
36595 let _endpos = _endpos_m_ in
36596 let _v : 'tv_typedef_ctype = let ty =
36597 let ty0 = ty00 in
36598 let r = r0 in
36599 let ty =
36600 let ty = ty0 in
36601
36602 # 538 "parser_cocci_menhir.mly"
36603 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
36604 # 36605 "parser_cocci_menhir.ml"
36605
36606 in
36607
36608 # 599 "parser_cocci_menhir.mly"
36609 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
36610 # 36611 "parser_cocci_menhir.ml"
36611
36612 in
36613 let cv =
36614
36615 # 39 "standard.mly"
36616 ( None )
36617 # 36618 "parser_cocci_menhir.ml"
36618
36619 in
36620
36621 # 620 "parser_cocci_menhir.mly"
36622 ( P.pointerify (P.make_cv cv ty) m )
36623 # 36624 "parser_cocci_menhir.ml"
36624 in
36625 _menhir_env.MenhirLib.EngineTypes.stack <- {
36626 MenhirLib.EngineTypes.state = _menhir_s;
36627 MenhirLib.EngineTypes.semv = Obj.repr _v;
36628 MenhirLib.EngineTypes.startp = _startpos;
36629 MenhirLib.EngineTypes.endp = _endpos;
36630 MenhirLib.EngineTypes.next = _menhir_stack;
36631 });
36632 (fun _menhir_env ->
36633 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36634 let {
36635 MenhirLib.EngineTypes.semv = m;
36636 MenhirLib.EngineTypes.startp = _startpos_m_;
36637 MenhirLib.EngineTypes.endp = _endpos_m_;
36638 MenhirLib.EngineTypes.next = {
36639 MenhirLib.EngineTypes.semv = ty00;
36640 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36641 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36642 MenhirLib.EngineTypes.next = {
36643 MenhirLib.EngineTypes.state = _menhir_s;
36644 MenhirLib.EngineTypes.semv = r0;
36645 MenhirLib.EngineTypes.startp = _startpos_r0_;
36646 MenhirLib.EngineTypes.endp = _endpos_r0_;
36647 MenhirLib.EngineTypes.next = _menhir_stack;
36648 };
36649 };
36650 } = _menhir_stack in
36651 let m : 'tv_list_TMul_ = Obj.magic m in
36652 let ty00 : (
36653 # 51 "parser_cocci_menhir.mly"
36654 (Data.clt)
36655 # 36656 "parser_cocci_menhir.ml"
36656 ) = Obj.magic ty00 in
36657 let r0 : (
36658 # 54 "parser_cocci_menhir.mly"
36659 (Data.clt)
36660 # 36661 "parser_cocci_menhir.ml"
36661 ) = Obj.magic r0 in
36662 let _startpos = _startpos_r0_ in
36663 let _endpos = _endpos_m_ in
36664 let _v : 'tv_typedef_ctype = let ty =
36665 let ty0 = ty00 in
36666 let r = r0 in
36667 let ty =
36668 let ty = ty0 in
36669
36670 # 540 "parser_cocci_menhir.mly"
36671 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
36672 # 36673 "parser_cocci_menhir.ml"
36673
36674 in
36675
36676 # 599 "parser_cocci_menhir.mly"
36677 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
36678 # 36679 "parser_cocci_menhir.ml"
36679
36680 in
36681 let cv =
36682
36683 # 39 "standard.mly"
36684 ( None )
36685 # 36686 "parser_cocci_menhir.ml"
36686
36687 in
36688
36689 # 620 "parser_cocci_menhir.mly"
36690 ( P.pointerify (P.make_cv cv ty) m )
36691 # 36692 "parser_cocci_menhir.ml"
36692 in
36693 _menhir_env.MenhirLib.EngineTypes.stack <- {
36694 MenhirLib.EngineTypes.state = _menhir_s;
36695 MenhirLib.EngineTypes.semv = Obj.repr _v;
36696 MenhirLib.EngineTypes.startp = _startpos;
36697 MenhirLib.EngineTypes.endp = _endpos;
36698 MenhirLib.EngineTypes.next = _menhir_stack;
36699 });
36700 (fun _menhir_env ->
36701 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36702 let {
36703 MenhirLib.EngineTypes.semv = m;
36704 MenhirLib.EngineTypes.startp = _startpos_m_;
36705 MenhirLib.EngineTypes.endp = _endpos_m_;
36706 MenhirLib.EngineTypes.next = {
36707 MenhirLib.EngineTypes.semv = p00;
36708 MenhirLib.EngineTypes.startp = _startpos_p00_;
36709 MenhirLib.EngineTypes.endp = _endpos_p00_;
36710 MenhirLib.EngineTypes.next = {
36711 MenhirLib.EngineTypes.state = _menhir_s;
36712 MenhirLib.EngineTypes.semv = r0;
36713 MenhirLib.EngineTypes.startp = _startpos_r0_;
36714 MenhirLib.EngineTypes.endp = _endpos_r0_;
36715 MenhirLib.EngineTypes.next = _menhir_stack;
36716 };
36717 };
36718 } = _menhir_stack in
36719 let m : 'tv_list_TMul_ = Obj.magic m in
36720 let p00 : (
36721 # 68 "parser_cocci_menhir.mly"
36722 (Parse_aux.info)
36723 # 36724 "parser_cocci_menhir.ml"
36724 ) = Obj.magic p00 in
36725 let r0 : (
36726 # 54 "parser_cocci_menhir.mly"
36727 (Data.clt)
36728 # 36729 "parser_cocci_menhir.ml"
36729 ) = Obj.magic r0 in
36730 let _startpos = _startpos_r0_ in
36731 let _endpos = _endpos_m_ in
36732 let _v : 'tv_typedef_ctype = let ty =
36733 let p0 = p00 in
36734 let r = r0 in
36735 let ty =
36736 let p = p0 in
36737
36738 # 542 "parser_cocci_menhir.mly"
36739 ( let (nm,pure,clt) = p in
36740 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
36741 # 36742 "parser_cocci_menhir.ml"
36742
36743 in
36744
36745 # 599 "parser_cocci_menhir.mly"
36746 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
36747 # 36748 "parser_cocci_menhir.ml"
36748
36749 in
36750 let cv =
36751
36752 # 39 "standard.mly"
36753 ( None )
36754 # 36755 "parser_cocci_menhir.ml"
36755
36756 in
36757
36758 # 620 "parser_cocci_menhir.mly"
36759 ( P.pointerify (P.make_cv cv ty) m )
36760 # 36761 "parser_cocci_menhir.ml"
36761 in
36762 _menhir_env.MenhirLib.EngineTypes.stack <- {
36763 MenhirLib.EngineTypes.state = _menhir_s;
36764 MenhirLib.EngineTypes.semv = Obj.repr _v;
36765 MenhirLib.EngineTypes.startp = _startpos;
36766 MenhirLib.EngineTypes.endp = _endpos;
36767 MenhirLib.EngineTypes.next = _menhir_stack;
36768 });
36769 (fun _menhir_env ->
36770 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36771 let {
36772 MenhirLib.EngineTypes.semv = m;
36773 MenhirLib.EngineTypes.startp = _startpos_m_;
36774 MenhirLib.EngineTypes.endp = _endpos_m_;
36775 MenhirLib.EngineTypes.next = {
36776 MenhirLib.EngineTypes.semv = p00;
36777 MenhirLib.EngineTypes.startp = _startpos_p00_;
36778 MenhirLib.EngineTypes.endp = _endpos_p00_;
36779 MenhirLib.EngineTypes.next = {
36780 MenhirLib.EngineTypes.startp = _startpos__3_;
36781 MenhirLib.EngineTypes.endp = _endpos__3_;
36782 MenhirLib.EngineTypes.next = {
36783 MenhirLib.EngineTypes.semv = r00;
36784 MenhirLib.EngineTypes.startp = _startpos_r00_;
36785 MenhirLib.EngineTypes.endp = _endpos_r00_;
36786 MenhirLib.EngineTypes.next = {
36787 MenhirLib.EngineTypes.state = _menhir_s;
36788 MenhirLib.EngineTypes.semv = r1;
36789 MenhirLib.EngineTypes.startp = _startpos_r1_;
36790 MenhirLib.EngineTypes.endp = _endpos_r1_;
36791 MenhirLib.EngineTypes.next = _menhir_stack;
36792 };
36793 };
36794 };
36795 };
36796 } = _menhir_stack in
36797 let m : 'tv_list_TMul_ = Obj.magic m in
36798 let p00 : (
36799 # 62 "parser_cocci_menhir.mly"
36800 (string * Data.clt)
36801 # 36802 "parser_cocci_menhir.ml"
36802 ) = Obj.magic p00 in
36803 let r00 : (
36804 # 49 "parser_cocci_menhir.mly"
36805 (string)
36806 # 36807 "parser_cocci_menhir.ml"
36807 ) = Obj.magic r00 in
36808 let r1 : (
36809 # 54 "parser_cocci_menhir.mly"
36810 (Data.clt)
36811 # 36812 "parser_cocci_menhir.ml"
36812 ) = Obj.magic r1 in
36813 let _startpos = _startpos_r1_ in
36814 let _endpos = _endpos_m_ in
36815 let _v : 'tv_typedef_ctype = let ty =
36816 let p0 = p00 in
36817 let r0 = r00 in
36818 let r = r1 in
36819 let ty =
36820 let p = p0 in
36821 let r = r0 in
36822
36823 # 545 "parser_cocci_menhir.mly"
36824 ( let nm = (r,P.id2name p) in
36825 (* this is only possible when we are in a metavar decl. Otherwise,
36826 it will be represented already as a MetaType *)
36827 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
36828 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
36829 Ast0.Impure (*will be ignored*))) )
36830 # 36831 "parser_cocci_menhir.ml"
36831
36832 in
36833
36834 # 599 "parser_cocci_menhir.mly"
36835 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
36836 # 36837 "parser_cocci_menhir.ml"
36837
36838 in
36839 let cv =
36840
36841 # 39 "standard.mly"
36842 ( None )
36843 # 36844 "parser_cocci_menhir.ml"
36844
36845 in
36846
36847 # 620 "parser_cocci_menhir.mly"
36848 ( P.pointerify (P.make_cv cv ty) m )
36849 # 36850 "parser_cocci_menhir.ml"
36850 in
36851 _menhir_env.MenhirLib.EngineTypes.stack <- {
36852 MenhirLib.EngineTypes.state = _menhir_s;
36853 MenhirLib.EngineTypes.semv = Obj.repr _v;
36854 MenhirLib.EngineTypes.startp = _startpos;
36855 MenhirLib.EngineTypes.endp = _endpos;
36856 MenhirLib.EngineTypes.next = _menhir_stack;
36857 });
36858 (fun _menhir_env ->
36859 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36860 let {
36861 MenhirLib.EngineTypes.semv = m;
36862 MenhirLib.EngineTypes.startp = _startpos_m_;
36863 MenhirLib.EngineTypes.endp = _endpos_m_;
36864 MenhirLib.EngineTypes.next = {
36865 MenhirLib.EngineTypes.semv = ty00;
36866 MenhirLib.EngineTypes.startp = _startpos_ty00_;
36867 MenhirLib.EngineTypes.endp = _endpos_ty00_;
36868 MenhirLib.EngineTypes.next = {
36869 MenhirLib.EngineTypes.state = _menhir_s;
36870 MenhirLib.EngineTypes.semv = r0;
36871 MenhirLib.EngineTypes.startp = _startpos_r0_;
36872 MenhirLib.EngineTypes.endp = _endpos_r0_;
36873 MenhirLib.EngineTypes.next = _menhir_stack;
36874 };
36875 };
36876 } = _menhir_stack in
36877 let m : 'tv_list_TMul_ = Obj.magic m in
36878 let ty00 : (
36879 # 51 "parser_cocci_menhir.mly"
36880 (Data.clt)
36881 # 36882 "parser_cocci_menhir.ml"
36882 ) = Obj.magic ty00 in
36883 let r0 : (
36884 # 54 "parser_cocci_menhir.mly"
36885 (Data.clt)
36886 # 36887 "parser_cocci_menhir.ml"
36887 ) = Obj.magic r0 in
36888 let _startpos = _startpos_r0_ in
36889 let _endpos = _endpos_m_ in
36890 let _v : 'tv_typedef_ctype = let ty =
36891 let ty0 = ty00 in
36892 let r = r0 in
36893 let ty =
36894 let ty = ty0 in
36895
36896 # 552 "parser_cocci_menhir.mly"
36897 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
36898 # 36899 "parser_cocci_menhir.ml"
36899
36900 in
36901
36902 # 599 "parser_cocci_menhir.mly"
36903 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
36904 # 36905 "parser_cocci_menhir.ml"
36905
36906 in
36907 let cv =
36908
36909 # 39 "standard.mly"
36910 ( None )
36911 # 36912 "parser_cocci_menhir.ml"
36912
36913 in
36914
36915 # 620 "parser_cocci_menhir.mly"
36916 ( P.pointerify (P.make_cv cv ty) m )
36917 # 36918 "parser_cocci_menhir.ml"
36918 in
36919 _menhir_env.MenhirLib.EngineTypes.stack <- {
36920 MenhirLib.EngineTypes.state = _menhir_s;
36921 MenhirLib.EngineTypes.semv = Obj.repr _v;
36922 MenhirLib.EngineTypes.startp = _startpos;
36923 MenhirLib.EngineTypes.endp = _endpos;
36924 MenhirLib.EngineTypes.next = _menhir_stack;
36925 });
36926 (fun _menhir_env ->
36927 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
36928 let {
36929 MenhirLib.EngineTypes.semv = m;
36930 MenhirLib.EngineTypes.startp = _startpos_m_;
36931 MenhirLib.EngineTypes.endp = _endpos_m_;
36932 MenhirLib.EngineTypes.next = {
36933 MenhirLib.EngineTypes.semv = ty200;
36934 MenhirLib.EngineTypes.startp = _startpos_ty200_;
36935 MenhirLib.EngineTypes.endp = _endpos_ty200_;
36936 MenhirLib.EngineTypes.next = {
36937 MenhirLib.EngineTypes.semv = ty100;
36938 MenhirLib.EngineTypes.startp = _startpos_ty100_;
36939 MenhirLib.EngineTypes.endp = _endpos_ty100_;
36940 MenhirLib.EngineTypes.next = {
36941 MenhirLib.EngineTypes.state = _menhir_s;
36942 MenhirLib.EngineTypes.semv = r0;
36943 MenhirLib.EngineTypes.startp = _startpos_r0_;
36944 MenhirLib.EngineTypes.endp = _endpos_r0_;
36945 MenhirLib.EngineTypes.next = _menhir_stack;
36946 };
36947 };
36948 };
36949 } = _menhir_stack in
36950 let m : 'tv_list_TMul_ = Obj.magic m in
36951 let ty200 : (
36952 # 51 "parser_cocci_menhir.mly"
36953 (Data.clt)
36954 # 36955 "parser_cocci_menhir.ml"
36955 ) = Obj.magic ty200 in
36956 let ty100 : (
36957 # 51 "parser_cocci_menhir.mly"
36958 (Data.clt)
36959 # 36960 "parser_cocci_menhir.ml"
36960 ) = Obj.magic ty100 in
36961 let r0 : (
36962 # 54 "parser_cocci_menhir.mly"
36963 (Data.clt)
36964 # 36965 "parser_cocci_menhir.ml"
36965 ) = Obj.magic r0 in
36966 let _startpos = _startpos_r0_ in
36967 let _endpos = _endpos_m_ in
36968 let _v : 'tv_typedef_ctype = let ty =
36969 let ty20 = ty200 in
36970 let ty10 = ty100 in
36971 let r = r0 in
36972 let ty =
36973 let ty2 = ty20 in
36974 let ty1 = ty10 in
36975
36976 # 554 "parser_cocci_menhir.mly"
36977 ( Ast0.wrap
36978 (Ast0.BaseType
36979 (Ast.LongLongType,
36980 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
36981 # 36982 "parser_cocci_menhir.ml"
36982
36983 in
36984
36985 # 599 "parser_cocci_menhir.mly"
36986 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
36987 # 36988 "parser_cocci_menhir.ml"
36988
36989 in
36990 let cv =
36991
36992 # 39 "standard.mly"
36993 ( None )
36994 # 36995 "parser_cocci_menhir.ml"
36995
36996 in
36997
36998 # 620 "parser_cocci_menhir.mly"
36999 ( P.pointerify (P.make_cv cv ty) m )
37000 # 37001 "parser_cocci_menhir.ml"
37001 in
37002 _menhir_env.MenhirLib.EngineTypes.stack <- {
37003 MenhirLib.EngineTypes.state = _menhir_s;
37004 MenhirLib.EngineTypes.semv = Obj.repr _v;
37005 MenhirLib.EngineTypes.startp = _startpos;
37006 MenhirLib.EngineTypes.endp = _endpos;
37007 MenhirLib.EngineTypes.next = _menhir_stack;
37008 });
37009 (fun _menhir_env ->
37010 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37011 let {
37012 MenhirLib.EngineTypes.semv = m;
37013 MenhirLib.EngineTypes.startp = _startpos_m_;
37014 MenhirLib.EngineTypes.endp = _endpos_m_;
37015 MenhirLib.EngineTypes.next = {
37016 MenhirLib.EngineTypes.semv = ty00;
37017 MenhirLib.EngineTypes.startp = _startpos_ty00_;
37018 MenhirLib.EngineTypes.endp = _endpos_ty00_;
37019 MenhirLib.EngineTypes.next = {
37020 MenhirLib.EngineTypes.state = _menhir_s;
37021 MenhirLib.EngineTypes.semv = r0;
37022 MenhirLib.EngineTypes.startp = _startpos_r0_;
37023 MenhirLib.EngineTypes.endp = _endpos_r0_;
37024 MenhirLib.EngineTypes.next = _menhir_stack;
37025 };
37026 };
37027 } = _menhir_stack in
37028 let m : 'tv_list_TMul_ = Obj.magic m in
37029 let ty00 : (
37030 # 51 "parser_cocci_menhir.mly"
37031 (Data.clt)
37032 # 37033 "parser_cocci_menhir.ml"
37033 ) = Obj.magic ty00 in
37034 let r0 : (
37035 # 54 "parser_cocci_menhir.mly"
37036 (Data.clt)
37037 # 37038 "parser_cocci_menhir.ml"
37038 ) = Obj.magic r0 in
37039 let _startpos = _startpos_r0_ in
37040 let _endpos = _endpos_m_ in
37041 let _v : 'tv_typedef_ctype = let ty =
37042 let ty0 = ty00 in
37043 let r = r0 in
37044 let ty =
37045 let ty = ty0 in
37046
37047 # 536 "parser_cocci_menhir.mly"
37048 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
37049 # 37050 "parser_cocci_menhir.ml"
37050
37051 in
37052
37053 # 601 "parser_cocci_menhir.mly"
37054 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
37055 # 37056 "parser_cocci_menhir.ml"
37056
37057 in
37058 let cv =
37059
37060 # 39 "standard.mly"
37061 ( None )
37062 # 37063 "parser_cocci_menhir.ml"
37063
37064 in
37065
37066 # 620 "parser_cocci_menhir.mly"
37067 ( P.pointerify (P.make_cv cv ty) m )
37068 # 37069 "parser_cocci_menhir.ml"
37069 in
37070 _menhir_env.MenhirLib.EngineTypes.stack <- {
37071 MenhirLib.EngineTypes.state = _menhir_s;
37072 MenhirLib.EngineTypes.semv = Obj.repr _v;
37073 MenhirLib.EngineTypes.startp = _startpos;
37074 MenhirLib.EngineTypes.endp = _endpos;
37075 MenhirLib.EngineTypes.next = _menhir_stack;
37076 });
37077 (fun _menhir_env ->
37078 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37079 let {
37080 MenhirLib.EngineTypes.semv = m;
37081 MenhirLib.EngineTypes.startp = _startpos_m_;
37082 MenhirLib.EngineTypes.endp = _endpos_m_;
37083 MenhirLib.EngineTypes.next = {
37084 MenhirLib.EngineTypes.semv = ty00;
37085 MenhirLib.EngineTypes.startp = _startpos_ty00_;
37086 MenhirLib.EngineTypes.endp = _endpos_ty00_;
37087 MenhirLib.EngineTypes.next = {
37088 MenhirLib.EngineTypes.state = _menhir_s;
37089 MenhirLib.EngineTypes.semv = r0;
37090 MenhirLib.EngineTypes.startp = _startpos_r0_;
37091 MenhirLib.EngineTypes.endp = _endpos_r0_;
37092 MenhirLib.EngineTypes.next = _menhir_stack;
37093 };
37094 };
37095 } = _menhir_stack in
37096 let m : 'tv_list_TMul_ = Obj.magic m in
37097 let ty00 : (
37098 # 51 "parser_cocci_menhir.mly"
37099 (Data.clt)
37100 # 37101 "parser_cocci_menhir.ml"
37101 ) = Obj.magic ty00 in
37102 let r0 : (
37103 # 54 "parser_cocci_menhir.mly"
37104 (Data.clt)
37105 # 37106 "parser_cocci_menhir.ml"
37106 ) = Obj.magic r0 in
37107 let _startpos = _startpos_r0_ in
37108 let _endpos = _endpos_m_ in
37109 let _v : 'tv_typedef_ctype = let ty =
37110 let ty0 = ty00 in
37111 let r = r0 in
37112 let ty =
37113 let ty = ty0 in
37114
37115 # 538 "parser_cocci_menhir.mly"
37116 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
37117 # 37118 "parser_cocci_menhir.ml"
37118
37119 in
37120
37121 # 601 "parser_cocci_menhir.mly"
37122 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
37123 # 37124 "parser_cocci_menhir.ml"
37124
37125 in
37126 let cv =
37127
37128 # 39 "standard.mly"
37129 ( None )
37130 # 37131 "parser_cocci_menhir.ml"
37131
37132 in
37133
37134 # 620 "parser_cocci_menhir.mly"
37135 ( P.pointerify (P.make_cv cv ty) m )
37136 # 37137 "parser_cocci_menhir.ml"
37137 in
37138 _menhir_env.MenhirLib.EngineTypes.stack <- {
37139 MenhirLib.EngineTypes.state = _menhir_s;
37140 MenhirLib.EngineTypes.semv = Obj.repr _v;
37141 MenhirLib.EngineTypes.startp = _startpos;
37142 MenhirLib.EngineTypes.endp = _endpos;
37143 MenhirLib.EngineTypes.next = _menhir_stack;
37144 });
37145 (fun _menhir_env ->
37146 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37147 let {
37148 MenhirLib.EngineTypes.semv = m;
37149 MenhirLib.EngineTypes.startp = _startpos_m_;
37150 MenhirLib.EngineTypes.endp = _endpos_m_;
37151 MenhirLib.EngineTypes.next = {
37152 MenhirLib.EngineTypes.semv = ty00;
37153 MenhirLib.EngineTypes.startp = _startpos_ty00_;
37154 MenhirLib.EngineTypes.endp = _endpos_ty00_;
37155 MenhirLib.EngineTypes.next = {
37156 MenhirLib.EngineTypes.state = _menhir_s;
37157 MenhirLib.EngineTypes.semv = r0;
37158 MenhirLib.EngineTypes.startp = _startpos_r0_;
37159 MenhirLib.EngineTypes.endp = _endpos_r0_;
37160 MenhirLib.EngineTypes.next = _menhir_stack;
37161 };
37162 };
37163 } = _menhir_stack in
37164 let m : 'tv_list_TMul_ = Obj.magic m in
37165 let ty00 : (
37166 # 51 "parser_cocci_menhir.mly"
37167 (Data.clt)
37168 # 37169 "parser_cocci_menhir.ml"
37169 ) = Obj.magic ty00 in
37170 let r0 : (
37171 # 54 "parser_cocci_menhir.mly"
37172 (Data.clt)
37173 # 37174 "parser_cocci_menhir.ml"
37174 ) = Obj.magic r0 in
37175 let _startpos = _startpos_r0_ in
37176 let _endpos = _endpos_m_ in
37177 let _v : 'tv_typedef_ctype = let ty =
37178 let ty0 = ty00 in
37179 let r = r0 in
37180 let ty =
37181 let ty = ty0 in
37182
37183 # 540 "parser_cocci_menhir.mly"
37184 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
37185 # 37186 "parser_cocci_menhir.ml"
37186
37187 in
37188
37189 # 601 "parser_cocci_menhir.mly"
37190 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
37191 # 37192 "parser_cocci_menhir.ml"
37192
37193 in
37194 let cv =
37195
37196 # 39 "standard.mly"
37197 ( None )
37198 # 37199 "parser_cocci_menhir.ml"
37199
37200 in
37201
37202 # 620 "parser_cocci_menhir.mly"
37203 ( P.pointerify (P.make_cv cv ty) m )
37204 # 37205 "parser_cocci_menhir.ml"
37205 in
37206 _menhir_env.MenhirLib.EngineTypes.stack <- {
37207 MenhirLib.EngineTypes.state = _menhir_s;
37208 MenhirLib.EngineTypes.semv = Obj.repr _v;
37209 MenhirLib.EngineTypes.startp = _startpos;
37210 MenhirLib.EngineTypes.endp = _endpos;
37211 MenhirLib.EngineTypes.next = _menhir_stack;
37212 });
37213 (fun _menhir_env ->
37214 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37215 let {
37216 MenhirLib.EngineTypes.semv = m;
37217 MenhirLib.EngineTypes.startp = _startpos_m_;
37218 MenhirLib.EngineTypes.endp = _endpos_m_;
37219 MenhirLib.EngineTypes.next = {
37220 MenhirLib.EngineTypes.semv = p00;
37221 MenhirLib.EngineTypes.startp = _startpos_p00_;
37222 MenhirLib.EngineTypes.endp = _endpos_p00_;
37223 MenhirLib.EngineTypes.next = {
37224 MenhirLib.EngineTypes.state = _menhir_s;
37225 MenhirLib.EngineTypes.semv = r0;
37226 MenhirLib.EngineTypes.startp = _startpos_r0_;
37227 MenhirLib.EngineTypes.endp = _endpos_r0_;
37228 MenhirLib.EngineTypes.next = _menhir_stack;
37229 };
37230 };
37231 } = _menhir_stack in
37232 let m : 'tv_list_TMul_ = Obj.magic m in
37233 let p00 : (
37234 # 68 "parser_cocci_menhir.mly"
37235 (Parse_aux.info)
37236 # 37237 "parser_cocci_menhir.ml"
37237 ) = Obj.magic p00 in
37238 let r0 : (
37239 # 54 "parser_cocci_menhir.mly"
37240 (Data.clt)
37241 # 37242 "parser_cocci_menhir.ml"
37242 ) = Obj.magic r0 in
37243 let _startpos = _startpos_r0_ in
37244 let _endpos = _endpos_m_ in
37245 let _v : 'tv_typedef_ctype = let ty =
37246 let p0 = p00 in
37247 let r = r0 in
37248 let ty =
37249 let p = p0 in
37250
37251 # 542 "parser_cocci_menhir.mly"
37252 ( let (nm,pure,clt) = p in
37253 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
37254 # 37255 "parser_cocci_menhir.ml"
37255
37256 in
37257
37258 # 601 "parser_cocci_menhir.mly"
37259 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
37260 # 37261 "parser_cocci_menhir.ml"
37261
37262 in
37263 let cv =
37264
37265 # 39 "standard.mly"
37266 ( None )
37267 # 37268 "parser_cocci_menhir.ml"
37268
37269 in
37270
37271 # 620 "parser_cocci_menhir.mly"
37272 ( P.pointerify (P.make_cv cv ty) m )
37273 # 37274 "parser_cocci_menhir.ml"
37274 in
37275 _menhir_env.MenhirLib.EngineTypes.stack <- {
37276 MenhirLib.EngineTypes.state = _menhir_s;
37277 MenhirLib.EngineTypes.semv = Obj.repr _v;
37278 MenhirLib.EngineTypes.startp = _startpos;
37279 MenhirLib.EngineTypes.endp = _endpos;
37280 MenhirLib.EngineTypes.next = _menhir_stack;
37281 });
37282 (fun _menhir_env ->
37283 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37284 let {
37285 MenhirLib.EngineTypes.semv = m;
37286 MenhirLib.EngineTypes.startp = _startpos_m_;
37287 MenhirLib.EngineTypes.endp = _endpos_m_;
37288 MenhirLib.EngineTypes.next = {
37289 MenhirLib.EngineTypes.semv = p00;
37290 MenhirLib.EngineTypes.startp = _startpos_p00_;
37291 MenhirLib.EngineTypes.endp = _endpos_p00_;
37292 MenhirLib.EngineTypes.next = {
37293 MenhirLib.EngineTypes.startp = _startpos__3_;
37294 MenhirLib.EngineTypes.endp = _endpos__3_;
37295 MenhirLib.EngineTypes.next = {
37296 MenhirLib.EngineTypes.semv = r00;
37297 MenhirLib.EngineTypes.startp = _startpos_r00_;
37298 MenhirLib.EngineTypes.endp = _endpos_r00_;
37299 MenhirLib.EngineTypes.next = {
37300 MenhirLib.EngineTypes.state = _menhir_s;
37301 MenhirLib.EngineTypes.semv = r1;
37302 MenhirLib.EngineTypes.startp = _startpos_r1_;
37303 MenhirLib.EngineTypes.endp = _endpos_r1_;
37304 MenhirLib.EngineTypes.next = _menhir_stack;
37305 };
37306 };
37307 };
37308 };
37309 } = _menhir_stack in
37310 let m : 'tv_list_TMul_ = Obj.magic m in
37311 let p00 : (
37312 # 62 "parser_cocci_menhir.mly"
37313 (string * Data.clt)
37314 # 37315 "parser_cocci_menhir.ml"
37315 ) = Obj.magic p00 in
37316 let r00 : (
37317 # 49 "parser_cocci_menhir.mly"
37318 (string)
37319 # 37320 "parser_cocci_menhir.ml"
37320 ) = Obj.magic r00 in
37321 let r1 : (
37322 # 54 "parser_cocci_menhir.mly"
37323 (Data.clt)
37324 # 37325 "parser_cocci_menhir.ml"
37325 ) = Obj.magic r1 in
37326 let _startpos = _startpos_r1_ in
37327 let _endpos = _endpos_m_ in
37328 let _v : 'tv_typedef_ctype = let ty =
37329 let p0 = p00 in
37330 let r0 = r00 in
37331 let r = r1 in
37332 let ty =
37333 let p = p0 in
37334 let r = r0 in
37335
37336 # 545 "parser_cocci_menhir.mly"
37337 ( let nm = (r,P.id2name p) in
37338 (* this is only possible when we are in a metavar decl. Otherwise,
37339 it will be represented already as a MetaType *)
37340 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
37341 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
37342 Ast0.Impure (*will be ignored*))) )
37343 # 37344 "parser_cocci_menhir.ml"
37344
37345 in
37346
37347 # 601 "parser_cocci_menhir.mly"
37348 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
37349 # 37350 "parser_cocci_menhir.ml"
37350
37351 in
37352 let cv =
37353
37354 # 39 "standard.mly"
37355 ( None )
37356 # 37357 "parser_cocci_menhir.ml"
37357
37358 in
37359
37360 # 620 "parser_cocci_menhir.mly"
37361 ( P.pointerify (P.make_cv cv ty) m )
37362 # 37363 "parser_cocci_menhir.ml"
37363 in
37364 _menhir_env.MenhirLib.EngineTypes.stack <- {
37365 MenhirLib.EngineTypes.state = _menhir_s;
37366 MenhirLib.EngineTypes.semv = Obj.repr _v;
37367 MenhirLib.EngineTypes.startp = _startpos;
37368 MenhirLib.EngineTypes.endp = _endpos;
37369 MenhirLib.EngineTypes.next = _menhir_stack;
37370 });
37371 (fun _menhir_env ->
37372 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37373 let {
37374 MenhirLib.EngineTypes.semv = m;
37375 MenhirLib.EngineTypes.startp = _startpos_m_;
37376 MenhirLib.EngineTypes.endp = _endpos_m_;
37377 MenhirLib.EngineTypes.next = {
37378 MenhirLib.EngineTypes.semv = ty00;
37379 MenhirLib.EngineTypes.startp = _startpos_ty00_;
37380 MenhirLib.EngineTypes.endp = _endpos_ty00_;
37381 MenhirLib.EngineTypes.next = {
37382 MenhirLib.EngineTypes.state = _menhir_s;
37383 MenhirLib.EngineTypes.semv = r0;
37384 MenhirLib.EngineTypes.startp = _startpos_r0_;
37385 MenhirLib.EngineTypes.endp = _endpos_r0_;
37386 MenhirLib.EngineTypes.next = _menhir_stack;
37387 };
37388 };
37389 } = _menhir_stack in
37390 let m : 'tv_list_TMul_ = Obj.magic m in
37391 let ty00 : (
37392 # 51 "parser_cocci_menhir.mly"
37393 (Data.clt)
37394 # 37395 "parser_cocci_menhir.ml"
37395 ) = Obj.magic ty00 in
37396 let r0 : (
37397 # 54 "parser_cocci_menhir.mly"
37398 (Data.clt)
37399 # 37400 "parser_cocci_menhir.ml"
37400 ) = Obj.magic r0 in
37401 let _startpos = _startpos_r0_ in
37402 let _endpos = _endpos_m_ in
37403 let _v : 'tv_typedef_ctype = let ty =
37404 let ty0 = ty00 in
37405 let r = r0 in
37406 let ty =
37407 let ty = ty0 in
37408
37409 # 552 "parser_cocci_menhir.mly"
37410 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
37411 # 37412 "parser_cocci_menhir.ml"
37412
37413 in
37414
37415 # 601 "parser_cocci_menhir.mly"
37416 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
37417 # 37418 "parser_cocci_menhir.ml"
37418
37419 in
37420 let cv =
37421
37422 # 39 "standard.mly"
37423 ( None )
37424 # 37425 "parser_cocci_menhir.ml"
37425
37426 in
37427
37428 # 620 "parser_cocci_menhir.mly"
37429 ( P.pointerify (P.make_cv cv ty) m )
37430 # 37431 "parser_cocci_menhir.ml"
37431 in
37432 _menhir_env.MenhirLib.EngineTypes.stack <- {
37433 MenhirLib.EngineTypes.state = _menhir_s;
37434 MenhirLib.EngineTypes.semv = Obj.repr _v;
37435 MenhirLib.EngineTypes.startp = _startpos;
37436 MenhirLib.EngineTypes.endp = _endpos;
37437 MenhirLib.EngineTypes.next = _menhir_stack;
37438 });
37439 (fun _menhir_env ->
37440 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37441 let {
37442 MenhirLib.EngineTypes.semv = m;
37443 MenhirLib.EngineTypes.startp = _startpos_m_;
37444 MenhirLib.EngineTypes.endp = _endpos_m_;
37445 MenhirLib.EngineTypes.next = {
37446 MenhirLib.EngineTypes.semv = ty200;
37447 MenhirLib.EngineTypes.startp = _startpos_ty200_;
37448 MenhirLib.EngineTypes.endp = _endpos_ty200_;
37449 MenhirLib.EngineTypes.next = {
37450 MenhirLib.EngineTypes.semv = ty100;
37451 MenhirLib.EngineTypes.startp = _startpos_ty100_;
37452 MenhirLib.EngineTypes.endp = _endpos_ty100_;
37453 MenhirLib.EngineTypes.next = {
37454 MenhirLib.EngineTypes.state = _menhir_s;
37455 MenhirLib.EngineTypes.semv = r0;
37456 MenhirLib.EngineTypes.startp = _startpos_r0_;
37457 MenhirLib.EngineTypes.endp = _endpos_r0_;
37458 MenhirLib.EngineTypes.next = _menhir_stack;
37459 };
37460 };
37461 };
37462 } = _menhir_stack in
37463 let m : 'tv_list_TMul_ = Obj.magic m in
37464 let ty200 : (
37465 # 51 "parser_cocci_menhir.mly"
37466 (Data.clt)
37467 # 37468 "parser_cocci_menhir.ml"
37468 ) = Obj.magic ty200 in
37469 let ty100 : (
37470 # 51 "parser_cocci_menhir.mly"
37471 (Data.clt)
37472 # 37473 "parser_cocci_menhir.ml"
37473 ) = Obj.magic ty100 in
37474 let r0 : (
37475 # 54 "parser_cocci_menhir.mly"
37476 (Data.clt)
37477 # 37478 "parser_cocci_menhir.ml"
37478 ) = Obj.magic r0 in
37479 let _startpos = _startpos_r0_ in
37480 let _endpos = _endpos_m_ in
37481 let _v : 'tv_typedef_ctype = let ty =
37482 let ty20 = ty200 in
37483 let ty10 = ty100 in
37484 let r = r0 in
37485 let ty =
37486 let ty2 = ty20 in
37487 let ty1 = ty10 in
37488
37489 # 554 "parser_cocci_menhir.mly"
37490 ( Ast0.wrap
37491 (Ast0.BaseType
37492 (Ast.LongLongType,
37493 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
37494 # 37495 "parser_cocci_menhir.ml"
37495
37496 in
37497
37498 # 601 "parser_cocci_menhir.mly"
37499 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
37500 # 37501 "parser_cocci_menhir.ml"
37501
37502 in
37503 let cv =
37504
37505 # 39 "standard.mly"
37506 ( None )
37507 # 37508 "parser_cocci_menhir.ml"
37508
37509 in
37510
37511 # 620 "parser_cocci_menhir.mly"
37512 ( P.pointerify (P.make_cv cv ty) m )
37513 # 37514 "parser_cocci_menhir.ml"
37514 in
37515 _menhir_env.MenhirLib.EngineTypes.stack <- {
37516 MenhirLib.EngineTypes.state = _menhir_s;
37517 MenhirLib.EngineTypes.semv = Obj.repr _v;
37518 MenhirLib.EngineTypes.startp = _startpos;
37519 MenhirLib.EngineTypes.endp = _endpos;
37520 MenhirLib.EngineTypes.next = _menhir_stack;
37521 });
37522 (fun _menhir_env ->
37523 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37524 let {
37525 MenhirLib.EngineTypes.semv = m;
37526 MenhirLib.EngineTypes.startp = _startpos_m_;
37527 MenhirLib.EngineTypes.endp = _endpos_m_;
37528 MenhirLib.EngineTypes.next = {
37529 MenhirLib.EngineTypes.state = _menhir_s;
37530 MenhirLib.EngineTypes.semv = ty00;
37531 MenhirLib.EngineTypes.startp = _startpos_ty00_;
37532 MenhirLib.EngineTypes.endp = _endpos_ty00_;
37533 MenhirLib.EngineTypes.next = _menhir_stack;
37534 };
37535 } = _menhir_stack in
37536 let m : 'tv_list_TMul_ = Obj.magic m in
37537 let ty00 : (
37538 # 51 "parser_cocci_menhir.mly"
37539 (Data.clt)
37540 # 37541 "parser_cocci_menhir.ml"
37541 ) = Obj.magic ty00 in
37542 let _startpos = _startpos_ty00_ in
37543 let _endpos = _endpos_m_ in
37544 let _v : 'tv_typedef_ctype = let ty =
37545 let ty0 = ty00 in
37546 let ty =
37547 let ty = ty0 in
37548
37549 # 536 "parser_cocci_menhir.mly"
37550 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
37551 # 37552 "parser_cocci_menhir.ml"
37552
37553 in
37554
37555 # 602 "parser_cocci_menhir.mly"
37556 ( ty )
37557 # 37558 "parser_cocci_menhir.ml"
37558
37559 in
37560 let cv =
37561
37562 # 39 "standard.mly"
37563 ( None )
37564 # 37565 "parser_cocci_menhir.ml"
37565
37566 in
37567
37568 # 620 "parser_cocci_menhir.mly"
37569 ( P.pointerify (P.make_cv cv ty) m )
37570 # 37571 "parser_cocci_menhir.ml"
37571 in
37572 _menhir_env.MenhirLib.EngineTypes.stack <- {
37573 MenhirLib.EngineTypes.state = _menhir_s;
37574 MenhirLib.EngineTypes.semv = Obj.repr _v;
37575 MenhirLib.EngineTypes.startp = _startpos;
37576 MenhirLib.EngineTypes.endp = _endpos;
37577 MenhirLib.EngineTypes.next = _menhir_stack;
37578 });
37579 (fun _menhir_env ->
37580 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37581 let {
37582 MenhirLib.EngineTypes.semv = m;
37583 MenhirLib.EngineTypes.startp = _startpos_m_;
37584 MenhirLib.EngineTypes.endp = _endpos_m_;
37585 MenhirLib.EngineTypes.next = {
37586 MenhirLib.EngineTypes.state = _menhir_s;
37587 MenhirLib.EngineTypes.semv = ty00;
37588 MenhirLib.EngineTypes.startp = _startpos_ty00_;
37589 MenhirLib.EngineTypes.endp = _endpos_ty00_;
37590 MenhirLib.EngineTypes.next = _menhir_stack;
37591 };
37592 } = _menhir_stack in
37593 let m : 'tv_list_TMul_ = Obj.magic m in
37594 let ty00 : (
37595 # 51 "parser_cocci_menhir.mly"
37596 (Data.clt)
37597 # 37598 "parser_cocci_menhir.ml"
37598 ) = Obj.magic ty00 in
37599 let _startpos = _startpos_ty00_ in
37600 let _endpos = _endpos_m_ in
37601 let _v : 'tv_typedef_ctype = let ty =
37602 let ty0 = ty00 in
37603 let ty =
37604 let ty = ty0 in
37605
37606 # 538 "parser_cocci_menhir.mly"
37607 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
37608 # 37609 "parser_cocci_menhir.ml"
37609
37610 in
37611
37612 # 602 "parser_cocci_menhir.mly"
37613 ( ty )
37614 # 37615 "parser_cocci_menhir.ml"
37615
37616 in
37617 let cv =
37618
37619 # 39 "standard.mly"
37620 ( None )
37621 # 37622 "parser_cocci_menhir.ml"
37622
37623 in
37624
37625 # 620 "parser_cocci_menhir.mly"
37626 ( P.pointerify (P.make_cv cv ty) m )
37627 # 37628 "parser_cocci_menhir.ml"
37628 in
37629 _menhir_env.MenhirLib.EngineTypes.stack <- {
37630 MenhirLib.EngineTypes.state = _menhir_s;
37631 MenhirLib.EngineTypes.semv = Obj.repr _v;
37632 MenhirLib.EngineTypes.startp = _startpos;
37633 MenhirLib.EngineTypes.endp = _endpos;
37634 MenhirLib.EngineTypes.next = _menhir_stack;
37635 });
37636 (fun _menhir_env ->
37637 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37638 let {
37639 MenhirLib.EngineTypes.semv = m;
37640 MenhirLib.EngineTypes.startp = _startpos_m_;
37641 MenhirLib.EngineTypes.endp = _endpos_m_;
37642 MenhirLib.EngineTypes.next = {
37643 MenhirLib.EngineTypes.state = _menhir_s;
37644 MenhirLib.EngineTypes.semv = ty00;
37645 MenhirLib.EngineTypes.startp = _startpos_ty00_;
37646 MenhirLib.EngineTypes.endp = _endpos_ty00_;
37647 MenhirLib.EngineTypes.next = _menhir_stack;
37648 };
37649 } = _menhir_stack in
37650 let m : 'tv_list_TMul_ = Obj.magic m in
37651 let ty00 : (
37652 # 51 "parser_cocci_menhir.mly"
37653 (Data.clt)
37654 # 37655 "parser_cocci_menhir.ml"
37655 ) = Obj.magic ty00 in
37656 let _startpos = _startpos_ty00_ in
37657 let _endpos = _endpos_m_ in
37658 let _v : 'tv_typedef_ctype = let ty =
37659 let ty0 = ty00 in
37660 let ty =
37661 let ty = ty0 in
37662
37663 # 540 "parser_cocci_menhir.mly"
37664 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
37665 # 37666 "parser_cocci_menhir.ml"
37666
37667 in
37668
37669 # 602 "parser_cocci_menhir.mly"
37670 ( ty )
37671 # 37672 "parser_cocci_menhir.ml"
37672
37673 in
37674 let cv =
37675
37676 # 39 "standard.mly"
37677 ( None )
37678 # 37679 "parser_cocci_menhir.ml"
37679
37680 in
37681
37682 # 620 "parser_cocci_menhir.mly"
37683 ( P.pointerify (P.make_cv cv ty) m )
37684 # 37685 "parser_cocci_menhir.ml"
37685 in
37686 _menhir_env.MenhirLib.EngineTypes.stack <- {
37687 MenhirLib.EngineTypes.state = _menhir_s;
37688 MenhirLib.EngineTypes.semv = Obj.repr _v;
37689 MenhirLib.EngineTypes.startp = _startpos;
37690 MenhirLib.EngineTypes.endp = _endpos;
37691 MenhirLib.EngineTypes.next = _menhir_stack;
37692 });
37693 (fun _menhir_env ->
37694 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37695 let {
37696 MenhirLib.EngineTypes.semv = m;
37697 MenhirLib.EngineTypes.startp = _startpos_m_;
37698 MenhirLib.EngineTypes.endp = _endpos_m_;
37699 MenhirLib.EngineTypes.next = {
37700 MenhirLib.EngineTypes.state = _menhir_s;
37701 MenhirLib.EngineTypes.semv = p00;
37702 MenhirLib.EngineTypes.startp = _startpos_p00_;
37703 MenhirLib.EngineTypes.endp = _endpos_p00_;
37704 MenhirLib.EngineTypes.next = _menhir_stack;
37705 };
37706 } = _menhir_stack in
37707 let m : 'tv_list_TMul_ = Obj.magic m in
37708 let p00 : (
37709 # 68 "parser_cocci_menhir.mly"
37710 (Parse_aux.info)
37711 # 37712 "parser_cocci_menhir.ml"
37712 ) = Obj.magic p00 in
37713 let _startpos = _startpos_p00_ in
37714 let _endpos = _endpos_m_ in
37715 let _v : 'tv_typedef_ctype = let ty =
37716 let p0 = p00 in
37717 let ty =
37718 let p = p0 in
37719
37720 # 542 "parser_cocci_menhir.mly"
37721 ( let (nm,pure,clt) = p in
37722 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
37723 # 37724 "parser_cocci_menhir.ml"
37724
37725 in
37726
37727 # 602 "parser_cocci_menhir.mly"
37728 ( ty )
37729 # 37730 "parser_cocci_menhir.ml"
37730
37731 in
37732 let cv =
37733
37734 # 39 "standard.mly"
37735 ( None )
37736 # 37737 "parser_cocci_menhir.ml"
37737
37738 in
37739
37740 # 620 "parser_cocci_menhir.mly"
37741 ( P.pointerify (P.make_cv cv ty) m )
37742 # 37743 "parser_cocci_menhir.ml"
37743 in
37744 _menhir_env.MenhirLib.EngineTypes.stack <- {
37745 MenhirLib.EngineTypes.state = _menhir_s;
37746 MenhirLib.EngineTypes.semv = Obj.repr _v;
37747 MenhirLib.EngineTypes.startp = _startpos;
37748 MenhirLib.EngineTypes.endp = _endpos;
37749 MenhirLib.EngineTypes.next = _menhir_stack;
37750 });
37751 (fun _menhir_env ->
37752 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37753 let {
37754 MenhirLib.EngineTypes.semv = m;
37755 MenhirLib.EngineTypes.startp = _startpos_m_;
37756 MenhirLib.EngineTypes.endp = _endpos_m_;
37757 MenhirLib.EngineTypes.next = {
37758 MenhirLib.EngineTypes.semv = p00;
37759 MenhirLib.EngineTypes.startp = _startpos_p00_;
37760 MenhirLib.EngineTypes.endp = _endpos_p00_;
37761 MenhirLib.EngineTypes.next = {
37762 MenhirLib.EngineTypes.startp = _startpos__2_;
37763 MenhirLib.EngineTypes.endp = _endpos__2_;
37764 MenhirLib.EngineTypes.next = {
37765 MenhirLib.EngineTypes.state = _menhir_s;
37766 MenhirLib.EngineTypes.semv = r00;
37767 MenhirLib.EngineTypes.startp = _startpos_r00_;
37768 MenhirLib.EngineTypes.endp = _endpos_r00_;
37769 MenhirLib.EngineTypes.next = _menhir_stack;
37770 };
37771 };
37772 };
37773 } = _menhir_stack in
37774 let m : 'tv_list_TMul_ = Obj.magic m in
37775 let p00 : (
37776 # 62 "parser_cocci_menhir.mly"
37777 (string * Data.clt)
37778 # 37779 "parser_cocci_menhir.ml"
37779 ) = Obj.magic p00 in
37780 let r00 : (
37781 # 49 "parser_cocci_menhir.mly"
37782 (string)
37783 # 37784 "parser_cocci_menhir.ml"
37784 ) = Obj.magic r00 in
37785 let _startpos = _startpos_r00_ in
37786 let _endpos = _endpos_m_ in
37787 let _v : 'tv_typedef_ctype = let ty =
37788 let p0 = p00 in
37789 let r0 = r00 in
37790 let ty =
37791 let p = p0 in
37792 let r = r0 in
37793
37794 # 545 "parser_cocci_menhir.mly"
37795 ( let nm = (r,P.id2name p) in
37796 (* this is only possible when we are in a metavar decl. Otherwise,
37797 it will be represented already as a MetaType *)
37798 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
37799 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
37800 Ast0.Impure (*will be ignored*))) )
37801 # 37802 "parser_cocci_menhir.ml"
37802
37803 in
37804
37805 # 602 "parser_cocci_menhir.mly"
37806 ( ty )
37807 # 37808 "parser_cocci_menhir.ml"
37808
37809 in
37810 let cv =
37811
37812 # 39 "standard.mly"
37813 ( None )
37814 # 37815 "parser_cocci_menhir.ml"
37815
37816 in
37817
37818 # 620 "parser_cocci_menhir.mly"
37819 ( P.pointerify (P.make_cv cv ty) m )
37820 # 37821 "parser_cocci_menhir.ml"
37821 in
37822 _menhir_env.MenhirLib.EngineTypes.stack <- {
37823 MenhirLib.EngineTypes.state = _menhir_s;
37824 MenhirLib.EngineTypes.semv = Obj.repr _v;
37825 MenhirLib.EngineTypes.startp = _startpos;
37826 MenhirLib.EngineTypes.endp = _endpos;
37827 MenhirLib.EngineTypes.next = _menhir_stack;
37828 });
37829 (fun _menhir_env ->
37830 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37831 let {
37832 MenhirLib.EngineTypes.semv = m;
37833 MenhirLib.EngineTypes.startp = _startpos_m_;
37834 MenhirLib.EngineTypes.endp = _endpos_m_;
37835 MenhirLib.EngineTypes.next = {
37836 MenhirLib.EngineTypes.state = _menhir_s;
37837 MenhirLib.EngineTypes.semv = ty00;
37838 MenhirLib.EngineTypes.startp = _startpos_ty00_;
37839 MenhirLib.EngineTypes.endp = _endpos_ty00_;
37840 MenhirLib.EngineTypes.next = _menhir_stack;
37841 };
37842 } = _menhir_stack in
37843 let m : 'tv_list_TMul_ = Obj.magic m in
37844 let ty00 : (
37845 # 51 "parser_cocci_menhir.mly"
37846 (Data.clt)
37847 # 37848 "parser_cocci_menhir.ml"
37848 ) = Obj.magic ty00 in
37849 let _startpos = _startpos_ty00_ in
37850 let _endpos = _endpos_m_ in
37851 let _v : 'tv_typedef_ctype = let ty =
37852 let ty0 = ty00 in
37853 let ty =
37854 let ty = ty0 in
37855
37856 # 552 "parser_cocci_menhir.mly"
37857 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
37858 # 37859 "parser_cocci_menhir.ml"
37859
37860 in
37861
37862 # 602 "parser_cocci_menhir.mly"
37863 ( ty )
37864 # 37865 "parser_cocci_menhir.ml"
37865
37866 in
37867 let cv =
37868
37869 # 39 "standard.mly"
37870 ( None )
37871 # 37872 "parser_cocci_menhir.ml"
37872
37873 in
37874
37875 # 620 "parser_cocci_menhir.mly"
37876 ( P.pointerify (P.make_cv cv ty) m )
37877 # 37878 "parser_cocci_menhir.ml"
37878 in
37879 _menhir_env.MenhirLib.EngineTypes.stack <- {
37880 MenhirLib.EngineTypes.state = _menhir_s;
37881 MenhirLib.EngineTypes.semv = Obj.repr _v;
37882 MenhirLib.EngineTypes.startp = _startpos;
37883 MenhirLib.EngineTypes.endp = _endpos;
37884 MenhirLib.EngineTypes.next = _menhir_stack;
37885 });
37886 (fun _menhir_env ->
37887 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37888 let {
37889 MenhirLib.EngineTypes.semv = m;
37890 MenhirLib.EngineTypes.startp = _startpos_m_;
37891 MenhirLib.EngineTypes.endp = _endpos_m_;
37892 MenhirLib.EngineTypes.next = {
37893 MenhirLib.EngineTypes.semv = ty200;
37894 MenhirLib.EngineTypes.startp = _startpos_ty200_;
37895 MenhirLib.EngineTypes.endp = _endpos_ty200_;
37896 MenhirLib.EngineTypes.next = {
37897 MenhirLib.EngineTypes.state = _menhir_s;
37898 MenhirLib.EngineTypes.semv = ty100;
37899 MenhirLib.EngineTypes.startp = _startpos_ty100_;
37900 MenhirLib.EngineTypes.endp = _endpos_ty100_;
37901 MenhirLib.EngineTypes.next = _menhir_stack;
37902 };
37903 };
37904 } = _menhir_stack in
37905 let m : 'tv_list_TMul_ = Obj.magic m in
37906 let ty200 : (
37907 # 51 "parser_cocci_menhir.mly"
37908 (Data.clt)
37909 # 37910 "parser_cocci_menhir.ml"
37910 ) = Obj.magic ty200 in
37911 let ty100 : (
37912 # 51 "parser_cocci_menhir.mly"
37913 (Data.clt)
37914 # 37915 "parser_cocci_menhir.ml"
37915 ) = Obj.magic ty100 in
37916 let _startpos = _startpos_ty100_ in
37917 let _endpos = _endpos_m_ in
37918 let _v : 'tv_typedef_ctype = let ty =
37919 let ty20 = ty200 in
37920 let ty10 = ty100 in
37921 let ty =
37922 let ty2 = ty20 in
37923 let ty1 = ty10 in
37924
37925 # 554 "parser_cocci_menhir.mly"
37926 ( Ast0.wrap
37927 (Ast0.BaseType
37928 (Ast.LongLongType,
37929 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
37930 # 37931 "parser_cocci_menhir.ml"
37931
37932 in
37933
37934 # 602 "parser_cocci_menhir.mly"
37935 ( ty )
37936 # 37937 "parser_cocci_menhir.ml"
37937
37938 in
37939 let cv =
37940
37941 # 39 "standard.mly"
37942 ( None )
37943 # 37944 "parser_cocci_menhir.ml"
37944
37945 in
37946
37947 # 620 "parser_cocci_menhir.mly"
37948 ( P.pointerify (P.make_cv cv ty) m )
37949 # 37950 "parser_cocci_menhir.ml"
37950 in
37951 _menhir_env.MenhirLib.EngineTypes.stack <- {
37952 MenhirLib.EngineTypes.state = _menhir_s;
37953 MenhirLib.EngineTypes.semv = Obj.repr _v;
37954 MenhirLib.EngineTypes.startp = _startpos;
37955 MenhirLib.EngineTypes.endp = _endpos;
37956 MenhirLib.EngineTypes.next = _menhir_stack;
37957 });
37958 (fun _menhir_env ->
37959 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
37960 let {
37961 MenhirLib.EngineTypes.semv = m;
37962 MenhirLib.EngineTypes.startp = _startpos_m_;
37963 MenhirLib.EngineTypes.endp = _endpos_m_;
37964 MenhirLib.EngineTypes.next = {
37965 MenhirLib.EngineTypes.state = _menhir_s;
37966 MenhirLib.EngineTypes.semv = ty00;
37967 MenhirLib.EngineTypes.startp = _startpos_ty00_;
37968 MenhirLib.EngineTypes.endp = _endpos_ty00_;
37969 MenhirLib.EngineTypes.next = _menhir_stack;
37970 };
37971 } = _menhir_stack in
37972 let m : 'tv_list_TMul_ = Obj.magic m in
37973 let ty00 : (
37974 # 53 "parser_cocci_menhir.mly"
37975 (Data.clt)
37976 # 37977 "parser_cocci_menhir.ml"
37977 ) = Obj.magic ty00 in
37978 let _startpos = _startpos_ty00_ in
37979 let _endpos = _endpos_m_ in
37980 let _v : 'tv_typedef_ctype = let ty =
37981 let ty0 = ty00 in
37982 let ty =
37983 let ty = ty0 in
37984
37985 # 562 "parser_cocci_menhir.mly"
37986 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
37987 # 37988 "parser_cocci_menhir.ml"
37988
37989 in
37990
37991 # 603 "parser_cocci_menhir.mly"
37992 ( ty )
37993 # 37994 "parser_cocci_menhir.ml"
37994
37995 in
37996 let cv =
37997
37998 # 39 "standard.mly"
37999 ( None )
38000 # 38001 "parser_cocci_menhir.ml"
38001
38002 in
38003
38004 # 620 "parser_cocci_menhir.mly"
38005 ( P.pointerify (P.make_cv cv ty) m )
38006 # 38007 "parser_cocci_menhir.ml"
38007 in
38008 _menhir_env.MenhirLib.EngineTypes.stack <- {
38009 MenhirLib.EngineTypes.state = _menhir_s;
38010 MenhirLib.EngineTypes.semv = Obj.repr _v;
38011 MenhirLib.EngineTypes.startp = _startpos;
38012 MenhirLib.EngineTypes.endp = _endpos;
38013 MenhirLib.EngineTypes.next = _menhir_stack;
38014 });
38015 (fun _menhir_env ->
38016 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38017 let {
38018 MenhirLib.EngineTypes.semv = m;
38019 MenhirLib.EngineTypes.startp = _startpos_m_;
38020 MenhirLib.EngineTypes.endp = _endpos_m_;
38021 MenhirLib.EngineTypes.next = {
38022 MenhirLib.EngineTypes.state = _menhir_s;
38023 MenhirLib.EngineTypes.semv = ty00;
38024 MenhirLib.EngineTypes.startp = _startpos_ty00_;
38025 MenhirLib.EngineTypes.endp = _endpos_ty00_;
38026 MenhirLib.EngineTypes.next = _menhir_stack;
38027 };
38028 } = _menhir_stack in
38029 let m : 'tv_list_TMul_ = Obj.magic m in
38030 let ty00 : (
38031 # 51 "parser_cocci_menhir.mly"
38032 (Data.clt)
38033 # 38034 "parser_cocci_menhir.ml"
38034 ) = Obj.magic ty00 in
38035 let _startpos = _startpos_ty00_ in
38036 let _endpos = _endpos_m_ in
38037 let _v : 'tv_typedef_ctype = let ty =
38038 let ty0 = ty00 in
38039 let ty =
38040 let ty = ty0 in
38041
38042 # 564 "parser_cocci_menhir.mly"
38043 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
38044 # 38045 "parser_cocci_menhir.ml"
38045
38046 in
38047
38048 # 603 "parser_cocci_menhir.mly"
38049 ( ty )
38050 # 38051 "parser_cocci_menhir.ml"
38051
38052 in
38053 let cv =
38054
38055 # 39 "standard.mly"
38056 ( None )
38057 # 38058 "parser_cocci_menhir.ml"
38058
38059 in
38060
38061 # 620 "parser_cocci_menhir.mly"
38062 ( P.pointerify (P.make_cv cv ty) m )
38063 # 38064 "parser_cocci_menhir.ml"
38064 in
38065 _menhir_env.MenhirLib.EngineTypes.stack <- {
38066 MenhirLib.EngineTypes.state = _menhir_s;
38067 MenhirLib.EngineTypes.semv = Obj.repr _v;
38068 MenhirLib.EngineTypes.startp = _startpos;
38069 MenhirLib.EngineTypes.endp = _endpos;
38070 MenhirLib.EngineTypes.next = _menhir_stack;
38071 });
38072 (fun _menhir_env ->
38073 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38074 let {
38075 MenhirLib.EngineTypes.semv = m;
38076 MenhirLib.EngineTypes.startp = _startpos_m_;
38077 MenhirLib.EngineTypes.endp = _endpos_m_;
38078 MenhirLib.EngineTypes.next = {
38079 MenhirLib.EngineTypes.state = _menhir_s;
38080 MenhirLib.EngineTypes.semv = ty00;
38081 MenhirLib.EngineTypes.startp = _startpos_ty00_;
38082 MenhirLib.EngineTypes.endp = _endpos_ty00_;
38083 MenhirLib.EngineTypes.next = _menhir_stack;
38084 };
38085 } = _menhir_stack in
38086 let m : 'tv_list_TMul_ = Obj.magic m in
38087 let ty00 : (
38088 # 51 "parser_cocci_menhir.mly"
38089 (Data.clt)
38090 # 38091 "parser_cocci_menhir.ml"
38091 ) = Obj.magic ty00 in
38092 let _startpos = _startpos_ty00_ in
38093 let _endpos = _endpos_m_ in
38094 let _v : 'tv_typedef_ctype = let ty =
38095 let ty0 = ty00 in
38096 let ty =
38097 let ty = ty0 in
38098
38099 # 566 "parser_cocci_menhir.mly"
38100 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
38101 # 38102 "parser_cocci_menhir.ml"
38102
38103 in
38104
38105 # 603 "parser_cocci_menhir.mly"
38106 ( ty )
38107 # 38108 "parser_cocci_menhir.ml"
38108
38109 in
38110 let cv =
38111
38112 # 39 "standard.mly"
38113 ( None )
38114 # 38115 "parser_cocci_menhir.ml"
38115
38116 in
38117
38118 # 620 "parser_cocci_menhir.mly"
38119 ( P.pointerify (P.make_cv cv ty) m )
38120 # 38121 "parser_cocci_menhir.ml"
38121 in
38122 _menhir_env.MenhirLib.EngineTypes.stack <- {
38123 MenhirLib.EngineTypes.state = _menhir_s;
38124 MenhirLib.EngineTypes.semv = Obj.repr _v;
38125 MenhirLib.EngineTypes.startp = _startpos;
38126 MenhirLib.EngineTypes.endp = _endpos;
38127 MenhirLib.EngineTypes.next = _menhir_stack;
38128 });
38129 (fun _menhir_env ->
38130 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38131 let {
38132 MenhirLib.EngineTypes.semv = m;
38133 MenhirLib.EngineTypes.startp = _startpos_m_;
38134 MenhirLib.EngineTypes.endp = _endpos_m_;
38135 MenhirLib.EngineTypes.next = {
38136 MenhirLib.EngineTypes.state = _menhir_s;
38137 MenhirLib.EngineTypes.semv = ty00;
38138 MenhirLib.EngineTypes.startp = _startpos_ty00_;
38139 MenhirLib.EngineTypes.endp = _endpos_ty00_;
38140 MenhirLib.EngineTypes.next = _menhir_stack;
38141 };
38142 } = _menhir_stack in
38143 let m : 'tv_list_TMul_ = Obj.magic m in
38144 let ty00 : (
38145 # 52 "parser_cocci_menhir.mly"
38146 (Data.clt)
38147 # 38148 "parser_cocci_menhir.ml"
38148 ) = Obj.magic ty00 in
38149 let _startpos = _startpos_ty00_ in
38150 let _endpos = _endpos_m_ in
38151 let _v : 'tv_typedef_ctype = let ty =
38152 let ty0 = ty00 in
38153 let ty =
38154 let ty = ty0 in
38155
38156 # 568 "parser_cocci_menhir.mly"
38157 ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
38158 # 38159 "parser_cocci_menhir.ml"
38159
38160 in
38161
38162 # 603 "parser_cocci_menhir.mly"
38163 ( ty )
38164 # 38165 "parser_cocci_menhir.ml"
38165
38166 in
38167 let cv =
38168
38169 # 39 "standard.mly"
38170 ( None )
38171 # 38172 "parser_cocci_menhir.ml"
38172
38173 in
38174
38175 # 620 "parser_cocci_menhir.mly"
38176 ( P.pointerify (P.make_cv cv ty) m )
38177 # 38178 "parser_cocci_menhir.ml"
38178 in
38179 _menhir_env.MenhirLib.EngineTypes.stack <- {
38180 MenhirLib.EngineTypes.state = _menhir_s;
38181 MenhirLib.EngineTypes.semv = Obj.repr _v;
38182 MenhirLib.EngineTypes.startp = _startpos;
38183 MenhirLib.EngineTypes.endp = _endpos;
38184 MenhirLib.EngineTypes.next = _menhir_stack;
38185 });
38186 (fun _menhir_env ->
38187 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38188 let {
38189 MenhirLib.EngineTypes.semv = m;
38190 MenhirLib.EngineTypes.startp = _startpos_m_;
38191 MenhirLib.EngineTypes.endp = _endpos_m_;
38192 MenhirLib.EngineTypes.next = {
38193 MenhirLib.EngineTypes.state = _menhir_s;
38194 MenhirLib.EngineTypes.semv = ty00;
38195 MenhirLib.EngineTypes.startp = _startpos_ty00_;
38196 MenhirLib.EngineTypes.endp = _endpos_ty00_;
38197 MenhirLib.EngineTypes.next = _menhir_stack;
38198 };
38199 } = _menhir_stack in
38200 let m : 'tv_list_TMul_ = Obj.magic m in
38201 let ty00 : (
38202 # 52 "parser_cocci_menhir.mly"
38203 (Data.clt)
38204 # 38205 "parser_cocci_menhir.ml"
38205 ) = Obj.magic ty00 in
38206 let _startpos = _startpos_ty00_ in
38207 let _endpos = _endpos_m_ in
38208 let _v : 'tv_typedef_ctype = let ty =
38209 let ty0 = ty00 in
38210 let ty =
38211 let ty = ty0 in
38212
38213 # 570 "parser_cocci_menhir.mly"
38214 ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
38215 # 38216 "parser_cocci_menhir.ml"
38216
38217 in
38218
38219 # 603 "parser_cocci_menhir.mly"
38220 ( ty )
38221 # 38222 "parser_cocci_menhir.ml"
38222
38223 in
38224 let cv =
38225
38226 # 39 "standard.mly"
38227 ( None )
38228 # 38229 "parser_cocci_menhir.ml"
38229
38230 in
38231
38232 # 620 "parser_cocci_menhir.mly"
38233 ( P.pointerify (P.make_cv cv ty) m )
38234 # 38235 "parser_cocci_menhir.ml"
38235 in
38236 _menhir_env.MenhirLib.EngineTypes.stack <- {
38237 MenhirLib.EngineTypes.state = _menhir_s;
38238 MenhirLib.EngineTypes.semv = Obj.repr _v;
38239 MenhirLib.EngineTypes.startp = _startpos;
38240 MenhirLib.EngineTypes.endp = _endpos;
38241 MenhirLib.EngineTypes.next = _menhir_stack;
38242 });
38243 (fun _menhir_env ->
38244 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38245 let {
38246 MenhirLib.EngineTypes.semv = m;
38247 MenhirLib.EngineTypes.startp = _startpos_m_;
38248 MenhirLib.EngineTypes.endp = _endpos_m_;
38249 MenhirLib.EngineTypes.next = {
38250 MenhirLib.EngineTypes.state = _menhir_s;
38251 MenhirLib.EngineTypes.semv = ty00;
38252 MenhirLib.EngineTypes.startp = _startpos_ty00_;
38253 MenhirLib.EngineTypes.endp = _endpos_ty00_;
38254 MenhirLib.EngineTypes.next = _menhir_stack;
38255 };
38256 } = _menhir_stack in
38257 let m : 'tv_list_TMul_ = Obj.magic m in
38258 let ty00 : (
38259 # 52 "parser_cocci_menhir.mly"
38260 (Data.clt)
38261 # 38262 "parser_cocci_menhir.ml"
38262 ) = Obj.magic ty00 in
38263 let _startpos = _startpos_ty00_ in
38264 let _endpos = _endpos_m_ in
38265 let _v : 'tv_typedef_ctype = let ty =
38266 let ty0 = ty00 in
38267 let ty =
38268 let ty = ty0 in
38269
38270 # 572 "parser_cocci_menhir.mly"
38271 ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
38272 # 38273 "parser_cocci_menhir.ml"
38273
38274 in
38275
38276 # 603 "parser_cocci_menhir.mly"
38277 ( ty )
38278 # 38279 "parser_cocci_menhir.ml"
38279
38280 in
38281 let cv =
38282
38283 # 39 "standard.mly"
38284 ( None )
38285 # 38286 "parser_cocci_menhir.ml"
38286
38287 in
38288
38289 # 620 "parser_cocci_menhir.mly"
38290 ( P.pointerify (P.make_cv cv ty) m )
38291 # 38292 "parser_cocci_menhir.ml"
38292 in
38293 _menhir_env.MenhirLib.EngineTypes.stack <- {
38294 MenhirLib.EngineTypes.state = _menhir_s;
38295 MenhirLib.EngineTypes.semv = Obj.repr _v;
38296 MenhirLib.EngineTypes.startp = _startpos;
38297 MenhirLib.EngineTypes.endp = _endpos;
38298 MenhirLib.EngineTypes.next = _menhir_stack;
38299 });
38300 (fun _menhir_env ->
38301 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38302 let {
38303 MenhirLib.EngineTypes.semv = m;
38304 MenhirLib.EngineTypes.startp = _startpos_m_;
38305 MenhirLib.EngineTypes.endp = _endpos_m_;
38306 MenhirLib.EngineTypes.next = {
38307 MenhirLib.EngineTypes.semv = i00;
38308 MenhirLib.EngineTypes.startp = _startpos_i00_;
38309 MenhirLib.EngineTypes.endp = _endpos_i00_;
38310 MenhirLib.EngineTypes.next = {
38311 MenhirLib.EngineTypes.state = _menhir_s;
38312 MenhirLib.EngineTypes.semv = s00;
38313 MenhirLib.EngineTypes.startp = _startpos_s00_;
38314 MenhirLib.EngineTypes.endp = _endpos_s00_;
38315 MenhirLib.EngineTypes.next = _menhir_stack;
38316 };
38317 };
38318 } = _menhir_stack in
38319 let m : 'tv_list_TMul_ = Obj.magic m in
38320 let i00 : 'tv_ident = Obj.magic i00 in
38321 let s00 : (
38322 # 53 "parser_cocci_menhir.mly"
38323 (Data.clt)
38324 # 38325 "parser_cocci_menhir.ml"
38325 ) = Obj.magic s00 in
38326 let _startpos = _startpos_s00_ in
38327 let _endpos = _endpos_m_ in
38328 let _v : 'tv_typedef_ctype = let ty =
38329 let i0 = i00 in
38330 let s0 = s00 in
38331 let ty =
38332 let i = i0 in
38333 let s = s0 in
38334
38335 # 574 "parser_cocci_menhir.mly"
38336 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
38337 # 38338 "parser_cocci_menhir.ml"
38338
38339 in
38340
38341 # 603 "parser_cocci_menhir.mly"
38342 ( ty )
38343 # 38344 "parser_cocci_menhir.ml"
38344
38345 in
38346 let cv =
38347
38348 # 39 "standard.mly"
38349 ( None )
38350 # 38351 "parser_cocci_menhir.ml"
38351
38352 in
38353
38354 # 620 "parser_cocci_menhir.mly"
38355 ( P.pointerify (P.make_cv cv ty) m )
38356 # 38357 "parser_cocci_menhir.ml"
38357 in
38358 _menhir_env.MenhirLib.EngineTypes.stack <- {
38359 MenhirLib.EngineTypes.state = _menhir_s;
38360 MenhirLib.EngineTypes.semv = Obj.repr _v;
38361 MenhirLib.EngineTypes.startp = _startpos;
38362 MenhirLib.EngineTypes.endp = _endpos;
38363 MenhirLib.EngineTypes.next = _menhir_stack;
38364 });
38365 (fun _menhir_env ->
38366 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38367 let {
38368 MenhirLib.EngineTypes.semv = m;
38369 MenhirLib.EngineTypes.startp = _startpos_m_;
38370 MenhirLib.EngineTypes.endp = _endpos_m_;
38371 MenhirLib.EngineTypes.next = {
38372 MenhirLib.EngineTypes.semv = r00;
38373 MenhirLib.EngineTypes.startp = _startpos_r00_;
38374 MenhirLib.EngineTypes.endp = _endpos_r00_;
38375 MenhirLib.EngineTypes.next = {
38376 MenhirLib.EngineTypes.semv = ids00;
38377 MenhirLib.EngineTypes.startp = _startpos_ids00_;
38378 MenhirLib.EngineTypes.endp = _endpos_ids00_;
38379 MenhirLib.EngineTypes.next = {
38380 MenhirLib.EngineTypes.semv = l00;
38381 MenhirLib.EngineTypes.startp = _startpos_l00_;
38382 MenhirLib.EngineTypes.endp = _endpos_l00_;
38383 MenhirLib.EngineTypes.next = {
38384 MenhirLib.EngineTypes.state = _menhir_s;
38385 MenhirLib.EngineTypes.semv = s00;
38386 MenhirLib.EngineTypes.startp = _startpos_s00_;
38387 MenhirLib.EngineTypes.endp = _endpos_s00_;
38388 MenhirLib.EngineTypes.next = _menhir_stack;
38389 };
38390 };
38391 };
38392 };
38393 } = _menhir_stack in
38394 let m : 'tv_list_TMul_ = Obj.magic m in
38395 let r00 : (
38396 # 105 "parser_cocci_menhir.mly"
38397 (Data.clt)
38398 # 38399 "parser_cocci_menhir.ml"
38399 ) = Obj.magic r00 in
38400 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
38401 let l00 : (
38402 # 105 "parser_cocci_menhir.mly"
38403 (Data.clt)
38404 # 38405 "parser_cocci_menhir.ml"
38405 ) = Obj.magic l00 in
38406 let s00 : (
38407 # 53 "parser_cocci_menhir.mly"
38408 (Data.clt)
38409 # 38410 "parser_cocci_menhir.ml"
38410 ) = Obj.magic s00 in
38411 let _startpos = _startpos_s00_ in
38412 let _endpos = _endpos_m_ in
38413 let _v : 'tv_typedef_ctype = let ty =
38414 let r0 = r00 in
38415 let ids0 = ids00 in
38416 let l0 = l00 in
38417 let s0 = s00 in
38418 let ty =
38419 let r = r0 in
38420 let ids = ids0 in
38421 let l = l0 in
38422 let s = s0 in
38423 let i =
38424
38425 # 39 "standard.mly"
38426 ( None )
38427 # 38428 "parser_cocci_menhir.ml"
38428
38429 in
38430
38431 # 576 "parser_cocci_menhir.mly"
38432 ( (if i = None && !Data.in_iso
38433 then failwith "enums must be named in the iso file");
38434 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
38435 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
38436 # 38437 "parser_cocci_menhir.ml"
38437
38438 in
38439
38440 # 603 "parser_cocci_menhir.mly"
38441 ( ty )
38442 # 38443 "parser_cocci_menhir.ml"
38443
38444 in
38445 let cv =
38446
38447 # 39 "standard.mly"
38448 ( None )
38449 # 38450 "parser_cocci_menhir.ml"
38450
38451 in
38452
38453 # 620 "parser_cocci_menhir.mly"
38454 ( P.pointerify (P.make_cv cv ty) m )
38455 # 38456 "parser_cocci_menhir.ml"
38456 in
38457 _menhir_env.MenhirLib.EngineTypes.stack <- {
38458 MenhirLib.EngineTypes.state = _menhir_s;
38459 MenhirLib.EngineTypes.semv = Obj.repr _v;
38460 MenhirLib.EngineTypes.startp = _startpos;
38461 MenhirLib.EngineTypes.endp = _endpos;
38462 MenhirLib.EngineTypes.next = _menhir_stack;
38463 });
38464 (fun _menhir_env ->
38465 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38466 let {
38467 MenhirLib.EngineTypes.semv = m;
38468 MenhirLib.EngineTypes.startp = _startpos_m_;
38469 MenhirLib.EngineTypes.endp = _endpos_m_;
38470 MenhirLib.EngineTypes.next = {
38471 MenhirLib.EngineTypes.semv = r00;
38472 MenhirLib.EngineTypes.startp = _startpos_r00_;
38473 MenhirLib.EngineTypes.endp = _endpos_r00_;
38474 MenhirLib.EngineTypes.next = {
38475 MenhirLib.EngineTypes.semv = ids00;
38476 MenhirLib.EngineTypes.startp = _startpos_ids00_;
38477 MenhirLib.EngineTypes.endp = _endpos_ids00_;
38478 MenhirLib.EngineTypes.next = {
38479 MenhirLib.EngineTypes.semv = l00;
38480 MenhirLib.EngineTypes.startp = _startpos_l00_;
38481 MenhirLib.EngineTypes.endp = _endpos_l00_;
38482 MenhirLib.EngineTypes.next = {
38483 MenhirLib.EngineTypes.semv = x000;
38484 MenhirLib.EngineTypes.startp = _startpos_x000_;
38485 MenhirLib.EngineTypes.endp = _endpos_x000_;
38486 MenhirLib.EngineTypes.next = {
38487 MenhirLib.EngineTypes.state = _menhir_s;
38488 MenhirLib.EngineTypes.semv = s00;
38489 MenhirLib.EngineTypes.startp = _startpos_s00_;
38490 MenhirLib.EngineTypes.endp = _endpos_s00_;
38491 MenhirLib.EngineTypes.next = _menhir_stack;
38492 };
38493 };
38494 };
38495 };
38496 };
38497 } = _menhir_stack in
38498 let m : 'tv_list_TMul_ = Obj.magic m in
38499 let r00 : (
38500 # 105 "parser_cocci_menhir.mly"
38501 (Data.clt)
38502 # 38503 "parser_cocci_menhir.ml"
38503 ) = Obj.magic r00 in
38504 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
38505 let l00 : (
38506 # 105 "parser_cocci_menhir.mly"
38507 (Data.clt)
38508 # 38509 "parser_cocci_menhir.ml"
38509 ) = Obj.magic l00 in
38510 let x000 : 'tv_ident = Obj.magic x000 in
38511 let s00 : (
38512 # 53 "parser_cocci_menhir.mly"
38513 (Data.clt)
38514 # 38515 "parser_cocci_menhir.ml"
38515 ) = Obj.magic s00 in
38516 let _startpos = _startpos_s00_ in
38517 let _endpos = _endpos_m_ in
38518 let _v : 'tv_typedef_ctype = let ty =
38519 let r0 = r00 in
38520 let ids0 = ids00 in
38521 let l0 = l00 in
38522 let x00 = x000 in
38523 let s0 = s00 in
38524 let ty =
38525 let r = r0 in
38526 let ids = ids0 in
38527 let l = l0 in
38528 let x0 = x00 in
38529 let s = s0 in
38530 let i =
38531 let x = x0 in
38532
38533 # 41 "standard.mly"
38534 ( Some x )
38535 # 38536 "parser_cocci_menhir.ml"
38536
38537 in
38538
38539 # 576 "parser_cocci_menhir.mly"
38540 ( (if i = None && !Data.in_iso
38541 then failwith "enums must be named in the iso file");
38542 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
38543 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
38544 # 38545 "parser_cocci_menhir.ml"
38545
38546 in
38547
38548 # 603 "parser_cocci_menhir.mly"
38549 ( ty )
38550 # 38551 "parser_cocci_menhir.ml"
38551
38552 in
38553 let cv =
38554
38555 # 39 "standard.mly"
38556 ( None )
38557 # 38558 "parser_cocci_menhir.ml"
38558
38559 in
38560
38561 # 620 "parser_cocci_menhir.mly"
38562 ( P.pointerify (P.make_cv cv ty) m )
38563 # 38564 "parser_cocci_menhir.ml"
38564 in
38565 _menhir_env.MenhirLib.EngineTypes.stack <- {
38566 MenhirLib.EngineTypes.state = _menhir_s;
38567 MenhirLib.EngineTypes.semv = Obj.repr _v;
38568 MenhirLib.EngineTypes.startp = _startpos;
38569 MenhirLib.EngineTypes.endp = _endpos;
38570 MenhirLib.EngineTypes.next = _menhir_stack;
38571 });
38572 (fun _menhir_env ->
38573 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38574 let {
38575 MenhirLib.EngineTypes.semv = m;
38576 MenhirLib.EngineTypes.startp = _startpos_m_;
38577 MenhirLib.EngineTypes.endp = _endpos_m_;
38578 MenhirLib.EngineTypes.next = {
38579 MenhirLib.EngineTypes.semv = i00;
38580 MenhirLib.EngineTypes.startp = _startpos_i00_;
38581 MenhirLib.EngineTypes.endp = _endpos_i00_;
38582 MenhirLib.EngineTypes.next = {
38583 MenhirLib.EngineTypes.state = _menhir_s;
38584 MenhirLib.EngineTypes.semv = s00;
38585 MenhirLib.EngineTypes.startp = _startpos_s00_;
38586 MenhirLib.EngineTypes.endp = _endpos_s00_;
38587 MenhirLib.EngineTypes.next = _menhir_stack;
38588 };
38589 };
38590 } = _menhir_stack in
38591 let m : 'tv_list_TMul_ = Obj.magic m in
38592 let i00 : 'tv_ident = Obj.magic i00 in
38593 let s00 : 'tv_struct_or_union = Obj.magic s00 in
38594 let _startpos = _startpos_s00_ in
38595 let _endpos = _endpos_m_ in
38596 let _v : 'tv_typedef_ctype = let ty =
38597 let i0 = i00 in
38598 let s0 = s00 in
38599 let ty =
38600 let i = i0 in
38601 let s = s0 in
38602
38603 # 581 "parser_cocci_menhir.mly"
38604 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
38605 # 38606 "parser_cocci_menhir.ml"
38606
38607 in
38608
38609 # 603 "parser_cocci_menhir.mly"
38610 ( ty )
38611 # 38612 "parser_cocci_menhir.ml"
38612
38613 in
38614 let cv =
38615
38616 # 39 "standard.mly"
38617 ( None )
38618 # 38619 "parser_cocci_menhir.ml"
38619
38620 in
38621
38622 # 620 "parser_cocci_menhir.mly"
38623 ( P.pointerify (P.make_cv cv ty) m )
38624 # 38625 "parser_cocci_menhir.ml"
38625 in
38626 _menhir_env.MenhirLib.EngineTypes.stack <- {
38627 MenhirLib.EngineTypes.state = _menhir_s;
38628 MenhirLib.EngineTypes.semv = Obj.repr _v;
38629 MenhirLib.EngineTypes.startp = _startpos;
38630 MenhirLib.EngineTypes.endp = _endpos;
38631 MenhirLib.EngineTypes.next = _menhir_stack;
38632 });
38633 (fun _menhir_env ->
38634 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38635 let {
38636 MenhirLib.EngineTypes.semv = m;
38637 MenhirLib.EngineTypes.startp = _startpos_m_;
38638 MenhirLib.EngineTypes.endp = _endpos_m_;
38639 MenhirLib.EngineTypes.next = {
38640 MenhirLib.EngineTypes.semv = r00;
38641 MenhirLib.EngineTypes.startp = _startpos_r00_;
38642 MenhirLib.EngineTypes.endp = _endpos_r00_;
38643 MenhirLib.EngineTypes.next = {
38644 MenhirLib.EngineTypes.semv = d00;
38645 MenhirLib.EngineTypes.startp = _startpos_d00_;
38646 MenhirLib.EngineTypes.endp = _endpos_d00_;
38647 MenhirLib.EngineTypes.next = {
38648 MenhirLib.EngineTypes.semv = l00;
38649 MenhirLib.EngineTypes.startp = _startpos_l00_;
38650 MenhirLib.EngineTypes.endp = _endpos_l00_;
38651 MenhirLib.EngineTypes.next = {
38652 MenhirLib.EngineTypes.state = _menhir_s;
38653 MenhirLib.EngineTypes.semv = s00;
38654 MenhirLib.EngineTypes.startp = _startpos_s00_;
38655 MenhirLib.EngineTypes.endp = _endpos_s00_;
38656 MenhirLib.EngineTypes.next = _menhir_stack;
38657 };
38658 };
38659 };
38660 };
38661 } = _menhir_stack in
38662 let m : 'tv_list_TMul_ = Obj.magic m in
38663 let r00 : (
38664 # 105 "parser_cocci_menhir.mly"
38665 (Data.clt)
38666 # 38667 "parser_cocci_menhir.ml"
38667 ) = Obj.magic r00 in
38668 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
38669 let l00 : (
38670 # 105 "parser_cocci_menhir.mly"
38671 (Data.clt)
38672 # 38673 "parser_cocci_menhir.ml"
38673 ) = Obj.magic l00 in
38674 let s00 : 'tv_struct_or_union = Obj.magic s00 in
38675 let _startpos = _startpos_s00_ in
38676 let _endpos = _endpos_m_ in
38677 let _v : 'tv_typedef_ctype = let ty =
38678 let r0 = r00 in
38679 let d0 = d00 in
38680 let l0 = l00 in
38681 let s0 = s00 in
38682 let ty =
38683 let r = r0 in
38684 let d = d0 in
38685 let l = l0 in
38686 let s = s0 in
38687 let i =
38688
38689 # 39 "standard.mly"
38690 ( None )
38691 # 38692 "parser_cocci_menhir.ml"
38692
38693 in
38694
38695 # 584 "parser_cocci_menhir.mly"
38696 ( (if i = None && !Data.in_iso
38697 then failwith "structures must be named in the iso file");
38698 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
38699 P.clt2mcode "{" l,
38700 d, P.clt2mcode "}" r)) )
38701 # 38702 "parser_cocci_menhir.ml"
38702
38703 in
38704
38705 # 603 "parser_cocci_menhir.mly"
38706 ( ty )
38707 # 38708 "parser_cocci_menhir.ml"
38708
38709 in
38710 let cv =
38711
38712 # 39 "standard.mly"
38713 ( None )
38714 # 38715 "parser_cocci_menhir.ml"
38715
38716 in
38717
38718 # 620 "parser_cocci_menhir.mly"
38719 ( P.pointerify (P.make_cv cv ty) m )
38720 # 38721 "parser_cocci_menhir.ml"
38721 in
38722 _menhir_env.MenhirLib.EngineTypes.stack <- {
38723 MenhirLib.EngineTypes.state = _menhir_s;
38724 MenhirLib.EngineTypes.semv = Obj.repr _v;
38725 MenhirLib.EngineTypes.startp = _startpos;
38726 MenhirLib.EngineTypes.endp = _endpos;
38727 MenhirLib.EngineTypes.next = _menhir_stack;
38728 });
38729 (fun _menhir_env ->
38730 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38731 let {
38732 MenhirLib.EngineTypes.semv = m;
38733 MenhirLib.EngineTypes.startp = _startpos_m_;
38734 MenhirLib.EngineTypes.endp = _endpos_m_;
38735 MenhirLib.EngineTypes.next = {
38736 MenhirLib.EngineTypes.semv = r00;
38737 MenhirLib.EngineTypes.startp = _startpos_r00_;
38738 MenhirLib.EngineTypes.endp = _endpos_r00_;
38739 MenhirLib.EngineTypes.next = {
38740 MenhirLib.EngineTypes.semv = d00;
38741 MenhirLib.EngineTypes.startp = _startpos_d00_;
38742 MenhirLib.EngineTypes.endp = _endpos_d00_;
38743 MenhirLib.EngineTypes.next = {
38744 MenhirLib.EngineTypes.semv = l00;
38745 MenhirLib.EngineTypes.startp = _startpos_l00_;
38746 MenhirLib.EngineTypes.endp = _endpos_l00_;
38747 MenhirLib.EngineTypes.next = {
38748 MenhirLib.EngineTypes.semv = x000;
38749 MenhirLib.EngineTypes.startp = _startpos_x000_;
38750 MenhirLib.EngineTypes.endp = _endpos_x000_;
38751 MenhirLib.EngineTypes.next = {
38752 MenhirLib.EngineTypes.state = _menhir_s;
38753 MenhirLib.EngineTypes.semv = s00;
38754 MenhirLib.EngineTypes.startp = _startpos_s00_;
38755 MenhirLib.EngineTypes.endp = _endpos_s00_;
38756 MenhirLib.EngineTypes.next = _menhir_stack;
38757 };
38758 };
38759 };
38760 };
38761 };
38762 } = _menhir_stack in
38763 let m : 'tv_list_TMul_ = Obj.magic m in
38764 let r00 : (
38765 # 105 "parser_cocci_menhir.mly"
38766 (Data.clt)
38767 # 38768 "parser_cocci_menhir.ml"
38768 ) = Obj.magic r00 in
38769 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
38770 let l00 : (
38771 # 105 "parser_cocci_menhir.mly"
38772 (Data.clt)
38773 # 38774 "parser_cocci_menhir.ml"
38774 ) = Obj.magic l00 in
38775 let x000 : 'tv_ident = Obj.magic x000 in
38776 let s00 : 'tv_struct_or_union = Obj.magic s00 in
38777 let _startpos = _startpos_s00_ in
38778 let _endpos = _endpos_m_ in
38779 let _v : 'tv_typedef_ctype = let ty =
38780 let r0 = r00 in
38781 let d0 = d00 in
38782 let l0 = l00 in
38783 let x00 = x000 in
38784 let s0 = s00 in
38785 let ty =
38786 let r = r0 in
38787 let d = d0 in
38788 let l = l0 in
38789 let x0 = x00 in
38790 let s = s0 in
38791 let i =
38792 let x = x0 in
38793
38794 # 41 "standard.mly"
38795 ( Some x )
38796 # 38797 "parser_cocci_menhir.ml"
38797
38798 in
38799
38800 # 584 "parser_cocci_menhir.mly"
38801 ( (if i = None && !Data.in_iso
38802 then failwith "structures must be named in the iso file");
38803 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
38804 P.clt2mcode "{" l,
38805 d, P.clt2mcode "}" r)) )
38806 # 38807 "parser_cocci_menhir.ml"
38807
38808 in
38809
38810 # 603 "parser_cocci_menhir.mly"
38811 ( ty )
38812 # 38813 "parser_cocci_menhir.ml"
38813
38814 in
38815 let cv =
38816
38817 # 39 "standard.mly"
38818 ( None )
38819 # 38820 "parser_cocci_menhir.ml"
38820
38821 in
38822
38823 # 620 "parser_cocci_menhir.mly"
38824 ( P.pointerify (P.make_cv cv ty) m )
38825 # 38826 "parser_cocci_menhir.ml"
38826 in
38827 _menhir_env.MenhirLib.EngineTypes.stack <- {
38828 MenhirLib.EngineTypes.state = _menhir_s;
38829 MenhirLib.EngineTypes.semv = Obj.repr _v;
38830 MenhirLib.EngineTypes.startp = _startpos;
38831 MenhirLib.EngineTypes.endp = _endpos;
38832 MenhirLib.EngineTypes.next = _menhir_stack;
38833 });
38834 (fun _menhir_env ->
38835 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38836 let {
38837 MenhirLib.EngineTypes.semv = m;
38838 MenhirLib.EngineTypes.startp = _startpos_m_;
38839 MenhirLib.EngineTypes.endp = _endpos_m_;
38840 MenhirLib.EngineTypes.next = {
38841 MenhirLib.EngineTypes.semv = r00;
38842 MenhirLib.EngineTypes.startp = _startpos_r00_;
38843 MenhirLib.EngineTypes.endp = _endpos_r00_;
38844 MenhirLib.EngineTypes.next = {
38845 MenhirLib.EngineTypes.semv = d00;
38846 MenhirLib.EngineTypes.startp = _startpos_d00_;
38847 MenhirLib.EngineTypes.endp = _endpos_d00_;
38848 MenhirLib.EngineTypes.next = {
38849 MenhirLib.EngineTypes.semv = l00;
38850 MenhirLib.EngineTypes.startp = _startpos_l00_;
38851 MenhirLib.EngineTypes.endp = _endpos_l00_;
38852 MenhirLib.EngineTypes.next = {
38853 MenhirLib.EngineTypes.state = _menhir_s;
38854 MenhirLib.EngineTypes.semv = s00;
38855 MenhirLib.EngineTypes.startp = _startpos_s00_;
38856 MenhirLib.EngineTypes.endp = _endpos_s00_;
38857 MenhirLib.EngineTypes.next = _menhir_stack;
38858 };
38859 };
38860 };
38861 };
38862 } = _menhir_stack in
38863 let m : 'tv_list_TMul_ = Obj.magic m in
38864 let r00 : (
38865 # 105 "parser_cocci_menhir.mly"
38866 (Data.clt)
38867 # 38868 "parser_cocci_menhir.ml"
38868 ) = Obj.magic r00 in
38869 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
38870 let l00 : (
38871 # 105 "parser_cocci_menhir.mly"
38872 (Data.clt)
38873 # 38874 "parser_cocci_menhir.ml"
38874 ) = Obj.magic l00 in
38875 let s00 : (
38876 # 68 "parser_cocci_menhir.mly"
38877 (Parse_aux.info)
38878 # 38879 "parser_cocci_menhir.ml"
38879 ) = Obj.magic s00 in
38880 let _startpos = _startpos_s00_ in
38881 let _endpos = _endpos_m_ in
38882 let _v : 'tv_typedef_ctype = let ty =
38883 let r0 = r00 in
38884 let d0 = d00 in
38885 let l0 = l00 in
38886 let s0 = s00 in
38887 let ty =
38888 let r = r0 in
38889 let d = d0 in
38890 let l = l0 in
38891 let s = s0 in
38892
38893 # 590 "parser_cocci_menhir.mly"
38894 ( let (nm,pure,clt) = s in
38895 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
38896 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
38897 # 38898 "parser_cocci_menhir.ml"
38898
38899 in
38900
38901 # 603 "parser_cocci_menhir.mly"
38902 ( ty )
38903 # 38904 "parser_cocci_menhir.ml"
38904
38905 in
38906 let cv =
38907
38908 # 39 "standard.mly"
38909 ( None )
38910 # 38911 "parser_cocci_menhir.ml"
38911
38912 in
38913
38914 # 620 "parser_cocci_menhir.mly"
38915 ( P.pointerify (P.make_cv cv ty) m )
38916 # 38917 "parser_cocci_menhir.ml"
38917 in
38918 _menhir_env.MenhirLib.EngineTypes.stack <- {
38919 MenhirLib.EngineTypes.state = _menhir_s;
38920 MenhirLib.EngineTypes.semv = Obj.repr _v;
38921 MenhirLib.EngineTypes.startp = _startpos;
38922 MenhirLib.EngineTypes.endp = _endpos;
38923 MenhirLib.EngineTypes.next = _menhir_stack;
38924 });
38925 (fun _menhir_env ->
38926 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38927 let {
38928 MenhirLib.EngineTypes.semv = m;
38929 MenhirLib.EngineTypes.startp = _startpos_m_;
38930 MenhirLib.EngineTypes.endp = _endpos_m_;
38931 MenhirLib.EngineTypes.next = {
38932 MenhirLib.EngineTypes.state = _menhir_s;
38933 MenhirLib.EngineTypes.semv = p00;
38934 MenhirLib.EngineTypes.startp = _startpos_p00_;
38935 MenhirLib.EngineTypes.endp = _endpos_p00_;
38936 MenhirLib.EngineTypes.next = _menhir_stack;
38937 };
38938 } = _menhir_stack in
38939 let m : 'tv_list_TMul_ = Obj.magic m in
38940 let p00 : (
38941 # 62 "parser_cocci_menhir.mly"
38942 (string * Data.clt)
38943 # 38944 "parser_cocci_menhir.ml"
38944 ) = Obj.magic p00 in
38945 let _startpos = _startpos_p00_ in
38946 let _endpos = _endpos_m_ in
38947 let _v : 'tv_typedef_ctype = let ty =
38948 let p0 = p00 in
38949 let ty =
38950 let p = p0 in
38951
38952 # 594 "parser_cocci_menhir.mly"
38953 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
38954 # 38955 "parser_cocci_menhir.ml"
38955
38956 in
38957
38958 # 603 "parser_cocci_menhir.mly"
38959 ( ty )
38960 # 38961 "parser_cocci_menhir.ml"
38961
38962 in
38963 let cv =
38964
38965 # 39 "standard.mly"
38966 ( None )
38967 # 38968 "parser_cocci_menhir.ml"
38968
38969 in
38970
38971 # 620 "parser_cocci_menhir.mly"
38972 ( P.pointerify (P.make_cv cv ty) m )
38973 # 38974 "parser_cocci_menhir.ml"
38974 in
38975 _menhir_env.MenhirLib.EngineTypes.stack <- {
38976 MenhirLib.EngineTypes.state = _menhir_s;
38977 MenhirLib.EngineTypes.semv = Obj.repr _v;
38978 MenhirLib.EngineTypes.startp = _startpos;
38979 MenhirLib.EngineTypes.endp = _endpos;
38980 MenhirLib.EngineTypes.next = _menhir_stack;
38981 });
38982 (fun _menhir_env ->
38983 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
38984 let {
38985 MenhirLib.EngineTypes.semv = m;
38986 MenhirLib.EngineTypes.startp = _startpos_m_;
38987 MenhirLib.EngineTypes.endp = _endpos_m_;
38988 MenhirLib.EngineTypes.next = {
38989 MenhirLib.EngineTypes.semv = ty00;
38990 MenhirLib.EngineTypes.startp = _startpos_ty00_;
38991 MenhirLib.EngineTypes.endp = _endpos_ty00_;
38992 MenhirLib.EngineTypes.next = {
38993 MenhirLib.EngineTypes.semv = r0;
38994 MenhirLib.EngineTypes.startp = _startpos_r0_;
38995 MenhirLib.EngineTypes.endp = _endpos_r0_;
38996 MenhirLib.EngineTypes.next = {
38997 MenhirLib.EngineTypes.state = _menhir_s;
38998 MenhirLib.EngineTypes.semv = x0;
38999 MenhirLib.EngineTypes.startp = _startpos_x0_;
39000 MenhirLib.EngineTypes.endp = _endpos_x0_;
39001 MenhirLib.EngineTypes.next = _menhir_stack;
39002 };
39003 };
39004 };
39005 } = _menhir_stack in
39006 let m : 'tv_list_TMul_ = Obj.magic m in
39007 let ty00 : (
39008 # 51 "parser_cocci_menhir.mly"
39009 (Data.clt)
39010 # 39011 "parser_cocci_menhir.ml"
39011 ) = Obj.magic ty00 in
39012 let r0 : (
39013 # 54 "parser_cocci_menhir.mly"
39014 (Data.clt)
39015 # 39016 "parser_cocci_menhir.ml"
39016 ) = Obj.magic r0 in
39017 let x0 : 'tv_const_vol = Obj.magic x0 in
39018 let _startpos = _startpos_x0_ in
39019 let _endpos = _endpos_m_ in
39020 let _v : 'tv_typedef_ctype = let ty =
39021 let ty0 = ty00 in
39022 let r = r0 in
39023 let ty =
39024 let ty = ty0 in
39025
39026 # 536 "parser_cocci_menhir.mly"
39027 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
39028 # 39029 "parser_cocci_menhir.ml"
39029
39030 in
39031
39032 # 599 "parser_cocci_menhir.mly"
39033 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
39034 # 39035 "parser_cocci_menhir.ml"
39035
39036 in
39037 let cv =
39038 let x = x0 in
39039
39040 # 41 "standard.mly"
39041 ( Some x )
39042 # 39043 "parser_cocci_menhir.ml"
39043
39044 in
39045
39046 # 620 "parser_cocci_menhir.mly"
39047 ( P.pointerify (P.make_cv cv ty) m )
39048 # 39049 "parser_cocci_menhir.ml"
39049 in
39050 _menhir_env.MenhirLib.EngineTypes.stack <- {
39051 MenhirLib.EngineTypes.state = _menhir_s;
39052 MenhirLib.EngineTypes.semv = Obj.repr _v;
39053 MenhirLib.EngineTypes.startp = _startpos;
39054 MenhirLib.EngineTypes.endp = _endpos;
39055 MenhirLib.EngineTypes.next = _menhir_stack;
39056 });
39057 (fun _menhir_env ->
39058 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39059 let {
39060 MenhirLib.EngineTypes.semv = m;
39061 MenhirLib.EngineTypes.startp = _startpos_m_;
39062 MenhirLib.EngineTypes.endp = _endpos_m_;
39063 MenhirLib.EngineTypes.next = {
39064 MenhirLib.EngineTypes.semv = ty00;
39065 MenhirLib.EngineTypes.startp = _startpos_ty00_;
39066 MenhirLib.EngineTypes.endp = _endpos_ty00_;
39067 MenhirLib.EngineTypes.next = {
39068 MenhirLib.EngineTypes.semv = r0;
39069 MenhirLib.EngineTypes.startp = _startpos_r0_;
39070 MenhirLib.EngineTypes.endp = _endpos_r0_;
39071 MenhirLib.EngineTypes.next = {
39072 MenhirLib.EngineTypes.state = _menhir_s;
39073 MenhirLib.EngineTypes.semv = x0;
39074 MenhirLib.EngineTypes.startp = _startpos_x0_;
39075 MenhirLib.EngineTypes.endp = _endpos_x0_;
39076 MenhirLib.EngineTypes.next = _menhir_stack;
39077 };
39078 };
39079 };
39080 } = _menhir_stack in
39081 let m : 'tv_list_TMul_ = Obj.magic m in
39082 let ty00 : (
39083 # 51 "parser_cocci_menhir.mly"
39084 (Data.clt)
39085 # 39086 "parser_cocci_menhir.ml"
39086 ) = Obj.magic ty00 in
39087 let r0 : (
39088 # 54 "parser_cocci_menhir.mly"
39089 (Data.clt)
39090 # 39091 "parser_cocci_menhir.ml"
39091 ) = Obj.magic r0 in
39092 let x0 : 'tv_const_vol = Obj.magic x0 in
39093 let _startpos = _startpos_x0_ in
39094 let _endpos = _endpos_m_ in
39095 let _v : 'tv_typedef_ctype = let ty =
39096 let ty0 = ty00 in
39097 let r = r0 in
39098 let ty =
39099 let ty = ty0 in
39100
39101 # 538 "parser_cocci_menhir.mly"
39102 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
39103 # 39104 "parser_cocci_menhir.ml"
39104
39105 in
39106
39107 # 599 "parser_cocci_menhir.mly"
39108 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
39109 # 39110 "parser_cocci_menhir.ml"
39110
39111 in
39112 let cv =
39113 let x = x0 in
39114
39115 # 41 "standard.mly"
39116 ( Some x )
39117 # 39118 "parser_cocci_menhir.ml"
39118
39119 in
39120
39121 # 620 "parser_cocci_menhir.mly"
39122 ( P.pointerify (P.make_cv cv ty) m )
39123 # 39124 "parser_cocci_menhir.ml"
39124 in
39125 _menhir_env.MenhirLib.EngineTypes.stack <- {
39126 MenhirLib.EngineTypes.state = _menhir_s;
39127 MenhirLib.EngineTypes.semv = Obj.repr _v;
39128 MenhirLib.EngineTypes.startp = _startpos;
39129 MenhirLib.EngineTypes.endp = _endpos;
39130 MenhirLib.EngineTypes.next = _menhir_stack;
39131 });
39132 (fun _menhir_env ->
39133 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39134 let {
39135 MenhirLib.EngineTypes.semv = m;
39136 MenhirLib.EngineTypes.startp = _startpos_m_;
39137 MenhirLib.EngineTypes.endp = _endpos_m_;
39138 MenhirLib.EngineTypes.next = {
39139 MenhirLib.EngineTypes.semv = ty00;
39140 MenhirLib.EngineTypes.startp = _startpos_ty00_;
39141 MenhirLib.EngineTypes.endp = _endpos_ty00_;
39142 MenhirLib.EngineTypes.next = {
39143 MenhirLib.EngineTypes.semv = r0;
39144 MenhirLib.EngineTypes.startp = _startpos_r0_;
39145 MenhirLib.EngineTypes.endp = _endpos_r0_;
39146 MenhirLib.EngineTypes.next = {
39147 MenhirLib.EngineTypes.state = _menhir_s;
39148 MenhirLib.EngineTypes.semv = x0;
39149 MenhirLib.EngineTypes.startp = _startpos_x0_;
39150 MenhirLib.EngineTypes.endp = _endpos_x0_;
39151 MenhirLib.EngineTypes.next = _menhir_stack;
39152 };
39153 };
39154 };
39155 } = _menhir_stack in
39156 let m : 'tv_list_TMul_ = Obj.magic m in
39157 let ty00 : (
39158 # 51 "parser_cocci_menhir.mly"
39159 (Data.clt)
39160 # 39161 "parser_cocci_menhir.ml"
39161 ) = Obj.magic ty00 in
39162 let r0 : (
39163 # 54 "parser_cocci_menhir.mly"
39164 (Data.clt)
39165 # 39166 "parser_cocci_menhir.ml"
39166 ) = Obj.magic r0 in
39167 let x0 : 'tv_const_vol = Obj.magic x0 in
39168 let _startpos = _startpos_x0_ in
39169 let _endpos = _endpos_m_ in
39170 let _v : 'tv_typedef_ctype = let ty =
39171 let ty0 = ty00 in
39172 let r = r0 in
39173 let ty =
39174 let ty = ty0 in
39175
39176 # 540 "parser_cocci_menhir.mly"
39177 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
39178 # 39179 "parser_cocci_menhir.ml"
39179
39180 in
39181
39182 # 599 "parser_cocci_menhir.mly"
39183 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
39184 # 39185 "parser_cocci_menhir.ml"
39185
39186 in
39187 let cv =
39188 let x = x0 in
39189
39190 # 41 "standard.mly"
39191 ( Some x )
39192 # 39193 "parser_cocci_menhir.ml"
39193
39194 in
39195
39196 # 620 "parser_cocci_menhir.mly"
39197 ( P.pointerify (P.make_cv cv ty) m )
39198 # 39199 "parser_cocci_menhir.ml"
39199 in
39200 _menhir_env.MenhirLib.EngineTypes.stack <- {
39201 MenhirLib.EngineTypes.state = _menhir_s;
39202 MenhirLib.EngineTypes.semv = Obj.repr _v;
39203 MenhirLib.EngineTypes.startp = _startpos;
39204 MenhirLib.EngineTypes.endp = _endpos;
39205 MenhirLib.EngineTypes.next = _menhir_stack;
39206 });
39207 (fun _menhir_env ->
39208 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39209 let {
39210 MenhirLib.EngineTypes.semv = m;
39211 MenhirLib.EngineTypes.startp = _startpos_m_;
39212 MenhirLib.EngineTypes.endp = _endpos_m_;
39213 MenhirLib.EngineTypes.next = {
39214 MenhirLib.EngineTypes.semv = p00;
39215 MenhirLib.EngineTypes.startp = _startpos_p00_;
39216 MenhirLib.EngineTypes.endp = _endpos_p00_;
39217 MenhirLib.EngineTypes.next = {
39218 MenhirLib.EngineTypes.semv = r0;
39219 MenhirLib.EngineTypes.startp = _startpos_r0_;
39220 MenhirLib.EngineTypes.endp = _endpos_r0_;
39221 MenhirLib.EngineTypes.next = {
39222 MenhirLib.EngineTypes.state = _menhir_s;
39223 MenhirLib.EngineTypes.semv = x0;
39224 MenhirLib.EngineTypes.startp = _startpos_x0_;
39225 MenhirLib.EngineTypes.endp = _endpos_x0_;
39226 MenhirLib.EngineTypes.next = _menhir_stack;
39227 };
39228 };
39229 };
39230 } = _menhir_stack in
39231 let m : 'tv_list_TMul_ = Obj.magic m in
39232 let p00 : (
39233 # 68 "parser_cocci_menhir.mly"
39234 (Parse_aux.info)
39235 # 39236 "parser_cocci_menhir.ml"
39236 ) = Obj.magic p00 in
39237 let r0 : (
39238 # 54 "parser_cocci_menhir.mly"
39239 (Data.clt)
39240 # 39241 "parser_cocci_menhir.ml"
39241 ) = Obj.magic r0 in
39242 let x0 : 'tv_const_vol = Obj.magic x0 in
39243 let _startpos = _startpos_x0_ in
39244 let _endpos = _endpos_m_ in
39245 let _v : 'tv_typedef_ctype = let ty =
39246 let p0 = p00 in
39247 let r = r0 in
39248 let ty =
39249 let p = p0 in
39250
39251 # 542 "parser_cocci_menhir.mly"
39252 ( let (nm,pure,clt) = p in
39253 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
39254 # 39255 "parser_cocci_menhir.ml"
39255
39256 in
39257
39258 # 599 "parser_cocci_menhir.mly"
39259 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
39260 # 39261 "parser_cocci_menhir.ml"
39261
39262 in
39263 let cv =
39264 let x = x0 in
39265
39266 # 41 "standard.mly"
39267 ( Some x )
39268 # 39269 "parser_cocci_menhir.ml"
39269
39270 in
39271
39272 # 620 "parser_cocci_menhir.mly"
39273 ( P.pointerify (P.make_cv cv ty) m )
39274 # 39275 "parser_cocci_menhir.ml"
39275 in
39276 _menhir_env.MenhirLib.EngineTypes.stack <- {
39277 MenhirLib.EngineTypes.state = _menhir_s;
39278 MenhirLib.EngineTypes.semv = Obj.repr _v;
39279 MenhirLib.EngineTypes.startp = _startpos;
39280 MenhirLib.EngineTypes.endp = _endpos;
39281 MenhirLib.EngineTypes.next = _menhir_stack;
39282 });
39283 (fun _menhir_env ->
39284 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39285 let {
39286 MenhirLib.EngineTypes.semv = m;
39287 MenhirLib.EngineTypes.startp = _startpos_m_;
39288 MenhirLib.EngineTypes.endp = _endpos_m_;
39289 MenhirLib.EngineTypes.next = {
39290 MenhirLib.EngineTypes.semv = p00;
39291 MenhirLib.EngineTypes.startp = _startpos_p00_;
39292 MenhirLib.EngineTypes.endp = _endpos_p00_;
39293 MenhirLib.EngineTypes.next = {
39294 MenhirLib.EngineTypes.startp = _startpos__4_;
39295 MenhirLib.EngineTypes.endp = _endpos__4_;
39296 MenhirLib.EngineTypes.next = {
39297 MenhirLib.EngineTypes.semv = r00;
39298 MenhirLib.EngineTypes.startp = _startpos_r00_;
39299 MenhirLib.EngineTypes.endp = _endpos_r00_;
39300 MenhirLib.EngineTypes.next = {
39301 MenhirLib.EngineTypes.semv = r1;
39302 MenhirLib.EngineTypes.startp = _startpos_r1_;
39303 MenhirLib.EngineTypes.endp = _endpos_r1_;
39304 MenhirLib.EngineTypes.next = {
39305 MenhirLib.EngineTypes.state = _menhir_s;
39306 MenhirLib.EngineTypes.semv = x0;
39307 MenhirLib.EngineTypes.startp = _startpos_x0_;
39308 MenhirLib.EngineTypes.endp = _endpos_x0_;
39309 MenhirLib.EngineTypes.next = _menhir_stack;
39310 };
39311 };
39312 };
39313 };
39314 };
39315 } = _menhir_stack in
39316 let m : 'tv_list_TMul_ = Obj.magic m in
39317 let p00 : (
39318 # 62 "parser_cocci_menhir.mly"
39319 (string * Data.clt)
39320 # 39321 "parser_cocci_menhir.ml"
39321 ) = Obj.magic p00 in
39322 let r00 : (
39323 # 49 "parser_cocci_menhir.mly"
39324 (string)
39325 # 39326 "parser_cocci_menhir.ml"
39326 ) = Obj.magic r00 in
39327 let r1 : (
39328 # 54 "parser_cocci_menhir.mly"
39329 (Data.clt)
39330 # 39331 "parser_cocci_menhir.ml"
39331 ) = Obj.magic r1 in
39332 let x0 : 'tv_const_vol = Obj.magic x0 in
39333 let _startpos = _startpos_x0_ in
39334 let _endpos = _endpos_m_ in
39335 let _v : 'tv_typedef_ctype = let ty =
39336 let p0 = p00 in
39337 let r0 = r00 in
39338 let r = r1 in
39339 let ty =
39340 let p = p0 in
39341 let r = r0 in
39342
39343 # 545 "parser_cocci_menhir.mly"
39344 ( let nm = (r,P.id2name p) in
39345 (* this is only possible when we are in a metavar decl. Otherwise,
39346 it will be represented already as a MetaType *)
39347 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
39348 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
39349 Ast0.Impure (*will be ignored*))) )
39350 # 39351 "parser_cocci_menhir.ml"
39351
39352 in
39353
39354 # 599 "parser_cocci_menhir.mly"
39355 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
39356 # 39357 "parser_cocci_menhir.ml"
39357
39358 in
39359 let cv =
39360 let x = x0 in
39361
39362 # 41 "standard.mly"
39363 ( Some x )
39364 # 39365 "parser_cocci_menhir.ml"
39365
39366 in
39367
39368 # 620 "parser_cocci_menhir.mly"
39369 ( P.pointerify (P.make_cv cv ty) m )
39370 # 39371 "parser_cocci_menhir.ml"
39371 in
39372 _menhir_env.MenhirLib.EngineTypes.stack <- {
39373 MenhirLib.EngineTypes.state = _menhir_s;
39374 MenhirLib.EngineTypes.semv = Obj.repr _v;
39375 MenhirLib.EngineTypes.startp = _startpos;
39376 MenhirLib.EngineTypes.endp = _endpos;
39377 MenhirLib.EngineTypes.next = _menhir_stack;
39378 });
39379 (fun _menhir_env ->
39380 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39381 let {
39382 MenhirLib.EngineTypes.semv = m;
39383 MenhirLib.EngineTypes.startp = _startpos_m_;
39384 MenhirLib.EngineTypes.endp = _endpos_m_;
39385 MenhirLib.EngineTypes.next = {
39386 MenhirLib.EngineTypes.semv = ty00;
39387 MenhirLib.EngineTypes.startp = _startpos_ty00_;
39388 MenhirLib.EngineTypes.endp = _endpos_ty00_;
39389 MenhirLib.EngineTypes.next = {
39390 MenhirLib.EngineTypes.semv = r0;
39391 MenhirLib.EngineTypes.startp = _startpos_r0_;
39392 MenhirLib.EngineTypes.endp = _endpos_r0_;
39393 MenhirLib.EngineTypes.next = {
39394 MenhirLib.EngineTypes.state = _menhir_s;
39395 MenhirLib.EngineTypes.semv = x0;
39396 MenhirLib.EngineTypes.startp = _startpos_x0_;
39397 MenhirLib.EngineTypes.endp = _endpos_x0_;
39398 MenhirLib.EngineTypes.next = _menhir_stack;
39399 };
39400 };
39401 };
39402 } = _menhir_stack in
39403 let m : 'tv_list_TMul_ = Obj.magic m in
39404 let ty00 : (
39405 # 51 "parser_cocci_menhir.mly"
39406 (Data.clt)
39407 # 39408 "parser_cocci_menhir.ml"
39408 ) = Obj.magic ty00 in
39409 let r0 : (
39410 # 54 "parser_cocci_menhir.mly"
39411 (Data.clt)
39412 # 39413 "parser_cocci_menhir.ml"
39413 ) = Obj.magic r0 in
39414 let x0 : 'tv_const_vol = Obj.magic x0 in
39415 let _startpos = _startpos_x0_ in
39416 let _endpos = _endpos_m_ in
39417 let _v : 'tv_typedef_ctype = let ty =
39418 let ty0 = ty00 in
39419 let r = r0 in
39420 let ty =
39421 let ty = ty0 in
39422
39423 # 552 "parser_cocci_menhir.mly"
39424 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
39425 # 39426 "parser_cocci_menhir.ml"
39426
39427 in
39428
39429 # 599 "parser_cocci_menhir.mly"
39430 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
39431 # 39432 "parser_cocci_menhir.ml"
39432
39433 in
39434 let cv =
39435 let x = x0 in
39436
39437 # 41 "standard.mly"
39438 ( Some x )
39439 # 39440 "parser_cocci_menhir.ml"
39440
39441 in
39442
39443 # 620 "parser_cocci_menhir.mly"
39444 ( P.pointerify (P.make_cv cv ty) m )
39445 # 39446 "parser_cocci_menhir.ml"
39446 in
39447 _menhir_env.MenhirLib.EngineTypes.stack <- {
39448 MenhirLib.EngineTypes.state = _menhir_s;
39449 MenhirLib.EngineTypes.semv = Obj.repr _v;
39450 MenhirLib.EngineTypes.startp = _startpos;
39451 MenhirLib.EngineTypes.endp = _endpos;
39452 MenhirLib.EngineTypes.next = _menhir_stack;
39453 });
39454 (fun _menhir_env ->
39455 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39456 let {
39457 MenhirLib.EngineTypes.semv = m;
39458 MenhirLib.EngineTypes.startp = _startpos_m_;
39459 MenhirLib.EngineTypes.endp = _endpos_m_;
39460 MenhirLib.EngineTypes.next = {
39461 MenhirLib.EngineTypes.semv = ty200;
39462 MenhirLib.EngineTypes.startp = _startpos_ty200_;
39463 MenhirLib.EngineTypes.endp = _endpos_ty200_;
39464 MenhirLib.EngineTypes.next = {
39465 MenhirLib.EngineTypes.semv = ty100;
39466 MenhirLib.EngineTypes.startp = _startpos_ty100_;
39467 MenhirLib.EngineTypes.endp = _endpos_ty100_;
39468 MenhirLib.EngineTypes.next = {
39469 MenhirLib.EngineTypes.semv = r0;
39470 MenhirLib.EngineTypes.startp = _startpos_r0_;
39471 MenhirLib.EngineTypes.endp = _endpos_r0_;
39472 MenhirLib.EngineTypes.next = {
39473 MenhirLib.EngineTypes.state = _menhir_s;
39474 MenhirLib.EngineTypes.semv = x0;
39475 MenhirLib.EngineTypes.startp = _startpos_x0_;
39476 MenhirLib.EngineTypes.endp = _endpos_x0_;
39477 MenhirLib.EngineTypes.next = _menhir_stack;
39478 };
39479 };
39480 };
39481 };
39482 } = _menhir_stack in
39483 let m : 'tv_list_TMul_ = Obj.magic m in
39484 let ty200 : (
39485 # 51 "parser_cocci_menhir.mly"
39486 (Data.clt)
39487 # 39488 "parser_cocci_menhir.ml"
39488 ) = Obj.magic ty200 in
39489 let ty100 : (
39490 # 51 "parser_cocci_menhir.mly"
39491 (Data.clt)
39492 # 39493 "parser_cocci_menhir.ml"
39493 ) = Obj.magic ty100 in
39494 let r0 : (
39495 # 54 "parser_cocci_menhir.mly"
39496 (Data.clt)
39497 # 39498 "parser_cocci_menhir.ml"
39498 ) = Obj.magic r0 in
39499 let x0 : 'tv_const_vol = Obj.magic x0 in
39500 let _startpos = _startpos_x0_ in
39501 let _endpos = _endpos_m_ in
39502 let _v : 'tv_typedef_ctype = let ty =
39503 let ty20 = ty200 in
39504 let ty10 = ty100 in
39505 let r = r0 in
39506 let ty =
39507 let ty2 = ty20 in
39508 let ty1 = ty10 in
39509
39510 # 554 "parser_cocci_menhir.mly"
39511 ( Ast0.wrap
39512 (Ast0.BaseType
39513 (Ast.LongLongType,
39514 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
39515 # 39516 "parser_cocci_menhir.ml"
39516
39517 in
39518
39519 # 599 "parser_cocci_menhir.mly"
39520 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
39521 # 39522 "parser_cocci_menhir.ml"
39522
39523 in
39524 let cv =
39525 let x = x0 in
39526
39527 # 41 "standard.mly"
39528 ( Some x )
39529 # 39530 "parser_cocci_menhir.ml"
39530
39531 in
39532
39533 # 620 "parser_cocci_menhir.mly"
39534 ( P.pointerify (P.make_cv cv ty) m )
39535 # 39536 "parser_cocci_menhir.ml"
39536 in
39537 _menhir_env.MenhirLib.EngineTypes.stack <- {
39538 MenhirLib.EngineTypes.state = _menhir_s;
39539 MenhirLib.EngineTypes.semv = Obj.repr _v;
39540 MenhirLib.EngineTypes.startp = _startpos;
39541 MenhirLib.EngineTypes.endp = _endpos;
39542 MenhirLib.EngineTypes.next = _menhir_stack;
39543 });
39544 (fun _menhir_env ->
39545 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39546 let {
39547 MenhirLib.EngineTypes.semv = m;
39548 MenhirLib.EngineTypes.startp = _startpos_m_;
39549 MenhirLib.EngineTypes.endp = _endpos_m_;
39550 MenhirLib.EngineTypes.next = {
39551 MenhirLib.EngineTypes.semv = ty00;
39552 MenhirLib.EngineTypes.startp = _startpos_ty00_;
39553 MenhirLib.EngineTypes.endp = _endpos_ty00_;
39554 MenhirLib.EngineTypes.next = {
39555 MenhirLib.EngineTypes.semv = r0;
39556 MenhirLib.EngineTypes.startp = _startpos_r0_;
39557 MenhirLib.EngineTypes.endp = _endpos_r0_;
39558 MenhirLib.EngineTypes.next = {
39559 MenhirLib.EngineTypes.state = _menhir_s;
39560 MenhirLib.EngineTypes.semv = x0;
39561 MenhirLib.EngineTypes.startp = _startpos_x0_;
39562 MenhirLib.EngineTypes.endp = _endpos_x0_;
39563 MenhirLib.EngineTypes.next = _menhir_stack;
39564 };
39565 };
39566 };
39567 } = _menhir_stack in
39568 let m : 'tv_list_TMul_ = Obj.magic m in
39569 let ty00 : (
39570 # 51 "parser_cocci_menhir.mly"
39571 (Data.clt)
39572 # 39573 "parser_cocci_menhir.ml"
39573 ) = Obj.magic ty00 in
39574 let r0 : (
39575 # 54 "parser_cocci_menhir.mly"
39576 (Data.clt)
39577 # 39578 "parser_cocci_menhir.ml"
39578 ) = Obj.magic r0 in
39579 let x0 : 'tv_const_vol = Obj.magic x0 in
39580 let _startpos = _startpos_x0_ in
39581 let _endpos = _endpos_m_ in
39582 let _v : 'tv_typedef_ctype = let ty =
39583 let ty0 = ty00 in
39584 let r = r0 in
39585 let ty =
39586 let ty = ty0 in
39587
39588 # 536 "parser_cocci_menhir.mly"
39589 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
39590 # 39591 "parser_cocci_menhir.ml"
39591
39592 in
39593
39594 # 601 "parser_cocci_menhir.mly"
39595 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
39596 # 39597 "parser_cocci_menhir.ml"
39597
39598 in
39599 let cv =
39600 let x = x0 in
39601
39602 # 41 "standard.mly"
39603 ( Some x )
39604 # 39605 "parser_cocci_menhir.ml"
39605
39606 in
39607
39608 # 620 "parser_cocci_menhir.mly"
39609 ( P.pointerify (P.make_cv cv ty) m )
39610 # 39611 "parser_cocci_menhir.ml"
39611 in
39612 _menhir_env.MenhirLib.EngineTypes.stack <- {
39613 MenhirLib.EngineTypes.state = _menhir_s;
39614 MenhirLib.EngineTypes.semv = Obj.repr _v;
39615 MenhirLib.EngineTypes.startp = _startpos;
39616 MenhirLib.EngineTypes.endp = _endpos;
39617 MenhirLib.EngineTypes.next = _menhir_stack;
39618 });
39619 (fun _menhir_env ->
39620 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39621 let {
39622 MenhirLib.EngineTypes.semv = m;
39623 MenhirLib.EngineTypes.startp = _startpos_m_;
39624 MenhirLib.EngineTypes.endp = _endpos_m_;
39625 MenhirLib.EngineTypes.next = {
39626 MenhirLib.EngineTypes.semv = ty00;
39627 MenhirLib.EngineTypes.startp = _startpos_ty00_;
39628 MenhirLib.EngineTypes.endp = _endpos_ty00_;
39629 MenhirLib.EngineTypes.next = {
39630 MenhirLib.EngineTypes.semv = r0;
39631 MenhirLib.EngineTypes.startp = _startpos_r0_;
39632 MenhirLib.EngineTypes.endp = _endpos_r0_;
39633 MenhirLib.EngineTypes.next = {
39634 MenhirLib.EngineTypes.state = _menhir_s;
39635 MenhirLib.EngineTypes.semv = x0;
39636 MenhirLib.EngineTypes.startp = _startpos_x0_;
39637 MenhirLib.EngineTypes.endp = _endpos_x0_;
39638 MenhirLib.EngineTypes.next = _menhir_stack;
39639 };
39640 };
39641 };
39642 } = _menhir_stack in
39643 let m : 'tv_list_TMul_ = Obj.magic m in
39644 let ty00 : (
39645 # 51 "parser_cocci_menhir.mly"
39646 (Data.clt)
39647 # 39648 "parser_cocci_menhir.ml"
39648 ) = Obj.magic ty00 in
39649 let r0 : (
39650 # 54 "parser_cocci_menhir.mly"
39651 (Data.clt)
39652 # 39653 "parser_cocci_menhir.ml"
39653 ) = Obj.magic r0 in
39654 let x0 : 'tv_const_vol = Obj.magic x0 in
39655 let _startpos = _startpos_x0_ in
39656 let _endpos = _endpos_m_ in
39657 let _v : 'tv_typedef_ctype = let ty =
39658 let ty0 = ty00 in
39659 let r = r0 in
39660 let ty =
39661 let ty = ty0 in
39662
39663 # 538 "parser_cocci_menhir.mly"
39664 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
39665 # 39666 "parser_cocci_menhir.ml"
39666
39667 in
39668
39669 # 601 "parser_cocci_menhir.mly"
39670 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
39671 # 39672 "parser_cocci_menhir.ml"
39672
39673 in
39674 let cv =
39675 let x = x0 in
39676
39677 # 41 "standard.mly"
39678 ( Some x )
39679 # 39680 "parser_cocci_menhir.ml"
39680
39681 in
39682
39683 # 620 "parser_cocci_menhir.mly"
39684 ( P.pointerify (P.make_cv cv ty) m )
39685 # 39686 "parser_cocci_menhir.ml"
39686 in
39687 _menhir_env.MenhirLib.EngineTypes.stack <- {
39688 MenhirLib.EngineTypes.state = _menhir_s;
39689 MenhirLib.EngineTypes.semv = Obj.repr _v;
39690 MenhirLib.EngineTypes.startp = _startpos;
39691 MenhirLib.EngineTypes.endp = _endpos;
39692 MenhirLib.EngineTypes.next = _menhir_stack;
39693 });
39694 (fun _menhir_env ->
39695 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39696 let {
39697 MenhirLib.EngineTypes.semv = m;
39698 MenhirLib.EngineTypes.startp = _startpos_m_;
39699 MenhirLib.EngineTypes.endp = _endpos_m_;
39700 MenhirLib.EngineTypes.next = {
39701 MenhirLib.EngineTypes.semv = ty00;
39702 MenhirLib.EngineTypes.startp = _startpos_ty00_;
39703 MenhirLib.EngineTypes.endp = _endpos_ty00_;
39704 MenhirLib.EngineTypes.next = {
39705 MenhirLib.EngineTypes.semv = r0;
39706 MenhirLib.EngineTypes.startp = _startpos_r0_;
39707 MenhirLib.EngineTypes.endp = _endpos_r0_;
39708 MenhirLib.EngineTypes.next = {
39709 MenhirLib.EngineTypes.state = _menhir_s;
39710 MenhirLib.EngineTypes.semv = x0;
39711 MenhirLib.EngineTypes.startp = _startpos_x0_;
39712 MenhirLib.EngineTypes.endp = _endpos_x0_;
39713 MenhirLib.EngineTypes.next = _menhir_stack;
39714 };
39715 };
39716 };
39717 } = _menhir_stack in
39718 let m : 'tv_list_TMul_ = Obj.magic m in
39719 let ty00 : (
39720 # 51 "parser_cocci_menhir.mly"
39721 (Data.clt)
39722 # 39723 "parser_cocci_menhir.ml"
39723 ) = Obj.magic ty00 in
39724 let r0 : (
39725 # 54 "parser_cocci_menhir.mly"
39726 (Data.clt)
39727 # 39728 "parser_cocci_menhir.ml"
39728 ) = Obj.magic r0 in
39729 let x0 : 'tv_const_vol = Obj.magic x0 in
39730 let _startpos = _startpos_x0_ in
39731 let _endpos = _endpos_m_ in
39732 let _v : 'tv_typedef_ctype = let ty =
39733 let ty0 = ty00 in
39734 let r = r0 in
39735 let ty =
39736 let ty = ty0 in
39737
39738 # 540 "parser_cocci_menhir.mly"
39739 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
39740 # 39741 "parser_cocci_menhir.ml"
39741
39742 in
39743
39744 # 601 "parser_cocci_menhir.mly"
39745 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
39746 # 39747 "parser_cocci_menhir.ml"
39747
39748 in
39749 let cv =
39750 let x = x0 in
39751
39752 # 41 "standard.mly"
39753 ( Some x )
39754 # 39755 "parser_cocci_menhir.ml"
39755
39756 in
39757
39758 # 620 "parser_cocci_menhir.mly"
39759 ( P.pointerify (P.make_cv cv ty) m )
39760 # 39761 "parser_cocci_menhir.ml"
39761 in
39762 _menhir_env.MenhirLib.EngineTypes.stack <- {
39763 MenhirLib.EngineTypes.state = _menhir_s;
39764 MenhirLib.EngineTypes.semv = Obj.repr _v;
39765 MenhirLib.EngineTypes.startp = _startpos;
39766 MenhirLib.EngineTypes.endp = _endpos;
39767 MenhirLib.EngineTypes.next = _menhir_stack;
39768 });
39769 (fun _menhir_env ->
39770 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39771 let {
39772 MenhirLib.EngineTypes.semv = m;
39773 MenhirLib.EngineTypes.startp = _startpos_m_;
39774 MenhirLib.EngineTypes.endp = _endpos_m_;
39775 MenhirLib.EngineTypes.next = {
39776 MenhirLib.EngineTypes.semv = p00;
39777 MenhirLib.EngineTypes.startp = _startpos_p00_;
39778 MenhirLib.EngineTypes.endp = _endpos_p00_;
39779 MenhirLib.EngineTypes.next = {
39780 MenhirLib.EngineTypes.semv = r0;
39781 MenhirLib.EngineTypes.startp = _startpos_r0_;
39782 MenhirLib.EngineTypes.endp = _endpos_r0_;
39783 MenhirLib.EngineTypes.next = {
39784 MenhirLib.EngineTypes.state = _menhir_s;
39785 MenhirLib.EngineTypes.semv = x0;
39786 MenhirLib.EngineTypes.startp = _startpos_x0_;
39787 MenhirLib.EngineTypes.endp = _endpos_x0_;
39788 MenhirLib.EngineTypes.next = _menhir_stack;
39789 };
39790 };
39791 };
39792 } = _menhir_stack in
39793 let m : 'tv_list_TMul_ = Obj.magic m in
39794 let p00 : (
39795 # 68 "parser_cocci_menhir.mly"
39796 (Parse_aux.info)
39797 # 39798 "parser_cocci_menhir.ml"
39798 ) = Obj.magic p00 in
39799 let r0 : (
39800 # 54 "parser_cocci_menhir.mly"
39801 (Data.clt)
39802 # 39803 "parser_cocci_menhir.ml"
39803 ) = Obj.magic r0 in
39804 let x0 : 'tv_const_vol = Obj.magic x0 in
39805 let _startpos = _startpos_x0_ in
39806 let _endpos = _endpos_m_ in
39807 let _v : 'tv_typedef_ctype = let ty =
39808 let p0 = p00 in
39809 let r = r0 in
39810 let ty =
39811 let p = p0 in
39812
39813 # 542 "parser_cocci_menhir.mly"
39814 ( let (nm,pure,clt) = p in
39815 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
39816 # 39817 "parser_cocci_menhir.ml"
39817
39818 in
39819
39820 # 601 "parser_cocci_menhir.mly"
39821 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
39822 # 39823 "parser_cocci_menhir.ml"
39823
39824 in
39825 let cv =
39826 let x = x0 in
39827
39828 # 41 "standard.mly"
39829 ( Some x )
39830 # 39831 "parser_cocci_menhir.ml"
39831
39832 in
39833
39834 # 620 "parser_cocci_menhir.mly"
39835 ( P.pointerify (P.make_cv cv ty) m )
39836 # 39837 "parser_cocci_menhir.ml"
39837 in
39838 _menhir_env.MenhirLib.EngineTypes.stack <- {
39839 MenhirLib.EngineTypes.state = _menhir_s;
39840 MenhirLib.EngineTypes.semv = Obj.repr _v;
39841 MenhirLib.EngineTypes.startp = _startpos;
39842 MenhirLib.EngineTypes.endp = _endpos;
39843 MenhirLib.EngineTypes.next = _menhir_stack;
39844 });
39845 (fun _menhir_env ->
39846 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39847 let {
39848 MenhirLib.EngineTypes.semv = m;
39849 MenhirLib.EngineTypes.startp = _startpos_m_;
39850 MenhirLib.EngineTypes.endp = _endpos_m_;
39851 MenhirLib.EngineTypes.next = {
39852 MenhirLib.EngineTypes.semv = p00;
39853 MenhirLib.EngineTypes.startp = _startpos_p00_;
39854 MenhirLib.EngineTypes.endp = _endpos_p00_;
39855 MenhirLib.EngineTypes.next = {
39856 MenhirLib.EngineTypes.startp = _startpos__4_;
39857 MenhirLib.EngineTypes.endp = _endpos__4_;
39858 MenhirLib.EngineTypes.next = {
39859 MenhirLib.EngineTypes.semv = r00;
39860 MenhirLib.EngineTypes.startp = _startpos_r00_;
39861 MenhirLib.EngineTypes.endp = _endpos_r00_;
39862 MenhirLib.EngineTypes.next = {
39863 MenhirLib.EngineTypes.semv = r1;
39864 MenhirLib.EngineTypes.startp = _startpos_r1_;
39865 MenhirLib.EngineTypes.endp = _endpos_r1_;
39866 MenhirLib.EngineTypes.next = {
39867 MenhirLib.EngineTypes.state = _menhir_s;
39868 MenhirLib.EngineTypes.semv = x0;
39869 MenhirLib.EngineTypes.startp = _startpos_x0_;
39870 MenhirLib.EngineTypes.endp = _endpos_x0_;
39871 MenhirLib.EngineTypes.next = _menhir_stack;
39872 };
39873 };
39874 };
39875 };
39876 };
39877 } = _menhir_stack in
39878 let m : 'tv_list_TMul_ = Obj.magic m in
39879 let p00 : (
39880 # 62 "parser_cocci_menhir.mly"
39881 (string * Data.clt)
39882 # 39883 "parser_cocci_menhir.ml"
39883 ) = Obj.magic p00 in
39884 let r00 : (
39885 # 49 "parser_cocci_menhir.mly"
39886 (string)
39887 # 39888 "parser_cocci_menhir.ml"
39888 ) = Obj.magic r00 in
39889 let r1 : (
39890 # 54 "parser_cocci_menhir.mly"
39891 (Data.clt)
39892 # 39893 "parser_cocci_menhir.ml"
39893 ) = Obj.magic r1 in
39894 let x0 : 'tv_const_vol = Obj.magic x0 in
39895 let _startpos = _startpos_x0_ in
39896 let _endpos = _endpos_m_ in
39897 let _v : 'tv_typedef_ctype = let ty =
39898 let p0 = p00 in
39899 let r0 = r00 in
39900 let r = r1 in
39901 let ty =
39902 let p = p0 in
39903 let r = r0 in
39904
39905 # 545 "parser_cocci_menhir.mly"
39906 ( let nm = (r,P.id2name p) in
39907 (* this is only possible when we are in a metavar decl. Otherwise,
39908 it will be represented already as a MetaType *)
39909 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
39910 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
39911 Ast0.Impure (*will be ignored*))) )
39912 # 39913 "parser_cocci_menhir.ml"
39913
39914 in
39915
39916 # 601 "parser_cocci_menhir.mly"
39917 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
39918 # 39919 "parser_cocci_menhir.ml"
39919
39920 in
39921 let cv =
39922 let x = x0 in
39923
39924 # 41 "standard.mly"
39925 ( Some x )
39926 # 39927 "parser_cocci_menhir.ml"
39927
39928 in
39929
39930 # 620 "parser_cocci_menhir.mly"
39931 ( P.pointerify (P.make_cv cv ty) m )
39932 # 39933 "parser_cocci_menhir.ml"
39933 in
39934 _menhir_env.MenhirLib.EngineTypes.stack <- {
39935 MenhirLib.EngineTypes.state = _menhir_s;
39936 MenhirLib.EngineTypes.semv = Obj.repr _v;
39937 MenhirLib.EngineTypes.startp = _startpos;
39938 MenhirLib.EngineTypes.endp = _endpos;
39939 MenhirLib.EngineTypes.next = _menhir_stack;
39940 });
39941 (fun _menhir_env ->
39942 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
39943 let {
39944 MenhirLib.EngineTypes.semv = m;
39945 MenhirLib.EngineTypes.startp = _startpos_m_;
39946 MenhirLib.EngineTypes.endp = _endpos_m_;
39947 MenhirLib.EngineTypes.next = {
39948 MenhirLib.EngineTypes.semv = ty00;
39949 MenhirLib.EngineTypes.startp = _startpos_ty00_;
39950 MenhirLib.EngineTypes.endp = _endpos_ty00_;
39951 MenhirLib.EngineTypes.next = {
39952 MenhirLib.EngineTypes.semv = r0;
39953 MenhirLib.EngineTypes.startp = _startpos_r0_;
39954 MenhirLib.EngineTypes.endp = _endpos_r0_;
39955 MenhirLib.EngineTypes.next = {
39956 MenhirLib.EngineTypes.state = _menhir_s;
39957 MenhirLib.EngineTypes.semv = x0;
39958 MenhirLib.EngineTypes.startp = _startpos_x0_;
39959 MenhirLib.EngineTypes.endp = _endpos_x0_;
39960 MenhirLib.EngineTypes.next = _menhir_stack;
39961 };
39962 };
39963 };
39964 } = _menhir_stack in
39965 let m : 'tv_list_TMul_ = Obj.magic m in
39966 let ty00 : (
39967 # 51 "parser_cocci_menhir.mly"
39968 (Data.clt)
39969 # 39970 "parser_cocci_menhir.ml"
39970 ) = Obj.magic ty00 in
39971 let r0 : (
39972 # 54 "parser_cocci_menhir.mly"
39973 (Data.clt)
39974 # 39975 "parser_cocci_menhir.ml"
39975 ) = Obj.magic r0 in
39976 let x0 : 'tv_const_vol = Obj.magic x0 in
39977 let _startpos = _startpos_x0_ in
39978 let _endpos = _endpos_m_ in
39979 let _v : 'tv_typedef_ctype = let ty =
39980 let ty0 = ty00 in
39981 let r = r0 in
39982 let ty =
39983 let ty = ty0 in
39984
39985 # 552 "parser_cocci_menhir.mly"
39986 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
39987 # 39988 "parser_cocci_menhir.ml"
39988
39989 in
39990
39991 # 601 "parser_cocci_menhir.mly"
39992 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
39993 # 39994 "parser_cocci_menhir.ml"
39994
39995 in
39996 let cv =
39997 let x = x0 in
39998
39999 # 41 "standard.mly"
40000 ( Some x )
40001 # 40002 "parser_cocci_menhir.ml"
40002
40003 in
40004
40005 # 620 "parser_cocci_menhir.mly"
40006 ( P.pointerify (P.make_cv cv ty) m )
40007 # 40008 "parser_cocci_menhir.ml"
40008 in
40009 _menhir_env.MenhirLib.EngineTypes.stack <- {
40010 MenhirLib.EngineTypes.state = _menhir_s;
40011 MenhirLib.EngineTypes.semv = Obj.repr _v;
40012 MenhirLib.EngineTypes.startp = _startpos;
40013 MenhirLib.EngineTypes.endp = _endpos;
40014 MenhirLib.EngineTypes.next = _menhir_stack;
40015 });
40016 (fun _menhir_env ->
40017 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40018 let {
40019 MenhirLib.EngineTypes.semv = m;
40020 MenhirLib.EngineTypes.startp = _startpos_m_;
40021 MenhirLib.EngineTypes.endp = _endpos_m_;
40022 MenhirLib.EngineTypes.next = {
40023 MenhirLib.EngineTypes.semv = ty200;
40024 MenhirLib.EngineTypes.startp = _startpos_ty200_;
40025 MenhirLib.EngineTypes.endp = _endpos_ty200_;
40026 MenhirLib.EngineTypes.next = {
40027 MenhirLib.EngineTypes.semv = ty100;
40028 MenhirLib.EngineTypes.startp = _startpos_ty100_;
40029 MenhirLib.EngineTypes.endp = _endpos_ty100_;
40030 MenhirLib.EngineTypes.next = {
40031 MenhirLib.EngineTypes.semv = r0;
40032 MenhirLib.EngineTypes.startp = _startpos_r0_;
40033 MenhirLib.EngineTypes.endp = _endpos_r0_;
40034 MenhirLib.EngineTypes.next = {
40035 MenhirLib.EngineTypes.state = _menhir_s;
40036 MenhirLib.EngineTypes.semv = x0;
40037 MenhirLib.EngineTypes.startp = _startpos_x0_;
40038 MenhirLib.EngineTypes.endp = _endpos_x0_;
40039 MenhirLib.EngineTypes.next = _menhir_stack;
40040 };
40041 };
40042 };
40043 };
40044 } = _menhir_stack in
40045 let m : 'tv_list_TMul_ = Obj.magic m in
40046 let ty200 : (
40047 # 51 "parser_cocci_menhir.mly"
40048 (Data.clt)
40049 # 40050 "parser_cocci_menhir.ml"
40050 ) = Obj.magic ty200 in
40051 let ty100 : (
40052 # 51 "parser_cocci_menhir.mly"
40053 (Data.clt)
40054 # 40055 "parser_cocci_menhir.ml"
40055 ) = Obj.magic ty100 in
40056 let r0 : (
40057 # 54 "parser_cocci_menhir.mly"
40058 (Data.clt)
40059 # 40060 "parser_cocci_menhir.ml"
40060 ) = Obj.magic r0 in
40061 let x0 : 'tv_const_vol = Obj.magic x0 in
40062 let _startpos = _startpos_x0_ in
40063 let _endpos = _endpos_m_ in
40064 let _v : 'tv_typedef_ctype = let ty =
40065 let ty20 = ty200 in
40066 let ty10 = ty100 in
40067 let r = r0 in
40068 let ty =
40069 let ty2 = ty20 in
40070 let ty1 = ty10 in
40071
40072 # 554 "parser_cocci_menhir.mly"
40073 ( Ast0.wrap
40074 (Ast0.BaseType
40075 (Ast.LongLongType,
40076 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
40077 # 40078 "parser_cocci_menhir.ml"
40078
40079 in
40080
40081 # 601 "parser_cocci_menhir.mly"
40082 ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
40083 # 40084 "parser_cocci_menhir.ml"
40084
40085 in
40086 let cv =
40087 let x = x0 in
40088
40089 # 41 "standard.mly"
40090 ( Some x )
40091 # 40092 "parser_cocci_menhir.ml"
40092
40093 in
40094
40095 # 620 "parser_cocci_menhir.mly"
40096 ( P.pointerify (P.make_cv cv ty) m )
40097 # 40098 "parser_cocci_menhir.ml"
40098 in
40099 _menhir_env.MenhirLib.EngineTypes.stack <- {
40100 MenhirLib.EngineTypes.state = _menhir_s;
40101 MenhirLib.EngineTypes.semv = Obj.repr _v;
40102 MenhirLib.EngineTypes.startp = _startpos;
40103 MenhirLib.EngineTypes.endp = _endpos;
40104 MenhirLib.EngineTypes.next = _menhir_stack;
40105 });
40106 (fun _menhir_env ->
40107 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40108 let {
40109 MenhirLib.EngineTypes.semv = m;
40110 MenhirLib.EngineTypes.startp = _startpos_m_;
40111 MenhirLib.EngineTypes.endp = _endpos_m_;
40112 MenhirLib.EngineTypes.next = {
40113 MenhirLib.EngineTypes.semv = ty00;
40114 MenhirLib.EngineTypes.startp = _startpos_ty00_;
40115 MenhirLib.EngineTypes.endp = _endpos_ty00_;
40116 MenhirLib.EngineTypes.next = {
40117 MenhirLib.EngineTypes.state = _menhir_s;
40118 MenhirLib.EngineTypes.semv = x0;
40119 MenhirLib.EngineTypes.startp = _startpos_x0_;
40120 MenhirLib.EngineTypes.endp = _endpos_x0_;
40121 MenhirLib.EngineTypes.next = _menhir_stack;
40122 };
40123 };
40124 } = _menhir_stack in
40125 let m : 'tv_list_TMul_ = Obj.magic m in
40126 let ty00 : (
40127 # 51 "parser_cocci_menhir.mly"
40128 (Data.clt)
40129 # 40130 "parser_cocci_menhir.ml"
40130 ) = Obj.magic ty00 in
40131 let x0 : 'tv_const_vol = Obj.magic x0 in
40132 let _startpos = _startpos_x0_ in
40133 let _endpos = _endpos_m_ in
40134 let _v : 'tv_typedef_ctype = let ty =
40135 let ty0 = ty00 in
40136 let ty =
40137 let ty = ty0 in
40138
40139 # 536 "parser_cocci_menhir.mly"
40140 ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
40141 # 40142 "parser_cocci_menhir.ml"
40142
40143 in
40144
40145 # 602 "parser_cocci_menhir.mly"
40146 ( ty )
40147 # 40148 "parser_cocci_menhir.ml"
40148
40149 in
40150 let cv =
40151 let x = x0 in
40152
40153 # 41 "standard.mly"
40154 ( Some x )
40155 # 40156 "parser_cocci_menhir.ml"
40156
40157 in
40158
40159 # 620 "parser_cocci_menhir.mly"
40160 ( P.pointerify (P.make_cv cv ty) m )
40161 # 40162 "parser_cocci_menhir.ml"
40162 in
40163 _menhir_env.MenhirLib.EngineTypes.stack <- {
40164 MenhirLib.EngineTypes.state = _menhir_s;
40165 MenhirLib.EngineTypes.semv = Obj.repr _v;
40166 MenhirLib.EngineTypes.startp = _startpos;
40167 MenhirLib.EngineTypes.endp = _endpos;
40168 MenhirLib.EngineTypes.next = _menhir_stack;
40169 });
40170 (fun _menhir_env ->
40171 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40172 let {
40173 MenhirLib.EngineTypes.semv = m;
40174 MenhirLib.EngineTypes.startp = _startpos_m_;
40175 MenhirLib.EngineTypes.endp = _endpos_m_;
40176 MenhirLib.EngineTypes.next = {
40177 MenhirLib.EngineTypes.semv = ty00;
40178 MenhirLib.EngineTypes.startp = _startpos_ty00_;
40179 MenhirLib.EngineTypes.endp = _endpos_ty00_;
40180 MenhirLib.EngineTypes.next = {
40181 MenhirLib.EngineTypes.state = _menhir_s;
40182 MenhirLib.EngineTypes.semv = x0;
40183 MenhirLib.EngineTypes.startp = _startpos_x0_;
40184 MenhirLib.EngineTypes.endp = _endpos_x0_;
40185 MenhirLib.EngineTypes.next = _menhir_stack;
40186 };
40187 };
40188 } = _menhir_stack in
40189 let m : 'tv_list_TMul_ = Obj.magic m in
40190 let ty00 : (
40191 # 51 "parser_cocci_menhir.mly"
40192 (Data.clt)
40193 # 40194 "parser_cocci_menhir.ml"
40194 ) = Obj.magic ty00 in
40195 let x0 : 'tv_const_vol = Obj.magic x0 in
40196 let _startpos = _startpos_x0_ in
40197 let _endpos = _endpos_m_ in
40198 let _v : 'tv_typedef_ctype = let ty =
40199 let ty0 = ty00 in
40200 let ty =
40201 let ty = ty0 in
40202
40203 # 538 "parser_cocci_menhir.mly"
40204 ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
40205 # 40206 "parser_cocci_menhir.ml"
40206
40207 in
40208
40209 # 602 "parser_cocci_menhir.mly"
40210 ( ty )
40211 # 40212 "parser_cocci_menhir.ml"
40212
40213 in
40214 let cv =
40215 let x = x0 in
40216
40217 # 41 "standard.mly"
40218 ( Some x )
40219 # 40220 "parser_cocci_menhir.ml"
40220
40221 in
40222
40223 # 620 "parser_cocci_menhir.mly"
40224 ( P.pointerify (P.make_cv cv ty) m )
40225 # 40226 "parser_cocci_menhir.ml"
40226 in
40227 _menhir_env.MenhirLib.EngineTypes.stack <- {
40228 MenhirLib.EngineTypes.state = _menhir_s;
40229 MenhirLib.EngineTypes.semv = Obj.repr _v;
40230 MenhirLib.EngineTypes.startp = _startpos;
40231 MenhirLib.EngineTypes.endp = _endpos;
40232 MenhirLib.EngineTypes.next = _menhir_stack;
40233 });
40234 (fun _menhir_env ->
40235 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40236 let {
40237 MenhirLib.EngineTypes.semv = m;
40238 MenhirLib.EngineTypes.startp = _startpos_m_;
40239 MenhirLib.EngineTypes.endp = _endpos_m_;
40240 MenhirLib.EngineTypes.next = {
40241 MenhirLib.EngineTypes.semv = ty00;
40242 MenhirLib.EngineTypes.startp = _startpos_ty00_;
40243 MenhirLib.EngineTypes.endp = _endpos_ty00_;
40244 MenhirLib.EngineTypes.next = {
40245 MenhirLib.EngineTypes.state = _menhir_s;
40246 MenhirLib.EngineTypes.semv = x0;
40247 MenhirLib.EngineTypes.startp = _startpos_x0_;
40248 MenhirLib.EngineTypes.endp = _endpos_x0_;
40249 MenhirLib.EngineTypes.next = _menhir_stack;
40250 };
40251 };
40252 } = _menhir_stack in
40253 let m : 'tv_list_TMul_ = Obj.magic m in
40254 let ty00 : (
40255 # 51 "parser_cocci_menhir.mly"
40256 (Data.clt)
40257 # 40258 "parser_cocci_menhir.ml"
40258 ) = Obj.magic ty00 in
40259 let x0 : 'tv_const_vol = Obj.magic x0 in
40260 let _startpos = _startpos_x0_ in
40261 let _endpos = _endpos_m_ in
40262 let _v : 'tv_typedef_ctype = let ty =
40263 let ty0 = ty00 in
40264 let ty =
40265 let ty = ty0 in
40266
40267 # 540 "parser_cocci_menhir.mly"
40268 ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
40269 # 40270 "parser_cocci_menhir.ml"
40270
40271 in
40272
40273 # 602 "parser_cocci_menhir.mly"
40274 ( ty )
40275 # 40276 "parser_cocci_menhir.ml"
40276
40277 in
40278 let cv =
40279 let x = x0 in
40280
40281 # 41 "standard.mly"
40282 ( Some x )
40283 # 40284 "parser_cocci_menhir.ml"
40284
40285 in
40286
40287 # 620 "parser_cocci_menhir.mly"
40288 ( P.pointerify (P.make_cv cv ty) m )
40289 # 40290 "parser_cocci_menhir.ml"
40290 in
40291 _menhir_env.MenhirLib.EngineTypes.stack <- {
40292 MenhirLib.EngineTypes.state = _menhir_s;
40293 MenhirLib.EngineTypes.semv = Obj.repr _v;
40294 MenhirLib.EngineTypes.startp = _startpos;
40295 MenhirLib.EngineTypes.endp = _endpos;
40296 MenhirLib.EngineTypes.next = _menhir_stack;
40297 });
40298 (fun _menhir_env ->
40299 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40300 let {
40301 MenhirLib.EngineTypes.semv = m;
40302 MenhirLib.EngineTypes.startp = _startpos_m_;
40303 MenhirLib.EngineTypes.endp = _endpos_m_;
40304 MenhirLib.EngineTypes.next = {
40305 MenhirLib.EngineTypes.semv = p00;
40306 MenhirLib.EngineTypes.startp = _startpos_p00_;
40307 MenhirLib.EngineTypes.endp = _endpos_p00_;
40308 MenhirLib.EngineTypes.next = {
40309 MenhirLib.EngineTypes.state = _menhir_s;
40310 MenhirLib.EngineTypes.semv = x0;
40311 MenhirLib.EngineTypes.startp = _startpos_x0_;
40312 MenhirLib.EngineTypes.endp = _endpos_x0_;
40313 MenhirLib.EngineTypes.next = _menhir_stack;
40314 };
40315 };
40316 } = _menhir_stack in
40317 let m : 'tv_list_TMul_ = Obj.magic m in
40318 let p00 : (
40319 # 68 "parser_cocci_menhir.mly"
40320 (Parse_aux.info)
40321 # 40322 "parser_cocci_menhir.ml"
40322 ) = Obj.magic p00 in
40323 let x0 : 'tv_const_vol = Obj.magic x0 in
40324 let _startpos = _startpos_x0_ in
40325 let _endpos = _endpos_m_ in
40326 let _v : 'tv_typedef_ctype = let ty =
40327 let p0 = p00 in
40328 let ty =
40329 let p = p0 in
40330
40331 # 542 "parser_cocci_menhir.mly"
40332 ( let (nm,pure,clt) = p in
40333 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
40334 # 40335 "parser_cocci_menhir.ml"
40335
40336 in
40337
40338 # 602 "parser_cocci_menhir.mly"
40339 ( ty )
40340 # 40341 "parser_cocci_menhir.ml"
40341
40342 in
40343 let cv =
40344 let x = x0 in
40345
40346 # 41 "standard.mly"
40347 ( Some x )
40348 # 40349 "parser_cocci_menhir.ml"
40349
40350 in
40351
40352 # 620 "parser_cocci_menhir.mly"
40353 ( P.pointerify (P.make_cv cv ty) m )
40354 # 40355 "parser_cocci_menhir.ml"
40355 in
40356 _menhir_env.MenhirLib.EngineTypes.stack <- {
40357 MenhirLib.EngineTypes.state = _menhir_s;
40358 MenhirLib.EngineTypes.semv = Obj.repr _v;
40359 MenhirLib.EngineTypes.startp = _startpos;
40360 MenhirLib.EngineTypes.endp = _endpos;
40361 MenhirLib.EngineTypes.next = _menhir_stack;
40362 });
40363 (fun _menhir_env ->
40364 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40365 let {
40366 MenhirLib.EngineTypes.semv = m;
40367 MenhirLib.EngineTypes.startp = _startpos_m_;
40368 MenhirLib.EngineTypes.endp = _endpos_m_;
40369 MenhirLib.EngineTypes.next = {
40370 MenhirLib.EngineTypes.semv = p00;
40371 MenhirLib.EngineTypes.startp = _startpos_p00_;
40372 MenhirLib.EngineTypes.endp = _endpos_p00_;
40373 MenhirLib.EngineTypes.next = {
40374 MenhirLib.EngineTypes.startp = _startpos__3_;
40375 MenhirLib.EngineTypes.endp = _endpos__3_;
40376 MenhirLib.EngineTypes.next = {
40377 MenhirLib.EngineTypes.semv = r00;
40378 MenhirLib.EngineTypes.startp = _startpos_r00_;
40379 MenhirLib.EngineTypes.endp = _endpos_r00_;
40380 MenhirLib.EngineTypes.next = {
40381 MenhirLib.EngineTypes.state = _menhir_s;
40382 MenhirLib.EngineTypes.semv = x0;
40383 MenhirLib.EngineTypes.startp = _startpos_x0_;
40384 MenhirLib.EngineTypes.endp = _endpos_x0_;
40385 MenhirLib.EngineTypes.next = _menhir_stack;
40386 };
40387 };
40388 };
40389 };
40390 } = _menhir_stack in
40391 let m : 'tv_list_TMul_ = Obj.magic m in
40392 let p00 : (
40393 # 62 "parser_cocci_menhir.mly"
40394 (string * Data.clt)
40395 # 40396 "parser_cocci_menhir.ml"
40396 ) = Obj.magic p00 in
40397 let r00 : (
40398 # 49 "parser_cocci_menhir.mly"
40399 (string)
40400 # 40401 "parser_cocci_menhir.ml"
40401 ) = Obj.magic r00 in
40402 let x0 : 'tv_const_vol = Obj.magic x0 in
40403 let _startpos = _startpos_x0_ in
40404 let _endpos = _endpos_m_ in
40405 let _v : 'tv_typedef_ctype = let ty =
40406 let p0 = p00 in
40407 let r0 = r00 in
40408 let ty =
40409 let p = p0 in
40410 let r = r0 in
40411
40412 # 545 "parser_cocci_menhir.mly"
40413 ( let nm = (r,P.id2name p) in
40414 (* this is only possible when we are in a metavar decl. Otherwise,
40415 it will be represented already as a MetaType *)
40416 let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
40417 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
40418 Ast0.Impure (*will be ignored*))) )
40419 # 40420 "parser_cocci_menhir.ml"
40420
40421 in
40422
40423 # 602 "parser_cocci_menhir.mly"
40424 ( ty )
40425 # 40426 "parser_cocci_menhir.ml"
40426
40427 in
40428 let cv =
40429 let x = x0 in
40430
40431 # 41 "standard.mly"
40432 ( Some x )
40433 # 40434 "parser_cocci_menhir.ml"
40434
40435 in
40436
40437 # 620 "parser_cocci_menhir.mly"
40438 ( P.pointerify (P.make_cv cv ty) m )
40439 # 40440 "parser_cocci_menhir.ml"
40440 in
40441 _menhir_env.MenhirLib.EngineTypes.stack <- {
40442 MenhirLib.EngineTypes.state = _menhir_s;
40443 MenhirLib.EngineTypes.semv = Obj.repr _v;
40444 MenhirLib.EngineTypes.startp = _startpos;
40445 MenhirLib.EngineTypes.endp = _endpos;
40446 MenhirLib.EngineTypes.next = _menhir_stack;
40447 });
40448 (fun _menhir_env ->
40449 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40450 let {
40451 MenhirLib.EngineTypes.semv = m;
40452 MenhirLib.EngineTypes.startp = _startpos_m_;
40453 MenhirLib.EngineTypes.endp = _endpos_m_;
40454 MenhirLib.EngineTypes.next = {
40455 MenhirLib.EngineTypes.semv = ty00;
40456 MenhirLib.EngineTypes.startp = _startpos_ty00_;
40457 MenhirLib.EngineTypes.endp = _endpos_ty00_;
40458 MenhirLib.EngineTypes.next = {
40459 MenhirLib.EngineTypes.state = _menhir_s;
40460 MenhirLib.EngineTypes.semv = x0;
40461 MenhirLib.EngineTypes.startp = _startpos_x0_;
40462 MenhirLib.EngineTypes.endp = _endpos_x0_;
40463 MenhirLib.EngineTypes.next = _menhir_stack;
40464 };
40465 };
40466 } = _menhir_stack in
40467 let m : 'tv_list_TMul_ = Obj.magic m in
40468 let ty00 : (
40469 # 51 "parser_cocci_menhir.mly"
40470 (Data.clt)
40471 # 40472 "parser_cocci_menhir.ml"
40472 ) = Obj.magic ty00 in
40473 let x0 : 'tv_const_vol = Obj.magic x0 in
40474 let _startpos = _startpos_x0_ in
40475 let _endpos = _endpos_m_ in
40476 let _v : 'tv_typedef_ctype = let ty =
40477 let ty0 = ty00 in
40478 let ty =
40479 let ty = ty0 in
40480
40481 # 552 "parser_cocci_menhir.mly"
40482 ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
40483 # 40484 "parser_cocci_menhir.ml"
40484
40485 in
40486
40487 # 602 "parser_cocci_menhir.mly"
40488 ( ty )
40489 # 40490 "parser_cocci_menhir.ml"
40490
40491 in
40492 let cv =
40493 let x = x0 in
40494
40495 # 41 "standard.mly"
40496 ( Some x )
40497 # 40498 "parser_cocci_menhir.ml"
40498
40499 in
40500
40501 # 620 "parser_cocci_menhir.mly"
40502 ( P.pointerify (P.make_cv cv ty) m )
40503 # 40504 "parser_cocci_menhir.ml"
40504 in
40505 _menhir_env.MenhirLib.EngineTypes.stack <- {
40506 MenhirLib.EngineTypes.state = _menhir_s;
40507 MenhirLib.EngineTypes.semv = Obj.repr _v;
40508 MenhirLib.EngineTypes.startp = _startpos;
40509 MenhirLib.EngineTypes.endp = _endpos;
40510 MenhirLib.EngineTypes.next = _menhir_stack;
40511 });
40512 (fun _menhir_env ->
40513 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40514 let {
40515 MenhirLib.EngineTypes.semv = m;
40516 MenhirLib.EngineTypes.startp = _startpos_m_;
40517 MenhirLib.EngineTypes.endp = _endpos_m_;
40518 MenhirLib.EngineTypes.next = {
40519 MenhirLib.EngineTypes.semv = ty200;
40520 MenhirLib.EngineTypes.startp = _startpos_ty200_;
40521 MenhirLib.EngineTypes.endp = _endpos_ty200_;
40522 MenhirLib.EngineTypes.next = {
40523 MenhirLib.EngineTypes.semv = ty100;
40524 MenhirLib.EngineTypes.startp = _startpos_ty100_;
40525 MenhirLib.EngineTypes.endp = _endpos_ty100_;
40526 MenhirLib.EngineTypes.next = {
40527 MenhirLib.EngineTypes.state = _menhir_s;
40528 MenhirLib.EngineTypes.semv = x0;
40529 MenhirLib.EngineTypes.startp = _startpos_x0_;
40530 MenhirLib.EngineTypes.endp = _endpos_x0_;
40531 MenhirLib.EngineTypes.next = _menhir_stack;
40532 };
40533 };
40534 };
40535 } = _menhir_stack in
40536 let m : 'tv_list_TMul_ = Obj.magic m in
40537 let ty200 : (
40538 # 51 "parser_cocci_menhir.mly"
40539 (Data.clt)
40540 # 40541 "parser_cocci_menhir.ml"
40541 ) = Obj.magic ty200 in
40542 let ty100 : (
40543 # 51 "parser_cocci_menhir.mly"
40544 (Data.clt)
40545 # 40546 "parser_cocci_menhir.ml"
40546 ) = Obj.magic ty100 in
40547 let x0 : 'tv_const_vol = Obj.magic x0 in
40548 let _startpos = _startpos_x0_ in
40549 let _endpos = _endpos_m_ in
40550 let _v : 'tv_typedef_ctype = let ty =
40551 let ty20 = ty200 in
40552 let ty10 = ty100 in
40553 let ty =
40554 let ty2 = ty20 in
40555 let ty1 = ty10 in
40556
40557 # 554 "parser_cocci_menhir.mly"
40558 ( Ast0.wrap
40559 (Ast0.BaseType
40560 (Ast.LongLongType,
40561 [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
40562 # 40563 "parser_cocci_menhir.ml"
40563
40564 in
40565
40566 # 602 "parser_cocci_menhir.mly"
40567 ( ty )
40568 # 40569 "parser_cocci_menhir.ml"
40569
40570 in
40571 let cv =
40572 let x = x0 in
40573
40574 # 41 "standard.mly"
40575 ( Some x )
40576 # 40577 "parser_cocci_menhir.ml"
40577
40578 in
40579
40580 # 620 "parser_cocci_menhir.mly"
40581 ( P.pointerify (P.make_cv cv ty) m )
40582 # 40583 "parser_cocci_menhir.ml"
40583 in
40584 _menhir_env.MenhirLib.EngineTypes.stack <- {
40585 MenhirLib.EngineTypes.state = _menhir_s;
40586 MenhirLib.EngineTypes.semv = Obj.repr _v;
40587 MenhirLib.EngineTypes.startp = _startpos;
40588 MenhirLib.EngineTypes.endp = _endpos;
40589 MenhirLib.EngineTypes.next = _menhir_stack;
40590 });
40591 (fun _menhir_env ->
40592 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40593 let {
40594 MenhirLib.EngineTypes.semv = m;
40595 MenhirLib.EngineTypes.startp = _startpos_m_;
40596 MenhirLib.EngineTypes.endp = _endpos_m_;
40597 MenhirLib.EngineTypes.next = {
40598 MenhirLib.EngineTypes.semv = ty00;
40599 MenhirLib.EngineTypes.startp = _startpos_ty00_;
40600 MenhirLib.EngineTypes.endp = _endpos_ty00_;
40601 MenhirLib.EngineTypes.next = {
40602 MenhirLib.EngineTypes.state = _menhir_s;
40603 MenhirLib.EngineTypes.semv = x0;
40604 MenhirLib.EngineTypes.startp = _startpos_x0_;
40605 MenhirLib.EngineTypes.endp = _endpos_x0_;
40606 MenhirLib.EngineTypes.next = _menhir_stack;
40607 };
40608 };
40609 } = _menhir_stack in
40610 let m : 'tv_list_TMul_ = Obj.magic m in
40611 let ty00 : (
40612 # 53 "parser_cocci_menhir.mly"
40613 (Data.clt)
40614 # 40615 "parser_cocci_menhir.ml"
40615 ) = Obj.magic ty00 in
40616 let x0 : 'tv_const_vol = Obj.magic x0 in
40617 let _startpos = _startpos_x0_ in
40618 let _endpos = _endpos_m_ in
40619 let _v : 'tv_typedef_ctype = let ty =
40620 let ty0 = ty00 in
40621 let ty =
40622 let ty = ty0 in
40623
40624 # 562 "parser_cocci_menhir.mly"
40625 ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
40626 # 40627 "parser_cocci_menhir.ml"
40627
40628 in
40629
40630 # 603 "parser_cocci_menhir.mly"
40631 ( ty )
40632 # 40633 "parser_cocci_menhir.ml"
40633
40634 in
40635 let cv =
40636 let x = x0 in
40637
40638 # 41 "standard.mly"
40639 ( Some x )
40640 # 40641 "parser_cocci_menhir.ml"
40641
40642 in
40643
40644 # 620 "parser_cocci_menhir.mly"
40645 ( P.pointerify (P.make_cv cv ty) m )
40646 # 40647 "parser_cocci_menhir.ml"
40647 in
40648 _menhir_env.MenhirLib.EngineTypes.stack <- {
40649 MenhirLib.EngineTypes.state = _menhir_s;
40650 MenhirLib.EngineTypes.semv = Obj.repr _v;
40651 MenhirLib.EngineTypes.startp = _startpos;
40652 MenhirLib.EngineTypes.endp = _endpos;
40653 MenhirLib.EngineTypes.next = _menhir_stack;
40654 });
40655 (fun _menhir_env ->
40656 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40657 let {
40658 MenhirLib.EngineTypes.semv = m;
40659 MenhirLib.EngineTypes.startp = _startpos_m_;
40660 MenhirLib.EngineTypes.endp = _endpos_m_;
40661 MenhirLib.EngineTypes.next = {
40662 MenhirLib.EngineTypes.semv = ty00;
40663 MenhirLib.EngineTypes.startp = _startpos_ty00_;
40664 MenhirLib.EngineTypes.endp = _endpos_ty00_;
40665 MenhirLib.EngineTypes.next = {
40666 MenhirLib.EngineTypes.state = _menhir_s;
40667 MenhirLib.EngineTypes.semv = x0;
40668 MenhirLib.EngineTypes.startp = _startpos_x0_;
40669 MenhirLib.EngineTypes.endp = _endpos_x0_;
40670 MenhirLib.EngineTypes.next = _menhir_stack;
40671 };
40672 };
40673 } = _menhir_stack in
40674 let m : 'tv_list_TMul_ = Obj.magic m in
40675 let ty00 : (
40676 # 51 "parser_cocci_menhir.mly"
40677 (Data.clt)
40678 # 40679 "parser_cocci_menhir.ml"
40679 ) = Obj.magic ty00 in
40680 let x0 : 'tv_const_vol = Obj.magic x0 in
40681 let _startpos = _startpos_x0_ in
40682 let _endpos = _endpos_m_ in
40683 let _v : 'tv_typedef_ctype = let ty =
40684 let ty0 = ty00 in
40685 let ty =
40686 let ty = ty0 in
40687
40688 # 564 "parser_cocci_menhir.mly"
40689 ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
40690 # 40691 "parser_cocci_menhir.ml"
40691
40692 in
40693
40694 # 603 "parser_cocci_menhir.mly"
40695 ( ty )
40696 # 40697 "parser_cocci_menhir.ml"
40697
40698 in
40699 let cv =
40700 let x = x0 in
40701
40702 # 41 "standard.mly"
40703 ( Some x )
40704 # 40705 "parser_cocci_menhir.ml"
40705
40706 in
40707
40708 # 620 "parser_cocci_menhir.mly"
40709 ( P.pointerify (P.make_cv cv ty) m )
40710 # 40711 "parser_cocci_menhir.ml"
40711 in
40712 _menhir_env.MenhirLib.EngineTypes.stack <- {
40713 MenhirLib.EngineTypes.state = _menhir_s;
40714 MenhirLib.EngineTypes.semv = Obj.repr _v;
40715 MenhirLib.EngineTypes.startp = _startpos;
40716 MenhirLib.EngineTypes.endp = _endpos;
40717 MenhirLib.EngineTypes.next = _menhir_stack;
40718 });
40719 (fun _menhir_env ->
40720 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40721 let {
40722 MenhirLib.EngineTypes.semv = m;
40723 MenhirLib.EngineTypes.startp = _startpos_m_;
40724 MenhirLib.EngineTypes.endp = _endpos_m_;
40725 MenhirLib.EngineTypes.next = {
40726 MenhirLib.EngineTypes.semv = ty00;
40727 MenhirLib.EngineTypes.startp = _startpos_ty00_;
40728 MenhirLib.EngineTypes.endp = _endpos_ty00_;
40729 MenhirLib.EngineTypes.next = {
40730 MenhirLib.EngineTypes.state = _menhir_s;
40731 MenhirLib.EngineTypes.semv = x0;
40732 MenhirLib.EngineTypes.startp = _startpos_x0_;
40733 MenhirLib.EngineTypes.endp = _endpos_x0_;
40734 MenhirLib.EngineTypes.next = _menhir_stack;
40735 };
40736 };
40737 } = _menhir_stack in
40738 let m : 'tv_list_TMul_ = Obj.magic m in
40739 let ty00 : (
40740 # 51 "parser_cocci_menhir.mly"
40741 (Data.clt)
40742 # 40743 "parser_cocci_menhir.ml"
40743 ) = Obj.magic ty00 in
40744 let x0 : 'tv_const_vol = Obj.magic x0 in
40745 let _startpos = _startpos_x0_ in
40746 let _endpos = _endpos_m_ in
40747 let _v : 'tv_typedef_ctype = let ty =
40748 let ty0 = ty00 in
40749 let ty =
40750 let ty = ty0 in
40751
40752 # 566 "parser_cocci_menhir.mly"
40753 ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
40754 # 40755 "parser_cocci_menhir.ml"
40755
40756 in
40757
40758 # 603 "parser_cocci_menhir.mly"
40759 ( ty )
40760 # 40761 "parser_cocci_menhir.ml"
40761
40762 in
40763 let cv =
40764 let x = x0 in
40765
40766 # 41 "standard.mly"
40767 ( Some x )
40768 # 40769 "parser_cocci_menhir.ml"
40769
40770 in
40771
40772 # 620 "parser_cocci_menhir.mly"
40773 ( P.pointerify (P.make_cv cv ty) m )
40774 # 40775 "parser_cocci_menhir.ml"
40775 in
40776 _menhir_env.MenhirLib.EngineTypes.stack <- {
40777 MenhirLib.EngineTypes.state = _menhir_s;
40778 MenhirLib.EngineTypes.semv = Obj.repr _v;
40779 MenhirLib.EngineTypes.startp = _startpos;
40780 MenhirLib.EngineTypes.endp = _endpos;
40781 MenhirLib.EngineTypes.next = _menhir_stack;
40782 });
40783 (fun _menhir_env ->
40784 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40785 let {
40786 MenhirLib.EngineTypes.semv = m;
40787 MenhirLib.EngineTypes.startp = _startpos_m_;
40788 MenhirLib.EngineTypes.endp = _endpos_m_;
40789 MenhirLib.EngineTypes.next = {
40790 MenhirLib.EngineTypes.semv = ty00;
40791 MenhirLib.EngineTypes.startp = _startpos_ty00_;
40792 MenhirLib.EngineTypes.endp = _endpos_ty00_;
40793 MenhirLib.EngineTypes.next = {
40794 MenhirLib.EngineTypes.state = _menhir_s;
40795 MenhirLib.EngineTypes.semv = x0;
40796 MenhirLib.EngineTypes.startp = _startpos_x0_;
40797 MenhirLib.EngineTypes.endp = _endpos_x0_;
40798 MenhirLib.EngineTypes.next = _menhir_stack;
40799 };
40800 };
40801 } = _menhir_stack in
40802 let m : 'tv_list_TMul_ = Obj.magic m in
40803 let ty00 : (
40804 # 52 "parser_cocci_menhir.mly"
40805 (Data.clt)
40806 # 40807 "parser_cocci_menhir.ml"
40807 ) = Obj.magic ty00 in
40808 let x0 : 'tv_const_vol = Obj.magic x0 in
40809 let _startpos = _startpos_x0_ in
40810 let _endpos = _endpos_m_ in
40811 let _v : 'tv_typedef_ctype = let ty =
40812 let ty0 = ty00 in
40813 let ty =
40814 let ty = ty0 in
40815
40816 # 568 "parser_cocci_menhir.mly"
40817 ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
40818 # 40819 "parser_cocci_menhir.ml"
40819
40820 in
40821
40822 # 603 "parser_cocci_menhir.mly"
40823 ( ty )
40824 # 40825 "parser_cocci_menhir.ml"
40825
40826 in
40827 let cv =
40828 let x = x0 in
40829
40830 # 41 "standard.mly"
40831 ( Some x )
40832 # 40833 "parser_cocci_menhir.ml"
40833
40834 in
40835
40836 # 620 "parser_cocci_menhir.mly"
40837 ( P.pointerify (P.make_cv cv ty) m )
40838 # 40839 "parser_cocci_menhir.ml"
40839 in
40840 _menhir_env.MenhirLib.EngineTypes.stack <- {
40841 MenhirLib.EngineTypes.state = _menhir_s;
40842 MenhirLib.EngineTypes.semv = Obj.repr _v;
40843 MenhirLib.EngineTypes.startp = _startpos;
40844 MenhirLib.EngineTypes.endp = _endpos;
40845 MenhirLib.EngineTypes.next = _menhir_stack;
40846 });
40847 (fun _menhir_env ->
40848 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40849 let {
40850 MenhirLib.EngineTypes.semv = m;
40851 MenhirLib.EngineTypes.startp = _startpos_m_;
40852 MenhirLib.EngineTypes.endp = _endpos_m_;
40853 MenhirLib.EngineTypes.next = {
40854 MenhirLib.EngineTypes.semv = ty00;
40855 MenhirLib.EngineTypes.startp = _startpos_ty00_;
40856 MenhirLib.EngineTypes.endp = _endpos_ty00_;
40857 MenhirLib.EngineTypes.next = {
40858 MenhirLib.EngineTypes.state = _menhir_s;
40859 MenhirLib.EngineTypes.semv = x0;
40860 MenhirLib.EngineTypes.startp = _startpos_x0_;
40861 MenhirLib.EngineTypes.endp = _endpos_x0_;
40862 MenhirLib.EngineTypes.next = _menhir_stack;
40863 };
40864 };
40865 } = _menhir_stack in
40866 let m : 'tv_list_TMul_ = Obj.magic m in
40867 let ty00 : (
40868 # 52 "parser_cocci_menhir.mly"
40869 (Data.clt)
40870 # 40871 "parser_cocci_menhir.ml"
40871 ) = Obj.magic ty00 in
40872 let x0 : 'tv_const_vol = Obj.magic x0 in
40873 let _startpos = _startpos_x0_ in
40874 let _endpos = _endpos_m_ in
40875 let _v : 'tv_typedef_ctype = let ty =
40876 let ty0 = ty00 in
40877 let ty =
40878 let ty = ty0 in
40879
40880 # 570 "parser_cocci_menhir.mly"
40881 ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
40882 # 40883 "parser_cocci_menhir.ml"
40883
40884 in
40885
40886 # 603 "parser_cocci_menhir.mly"
40887 ( ty )
40888 # 40889 "parser_cocci_menhir.ml"
40889
40890 in
40891 let cv =
40892 let x = x0 in
40893
40894 # 41 "standard.mly"
40895 ( Some x )
40896 # 40897 "parser_cocci_menhir.ml"
40897
40898 in
40899
40900 # 620 "parser_cocci_menhir.mly"
40901 ( P.pointerify (P.make_cv cv ty) m )
40902 # 40903 "parser_cocci_menhir.ml"
40903 in
40904 _menhir_env.MenhirLib.EngineTypes.stack <- {
40905 MenhirLib.EngineTypes.state = _menhir_s;
40906 MenhirLib.EngineTypes.semv = Obj.repr _v;
40907 MenhirLib.EngineTypes.startp = _startpos;
40908 MenhirLib.EngineTypes.endp = _endpos;
40909 MenhirLib.EngineTypes.next = _menhir_stack;
40910 });
40911 (fun _menhir_env ->
40912 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
40913 let {
40914 MenhirLib.EngineTypes.semv = m;
40915 MenhirLib.EngineTypes.startp = _startpos_m_;
40916 MenhirLib.EngineTypes.endp = _endpos_m_;
40917 MenhirLib.EngineTypes.next = {
40918 MenhirLib.EngineTypes.semv = ty00;
40919 MenhirLib.EngineTypes.startp = _startpos_ty00_;
40920 MenhirLib.EngineTypes.endp = _endpos_ty00_;
40921 MenhirLib.EngineTypes.next = {
40922 MenhirLib.EngineTypes.state = _menhir_s;
40923 MenhirLib.EngineTypes.semv = x0;
40924 MenhirLib.EngineTypes.startp = _startpos_x0_;
40925 MenhirLib.EngineTypes.endp = _endpos_x0_;
40926 MenhirLib.EngineTypes.next = _menhir_stack;
40927 };
40928 };
40929 } = _menhir_stack in
40930 let m : 'tv_list_TMul_ = Obj.magic m in
40931 let ty00 : (
40932 # 52 "parser_cocci_menhir.mly"
40933 (Data.clt)
40934 # 40935 "parser_cocci_menhir.ml"
40935 ) = Obj.magic ty00 in
40936 let x0 : 'tv_const_vol = Obj.magic x0 in
40937 let _startpos = _startpos_x0_ in
40938 let _endpos = _endpos_m_ in
40939 let _v : 'tv_typedef_ctype = let ty =
40940 let ty0 = ty00 in
40941 let ty =
40942 let ty = ty0 in
40943
40944 # 572 "parser_cocci_menhir.mly"
40945 ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
40946 # 40947 "parser_cocci_menhir.ml"
40947
40948 in
40949
40950 # 603 "parser_cocci_menhir.mly"
40951 ( ty )
40952 # 40953 "parser_cocci_menhir.ml"
40953
40954 in
40955 let cv =
40956 let x = x0 in
40957
40958 # 41 "standard.mly"
40959 ( Some x )
40960 # 40961 "parser_cocci_menhir.ml"
40961
40962 in
40963
40964 # 620 "parser_cocci_menhir.mly"
40965 ( P.pointerify (P.make_cv cv ty) m )
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.semv = m;
40979 MenhirLib.EngineTypes.startp = _startpos_m_;
40980 MenhirLib.EngineTypes.endp = _endpos_m_;
40981 MenhirLib.EngineTypes.next = {
40982 MenhirLib.EngineTypes.semv = i00;
40983 MenhirLib.EngineTypes.startp = _startpos_i00_;
40984 MenhirLib.EngineTypes.endp = _endpos_i00_;
40985 MenhirLib.EngineTypes.next = {
40986 MenhirLib.EngineTypes.semv = s00;
40987 MenhirLib.EngineTypes.startp = _startpos_s00_;
40988 MenhirLib.EngineTypes.endp = _endpos_s00_;
40989 MenhirLib.EngineTypes.next = {
40990 MenhirLib.EngineTypes.state = _menhir_s;
40991 MenhirLib.EngineTypes.semv = x0;
40992 MenhirLib.EngineTypes.startp = _startpos_x0_;
40993 MenhirLib.EngineTypes.endp = _endpos_x0_;
40994 MenhirLib.EngineTypes.next = _menhir_stack;
40995 };
40996 };
40997 };
40998 } = _menhir_stack in
40999 let m : 'tv_list_TMul_ = Obj.magic m in
41000 let i00 : 'tv_ident = Obj.magic i00 in
41001 let s00 : (
41002 # 53 "parser_cocci_menhir.mly"
41003 (Data.clt)
41004 # 41005 "parser_cocci_menhir.ml"
41005 ) = Obj.magic s00 in
41006 let x0 : 'tv_const_vol = Obj.magic x0 in
41007 let _startpos = _startpos_x0_ in
41008 let _endpos = _endpos_m_ in
41009 let _v : 'tv_typedef_ctype = let ty =
41010 let i0 = i00 in
41011 let s0 = s00 in
41012 let ty =
41013 let i = i0 in
41014 let s = s0 in
41015
41016 # 574 "parser_cocci_menhir.mly"
41017 ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
41018 # 41019 "parser_cocci_menhir.ml"
41019
41020 in
41021
41022 # 603 "parser_cocci_menhir.mly"
41023 ( ty )
41024 # 41025 "parser_cocci_menhir.ml"
41025
41026 in
41027 let cv =
41028 let x = x0 in
41029
41030 # 41 "standard.mly"
41031 ( Some x )
41032 # 41033 "parser_cocci_menhir.ml"
41033
41034 in
41035
41036 # 620 "parser_cocci_menhir.mly"
41037 ( P.pointerify (P.make_cv cv ty) m )
41038 # 41039 "parser_cocci_menhir.ml"
41039 in
41040 _menhir_env.MenhirLib.EngineTypes.stack <- {
41041 MenhirLib.EngineTypes.state = _menhir_s;
41042 MenhirLib.EngineTypes.semv = Obj.repr _v;
41043 MenhirLib.EngineTypes.startp = _startpos;
41044 MenhirLib.EngineTypes.endp = _endpos;
41045 MenhirLib.EngineTypes.next = _menhir_stack;
41046 });
41047 (fun _menhir_env ->
41048 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41049 let {
41050 MenhirLib.EngineTypes.semv = m;
41051 MenhirLib.EngineTypes.startp = _startpos_m_;
41052 MenhirLib.EngineTypes.endp = _endpos_m_;
41053 MenhirLib.EngineTypes.next = {
41054 MenhirLib.EngineTypes.semv = r00;
41055 MenhirLib.EngineTypes.startp = _startpos_r00_;
41056 MenhirLib.EngineTypes.endp = _endpos_r00_;
41057 MenhirLib.EngineTypes.next = {
41058 MenhirLib.EngineTypes.semv = ids00;
41059 MenhirLib.EngineTypes.startp = _startpos_ids00_;
41060 MenhirLib.EngineTypes.endp = _endpos_ids00_;
41061 MenhirLib.EngineTypes.next = {
41062 MenhirLib.EngineTypes.semv = l00;
41063 MenhirLib.EngineTypes.startp = _startpos_l00_;
41064 MenhirLib.EngineTypes.endp = _endpos_l00_;
41065 MenhirLib.EngineTypes.next = {
41066 MenhirLib.EngineTypes.semv = s00;
41067 MenhirLib.EngineTypes.startp = _startpos_s00_;
41068 MenhirLib.EngineTypes.endp = _endpos_s00_;
41069 MenhirLib.EngineTypes.next = {
41070 MenhirLib.EngineTypes.state = _menhir_s;
41071 MenhirLib.EngineTypes.semv = x0;
41072 MenhirLib.EngineTypes.startp = _startpos_x0_;
41073 MenhirLib.EngineTypes.endp = _endpos_x0_;
41074 MenhirLib.EngineTypes.next = _menhir_stack;
41075 };
41076 };
41077 };
41078 };
41079 };
41080 } = _menhir_stack in
41081 let m : 'tv_list_TMul_ = Obj.magic m in
41082 let r00 : (
41083 # 105 "parser_cocci_menhir.mly"
41084 (Data.clt)
41085 # 41086 "parser_cocci_menhir.ml"
41086 ) = Obj.magic r00 in
41087 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
41088 let l00 : (
41089 # 105 "parser_cocci_menhir.mly"
41090 (Data.clt)
41091 # 41092 "parser_cocci_menhir.ml"
41092 ) = Obj.magic l00 in
41093 let s00 : (
41094 # 53 "parser_cocci_menhir.mly"
41095 (Data.clt)
41096 # 41097 "parser_cocci_menhir.ml"
41097 ) = Obj.magic s00 in
41098 let x0 : 'tv_const_vol = Obj.magic x0 in
41099 let _startpos = _startpos_x0_ in
41100 let _endpos = _endpos_m_ in
41101 let _v : 'tv_typedef_ctype = let ty =
41102 let r0 = r00 in
41103 let ids0 = ids00 in
41104 let l0 = l00 in
41105 let s0 = s00 in
41106 let ty =
41107 let r = r0 in
41108 let ids = ids0 in
41109 let l = l0 in
41110 let s = s0 in
41111 let i =
41112
41113 # 39 "standard.mly"
41114 ( None )
41115 # 41116 "parser_cocci_menhir.ml"
41116
41117 in
41118
41119 # 576 "parser_cocci_menhir.mly"
41120 ( (if i = None && !Data.in_iso
41121 then failwith "enums must be named in the iso file");
41122 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
41123 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
41124 # 41125 "parser_cocci_menhir.ml"
41125
41126 in
41127
41128 # 603 "parser_cocci_menhir.mly"
41129 ( ty )
41130 # 41131 "parser_cocci_menhir.ml"
41131
41132 in
41133 let cv =
41134 let x = x0 in
41135
41136 # 41 "standard.mly"
41137 ( Some x )
41138 # 41139 "parser_cocci_menhir.ml"
41139
41140 in
41141
41142 # 620 "parser_cocci_menhir.mly"
41143 ( P.pointerify (P.make_cv cv ty) m )
41144 # 41145 "parser_cocci_menhir.ml"
41145 in
41146 _menhir_env.MenhirLib.EngineTypes.stack <- {
41147 MenhirLib.EngineTypes.state = _menhir_s;
41148 MenhirLib.EngineTypes.semv = Obj.repr _v;
41149 MenhirLib.EngineTypes.startp = _startpos;
41150 MenhirLib.EngineTypes.endp = _endpos;
41151 MenhirLib.EngineTypes.next = _menhir_stack;
41152 });
41153 (fun _menhir_env ->
41154 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41155 let {
41156 MenhirLib.EngineTypes.semv = m;
41157 MenhirLib.EngineTypes.startp = _startpos_m_;
41158 MenhirLib.EngineTypes.endp = _endpos_m_;
41159 MenhirLib.EngineTypes.next = {
41160 MenhirLib.EngineTypes.semv = r00;
41161 MenhirLib.EngineTypes.startp = _startpos_r00_;
41162 MenhirLib.EngineTypes.endp = _endpos_r00_;
41163 MenhirLib.EngineTypes.next = {
41164 MenhirLib.EngineTypes.semv = ids00;
41165 MenhirLib.EngineTypes.startp = _startpos_ids00_;
41166 MenhirLib.EngineTypes.endp = _endpos_ids00_;
41167 MenhirLib.EngineTypes.next = {
41168 MenhirLib.EngineTypes.semv = l00;
41169 MenhirLib.EngineTypes.startp = _startpos_l00_;
41170 MenhirLib.EngineTypes.endp = _endpos_l00_;
41171 MenhirLib.EngineTypes.next = {
41172 MenhirLib.EngineTypes.semv = x000;
41173 MenhirLib.EngineTypes.startp = _startpos_x000_;
41174 MenhirLib.EngineTypes.endp = _endpos_x000_;
41175 MenhirLib.EngineTypes.next = {
41176 MenhirLib.EngineTypes.semv = s00;
41177 MenhirLib.EngineTypes.startp = _startpos_s00_;
41178 MenhirLib.EngineTypes.endp = _endpos_s00_;
41179 MenhirLib.EngineTypes.next = {
41180 MenhirLib.EngineTypes.state = _menhir_s;
41181 MenhirLib.EngineTypes.semv = x0;
41182 MenhirLib.EngineTypes.startp = _startpos_x0_;
41183 MenhirLib.EngineTypes.endp = _endpos_x0_;
41184 MenhirLib.EngineTypes.next = _menhir_stack;
41185 };
41186 };
41187 };
41188 };
41189 };
41190 };
41191 } = _menhir_stack in
41192 let m : 'tv_list_TMul_ = Obj.magic m in
41193 let r00 : (
41194 # 105 "parser_cocci_menhir.mly"
41195 (Data.clt)
41196 # 41197 "parser_cocci_menhir.ml"
41197 ) = Obj.magic r00 in
41198 let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
41199 let l00 : (
41200 # 105 "parser_cocci_menhir.mly"
41201 (Data.clt)
41202 # 41203 "parser_cocci_menhir.ml"
41203 ) = Obj.magic l00 in
41204 let x000 : 'tv_ident = Obj.magic x000 in
41205 let s00 : (
41206 # 53 "parser_cocci_menhir.mly"
41207 (Data.clt)
41208 # 41209 "parser_cocci_menhir.ml"
41209 ) = Obj.magic s00 in
41210 let x0 : 'tv_const_vol = Obj.magic x0 in
41211 let _startpos = _startpos_x0_ in
41212 let _endpos = _endpos_m_ in
41213 let _v : 'tv_typedef_ctype = let ty =
41214 let r0 = r00 in
41215 let ids0 = ids00 in
41216 let l0 = l00 in
41217 let x00 = x000 in
41218 let s0 = s00 in
41219 let ty =
41220 let r = r0 in
41221 let ids = ids0 in
41222 let l = l0 in
41223 let x0 = x00 in
41224 let s = s0 in
41225 let i =
41226 let x = x0 in
41227
41228 # 41 "standard.mly"
41229 ( Some x )
41230 # 41231 "parser_cocci_menhir.ml"
41231
41232 in
41233
41234 # 576 "parser_cocci_menhir.mly"
41235 ( (if i = None && !Data.in_iso
41236 then failwith "enums must be named in the iso file");
41237 Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
41238 P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
41239 # 41240 "parser_cocci_menhir.ml"
41240
41241 in
41242
41243 # 603 "parser_cocci_menhir.mly"
41244 ( ty )
41245 # 41246 "parser_cocci_menhir.ml"
41246
41247 in
41248 let cv =
41249 let x = x0 in
41250
41251 # 41 "standard.mly"
41252 ( Some x )
41253 # 41254 "parser_cocci_menhir.ml"
41254
41255 in
41256
41257 # 620 "parser_cocci_menhir.mly"
41258 ( P.pointerify (P.make_cv cv ty) m )
41259 # 41260 "parser_cocci_menhir.ml"
41260 in
41261 _menhir_env.MenhirLib.EngineTypes.stack <- {
41262 MenhirLib.EngineTypes.state = _menhir_s;
41263 MenhirLib.EngineTypes.semv = Obj.repr _v;
41264 MenhirLib.EngineTypes.startp = _startpos;
41265 MenhirLib.EngineTypes.endp = _endpos;
41266 MenhirLib.EngineTypes.next = _menhir_stack;
41267 });
41268 (fun _menhir_env ->
41269 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41270 let {
41271 MenhirLib.EngineTypes.semv = m;
41272 MenhirLib.EngineTypes.startp = _startpos_m_;
41273 MenhirLib.EngineTypes.endp = _endpos_m_;
41274 MenhirLib.EngineTypes.next = {
41275 MenhirLib.EngineTypes.semv = i00;
41276 MenhirLib.EngineTypes.startp = _startpos_i00_;
41277 MenhirLib.EngineTypes.endp = _endpos_i00_;
41278 MenhirLib.EngineTypes.next = {
41279 MenhirLib.EngineTypes.semv = s00;
41280 MenhirLib.EngineTypes.startp = _startpos_s00_;
41281 MenhirLib.EngineTypes.endp = _endpos_s00_;
41282 MenhirLib.EngineTypes.next = {
41283 MenhirLib.EngineTypes.state = _menhir_s;
41284 MenhirLib.EngineTypes.semv = x0;
41285 MenhirLib.EngineTypes.startp = _startpos_x0_;
41286 MenhirLib.EngineTypes.endp = _endpos_x0_;
41287 MenhirLib.EngineTypes.next = _menhir_stack;
41288 };
41289 };
41290 };
41291 } = _menhir_stack in
41292 let m : 'tv_list_TMul_ = Obj.magic m in
41293 let i00 : 'tv_ident = Obj.magic i00 in
41294 let s00 : 'tv_struct_or_union = Obj.magic s00 in
41295 let x0 : 'tv_const_vol = Obj.magic x0 in
41296 let _startpos = _startpos_x0_ in
41297 let _endpos = _endpos_m_ in
41298 let _v : 'tv_typedef_ctype = let ty =
41299 let i0 = i00 in
41300 let s0 = s00 in
41301 let ty =
41302 let i = i0 in
41303 let s = s0 in
41304
41305 # 581 "parser_cocci_menhir.mly"
41306 ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
41307 # 41308 "parser_cocci_menhir.ml"
41308
41309 in
41310
41311 # 603 "parser_cocci_menhir.mly"
41312 ( ty )
41313 # 41314 "parser_cocci_menhir.ml"
41314
41315 in
41316 let cv =
41317 let x = x0 in
41318
41319 # 41 "standard.mly"
41320 ( Some x )
41321 # 41322 "parser_cocci_menhir.ml"
41322
41323 in
41324
41325 # 620 "parser_cocci_menhir.mly"
41326 ( P.pointerify (P.make_cv cv ty) m )
41327 # 41328 "parser_cocci_menhir.ml"
41328 in
41329 _menhir_env.MenhirLib.EngineTypes.stack <- {
41330 MenhirLib.EngineTypes.state = _menhir_s;
41331 MenhirLib.EngineTypes.semv = Obj.repr _v;
41332 MenhirLib.EngineTypes.startp = _startpos;
41333 MenhirLib.EngineTypes.endp = _endpos;
41334 MenhirLib.EngineTypes.next = _menhir_stack;
41335 });
41336 (fun _menhir_env ->
41337 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41338 let {
41339 MenhirLib.EngineTypes.semv = m;
41340 MenhirLib.EngineTypes.startp = _startpos_m_;
41341 MenhirLib.EngineTypes.endp = _endpos_m_;
41342 MenhirLib.EngineTypes.next = {
41343 MenhirLib.EngineTypes.semv = r00;
41344 MenhirLib.EngineTypes.startp = _startpos_r00_;
41345 MenhirLib.EngineTypes.endp = _endpos_r00_;
41346 MenhirLib.EngineTypes.next = {
41347 MenhirLib.EngineTypes.semv = d00;
41348 MenhirLib.EngineTypes.startp = _startpos_d00_;
41349 MenhirLib.EngineTypes.endp = _endpos_d00_;
41350 MenhirLib.EngineTypes.next = {
41351 MenhirLib.EngineTypes.semv = l00;
41352 MenhirLib.EngineTypes.startp = _startpos_l00_;
41353 MenhirLib.EngineTypes.endp = _endpos_l00_;
41354 MenhirLib.EngineTypes.next = {
41355 MenhirLib.EngineTypes.semv = s00;
41356 MenhirLib.EngineTypes.startp = _startpos_s00_;
41357 MenhirLib.EngineTypes.endp = _endpos_s00_;
41358 MenhirLib.EngineTypes.next = {
41359 MenhirLib.EngineTypes.state = _menhir_s;
41360 MenhirLib.EngineTypes.semv = x0;
41361 MenhirLib.EngineTypes.startp = _startpos_x0_;
41362 MenhirLib.EngineTypes.endp = _endpos_x0_;
41363 MenhirLib.EngineTypes.next = _menhir_stack;
41364 };
41365 };
41366 };
41367 };
41368 };
41369 } = _menhir_stack in
41370 let m : 'tv_list_TMul_ = Obj.magic m in
41371 let r00 : (
41372 # 105 "parser_cocci_menhir.mly"
41373 (Data.clt)
41374 # 41375 "parser_cocci_menhir.ml"
41375 ) = Obj.magic r00 in
41376 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
41377 let l00 : (
41378 # 105 "parser_cocci_menhir.mly"
41379 (Data.clt)
41380 # 41381 "parser_cocci_menhir.ml"
41381 ) = Obj.magic l00 in
41382 let s00 : 'tv_struct_or_union = Obj.magic s00 in
41383 let x0 : 'tv_const_vol = Obj.magic x0 in
41384 let _startpos = _startpos_x0_ in
41385 let _endpos = _endpos_m_ in
41386 let _v : 'tv_typedef_ctype = let ty =
41387 let r0 = r00 in
41388 let d0 = d00 in
41389 let l0 = l00 in
41390 let s0 = s00 in
41391 let ty =
41392 let r = r0 in
41393 let d = d0 in
41394 let l = l0 in
41395 let s = s0 in
41396 let i =
41397
41398 # 39 "standard.mly"
41399 ( None )
41400 # 41401 "parser_cocci_menhir.ml"
41401
41402 in
41403
41404 # 584 "parser_cocci_menhir.mly"
41405 ( (if i = None && !Data.in_iso
41406 then failwith "structures must be named in the iso file");
41407 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
41408 P.clt2mcode "{" l,
41409 d, P.clt2mcode "}" r)) )
41410 # 41411 "parser_cocci_menhir.ml"
41411
41412 in
41413
41414 # 603 "parser_cocci_menhir.mly"
41415 ( ty )
41416 # 41417 "parser_cocci_menhir.ml"
41417
41418 in
41419 let cv =
41420 let x = x0 in
41421
41422 # 41 "standard.mly"
41423 ( Some x )
41424 # 41425 "parser_cocci_menhir.ml"
41425
41426 in
41427
41428 # 620 "parser_cocci_menhir.mly"
41429 ( P.pointerify (P.make_cv cv ty) m )
41430 # 41431 "parser_cocci_menhir.ml"
41431 in
41432 _menhir_env.MenhirLib.EngineTypes.stack <- {
41433 MenhirLib.EngineTypes.state = _menhir_s;
41434 MenhirLib.EngineTypes.semv = Obj.repr _v;
41435 MenhirLib.EngineTypes.startp = _startpos;
41436 MenhirLib.EngineTypes.endp = _endpos;
41437 MenhirLib.EngineTypes.next = _menhir_stack;
41438 });
41439 (fun _menhir_env ->
41440 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41441 let {
41442 MenhirLib.EngineTypes.semv = m;
41443 MenhirLib.EngineTypes.startp = _startpos_m_;
41444 MenhirLib.EngineTypes.endp = _endpos_m_;
41445 MenhirLib.EngineTypes.next = {
41446 MenhirLib.EngineTypes.semv = r00;
41447 MenhirLib.EngineTypes.startp = _startpos_r00_;
41448 MenhirLib.EngineTypes.endp = _endpos_r00_;
41449 MenhirLib.EngineTypes.next = {
41450 MenhirLib.EngineTypes.semv = d00;
41451 MenhirLib.EngineTypes.startp = _startpos_d00_;
41452 MenhirLib.EngineTypes.endp = _endpos_d00_;
41453 MenhirLib.EngineTypes.next = {
41454 MenhirLib.EngineTypes.semv = l00;
41455 MenhirLib.EngineTypes.startp = _startpos_l00_;
41456 MenhirLib.EngineTypes.endp = _endpos_l00_;
41457 MenhirLib.EngineTypes.next = {
41458 MenhirLib.EngineTypes.semv = x000;
41459 MenhirLib.EngineTypes.startp = _startpos_x000_;
41460 MenhirLib.EngineTypes.endp = _endpos_x000_;
41461 MenhirLib.EngineTypes.next = {
41462 MenhirLib.EngineTypes.semv = s00;
41463 MenhirLib.EngineTypes.startp = _startpos_s00_;
41464 MenhirLib.EngineTypes.endp = _endpos_s00_;
41465 MenhirLib.EngineTypes.next = {
41466 MenhirLib.EngineTypes.state = _menhir_s;
41467 MenhirLib.EngineTypes.semv = x0;
41468 MenhirLib.EngineTypes.startp = _startpos_x0_;
41469 MenhirLib.EngineTypes.endp = _endpos_x0_;
41470 MenhirLib.EngineTypes.next = _menhir_stack;
41471 };
41472 };
41473 };
41474 };
41475 };
41476 };
41477 } = _menhir_stack in
41478 let m : 'tv_list_TMul_ = Obj.magic m in
41479 let r00 : (
41480 # 105 "parser_cocci_menhir.mly"
41481 (Data.clt)
41482 # 41483 "parser_cocci_menhir.ml"
41483 ) = Obj.magic r00 in
41484 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
41485 let l00 : (
41486 # 105 "parser_cocci_menhir.mly"
41487 (Data.clt)
41488 # 41489 "parser_cocci_menhir.ml"
41489 ) = Obj.magic l00 in
41490 let x000 : 'tv_ident = Obj.magic x000 in
41491 let s00 : 'tv_struct_or_union = Obj.magic s00 in
41492 let x0 : 'tv_const_vol = Obj.magic x0 in
41493 let _startpos = _startpos_x0_ in
41494 let _endpos = _endpos_m_ in
41495 let _v : 'tv_typedef_ctype = let ty =
41496 let r0 = r00 in
41497 let d0 = d00 in
41498 let l0 = l00 in
41499 let x00 = x000 in
41500 let s0 = s00 in
41501 let ty =
41502 let r = r0 in
41503 let d = d0 in
41504 let l = l0 in
41505 let x0 = x00 in
41506 let s = s0 in
41507 let i =
41508 let x = x0 in
41509
41510 # 41 "standard.mly"
41511 ( Some x )
41512 # 41513 "parser_cocci_menhir.ml"
41513
41514 in
41515
41516 # 584 "parser_cocci_menhir.mly"
41517 ( (if i = None && !Data.in_iso
41518 then failwith "structures must be named in the iso file");
41519 Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
41520 P.clt2mcode "{" l,
41521 d, P.clt2mcode "}" r)) )
41522 # 41523 "parser_cocci_menhir.ml"
41523
41524 in
41525
41526 # 603 "parser_cocci_menhir.mly"
41527 ( ty )
41528 # 41529 "parser_cocci_menhir.ml"
41529
41530 in
41531 let cv =
41532 let x = x0 in
41533
41534 # 41 "standard.mly"
41535 ( Some x )
41536 # 41537 "parser_cocci_menhir.ml"
41537
41538 in
41539
41540 # 620 "parser_cocci_menhir.mly"
41541 ( P.pointerify (P.make_cv cv ty) m )
41542 # 41543 "parser_cocci_menhir.ml"
41543 in
41544 _menhir_env.MenhirLib.EngineTypes.stack <- {
41545 MenhirLib.EngineTypes.state = _menhir_s;
41546 MenhirLib.EngineTypes.semv = Obj.repr _v;
41547 MenhirLib.EngineTypes.startp = _startpos;
41548 MenhirLib.EngineTypes.endp = _endpos;
41549 MenhirLib.EngineTypes.next = _menhir_stack;
41550 });
41551 (fun _menhir_env ->
41552 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41553 let {
41554 MenhirLib.EngineTypes.semv = m;
41555 MenhirLib.EngineTypes.startp = _startpos_m_;
41556 MenhirLib.EngineTypes.endp = _endpos_m_;
41557 MenhirLib.EngineTypes.next = {
41558 MenhirLib.EngineTypes.semv = r00;
41559 MenhirLib.EngineTypes.startp = _startpos_r00_;
41560 MenhirLib.EngineTypes.endp = _endpos_r00_;
41561 MenhirLib.EngineTypes.next = {
41562 MenhirLib.EngineTypes.semv = d00;
41563 MenhirLib.EngineTypes.startp = _startpos_d00_;
41564 MenhirLib.EngineTypes.endp = _endpos_d00_;
41565 MenhirLib.EngineTypes.next = {
41566 MenhirLib.EngineTypes.semv = l00;
41567 MenhirLib.EngineTypes.startp = _startpos_l00_;
41568 MenhirLib.EngineTypes.endp = _endpos_l00_;
41569 MenhirLib.EngineTypes.next = {
41570 MenhirLib.EngineTypes.semv = s00;
41571 MenhirLib.EngineTypes.startp = _startpos_s00_;
41572 MenhirLib.EngineTypes.endp = _endpos_s00_;
41573 MenhirLib.EngineTypes.next = {
41574 MenhirLib.EngineTypes.state = _menhir_s;
41575 MenhirLib.EngineTypes.semv = x0;
41576 MenhirLib.EngineTypes.startp = _startpos_x0_;
41577 MenhirLib.EngineTypes.endp = _endpos_x0_;
41578 MenhirLib.EngineTypes.next = _menhir_stack;
41579 };
41580 };
41581 };
41582 };
41583 };
41584 } = _menhir_stack in
41585 let m : 'tv_list_TMul_ = Obj.magic m in
41586 let r00 : (
41587 # 105 "parser_cocci_menhir.mly"
41588 (Data.clt)
41589 # 41590 "parser_cocci_menhir.ml"
41590 ) = Obj.magic r00 in
41591 let d00 : 'tv_struct_decl_list = Obj.magic d00 in
41592 let l00 : (
41593 # 105 "parser_cocci_menhir.mly"
41594 (Data.clt)
41595 # 41596 "parser_cocci_menhir.ml"
41596 ) = Obj.magic l00 in
41597 let s00 : (
41598 # 68 "parser_cocci_menhir.mly"
41599 (Parse_aux.info)
41600 # 41601 "parser_cocci_menhir.ml"
41601 ) = Obj.magic s00 in
41602 let x0 : 'tv_const_vol = Obj.magic x0 in
41603 let _startpos = _startpos_x0_ in
41604 let _endpos = _endpos_m_ in
41605 let _v : 'tv_typedef_ctype = let ty =
41606 let r0 = r00 in
41607 let d0 = d00 in
41608 let l0 = l00 in
41609 let s0 = s00 in
41610 let ty =
41611 let r = r0 in
41612 let d = d0 in
41613 let l = l0 in
41614 let s = s0 in
41615
41616 # 590 "parser_cocci_menhir.mly"
41617 ( let (nm,pure,clt) = s in
41618 let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
41619 Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
41620 # 41621 "parser_cocci_menhir.ml"
41621
41622 in
41623
41624 # 603 "parser_cocci_menhir.mly"
41625 ( ty )
41626 # 41627 "parser_cocci_menhir.ml"
41627
41628 in
41629 let cv =
41630 let x = x0 in
41631
41632 # 41 "standard.mly"
41633 ( Some x )
41634 # 41635 "parser_cocci_menhir.ml"
41635
41636 in
41637
41638 # 620 "parser_cocci_menhir.mly"
41639 ( P.pointerify (P.make_cv cv ty) m )
41640 # 41641 "parser_cocci_menhir.ml"
41641 in
41642 _menhir_env.MenhirLib.EngineTypes.stack <- {
41643 MenhirLib.EngineTypes.state = _menhir_s;
41644 MenhirLib.EngineTypes.semv = Obj.repr _v;
41645 MenhirLib.EngineTypes.startp = _startpos;
41646 MenhirLib.EngineTypes.endp = _endpos;
41647 MenhirLib.EngineTypes.next = _menhir_stack;
41648 });
41649 (fun _menhir_env ->
41650 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41651 let {
41652 MenhirLib.EngineTypes.semv = m;
41653 MenhirLib.EngineTypes.startp = _startpos_m_;
41654 MenhirLib.EngineTypes.endp = _endpos_m_;
41655 MenhirLib.EngineTypes.next = {
41656 MenhirLib.EngineTypes.semv = p00;
41657 MenhirLib.EngineTypes.startp = _startpos_p00_;
41658 MenhirLib.EngineTypes.endp = _endpos_p00_;
41659 MenhirLib.EngineTypes.next = {
41660 MenhirLib.EngineTypes.state = _menhir_s;
41661 MenhirLib.EngineTypes.semv = x0;
41662 MenhirLib.EngineTypes.startp = _startpos_x0_;
41663 MenhirLib.EngineTypes.endp = _endpos_x0_;
41664 MenhirLib.EngineTypes.next = _menhir_stack;
41665 };
41666 };
41667 } = _menhir_stack in
41668 let m : 'tv_list_TMul_ = Obj.magic m in
41669 let p00 : (
41670 # 62 "parser_cocci_menhir.mly"
41671 (string * Data.clt)
41672 # 41673 "parser_cocci_menhir.ml"
41673 ) = Obj.magic p00 in
41674 let x0 : 'tv_const_vol = Obj.magic x0 in
41675 let _startpos = _startpos_x0_ in
41676 let _endpos = _endpos_m_ in
41677 let _v : 'tv_typedef_ctype = let ty =
41678 let p0 = p00 in
41679 let ty =
41680 let p = p0 in
41681
41682 # 594 "parser_cocci_menhir.mly"
41683 ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
41684 # 41685 "parser_cocci_menhir.ml"
41685
41686 in
41687
41688 # 603 "parser_cocci_menhir.mly"
41689 ( ty )
41690 # 41691 "parser_cocci_menhir.ml"
41691
41692 in
41693 let cv =
41694 let x = x0 in
41695
41696 # 41 "standard.mly"
41697 ( Some x )
41698 # 41699 "parser_cocci_menhir.ml"
41699
41700 in
41701
41702 # 620 "parser_cocci_menhir.mly"
41703 ( P.pointerify (P.make_cv cv ty) m )
41704 # 41705 "parser_cocci_menhir.ml"
41705 in
41706 _menhir_env.MenhirLib.EngineTypes.stack <- {
41707 MenhirLib.EngineTypes.state = _menhir_s;
41708 MenhirLib.EngineTypes.semv = Obj.repr _v;
41709 MenhirLib.EngineTypes.startp = _startpos;
41710 MenhirLib.EngineTypes.endp = _endpos;
41711 MenhirLib.EngineTypes.next = _menhir_stack;
41712 });
41713 (fun _menhir_env ->
41714 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41715 let {
41716 MenhirLib.EngineTypes.semv = rp;
41717 MenhirLib.EngineTypes.startp = _startpos_rp_;
41718 MenhirLib.EngineTypes.endp = _endpos_rp_;
41719 MenhirLib.EngineTypes.next = {
41720 MenhirLib.EngineTypes.semv = t;
41721 MenhirLib.EngineTypes.startp = _startpos_t_;
41722 MenhirLib.EngineTypes.endp = _endpos_t_;
41723 MenhirLib.EngineTypes.next = {
41724 MenhirLib.EngineTypes.state = _menhir_s;
41725 MenhirLib.EngineTypes.semv = lp;
41726 MenhirLib.EngineTypes.startp = _startpos_lp_;
41727 MenhirLib.EngineTypes.endp = _endpos_lp_;
41728 MenhirLib.EngineTypes.next = _menhir_stack;
41729 };
41730 };
41731 } = _menhir_stack in
41732 let rp : (
41733 # 81 "parser_cocci_menhir.mly"
41734 (Data.clt)
41735 # 41736 "parser_cocci_menhir.ml"
41736 ) = Obj.magic rp in
41737 let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
41738 let lp : (
41739 # 80 "parser_cocci_menhir.mly"
41740 (Data.clt)
41741 # 41742 "parser_cocci_menhir.ml"
41742 ) = Obj.magic lp in
41743 let _startpos = _startpos_lp_ in
41744 let _endpos = _endpos_rp_ in
41745 let _v : 'tv_typedef_ctype =
41746 # 622 "parser_cocci_menhir.mly"
41747 ( let (mids,code) = t in
41748 Ast0.wrap
41749 (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
41750 # 41751 "parser_cocci_menhir.ml"
41751 in
41752 _menhir_env.MenhirLib.EngineTypes.stack <- {
41753 MenhirLib.EngineTypes.state = _menhir_s;
41754 MenhirLib.EngineTypes.semv = Obj.repr _v;
41755 MenhirLib.EngineTypes.startp = _startpos;
41756 MenhirLib.EngineTypes.endp = _endpos;
41757 MenhirLib.EngineTypes.next = _menhir_stack;
41758 });
41759 (fun _menhir_env ->
41760 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41761 let {
41762 MenhirLib.EngineTypes.state = _menhir_s;
41763 MenhirLib.EngineTypes.semv = _1;
41764 MenhirLib.EngineTypes.startp = _startpos__1_;
41765 MenhirLib.EngineTypes.endp = _endpos__1_;
41766 MenhirLib.EngineTypes.next = _menhir_stack;
41767 } = _menhir_stack in
41768 let _1 : 'tv_pure_ident = Obj.magic _1 in
41769 let _startpos = _startpos__1_ in
41770 let _endpos = _endpos__1_ in
41771 let _v : 'tv_typedef_ident =
41772 # 1807 "parser_cocci_menhir.mly"
41773 ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) )
41774 # 41775 "parser_cocci_menhir.ml"
41775 in
41776 _menhir_env.MenhirLib.EngineTypes.stack <- {
41777 MenhirLib.EngineTypes.state = _menhir_s;
41778 MenhirLib.EngineTypes.semv = Obj.repr _v;
41779 MenhirLib.EngineTypes.startp = _startpos;
41780 MenhirLib.EngineTypes.endp = _endpos;
41781 MenhirLib.EngineTypes.next = _menhir_stack;
41782 });
41783 (fun _menhir_env ->
41784 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41785 let {
41786 MenhirLib.EngineTypes.state = _menhir_s;
41787 MenhirLib.EngineTypes.semv = _1;
41788 MenhirLib.EngineTypes.startp = _startpos__1_;
41789 MenhirLib.EngineTypes.endp = _endpos__1_;
41790 MenhirLib.EngineTypes.next = _menhir_stack;
41791 } = _menhir_stack in
41792 let _1 : (
41793 # 68 "parser_cocci_menhir.mly"
41794 (Parse_aux.info)
41795 # 41796 "parser_cocci_menhir.ml"
41796 ) = Obj.magic _1 in
41797 let _startpos = _startpos__1_ in
41798 let _endpos = _endpos__1_ in
41799 let _v : 'tv_typedef_ident =
41800 # 1809 "parser_cocci_menhir.mly"
41801 ( let (nm,pure,clt) = _1 in
41802 Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
41803 # 41804 "parser_cocci_menhir.ml"
41804 in
41805 _menhir_env.MenhirLib.EngineTypes.stack <- {
41806 MenhirLib.EngineTypes.state = _menhir_s;
41807 MenhirLib.EngineTypes.semv = Obj.repr _v;
41808 MenhirLib.EngineTypes.startp = _startpos;
41809 MenhirLib.EngineTypes.endp = _endpos;
41810 MenhirLib.EngineTypes.next = _menhir_stack;
41811 });
41812 (fun _menhir_env ->
41813 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41814 let {
41815 MenhirLib.EngineTypes.state = _menhir_s;
41816 MenhirLib.EngineTypes.semv = _1;
41817 MenhirLib.EngineTypes.startp = _startpos__1_;
41818 MenhirLib.EngineTypes.endp = _endpos__1_;
41819 MenhirLib.EngineTypes.next = _menhir_stack;
41820 } = _menhir_stack in
41821 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
41822 let _startpos = _startpos__1_ in
41823 let _endpos = _endpos__1_ in
41824 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
41825 # 1419 "parser_cocci_menhir.mly"
41826 ( _1 )
41827 # 41828 "parser_cocci_menhir.ml"
41828 in
41829 _menhir_env.MenhirLib.EngineTypes.stack <- {
41830 MenhirLib.EngineTypes.state = _menhir_s;
41831 MenhirLib.EngineTypes.semv = Obj.repr _v;
41832 MenhirLib.EngineTypes.startp = _startpos;
41833 MenhirLib.EngineTypes.endp = _endpos;
41834 MenhirLib.EngineTypes.next = _menhir_stack;
41835 });
41836 (fun _menhir_env ->
41837 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41838 let {
41839 MenhirLib.EngineTypes.semv = _2;
41840 MenhirLib.EngineTypes.startp = _startpos__2_;
41841 MenhirLib.EngineTypes.endp = _endpos__2_;
41842 MenhirLib.EngineTypes.next = {
41843 MenhirLib.EngineTypes.state = _menhir_s;
41844 MenhirLib.EngineTypes.semv = _1;
41845 MenhirLib.EngineTypes.startp = _startpos__1_;
41846 MenhirLib.EngineTypes.endp = _endpos__1_;
41847 MenhirLib.EngineTypes.next = _menhir_stack;
41848 };
41849 } = _menhir_stack in
41850 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
41851 let _1 : (
41852 # 89 "parser_cocci_menhir.mly"
41853 (Data.clt)
41854 # 41855 "parser_cocci_menhir.ml"
41855 ) = Obj.magic _1 in
41856 let _startpos = _startpos__1_ in
41857 let _endpos = _endpos__2_ in
41858 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
41859 # 1421 "parser_cocci_menhir.mly"
41860 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
41861 # 41862 "parser_cocci_menhir.ml"
41862 in
41863 _menhir_env.MenhirLib.EngineTypes.stack <- {
41864 MenhirLib.EngineTypes.state = _menhir_s;
41865 MenhirLib.EngineTypes.semv = Obj.repr _v;
41866 MenhirLib.EngineTypes.startp = _startpos;
41867 MenhirLib.EngineTypes.endp = _endpos;
41868 MenhirLib.EngineTypes.next = _menhir_stack;
41869 });
41870 (fun _menhir_env ->
41871 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41872 let {
41873 MenhirLib.EngineTypes.semv = _2;
41874 MenhirLib.EngineTypes.startp = _startpos__2_;
41875 MenhirLib.EngineTypes.endp = _endpos__2_;
41876 MenhirLib.EngineTypes.next = {
41877 MenhirLib.EngineTypes.state = _menhir_s;
41878 MenhirLib.EngineTypes.semv = _1;
41879 MenhirLib.EngineTypes.startp = _startpos__1_;
41880 MenhirLib.EngineTypes.endp = _endpos__1_;
41881 MenhirLib.EngineTypes.next = _menhir_stack;
41882 };
41883 } = _menhir_stack in
41884 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
41885 let _1 : (
41886 # 89 "parser_cocci_menhir.mly"
41887 (Data.clt)
41888 # 41889 "parser_cocci_menhir.ml"
41889 ) = Obj.magic _1 in
41890 let _startpos = _startpos__1_ in
41891 let _endpos = _endpos__2_ in
41892 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
41893 # 1423 "parser_cocci_menhir.mly"
41894 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
41895 # 41896 "parser_cocci_menhir.ml"
41896 in
41897 _menhir_env.MenhirLib.EngineTypes.stack <- {
41898 MenhirLib.EngineTypes.state = _menhir_s;
41899 MenhirLib.EngineTypes.semv = Obj.repr _v;
41900 MenhirLib.EngineTypes.startp = _startpos;
41901 MenhirLib.EngineTypes.endp = _endpos;
41902 MenhirLib.EngineTypes.next = _menhir_stack;
41903 });
41904 (fun _menhir_env ->
41905 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41906 let {
41907 MenhirLib.EngineTypes.semv = _2;
41908 MenhirLib.EngineTypes.startp = _startpos__2_;
41909 MenhirLib.EngineTypes.endp = _endpos__2_;
41910 MenhirLib.EngineTypes.next = {
41911 MenhirLib.EngineTypes.state = _menhir_s;
41912 MenhirLib.EngineTypes.semv = _1;
41913 MenhirLib.EngineTypes.startp = _startpos__1_;
41914 MenhirLib.EngineTypes.endp = _endpos__1_;
41915 MenhirLib.EngineTypes.next = _menhir_stack;
41916 };
41917 } = _menhir_stack in
41918 let _2 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _2 in
41919 let _1 : 'tv_unary_op = Obj.magic _1 in
41920 let _startpos = _startpos__1_ in
41921 let _endpos = _endpos__2_ in
41922 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
41923 # 1425 "parser_cocci_menhir.mly"
41924 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
41925 # 41926 "parser_cocci_menhir.ml"
41926 in
41927 _menhir_env.MenhirLib.EngineTypes.stack <- {
41928 MenhirLib.EngineTypes.state = _menhir_s;
41929 MenhirLib.EngineTypes.semv = Obj.repr _v;
41930 MenhirLib.EngineTypes.startp = _startpos;
41931 MenhirLib.EngineTypes.endp = _endpos;
41932 MenhirLib.EngineTypes.next = _menhir_stack;
41933 });
41934 (fun _menhir_env ->
41935 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41936 let {
41937 MenhirLib.EngineTypes.semv = _2;
41938 MenhirLib.EngineTypes.startp = _startpos__2_;
41939 MenhirLib.EngineTypes.endp = _endpos__2_;
41940 MenhirLib.EngineTypes.next = {
41941 MenhirLib.EngineTypes.state = _menhir_s;
41942 MenhirLib.EngineTypes.semv = _1;
41943 MenhirLib.EngineTypes.startp = _startpos__1_;
41944 MenhirLib.EngineTypes.endp = _endpos__1_;
41945 MenhirLib.EngineTypes.next = _menhir_stack;
41946 };
41947 } = _menhir_stack in
41948 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
41949 let _1 : (
41950 # 80 "parser_cocci_menhir.mly"
41951 (Data.clt)
41952 # 41953 "parser_cocci_menhir.ml"
41953 ) = Obj.magic _1 in
41954 let _startpos = _startpos__1_ in
41955 let _endpos = _endpos__2_ in
41956 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
41957 # 1427 "parser_cocci_menhir.mly"
41958 ( let mcode = P.clt2mcode Ast.Not _1 in
41959 Ast0.wrap(Ast0.Unary(_2, mcode)) )
41960 # 41961 "parser_cocci_menhir.ml"
41961 in
41962 _menhir_env.MenhirLib.EngineTypes.stack <- {
41963 MenhirLib.EngineTypes.state = _menhir_s;
41964 MenhirLib.EngineTypes.semv = Obj.repr _v;
41965 MenhirLib.EngineTypes.startp = _startpos;
41966 MenhirLib.EngineTypes.endp = _endpos;
41967 MenhirLib.EngineTypes.next = _menhir_stack;
41968 });
41969 (fun _menhir_env ->
41970 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
41971 let {
41972 MenhirLib.EngineTypes.semv = _2;
41973 MenhirLib.EngineTypes.startp = _startpos__2_;
41974 MenhirLib.EngineTypes.endp = _endpos__2_;
41975 MenhirLib.EngineTypes.next = {
41976 MenhirLib.EngineTypes.state = _menhir_s;
41977 MenhirLib.EngineTypes.semv = _1;
41978 MenhirLib.EngineTypes.startp = _startpos__1_;
41979 MenhirLib.EngineTypes.endp = _endpos__1_;
41980 MenhirLib.EngineTypes.next = _menhir_stack;
41981 };
41982 } = _menhir_stack in
41983 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
41984 let _1 : (
41985 # 61 "parser_cocci_menhir.mly"
41986 (Data.clt)
41987 # 41988 "parser_cocci_menhir.ml"
41988 ) = Obj.magic _1 in
41989 let _startpos = _startpos__1_ in
41990 let _endpos = _endpos__2_ in
41991 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
41992 # 1430 "parser_cocci_menhir.mly"
41993 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
41994 # 41995 "parser_cocci_menhir.ml"
41995 in
41996 _menhir_env.MenhirLib.EngineTypes.stack <- {
41997 MenhirLib.EngineTypes.state = _menhir_s;
41998 MenhirLib.EngineTypes.semv = Obj.repr _v;
41999 MenhirLib.EngineTypes.startp = _startpos;
42000 MenhirLib.EngineTypes.endp = _endpos;
42001 MenhirLib.EngineTypes.next = _menhir_stack;
42002 });
42003 (fun _menhir_env ->
42004 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42005 let {
42006 MenhirLib.EngineTypes.semv = rp;
42007 MenhirLib.EngineTypes.startp = _startpos_rp_;
42008 MenhirLib.EngineTypes.endp = _endpos_rp_;
42009 MenhirLib.EngineTypes.next = {
42010 MenhirLib.EngineTypes.semv = t;
42011 MenhirLib.EngineTypes.startp = _startpos_t_;
42012 MenhirLib.EngineTypes.endp = _endpos_t_;
42013 MenhirLib.EngineTypes.next = {
42014 MenhirLib.EngineTypes.semv = lp;
42015 MenhirLib.EngineTypes.startp = _startpos_lp_;
42016 MenhirLib.EngineTypes.endp = _endpos_lp_;
42017 MenhirLib.EngineTypes.next = {
42018 MenhirLib.EngineTypes.state = _menhir_s;
42019 MenhirLib.EngineTypes.semv = s;
42020 MenhirLib.EngineTypes.startp = _startpos_s_;
42021 MenhirLib.EngineTypes.endp = _endpos_s_;
42022 MenhirLib.EngineTypes.next = _menhir_stack;
42023 };
42024 };
42025 };
42026 } = _menhir_stack in
42027 let rp : (
42028 # 81 "parser_cocci_menhir.mly"
42029 (Data.clt)
42030 # 42031 "parser_cocci_menhir.ml"
42031 ) = Obj.magic rp in
42032 let t : 'tv_ctype = Obj.magic t in
42033 let lp : (
42034 # 80 "parser_cocci_menhir.mly"
42035 (Data.clt)
42036 # 42037 "parser_cocci_menhir.ml"
42037 ) = Obj.magic lp in
42038 let s : (
42039 # 61 "parser_cocci_menhir.mly"
42040 (Data.clt)
42041 # 42042 "parser_cocci_menhir.ml"
42042 ) = Obj.magic s in
42043 let _startpos = _startpos_s_ in
42044 let _endpos = _endpos_rp_ in
42045 let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
42046 # 1432 "parser_cocci_menhir.mly"
42047 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
42048 P.clt2mcode "(" lp,t,
42049 P.clt2mcode ")" rp)) )
42050 # 42051 "parser_cocci_menhir.ml"
42051 in
42052 _menhir_env.MenhirLib.EngineTypes.stack <- {
42053 MenhirLib.EngineTypes.state = _menhir_s;
42054 MenhirLib.EngineTypes.semv = Obj.repr _v;
42055 MenhirLib.EngineTypes.startp = _startpos;
42056 MenhirLib.EngineTypes.endp = _endpos;
42057 MenhirLib.EngineTypes.next = _menhir_stack;
42058 });
42059 (fun _menhir_env ->
42060 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42061 let {
42062 MenhirLib.EngineTypes.state = _menhir_s;
42063 MenhirLib.EngineTypes.semv = _1;
42064 MenhirLib.EngineTypes.startp = _startpos__1_;
42065 MenhirLib.EngineTypes.endp = _endpos__1_;
42066 MenhirLib.EngineTypes.next = _menhir_stack;
42067 } = _menhir_stack in
42068 let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
42069 let _startpos = _startpos__1_ in
42070 let _endpos = _endpos__1_ in
42071 let _v : 'tv_unary_expr_eexpr_invalid_ =
42072 # 1419 "parser_cocci_menhir.mly"
42073 ( _1 )
42074 # 42075 "parser_cocci_menhir.ml"
42075 in
42076 _menhir_env.MenhirLib.EngineTypes.stack <- {
42077 MenhirLib.EngineTypes.state = _menhir_s;
42078 MenhirLib.EngineTypes.semv = Obj.repr _v;
42079 MenhirLib.EngineTypes.startp = _startpos;
42080 MenhirLib.EngineTypes.endp = _endpos;
42081 MenhirLib.EngineTypes.next = _menhir_stack;
42082 });
42083 (fun _menhir_env ->
42084 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42085 let {
42086 MenhirLib.EngineTypes.semv = _2;
42087 MenhirLib.EngineTypes.startp = _startpos__2_;
42088 MenhirLib.EngineTypes.endp = _endpos__2_;
42089 MenhirLib.EngineTypes.next = {
42090 MenhirLib.EngineTypes.state = _menhir_s;
42091 MenhirLib.EngineTypes.semv = _1;
42092 MenhirLib.EngineTypes.startp = _startpos__1_;
42093 MenhirLib.EngineTypes.endp = _endpos__1_;
42094 MenhirLib.EngineTypes.next = _menhir_stack;
42095 };
42096 } = _menhir_stack in
42097 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
42098 let _1 : (
42099 # 89 "parser_cocci_menhir.mly"
42100 (Data.clt)
42101 # 42102 "parser_cocci_menhir.ml"
42102 ) = Obj.magic _1 in
42103 let _startpos = _startpos__1_ in
42104 let _endpos = _endpos__2_ in
42105 let _v : 'tv_unary_expr_eexpr_invalid_ =
42106 # 1421 "parser_cocci_menhir.mly"
42107 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
42108 # 42109 "parser_cocci_menhir.ml"
42109 in
42110 _menhir_env.MenhirLib.EngineTypes.stack <- {
42111 MenhirLib.EngineTypes.state = _menhir_s;
42112 MenhirLib.EngineTypes.semv = Obj.repr _v;
42113 MenhirLib.EngineTypes.startp = _startpos;
42114 MenhirLib.EngineTypes.endp = _endpos;
42115 MenhirLib.EngineTypes.next = _menhir_stack;
42116 });
42117 (fun _menhir_env ->
42118 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42119 let {
42120 MenhirLib.EngineTypes.semv = _2;
42121 MenhirLib.EngineTypes.startp = _startpos__2_;
42122 MenhirLib.EngineTypes.endp = _endpos__2_;
42123 MenhirLib.EngineTypes.next = {
42124 MenhirLib.EngineTypes.state = _menhir_s;
42125 MenhirLib.EngineTypes.semv = _1;
42126 MenhirLib.EngineTypes.startp = _startpos__1_;
42127 MenhirLib.EngineTypes.endp = _endpos__1_;
42128 MenhirLib.EngineTypes.next = _menhir_stack;
42129 };
42130 } = _menhir_stack in
42131 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
42132 let _1 : (
42133 # 89 "parser_cocci_menhir.mly"
42134 (Data.clt)
42135 # 42136 "parser_cocci_menhir.ml"
42136 ) = Obj.magic _1 in
42137 let _startpos = _startpos__1_ in
42138 let _endpos = _endpos__2_ in
42139 let _v : 'tv_unary_expr_eexpr_invalid_ =
42140 # 1423 "parser_cocci_menhir.mly"
42141 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
42142 # 42143 "parser_cocci_menhir.ml"
42143 in
42144 _menhir_env.MenhirLib.EngineTypes.stack <- {
42145 MenhirLib.EngineTypes.state = _menhir_s;
42146 MenhirLib.EngineTypes.semv = Obj.repr _v;
42147 MenhirLib.EngineTypes.startp = _startpos;
42148 MenhirLib.EngineTypes.endp = _endpos;
42149 MenhirLib.EngineTypes.next = _menhir_stack;
42150 });
42151 (fun _menhir_env ->
42152 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42153 let {
42154 MenhirLib.EngineTypes.semv = _2;
42155 MenhirLib.EngineTypes.startp = _startpos__2_;
42156 MenhirLib.EngineTypes.endp = _endpos__2_;
42157 MenhirLib.EngineTypes.next = {
42158 MenhirLib.EngineTypes.state = _menhir_s;
42159 MenhirLib.EngineTypes.semv = _1;
42160 MenhirLib.EngineTypes.startp = _startpos__1_;
42161 MenhirLib.EngineTypes.endp = _endpos__1_;
42162 MenhirLib.EngineTypes.next = _menhir_stack;
42163 };
42164 } = _menhir_stack in
42165 let _2 : 'tv_cast_expr_eexpr_invalid_ = Obj.magic _2 in
42166 let _1 : 'tv_unary_op = Obj.magic _1 in
42167 let _startpos = _startpos__1_ in
42168 let _endpos = _endpos__2_ in
42169 let _v : 'tv_unary_expr_eexpr_invalid_ =
42170 # 1425 "parser_cocci_menhir.mly"
42171 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
42172 # 42173 "parser_cocci_menhir.ml"
42173 in
42174 _menhir_env.MenhirLib.EngineTypes.stack <- {
42175 MenhirLib.EngineTypes.state = _menhir_s;
42176 MenhirLib.EngineTypes.semv = Obj.repr _v;
42177 MenhirLib.EngineTypes.startp = _startpos;
42178 MenhirLib.EngineTypes.endp = _endpos;
42179 MenhirLib.EngineTypes.next = _menhir_stack;
42180 });
42181 (fun _menhir_env ->
42182 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42183 let {
42184 MenhirLib.EngineTypes.semv = _2;
42185 MenhirLib.EngineTypes.startp = _startpos__2_;
42186 MenhirLib.EngineTypes.endp = _endpos__2_;
42187 MenhirLib.EngineTypes.next = {
42188 MenhirLib.EngineTypes.state = _menhir_s;
42189 MenhirLib.EngineTypes.semv = _1;
42190 MenhirLib.EngineTypes.startp = _startpos__1_;
42191 MenhirLib.EngineTypes.endp = _endpos__1_;
42192 MenhirLib.EngineTypes.next = _menhir_stack;
42193 };
42194 } = _menhir_stack in
42195 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
42196 let _1 : (
42197 # 80 "parser_cocci_menhir.mly"
42198 (Data.clt)
42199 # 42200 "parser_cocci_menhir.ml"
42200 ) = Obj.magic _1 in
42201 let _startpos = _startpos__1_ in
42202 let _endpos = _endpos__2_ in
42203 let _v : 'tv_unary_expr_eexpr_invalid_ =
42204 # 1427 "parser_cocci_menhir.mly"
42205 ( let mcode = P.clt2mcode Ast.Not _1 in
42206 Ast0.wrap(Ast0.Unary(_2, mcode)) )
42207 # 42208 "parser_cocci_menhir.ml"
42208 in
42209 _menhir_env.MenhirLib.EngineTypes.stack <- {
42210 MenhirLib.EngineTypes.state = _menhir_s;
42211 MenhirLib.EngineTypes.semv = Obj.repr _v;
42212 MenhirLib.EngineTypes.startp = _startpos;
42213 MenhirLib.EngineTypes.endp = _endpos;
42214 MenhirLib.EngineTypes.next = _menhir_stack;
42215 });
42216 (fun _menhir_env ->
42217 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42218 let {
42219 MenhirLib.EngineTypes.semv = _2;
42220 MenhirLib.EngineTypes.startp = _startpos__2_;
42221 MenhirLib.EngineTypes.endp = _endpos__2_;
42222 MenhirLib.EngineTypes.next = {
42223 MenhirLib.EngineTypes.state = _menhir_s;
42224 MenhirLib.EngineTypes.semv = _1;
42225 MenhirLib.EngineTypes.startp = _startpos__1_;
42226 MenhirLib.EngineTypes.endp = _endpos__1_;
42227 MenhirLib.EngineTypes.next = _menhir_stack;
42228 };
42229 } = _menhir_stack in
42230 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
42231 let _1 : (
42232 # 61 "parser_cocci_menhir.mly"
42233 (Data.clt)
42234 # 42235 "parser_cocci_menhir.ml"
42235 ) = Obj.magic _1 in
42236 let _startpos = _startpos__1_ in
42237 let _endpos = _endpos__2_ in
42238 let _v : 'tv_unary_expr_eexpr_invalid_ =
42239 # 1430 "parser_cocci_menhir.mly"
42240 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
42241 # 42242 "parser_cocci_menhir.ml"
42242 in
42243 _menhir_env.MenhirLib.EngineTypes.stack <- {
42244 MenhirLib.EngineTypes.state = _menhir_s;
42245 MenhirLib.EngineTypes.semv = Obj.repr _v;
42246 MenhirLib.EngineTypes.startp = _startpos;
42247 MenhirLib.EngineTypes.endp = _endpos;
42248 MenhirLib.EngineTypes.next = _menhir_stack;
42249 });
42250 (fun _menhir_env ->
42251 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42252 let {
42253 MenhirLib.EngineTypes.semv = rp;
42254 MenhirLib.EngineTypes.startp = _startpos_rp_;
42255 MenhirLib.EngineTypes.endp = _endpos_rp_;
42256 MenhirLib.EngineTypes.next = {
42257 MenhirLib.EngineTypes.semv = t;
42258 MenhirLib.EngineTypes.startp = _startpos_t_;
42259 MenhirLib.EngineTypes.endp = _endpos_t_;
42260 MenhirLib.EngineTypes.next = {
42261 MenhirLib.EngineTypes.semv = lp;
42262 MenhirLib.EngineTypes.startp = _startpos_lp_;
42263 MenhirLib.EngineTypes.endp = _endpos_lp_;
42264 MenhirLib.EngineTypes.next = {
42265 MenhirLib.EngineTypes.state = _menhir_s;
42266 MenhirLib.EngineTypes.semv = s;
42267 MenhirLib.EngineTypes.startp = _startpos_s_;
42268 MenhirLib.EngineTypes.endp = _endpos_s_;
42269 MenhirLib.EngineTypes.next = _menhir_stack;
42270 };
42271 };
42272 };
42273 } = _menhir_stack in
42274 let rp : (
42275 # 81 "parser_cocci_menhir.mly"
42276 (Data.clt)
42277 # 42278 "parser_cocci_menhir.ml"
42278 ) = Obj.magic rp in
42279 let t : 'tv_ctype = Obj.magic t in
42280 let lp : (
42281 # 80 "parser_cocci_menhir.mly"
42282 (Data.clt)
42283 # 42284 "parser_cocci_menhir.ml"
42284 ) = Obj.magic lp in
42285 let s : (
42286 # 61 "parser_cocci_menhir.mly"
42287 (Data.clt)
42288 # 42289 "parser_cocci_menhir.ml"
42289 ) = Obj.magic s in
42290 let _startpos = _startpos_s_ in
42291 let _endpos = _endpos_rp_ in
42292 let _v : 'tv_unary_expr_eexpr_invalid_ =
42293 # 1432 "parser_cocci_menhir.mly"
42294 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
42295 P.clt2mcode "(" lp,t,
42296 P.clt2mcode ")" rp)) )
42297 # 42298 "parser_cocci_menhir.ml"
42298 in
42299 _menhir_env.MenhirLib.EngineTypes.stack <- {
42300 MenhirLib.EngineTypes.state = _menhir_s;
42301 MenhirLib.EngineTypes.semv = Obj.repr _v;
42302 MenhirLib.EngineTypes.startp = _startpos;
42303 MenhirLib.EngineTypes.endp = _endpos;
42304 MenhirLib.EngineTypes.next = _menhir_stack;
42305 });
42306 (fun _menhir_env ->
42307 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42308 let {
42309 MenhirLib.EngineTypes.state = _menhir_s;
42310 MenhirLib.EngineTypes.semv = _1;
42311 MenhirLib.EngineTypes.startp = _startpos__1_;
42312 MenhirLib.EngineTypes.endp = _endpos__1_;
42313 MenhirLib.EngineTypes.next = _menhir_stack;
42314 } = _menhir_stack in
42315 let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
42316 let _startpos = _startpos__1_ in
42317 let _endpos = _endpos__1_ in
42318 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
42319 # 1419 "parser_cocci_menhir.mly"
42320 ( _1 )
42321 # 42322 "parser_cocci_menhir.ml"
42322 in
42323 _menhir_env.MenhirLib.EngineTypes.stack <- {
42324 MenhirLib.EngineTypes.state = _menhir_s;
42325 MenhirLib.EngineTypes.semv = Obj.repr _v;
42326 MenhirLib.EngineTypes.startp = _startpos;
42327 MenhirLib.EngineTypes.endp = _endpos;
42328 MenhirLib.EngineTypes.next = _menhir_stack;
42329 });
42330 (fun _menhir_env ->
42331 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42332 let {
42333 MenhirLib.EngineTypes.semv = _2;
42334 MenhirLib.EngineTypes.startp = _startpos__2_;
42335 MenhirLib.EngineTypes.endp = _endpos__2_;
42336 MenhirLib.EngineTypes.next = {
42337 MenhirLib.EngineTypes.state = _menhir_s;
42338 MenhirLib.EngineTypes.semv = _1;
42339 MenhirLib.EngineTypes.startp = _startpos__1_;
42340 MenhirLib.EngineTypes.endp = _endpos__1_;
42341 MenhirLib.EngineTypes.next = _menhir_stack;
42342 };
42343 } = _menhir_stack in
42344 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
42345 let _1 : (
42346 # 89 "parser_cocci_menhir.mly"
42347 (Data.clt)
42348 # 42349 "parser_cocci_menhir.ml"
42349 ) = Obj.magic _1 in
42350 let _startpos = _startpos__1_ in
42351 let _endpos = _endpos__2_ in
42352 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
42353 # 1421 "parser_cocci_menhir.mly"
42354 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
42355 # 42356 "parser_cocci_menhir.ml"
42356 in
42357 _menhir_env.MenhirLib.EngineTypes.stack <- {
42358 MenhirLib.EngineTypes.state = _menhir_s;
42359 MenhirLib.EngineTypes.semv = Obj.repr _v;
42360 MenhirLib.EngineTypes.startp = _startpos;
42361 MenhirLib.EngineTypes.endp = _endpos;
42362 MenhirLib.EngineTypes.next = _menhir_stack;
42363 });
42364 (fun _menhir_env ->
42365 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42366 let {
42367 MenhirLib.EngineTypes.semv = _2;
42368 MenhirLib.EngineTypes.startp = _startpos__2_;
42369 MenhirLib.EngineTypes.endp = _endpos__2_;
42370 MenhirLib.EngineTypes.next = {
42371 MenhirLib.EngineTypes.state = _menhir_s;
42372 MenhirLib.EngineTypes.semv = _1;
42373 MenhirLib.EngineTypes.startp = _startpos__1_;
42374 MenhirLib.EngineTypes.endp = _endpos__1_;
42375 MenhirLib.EngineTypes.next = _menhir_stack;
42376 };
42377 } = _menhir_stack in
42378 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
42379 let _1 : (
42380 # 89 "parser_cocci_menhir.mly"
42381 (Data.clt)
42382 # 42383 "parser_cocci_menhir.ml"
42383 ) = Obj.magic _1 in
42384 let _startpos = _startpos__1_ in
42385 let _endpos = _endpos__2_ in
42386 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
42387 # 1423 "parser_cocci_menhir.mly"
42388 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
42389 # 42390 "parser_cocci_menhir.ml"
42390 in
42391 _menhir_env.MenhirLib.EngineTypes.stack <- {
42392 MenhirLib.EngineTypes.state = _menhir_s;
42393 MenhirLib.EngineTypes.semv = Obj.repr _v;
42394 MenhirLib.EngineTypes.startp = _startpos;
42395 MenhirLib.EngineTypes.endp = _endpos;
42396 MenhirLib.EngineTypes.next = _menhir_stack;
42397 });
42398 (fun _menhir_env ->
42399 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42400 let {
42401 MenhirLib.EngineTypes.semv = _2;
42402 MenhirLib.EngineTypes.startp = _startpos__2_;
42403 MenhirLib.EngineTypes.endp = _endpos__2_;
42404 MenhirLib.EngineTypes.next = {
42405 MenhirLib.EngineTypes.state = _menhir_s;
42406 MenhirLib.EngineTypes.semv = _1;
42407 MenhirLib.EngineTypes.startp = _startpos__1_;
42408 MenhirLib.EngineTypes.endp = _endpos__1_;
42409 MenhirLib.EngineTypes.next = _menhir_stack;
42410 };
42411 } = _menhir_stack in
42412 let _2 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _2 in
42413 let _1 : 'tv_unary_op = Obj.magic _1 in
42414 let _startpos = _startpos__1_ in
42415 let _endpos = _endpos__2_ in
42416 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
42417 # 1425 "parser_cocci_menhir.mly"
42418 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
42419 # 42420 "parser_cocci_menhir.ml"
42420 in
42421 _menhir_env.MenhirLib.EngineTypes.stack <- {
42422 MenhirLib.EngineTypes.state = _menhir_s;
42423 MenhirLib.EngineTypes.semv = Obj.repr _v;
42424 MenhirLib.EngineTypes.startp = _startpos;
42425 MenhirLib.EngineTypes.endp = _endpos;
42426 MenhirLib.EngineTypes.next = _menhir_stack;
42427 });
42428 (fun _menhir_env ->
42429 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42430 let {
42431 MenhirLib.EngineTypes.semv = _2;
42432 MenhirLib.EngineTypes.startp = _startpos__2_;
42433 MenhirLib.EngineTypes.endp = _endpos__2_;
42434 MenhirLib.EngineTypes.next = {
42435 MenhirLib.EngineTypes.state = _menhir_s;
42436 MenhirLib.EngineTypes.semv = _1;
42437 MenhirLib.EngineTypes.startp = _startpos__1_;
42438 MenhirLib.EngineTypes.endp = _endpos__1_;
42439 MenhirLib.EngineTypes.next = _menhir_stack;
42440 };
42441 } = _menhir_stack in
42442 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
42443 let _1 : (
42444 # 80 "parser_cocci_menhir.mly"
42445 (Data.clt)
42446 # 42447 "parser_cocci_menhir.ml"
42447 ) = Obj.magic _1 in
42448 let _startpos = _startpos__1_ in
42449 let _endpos = _endpos__2_ in
42450 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
42451 # 1427 "parser_cocci_menhir.mly"
42452 ( let mcode = P.clt2mcode Ast.Not _1 in
42453 Ast0.wrap(Ast0.Unary(_2, mcode)) )
42454 # 42455 "parser_cocci_menhir.ml"
42455 in
42456 _menhir_env.MenhirLib.EngineTypes.stack <- {
42457 MenhirLib.EngineTypes.state = _menhir_s;
42458 MenhirLib.EngineTypes.semv = Obj.repr _v;
42459 MenhirLib.EngineTypes.startp = _startpos;
42460 MenhirLib.EngineTypes.endp = _endpos;
42461 MenhirLib.EngineTypes.next = _menhir_stack;
42462 });
42463 (fun _menhir_env ->
42464 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42465 let {
42466 MenhirLib.EngineTypes.semv = _2;
42467 MenhirLib.EngineTypes.startp = _startpos__2_;
42468 MenhirLib.EngineTypes.endp = _endpos__2_;
42469 MenhirLib.EngineTypes.next = {
42470 MenhirLib.EngineTypes.state = _menhir_s;
42471 MenhirLib.EngineTypes.semv = _1;
42472 MenhirLib.EngineTypes.startp = _startpos__1_;
42473 MenhirLib.EngineTypes.endp = _endpos__1_;
42474 MenhirLib.EngineTypes.next = _menhir_stack;
42475 };
42476 } = _menhir_stack in
42477 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
42478 let _1 : (
42479 # 61 "parser_cocci_menhir.mly"
42480 (Data.clt)
42481 # 42482 "parser_cocci_menhir.ml"
42482 ) = Obj.magic _1 in
42483 let _startpos = _startpos__1_ in
42484 let _endpos = _endpos__2_ in
42485 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
42486 # 1430 "parser_cocci_menhir.mly"
42487 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
42488 # 42489 "parser_cocci_menhir.ml"
42489 in
42490 _menhir_env.MenhirLib.EngineTypes.stack <- {
42491 MenhirLib.EngineTypes.state = _menhir_s;
42492 MenhirLib.EngineTypes.semv = Obj.repr _v;
42493 MenhirLib.EngineTypes.startp = _startpos;
42494 MenhirLib.EngineTypes.endp = _endpos;
42495 MenhirLib.EngineTypes.next = _menhir_stack;
42496 });
42497 (fun _menhir_env ->
42498 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42499 let {
42500 MenhirLib.EngineTypes.semv = rp;
42501 MenhirLib.EngineTypes.startp = _startpos_rp_;
42502 MenhirLib.EngineTypes.endp = _endpos_rp_;
42503 MenhirLib.EngineTypes.next = {
42504 MenhirLib.EngineTypes.semv = t;
42505 MenhirLib.EngineTypes.startp = _startpos_t_;
42506 MenhirLib.EngineTypes.endp = _endpos_t_;
42507 MenhirLib.EngineTypes.next = {
42508 MenhirLib.EngineTypes.semv = lp;
42509 MenhirLib.EngineTypes.startp = _startpos_lp_;
42510 MenhirLib.EngineTypes.endp = _endpos_lp_;
42511 MenhirLib.EngineTypes.next = {
42512 MenhirLib.EngineTypes.state = _menhir_s;
42513 MenhirLib.EngineTypes.semv = s;
42514 MenhirLib.EngineTypes.startp = _startpos_s_;
42515 MenhirLib.EngineTypes.endp = _endpos_s_;
42516 MenhirLib.EngineTypes.next = _menhir_stack;
42517 };
42518 };
42519 };
42520 } = _menhir_stack in
42521 let rp : (
42522 # 81 "parser_cocci_menhir.mly"
42523 (Data.clt)
42524 # 42525 "parser_cocci_menhir.ml"
42525 ) = Obj.magic rp in
42526 let t : 'tv_ctype = Obj.magic t in
42527 let lp : (
42528 # 80 "parser_cocci_menhir.mly"
42529 (Data.clt)
42530 # 42531 "parser_cocci_menhir.ml"
42531 ) = Obj.magic lp in
42532 let s : (
42533 # 61 "parser_cocci_menhir.mly"
42534 (Data.clt)
42535 # 42536 "parser_cocci_menhir.ml"
42536 ) = Obj.magic s in
42537 let _startpos = _startpos_s_ in
42538 let _endpos = _endpos_rp_ in
42539 let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
42540 # 1432 "parser_cocci_menhir.mly"
42541 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
42542 P.clt2mcode "(" lp,t,
42543 P.clt2mcode ")" rp)) )
42544 # 42545 "parser_cocci_menhir.ml"
42545 in
42546 _menhir_env.MenhirLib.EngineTypes.stack <- {
42547 MenhirLib.EngineTypes.state = _menhir_s;
42548 MenhirLib.EngineTypes.semv = Obj.repr _v;
42549 MenhirLib.EngineTypes.startp = _startpos;
42550 MenhirLib.EngineTypes.endp = _endpos;
42551 MenhirLib.EngineTypes.next = _menhir_stack;
42552 });
42553 (fun _menhir_env ->
42554 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42555 let {
42556 MenhirLib.EngineTypes.state = _menhir_s;
42557 MenhirLib.EngineTypes.semv = _1;
42558 MenhirLib.EngineTypes.startp = _startpos__1_;
42559 MenhirLib.EngineTypes.endp = _endpos__1_;
42560 MenhirLib.EngineTypes.next = _menhir_stack;
42561 } = _menhir_stack in
42562 let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
42563 let _startpos = _startpos__1_ in
42564 let _endpos = _endpos__1_ in
42565 let _v : 'tv_unary_expr_expr_invalid_ =
42566 # 1419 "parser_cocci_menhir.mly"
42567 ( _1 )
42568 # 42569 "parser_cocci_menhir.ml"
42569 in
42570 _menhir_env.MenhirLib.EngineTypes.stack <- {
42571 MenhirLib.EngineTypes.state = _menhir_s;
42572 MenhirLib.EngineTypes.semv = Obj.repr _v;
42573 MenhirLib.EngineTypes.startp = _startpos;
42574 MenhirLib.EngineTypes.endp = _endpos;
42575 MenhirLib.EngineTypes.next = _menhir_stack;
42576 });
42577 (fun _menhir_env ->
42578 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42579 let {
42580 MenhirLib.EngineTypes.semv = _2;
42581 MenhirLib.EngineTypes.startp = _startpos__2_;
42582 MenhirLib.EngineTypes.endp = _endpos__2_;
42583 MenhirLib.EngineTypes.next = {
42584 MenhirLib.EngineTypes.state = _menhir_s;
42585 MenhirLib.EngineTypes.semv = _1;
42586 MenhirLib.EngineTypes.startp = _startpos__1_;
42587 MenhirLib.EngineTypes.endp = _endpos__1_;
42588 MenhirLib.EngineTypes.next = _menhir_stack;
42589 };
42590 } = _menhir_stack in
42591 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
42592 let _1 : (
42593 # 89 "parser_cocci_menhir.mly"
42594 (Data.clt)
42595 # 42596 "parser_cocci_menhir.ml"
42596 ) = Obj.magic _1 in
42597 let _startpos = _startpos__1_ in
42598 let _endpos = _endpos__2_ in
42599 let _v : 'tv_unary_expr_expr_invalid_ =
42600 # 1421 "parser_cocci_menhir.mly"
42601 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
42602 # 42603 "parser_cocci_menhir.ml"
42603 in
42604 _menhir_env.MenhirLib.EngineTypes.stack <- {
42605 MenhirLib.EngineTypes.state = _menhir_s;
42606 MenhirLib.EngineTypes.semv = Obj.repr _v;
42607 MenhirLib.EngineTypes.startp = _startpos;
42608 MenhirLib.EngineTypes.endp = _endpos;
42609 MenhirLib.EngineTypes.next = _menhir_stack;
42610 });
42611 (fun _menhir_env ->
42612 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42613 let {
42614 MenhirLib.EngineTypes.semv = _2;
42615 MenhirLib.EngineTypes.startp = _startpos__2_;
42616 MenhirLib.EngineTypes.endp = _endpos__2_;
42617 MenhirLib.EngineTypes.next = {
42618 MenhirLib.EngineTypes.state = _menhir_s;
42619 MenhirLib.EngineTypes.semv = _1;
42620 MenhirLib.EngineTypes.startp = _startpos__1_;
42621 MenhirLib.EngineTypes.endp = _endpos__1_;
42622 MenhirLib.EngineTypes.next = _menhir_stack;
42623 };
42624 } = _menhir_stack in
42625 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
42626 let _1 : (
42627 # 89 "parser_cocci_menhir.mly"
42628 (Data.clt)
42629 # 42630 "parser_cocci_menhir.ml"
42630 ) = Obj.magic _1 in
42631 let _startpos = _startpos__1_ in
42632 let _endpos = _endpos__2_ in
42633 let _v : 'tv_unary_expr_expr_invalid_ =
42634 # 1423 "parser_cocci_menhir.mly"
42635 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
42636 # 42637 "parser_cocci_menhir.ml"
42637 in
42638 _menhir_env.MenhirLib.EngineTypes.stack <- {
42639 MenhirLib.EngineTypes.state = _menhir_s;
42640 MenhirLib.EngineTypes.semv = Obj.repr _v;
42641 MenhirLib.EngineTypes.startp = _startpos;
42642 MenhirLib.EngineTypes.endp = _endpos;
42643 MenhirLib.EngineTypes.next = _menhir_stack;
42644 });
42645 (fun _menhir_env ->
42646 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42647 let {
42648 MenhirLib.EngineTypes.semv = _2;
42649 MenhirLib.EngineTypes.startp = _startpos__2_;
42650 MenhirLib.EngineTypes.endp = _endpos__2_;
42651 MenhirLib.EngineTypes.next = {
42652 MenhirLib.EngineTypes.state = _menhir_s;
42653 MenhirLib.EngineTypes.semv = _1;
42654 MenhirLib.EngineTypes.startp = _startpos__1_;
42655 MenhirLib.EngineTypes.endp = _endpos__1_;
42656 MenhirLib.EngineTypes.next = _menhir_stack;
42657 };
42658 } = _menhir_stack in
42659 let _2 : 'tv_cast_expr_expr_invalid_ = Obj.magic _2 in
42660 let _1 : 'tv_unary_op = Obj.magic _1 in
42661 let _startpos = _startpos__1_ in
42662 let _endpos = _endpos__2_ in
42663 let _v : 'tv_unary_expr_expr_invalid_ =
42664 # 1425 "parser_cocci_menhir.mly"
42665 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
42666 # 42667 "parser_cocci_menhir.ml"
42667 in
42668 _menhir_env.MenhirLib.EngineTypes.stack <- {
42669 MenhirLib.EngineTypes.state = _menhir_s;
42670 MenhirLib.EngineTypes.semv = Obj.repr _v;
42671 MenhirLib.EngineTypes.startp = _startpos;
42672 MenhirLib.EngineTypes.endp = _endpos;
42673 MenhirLib.EngineTypes.next = _menhir_stack;
42674 });
42675 (fun _menhir_env ->
42676 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42677 let {
42678 MenhirLib.EngineTypes.semv = _2;
42679 MenhirLib.EngineTypes.startp = _startpos__2_;
42680 MenhirLib.EngineTypes.endp = _endpos__2_;
42681 MenhirLib.EngineTypes.next = {
42682 MenhirLib.EngineTypes.state = _menhir_s;
42683 MenhirLib.EngineTypes.semv = _1;
42684 MenhirLib.EngineTypes.startp = _startpos__1_;
42685 MenhirLib.EngineTypes.endp = _endpos__1_;
42686 MenhirLib.EngineTypes.next = _menhir_stack;
42687 };
42688 } = _menhir_stack in
42689 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
42690 let _1 : (
42691 # 80 "parser_cocci_menhir.mly"
42692 (Data.clt)
42693 # 42694 "parser_cocci_menhir.ml"
42694 ) = Obj.magic _1 in
42695 let _startpos = _startpos__1_ in
42696 let _endpos = _endpos__2_ in
42697 let _v : 'tv_unary_expr_expr_invalid_ =
42698 # 1427 "parser_cocci_menhir.mly"
42699 ( let mcode = P.clt2mcode Ast.Not _1 in
42700 Ast0.wrap(Ast0.Unary(_2, mcode)) )
42701 # 42702 "parser_cocci_menhir.ml"
42702 in
42703 _menhir_env.MenhirLib.EngineTypes.stack <- {
42704 MenhirLib.EngineTypes.state = _menhir_s;
42705 MenhirLib.EngineTypes.semv = Obj.repr _v;
42706 MenhirLib.EngineTypes.startp = _startpos;
42707 MenhirLib.EngineTypes.endp = _endpos;
42708 MenhirLib.EngineTypes.next = _menhir_stack;
42709 });
42710 (fun _menhir_env ->
42711 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42712 let {
42713 MenhirLib.EngineTypes.semv = _2;
42714 MenhirLib.EngineTypes.startp = _startpos__2_;
42715 MenhirLib.EngineTypes.endp = _endpos__2_;
42716 MenhirLib.EngineTypes.next = {
42717 MenhirLib.EngineTypes.state = _menhir_s;
42718 MenhirLib.EngineTypes.semv = _1;
42719 MenhirLib.EngineTypes.startp = _startpos__1_;
42720 MenhirLib.EngineTypes.endp = _endpos__1_;
42721 MenhirLib.EngineTypes.next = _menhir_stack;
42722 };
42723 } = _menhir_stack in
42724 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
42725 let _1 : (
42726 # 61 "parser_cocci_menhir.mly"
42727 (Data.clt)
42728 # 42729 "parser_cocci_menhir.ml"
42729 ) = Obj.magic _1 in
42730 let _startpos = _startpos__1_ in
42731 let _endpos = _endpos__2_ in
42732 let _v : 'tv_unary_expr_expr_invalid_ =
42733 # 1430 "parser_cocci_menhir.mly"
42734 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
42735 # 42736 "parser_cocci_menhir.ml"
42736 in
42737 _menhir_env.MenhirLib.EngineTypes.stack <- {
42738 MenhirLib.EngineTypes.state = _menhir_s;
42739 MenhirLib.EngineTypes.semv = Obj.repr _v;
42740 MenhirLib.EngineTypes.startp = _startpos;
42741 MenhirLib.EngineTypes.endp = _endpos;
42742 MenhirLib.EngineTypes.next = _menhir_stack;
42743 });
42744 (fun _menhir_env ->
42745 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42746 let {
42747 MenhirLib.EngineTypes.semv = rp;
42748 MenhirLib.EngineTypes.startp = _startpos_rp_;
42749 MenhirLib.EngineTypes.endp = _endpos_rp_;
42750 MenhirLib.EngineTypes.next = {
42751 MenhirLib.EngineTypes.semv = t;
42752 MenhirLib.EngineTypes.startp = _startpos_t_;
42753 MenhirLib.EngineTypes.endp = _endpos_t_;
42754 MenhirLib.EngineTypes.next = {
42755 MenhirLib.EngineTypes.semv = lp;
42756 MenhirLib.EngineTypes.startp = _startpos_lp_;
42757 MenhirLib.EngineTypes.endp = _endpos_lp_;
42758 MenhirLib.EngineTypes.next = {
42759 MenhirLib.EngineTypes.state = _menhir_s;
42760 MenhirLib.EngineTypes.semv = s;
42761 MenhirLib.EngineTypes.startp = _startpos_s_;
42762 MenhirLib.EngineTypes.endp = _endpos_s_;
42763 MenhirLib.EngineTypes.next = _menhir_stack;
42764 };
42765 };
42766 };
42767 } = _menhir_stack in
42768 let rp : (
42769 # 81 "parser_cocci_menhir.mly"
42770 (Data.clt)
42771 # 42772 "parser_cocci_menhir.ml"
42772 ) = Obj.magic rp in
42773 let t : 'tv_ctype = Obj.magic t in
42774 let lp : (
42775 # 80 "parser_cocci_menhir.mly"
42776 (Data.clt)
42777 # 42778 "parser_cocci_menhir.ml"
42778 ) = Obj.magic lp in
42779 let s : (
42780 # 61 "parser_cocci_menhir.mly"
42781 (Data.clt)
42782 # 42783 "parser_cocci_menhir.ml"
42783 ) = Obj.magic s in
42784 let _startpos = _startpos_s_ in
42785 let _endpos = _endpos_rp_ in
42786 let _v : 'tv_unary_expr_expr_invalid_ =
42787 # 1432 "parser_cocci_menhir.mly"
42788 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
42789 P.clt2mcode "(" lp,t,
42790 P.clt2mcode ")" rp)) )
42791 # 42792 "parser_cocci_menhir.ml"
42792 in
42793 _menhir_env.MenhirLib.EngineTypes.stack <- {
42794 MenhirLib.EngineTypes.state = _menhir_s;
42795 MenhirLib.EngineTypes.semv = Obj.repr _v;
42796 MenhirLib.EngineTypes.startp = _startpos;
42797 MenhirLib.EngineTypes.endp = _endpos;
42798 MenhirLib.EngineTypes.next = _menhir_stack;
42799 });
42800 (fun _menhir_env ->
42801 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42802 let {
42803 MenhirLib.EngineTypes.state = _menhir_s;
42804 MenhirLib.EngineTypes.semv = _1;
42805 MenhirLib.EngineTypes.startp = _startpos__1_;
42806 MenhirLib.EngineTypes.endp = _endpos__1_;
42807 MenhirLib.EngineTypes.next = _menhir_stack;
42808 } = _menhir_stack in
42809 let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
42810 let _startpos = _startpos__1_ in
42811 let _endpos = _endpos__1_ in
42812 let _v : 'tv_unary_expr_bis =
42813 # 1438 "parser_cocci_menhir.mly"
42814 ( _1 )
42815 # 42816 "parser_cocci_menhir.ml"
42816 in
42817 _menhir_env.MenhirLib.EngineTypes.stack <- {
42818 MenhirLib.EngineTypes.state = _menhir_s;
42819 MenhirLib.EngineTypes.semv = Obj.repr _v;
42820 MenhirLib.EngineTypes.startp = _startpos;
42821 MenhirLib.EngineTypes.endp = _endpos;
42822 MenhirLib.EngineTypes.next = _menhir_stack;
42823 });
42824 (fun _menhir_env ->
42825 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42826 let {
42827 MenhirLib.EngineTypes.semv = _2;
42828 MenhirLib.EngineTypes.startp = _startpos__2_;
42829 MenhirLib.EngineTypes.endp = _endpos__2_;
42830 MenhirLib.EngineTypes.next = {
42831 MenhirLib.EngineTypes.state = _menhir_s;
42832 MenhirLib.EngineTypes.semv = _1;
42833 MenhirLib.EngineTypes.startp = _startpos__1_;
42834 MenhirLib.EngineTypes.endp = _endpos__1_;
42835 MenhirLib.EngineTypes.next = _menhir_stack;
42836 };
42837 } = _menhir_stack in
42838 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
42839 let _1 : (
42840 # 89 "parser_cocci_menhir.mly"
42841 (Data.clt)
42842 # 42843 "parser_cocci_menhir.ml"
42843 ) = Obj.magic _1 in
42844 let _startpos = _startpos__1_ in
42845 let _endpos = _endpos__2_ in
42846 let _v : 'tv_unary_expr_bis =
42847 # 1440 "parser_cocci_menhir.mly"
42848 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
42849 # 42850 "parser_cocci_menhir.ml"
42850 in
42851 _menhir_env.MenhirLib.EngineTypes.stack <- {
42852 MenhirLib.EngineTypes.state = _menhir_s;
42853 MenhirLib.EngineTypes.semv = Obj.repr _v;
42854 MenhirLib.EngineTypes.startp = _startpos;
42855 MenhirLib.EngineTypes.endp = _endpos;
42856 MenhirLib.EngineTypes.next = _menhir_stack;
42857 });
42858 (fun _menhir_env ->
42859 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42860 let {
42861 MenhirLib.EngineTypes.semv = _2;
42862 MenhirLib.EngineTypes.startp = _startpos__2_;
42863 MenhirLib.EngineTypes.endp = _endpos__2_;
42864 MenhirLib.EngineTypes.next = {
42865 MenhirLib.EngineTypes.state = _menhir_s;
42866 MenhirLib.EngineTypes.semv = _1;
42867 MenhirLib.EngineTypes.startp = _startpos__1_;
42868 MenhirLib.EngineTypes.endp = _endpos__1_;
42869 MenhirLib.EngineTypes.next = _menhir_stack;
42870 };
42871 } = _menhir_stack in
42872 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
42873 let _1 : (
42874 # 89 "parser_cocci_menhir.mly"
42875 (Data.clt)
42876 # 42877 "parser_cocci_menhir.ml"
42877 ) = Obj.magic _1 in
42878 let _startpos = _startpos__1_ in
42879 let _endpos = _endpos__2_ in
42880 let _v : 'tv_unary_expr_bis =
42881 # 1442 "parser_cocci_menhir.mly"
42882 ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
42883 # 42884 "parser_cocci_menhir.ml"
42884 in
42885 _menhir_env.MenhirLib.EngineTypes.stack <- {
42886 MenhirLib.EngineTypes.state = _menhir_s;
42887 MenhirLib.EngineTypes.semv = Obj.repr _v;
42888 MenhirLib.EngineTypes.startp = _startpos;
42889 MenhirLib.EngineTypes.endp = _endpos;
42890 MenhirLib.EngineTypes.next = _menhir_stack;
42891 });
42892 (fun _menhir_env ->
42893 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42894 let {
42895 MenhirLib.EngineTypes.semv = _2;
42896 MenhirLib.EngineTypes.startp = _startpos__2_;
42897 MenhirLib.EngineTypes.endp = _endpos__2_;
42898 MenhirLib.EngineTypes.next = {
42899 MenhirLib.EngineTypes.state = _menhir_s;
42900 MenhirLib.EngineTypes.semv = _1;
42901 MenhirLib.EngineTypes.startp = _startpos__1_;
42902 MenhirLib.EngineTypes.endp = _endpos__1_;
42903 MenhirLib.EngineTypes.next = _menhir_stack;
42904 };
42905 } = _menhir_stack in
42906 let _2 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _2 in
42907 let _1 : 'tv_unary_op = Obj.magic _1 in
42908 let _startpos = _startpos__1_ in
42909 let _endpos = _endpos__2_ in
42910 let _v : 'tv_unary_expr_bis =
42911 # 1444 "parser_cocci_menhir.mly"
42912 ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
42913 # 42914 "parser_cocci_menhir.ml"
42914 in
42915 _menhir_env.MenhirLib.EngineTypes.stack <- {
42916 MenhirLib.EngineTypes.state = _menhir_s;
42917 MenhirLib.EngineTypes.semv = Obj.repr _v;
42918 MenhirLib.EngineTypes.startp = _startpos;
42919 MenhirLib.EngineTypes.endp = _endpos;
42920 MenhirLib.EngineTypes.next = _menhir_stack;
42921 });
42922 (fun _menhir_env ->
42923 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42924 let {
42925 MenhirLib.EngineTypes.semv = _2;
42926 MenhirLib.EngineTypes.startp = _startpos__2_;
42927 MenhirLib.EngineTypes.endp = _endpos__2_;
42928 MenhirLib.EngineTypes.next = {
42929 MenhirLib.EngineTypes.state = _menhir_s;
42930 MenhirLib.EngineTypes.semv = _1;
42931 MenhirLib.EngineTypes.startp = _startpos__1_;
42932 MenhirLib.EngineTypes.endp = _endpos__1_;
42933 MenhirLib.EngineTypes.next = _menhir_stack;
42934 };
42935 } = _menhir_stack in
42936 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
42937 let _1 : (
42938 # 80 "parser_cocci_menhir.mly"
42939 (Data.clt)
42940 # 42941 "parser_cocci_menhir.ml"
42941 ) = Obj.magic _1 in
42942 let _startpos = _startpos__1_ in
42943 let _endpos = _endpos__2_ in
42944 let _v : 'tv_unary_expr_bis =
42945 # 1446 "parser_cocci_menhir.mly"
42946 ( let mcode = P.clt2mcode Ast.Not _1 in
42947 Ast0.wrap(Ast0.Unary(_2, mcode)) )
42948 # 42949 "parser_cocci_menhir.ml"
42949 in
42950 _menhir_env.MenhirLib.EngineTypes.stack <- {
42951 MenhirLib.EngineTypes.state = _menhir_s;
42952 MenhirLib.EngineTypes.semv = Obj.repr _v;
42953 MenhirLib.EngineTypes.startp = _startpos;
42954 MenhirLib.EngineTypes.endp = _endpos;
42955 MenhirLib.EngineTypes.next = _menhir_stack;
42956 });
42957 (fun _menhir_env ->
42958 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42959 let {
42960 MenhirLib.EngineTypes.semv = _2;
42961 MenhirLib.EngineTypes.startp = _startpos__2_;
42962 MenhirLib.EngineTypes.endp = _endpos__2_;
42963 MenhirLib.EngineTypes.next = {
42964 MenhirLib.EngineTypes.state = _menhir_s;
42965 MenhirLib.EngineTypes.semv = _1;
42966 MenhirLib.EngineTypes.startp = _startpos__1_;
42967 MenhirLib.EngineTypes.endp = _endpos__1_;
42968 MenhirLib.EngineTypes.next = _menhir_stack;
42969 };
42970 } = _menhir_stack in
42971 let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
42972 let _1 : (
42973 # 61 "parser_cocci_menhir.mly"
42974 (Data.clt)
42975 # 42976 "parser_cocci_menhir.ml"
42976 ) = Obj.magic _1 in
42977 let _startpos = _startpos__1_ in
42978 let _endpos = _endpos__2_ in
42979 let _v : 'tv_unary_expr_bis =
42980 # 1449 "parser_cocci_menhir.mly"
42981 ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
42982 # 42983 "parser_cocci_menhir.ml"
42983 in
42984 _menhir_env.MenhirLib.EngineTypes.stack <- {
42985 MenhirLib.EngineTypes.state = _menhir_s;
42986 MenhirLib.EngineTypes.semv = Obj.repr _v;
42987 MenhirLib.EngineTypes.startp = _startpos;
42988 MenhirLib.EngineTypes.endp = _endpos;
42989 MenhirLib.EngineTypes.next = _menhir_stack;
42990 });
42991 (fun _menhir_env ->
42992 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
42993 let {
42994 MenhirLib.EngineTypes.semv = rp;
42995 MenhirLib.EngineTypes.startp = _startpos_rp_;
42996 MenhirLib.EngineTypes.endp = _endpos_rp_;
42997 MenhirLib.EngineTypes.next = {
42998 MenhirLib.EngineTypes.semv = t;
42999 MenhirLib.EngineTypes.startp = _startpos_t_;
43000 MenhirLib.EngineTypes.endp = _endpos_t_;
43001 MenhirLib.EngineTypes.next = {
43002 MenhirLib.EngineTypes.semv = lp;
43003 MenhirLib.EngineTypes.startp = _startpos_lp_;
43004 MenhirLib.EngineTypes.endp = _endpos_lp_;
43005 MenhirLib.EngineTypes.next = {
43006 MenhirLib.EngineTypes.state = _menhir_s;
43007 MenhirLib.EngineTypes.semv = s;
43008 MenhirLib.EngineTypes.startp = _startpos_s_;
43009 MenhirLib.EngineTypes.endp = _endpos_s_;
43010 MenhirLib.EngineTypes.next = _menhir_stack;
43011 };
43012 };
43013 };
43014 } = _menhir_stack in
43015 let rp : (
43016 # 81 "parser_cocci_menhir.mly"
43017 (Data.clt)
43018 # 43019 "parser_cocci_menhir.ml"
43019 ) = Obj.magic rp in
43020 let t : 'tv_ctype = Obj.magic t in
43021 let lp : (
43022 # 80 "parser_cocci_menhir.mly"
43023 (Data.clt)
43024 # 43025 "parser_cocci_menhir.ml"
43025 ) = Obj.magic lp in
43026 let s : (
43027 # 61 "parser_cocci_menhir.mly"
43028 (Data.clt)
43029 # 43030 "parser_cocci_menhir.ml"
43030 ) = Obj.magic s in
43031 let _startpos = _startpos_s_ in
43032 let _endpos = _endpos_rp_ in
43033 let _v : 'tv_unary_expr_bis =
43034 # 1451 "parser_cocci_menhir.mly"
43035 ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
43036 P.clt2mcode "(" lp,t,
43037 P.clt2mcode ")" rp)) )
43038 # 43039 "parser_cocci_menhir.ml"
43039 in
43040 _menhir_env.MenhirLib.EngineTypes.stack <- {
43041 MenhirLib.EngineTypes.state = _menhir_s;
43042 MenhirLib.EngineTypes.semv = Obj.repr _v;
43043 MenhirLib.EngineTypes.startp = _startpos;
43044 MenhirLib.EngineTypes.endp = _endpos;
43045 MenhirLib.EngineTypes.next = _menhir_stack;
43046 });
43047 (fun _menhir_env ->
43048 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43049 let {
43050 MenhirLib.EngineTypes.state = _menhir_s;
43051 MenhirLib.EngineTypes.semv = _1;
43052 MenhirLib.EngineTypes.startp = _startpos__1_;
43053 MenhirLib.EngineTypes.endp = _endpos__1_;
43054 MenhirLib.EngineTypes.next = _menhir_stack;
43055 } = _menhir_stack in
43056 let _1 : (
43057 # 97 "parser_cocci_menhir.mly"
43058 (Data.clt)
43059 # 43060 "parser_cocci_menhir.ml"
43060 ) = Obj.magic _1 in
43061 let _startpos = _startpos__1_ in
43062 let _endpos = _endpos__1_ in
43063 let _v : 'tv_unary_op =
43064 # 1455 "parser_cocci_menhir.mly"
43065 ( P.clt2mcode Ast.GetRef _1 )
43066 # 43067 "parser_cocci_menhir.ml"
43067 in
43068 _menhir_env.MenhirLib.EngineTypes.stack <- {
43069 MenhirLib.EngineTypes.state = _menhir_s;
43070 MenhirLib.EngineTypes.semv = Obj.repr _v;
43071 MenhirLib.EngineTypes.startp = _startpos;
43072 MenhirLib.EngineTypes.endp = _endpos;
43073 MenhirLib.EngineTypes.next = _menhir_stack;
43074 });
43075 (fun _menhir_env ->
43076 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43077 let {
43078 MenhirLib.EngineTypes.state = _menhir_s;
43079 MenhirLib.EngineTypes.semv = _1;
43080 MenhirLib.EngineTypes.startp = _startpos__1_;
43081 MenhirLib.EngineTypes.endp = _endpos__1_;
43082 MenhirLib.EngineTypes.next = _menhir_stack;
43083 } = _menhir_stack in
43084 let _1 : (
43085 # 103 "parser_cocci_menhir.mly"
43086 (Data.clt)
43087 # 43088 "parser_cocci_menhir.ml"
43088 ) = Obj.magic _1 in
43089 let _startpos = _startpos__1_ in
43090 let _endpos = _endpos__1_ in
43091 let _v : 'tv_unary_op =
43092 # 1456 "parser_cocci_menhir.mly"
43093 ( P.clt2mcode Ast.DeRef _1 )
43094 # 43095 "parser_cocci_menhir.ml"
43095 in
43096 _menhir_env.MenhirLib.EngineTypes.stack <- {
43097 MenhirLib.EngineTypes.state = _menhir_s;
43098 MenhirLib.EngineTypes.semv = Obj.repr _v;
43099 MenhirLib.EngineTypes.startp = _startpos;
43100 MenhirLib.EngineTypes.endp = _endpos;
43101 MenhirLib.EngineTypes.next = _menhir_stack;
43102 });
43103 (fun _menhir_env ->
43104 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43105 let {
43106 MenhirLib.EngineTypes.state = _menhir_s;
43107 MenhirLib.EngineTypes.semv = _1;
43108 MenhirLib.EngineTypes.startp = _startpos__1_;
43109 MenhirLib.EngineTypes.endp = _endpos__1_;
43110 MenhirLib.EngineTypes.next = _menhir_stack;
43111 } = _menhir_stack in
43112 let _1 : (
43113 # 102 "parser_cocci_menhir.mly"
43114 (Data.clt)
43115 # 43116 "parser_cocci_menhir.ml"
43116 ) = Obj.magic _1 in
43117 let _startpos = _startpos__1_ in
43118 let _endpos = _endpos__1_ in
43119 let _v : 'tv_unary_op =
43120 # 1457 "parser_cocci_menhir.mly"
43121 ( P.clt2mcode Ast.UnPlus _1 )
43122 # 43123 "parser_cocci_menhir.ml"
43123 in
43124 _menhir_env.MenhirLib.EngineTypes.stack <- {
43125 MenhirLib.EngineTypes.state = _menhir_s;
43126 MenhirLib.EngineTypes.semv = Obj.repr _v;
43127 MenhirLib.EngineTypes.startp = _startpos;
43128 MenhirLib.EngineTypes.endp = _endpos;
43129 MenhirLib.EngineTypes.next = _menhir_stack;
43130 });
43131 (fun _menhir_env ->
43132 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43133 let {
43134 MenhirLib.EngineTypes.state = _menhir_s;
43135 MenhirLib.EngineTypes.semv = _1;
43136 MenhirLib.EngineTypes.startp = _startpos__1_;
43137 MenhirLib.EngineTypes.endp = _endpos__1_;
43138 MenhirLib.EngineTypes.next = _menhir_stack;
43139 } = _menhir_stack in
43140 let _1 : (
43141 # 102 "parser_cocci_menhir.mly"
43142 (Data.clt)
43143 # 43144 "parser_cocci_menhir.ml"
43144 ) = Obj.magic _1 in
43145 let _startpos = _startpos__1_ in
43146 let _endpos = _endpos__1_ in
43147 let _v : 'tv_unary_op =
43148 # 1458 "parser_cocci_menhir.mly"
43149 ( P.clt2mcode Ast.UnMinus _1 )
43150 # 43151 "parser_cocci_menhir.ml"
43151 in
43152 _menhir_env.MenhirLib.EngineTypes.stack <- {
43153 MenhirLib.EngineTypes.state = _menhir_s;
43154 MenhirLib.EngineTypes.semv = Obj.repr _v;
43155 MenhirLib.EngineTypes.startp = _startpos;
43156 MenhirLib.EngineTypes.endp = _endpos;
43157 MenhirLib.EngineTypes.next = _menhir_stack;
43158 });
43159 (fun _menhir_env ->
43160 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43161 let {
43162 MenhirLib.EngineTypes.state = _menhir_s;
43163 MenhirLib.EngineTypes.semv = _1;
43164 MenhirLib.EngineTypes.startp = _startpos__1_;
43165 MenhirLib.EngineTypes.endp = _endpos__1_;
43166 MenhirLib.EngineTypes.next = _menhir_stack;
43167 } = _menhir_stack in
43168 let _1 : (
43169 # 103 "parser_cocci_menhir.mly"
43170 (Data.clt)
43171 # 43172 "parser_cocci_menhir.ml"
43172 ) = Obj.magic _1 in
43173 let _startpos = _startpos__1_ in
43174 let _endpos = _endpos__1_ in
43175 let _v : 'tv_unary_op =
43176 # 1459 "parser_cocci_menhir.mly"
43177 ( P.clt2mcode Ast.Tilde _1 )
43178 # 43179 "parser_cocci_menhir.ml"
43179 in
43180 _menhir_env.MenhirLib.EngineTypes.stack <- {
43181 MenhirLib.EngineTypes.state = _menhir_s;
43182 MenhirLib.EngineTypes.semv = Obj.repr _v;
43183 MenhirLib.EngineTypes.startp = _startpos;
43184 MenhirLib.EngineTypes.endp = _endpos;
43185 MenhirLib.EngineTypes.next = _menhir_stack;
43186 });
43187 (fun _menhir_env ->
43188 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43189 let {
43190 MenhirLib.EngineTypes.semv = _2;
43191 MenhirLib.EngineTypes.startp = _startpos__2_;
43192 MenhirLib.EngineTypes.endp = _endpos__2_;
43193 MenhirLib.EngineTypes.next = {
43194 MenhirLib.EngineTypes.state = _menhir_s;
43195 MenhirLib.EngineTypes.semv = _1;
43196 MenhirLib.EngineTypes.startp = _startpos__1_;
43197 MenhirLib.EngineTypes.endp = _endpos__1_;
43198 MenhirLib.EngineTypes.next = _menhir_stack;
43199 };
43200 } = _menhir_stack in
43201 let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
43202 let _1 : 'tv_expr = Obj.magic _1 in
43203 let _startpos = _startpos__1_ in
43204 let _endpos = _endpos__2_ in
43205 let _v : 'tv_when_start =
43206 # 2059 "parser_cocci_menhir.mly"
43207 ( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) )
43208 # 43209 "parser_cocci_menhir.ml"
43209 in
43210 _menhir_env.MenhirLib.EngineTypes.stack <- {
43211 MenhirLib.EngineTypes.state = _menhir_s;
43212 MenhirLib.EngineTypes.semv = Obj.repr _v;
43213 MenhirLib.EngineTypes.startp = _startpos;
43214 MenhirLib.EngineTypes.endp = _endpos;
43215 MenhirLib.EngineTypes.next = _menhir_stack;
43216 });
43217 (fun _menhir_env ->
43218 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43219 let {
43220 MenhirLib.EngineTypes.semv = _2;
43221 MenhirLib.EngineTypes.startp = _startpos__2_;
43222 MenhirLib.EngineTypes.endp = _endpos__2_;
43223 MenhirLib.EngineTypes.next = {
43224 MenhirLib.EngineTypes.state = _menhir_s;
43225 MenhirLib.EngineTypes.semv = _1;
43226 MenhirLib.EngineTypes.startp = _startpos__1_;
43227 MenhirLib.EngineTypes.endp = _endpos__1_;
43228 MenhirLib.EngineTypes.next = _menhir_stack;
43229 };
43230 } = _menhir_stack in
43231 let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
43232 let _1 : 'tv_decl_statement = Obj.magic _1 in
43233 let _startpos = _startpos__1_ in
43234 let _endpos = _endpos__2_ in
43235 let _v : 'tv_when_start =
43236 # 2061 "parser_cocci_menhir.mly"
43237 ( Ast0.wrap(Ast0.DOTS(_1@_2)) )
43238 # 43239 "parser_cocci_menhir.ml"
43239 in
43240 _menhir_env.MenhirLib.EngineTypes.stack <- {
43241 MenhirLib.EngineTypes.state = _menhir_s;
43242 MenhirLib.EngineTypes.semv = Obj.repr _v;
43243 MenhirLib.EngineTypes.startp = _startpos;
43244 MenhirLib.EngineTypes.endp = _endpos;
43245 MenhirLib.EngineTypes.next = _menhir_stack;
43246 });
43247 (fun _menhir_env ->
43248 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43249 let {
43250 MenhirLib.EngineTypes.state = _menhir_s;
43251 MenhirLib.EngineTypes.semv = w;
43252 MenhirLib.EngineTypes.startp = _startpos_w_;
43253 MenhirLib.EngineTypes.endp = _endpos_w_;
43254 MenhirLib.EngineTypes.next = _menhir_stack;
43255 } = _menhir_stack in
43256 let w : 'tv_whens_when_start_rule_elem_statement_any_strict_ = Obj.magic w in
43257 let _startpos = _startpos_w_ in
43258 let _endpos = _endpos_w_ in
43259 let _v : 'tv_whenppdecs =
43260 # 1003 "parser_cocci_menhir.mly"
43261 ( w )
43262 # 43263 "parser_cocci_menhir.ml"
43263 in
43264 _menhir_env.MenhirLib.EngineTypes.stack <- {
43265 MenhirLib.EngineTypes.state = _menhir_s;
43266 MenhirLib.EngineTypes.semv = Obj.repr _v;
43267 MenhirLib.EngineTypes.startp = _startpos;
43268 MenhirLib.EngineTypes.endp = _endpos;
43269 MenhirLib.EngineTypes.next = _menhir_stack;
43270 });
43271 (fun _menhir_env ->
43272 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43273 let {
43274 MenhirLib.EngineTypes.startp = _startpos__4_;
43275 MenhirLib.EngineTypes.endp = _endpos__4_;
43276 MenhirLib.EngineTypes.next = {
43277 MenhirLib.EngineTypes.semv = w;
43278 MenhirLib.EngineTypes.startp = _startpos_w_;
43279 MenhirLib.EngineTypes.endp = _endpos_w_;
43280 MenhirLib.EngineTypes.next = {
43281 MenhirLib.EngineTypes.startp = _startpos__2_;
43282 MenhirLib.EngineTypes.endp = _endpos__2_;
43283 MenhirLib.EngineTypes.next = {
43284 MenhirLib.EngineTypes.state = _menhir_s;
43285 MenhirLib.EngineTypes.startp = _startpos__1_;
43286 MenhirLib.EngineTypes.endp = _endpos__1_;
43287 MenhirLib.EngineTypes.next = _menhir_stack;
43288 };
43289 };
43290 };
43291 } = _menhir_stack in
43292 let w : 'tv_when_start = Obj.magic w in
43293 let _startpos = _startpos__1_ in
43294 let _endpos = _endpos__4_ in
43295 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
43296 # 2106 "parser_cocci_menhir.mly"
43297 ( [Ast0.WhenNot w] )
43298 # 43299 "parser_cocci_menhir.ml"
43299 in
43300 _menhir_env.MenhirLib.EngineTypes.stack <- {
43301 MenhirLib.EngineTypes.state = _menhir_s;
43302 MenhirLib.EngineTypes.semv = Obj.repr _v;
43303 MenhirLib.EngineTypes.startp = _startpos;
43304 MenhirLib.EngineTypes.endp = _endpos;
43305 MenhirLib.EngineTypes.next = _menhir_stack;
43306 });
43307 (fun _menhir_env ->
43308 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43309 let {
43310 MenhirLib.EngineTypes.startp = _startpos__4_;
43311 MenhirLib.EngineTypes.endp = _endpos__4_;
43312 MenhirLib.EngineTypes.next = {
43313 MenhirLib.EngineTypes.semv = w;
43314 MenhirLib.EngineTypes.startp = _startpos_w_;
43315 MenhirLib.EngineTypes.endp = _endpos_w_;
43316 MenhirLib.EngineTypes.next = {
43317 MenhirLib.EngineTypes.startp = _startpos__2_;
43318 MenhirLib.EngineTypes.endp = _endpos__2_;
43319 MenhirLib.EngineTypes.next = {
43320 MenhirLib.EngineTypes.state = _menhir_s;
43321 MenhirLib.EngineTypes.startp = _startpos__1_;
43322 MenhirLib.EngineTypes.endp = _endpos__1_;
43323 MenhirLib.EngineTypes.next = _menhir_stack;
43324 };
43325 };
43326 };
43327 } = _menhir_stack in
43328 let w : 'tv_rule_elem_statement = Obj.magic w in
43329 let _startpos = _startpos__1_ in
43330 let _endpos = _endpos__4_ in
43331 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
43332 # 2107 "parser_cocci_menhir.mly"
43333 ( [Ast0.WhenAlways w] )
43334 # 43335 "parser_cocci_menhir.ml"
43335 in
43336 _menhir_env.MenhirLib.EngineTypes.stack <- {
43337 MenhirLib.EngineTypes.state = _menhir_s;
43338 MenhirLib.EngineTypes.semv = Obj.repr _v;
43339 MenhirLib.EngineTypes.startp = _startpos;
43340 MenhirLib.EngineTypes.endp = _endpos;
43341 MenhirLib.EngineTypes.next = _menhir_stack;
43342 });
43343 (fun _menhir_env ->
43344 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43345 let {
43346 MenhirLib.EngineTypes.startp = _startpos__3_;
43347 MenhirLib.EngineTypes.endp = _endpos__3_;
43348 MenhirLib.EngineTypes.next = {
43349 MenhirLib.EngineTypes.semv = _2;
43350 MenhirLib.EngineTypes.startp = _startpos__2_;
43351 MenhirLib.EngineTypes.endp = _endpos__2_;
43352 MenhirLib.EngineTypes.next = {
43353 MenhirLib.EngineTypes.state = _menhir_s;
43354 MenhirLib.EngineTypes.startp = _startpos__1_;
43355 MenhirLib.EngineTypes.endp = _endpos__1_;
43356 MenhirLib.EngineTypes.next = _menhir_stack;
43357 };
43358 };
43359 } = _menhir_stack in
43360 let _2 : 'tv_comma_list_any_strict_ = Obj.magic _2 in
43361 let _startpos = _startpos__1_ in
43362 let _endpos = _endpos__3_ in
43363 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
43364 # 2109 "parser_cocci_menhir.mly"
43365 ( List.map (function x -> Ast0.WhenModifier(x)) _2 )
43366 # 43367 "parser_cocci_menhir.ml"
43367 in
43368 _menhir_env.MenhirLib.EngineTypes.stack <- {
43369 MenhirLib.EngineTypes.state = _menhir_s;
43370 MenhirLib.EngineTypes.semv = Obj.repr _v;
43371 MenhirLib.EngineTypes.startp = _startpos;
43372 MenhirLib.EngineTypes.endp = _endpos;
43373 MenhirLib.EngineTypes.next = _menhir_stack;
43374 });
43375 (fun _menhir_env ->
43376 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43377 let {
43378 MenhirLib.EngineTypes.startp = _startpos__4_;
43379 MenhirLib.EngineTypes.endp = _endpos__4_;
43380 MenhirLib.EngineTypes.next = {
43381 MenhirLib.EngineTypes.semv = e;
43382 MenhirLib.EngineTypes.startp = _startpos_e_;
43383 MenhirLib.EngineTypes.endp = _endpos_e_;
43384 MenhirLib.EngineTypes.next = {
43385 MenhirLib.EngineTypes.startp = _startpos__2_;
43386 MenhirLib.EngineTypes.endp = _endpos__2_;
43387 MenhirLib.EngineTypes.next = {
43388 MenhirLib.EngineTypes.state = _menhir_s;
43389 MenhirLib.EngineTypes.startp = _startpos__1_;
43390 MenhirLib.EngineTypes.endp = _endpos__1_;
43391 MenhirLib.EngineTypes.next = _menhir_stack;
43392 };
43393 };
43394 };
43395 } = _menhir_stack in
43396 let e : 'tv_eexpr = Obj.magic e in
43397 let _startpos = _startpos__1_ in
43398 let _endpos = _endpos__4_ in
43399 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
43400 # 2110 "parser_cocci_menhir.mly"
43401 ( [Ast0.WhenNotTrue e] )
43402 # 43403 "parser_cocci_menhir.ml"
43403 in
43404 _menhir_env.MenhirLib.EngineTypes.stack <- {
43405 MenhirLib.EngineTypes.state = _menhir_s;
43406 MenhirLib.EngineTypes.semv = Obj.repr _v;
43407 MenhirLib.EngineTypes.startp = _startpos;
43408 MenhirLib.EngineTypes.endp = _endpos;
43409 MenhirLib.EngineTypes.next = _menhir_stack;
43410 });
43411 (fun _menhir_env ->
43412 let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
43413 let {
43414 MenhirLib.EngineTypes.startp = _startpos__4_;
43415 MenhirLib.EngineTypes.endp = _endpos__4_;
43416 MenhirLib.EngineTypes.next = {
43417 MenhirLib.EngineTypes.semv = e;
43418 MenhirLib.EngineTypes.startp = _startpos_e_;
43419 MenhirLib.EngineTypes.endp = _endpos_e_;
43420 MenhirLib.EngineTypes.next = {
43421 MenhirLib.EngineTypes.startp = _startpos__2_;
43422 MenhirLib.EngineTypes.endp = _endpos__2_;
43423 MenhirLib.EngineTypes.next = {
43424 MenhirLib.EngineTypes.state = _menhir_s;
43425 MenhirLib.EngineTypes.startp = _startpos__1_;
43426 MenhirLib.EngineTypes.endp = _endpos__1_;
43427 MenhirLib.EngineTypes.next = _menhir_stack;
43428 };
43429 };
43430 };
43431 } = _menhir_stack in
43432 let e : 'tv_eexpr = Obj.magic e in
43433 let _startpos = _startpos__1_ in
43434 let _endpos = _endpos__4_ in
43435 let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
43436 # 2111 "parser_cocci_menhir.mly"
43437 ( [Ast0.WhenNotFalse e] )
43438 # 43439 "parser_cocci_menhir.ml"
43439 in
43440 _menhir_env.MenhirLib.EngineTypes.stack <- {
43441 MenhirLib.EngineTypes.state = _menhir_s;
43442 MenhirLib.EngineTypes.semv = Obj.repr _v;
43443 MenhirLib.EngineTypes.startp = _startpos;
43444 MenhirLib.EngineTypes.endp = _endpos;
43445 MenhirLib.EngineTypes.next = _menhir_stack;
43446 });
43447 |]
43448
43449 let recovery =
43450 false
43451
43452 let trace =
43453 None
43454
43455 end)
43456
43457 let rec script_meta_main =
43458 fun lexer lexbuf ->
43459 (Obj.magic (MenhirInterpreter.entry 1993 lexer lexbuf) : (
43460 # 165 "parser_cocci_menhir.mly"
43461 ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
43462 # 43463 "parser_cocci_menhir.ml"
43463 ))
43464
43465 and rule_name =
43466 fun lexer lexbuf ->
43467 (Obj.magic (MenhirInterpreter.entry 1918 lexer lexbuf) : (
43468 # 159 "parser_cocci_menhir.mly"
43469 (Ast_cocci.rulename)
43470 # 43471 "parser_cocci_menhir.ml"
43471 ))
43472
43473 and reinit =
43474 fun lexer lexbuf ->
43475 (Obj.magic (MenhirInterpreter.entry 1916 lexer lexbuf) : (
43476 # 137 "parser_cocci_menhir.mly"
43477 (unit)
43478 # 43479 "parser_cocci_menhir.ml"
43479 ))
43480
43481 and plus_main =
43482 fun lexer lexbuf ->
43483 (Obj.magic (MenhirInterpreter.entry 1880 lexer lexbuf) : (
43484 # 146 "parser_cocci_menhir.mly"
43485 (Ast0_cocci.rule)
43486 # 43487 "parser_cocci_menhir.ml"
43487 ))
43488
43489 and plus_exp_main =
43490 fun lexer lexbuf ->
43491 (Obj.magic (MenhirInterpreter.entry 1872 lexer lexbuf) : (
43492 # 149 "parser_cocci_menhir.mly"
43493 (Ast0_cocci.rule)
43494 # 43495 "parser_cocci_menhir.ml"
43495 ))
43496
43497 and never_used =
43498 fun lexer lexbuf ->
43499 (Obj.magic (MenhirInterpreter.entry 1866 lexer lexbuf) : (
43500 # 174 "parser_cocci_menhir.mly"
43501 (unit)
43502 # 43503 "parser_cocci_menhir.ml"
43503 ))
43504
43505 and minus_main =
43506 fun lexer lexbuf ->
43507 (Obj.magic (MenhirInterpreter.entry 1782 lexer lexbuf) : (
43508 # 140 "parser_cocci_menhir.mly"
43509 (Ast0_cocci.rule)
43510 # 43511 "parser_cocci_menhir.ml"
43511 ))
43512
43513 and minus_exp_main =
43514 fun lexer lexbuf ->
43515 (Obj.magic (MenhirInterpreter.entry 1770 lexer lexbuf) : (
43516 # 143 "parser_cocci_menhir.mly"
43517 (Ast0_cocci.rule)
43518 # 43519 "parser_cocci_menhir.ml"
43519 ))
43520
43521 and meta_main =
43522 fun lexer lexbuf ->
43523 (Obj.magic (MenhirInterpreter.entry 1767 lexer lexbuf) : (
43524 # 163 "parser_cocci_menhir.mly"
43525 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
43526 # 43527 "parser_cocci_menhir.ml"
43527 ))
43528
43529 and iso_rule_name =
43530 fun lexer lexbuf ->
43531 (Obj.magic (MenhirInterpreter.entry 1763 lexer lexbuf) : (
43532 # 155 "parser_cocci_menhir.mly"
43533 (Ast_cocci.rulename)
43534 # 43535 "parser_cocci_menhir.ml"
43535 ))
43536
43537 and iso_meta_main =
43538 fun lexer lexbuf ->
43539 (Obj.magic (MenhirInterpreter.entry 1496 lexer lexbuf) : (
43540 # 171 "parser_cocci_menhir.mly"
43541 ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
43542 # 43543 "parser_cocci_menhir.ml"
43543 ))
43544
43545 and iso_main =
43546 fun lexer lexbuf ->
43547 (Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : (
43548 # 168 "parser_cocci_menhir.mly"
43549 (Ast0_cocci.anything list list)
43550 # 43551 "parser_cocci_menhir.ml"
43551 ))
43552
43553 and include_main =
43554 fun lexer lexbuf ->
43555 (Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : (
43556 # 152 "parser_cocci_menhir.mly"
43557 (Data.incl_iso list)
43558 # 43559 "parser_cocci_menhir.ml"
43559 ))
43560
43561
43562